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

Re: Bug#675613: debiandoc-sgml: Does not register itself in /etc/sgml/catalog



reassign 675613 dpkg
affects 675613 + debiandoc-sgml docbook docbook-dsssl docbook-ebnf docbook-html-forms docbook-mathml docbook-simple docbook-slides docbook-website docbook-xml dtd-ead libcommons-validator-java python-docutils sgml-data sgml2x w3c-dtd-xhtml xml-core
thanks

Hi Osamu,

Thanks for making me aware of this issue and sorry for causing you work.
Also thanks for your analysis which helped me quickly discover the root
of the problem.

What happens is basically this:

Unpack debiandoc-sgml
 * Now there is /etc/sgml/debiandoc-sgml.cat.dpkg-new, but no
 /etc/sgml/debiandoc-sgml.cat.
Activate trigger.
 * update-catalog --update-super is run and ignores the .dpkg-new file.
   This means that /etc/sgml/debiandoc-sgml.cat is missing from the
   super catalog.
Rename /etc/sgml/debiandoc-sgml.cat{.dpkg-new,}.
Postinst debiandoc-sgml

So especially the trigger is not run again and debiandoc-sgml stays
missing from the super catalog.

Another package affected by this handling of triggers and conffiles is
the menu package which is interested in /etc/menu-methods

There is no obvious solution to fix this issue. I could think of the
following options (in order of my preference):

1) dpkg ensures that triggers are activated after postinst is run.
   It is not entirely clear if this behaviour is desirable. If this
   option is not to be used the triggers.txt.gz file shipped in dpkg-dev
   should be updated and explain issues when using triggers with
   conffiles. In this case this bug should be reassigned to sgml-base
   and needs to be fixed there.

2) Let update-catalog treat .dpkg-new files as if that part was missing.
   update-catalog only checks which files exist and does not look at the
   contents. It is not clear to me whether this options works correctly
   if a user removes a conffile. If this option does not work the bug
   should be reassigned to debhelper.

3) Extend the postinst template added by dh_installcatalogs to
   explicitly call the trigger. This works, but it is a pain, because we
   need to schedule another series of uploads.

Helmut


Reply to: