On Tue, 24 Feb 2004 23:54:07 -0600, Robert G. (Doc) Savage wrote:
The latest perl and perl-suidperl 5.8.3-9 packages just posted to updates-testing trigger a familiar dependency problem:
Unresolvable chain of dependencies: spamassassin 2.63-0.2 requires /usr/lib/perl5/site_perl/5.8.1
Please modify your package selections and try again.
The -0.2 spamassassin package fixed a similar problem on Feb 11.
Warren? Michael? Shrek-m? Gentlemen, start your engines...
Well, no surprise that a Perl version upgrade done like this would break such a dependency. Directory ownership within the "perl" package is still incomplete, making dependencies on paths more fragile. Especially since a version upgrade has been performed, and the version is a directory name.
While the previous perl-5.8.1-92 package owned just
$ rpm -ql perl |grep '(site|vendor)' /usr/lib/perl5/site_perl /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi
but not the vendor directories, the 5.8.3-9 is a version upgrade and contains site and vendor directories
$ rpm -ql perl |grep '(site|vendor)' /usr/lib/perl5/site_perl /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi/auto /usr/lib/perl5/vendor_perl /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi/auto
but not the other supported directories of Perl modules built for older compatible versions:
$ perl -e 'print join("\n", @INC);' | grep -v 5.8.3 | grep 5.8 /usr/lib/perl5/site_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.2 /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/vendor_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.2 /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0
Preferably, the perl package would include all these directories, too, so perl module packages installing into them have a good home.
[...]
The original problem with the weak dependency of the spamassassin package has not been solved and cannot be solved unless the Perl package provides Chip Turner's suggested virtual capabilities _or_ implmements @INC path ownership correctly.
--