Instructions on applying Switch of default OpenJDK to 17 for Z-stream branches.
Steps need to be done in the order in this document.
Most of the time applying changes from the branch rhel-9.4.0
is needed but with different references to Jira issues and release bumps.
Some changes are split in a different manner than as in the branch rhel-9.4.0
.
For most packages there needs to be an additional change.
It will be reffered to later when to apply it.
The change is adding the following line below BuildArch: noarch
in the .spec
file of a particular package:
ExclusiveArch: aarch64 ppc64le s390x x86_64 noarch
javapackages-tools
(will be reffered to as JPT)
-
In a single commit:
-
Apply
javapackages-config.json
change from the commit28435e28a237fa98231bba86e2d8f3d1c1fff226
-
Add patch from commit
6d8a0324d17f1880939e6de1b7e123fe18674103
and switch to using%autosetup
.
DO NOT editRequires
. -
Put
Resolves:
in the commit message corresponding to the Jira issue:javapackages-tools: Make auto-requires work with java-21-headless
. -
Push the change.
-
-
Create a side tag with
rhpkg --release rhel-9.${N}.0-z request-gated-side-tag
. -
Build JPT in that side tag:
rhpkg build --target ${side_tag_name}
.
Ant
-
Apply changes from
rhel-9.4.0
branch. -
Also apply
ExclusiveArch
change. -
Make sure JPT has been built in the side tag and tagged %%
brew waitrepo
?%%. -
Build Ant in the same side tag as JPT.
JPT
-
Apply the rest of changes from the
rhel-9.4.0
branch and squash them. -
This commit
Resolves:
the issue corresponding to:javapackages-tools: Make OpenJDK 17 default JRE/JDK
.
Ant / Maven
Now the runtime dependencies of Ant / Maven need to be rebuilt using the newly built JPT.
antlr apache-commons-logging apache-commons-net assertj-core bcel bsf byte-buddy hamcrest jakarta-activation jakarta-mail jakarta-oro jdepend jsch junit junit5 jzlib objectweb-asm opentest4j regexp univocity-parsers xerces-j2 xml-commons-apis xml-commons-resolver xz-java
apache-commons-cli apache-commons-codec apache-commons-io apache-commons-lang3 atinject cdi-api google-guice guava httpcomponents-client httpcomponents-core jakarta-annotations jansi jsoup jsr-305 maven-resolver maven-shared-utils maven-wagon plexus-cipher plexus-classworlds plexus-containers plexus-interpolation plexus-sec-dispatcher plexus-utils sisu slf4j
JPT, Ant and Maven and their dependencies can not be built in a single side tag due to a limitation of maximum 50 builds per side tag.
Ant
-
For each Ant dependency apply changes from
rhel-9.4.0
squashed in a single commit and release bump.-
Commit must mention
Related:
Ant Jira issue. -
Apply
ExclusiveArch
change in all packages exceptantlr
, it has a differentExclusiveArch
already in the commit.
-
-
Build Ant dependencies in the same tag as JPT and Ant. The dependencies can all be built at the same time.
-
Bump Ant and rebuild it in the same side tag.
-
Commit message must contain
Resolves:
Ant Jira issue.
-
Maven
-
Create a separate side tag.
-
Tag the second build of JPT into this side tag.
-
For each Maven dependency apply changes from
rhel-9.4.0
squashed in a single commit and release bump.-
Commit must mention
Related:
Maven issue:maven: Suggest maven-openjdk17
. -
Apply
ExclusiveArch
change in all packages exceptjansi
, it has a differentExclusiveArch
already in the commit.
-
-
Build Maven dependencies in this new side tag. The dependencies can all be built at the same time.
-
In Maven:
-
Backport commits up until commit
51c7596fa54b1ebe2598cd9ed5426850788469c0
excluding it.-
Squash them and use a single release bump.
-
Write
Related:
Maven issue:maven: Add maven-openjdk21
.
-
-
Apply commit
51c7596fa54b1ebe2598cd9ed5426850788469c0
with correctResolves
. -
Apply the rest of commits in
rhel-9.4.0
and squash them.-
Resolves:
Maven issue:maven: Suggest maven-openjdk17
.
-
-
-
Build Maven in the same side tag, no need to wait for other builds.
Gating
Most issues should be resolved, in case of errors the people to contact with tests:
-
leapp.brew-build.upgrade.distro
-vsokol
on#team-rhel-upgrades
-
osci-*
-msrb
on#help-osci
-
Other tests:
mkoncek
ormizdebsk
%% bootstrap? %%
Errata
-
Single Erratum for JPT per RHEL release.
-
Single Ant Erratum per RHEL release containing the builds of Ant and all its dependencies.
-
Single Maven Erratum per RHEL release containing the builds of Ant and all its dependencies.
You will need to manually drop all the automatically created errata of the Ant / Maven dependencies.