Idea: sbuild/pbuilder "--dgit" option
Ian Jackson
ijackson at chiark.greenend.org.uk
Thu Dec 15 20:25:53 UTC 2016
dgit has wrappers for lots of build tools, including sbuild,
git-buildpackage, dpkg-buildpackage, and hopefully soon pbuilder
(#844125).
This is because the default ignore rules (in dpkg-source) ignore
.gitignore, but dgit needs the source package to contain (any changes
to) .gitignore. So dgit arranges that (if you use dgit to do the
build-for-upload) dpkg-source gets passed -i\.git/ -I.git.
Having dgit users have to use dgit as the way to invoke their builder
is undesirable. It means a bigger disruption to their workflow and
adds yet another layer to what is often quite a tall stack.
What would you think (particularly, sbuild and pbuilder folks) about a
supporting a --dgit option ? The effect would be to pass -i\.git/
-I.git to dpkg-source. (Possibly there might be other effects which
would be desirable, but this is the only essential one for those two
tools I think.)
I'm mailing you both at once, with a big CC list, because ISTM that a
conventional option name would be better than having each tool do its
own thing.
I have CC'd git-buildpackage at p.d.o even though I think gbp probably
finds it a bit harder to support a --dgit option:
gbp would have to arrange to (if necessary) generate a patch for the
.gitignore, and that would have to find its way onto the user's git
HEAD somehow or something. (Alternatively, gbp build --dgit could
call dgit to make a dgit view with the gitignore patch, I suppose.)
I have also CC'd git-dpm at p.d.o even though git-dpm doesn't (AFAICT)
itself have a build wrapper. (So dgit doesn't have a wrapper for
git-dpm, although it does have a --quilt=dpm quilt fixup mode for
handling .gitignore.)
Also, I had a conversation with Bernhard in Heidelberg where he was
quite insistent that my (or, if you prefer, dgit's) rule that even
.gitignore must correspond between the git tree and the dpkg-source
output was wrong. So I'm not really sure that he'll want to add any
support for this way of working.
Finally I don't really understand git-dpm enough to know what a --dgit
option would do even if there was one, but I think it might be an
alias for --dot-git-files=upstream.
Anyway, thanks to everyone for your opinions, whatever they may be.
Ian.
--
Ian Jackson <ijackson at 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.
More information about the vcs-pkg-discuss
mailing list