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.

Reply via email to