On 2017-07-09 19:48 +0100, James Clarke wrote: >> On 9 Jul 2017, at 19:31, Sven Joachim <svenj...@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).
I don't know everybody else's workflow, but with mine this is a waste of time and CPU cycles, for the one and only change after building and testing the packages is to edit debian/changelog and get rid of that "UNRELEASED" string there. Why should I build the binaries again if I had verified that this works just six hours ago? > 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. Certainly there _should_ not be a difference, but at least the .buildinfo file will be vastly different, and there's also the possibility of format upgrades in the .changes file. > But, if you follow my advice in 1., you do > get to upload the .dsc built inside the chroot. There seem to be two problems with that, the issue of ftp-masters not liking the combination of _source.changes and _${ARCH}.buildinfo (see the recent thread "Bad interaction between pbuilder/debhelper/dpkg-buildinfo/dpkg-genchanges and dak on security-master" in which you participated) and the fact that "--debbuildopts -g" is not compatible with "- --source-only-changes", as I have just discovered. For jessie AFAIK source-only uploads are not allowed and you have to at least include arch-independent binaries (if any). Cheers, Sven