Russ Allbery writes ("Re: Bug#1107137: Distinguish "native source packsge" from "native version number""): > When the ``debian_revision`` is absent, there is no separate > versioning of maintainer uploads of the Debian package and an upstream > release. Either there is no separate upstream and the package's > primary maintenance is within Debian, or maintainer uploads of the > Debian package correspond one-to-one with upstream releases.
I was thinking about this and the latter sentence isn't necessarily true. Suppose the Debian and upstream maintainers are different people, with different responsibilities, but they coordinate well and they work in the same git branch. The Debian maintainer might not do an upload if upstream makes changes that don't have any effect in Debian; and the upstream maintainer might not do an upstream release for changes that only affect Debian packaging. This would all work, but it would mean that there might be upstream releases with Debian upload and vice versa. I'll go with Often this is because there is no separate upstream, and the package's primary maintenance is within Debian. which I think is both vague enough to be true and definite enough to be useful. > > +i.e., packages with native version numbers. > > Given the above, I'd also drop the i.e. here. Done. > > -Most source packages in Debian are non-native. > > This sentence remains true and I don't want to lose it. Apparently I did indeed accidentally delete this. I have restored it. > > - The absence of ``debian_revision``, and therefore of a hyphen in the > > - version number, indicates that the package is native. > > + version number, indicates that the package has no separate upstream > > + maintainers, and is simply maintained by Debian. See > > + :ref:`s-native-version`. > > Here too, I don't believe this is true. We can say something along the > lines that the Debian packaging does not separate upstream from Debian > changes, maybe? This implication would be true in the forward direction, but not the latter. Rather than trying to restate everything fully again, I have written this: - The absence of ``debian_revision``, and therefore of a hyphen in the version number, indicates a non-native version: the package has no separate versioning in upstream versus Debian. See :ref:`s-native-version`. Attached is the fixup! commit I've made. It autosquashes cleanly. I'll follow up with a re-attachment of the whole 4-patch series. Ian. -- Ian Jackson <ijack...@chiark.greenend.org.uk> These opinions are my own. Pronouns: they/he. If I emailed you from @fyvzl.net or @evade.org.uk, that is a private address which bypasses my fierce spamfilter.
>From 41f8e7a4cfb462f80e4757282f3a044896b55e8a Mon Sep 17 00:00:00 2001 From: Ian Jackson <ijack...@chiark.greenend.org.uk> Date: Fri, 13 Jun 2025 12:29:18 +0100 Subject: [PATCH] fixup! Prefer "[non-]native versions" to "packages" where appropriate --- policy/ch-controlfields.rst | 13 ++++++++----- policy/ch-source.rst | 5 +++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/policy/ch-controlfields.rst b/policy/ch-controlfields.rst index b542951..7537d2a 100644 --- a/policy/ch-controlfields.rst +++ b/policy/ch-controlfields.rst @@ -597,9 +597,12 @@ The three components here are: Native vs non-native version numbers ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -When the ``debian_revision`` is absent, the package's primary -maintenance is within Debian. This is a **native version number**, or -(informally) a "native version" or "native package". +When the ``debian_revision`` is absent, this is a **native version +number**, or (informally) a "native version" or "native package". In +this case there is no separate versioning of maintainer uploads of the +Debian package, versus upstream releases. Often this is because there +is no separate upstream, and the package's primary maintenance is +within Debian. The ``debian_revision`` indicates that this package is derived by Debian from an upstream version which is maintained independently, @@ -676,8 +679,8 @@ The following special version numbering conventions are used in the Debian archive: - The absence of ``debian_revision``, and therefore of a hyphen in the - version number, indicates that the package has no separate upstream - maintainers, and is simply maintained by Debian. See + version number, indicates a non-native version: the package has + no separate versioning in upstream versus Debian. See :ref:`s-native-version`. - The presence of ``+really`` in the ``upstream_version`` component diff --git a/policy/ch-source.rst b/policy/ch-source.rst index 73a7d52..0e55c09 100644 --- a/policy/ch-source.rst +++ b/policy/ch-source.rst @@ -17,8 +17,7 @@ upstream source code, from the changes made in Debian: A **native source package** contains a single tar file of source material. Native packages are normally (but not exclusively) used for software that has no independent existence outside -of Debian, such as software written specifically to be a Debian package - -i.e., packages with native version numbers. +of Debian, such as software written specifically to be a Debian package. A **non-native source package** separates the upstream release from the Debian packaging and any Debian-specific changes. The source in a non-native @@ -29,6 +28,8 @@ another tar file or in the form of a compressed diff.) Non-native source packages are only meaningful with, and can only be used with, non-native version numbers. +Most source packages in Debian are non-native. + See also :ref:`s-native-version`. Standards conformance -- 2.47.2