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

Reply via email to