Index: Mk/Scripts/qa.sh =================================================================== --- Mk/Scripts/qa.sh +++ Mk/Scripts/qa.sh @@ -700,9 +700,48 @@ EOT } +perlcore() { + local portname version module + [ -x "${LOCALBASE}/bin/corelist" ] || return 0 + for dep in ${UNIFIED_DEPENDS}; do + portname=$(expr "${dep}" : ".*/p5-\(.*\)") + if [ -n "${portname}" ]; then + module=$(echo ${portname}|sed -e 's/-/::/g') + version=$(expr "${dep}" : ".*>=*\([^:<]*\)") + #printf "%s\t%s\t%s\t%s\n" "${dep}" "${portname}" "${module}" "${version}" + + while read l; do + case "${l}" in + *was\ not\ in\ CORE*) + # This never was with Perl + # CORE, so nothing to do here + ;; + *and\ removed*) + # This was in Perl CORE but has + # been removed since. + ;; + *deprecated*in*) + # This is in Perl CORE but is + # deprecated. + ;; + *was\ first\ released*) + # This is in Perl CORE and is + # maybe not needed. + warn "${dep##*:} is present in Perl CORE. Check with \`corelist ${module} ${version}\` and \`corelist -a ${module}\` if the dependency is really needed or if it should be conditionally added depending on PERL_LEVEL" + ;; + *) + err "This line is not handled: \"${l}\"" + esac + done <<-EOT + $(${LOCALBASE}/bin/corelist "${module}"|tail -1) + EOT + fi + done +} + checks="shebang symlinks paths stripped desktopfileutils sharedmimeinfo" checks="$checks suidfiles libtool libperl prefixvar baselibs terminfo" -checks="$checks proxydeps sonames" +checks="$checks proxydeps sonames perlcore" ret=0 cd ${STAGEDIR} Index: Mk/bsd.port.mk =================================================================== --- Mk/bsd.port.mk +++ Mk/bsd.port.mk @@ -1488,6 +1488,7 @@ LDCONFIG_DIR="${LDCONFIG_DIR}" \ PKGORIGIN=${PKGORIGIN} \ LIB_RUN_DEPENDS='${_LIB_RUN_DEPENDS:C,[^:]*:([^:]*):?.*,\1,}' \ + UNIFIED_DEPENDS=${_UNIFIED_DEPENDS:C,([^:]*:[^:]*):?.*,\1,:O:u:Q} \ PKGBASE=${PKGBASE} .if !empty(USES:Mssl) QA_ENV+= USESSSL=yes