>>>>> "Raphael" == Raphael Hertzog <hert...@debian.org> writes:
Raphael> Packaging branches and tags Raphael> =========================== [...] Raphael> The Git repository listed in debian/control's `Vcs-Git` field should Raphael> usually have its HEAD point to the branch corresponding to the Raphael> distribution where new upstream versions are usually sent. For Debian, Raphael> it will usually be `debian/sid` (or sometimes `debian/experimental`). Raphael> QUESTION: some people have argued to use debian/master as the latest Raphael> packaging targets sometimes sid and sometimes experimental. Should we Raphael> standardize on this? Or should we explicitly allow this as an alternative? I'd suggest not standardizing on this, but having a list of recommendations instead, without naming one single name as THE recommended one. For different use cases, different HEAD makes sense. Also, I like to name my branches according to the distribution that it will target, which means I prefer debian/unstable over debian/sid. For me, that makes more sense, at least in the case of unstable and experimental. For anything else, codenames it is. Raphael> When releasing a Debian package, the packager should create and push Raphael> a signed tag named `<vendor>/<version>`. For example, a Debian maintainer Raphael> releasing a package with version 2:1.2~rc1-1 would create a tag named Raphael> `debian/2%1.2_rc1-1` whereas an Ubuntu packager releasing a package with Raphael> version 1.3-0ubuntu1 would use `ubuntu/1.3-0ubuntu1`. The tags should Raphael> point to the exact commit that was used to build the corresponding upload. Mmm... I disagree here too. I think following upstream tagging conventions would be the way to go here. So if upstream uses `<package>-<version>` tags, then debian releases would be tagged like `debian/foo-2%1.2_rc1-1`, if upstream is `foo-1.2rc1`. Raphael> Other recommendations Raphael> ===================== [...] Raphael> What to store in the Git repository Raphael> ----------------------------------- Raphael> It is recommended that the packaging branches contain both the upstream Raphael> sources and the Debian packaging. Users who have cloned the repository Raphael> should be able to run `dpkg-buildpackage -b -us -uc` without doing Raphael> anything else (assuming they have the required build dependencies). Raphael> It is also important so that contributors are able to use the tool of their Raphael> choice to update the debian/patches quilt series: multiple helper tools Raphael> need the upstream sources in Git to manage this patch series as a Git Raphael> branch. I'd like to note that there are very good reasons for a debian-only, overlay-style packaging repository too. This section should, in my opinion, at least acknowledge that, and briefly mention it as an option. I find it a bit sad that it was outright discouraged. For the record, I used to hate that style, and was an advocate for storing upstream sources in the repo too. Then I started maintaining ~6 packaging branches: three upstream versions, two packaging branch variants of each. The overlay style proved to be far superior in this case. In short, I'd suggest having the DEP document both layouts, and recommend using one of them, while also recommending to document it in debian/README.source. -- |8]
signature.asc
Description: PGP signature