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...
--Doc Savage Fairview Heights, IL
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.
--
Michael Schwendt ms-nospam-0306@arcor.de writes:
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.
Yeah, I hadn't added the new dirs yet. Building an RPM with them in there using this algorithm, which should be sufficient:
for dir in $(%{new_perl} -le 'print join("\n", @INC)' | grep '^%{_libdir}') do mkdir -p $RPM_BUILD_ROOT/$dir done
Basically every dir in the @INC of the newly built perl will be created by the perl package (and therefore provided by it).
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.
The upcoming RPM has the virtual Provides as well as owns those dirs (since it should have anyway). Watch for it sometime today.
Chip
On Wed, 2004-02-25 at 12:30, Chip Turner wrote:
Michael Schwendt ms-nospam-0306@arcor.de writes:
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.
Yeah, I hadn't added the new dirs yet. Building an RPM with them in there using this algorithm, which should be sufficient:
for dir in $(%{new_perl} -le 'print join("\n", @INC)' | grep '^%{_libdir}') do mkdir -p $RPM_BUILD_ROOT/$dir done
Basically every dir in the @INC of the newly built perl will be created by the perl package (and therefore provided by it).
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.
The upcoming RPM has the virtual Provides as well as owns those dirs (since it should have anyway). Watch for it sometime today.
Chip,
Bingo! Today's perl*5.8.3-10.rpm updates install perfectly. Thank you.
--Doc Savage Fairview Heights, IL
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
# LANG=C rpm -Fvh --test perl-5.8.3-9.i386.rpm error: Failed dependencies: /usr/lib/perl5/site_perl/5.8.1 is needed by (installed) spamassassin-2.63-0.2