Bug 6265 - [review] Archive::Tar and IO::Zlib should be required by spamassassin
Summary: [review] Archive::Tar and IO::Zlib should be required by spamassassin
Status: RESOLVED FIXED
Alias: None
Product: Spamassassin
Classification: Unclassified
Component: Building & Packaging (show other bugs)
Version: SVN Trunk (Latest Devel Version)
Hardware: Other All
: P2 enhancement
Target Milestone: 3.3.0
Assignee: SpamAssassin Developer Mailing List
URL:
Whiteboard: ready for commit
Keywords:
Depends on:
Blocks:
 
Reported: 2009-12-26 19:33 UTC by Matt Selsky
Modified: 2010-01-11 08:37 UTC (History)
4 users (show)



Attachment Type Modified Status Actions Submitter/CLA Status
proposed patch patch None Mark Martinec [HasCLA]

Note You need to log in before you can comment on or make changes to this bug.
Description Matt Selsky 2009-12-26 19:33:49 UTC
In bug 6145, Archive::Tar was made a required dependency.  However, if you don't use sa-update, and instead use the rules tarballs, then sa-update is not required and therefore Archive::Tar is not required.

IO::Zlib, which is also only used by sa-update is marked as optional, not required.
Comment 1 Kevin A. McGrail 2009-12-28 06:30:38 UTC
Won't the rules tarball be processed and installed with sa-update and the only difference is it won't use LWP/etc. to download the file?
Comment 2 Matt Selsky 2009-12-28 08:02:43 UTC
Not necessarily.

