Activity log for bug #1372673

Date Who What changed Old value New value Message
2014-09-22 22:46:04 Colin Watson bug added bug
2014-09-22 22:46:08 Colin Watson bug watch added http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=579075
2014-09-22 22:46:09 Colin Watson man-db (Debian): remote watch Debian Bug tracker #579075
2014-09-22 23:09:24 Colin Watson description Imported from Debian bug http://bugs.debian.org/579075: Package: man-db Version: 2.5.7-2 Severity: wishlist I noticed that man-db starts debconf when triggered. Given how often triggers run, I think that should be optimised. Ie, move the $1 = triggered test above the confmodule sourcing. -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'stable') Architecture: i386 (i686) Kernel: Linux 2.6.32-3-686 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages man-db depends on: ii bsdmainutils 8.0.10 collection of more utilities from ii debconf [debconf-2.0] 1.5.32 Debian configuration management sy ii dpkg 1.15.7.1 Debian package management system ii groff-base 1.20.1-9 GNU troff text-formatting system ( ii libc6 2.10.2-6 Embedded GNU C Library: Shared lib ii libgdbm3 1.8.3-9 GNU dbm database routines (runtime ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime man-db recommends no packages. Versions of packages man-db suggests: ii 5.0.386.0~svn20100423r45407-0u Chromium browser ii 2.30.2-1 Intuitive GNOME web browser pn <none> (no description available) ii 3.5.9-2 Web browser based on Firefox ii 436-1 pager program similar to more ii 0.5.2-4 WWW browsable pager with excellent -- debconf information excluded -- see shy jo SRU justification: [Impact] We see rather frequent hard-to-debug upgrade failures that amount to man-db's trigger failing in some way that has nothing to do with the mandb program itself, but rather in some kind of communication with the package management frontend. Almost all the open bugs on Ubuntu man-db come down to this in one way or another. The root cause is, I believe, that it is not really safe to use debconf from a dpkg trigger: while debconf itself behaves as if it were Essential, the debconf protocol is often mediated by various frontends with less stringent practices. It would certainly be a good idea to get man-db's trigger out of the loop here, as dpkg tends to run it at the end of an unpack phase when large numbers of packages are unconfigured, which is pretty much the worst case for having this work properly. In the past I've tried to investigate why debconf fails in these situations. I've come to believe this is a wild goose chase, and that the common case of ordinary postinsts sourcing the debconf confmodule is much less likely to be a problem due to the nature of unpack/configure sequencing; I admit that I don't have proof of this, but having one fewer script using debconf is surely not going to make things worse, and since lots of unpack runs pull the man-db trigger it seems likely to improve things substantially. The man-db trigger reads a single value from debconf to tell it whether to automatically update the manual page database (used by apropos and whatis). This is in an agreed location in debconf so that such things as package builders can save time by suppressing the database update. There is, however, no reason to read this value every time the trigger is activated; we can just cache it under /var/lib/man-db/ when man-db is configured and then do a much simpler file-level test in the trigger. I should have thought of this years ago. To have the maximum benefit for upgraders, we should do what we can to ensure that they have a fixed version of man-db installed before the upgrade. I'd therefore like to apply this fix to all currently-supported releases. [Test Case] I don't have a reliable reproduction scenario, but I have two suggestions, which are in the sort of general vein of unit testing and integration testing respectively: * Install the new version of man-db and check that it causes /var/lib/man-db/auto-update to exist if and only if the debconf value for man-db/auto-update is true, and in turn that this still causes the database to be updated or not updated respectively when installing a package containing a manual page. * After installing the new version of man-db, upgrade to the next supported or development series using the upgrade tool of your choice. [Regression Potential] Installing packages that contain manual pages and running system upgrades should exercise this pretty thoroughly. Since in general this weakens the constraints on achieving successful upgrades, the main thing to watch out for would just be things like inverted logic that might cause the database not to be updated when it should be or vice versa. Original report follows, imported from Debian bug http://bugs.debian.org/579075: Package: man-db Version: 2.5.7-2 Severity: wishlist I noticed that man-db starts debconf when triggered. Given how often triggers run, I think that should be optimised. Ie, move the $1 = triggered test above the confmodule sourcing. -- System Information: Debian Release: squeeze/sid   APT prefers unstable   APT policy: (500, 'unstable'), (500, 'stable') Architecture: i386 (i686) Kernel: Linux 2.6.32-3-686 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages man-db depends on: ii bsdmainutils 8.0.10 collection of more utilities from ii debconf [debconf-2.0] 1.5.32 Debian configuration management sy ii dpkg 1.15.7.1 Debian package management system ii groff-base 1.20.1-9 GNU troff text-formatting system ( ii libc6 2.10.2-6 Embedded GNU C Library: Shared lib ii libgdbm3 1.8.3-9 GNU dbm database routines (runtime ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime man-db recommends no packages. Versions of packages man-db suggests: ii 5.0.386.0~svn20100423r45407-0u Chromium browser ii 2.30.2-1 Intuitive GNOME web browser pn <none> (no description available) ii 3.5.9-2 Web browser based on Firefox ii 436-1 pager program similar to more ii 0.5.2-4 WWW browsable pager with excellent -- debconf information excluded -- see shy jo
2014-09-22 23:09:49 Colin Watson nominated for series Ubuntu Trusty
2014-09-22 23:09:49 Colin Watson bug task added man-db (Ubuntu Trusty)
2014-09-22 23:09:49 Colin Watson nominated for series Ubuntu Lucid
2014-09-22 23:09:49 Colin Watson bug task added man-db (Ubuntu Lucid)
2014-09-22 23:09:49 Colin Watson nominated for series Ubuntu Precise
2014-09-22 23:09:49 Colin Watson bug task added man-db (Ubuntu Precise)
2014-09-23 01:19:20 Bug Watch Updater man-db (Debian): status New Fix Released
2014-09-23 01:19:20 Bug Watch Updater man-db (Debian): importance Undecided Unknown
2014-09-23 12:56:17 Colin Watson man-db (Ubuntu Lucid): importance Undecided High
2014-09-23 12:56:19 Colin Watson man-db (Ubuntu): importance Undecided High
2014-09-23 12:56:23 Colin Watson man-db (Ubuntu Precise): importance Undecided High
2014-09-23 12:56:29 Colin Watson man-db (Ubuntu Trusty): importance Undecided High
2014-09-23 12:56:45 Colin Watson man-db (Ubuntu Precise): status New In Progress
2014-09-23 12:57:00 Colin Watson man-db (Ubuntu): status New Fix Committed
2014-09-23 12:57:04 Colin Watson man-db (Ubuntu Lucid): status New In Progress
2014-09-23 12:57:06 Colin Watson man-db (Ubuntu Trusty): status New In Progress
2014-09-23 12:57:09 Colin Watson man-db (Ubuntu): assignee Colin Watson (cjwatson)
2014-09-23 12:57:10 Colin Watson man-db (Ubuntu Lucid): assignee Colin Watson (cjwatson)
2014-09-23 12:57:14 Colin Watson man-db (Ubuntu Trusty): assignee Colin Watson (cjwatson)
2014-09-23 12:57:16 Colin Watson man-db (Ubuntu Precise): assignee Colin Watson (cjwatson)
2014-09-23 13:31:17 Gunnar Hjalmarsson bug added subscriber Gunnar Hjalmarsson
2014-09-23 16:08:57 Brian Murray bug added subscriber Brian Murray
2014-09-23 16:39:57 Chris J Arges man-db (Ubuntu Trusty): status In Progress Fix Committed
2014-09-23 16:40:01 Chris J Arges bug added subscriber Ubuntu Stable Release Updates Team
2014-09-23 16:40:07 Chris J Arges bug added subscriber SRU Verification
2014-09-23 16:40:12 Chris J Arges tags verification-needed
2014-09-23 16:40:53 Chris J Arges man-db (Ubuntu Precise): status In Progress Fix Committed
2014-09-23 16:41:37 Chris J Arges man-db (Ubuntu Lucid): status In Progress Fix Committed
2014-09-23 17:14:45 Launchpad Janitor branch linked lp:ubuntu/lucid-proposed/man-db
2014-09-23 17:14:46 Launchpad Janitor branch linked lp:ubuntu/precise-proposed/man-db
2014-09-23 17:14:47 Launchpad Janitor branch linked lp:ubuntu/trusty-proposed/man-db
2014-09-23 17:29:15 yds bug added subscriber yds
2014-09-23 17:29:29 yds removed subscriber yds
2014-09-23 17:29:40 yds bug added subscriber yds
2014-09-26 09:26:34 Colin Watson man-db (Ubuntu): status Fix Committed Fix Released
2014-09-26 10:16:31 Paul Tacey-Green bug added subscriber Paul Tacey-Green
2014-10-06 18:50:46 Colin Watson tags verification-needed verification-done
2014-10-06 21:20:42 Colin Watson removed subscriber Ubuntu Stable Release Updates Team
2014-10-06 21:21:08 Launchpad Janitor man-db (Ubuntu Precise): status Fix Committed Fix Released
2014-10-06 21:21:36 Launchpad Janitor man-db (Ubuntu Lucid): status Fix Committed Fix Released
2014-10-06 21:26:13 Launchpad Janitor man-db (Ubuntu Trusty): status Fix Committed Fix Released