Bug#545512: cyrus-common-2.2: unnecessarily runs cyrus-makedirs on all upgrades

2009-09-09 Thread Sven Mueller
Ross Boylan schrieb:
 On Tue, 2009-09-08 at 09:55 +0200, Sven Mueller wrote:
 Ross Boylan schrieb:
 On Mon, 2009-09-07 at 13:13 -0400, Noah Meyerhans wrote:
 Package: cyrus-common-2.2
 Version: 2.2.13-10+etch2
 Severity: normal

 cyrus-common-2.2.postinst runs cyrus-makedirs on all package updates,
 even when it's not necessary.  In the case of the recent security update
 This is the same as bug 404446, which was marked as fixed.  I can
 confirm that it is not fixed; I thought I had done something to try to
 keep the old bug open, but it seems not.
 Well, it was not exactly fixed when the changelog says it was:
 What was done back then is that the old recursive chown/chmod was
 replaced by a find, which already greatly improved performance of
 makedirs. Later changes replaced the find --exec with find --print0|
 xargs -0 which improved performance even more.

 However, I just changed the relevant postinst script so that it only
 runs cyrus-makedirs on fresh installs and when the new version is a
 different upstream version then the package that is upgraded. I'm not
 comfortable with running it more seldom than that.

 It looks as if even a minor version bump (2.3.13-2.3.14) is sufficient
 to cause the script to reexecute.  What potential problem is this
 defending against?  Cyrus is supposed to be a closed server; it seems to
 me as if only some deliberate administrator intervention could cause
 things to go wrong.
 
 On my system the operation takes about an hour, so I'm quite eager to
 avoid it.
 
 Thank you for working not only on this problem but on a lot of
 others--you've been busy!

You are right, currently a minor version bump would re-execute the
script. However, we are free to leave the version check to be against
2.2.13 as long as we are sure that the directory structure was not
changed (or, in other words: No big changes were made to the makedir
script).

Regards,
Sven



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#545512: cyrus-common-2.2: unnecessarily runs cyrus-makedirs on all upgrades

2009-09-08 Thread Sven Mueller
Ross Boylan schrieb:
 On Mon, 2009-09-07 at 13:13 -0400, Noah Meyerhans wrote:
 Package: cyrus-common-2.2
 Version: 2.2.13-10+etch2
 Severity: normal

 cyrus-common-2.2.postinst runs cyrus-makedirs on all package updates,
 even when it's not necessary.  In the case of the recent security update
 This is the same as bug 404446, which was marked as fixed.  I can
 confirm that it is not fixed; I thought I had done something to try to
 keep the old bug open, but it seems not.

Well, it was not exactly fixed when the changelog says it was:
What was done back then is that the old recursive chown/chmod was
replaced by a find, which already greatly improved performance of
makedirs. Later changes replaced the find --exec with find --print0|
xargs -0 which improved performance even more.

However, I just changed the relevant postinst script so that it only
runs cyrus-makedirs on fresh installs and when the new version is a
different upstream version then the package that is upgraded. I'm not
comfortable with running it more seldom than that.

Regards,
Sven



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#545512: cyrus-common-2.2: unnecessarily runs cyrus-makedirs on all upgrades

2009-09-08 Thread Ross Boylan
On Tue, 2009-09-08 at 09:55 +0200, Sven Mueller wrote:
 Ross Boylan schrieb:
  On Mon, 2009-09-07 at 13:13 -0400, Noah Meyerhans wrote:
  Package: cyrus-common-2.2
  Version: 2.2.13-10+etch2
  Severity: normal
 
  cyrus-common-2.2.postinst runs cyrus-makedirs on all package updates,
  even when it's not necessary.  In the case of the recent security update
  This is the same as bug 404446, which was marked as fixed.  I can
  confirm that it is not fixed; I thought I had done something to try to
  keep the old bug open, but it seems not.
 
 Well, it was not exactly fixed when the changelog says it was:
 What was done back then is that the old recursive chown/chmod was
 replaced by a find, which already greatly improved performance of
 makedirs. Later changes replaced the find --exec with find --print0|
 xargs -0 which improved performance even more.
 
 However, I just changed the relevant postinst script so that it only
 runs cyrus-makedirs on fresh installs and when the new version is a
 different upstream version then the package that is upgraded. I'm not
 comfortable with running it more seldom than that.
 
