Package: libconfig-model-dpkg-perl Version: 2.085 Severity: normal -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512
I tried to update some alternative dependencies (dual-lifed perl modules) with `cme fix dpkg-control', and was unhappy with the result, as cme put "perl (>= 5.23.x)" at the end. Running it with DEBUG turned on shows: 2016/10/21 22:38:20 called on perl 2016/10/21 22:38:20 using cached info for perl 2016/10/21 22:38:20 perl 5.23.9 is not older than perl in sid (5.22.2-5) 2016/10/21 22:38:20 'libversion-perl (>= 1:0.9912) | perl (>= 5.23.9)' done So cme thinks that perl's version in sid is 5.22.2-5; which seemed wrong to me but actually cme has a point: % rmadison perl perl | 5.14.2-21+deb7u3 | oldstable | source, amd64, armel, armhf, i386, ia64, kfreebsd-amd64, kfreebsd-i386, mips, mipsel, powerpc, s390, s390x, sparc perl | 5.20.2-3 | stable-kfreebsd | source, kfreebsd-amd64, kfreebsd-i386 perl | 5.20.2-3+deb8u3+kbsd1 | stable-kfreebsd-proposed-updates | source, kfreebsd-amd64, kfreebsd-i386 perl | 5.20.2-3+deb8u6 | stable | source, amd64, arm64, armel, armhf, i386, mips, mipsel, powerpc, ppc64el, s390x perl | 5.22.2-3 | unstable | source perl | 5.22.2-5 | unstable | source perl | 5.24.1~rc3-3 | buildd-unstable | source perl | 5.24.1~rc3-3 | testing | source, amd64, arm64, armel, armhf, i386, mips, mips64el, mipsel, powerpc, ppc64el, s390x perl | 5.24.1~rc3-3 | unstable | source, amd64, arm64, armel, armhf, i386, kfreebsd-amd64, kfreebsd-i386, mips, mips64el, mipsel, powerpc, ppc64el, s390x perl | 5.24.1~rc3-3+b1 | buildd-unstable | hurd-i386 perl | 5.24.1~rc3-3+b1 | unstable | hurd-i386 Looks like it gets and uses the first or second hit which is 5.22.2-5 for an old source package still lingering around. That's my %perl_version = $self->get_available_version( 'perl'); my $sid_perl_version = $perl_version{unstable} || $perl_version{sid} ; my $has_older_perl_in_sid = ( $vs->compare( $v_normal, $sid_perl_version) < 0 ) ? 1 : 0; $logger->debug( "perl $v_normal is", $has_older_perl_in_sid ? ' ' : ' not ', "older than perl in sid ($sid_perl_version)" ); in lib/Config/Model/Dpkg/Dependency.pm. Maybe get_available_version() or cache_info_from_madison() / or extract_madison_info() could look at binary packages for the current arch instead of the source version, or for binary instead of source? Ah, there's an example in the code, and a link to the documentation: https://ftp-master.debian.org/epydoc/dakweb.queries.madison-module.html % wget -q -O - 'https://api.ftp-master.debian.org/madison?package=perl&f' and % wget -q -O - 'https://api.ftp-master.debian.org/madison?package=perl&f&b=deb' indeed looks better Maybe seomthing like this is enough (untested!): #v+ - --- a/lib/Config/Model/Dpkg/Dependency.pm +++ b/lib/Config/Model/Dpkg/Dependency.pm @@ -853,7 +853,7 @@ sub get_available_version { return @res; } - - my $url = "$madison_endpoint?package=".uri_escape($pkg_name).'&f' ; + my $url = "$madison_endpoint?package=".uri_escape($pkg_name).'&f&b=deb' ; $self->instance->show_message("Connecting to $madison_host to check $pkg_name versions. Please wait...") ; my $body = get($url); my $res ; @@ -897,7 +897,7 @@ sub cache_info_from_madison { return; } - - my $url = "$madison_endpoint?package=".uri_escape(join(' ',@needed)).'&f' ; + my $url = "$madison_endpoint?package=".uri_escape(join(' ',@needed)).'&f&b=deb' ; $instance->show_message( "Connecting to $madison_host to check ", scalar @needed, " package versions. Please wait..." ); #v- Cheers, gregor -----BEGIN PGP SIGNATURE----- iQJ8BAEBCgBmBQJYCoK0XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXREMUUxMzE2RTkzQTc2MEE4MTA0RDg1RkFC QjNBNjgwMTg2NDlBQTA2AAoJELs6aAGGSaoG5mcP/2dFl9hwRiBMH+CCs1qb+P7/ layGqVtO+/lyNhRchtQfZVE4LV3IJXQ+54LeRHNZEvjuRv+fEPRX+g8zV9k/MV+w CaIzpH7SgEfBR2VNSCUMqq9rfBvpGCXuY6E7Qiy6+BXHvV/BG+RHgOnYNATwHZFt L6tf0uO17LuvtLnpM7R0DyZNGfsihMWJIVb4EMvuu4EtySLDeFVDeiNjeHE4a11i LGe6yibbOJRanSFtzj0WMu/rUg1eOLCrqCkhSxK44/oPDtZkrn85gK47siUJ+CCs 0Hwr8zgnN7Ak1Gb68AqD9CqRuTAdH7usU76VBrgVUeogCUQjNKUH7OgxdDfkk9ZH ClHBOfJKyeqx2Zs9IBLo1axuu1N2D45ReQHrBpmUYFul4Ym7FZaBMxgAbN1UH1j5 gDtNdz7gqZ87ixC6kXB45jsVGq/4FM5bcqepzWt+Y6cX3I7NLq4xkOqCEJ6nCW3B piCCMXryssaQuIeChsELAjSB5dURNWq3WGX9YOEfhQcWrehTkP/pkBMmuT39T849 A/XnZAiP48pbrFCm00+Ac6awkWX9B+i4V/v2EtlO3VW8zSRKmxg3WefleG2uN0cc f7T+23VC35fiNQ+Z+57d3EsNphO81JQDyzt0zsZDaQDyqGovMavWdPD1sXvw7VOl bR7BzH6z0X0on4qyMYcD =oSWu -----END PGP SIGNATURE-----