Bug 193100

Summary: sa-update failed to execute without some dependency RPMs
Product: [Fedora] Fedora Reporter: masanari iida <masanari_iida>
Component: spamassassinAssignee: Warren Togami <wtogami>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: felicity, jm, parkerm, perl-devel, reg+redhat, smooge, t.matsuu, tmz, triage, wtogami
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-04-03 17:22:51 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 235347    
Attachments:
Description Flags
Patch to add missing sa-update deps none

Description masanari iida 2006-05-25 10:15:02 UTC
Description of problem:
Dependency missing in spec file.

Version-Release number of selected component (if applicable):
spamassassin-3.1.1-1.fc5


How reproducible:
Always

Steps to Reproduce:
1. Install spamassassin
2. execute sa-update
3.
  
Actual results:

# sa-update
Can't locate Archive/Tar.pm in @INC (@INC contains:
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.8
/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.4/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7
/usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5
/usr/lib/perl5/site_perl/5.8.4 /usr/lib/perl5/site_perl/5.8.3
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.4/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6
/usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4
/usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl
/usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8) at
/usr/bin/sa-update line 81.
BEGIN failed--compilation aborted at /usr/bin/sa-update line 81.


Expected results:
No error.

Additional info:
Following RPMs are missing in dependency section of the spec file.
perl-IO-Zlib    
perl-Archive-Tar

Comment 1 Warren Togami 2006-05-25 16:11:39 UTC
We currently cannot add these to Core.  You may install them from Extras if you
wish to use sa-update.


Comment 2 Takanori MATSUURA 2006-06-07 06:00:07 UTC
(In reply to comment #1)
> You may install them from Extras

Really?
I found perl-Archive-Tar and perl-IO-Zlib in FC5.
ftp://download.fedora.redhat.com/pub/fedora/linux/core/5/source/SRPMS/

Comment 3 Warren Togami 2006-06-07 15:17:48 UTC
Hmm, didn't realize they were in Core.  Adding.


Comment 4 Todd Zullinger 2006-12-26 02:26:19 UTC
Any chance of pulling these changes in to the FC5 packages while it's still
supported?

Comment 5 Todd Zullinger 2006-12-27 05:53:12 UTC
There seem to still be missing Requires for the FC6 and devel packages regarding
sa-update.  Both LWP::UserAgent and HTTP::Date are needed (both are provided in
perl-libwww-perl).  Looking at the devel package I see that an sa-update cronjob
is added (though disabled by default).  if folks enable that and don't have the
proper perl modules they'll just get a spew of perl prose in their mailbox. 
They may even think that Spamassassin is junky instead of the incredible tool
that it is.

Output on FC6 without perl-libwww-perl:

$ sudo sa-update 
Can't locate LWP/UserAgent.pm in @INC (@INC contains:
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.8
/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7
/usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6
/usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl
/usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8) at
/usr/bin/sa-update line 92.
BEGIN failed--compilation aborted at /usr/bin/sa-update line 92.


Not being terribly familiar with upstream SA history and noticing that Justin
Mason is on the CC list for this bug, I'm curious why sa-update uses evals in
the use ... statements to "avoid the annoying RPM requirement check."  If it's
just to allow the upstream packaged rpm to not require the deps for sa-update
perhaps it would be better to split sa-update into a separate package in the
upstream rpm?

Comment 6 Justin Mason 2006-12-27 12:19:59 UTC
yep, it's just to allow the upstream packaged rpm to not require the deps for
sa-update (or the other optional components of SA).  we are indeed thinking of
splitting sa-update into a separate RPM, so taht it can have its own deps;
Warren, your $.02 would be very welcome at that bug ;)

Comment 7 Todd Zullinger 2006-12-27 14:50:05 UTC
Thanks for the info Justin.  I've used SA for quite a while now and I've never
had a problem with sa-update's deps - all of my systems have had the additional
perl mods that need to get pulled in for it to work.  So to me the easiest
solution is to just strip the evals and let sa-update's deps be added by rpm
automagically.

