On Thu, Aug 29, 2019 at 01:26:08PM -0700, Russ Allbery wrote:
> While this is not an argument against *ever* using 3.0 (native) or some
> equivalent when packaging upstream software, I have found it to help
> relationships with upstream considerably in the past to represent the
> package as their software as released plus a set of Debian patches.
[...]
> There's also a psychological value for some upstreams to representing all
> changes to upstream as patches.  If they're worried Debian is doing some
> weird nonsense (from their perspective) to their package, they can look at
> debian/rules for build flags and then at debian/patches and see exactly
> what we've done, and feel assured that the rest of the package is exactly
> as they released it.  That's easy for them to do; downloading the full
> package and then diffing against their tree is more awkward and can't be
> done with some casual web browsing.

Yes.  In fact, not only upstreams, but in some cases downstreams and
other people with a stake in how the package is put together.

When I converted Debian's OpenSSH packaging to 3.0 (quilt), it was
partly because a company using my packages was concerned about the
difficulty about picking apart the changes in the Debian diff so that
they could audit the logical changes that I was making; even though they
were a large company with lots of highly-competent staff, just providing
a public VCS that they could look through and pick apart the monolithic
delta for themselves still turned out to be a prohibitively difficult
barrier.  Doing the work to provide cleanly-separated patches (which in
many cases evolve over time) was a useful exercise for me and made
things instantly much more comprehensible for them.

This was a while ago, of course, but it was that experience that
converted me to being convinced that providing broken-out patches in an
easy-to-consume format is an invaluable service to our users.  quilt
itself is very much a lowest common denominator and I certainly think
it's best treated as an export format from richer git history; but just
exporting stuff from git without that annotation of logically-divided-up
differences from upstream isn't an adequate substitute.

> This is one of those cases where knowing your upstream is invaluable.  A
> lot of upstreams won't care in the slightest, some upstreams are Git
> experts and know exactly how to get the data they care about, and others
> are still using Subversion or even CVS and will find anything related to
> Git opaque and frustrating.  Some upstreams actively encourage downstream
> modifications and will seek them out and incorporate them, some upstreams
> are happily oblivious and only look at patches or PRs submitted to them,
> and some upstreams will get actively upset at what they view as
> unmotivated or incompatible changes and may require delicate handling
> (part of which, in my experience, is effortless transparency so that they
> don't feel like anything is being hidden from them).

And also bear in mind the case where doing a git clone maybe takes quite
a while over a slow network link, but going to salsa or
sources.debian.org and having a quick look through debian/patches/ takes
a fraction of the time and is all you need.

-- 
Colin Watson                                       [cjwat...@debian.org]

Reply via email to