+++ This bug was initially created as a clone of Bug #193100 +++ 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 -- Additional comment from wtogami on 2006-05-25 12:11 EST -- We currently cannot add these to Core. You may install them from Extras if you wish to use sa-update. -- Additional comment from t.matsuu on 2006-06-07 02:00 EST -- (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/ -- Additional comment from wtogami on 2006-06-07 11:17 EST -- Hmm, didn't realize they were in Core. Adding. -- Additional comment from tmz on 2006-12-25 21:26 EST -- Any chance of pulling these changes in to the FC5 packages while it's still supported? -- Additional comment from tmz on 2006-12-27 00:53 EST -- 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? -- Additional comment from jm on 2006-12-27 07:19 EST -- 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 ;) -- Additional comment from tmz on 2006-12-27 09:50 EST -- 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. -- Additional comment from wtogami on 2006-12-27 14:10 EST -- 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. -- Additional comment from wtogami on 2006-12-27 14:26 EST -- 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. -- Additional comment from tmz on 2006-12-27 14:57 EST -- 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. -- Additional comment from smooge on 2006-12-29 22:46 EST -- How about a FC6 fix then as it is broken in FCL-6.. -- Additional comment from wtogami on 2006-12-29 23:03 EST -- 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. -- Additional comment from tmz on 2006-12-30 04:02 EST -- 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. -- Additional comment from wtogami on 2006-12-30 04:41 EST -- 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. -- Additional comment from tmz on 2007-01-27 11:28 EST -- Created an attachment (id=146745) 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? -- Additional comment from wtogami on 2007-01-28 00:04 EST -- 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.
The solution needed for RHEL-4 is different from the above. We would need to add perl-Archive-Tar and a few other perl modules that it relies upon to RHEL-4.6 in order to support this feature. PM and QA need to decide whether this is something they are willing to approve.
perl-Archive-Tar-1.30-1.fc6 perl-IO-Zlib-1.04-4.2.1 perl-Compress-Zlib-1.42-1.fc6 perl-IO-String-1.08-1.1.1 I tested these from RHEL5 with simple rebuilds on RHEL4, and it solves the problem. We should include the exact same code as RHEL5 for these packages, but with a slightly different disttag to ensure upgrade path from RHEL4 -> RHEL5. RHEL4 -> RHEL5 perl-Archive-Tar-1.30-1.el4 -> perl-Archive-Tar-1.30-1.fc6 perl-IO-Zlib-1.04-4.2.el4 -> perl-IO-Zlib-1.04-4.2.1 perl-Compress-Zlib-1.42-1.el4 -> perl-Compress-Zlib-1.42-1.fc6 perl-IO-String-1.08-1.1.el4 -> perl-IO-String-1.08-1.1.1 Risk: Negligible Nothing else in RHEL uses this, so the addition of these packages in RHEL4 would not effect anything else. Do we want to also issue a spamassassin package update to require these packages? If we don't then customers will be confused why it still doesn't work unless they explicitly install perl-Archive-Tar.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2007-0677.html