On Wed, 07 Jan 2026 at 13:41:01 +0000, Ian Jackson wrote:
But, does gbp import-orig not base its history on the upstream
history?
Yes if you tell it how to find the upstream history (as, e.g., src:dbus
does), via upstream-vcs-tag in debian/gbp.conf or --upstream-vcs-tag on
the command-line, in which case each imported upstream release is a
pseudo-merge of the previous branch contents + the new upstream tag,
with its contents (tree) set to the contents of the tarball.
No if you don't provide it with the necessary information (the default
if you don't do anything special), and also no if you intentionally
don't connect the upstream history, for example because the upstream git
history contains non-Free files (which are not allowed to be included in
the orig.tar), or vendored third-party projects (which are tedious to
document in debian/copyright to the standard that our self-imposed rules
demand from us), or inconveniently large files that were subsequently
removed but still exist in the history.
It isn't clear to me whether our rules impose sanctions on maintainers
who allow non-Free files to become part of the packaging git repo
history, so I have tended to err on the side of not incorporating
upstream history that has contained non-Free things. Perhaps I am being
overly cautious, or perhaps I am doing the minimum required for my work
to not be summarily deleted by the DFSG team, or somewhere in between -
I don't know where the line is drawn.
If your goal is to have all packages in Debian be based on their
upstream VCS history, then I think the "history contains non-Free
things" and "history contains unnecessary, large things" cases will need
to be addressed somehow, either by declaring those to be situations
where the upstream VCS history cannot be used, or by having those
situations be specifically allowed by someone who can speak on behalf of
the project.
I'm sure some Debian contributors would say "if your upstream has been
imperfect in the past, you should simply never have packaged that
software" but that doesn't seem like a way to continue to have a
complete and useful operating system, especially when the position where
we draw the line between Free and non-Free changes over time.
smcv