Package: reprepro
Version: 5.4.6+really5.3.2-1
Severity: normal

Dear Maintainer,

I am encountering a regression or an outdated strictness in reprepro
when processing source packages built for Debian Trixie/unstable.

Starting recently, Lintian now tags Priority:
optional in the Source stanza as redundant (see:
redundant-priority-optional-field). Consequently, some packages
(specifically libnice) have begun dropping this field from their
debian/control source headers.

I am using reprepro as a backend for a mini-buildd system and when the
daemon has built the packages, it uploads them to the incoming queue to
be included in the repository managed by reprepro.

Problem: When reprepro processes a .dsc file that lacks an explicit
Priority field in the metadata block, it fails with the following errors:
Plaintext

```
E: ? reprepro.. (stderr): Could not check validity of signature with
'[FINGERPRINT]' in 'package.dsc' as public key missing!
E: ? reprepro.. (stderr): No priority for 'package', skipping.
```

Observations:

    * The "public key missing" error is a red herring; the key is present
      in the keyring, but reprepro appears to abort metadata extraction
      when the Priority field is missing, leading to a failure in the
      signature-to-package association logic.
    * The same package, when signed with the same key but containing
      Priority: optional, is accepted without issue.
    * As Debian moves toward making this field optional/redundant for
      Source stanzas, reprepro should be updated to provide a sensible
      default (likely optional) if the field is absent in the .dsc, rather
      than aborting the import.

Steps to reproduce:

    * Build a source package where the Source stanza in debian/control
      lacks a Priority field.
    * Attempt to include this package in a repository using reprepro
      include or via mini-buildd.
    * reprepro will reject the package with "No priority for [package],
      skipping."

mini-buildd has a bug [1] that requests checking for that field, but it
seems to be superseded by the debian policy change [2]

The Policy says it's not strictly mandatory for the .dsc, but reprepro uses a
stricter internal v alidation schema. When reprepro encounters a source
package without a priority, it doesn't know what to put in the Priority: field
of the Sources index it is generating, so it crashes.

* Field Definition: Debian Policy 5.6.7 (Priority)
* Source Package Control File (.dsc): Debian Policy 5.4
* Binary Package Control File: Debian Policy 5.3

Please consider updating the parser to treat a missing Priority field
in the Source block as optional to align with the current Debian Policy
transition.

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1106857
[2] https://lintian.debian.org/tags/redundant-priority-optional-field.html

-- System Information:
Debian Release: 13.2
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.12.25-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8),
LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages reprepro depends on:
ii  libarchive13t64  3.7.4-4
ii  libbz2-1.0       1.0.8-6
ii  libc6            2.41-12
ii  libdb5.3t64      5.3.28+dfsg2-9
ii  libgpg-error0    1.51-4
ii  libgpgme11t64    1.24.2-3
ii  liblzma5         5.8.1-1
ii  zlib1g           1:1.3.dfsg+really1.3.1-1+b1
ii  zstd             1.5.7+dfsg-1

Versions of packages reprepro recommends:
ii  apt  3.0.3

Versions of packages reprepro suggests:
ii  gpg-agent        2.4.7-21+b3
pn  inoticoming      <none>
ii  lzip             1.25-3
ii  pinentry-curses  1.3.1-2

-- no debconf information


--
g. Marc

GPG: 827C FD74 BA46 8152 A041 F3A0 7A6A 4F17 5995 A65B

Reply via email to