[pkg-gnupg-maint] salsa repositories layout

Andreas Metzler ametzler at bebt.de
Sun May 16 17:52:56 BST 2021

On 2021-05-16 Christoph Biedl <debian.axhn at manchmal.in-ulm.de> wrote:
> Hello,

> a few days ago, I uploaded new versions of libgpg-error and gnupg to
> experimental. As you might have noticed, the repositories at salsa have
> not been updated yet. That's my task no doubt, but to do so I need to
> understand the idea about the repective repository layout, and I failed
> in that regard. Is there a description how things should be done?

> In detail:

> * libgpg-error

> The branches upstream/master and debian/master are pretty obvious - but
> what is upstream (currently at ea4755d ("New upstream version 1.38")
> for? It's neither upstream's master (that's upstream/master) nor the
> unpacked upstream release tarball (as I'd expect), so I have no clue how
> to continue that one.



[ Disclaimer: I am not commiting to gnupg repositories but I know other
repos using the same layout. ]

"upstream" is the gbp upstream branch, debian/master is the default gbp
debian branch. Afaict there is no "upstream/master" in the salsa
repository, so please do not push it.

The magic is the upstream-vcs-tag
setting in debian/gbp.conf.
         Add tag-format as additional parent to the  commit  of  the
         upstream  tarball.  Useful  when upstream uses git and you want
         to link to its revision history.

As a precondition you will need an additional git remote pulling from
upstream git. (And then you must take care to never do a global "git push
--tags" since we would not want _all_ upstream tags in the Debian repo.)

Then gbp-import-orig does its usual thing on the upstream-branch but also
adds the upstream tag additional parent, and you end up with an gbp
upstream-branch that has both the tarballs and all commits needed to go
from the previous upstream tag to the current upstream tag. git
automatically gathers all the needed commits when you push "upstream".

Using it is simple.
gbp-import-orig /path/to/orig.tar.*
gbp-import-orig --uscan
should just work.

> Comparing to the related orig.tar, it lacks
> various .in and .m4 but also some other files.

See the filter setting in debian/gbp.conf. Upstream disagrees, but I
personally and (whoever wrote that debian/gbp.conf) does not think it is
a good idea to have autogenerated files in git.

> * experimental branch
> Both repositories have "experimental" branches from old times. Both my
> uploads should be there as well. I'd prefer to hard-reset them to a
> place related to the respective upstream commits since in my opinion a
> continuation creates more confusion than clarity. Or is there a better
> way to deal with it?

Regarding experimental: You would checkout debian/experimental and merge
debian/master (should be a fast-forward) before you invoke
gbp-import-orig. And then you'd invoke gbp-import-orig with

cu Andreas
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'

More information about the pkg-gnupg-maint mailing list