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

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


The following commit(s) were added to refs/heads/main by this push:
     new 64ef1abc1a Update building instructions and changelog for repeatable 
builds
64ef1abc1a is described below

commit 64ef1abc1af6b76bd4e051a1837734d1efdd6c2e
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Thu Jun 9 16:47:54 2022 +0100

    Update building instructions and changelog for repeatable builds
---
 BUILDING.txt               | 27 +++++++++++++++++++++++++++
 res/maven/README.txt       | 11 +++++------
 webapps/docs/changelog.xml | 11 +++++++++++
 3 files changed, 43 insertions(+), 6 deletions(-)

diff --git a/BUILDING.txt b/BUILDING.txt
index 7702fe5cee..41a8b8658e 100644
--- a/BUILDING.txt
+++ b/BUILDING.txt
@@ -301,9 +301,36 @@ You can build them by using the following commands:
     Release managers will be provided with the necessary credentials by the 
PMC.
 
  4. Build the release:
+ 
+    Apache Tomcat releases are fully reproducible.
 
+    Release managers producing release builds must follow the following
+    procedure:
+    
     cd ${tomcat.source}
+    ant pre-release 
     ant release
+    git commit -a -m "Tag <version-number>"
+    git tag <vesion-number>
+    git push origin <version-number>
+    ant release
+    git reset --hard HEAD~1
+
+    The output from either 'ant release' call may be uploaded as the official
+    release since they will be identical. It is recommended that the output 
from
+    the second call is used.
+    
+    Anyone wishing to reproduce an official build must do so from an official
+    source release. The build tool chain defined in build.properties.release
+    must be used to reproduce an official build. Once unpacked to
+    ${tomcat.source}, the following steps must be followed
+    
+    cd ${tomcat.source}
+    ant release
+
+    Following the same steps without using the defined build tool chain will
+    create a release that is functionally the same as an official release but
+    not bit for bit identical.
 
 
 (7) Tests
diff --git a/res/maven/README.txt b/res/maven/README.txt
index 282f2a25aa..4152c0e3a7 100644
--- a/res/maven/README.txt
+++ b/res/maven/README.txt
@@ -16,12 +16,11 @@
 
================================================================================
 
 General preparations before any publishing:
-1 - Generate a standard Tomcat release (ant release)
-2 - Copy mvn.properties.default to mvn.properties and adjust it as necessary.
-    You will need to set asf.ldap.username and you'll probably need to set
-    gpg.exec
-    The other properties should be OK. Note: you will be prompted for your
-    GPG pass-phrase and LDAP password when the script runs.
+1 - Generate a standard Tomcat release.
+    This will generate a mvn.properties.release file as part of the tag. It
+    should include the property settings required to complete the release.
+2 - Should any of the properties need to be overridden, create a
+    mvn.properties and override as necessary.
 
 To publish a snapshot do the following:
 1 - ant -f mvn-pub.xml deploy-snapshot
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 104349dbc4..3c2faf667a 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -134,6 +134,17 @@
         The minimum Ant version required to build Tomcat 10.1.x is now 1.10.2.
         (markt)
       </update>
+      <add>
+        Add additional automation to the build process to reduce the number of
+        manual steps that release managers must perform. (schultz)
+      </add>
+      <add>
+        Implement support for reproducible builds. Reproducible builds are
+        independent of operating system but require the same Ant version and
+        same JDK (vendor and version) to be used as associated version
+        information is embedded in a number of build outputs such as JAR file
+        manifests. (markt)
+      </add>
     </changelog>
   </subsection>
 </section>


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

Reply via email to