[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#825002: sgml-base: broken super catalog after removing docutils-common



Package: sgml-base
Version: 1.26+nmu2
Severity: serious
Justification: breaks reverse dependencies like openjade
Owner: helmutg@debian.org
User: helmutg@debian.org
Usertags: rebootstrap

In dpkg 1.17.0, trigger processing was changed. Starting with that
version, dpkg no longer activates triggers for conffiles on package
removal (because conffiles are only removed during purge). Since that
version the following sequence in a pristine sid chroot leaves a broken
super catalog:

    apt-get install docutils-common
    apt-get remove docutils-common

The latter invocation does not trigger sgml-base. Thus docutils-common
remains in the super catalog and e.g. openjade fails.

After discussion this with Guillem Jover, we concluded that this
particular use of sgml-base was not intentional, so dpkg will not revert
to the 1.16.10 behaviour.

Guillem Jover suggested that sgml-base should provide a
conffile-independent trigger (e.g. "update-catalog") and that packages
providing catalogs should invoke it explicitly. Implementing this
implies changing sgml-base, debhelper and reuploading 24 source
packages shipping catalogs.

A simpler approach is to trigger on the referenced files. For all
relevant cases, they reside in /usr/share/sgml or /usr/share/xml.
Declaring interest on both locations means triggering on 70 binary
packages (i.e. 46 excess). This approach practically fixes the bug with
one upload.

I intend to pursue a combination of the above: Fix the immediate bug
with the second method and update dh_installcatalogs to issue the
trigger but skip updating those 24 source packages.

I intend to upload the attached patch after gaining more confidence in
not causing more breakage. Feedback welcome.

Helmut
diff --minimal -Nru sgml-base-1.27/debian/changelog sgml-base-1.28/debian/changelog
--- sgml-base-1.27/debian/changelog	2016-05-17 04:19:42.000000000 +0200
+++ sgml-base-1.28/debian/changelog	2016-05-22 12:21:57.000000000 +0200
@@ -1,3 +1,12 @@
+sgml-base (1.28) unstable; urgency=medium
+
+  * QA upload.
+  * Fix missing catalog update introduced in dpkg 1.17.0. (Closes: #-1)
+    + Declare trigger interest on /usr/share/sgml, /usr/share/xml and
+      update-catalog (for pending debhelper change).
+
+ -- Helmut Grohne <helmut@subdivi.de>  Sat, 21 May 2016 23:46:45 +0200
+
 sgml-base (1.27) unstable; urgency=medium
 
   * QA upload.
diff --minimal -Nru sgml-base-1.27/debian/sgml-base.triggers sgml-base-1.28/debian/sgml-base.triggers
--- sgml-base-1.27/debian/sgml-base.triggers	2012-05-28 13:58:23.000000000 +0200
+++ sgml-base-1.28/debian/sgml-base.triggers	2016-05-22 07:58:48.000000000 +0200
@@ -1 +1,4 @@
+interest update-catalog
 interest /etc/sgml
+interest /usr/share/sgml
+interest /usr/share/xml

Reply to: