On 27/03/2022 14:22, Achim Gratz wrote:
Jon Turney writes:
A few comments after looking at:

lib/pkg_info.cygport: implement automatic determination of the
appropriate perl5_0xy requirement
1. In __list_deps(), this should look at the files list in $@, not at
files in $D, as that causes it to identify a perl5_0xy dependency for
all subpackages, irrespective of which package (if any) contains the
files in the vendor_perl directory.

2. This only identifies the perl5_0xy requirement for packages which
own files in the vendor_perl directory, not for packages which contain
executables or shared libraries dynamically linked with
cygperl5_xy.dll.   That should at least be mentioned in the patch
commentary.

I've fixed both of these on the to-upstream branch I think.

Thanks.

I tried testing this on rxvt-unicode. It correctly adds the perl5_032 dependency due to linkage

But it also emits a bogus dependency on 'Carp'.

@@ -412,6 +413,7 @@ __list_deps() {
                        do
                                if [ -f ${d}/${pldep//:://}.pm ]
                                then
+                                       case "${d##*/}" in 5.[0-9][0-9]) 
plver+="$pldep " ;; esac

Is the mistake thinking pldep here is a pathname, not a module name?

                                        alldeps+=" "${d}/${pldep//:://}.pm;
                                        break;
                                fi
@@ -419,6 +421,17 @@ __list_deps() {
                done
        fi

+       plver=( $( echo "${plver}" | tr ' ' '\n' | sed -e 
's/.*\///;s/5/perl5/;s/\./_0/' | sort -ru ) )
+       if [ "${#plver[@]}" -gt 1 ]
+       then
+               warning "More than one targeted Perl version: ${plver[*]},"
+               warning "using only the latest as dependency: ${plver[0]}."
+       fi
+       if [ "${#plver[@]}" -gt 0 ] && [ "${PN}" != "perl_base" ]
+       then
+               echo "${plver[0]}"
+       fi
+
        if check_prog php-config
        then
                phpmoddir=$(php-config  --extension-dir)

Reply via email to