This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/master by this push:
     new c06dbae  Reproducible builds: Binary packages (excluding installer)
c06dbae is described below

commit c06dbae706e1907b961f5f36970e364744679c0c
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Thu Mar 18 20:53:49 2021 +0000

    Reproducible builds: Binary packages (excluding installer)
---
 build.xml | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 74 insertions(+), 2 deletions(-)

diff --git a/build.xml b/build.xml
index 1bc68b7..44a021b 100644
--- a/build.xml
+++ b/build.xml
@@ -1773,6 +1773,12 @@
       <classpath refid="compile.classpath" />
     </javac>
 
+    <!-- Reproducible builds: consistent timestamps for class files and other
+    files placed in JARs -->
+    <touch datetime="${tstamp.file}" pattern="MM/dd/yyyy hh:mm:ss aa">
+      <fileset dir="${xreflect.directory}/classes"/>
+    </touch>
+
     <!-- Create the binary JAR file -->
     <jarIt jarfile="${tomcat-embed-programmatic.jar}"
            filesDir="${xreflect.directory}/classes"
@@ -1808,6 +1814,12 @@
         encoding="ISO-8859-1" fixlast="false" >
       <patternset refid="text.files" />
     </fixcrlf>
+
+    <!-- Reproducible builds: consistent timestamps for distributed files -->
+    <touch datetime="${tstamp.file}" pattern="MM/dd/yyyy hh:mm:ss aa">
+      <fileset dir="${tomcat.embed}"/>
+    </touch>
+
     <zip destfile="${tomcat.embed}/${final.name}-embed.zip">
       <fileset dir="${tomcat.embed}">
         <include name="**" />
@@ -1823,6 +1835,12 @@
         encoding="ISO-8859-1" fixlast="false" >
       <patternset refid="text.files" />
     </fixcrlf>
+
+    <!-- Reproducible builds: consistent timestamps for distributed files -->
+    <touch datetime="${tstamp.file}" pattern="MM/dd/yyyy hh:mm:ss aa">
+      <fileset dir="${tomcat.embed}"/>
+    </touch>
+
     <tar longfile="gnu" compression="gzip"
          tarfile="${tomcat.embed}/${final.name}-embed.tar.gz">
       <tarfileset dir="${tomcat.embed}" prefix="${final.name}-embed">
@@ -2444,7 +2462,7 @@ Apache Tomcat ${version} native binaries for Win64 
AMD64/EMT64 platform.
     </copy>
 
     <!-- Digester and dependencies -->
-    <jar jarfile="${tomcat.deployer}/lib/catalina-deployer.jar">
+    <zip destfile="${tomcat.deployer}/lib/catalina-deployer.jar">
        <fileset dir="${tomcat.classes}">
           <include name="org/apache/catalina/startup/DigesterFactory.class" />
           <include name="org/apache/catalina/util/SchemaResolver.class" />
@@ -2469,7 +2487,14 @@ Apache Tomcat ${version} native binaries for Win64 
AMD64/EMT64 platform.
           <exclude name="**/package.html" />
           <exclude name="**/LocalStrings_*" />
        </fileset>
-    </jar>
+       <zipfileset file="${tomcat.manifests}" fullpath="META-INF" />
+       <zipfileset file="${tomcat.manifests}/default.manifest"
+         fullpath="META-INF/MANIFEST.MF" />
+       <zipfileset file="${tomcat.manifests}/default.notice"
+         fullpath="META-INF/NOTICE" />
+       <zipfileset file="${tomcat.manifests}/default.license"
+         fullpath="META-INF/LICENSE" />
+    </zip>
 
     <!-- Main build script -->
     <copy todir="${tomcat.deployer}">
@@ -2720,7 +2745,13 @@ skip.installer property in build.properties" />
       <patternset refid="text.files" />
     </fixcrlf>
 
+    <!-- Reproducible builds: consistent timestamps for distributed files -->
+    <touch datetime="${tstamp.file}" pattern="MM/dd/yyyy hh:mm:ss aa">
+      <fileset dir="${tomcat.dist}"/>
+    </touch>
+
     <zip zipfile="${tomcat.release}/v${version}/bin/${final.name}.zip">
+      <zipfileset file="${tomcat.dist}" fullpath="${final.name}"/>
       <zipfileset dir="${tomcat.dist}" prefix="${final.name}">
         <include name="bin/**"/>
         <include name="conf/**"/>
@@ -2753,8 +2784,14 @@ skip.installer property in build.properties" />
       <patternset refid="text.files" />
     </fixcrlf>
 
+    <!-- Reproducible builds: consistent timestamps for distributed files -->
+    <touch datetime="${tstamp.file}" pattern="MM/dd/yyyy hh:mm:ss aa">
+      <fileset dir="${tomcat.dist}"/>
+    </touch>
+
     <!-- Windows x86 package -->
     <zip 
zipfile="${tomcat.release}/v${version}/bin/${final.name}-windows-x86.zip">
+      <zipfileset file="${tomcat.dist}" fullpath="${final.name}"/>
       <zipfileset dir="${tomcat.dist}" prefix="${final.name}">
         <include name="bin/**"/>
         <include name="conf/**"/>
