Dear mentors,

I am working on packaging the Caddy web server. Caddys github repo[1] only 
includes the platform-agnostic files (mostly .go source files) needed for 
building and testing.
distro-specific files such as systemd unit files, bashcompletion, 
pre/post(un)install scripts etc have been moved to a seperate "dist" repo[2].

I am wondering what would be a good way to include these in the package. I have 
two options in mind:

1. uscans "group" feature

One way would be to specify both repos in debian/watch. I have tried this and 
it works fine regarding the packaging workflow.

The problem that I see here is that it results in an overly complicated package 
version number (such as x.y.z+~0.0~git20210811.abcdefg-1) that would cause 
confusion for debian users and has no practical use for neither users nor 
maintainers:

the dist-repo has no releases or tags, so uscan would usually download HEAD. A 
situation were one would want to package a specific commit is very unlikely: 
the different repos are not builddeps of each other and could not mismatch or 
"break" each other. also, if some changes were not suitable for debian IMO that 
should be fixed with a debian patch on top of HEAD or discussed with upstream, 
not by rolling back to an earlier commit.

2. include in debian/missing-sources

another option would be to add the dist repo to missing sources and use 
postclone or post-import command of gbp or a shellscript for manual execution 
to easily keep it up-to-date when packaging a new release.

in the unlikely case there is bugs discovered in the dist repo, bugfixes would 
be packaged in an debian revision (with no extra version string for dist)

this seems like the reasonable option to me, only I fear that this is not the 
"correct" way or even misuse of missing-sources: after all the files are not 
actually missing sources of a packaged binary, but simply additional files that 
belong with caddy.

I would be interested what you think about this, or if you would maybe even 
suggest another solution?

Peymaneh

[1] https://github.com/caddyserver/caddy
[2] https://github.com/caddyserver/dist

Reply via email to