[Reproducible-builds] Bug#799410: segment: please make the build reproducible

Santiago Vila sanvila at debian.org
Mon Sep 21 16:17:56 UTC 2015


On Fri, Sep 18, 2015 at 11:40:44PM +0100, Chris Lamb wrote:
> Source: segment
> Version: 1.3.5~svn57+dfsg-1.1
> Severity: wishlist
> Tags: patch
> User: reproducible-builds at lists.alioth.debian.org
> Usertags: timestamps
> X-Debbugs-Cc: reproducible-builds at lists.alioth.debian.org
> 
> Hi,
> 
> Whilst working on the "reproducible builds" effort [0], we noticed that
> segment could not be built reproducibly.
> 
> The attached patch removes timestamps from the build system. Once
> applied, segment can be built reproducibly using our reproducible
> toolchain.
> 
>  [0] https://wiki.debian.org/ReproducibleBuilds

I think it would be even better if we stopped using build dates altogether,
i.e. considering them to be irrelevant.

The following patch does that:

-------------- next part --------------
From: Santiago Vila <sanvila at debian.org>
Subject: Do not use the build date at all

--- a/build.xml
+++ b/build.xml
@@ -6,10 +6,6 @@
 	<property file="build.number" />
 	<property file="build.properties" />
 
-	<tstamp>
-		<format property="build.date" pattern="yyyy-MM-dd"/>
-	</tstamp>
-
 	<path id="project.class.path">
 		<pathelement path="${java.class.path}"/>
 		<pathelement location="build/classes"/>
@@ -18,7 +14,6 @@
 
 	<filterset id="filter.version">
 		<filter token="project.fullversion" value="${project.fullversion}"/>
-		<filter token="build.date" value="${build.date}"/>
 	</filterset>
 
 	
@@ -56,7 +51,6 @@
 			<fileset dir="src"/>
 			<manifest>
 				<attribute name="Built-By" value="${project.authors}"/>
-				<attribute name="Build-Date" value="${build.date}"/>
 				<attribute name="Implementation-Version" value="${project.fullversion}"/>
 			</manifest>
 		</jar>
--- a/doc/readme.html
+++ b/doc/readme.html
@@ -3,7 +3,7 @@
 
 <h1>Segment</h1>
 
-<h3>Version @project.fullversion@, Date @build.date@</h3>
+<h3>Version @project.fullversion@</h3>
 <hr>
 
 <h2>Table of Contents</h2>
--- a/src/net/sourceforge/segment/Version.java
+++ b/src/net/sourceforge/segment/Version.java
@@ -48,11 +48,4 @@
 		return version;
 	}
 	
-	/**
-	 * @return segment build date
-	 */
-	public String getDate() {
-		return date;
-	}
-	
 }
--- a/src/net/sourceforge/segment/ui/console/Segment.java
+++ b/src/net/sourceforge/segment/ui/console/Segment.java
@@ -140,9 +140,6 @@
 		if (Version.getInstance().getVersion() != null) {
 			signature += " " + Version.getInstance().getVersion();
 		}
-		if (Version.getInstance().getDate() != null) {
-			signature += ", " + Version.getInstance().getDate();
-		}
 		signature += ".";
 		System.out.println(signature);
 		helpFormatter.printHelp("segment", options);


More information about the Reproducible-builds mailing list