@@ -2780,6 +2817,7 @@ skip.installer property in build.properties" />
 
     <!-- Windows x64 package -->
     <zip 
zipfile="${tomcat.release}/v${version}/bin/${final.name}-windows-x64.zip">
+      <zipfileset file="${tomcat.dist}" fullpath="${final.name}"/>
       <zipfileset dir="${tomcat.dist}" prefix="${final.name}">
         <include name="bin/**"/>
         <include name="conf/**"/>
@@ -2820,7 +2858,14 @@ skip.installer property in build.properties" />
       <patternset refid="text.files" />
     </fixcrlf>
 
+    <!-- Reproducible builds: consistent timestamps for distributed files -->
+    <touch datetime="${tstamp.file}" pattern="MM/dd/yyyy hh:mm:ss aa">
+      <fileset dir="${tomcat.dist}"/>
+      <fileset dir="${tomcat.deployer}"/>
+    </touch>
+
     <zip 
zipfile="${tomcat.release}/v${version}/bin/${final.name}-deployer.zip">
+      <zipfileset file="${tomcat.deployer}" fullpath="${final.name}-deployer"/>
       <zipfileset dir="${tomcat.deployer}" prefix="${final.name}-deployer" 
includes="**" />
       <zipfileset dir="${tomcat.dist}" prefix="${final.name}-deployer" 
includes="LICENSE" />
       <zipfileset dir="${tomcat.dist}" prefix="${final.name}-deployer" 
includes="NOTICE" />
@@ -2838,6 +2883,11 @@ skip.installer property in build.properties" />
       <patternset refid="text.files" />
     </fixcrlf>
 
+    <!-- Reproducible builds: consistent timestamps for distributed files -->
+    <touch datetime="${tstamp.file}" pattern="MM/dd/yyyy hh:mm:ss aa">
+      <fileset dir="${tomcat.dist}"/>
+    </touch>
+
     <tar longfile="gnu" compression="gzip"
          tarfile="${tomcat.release}/v${version}/bin/${final.name}.tar.gz">
       <tarfileset dir="${tomcat.dist}" dirmode="700" filemode="600" 
prefix="${final.name}">
@@ -2886,6 +2936,12 @@ skip.installer property in build.properties" />
       <patternset refid="text.files" />
     </fixcrlf>
 
+    <!-- Reproducible builds: consistent timestamps for distributed files -->
+    <touch datetime="${tstamp.file}" pattern="MM/dd/yyyy hh:mm:ss aa">
+      <fileset dir="${tomcat.dist}"/>
+      <fileset dir="${tomcat.deployer}"/>
+    </touch>
+
     <tar longfile="gnu" compression="gzip"
          
tarfile="${tomcat.release}/v${version}/bin/${final.name}-deployer.tar.gz">
       <tarfileset dir="${tomcat.dist}" prefix="${final.name}-deployer">
@@ -2909,6 +2965,11 @@ skip.installer property in build.properties" />
       <patternset refid="text.files" />
     </fixcrlf>
 
+    <!-- Reproducible builds: consistent timestamps for distributed files -->
+    <touch datetime="${tstamp.file}" pattern="MM/dd/yyyy hh:mm:ss aa">
+      <fileset dir="${tomcat.dist}"/>
+    </touch>
+
     <tar longfile="gnu" compression="gzip"
          
tarfile="${tomcat.release}/v${version}/bin/${final.name}-fulldocs.tar.gz">
       <tarfileset dir="${tomcat.dist}" 
prefix="tomcat-${version.major.minor}-doc">
@@ -2933,7 +2994,13 @@ skip.installer property in build.properties" />
       <include name="bin/*.sh" />
     </fixcrlf>
 
+    <!-- Reproducible builds: consistent timestamps for distributed files -->
+    <touch datetime="${tstamp.file}" pattern="MM/dd/yyyy hh:mm:ss aa">
+      <fileset dir="${tomcat.dist}"/>
+    </touch>
+
     <zip zipfile="${tomcat.release}/v${version}/src/${final-src.name}.zip">
+      <zipfileset file="${tomcat.dist}/src" fullpath="${final-src.name}" />
       <zipfileset dir="${tomcat.dist}/src" prefix="${final-src.name}" />
     </zip>
 
@@ -2949,6 +3016,11 @@ skip.installer property in build.properties" />
       <include name="bin/*.sh" />
     </fixcrlf>
 
+    <!-- Reproducible builds: consistent timestamps for distributed files -->
+    <touch datetime="${tstamp.file}" pattern="MM/dd/yyyy hh:mm:ss aa">
+      <fileset dir="${tomcat.dist}"/>
+    </touch>
+
     <tar longfile="gnu" compression="gzip"
          tarfile="${tomcat.release}/v${version}/src/${final-src.name}.tar.gz">
       <tarfileset dir="${tomcat.dist}/src" prefix="${final-src.name}" />

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to