Fedora Core 1 Test Update: spamassassin-2.63-0.1

Warren Togami wtogami at redhat.com
Wed Feb 11 10:18:57 UTC 2004


Warren Togami wrote:
> Michael Schwendt wrote:
> 
>> On Wed, 11 Feb 2004 08:14:02 +0100, shrek-m at gmx.de wrote:
>>
>>
>>> # rpm -q spamassassin spamassassin-2.60-2
>>>
>>> # rpm -Uvh 
>>> /mnt/sda1/updates/download.fedora.redhat.com/pub/fedora/linux/core/updates/testing/1/i386/spamassassin-2.63-0.1.i386.rpm 
>>>
>>> Fehler: Failed dependencies:
>>>        /usr/lib/perl5/vendor_perl/5.8.1 is needed by 
>>> spamassassin-2.63-0.1
>>>
>>> # rpm -q perl
>>> perl-5.8.1-92
>>>
>>>
>>> is  --nodeps   needed ??
>>
>>
>>
>> No. An updated test update package will be needed to fix this, as on FC1:
>>
>>   $rpm --redhatprovides /usr/lib/perl5/vendor_perl/5.8.1
>>   file /usr/lib/perl5/vendor_perl/5.8.1 is not owned by any package
>>
>> A future Perl package will own more directories and also the vendor
>> locations. So, presently, an FC1 test update must not and cannot 
>> depend on
>> that directory.
>>
> 
> [root at laptop root]# rpm -q perl
> perl-5.8.1-92
> [root at laptop root]# rpm --redhatprovides /usr/lib/perl5/vendor_perl/5.8.1
> file /usr/lib/perl5/vendor_perl/5.8.1 is not owned by any package
> [root at laptop root]# rpm -ivh spamassassin-2.60-2.i386.rpm
> Preparing...                ########################################### 
> [100%]
>    1:spamassassin           ########################################### 
> [100%]
> [root at laptop root]# rpm -Uvh spamassassin-2.63-0.1.i386.rpm
> Preparing...                ########################################### 
> [100%]
>    1:spamassassin           ########################################### 
> [100%]
> 
> 
> At first I was like "HUH?"  Why does it work for me but not you... but 
> then I found the reason.
> 
> [root at laptop root]# rpm -qf /usr/lib/perl5/vendor_perl/5.8.1
> perl-DateManip-5.42-0.fdr.2.a.1
> perl-RPM-Specfile-1.13-0.fdr.2.1
> perl-Digest-Nilsimsa-0.06-0.fdr.4.1
> 
> All perl modules provided by fedora.us seems to own this directory.  So 
> this leaves us with two questions:
> 
> 1) Can someone check if this problem still exists in rawhide?
> 2) What should we change the Requires to for this FC1 update?  I am 
> thinking "Requires perl >= 2:5.8.0" which is like how it was before.  It 
> required rebuilding for different pre-FC2 perl versions, but that's 
> acceptable I guess.
> 
> See the thread "perl and multilib considerations" from January where 
> this was previously discussed.  Since Chip Turner's suggestion of a 
> virtual provides does not exist in these older perl versions, we have to 
> use an imperfect solution.  #2 above may be good enough for now.
> 
> I'll roll the next FC1 test update when I wake up Wednesday based upon 
> comments here.  Just a sanity check please.
> 
> Warren
> 
> 

<mschwendt> warren: Well, the current Perl package does not own the 
vendor directories. So including them in the spamassassin package would 
be cleaner, to avoid the problem of restrictive admin umask creating 
them with insufficient permissions. You could depend on $privlib 
(although you don't install into it), because that's the first directory 
owned by "perl" which is versioned.
<warren> mschwendt: it seems that the fedora.us perl modules own that 
directory too
<mschwendt> warren: fedora.us perl packages own them to avoid the 
problems of leaving empty directories behind and the permissions problem
<mschwendt> warren: why do you depend on a path instead of "perl = 3:5.8.1"?
<warren> mschwendt: (got the idea from mharris xchat spec, I thought 
that too was correct but now I believe it has the same problem that we 
see here)
<warren> mschwendt: I thought it was working until this discovery, and 
we had a thread discussing it late January
<warren> mschwendt: Chip Turner's solution creating a standard virtual 
provides sounded like the best solution for FC2+, but I thought this 
solution was working in FC1.  I was wrong.  It only worked while I had 
fedora.us perl modules installed.
<mschwendt> warren: hmmm, stock spamassassin in Yarrow depends on "perl 
 >= 2:5.8.0" which is bad.
<warren> yes, the old method was bad, but it generally worked as long as 
your sources weren't broken
<mschwendt> warren: that's why it is unfortunate that fedora.us packages 
must work around unowned directories by owning them. Creates problems 
like this.

Okay so... bottom line:
FC1's perl package unfortunately means we must use ownership with module 
packages in order to avoid unown directories and associated problems 
(like unable to strip binaries).  While this situation can be easily 
remedied in FC2's perl so we no longer need this hack, we need the most 
robust solution for now.

Without Chip's suggestion of virtual Provides in place, what Requires 
line should go into this spamassassin FC1 update?  Should we own the 
directories in spamassassin, like we do with fedora.us perl modules? 
Opinions please.

Warren





More information about the fedora-test-list mailing list