Your message dated Mon, 20 Apr 2026 00:48:47 +0000
with message-id <[email protected]>
and subject line Bug#870750: fixed in dpkg-repack 1.55
has caused the Debian Bug report #870750,
regarding reproducibly build packages where possible
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.)


-- 
870750: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=870750
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: dpkg-repack
Version: 1.43
Severity: wishlist
Tags: patch

Playing around with dpkg-repack I noticed that even in the case of
packages where there is no modification that'd make it impossible,
dpkg-repack never generates perfect replicas of the original packages.


With the attached patch, dpkg-repack inspects the installed package's
changelog file for a suitable timestamp for SOURCE_DATE_EPOCH and sets
it if appropriate. With --tag=none, this gives byte-perfect replicas of
the packages I've tested it against unless they had local / config /
post-inst modifications.

I'd envision that a --tag=auto feature go well with that (that adds a
version tag if the md5sums indicate that the package changed), but
that's not implemented in the current patch and I don't know if the
md5sums criterion would be sufficient (eg. to see whether file ownership
was changed in postinst).


-- System Information:
Debian Release: buster/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 
'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.12.0 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages dpkg-repack depends on:
ii  libdpkg-perl  1.18.24
ii  perl          5.26.0-5

dpkg-repack recommends no packages.

Versions of packages dpkg-repack suggests:
ii  fakeroot  1.21-3.1

-- no debconf information

-- 
To use raw power is to make yourself infinitely vulnerable to greater powers.
  -- Bene Gesserit axiom
From 782b2e9c90fb6f9ab682bb91b179af46a72f605b Mon Sep 17 00:00:00 2001
From: chrysn <[email protected]>
Date: Fri, 4 Aug 2017 17:38:30 +0200
Subject: [PATCH] dpkg calls: Respond to error codes

Contributes-To: https://bugs.debian.org/870724
---
 dpkg-repack | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/dpkg-repack b/dpkg-repack
