Your message dated Thu, 12 Feb 2026 15:48:39 +0000
with message-id <[email protected]>
and subject line Bug#1127616: fixed in developers-reference 14.4
has caused the Debian Bug report #1127616,
regarding 'dev-ref: please mention tag2upload as a new tool and provide a link
to its documentation'
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
1127616: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1127616
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: developers-reference
Severity: important
X-debbugs-cc: [email protected], [email protected]
I made the following change to dev-ref, but it was reverted. So with
this bug I request review from the Developer's Reference maintainers.
I didn't think there is anything controversial about this, but please
let me know what you think needs changing.
Brief rationale: This section of dev-ref is for newcomers.
So I changed it to recommend git-debpush, because that is the thing they
are most likely to want to use.
--8<---------------cut here---------------start------------->8---
diff --git a/source/pkgs.rst b/source/pkgs.rst
index 41d0147..65b6252 100644
--- a/source/pkgs.rst
+++ b/source/pkgs.rst
@@ -347,61 +347,90 @@ Uploading a package
Source and binary uploads
--------------------------------------------------------------------------------------------------------------------------------
-Each upload to Debian consists of a signed ``.changes`` file describing
-the requested change to the archive, plus the source and binary package
-files that are referenced by the ``.changes`` file.
-
-If possible, the version of a package that is uploaded should be a
-source-only changes file.
-These are typically named ``*_source.changes``, and reference the source
-package, but no binary ``.deb`` or ``.udeb`` packages.
-All of the corresponding architecture-dependent and architecture-independent
-binary packages, for all architectures, will be built automatically by
-the build daemons in a controlled and predictable environment
+The Debian Archive distributes both source code and the binary packages built
+from that source code. In the usual case, you supply the source code and the
+build daemons supply the binary packages, and the Debian Archive software is
+responsible for associating them with each other based on packaging metadata.
+The act of supplying new source code in this way is called a *source-only
+upload*.
+
+The build daemons then perform corresponding *binary-only uploads*. The
+advantage of this is that all of the corresponding architecture-dependent and
+architecture-independent binary packages, for all architectures, are built
+automatically by the build daemons in a controlled and predictable environment
(see :ref:`wanna-build` for more details).
-However, there are several situations where this is not possible.
-
-The first upload of a new source package (see :ref:`newpackage`)
-must include binary packages, so that they can be reviewed by the
-archive administrators before they are added to Debian.
-
-If new binary packages are added to an existing source package, then the
-first upload that lists the new binary packages in ``debian/control``
-must include binary packages, again so that they can be reviewed by the
-archive administrators before they are added to Debian.
-It is preferred for these uploads to be done via the ``experimental``
-suite.
-
-Uploads that will be held for review in other queues, such as packages
-being added to the ``*-backports`` suites, might also require inclusion
-of binary packages.
-
-The build daemons will automatically attempt to build any ``main`` or
-``contrib`` package for which the build-dependencies are available.
-Packages in ``non-free`` and ``non-free-firmware`` will not be built by
-the build daemons unless the package has been marked as suitable for
-auto-building
-(see :ref:`non-free-buildd`).
-
-The build daemons only install build-dependencies from the ``main``
-archive area.
-This means that if a source package has build-dependencies that are
-in the ``contrib``, ``non-free`` or ``non-free-firmware`` archive areas,
-then uploads of that package need to include prebuilt binary packages
-for every architecture that will be supported.
-By definition this can only be the case for source packages that are
-themselves in the ``contrib``, ``non-free`` or ``non-free-firmware``
-archive areas.
-
-Bootstrapping a new architecture, or a new version of a package with
-circular dependencies (such as a self-hosting compiler), will sometimes
-also require an upload that includes binary packages.
+
+To perform a source-only upload, use the ``git debpush`` program. Usually you
+just type ``git debpush``, but sometimes you need to pass additional options.
+You don't need to know in advance when additional options are required,
+because ``git debpush`` will error out in that case. We'll avoid repeating
+the details of when additional options may be required here: see the
+(relatively short and sweet) git-debpush(1) manpage if and when this comes up
+for you. See also https://wiki.debian.org/tag2upload\ .
+
+``git debpush`` covers the vast majority of source-only uploads that Debian
+package maintainers perform. However, there are some cases in which a
+source-only upload is possible but ``git debpush`` cannot be used: when doing
+an NMU (see :ref:`nmu`); when the package is not maintained on Salsa (see
+:ref:`salsa-debian-org`) at all; or when the package uses a Git workflow that
+``git debpush`` doesn't yet know how to handle. A notable example of the
+latter is teams who use monorepos to store multiple source packages in one Git
+repository.
+
+There are also cases where a source-only upload isn't possible at all, because
+you need to upload both source code and binary packages at the same time.
+This happens in the following circumstances in which your upload will be held
+in a queue for manual approval by the archive administrators before heading
+into the Debian Archive proper:
+
+- When uploading a new source package for the very first time (see
+ :ref:`newpackage`).
+- When adding new binary packages to an existing source package: the first
+ upload that lists the new binary packages in ``debian/control`` must include
+ binary packages. It is preferred for these uploads to be done via the
+ ``experimental`` suite.
+- Packages being added to a ``*-backports`` suite for the first time.
+
+Note that not all Debian Archive manual approval queues requires uploading
+binaries -- proposed updates to Debian stable (see :ref:`upload-stable`), for
+example, do not.
+
+There are also cases in which you must perform binary-only uploads subsequent
+to your ``git debpush``. The build daemons will automatically attempt to
+build any ``main`` or ``contrib`` package for which the build-dependencies are
+available. Packages in ``non-free`` and ``non-free-firmware`` will not be
+built by the build daemons unless the package has been marked as suitable for
+auto-building (see :ref:`non-free-buildd`). In that case, you'll need to
+upload the binary packages yourself as part of a binary-only upload.
+
+The build daemons only install build-dependencies from the ``main`` archive
+area. This means that if a source package has build-dependencies that are in
+the ``contrib``, ``non-free`` or ``non-free-firmware`` archive areas, then
+you'll need to perform binary-only uploads of prebuilt binary packages for
+every architecture that will be supported. By definition this can only be the
+case for source packages that are themselves in the ``contrib``, ``non-free``
+or ``non-free-firmware`` archive areas.
+
+Bootstrapping a new architecture, or a new version of a package with circular
+dependencies (such as a self-hosting compiler), will sometimes also require
+making binary-only uploads.
.. _upload-ftp-master:
Uploading to ``ftp-master``
--------------------------------------------------------------------------------------------------------------------------------
+When you need to make a source-only upload without ``git debpush``; upload
+source and binary packages at the same time for NEW; or make a binary-only
+upload, you will need to upload to ``ftp-master`` directly. Each upload to
+``ftp-master`` consists of a signed ``.changes`` file describing the
+ubmission, plus the source and binary package files that are referenced by the
+``.changes`` file.
+
+A source-only changes file makes for a source-only upload. These are
+typically named ``*_source.changes``, and reference the source package, but no
+binary ``.deb`` or ``.udeb`` packages.
+
To upload a package, you should upload the files (including the signed
changes and dsc file) with anonymous ftp to ``ftp.upload.debian.org`` in
the directory
--8<---------------cut here---------------end--------------->8---
--
Sean Whitton
signature.asc
Description: PGP signature
--- End Message ---
--- Begin Message ---
Source: developers-reference
Source-Version: 14.4
Done: Holger Levsen <[email protected]>
We believe that the bug you reported is fixed in the latest version of
developers-reference, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Holger Levsen <[email protected]> (supplier of updated developers-reference
package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Thu, 12 Feb 2026 16:39:20 +0100
Source: developers-reference
Architecture: source
Version: 14.4
Distribution: unstable
Urgency: medium
Maintainer: Developers Reference Maintainers <[email protected]>
Changed-By: Holger Levsen <[email protected]>
Closes: 1127616
Changes:
developers-reference (14.4) unstable; urgency=medium
.
[ Sean Whitton ]
* pkgs:
- document tag2upload's existence. Closes: #1127616.
- delete obsolete paragraph about migration.
.
[ Holger Levsen ]
* Update all .po files for changed strings in the English original.
Checksums-Sha1:
d801fc70dc05de7024351facfcdfc1f79e50d3a5 2522 developers-reference_14.4.dsc
029ecffa336b736ab5f43d4d8b13392cfe5b3361 579228
developers-reference_14.4.tar.xz
cad174092271e745dcaf2a77cf767cf1842141cd 8586
developers-reference_14.4_source.buildinfo
Checksums-Sha256:
3b136c0f36cdf20bd668f94a5509f018539025353c3e1415b3fafb7ec669f4c0 2522
developers-reference_14.4.dsc
c6151cfecab1e5ac8e107c0e59a71c2ef24bda41960f14ee95956a1e777f4107 579228
developers-reference_14.4.tar.xz
89aa2ad37096ab77f198c29deeae8563f8eded76736bdba82792da21212492cb 8586
developers-reference_14.4_source.buildinfo
Files:
38d4ac4707950b76d5b30bfb12c186dd 2522 doc optional
developers-reference_14.4.dsc
eebae11173fb5cd98a492b95cc911fba 579228 doc optional
developers-reference_14.4.tar.xz
eabe5a71fe9f7179c59554a068334b82 8586 doc optional
developers-reference_14.4_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEuL9UE3sJ01zwJv6dCRq4VgaaqhwFAmmN9FMACgkQCRq4Vgaa
qhxuphAAjOFW6oWb5SmDBz19q18Q60OjCu7jE8V/YxuaLa6Y3+jI32nEhVAF7Tx8
X/CDtZ2fuzyk3lc+N/GJFhr964QlyFU3BfvZ2wOWF39lKSYGI1kCd3BM8ZYwlXqy
O1IdI7V5siqNa6BFQkfqA/YFMapzBWvz7G1wEylPOjAIPIlYPf8Uc97rKez0VifY
7DNmbqxC4Q6MmtvdTiP1NgqTJONmX6nj0D3+FM+f9B2QJ5eZiblwiGBBUjChFVya
oY5a3NvA9QO3aaaKp4cM/ukmVgCK1qVFB4hFt9EEqu+Snd89UngsrtDGw4LpoWxS
6LUPiGyG8tMrPdIsXVUU2Y+Zs5Qqmv9lvt/bUE4H1UdrphnSn++vDHcU/tgshVVQ
vslj9Xjz3Wf66+CNWpGG1iAjpLyDKVsVe/UDSb9ODVhgBRvW0NSE90l39YIrITpQ
wXR1fkgxwe9kCHwlKFiLZi8qkTCpZjet9Vdc46tz/UtY+Qk2AYvCtwvFeriOrja6
AkD49sAD7gp7wkbJJbNxE3o4sgdodxnVTNHwA5UqeB4ZCwhwijDV6e0fNnbRlETq
vW/CBwmXQN/JWe2gD4px2/IU/+w05GiNEH7qfIqSikuj88++Fi70s/CX6wJWExfq
zYPgJWBsy1/c7R8I+YVh8/0kONYbweJs4pcB3go2/u5UJGUGypM=
=j35K
-----END PGP SIGNATURE-----
pgpj4ovyDzLnS.pgp
Description: PGP signature
--- End Message ---