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

include additional git repo in package



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 to: