[xml/sgml-pkgs] Bug#705452: docbook-xml: Fail to upgrade due to pre-depend problem

Helmut Grohne helmut at subdivi.de
Wed Apr 17 08:15:27 UTC 2013

Control: reassign -1 general
Control: affectes -1 + sgml-base xml-core docbook-xml
Control: tags -1 + help

On Tue, Apr 16, 2013 at 10:40:21AM +0200, Helmut Grohne wrote:
> | PreDepends order for docbook-xml
> | Trying to SmartConfigure xml-core
> | SmartConfigure xml-core
> |   DepAdd: xml-core
> |     DepAdd: sgml-base
> |       DepAdd: perl
> |         DepAdd FAILS on: perl
> |       DepAdd FAILS on: sgml-base
> |     DepAdd FAILS on: xml-core
> | E: Couldn't configure pre-depend xml-core for docbook-xml, probably a dependency cycle.

This was the failure mode.

> Stuart Prescott also tried demoting this Pre-Dependency to Depends and
> showed that the very same upgrade failure occurs. So this is not an
> option.

The conclusion here is that the only way to fix this bug in sgml-base is
to have *no* dependency on dpkg at all.

> What sgml-base really needs is to update the super catalog when there is
> no squeeze dpkg anymore. Neither installed nor running. The
> Pre-Dependency was used to be configured after dpkg has been restarted
> by apt.
> An entirely different and very hacky option would be for sgml-base to
> declare a trigger interest in /usr/bin/dpkg. It could then be configured
> as the old version causing a possibly broken super catalog which would
> be fixed by the dpkg trigger invocation. This does not directly
> guarantee that squeeze's dpkg has finished, but it appears very likely
> as triggers are usually run late.

The previous option does not quite work out and is frowned upon by the
dpkg maintainers.

wheezy's sgml-base really cannot work with squeeze's dpkg at all. The
reason is that in squeeze triggers do not work for conffiles. For
details see #675613. Should an apt run terminate with wheezy's sgml-base
being configured and squeeze's dpkg still installed, the super catalog
may be broken. So we must have at least a Depends (plus some logic for
fixing triggers).

The conclusion here is that ultimately these two bugs (#675613 #705452)
cannot be both fixed in sgml-base. That is why I am reassigning the bug
to general. This is not to say that sgml-base does not need to be
changed, but it cannot be the only package to touch.

To that end I looked for other options, specifically for why docbook-xml
Pre-Depends on xml-core. The reason here was a etch -> lenny upgrade
issue #482140. The cause was usage of non-essential tools in prerm.
Worse, those tools are inserted by debhelper. Another package that
carries those tools, docbook-xsl, does not carry such a Pre-Depends.
So either of the following assertion is true:
 1) docbook-xsl is rc buggy and needs a Pre-Depends on xml-core.
 2) docbook-xml does not need this Pre-Depends anymore.

I attempted to verify 1) using the steps described in
So here I was using squeeze -> wheezy instead of etch -> lenny and
docbook-xsl instead of docbook-xml. The issue is not reproducible this
way. This makes 2) a least possible.

What options do we have at this point?


More information about the debian-xml-sgml-pkgs mailing list