It looks as if even a minor version bump (2.3.13-2.3.14) is sufficient
to cause the script to reexecute.  What potential problem is this
defending against?  Cyrus is supposed to be a closed server; it seems to
me as if only some deliberate administrator intervention could cause
things to go wrong.

On my system the operation takes about an hour, so I'm quite eager to
avoid it.

Thank you for working not only on this problem but on a lot of
others--you've been busy!

Ross




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#545512: cyrus-common-2.2: unnecessarily runs cyrus-makedirs on all upgrades

2009-09-07 Thread Noah Meyerhans
Package: cyrus-common-2.2
Version: 2.2.13-10+etch2
Severity: normal

cyrus-common-2.2.postinst runs cyrus-makedirs on all package updates,
even when it's not necessary.  In the case of the recent security update
in 2.2.13-10+etch2, this resulted in a multi-hour outage at my site
while a giant recursive chown was run over the spool directories.
cyrus-makedirs was not necessary in this case, and the outage shouldn't
have lasted more than a few seconds.  cyrus-makedirs doesn't seem to do
anything other than make directories, set permissions, set some
filesystem attributes, and optionally delete old sieve files.  When
performing package upgrades, it's rare that these operations are
actually necessary.

I suggest that the postinst script be modified to only run when
upgrading to versions that change the directory structure or otherwise
introduce configuration changes that actually require it's
functionality.  Otherwise it's a very expensive no-op.

Although this bug is filed against the version in oldstable, it looks
this still happens in current versions of this package in unstable.

Thanks.
noah

-- System Information:
Debian Release: 4.0
  APT prefers oldstable
  APT policy: (500, 'oldstable')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.21.7-csail
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages cyrus-common-2.2 depends on:
ii  add 3.102Add and remove users and groups
ii  deb 1.5.11etch2  Debian configuration management sy
ii  dpk 1.13.26  package maintenance system for Deb
ii  exi 4.63-17  lightweight exim MTA (v4) daemon
ii  gaw 1:3.1.5.dfsg-4   GNU awk, a pattern scanning and pr
ii  lib 2.3.6.ds1-13etch9GNU C Library: Shared libraries
ii  lib 1.39+1.40-WIP-2006.11.14+dfsg-2etch1 common error description library
ii  lib 4.2.52+dfsg-2Berkeley v4.2 Database Libraries [
ii  lib 1.4.4-7etch7 MIT Kerberos runtime libraries
ii  lib 2.1.22.dfsg1-8+etch1 Authentication abstraction library
ii  lib 5.2.3-7etch4 NET SNMP (Simple Network Managemen
ii  lib 0.9.8c-4etch5SSL shared libraries
ii  lib 7.6.dbs-13   Wietse Venema's TCP wrappers libra
ii  lib 2.1.20010518.SNAPSHOT-17.1   The original Instant Message sys
ii  net 4.29 Basic TCP/IP networking system
ii  per 5.8.8-7etch6 Larry Wall's Practical Extraction 

Versions of packages cyrus-common-2.2 recommends:
ii  cyrus-admin-2.2  2.2.13-10+etch2 Cyrus mail system (administration 
ii  cyrus-imapd-2.2  2.2.13-10+etch2 Cyrus mail system (IMAP support)
ii  cyrus-pop3d-2.2  2.2.13-10+etch2 Cyrus mail system (POP3 support)

-- debconf information:
  cyrus-common-2.2/removespools: false
  cyrus-common-2.2/warnbackendchange:



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#545512: cyrus-common-2.2: unnecessarily runs cyrus-makedirs on all upgrades

2009-09-07 Thread Ross Boylan
On Mon, 2009-09-07 at 13:13 -0400, Noah Meyerhans wrote:
 Package: cyrus-common-2.2
 Version: 2.2.13-10+etch2
 Severity: normal
 
 cyrus-common-2.2.postinst runs cyrus-makedirs on all package updates,
 even when it's not necessary.  In the case of the recent security update
This is the same as bug 404446, which was marked as fixed.  I can
confirm that it is not fixed; I thought I had done something to try to
keep the old bug open, but it seems not.

Ross Boylan





-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org