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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]