>>>>> "Raphael" == Raphael Hertzog <hertzog@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]
Attachment:
signature.asc
Description: PGP signature