Thanks for all of the work on SA Justin.  'Tis a very hard package to live without.

Comment 8 Warren Togami 2006-12-27 19:10:51 UTC
I will issue this in FC5 soon.

Regarding split into a separate sa-update package, it doesn't matter if this
happens or not for us.  In existing products I would need to include sa-update
within the main spamassassin package, because in upgrade scenarios I can't have
sa-update just disappear.

Comment 9 Warren Togami 2006-12-27 19:26:57 UTC
Actually, no, I will not issue a FC5 update only for this reason.  There are no
actual bug fixes here.  I may issue it later when there is a new version of
spamassassin.

Comment 10 Todd Zullinger 2006-12-27 19:57:24 UTC
No problem holding an FC5 update until a new upstream release or some more
important bug warrants it.  I had just noticed that it wasn't added to the spec
for the FC-5 branch and didn't want it to get missed if possible.

And yeah, understood that splitting sa-updates into a new package upstream
doesn't mean FC should.  But if they do, that will likely mean the evals will
disappear and then rpm's automatic dep handling will work as it should.

Thanks Warren.

Comment 11 Stephen John Smoogen 2006-12-30 03:46:13 UTC
How about a FC6 fix then as it is broken in FCL-6.. 

Comment 12 Warren Togami 2006-12-30 04:03:18 UTC
It is?

The package in FC6 has the right perl module dependencies.
Are you sure it isn't SELinux?

Bug #187974 is the selinux problem.  I don't know if this was pushed to FC5 or
FC6 yet.

Comment 13 Todd Zullinger 2006-12-30 09:02:36 UTC
The FC6 package is still missing deps for LWP::Useragent and HTTP::Date, both
provided by perl-libwww-perl:

[root@zod ~]# cat /etc/fedora-release 
Fedora Core release 6 (Zod)
[root@zod ~]# rpm -q spamassassin
spamassassin-3.1.7-1.fc6
[root@zod ~]# sa-update 
Can't locate LWP/UserAgent.pm in @INC (@INC contains:
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.8
/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.6/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/5.8.7
/usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl/5.8.5
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.7/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.6/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl/5.8.6
/usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl
/usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8) at
/usr/bin/sa-update line 92.
BEGIN failed--compilation aborted at /usr/bin/sa-update line 92.


Comment 14 Warren Togami 2006-12-30 09:41:51 UTC
Argh, OK thanks.  This will be pushed in devel soon, and both FC5 and FC6 after
there is a more substantial reason (major bug fix or new upstream release) to
push an update.


Comment 15 Todd Zullinger 2007-01-27 16:28:01 UTC
Created attachment 146745 [details]
Patch to add missing sa-update deps

HTTP::Date and LWP::UserAgent are still missing from the latest spamassassin
updates.  Both are provided via perl-libwww-perl which is available on all
supported systems AFAICT.  Would it be a problem to include them
unconditionally the same way that Net::DNS is?

Comment 16 Warren Togami 2007-01-28 05:04:57 UTC
Thanks, I'm adding this to spamassassin-3_1_7-6 and higher.  This will not be
pushed to FC5 or FC6 yet though, until we have acquired more higher priority bug
fixes.

Comment 17 Bug Zapper 2008-04-03 17:17:27 UTC
Based on the date this bug was created, it appears to have been reported
against rawhide during the development of a Fedora release that is no
longer maintained. In order to refocus our efforts as a project we are
flagging all of the open bugs for releases which are no longer
maintained. If this bug remains in NEEDINFO thirty (30) days from now,
we will automatically close it.

If you can reproduce this bug in a maintained Fedora version (7, 8, or
rawhide), please change this bug to the respective version and change
the status to ASSIGNED. (If you're unable to change the bug's version
or status, add a comment to the bug and someone will change it for you.)

Thanks for your help, and we apologize again that we haven't handled
these issues to this point.

The process we're following is outlined here:
http://fedoraproject.org/wiki/BugZappers/F9CleanUp

We will be following the process here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping to ensure this
doesn't happen again.