index 920f434..6f65499 100755
--- a/dpkg-repack
+++ b/dpkg-repack
@@ -131,9 +131,9 @@ sub Extract_Status {
     my $inst = Dpkg::Control->new(type => CTRL_FILE_STATUS);
 
     open my $fh, '-|', 'dpkg', "--root=$rootdir/", '-s', $pkgname
-        or Die "Unable to locate $pkgname in the package list.";
+        or Die "Failed to fork dpkg.";
     $inst->parse($fh, "dpkg status for $pkgname");
-    close $fh;
+    close $fh or Die "`dpkg -s` failed (status " . ($? >> 8) . ").";
 
     if ($inst->{Status} !~ m/^\S+\s+\S+\s+installed$/) {
         Die "Package $pkgname not fully installed: $inst->{Status}";
@@ -184,12 +184,12 @@ sub Install_DEBIAN {
 
     my @control_files;
     open my $q_fh, '-|', "dpkg-query --admindir=$rootdir/var/lib/dpkg --control-path $inst->{Package} 2>/dev/null"
-        or Die "dpkg-query failed: $!";
+        or Die "Failed to fork dpkg.";
     while (my $fn = <$q_fh>) {
         chomp $fn;
         push @control_files, $fn;
     }
-    close $q_fh;
+    close $q_fh or Die "`dpkg-query` failed (status " . ($? >> 8) . ").";
 
     foreach my $fn (@control_files) {
         my ($basename) = $fn =~ m/^.*\.(.*?)$/;
@@ -233,7 +233,11 @@ sub Install_Files {
     # it runs with English language output.
     my $lc_all = $ENV{LC_ALL};
     $ENV{LC_ALL} = 'C';
-    my @filelist = split /\n/, qx{dpkg --root=$rootdir/ -L $inst->{Package}};
+    my $filelist = qx{dpkg --root=$rootdir/ -L $inst->{Package}:$inst->{Architecture}};
+    if ($? != 0) {
+        Die "`dpkg -L` failed (status " . ($? >> 8) . ").";
+    }
+    my @filelist = split /\n/, $filelist;
     $ENV{LC_ALL} = $lc_all if defined $lc_all; # important to reset it.
 
     # Set up a hash for easy lookups.
-- 
2.13.2

Attachment: signature.asc
Description: PGP signature


--- End Message ---
--- Begin Message ---
Source: dpkg-repack
Source-Version: 1.55
Done: Guillem Jover <[email protected]>

We believe that the bug you reported is fixed in the latest version of
dpkg-repack, 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.
Guillem Jover <[email protected]> (supplier of updated dpkg-repack 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: Mon, 20 Apr 2026 02:27:42 +0200
Source: dpkg-repack
Architecture: source
Version: 1.55
Distribution: unstable
Urgency: medium
Maintainer: Dpkg Developers <[email protected]>
Changed-By: Guillem Jover <[email protected]>
Closes: 870750
Changes:
 dpkg-repack (1.55) unstable; urgency=medium
 .
   * Rework --help output to list option descriptions on the next line.
   * Infer the SOURCE_DATE_EPOCH from the md5sums file. Closes: #870750
   * Documentation:
     - man: Mention that version tagging might invalidate dependencies.
     - man: Use L<> instead of B<>(N) to refer to external man pages.
   * Code internals:
     - Switch to «use v5.40» instead of «use strict» and «use warnings».
     - Switch to use sub signatures.
     - Use try/catch instead of eval/or-do.
     - Update copyright years.
   * Packaging:
     - Remove «Rules-Requires-Root: no», which is the current default.
     - Remove «Priority: optional», which is the current default.
     - Remove build dependency on debhelper (>= 13.10), implied by
       debhelper-compat (= 13) since Debian bookworm.
     - Remove versioned Build-Depends on dpkg-dev, satisfied since Debian
       trixie.
     - Switch to Standards-Version 4.7.4 (no changed needed).
     - Refactor common description into a source stanza Description field.
Checksums-Sha1:
 35506a5d18d2de3c2b413b61558e692f08307993 2391 dpkg-repack_1.55.dsc
 aba8dc36dc30a98666a1fe8ec984875156622a03 23688 dpkg-repack_1.55.tar.xz
 f060568053bf5eafe3975b64dee960ccd088e197 5779 dpkg-repack_1.55_amd64.buildinfo
Checksums-Sha256:
 564b53f4572352d9e9e11bc1249bb308cefa1d2cd9188ea23689a45018c580ed 2391 
dpkg-repack_1.55.dsc
 9b1aade323671a0e1109afe9739c43cada7395023087e105c4c9efc3b4eb852c 23688 
dpkg-repack_1.55.tar.xz
 d1dc00b34d58ee164b07d60c8900b2668fb53cd10a3994c936b7ca08a5a14347 5779 
dpkg-repack_1.55_amd64.buildinfo
Files:
 617dffe5de0beb9c2b4784ed373a1c47 2391 admin optional dpkg-repack_1.55.dsc
 ff2567cd97256a61e5dfe7403f57b122 23688 admin optional dpkg-repack_1.55.tar.xz
 fe2ba37f24225b7d1f7c40fc9d37fc64 5779 admin optional 
dpkg-repack_1.55_amd64.buildinfo


-----BEGIN PGP SIGNATURE-----

wsG7BAEBCgBvBYJp5XRECRC5cr8+pK5Xo0cUAAAAAAAeACBzYWx0QG5vdGF0aW9u
cy5zZXF1b2lhLXBncC5vcmf5tWSTaEaaxkHg1CC1HIakkXmMAtBOwuE6X8mxtkeS
YhYhBE8+dPQ2BQwQ9WlldLlyvz6krlejAADkvw/8DLRLXMoQy8C7MmAXNSOdhNQn
G3hZnbMlgzPc9PH/luHGx3GM6Q9k1IjzmjDdkJe9uHGEu6sgs00FHID1iIhrgBpx
ddmRtoyHVCLnyx2QUazpOzYAQfiLGVSxUTmkhoTckC6OgvHdoQWfFOGiSj5Jfxz7
2xWR4iOK5YLbag+R75x+yuvdSPqqYJT1Vgu+X4JzKoDKHjzg/q7ksOIaRDKhPxvY
WTzajQ4qIgRwSU27tx+zAKsxPODiXphA6tnTQcYIe2/f9GeiFH+Roj7kjoVDYzZ2
v3SpOBB2vHs1vCe6LFjGrBNnz8g6mBKqboCS75IZuGINKTifSq4glNkFa3c57XYd
dd2IOMxg3Kr2Bj0RFsskPxs1H1KudQTIB4XKr5qQykK912eKpRGnIBh/W/9Qak2o
7e4Ldv9DpckX2YjlVehn+ZwAvu5f0fAuyZoYcQEKNoFqo23ujgbPMQQWcvIpc3wC
mx7TPiH6GUQ1TlU02rMKK4umKGnU7+K9Iofh7xhabiZW5A5ZV18FUKMwaMQz3V5l
PbemKXA3g9eGDWDD9GjsW2o3r+pHP/2igqFxt1Tx0n42EaRzKQmsuinduxGBG7KJ
7diNJwmAAAd9L1937mEgGLUcNrDxXVhPdqOXHpMZXrpJNDiUxElmZUUIh6gbjEJG
rbdgx2h9Al6p1UsU9+w=
=pGiy
-----END PGP SIGNATURE-----

Attachment: pgpQTk7BF_ca3.pgp
Description: PGP signature


--- End Message ---

Reply via email to