Bug#514358: pdebuild host --debbuildopts inherited by target pbuild

Russ Allbery rra at debian.org
Wed Sep 23 04:05:03 UTC 2009


Junichi Uekawa <dancer at netfort.gr.jp> writes:

> So you are saying it's better to break pdebuild parameter option
> semantics just for backports, which isn't nice.  At least, a
> documentation that says:

> pdebuild --debbuildopts 

> no longer works, but you need to specify:

> pdebuild --debbuildopts 'for outside chroot' -- --debbuildopts 'for
> inside chroot'

> I'm fine with documentation fix accompanying the patch; and a warning.

> It doesn't give any benefit for sid on sid users.

I ran into this same problem for a different reason, and would welcome a
solution, although I don't think the solution proposed in this bug is the
correct one.

The problem I ran into is that I want to pass the -d -nc options to
dpkg-buildpackage -S when building the initial source package to move it
into the chroot.  I want to do that because I may not have the packages
required to run debian/rules clean installed outside of the chroot (and in
general should not need to).  This can be a significant requirement given
how many debian/rules files include makefile fragments from various build
packages.

However, if I pass --debbuildopts '-d -nc' to pbuilder, those options are
also passed to the dpkg-buildpackage used to build the package in the
chroot, which then runs afoul of:

   -nc    Do  not  clean  the  source tree (implies -b if nothing else has
          been selected among -B, -A or -S).

and then forces a binary-only build, which isn't what I want.  I have
separately reported a bug against dpkg-buildpackage, but in general I
don't really want to use the -d -nc options for the dpkg-buildpackage
inside the chroot even if it's harmless to do so.

I propose an alternative solution: a separate option that specifies the
options used for generating the initial source package.  If
--buildsourceopts (or some such option) is specified, then it overrides
--debbuildopts only for the initial dpkg-buildpackage -S invocation.  If
it's not specified, the existing behavior is used.

-- 
Russ Allbery (rra at debian.org)               <http://www.eyrie.org/~eagle/>





More information about the Pbuilder-maint mailing list