Bug#889017: Bug#888953: gobby accesses the network during the build

Simon McVittie smcv at debian.org
Thu Feb 1 10:38:08 UTC 2018


On Thu, 01 Feb 2018 at 11:23:28 +0200, Adrian Bunk wrote:
> On Wed, Jan 31, 2018 at 03:53:11PM +0100, Matthias Klose wrote:
> > While seen on a launchpad build, it looks like a missing build dependency,
> > because it tries to access the docbookx.dtd from the network:

My understanding is that it's currently up to the package being built
(e.g. gobby, not gnome-doc-utils) to build-depend on the appropriate
package to get the DTDs of its XML documentation to be registered
in the xml-core catalog and available without hitting the network:
docbook-xml for docbookx.dtd, rarian-compat for scrollkeeper-omf.dtd,
and possibly others.

If GNOME-2-style documentation always includes both Docbook and
Scrollkeeper/Rarian OMF format (I'm not clear on the details) then perhaps
gnome-doc-utils should have Depends on both of those. If they are not
always needed, then it probably shouldn't.

(For context, Scrollkeeper is very obsolete, rarian-compat is an obsolete
compatibility shim for Scrollkeeper, and gnome-doc-utils has itself
been superseded by yelp-tools; it's deprecations all the way down. I've
asked the ftp team to override gnome-doc-utils from gnome to oldlibs,
and pushed a better package description to gnome-team git for inclusion
in the next upload.)

> There is also the related issue that 
> /usr/share/gnome-doc-utils/gnome-doc-utils.make
> shouldn't call xmllint without --nonet

I'm not sure that this would be a good idea to do
unconditionally. gnome-doc-utils.make gets copied into source packages
by gnome-doc-prepare (analogous to autoconf, automake, libtoolize) so
by making this change, we would be imposing Debian policy on upstream
packages that happen to have been prepared by a `make dist` on a Debian
system.

In Debian, accessing the network during build is forbidden (for good
reason), and we have the xml-core catalog as a way to get DTDs without
doing so. However, when packages whose upstream release happens to have
been made on a Debian system are built on less enlightened distributions
that don't have (or want) that policy, and that don't necessarily even
have an equivalent of xml-core, they still need to build successfully.

Is there a canonical way to detect that we are in a Debian package build,
that could be used to add --nonet to the xmllint command-line if and only
if this is a Debian package build?

    smcv



More information about the pkg-gnome-maintainers mailing list