Source: tar
Version: 1.27.1-2
Severity: wishlist
Tags: patch
User: [email protected]
Usertags: timestamps

Hi!

While working on the “reproducible builds” effort [1], we have noticed
that tar could not be built reproducibly.

The current time gets written to the tar.1 manpage. With the attached
patch, the time of the latest debian/changelog entry is used instead.
Once applied, the package can built reproducibly with our current
experimental framework.

 [1]: https://wiki.debian.org/ReproducibleBuilds

-- 
Lunar                                .''`. 
[email protected]                    : :Ⓐ  :  # apt-get install anarchism
                                    `. `'` 
                                      `-   
From d7d8650b0ea2e2ca61f4b4c393e6e134fef21842 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Bobbio?= <[email protected]>
Date: Sat, 3 Jan 2015 08:50:54 +0100
Subject: [PATCH] use date from debian/changelog in manpage

The current date and time were written to tar.1. This prevented tar from
building reproducibly. Instead, we now use the time of the latest entry
in debian/changelog. We also write the version of the package instead
of the full date and time as it becomes more meaningful in this context.
---
 debian/tarman | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/debian/tarman b/debian/tarman
index 7016931..7ecb815 100644
--- a/debian/tarman
+++ b/debian/tarman
@@ -5,7 +5,11 @@
 
 use strict;
 
-my $t = "".localtime(time);
+my $debian_version = `dpkg-parsechangelog | sed -n -e 's/^Version: //p'`;
+chomp $debian_version;
+my $debian_date = `date --date="\$(dpkg-parsechangelog | sed -n -e 's/^Date: //p')" +%s`;
+chomp $debian_date;
+my $t = "".localtime($debian_date);
 my $datestr = substr($t,4,3)." ".substr($t,8,2).", ".substr($t,20,4);
 
 @ARGV=qw(src/tar.c);
@@ -269,7 +273,7 @@ $function_letters =~ s/\n$//;
 $option_letters =~ s/\n$//;
 $env_variables =~ s/\n$//;
 print <<".";
-.\\" generated by script on $t
+.\\" generated by script for $debian_version
 .Dd $datestr
 .Dt TAR 1
 .Sh NAME
-- 
1.9.1

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Reproducible-builds mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Reply via email to