Eg, the Fedora RPM SPEC file just untar's the rules into place.
Comment 3 Kevin A. McGrail 2009-12-28 08:10:39 UTC
IMO, these dependencies should stay as the project is trying hard to move towards rule updates instead of engine updates.  Additionally, the spec file should likely be running sa-update to install the rules from a local tar instead of reverse engineering the proper location.
Comment 4 Justin Mason 2009-12-29 04:13:17 UTC
(In reply to comment #3)
> IMO, these dependencies should stay as the project is trying hard to move
> towards rule updates instead of engine updates.  Additionally, the spec file
> should likely be running sa-update to install the rules from a local tar
> instead of reverse engineering the proper location.

+1
Comment 5 Matt Selsky 2009-12-29 15:55:36 UTC
(In reply to comment #3)
> IMO, these dependencies should stay as the project is trying hard to move
> towards rule updates instead of engine updates.  Additionally, the spec file
> should likely be running sa-update to install the rules from a local tar
> instead of reverse engineering the proper location.

In that case, IO::Zlib should be a mandatory dependency instead of being optional (sa-update requires it).
Comment 6 Kevin A. McGrail 2009-12-29 17:28:55 UTC
(In reply to comment #5)
> (In reply to comment #3)
> > IMO, these dependencies should stay as the project is trying hard to move
> > towards rule updates instead of engine updates.  Additionally, the spec file
> > should likely be running sa-update to install the rules from a local tar
> > instead of reverse engineering the proper location.
> 
> In that case, IO::Zlib should be a mandatory dependency instead of being
> optional (sa-update requires it).

I agree. +1 to making IO::Zlib a dependency and keeping Archive::Tar a requirement as well.
Comment 7 Warren Togami 2010-01-07 14:01:15 UTC
(In reply to comment #2)
> Not necessarily.
> 
> Eg, the Fedora RPM SPEC file just untar's the rules into place.

Fedora's RPM now sa-update by default on a nightly basis.  sa-update is no longer optional.

+1 to making both Archive::Tar and IO::Zlib hard requirements.
Comment 8 AXB 2010-01-07 14:11:34 UTC
(In reply to comment #7)
> Fedora's RPM now sa-update by default on a nightly basis.  sa-update is no
> longer optional.

Aplogize for hijacking this bug...

I truly hope you're not hammering the donated sa-updates servers with this and that RedHat uses its own sa-update server.
Comment 9 Warren Togami 2010-01-07 14:20:50 UTC
(In reply to comment #8)
> (In reply to comment #7)
> > Fedora's RPM now sa-update by default on a nightly basis.  sa-update is no
> > longer optional.
> 
> Aplogize for hijacking this bug...
> 
> I truly hope you're not hammering the donated sa-updates servers with this and
> that RedHat uses its own sa-update server.

Mitigating factors:
* It skips sa-update if spamd or amavisd is not running, and we don't run spamd by default if you have the packaged installed.
* It also delays a random amount of time before doing it, so it wont bog down the server with requests all at the same moment.

Is this still too much?
Comment 10 AXB 2010-01-07 14:30:11 UTC
(In reply to comment #9)
> (In reply to comment #8)
> > (In reply to comment #7)
> > > Fedora's RPM now sa-update by default on a nightly basis.  sa-update is no
> > > longer optional.
> > 
> > Aplogize for hijacking this bug...
> > 
> > I truly hope you're not hammering the donated sa-updates servers with this and
> > that RedHat uses its own sa-update server.
> 
> Mitigating factors:
> * It skips sa-update if spamd or amavisd is not running, and we don't run spamd
> by default if you have the packaged installed.
> * It also delays a random amount of time before doing it, so it wont bog down
> the server with requests all at the same moment.
> 
> Is this still too much?

for default setups, once a week would be more than enough.
"dedicated" admins can tweak, most won't
imo, ideally, distros which enable sa-update by default should provide resources to cover the load they're adding.
I imagine this auto sa-update could also land in mainstream RHE / Centos etc, the load added can become... HUGE, plus the pressure put on donated time to run the stuff to keep an even larger user base happy.

Honestly, don't think its a good idea to enable sa-update by default. Dunno what others think....especially the ones supplying the sa-update infrastructure.

Comments?
Comment 11 Kevin A. McGrail 2010-01-07 14:33:45 UTC
> Honestly, don't think its a good idea to enable sa-update by default. Dunno
> what others think....especially the ones supplying the sa-update
> infrastructure.

I think it's a good idea but I *thought* sa-update checked DNS for the availability of an update not an http query.
KAM
Comment 12 AXB 2010-01-07 14:46:26 UTC
(In reply to comment #11)
> > Honestly, don't think its a good idea to enable sa-update by default. Dunno
> > what others think....especially the ones supplying the sa-update
> > infrastructure.
> 
> I think it's a good idea but I *thought* sa-update checked DNS for the
> availability of an update not an http query.
> KAM

yes.. it does.. DNS traffic is also traffic. I wouldn't underestimate it.
Comment 13 Justin Mason 2010-01-07 14:57:37 UTC
(In reply to comment #11)
> > Honestly, don't think its a good idea to enable sa-update by default. Dunno
> > what others think....especially the ones supplying the sa-update
> > infrastructure.
> 
> I think it's a good idea but I *thought* sa-update checked DNS for the
> availability of an update not an http query.
> KAM

yep it does.  I'm quite happy to see sa-update enabled by default, to be honest; if we need more mirrors, we need more mirrors, and that's easily done.  in the meantime sa-update will do the right thing, retry where necessary, etc.

at some point we should do the "random offset from hour" thing ourselves, but the right way (as per my coworker Colm):
http://www.stdlib.net/~colmmacc/2009/09/14/period-pain/
http://www.stdlib.net/~colmmacc/2009/09/27/period-pain-part-2/
Comment 14 Warren Togami 2010-01-07 15:31:20 UTC
http://cvs.fedoraproject.org/viewvc/devel/spamassassin/sa-update.cronscript?revision=1.7&view=co

Here is the script we run from cron by default as of 3.3.0.

* Looks for daemons and runs sa-update only if it sees a running daemon.
* Random delay up to 2 hours.
* .d directory to specify arbitrary channels in separate files, makes it easy to add/remove channels automatically using packages later.
* Restarts the appropriate daemon after successful sa-update.
Comment 15 Mark Martinec 2010-01-08 09:34:43 UTC
Carrying over the discussion on how/when users should run their sa-update
onto Bug 6281.
Comment 16 Mark Martinec 2010-01-08 10:51:51 UTC
Created attachment 4630 [details]
proposed patch

(In reply to comment #6)
> I agree. +1 to making IO::Zlib a dependency and keeping Archive::Tar a
> requirement as well.

(In reply to comment #7)
> +1 to making both Archive::Tar and IO::Zlib hard requirements.
Comment 17 Kevin A. McGrail 2010-01-08 11:37:36 UTC
(In reply to comment #16)
> Created an attachment (id=4630) [details]
> proposed patch
> 
> (In reply to comment #6)
> > I agree. +1 to making IO::Zlib a dependency and keeping Archive::Tar a
> > requirement as well.
> 
> (In reply to comment #7)
> > +1 to making both Archive::Tar and IO::Zlib hard requirements.

+1 KAM to the patch to mchange the DependencyInfo MakeFile and release text making IO:Zlib required and closing the "bug" that archive::tar was required.
Comment 18 Warren Togami 2010-01-11 08:34:00 UTC
+1
Comment 19 Mark Martinec 2010-01-11 08:37:30 UTC
Bug 6265: Archive::Tar and IO::Zlib should be required by spamassassin
Sending        Makefile.PL
Sending        build/announcements/3.3.0-release.txt
Sending        lib/Mail/SpamAssassin/Util/DependencyInfo.pm
Transmitting file data ...
Committed revision 897930.