[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Ad-hoc survey of existing Debian git integration tools

On 29/07/15 15:00, Ian Jackson wrote:
> Are you saying that your source packages contain things that your git
> repositories don't ?  This comes up occasionally, and I will say again
> what I have said before: I think this is wrong.

Perhaps it is; but if so, then any conventional Autotools project is
wrong, and so is any non-Autotools project that, for instance, generates
a ChangeLog from git history at "dist" time. (systemd is a notable
exception: they use Autotools, but release "git archive" output instead
of "make dist" tarballs.)

One possible mitigation is a branching structure like the ones
encouraged by git-dpm and/or gbp import-dsc, in which the Debian branch
merges an "upstream" branch that incorporates upstream tarballs where
necessary (perhaps in conjunction with gbp import-dsc
--upstream-vcs-tag), rather than exclusively working from upstream's
preferred git branch (like e.g. the X team do).

Another possible mitigation is reducing the extent to which "orig"
tarballs are considered to have special religious significance, but AIUI
that currently contradicts Policy. I'd be somewhat surprised if I found
that there was consensus that a "git archive" as an orig tarball was a
better thing to do than using upstream's "make dist" output.

> You should have a single notion of `source code'.  To borrow from the
> GPL: the source code is the preferred form for modification.

Yes ish, but with the orig/diff structure the way it is, the preferred
form for modifying a non-native Debian package seems to be the tree
representing the unpacked package, plus the orig tarball (or enough
information for e.g. pristine-tar to recover it) - just having the tree
will give you a package that technically works, but can't be uploaded as-is.

Being dogmatic about "the source, and only the source" is arguably a
good thing; the orig + diff structure is arguably a good thing; and
universal adoption of dgit seems like a good thing. I don't currently
see a way to get more than two of those three at a time.


Reply to: