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

Re: Bug#807849: nghttp2: cross Build-Depends unsatisfiable

Control: tags -1 - patch

On Tue, Dec 15, 2015 at 12:50:19AM +0100, Tomasz Buchert wrote:
> I: Building the package
> W: execute priv not set on file A10set_ccache_options, not executing.
> I: Running cd /build/*/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin" HOME="/nonexistent" dpkg-buildpackage -us -uc -rfakeroot
> dpkg-buildpackage: source package nghttp2
> dpkg-buildpackage: source version 1.5.0-2
> dpkg-buildpackage: source distribution unstable
> dpkg-buildpackage: source changed by Tomasz Buchert <tomasz@debian.org>
>  dpkg-source --before-build nghttp2-1.5.0
>  dpkg-buildpackage: host architecture amd64
>  dpkg-checkbuilddeps: error: Unmet build dependencies: python-sphinx:native
>  dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
>  dpkg-buildpackage: warning: (Use -d flag to override.)
> It seems that python-sphinx:native does not work very well with pbuilder?

I'm sorry for having screwed this up. Indeed the multiarch spec and the
version of dpkg in archive do not allow annotating arch:all packages
with :native. This issue is still being discussed with dpkg and
multiarch maintainers and doesn't look like it is being solved quickly.

There are two ways to fix this (applying to both jansson and nghttp2):

1) Since the documentation resides in Arch:all -doc packages, arguably
   python-sphinx is not needed for building architecture dependent
   packages. Thus the dependency should be moved to Build-Depends-Indep.
   Of course I tried this method on both packages before resorting to
   the :native annotation, but the use of sphinxdoc in debhelper's
   --with flag makes this non-trivial. If you see a way to do this,
   that'd totally solve the issue.

2) Turn python-sphinx into an architecture dependent package (i.e.
   convert from Arch:all to Arch:any). The :native annotation is allowed
   on architecture dependent packages and thus (after python-sphinx is
   converted) the patches I sent can be used as is. (This is essentially
   the "multiarch interpreter workaround" in the "Automating
   Architecture Bootstrap" DC15 talk.)

Tomasz, do you have a preference for nghttp2? I'll try to work that out.

I have a slight preference for the former, because I generally prefer
having Arch:all packages over lots of identical Arch:any packages. At
the same time I acknowledge that it seems likely that we have to do the
conversion anyway as not all reverse build-depends of python-sphinx
separate their documentation to architecture independent packages as
jansson and nghttp2 do.


Reply to: