Bug#867822: pbuilder: pdebuild cannot build source-only packages

James Clarke jrtc27 at debian.org
Sun Jul 9 18:48:41 UTC 2017


> On 9 Jul 2017, at 19:31, Sven Joachim <svenjoac at gmx.de> wrote:
> 
> Package: pbuilder
> Version: 0.228.7
> Severity: normal
> 
> Passing "--debbuildopts -S" to pdebuild does not currently work, because
> that produces a *_source.changes file while pbuilder expects a
> *_${ARCH}.changes:
> 
> ,----
> | $ pdebuild --debbuildopts -S
> | W: /home/sven/.pbuilderrc does not exist
> | [...]
> |  dpkg-source -i -b ncurses-6.0+20161126
> | dpkg-source: info: using source format '3.0 (quilt)'
> | dpkg-source: info: building ncurses using existing ./ncurses_6.0+20161126.orig.tar.gz
> | dpkg-source: info: building ncurses in ncurses_6.0+20161126-1+deb9u1.debian.tar.xz
> | dpkg-source: info: building ncurses in ncurses_6.0+20161126-1+deb9u1.dsc
> |  dpkg-genbuildinfo --build=source
> |  dpkg-genchanges --build=source >../ncurses_6.0+20161126-1+deb9u1_source.changes
> | dpkg-genchanges: info: not including original source code in upload
> |  dpkg-source -i --after-build ncurses-6.0+20161126
> | dpkg-buildpackage: info: binary and diff upload (original source NOT included)
> | I: copying local configuration
> | E: Missing changes file: /var/cache/pbuilder/build/26303/build/ncurses_6.0+20161126-1+deb9u1_i386.changes
> `----
> 
> Now I _can_ of course produce the source package outside of pbuilder,
> but it would be nicer and safer to build it in a chroot dedicated to the
> distribution the upload is intended for.

Hi Sven,
A few things:

 1. Building the source package on its own locally isn't good practice; you
    should really be building the binary packages too as part of the build to
    check it works, and then uploading just the source; you can do this with
    pdebuild -- --source-only-changes (or SOURCE_ONLY_CHANGES=yes in your
    pbuilderrc).

 2. Why are you building the source package on its own with pbuilder, anyway?
    To copy the source into the chroot, the source package already first gets
    built outside the chroot, and there really should not be a difference in
    the resulting source package. But, if you follow my advice in 1., you do
    get to upload the .dsc built inside the chroot.

I have yet to hear a convincing argument in favour of supporting --debbuildopts
-S, but that doesn't mean there isn't one, so I'm open to being convinced
otherwise (and I'm sure Mattia is too).

Regards,
James



More information about the Pbuilder-maint mailing list