Bug#850478: git-pbuilder deliberately deletes source.changes
Russ Allbery
rra at debian.org
Sat Jan 7 02:18:14 UTC 2017
James Clarke <jrtc27 at debian.org> writes:
> Currently, straight after git-pbuilder invokes pdebuild, it deletes
> ../*_source.changes, provided there is at least one such file, and the
> build was not done with -S. This causes two problems:
I did that originally for two reasons. One, historically, the
*_source.changes file was completely worthless, since it was generated to
move the source package into the pbuilder chroot, where the source package
is then regenerated (and source-only builds weren't a thing). So that
*_source.changes file has the wrong checksum for the *.dsc file, and is
entirely useless. Two, I run gbp build-package and then want to view,
sign, and upload the corresponding changes file, and want to use *.changes
to refer to the one that's actually useful and uploadable. Having another
changes file around requires typing quite a bit more of the file and
dealing with tab completion, and it's surprisingly irritating.
> 1. It ignores version numbers and package names, causing potential data
> loss, which I feel is justification enough for the Severity: important.
Yeah, it does that because I didn't know how to do better (and this
started life as my personal script for my workflow, and at the time all
*_source.changes files were garbage).
> In looking into this, I discovered that pdebuild itself actually
> ends up producing a _source.changes, since it calls
> dpkg-buildpackage -S to generate the dsc to copy into the chroot. I
> presume that the original intention of the deletion performed by
> git-pbuilder was to delete *this* changes file, since the dsc
> subsequently produced by the build inside the chroot will not be
> identical, but is copied back as part of the build, making the
> original _source.changes invalid.
Correct.
> Now, I'm of the view that dpkg-source -b should be used instead,
> which is what sbuild uses to create the dsc. This also has the
> advantage of not generating .buildinfo files (no annoying
> debian/files lingering after the build, either). Then the only
> _source.changes generated by pbuilder would be if the user requested
> it, and therefore having it deleted by git-pbuilder would be wrong.
> I should think changes like this are too late for Stretch, but
> perhaps for Buster (or experimental?) we could coordinate our
> efforts to get this to work?
Yeah, this seems reasonable to me. Definitely happy to change
git-pbuilder once pdebuild is fixed to not produce the spurious and
useless *_changes.file.
--
Russ Allbery (rra at debian.org) <http://www.eyrie.org/~eagle/>
More information about the Pbuilder-maint
mailing list