Sean Whitton writes ("Bug#844125: dgit: Built-in support for pbuilder"): > I'm thinking of working on this. I think it will be straightforward.
Cool. > The only possibility for complexity is if I've missed something about > how pbuilder works. Would the following work: > > 1. user runs `dgit <dgit opts> pbuilder <pbuilder opts>` > 2. dgit builds a source package and _source.changes in its own way > 3. dgit invokes `pbuilder build foo_1.2.3-1.dsc <pbuilder opts>` > 4. dgit invokes mergechanges to merge its _source.changes and the binary > .changes produced by pbuilder. FWIW I think this sounds like a good plan. But: 1. I think many pbuilder users expect to be able to set a build products directory. Currently there are bugs in dgit's --build-products-dir option; probably, too many hardcoded "../" (which should be fairly easy to fix, but rather whack-a-mole-ish). 2. I am not sure where origs should go when --build-products-dir is being used. Is it pbuilder practice to put them in the build produts dir or in .. ? If they go in build-products-dir then we need to do something extra in dgit, because many dgit operations - not limited to build operations - either consume or produce origs; and then, we would want a config setting. Or maybe dgit should always do what pbuilder does and the build-products-dir should be precisely that setting. (Either way, that's more whack-a-mole removing "../".) Related bugs; #857316 dgit: please make --build-products-dir configurable #863582 --build-products-dir has inconsistent behaviour 3. For reasons that I don't clearly remember, but which seem to have been related to --build-products-dir, I think I decided that proper dgit pbuilder support would invovle dgit examining your pbuilder configuration. #848816 dgit: detect gbp export-dir configuration, and prefill build-products-dir Sean Whitton writes ("Bug#844125: dgit: Built-in support for pbuilder"): > On IRC, Mattia reports a slight wrinkle here: the .changes produced by > pbuilder will include a rebuilt .dsc. So we need to pass > `--debbuildopts -b` to pbuilder. Right. > Note that the changes will include arch-indep and arch binaries by > default. This differs from sbuild, which requires you to pass -A to get > arch-indep binaries. I think it is fine for `dgit pbuilder` to include > arch-indep binaries, because that is the pbuilder default. Absolutely. The same is true for `dgit build' (which simply invokes dpkg-buildpackage). Also, one more related bug: #863591 Mention --build-products-dir in dgit-maint-gbp(7) I have the start of a branch to do some of this. But there's hardly anything there and it's from late 2016 so it's probably useless. In case it is any use I have pushed to my chiark branch wip.pbuilder-config (base was base.pbuilder-config and I haven't rebased it onto recent code). Regards, Ian. -- Ian Jackson <ijack...@chiark.greenend.org.uk> These opinions are my own. If I emailed you from an address @fyvzl.net or @evade.org.uk, that is a private address which bypasses my fierce spamfilter.