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

Re: Best practices for Debian developers who are also upstreams?



On Sat, Feb 08, 2020 at 10:07:48PM +0200, Otto Kekäläinen wrote:
> Hello!
> 
> I've ended up in being both the maintainer in Debian and an upstream
> developer for a couple of packages and I have been fantasizing about
> how to optimize my workflow so that I primarily fix all bugs and do QA
> directly on the upstream development version (=upstream git master)
> and then have only a very small overhead work then importing and
> uploading new upstream releases in Debian.

So, I have four packages that are in various ways similar to this:

- nbd, which I started maintaining in Debian before becoming upstream
  for it;
- SReview, which I started maintaining upstream before uploading it to
  Debian;
- fdpowermon, which I released first by uploading it to Debian;
- ola, which I maintain for Debian and do not really maintain upstream,
  but which upstream did give me commit rights to their repository for.

I have separate upstream and debian branches for nbd; however, if
someone reports a bug, I will fix it upstream first, and then (possibly,
if applicable and it's too soon to release an upstream version)
cherry-pick the patch to the debian branch. There is no debian/
directory in the upstream branch. Updating to a new upstream release for
Debian involves a simple "git merge" of the upstream branch, which will
always work if I never violated that policy. Needless to say, nbd is not
a native package.

I do not maintain separate branches for SReview or fdpowermon. The
difference between the two, however, is that SReview is uploaded to CPAN
as well as Debian. The CPAN upload does not contain the debian/
directory, and I do use the tarball of the CPAN upload as the
orig.tar.gz for the Debian upload. However, they're both built from the
same git checkout. Fdpowermon, on the other hand, I do not upload it to
CPAN (it's too simple for that), and is instead uploaded as a native
package to Debian.

For ola, upstream at one point committed a squash commit of all the
Debian patches I had committed to my debian branch at that point in
time. The next time I tried to merge their newest release by way of the
git tag, things went a bit haywire. I do not recommend this approach.

-- 
To the thief who stole my anti-depressants: I hope you're happy

  -- seen somewhere on the Internet on a photo of a billboard


Reply to: