Compare commits

...

No commits in common. "c8" and "c9s" have entirely different histories.
c8 ... c9s

68 changed files with 3022 additions and 1215 deletions

459
.gitignore vendored
View File

@ -1,2 +1,457 @@
SOURCES/shenandoah8u462-b08.tar.xz
SOURCES/tapsets-icedtea-3.15.0.tar.xz
*.rpm
/class-rewriter.tar.gz
/desktop-files.tar.gz
/jdk8-b79.tar.gz
/systemtap-tapset.tar.gz
/jdk8-b87.tar.gz
/jdk8-b89.tar.gz
/jdk8-b89.tar.xz
/jdk8-arm64-b01-internal.tar.xz
/jdk8-b01-internal.tar.xz
/java-1.8.0-openjdk-aarch64-port-b01-internal.tar.xz
/java-1.8.0-openjdk-jdk8-b01-internal.tar.xz
/aarch64-port-b89.tar.xz
/aarch64-port-b89x.tar.xz
/jdk8-b89x.tar.xz
/aarch64-port-aarch64-20130813.tar.xz
/jdk8-jdk8-b106.tar.xz
/aarch64-port-preview_rc2.tar.xz
/jdk8-jdk8-b115.tar.xz
/jdk8-jdk8-b123.tar.xz
/jdk8-jdk8-b126.tar.xz
/jdk8-jdk8-b129.tar.xz
/jdk8-jdk8-b132.tar.xz
/aarch64-port-rc4.tar.xz
/aarch64-port-jdk8-b128-aarch64-992.tar.xz
/jdk8u-jdk8u5-b13.tar.xz
/jdk8u-jdk8u11-b12.tar.xz
/aarch64-hotspot-jdk8-b128-aarch64-992.tar.xz
/jdk8u-jdk8u20-b23.tar.xz
/jdk8u-jdk8u40-b01.tar.xz
/jdk8u-jdk8u40-b02.tar.xz
/jdk8u-jdk8u20-b26.tar.xz
/jdk8u-jdk8u25-b17.tar.xz
/aarch64-hotspot-jdk8u40-b02.tar.xz
/aarch64-hotspot-jdk8u40-b02-c6375c27cbfa.tar.xz
/aarch64-hotspot-jdk8u40-b04-a6df78e590bb.tar.xz
/aarch64-hotspot-jdk8u40-b04-d0ea7bcfcd8c.tar.xz
/jdk8-jdk8u40-b12-aarch64-1263.tar.xz
/jdk8-jdk8u40-b12-aarch64-hs3135441ed942.tar.xz
/jdk8u-jdk8u31-b13.tar.xz
/jdk8-jdk8u45-b13-aarch64-jdk8u45-b13.tar.xz
/jdk8u45-jdk8u45-b13.tar.xz
/jdk8u45-jdk8u45-b14.tar.xz
/jdk8u-jdk8u60-b16.tar.xz
/jdk8u-aarch64-jdk8u51-b16.tar.xz
/jdk8u-jdk8u60-b24.tar.xz
/jdk8u-arch64-jdk8u60-b24.tar.xz
/jdk8u60-jdk8u60-b27.tar.xz
/jdk8-aarch64-jdk8u60-b24.2.tar.xz
/jdk8u60-aarch64-jdk8u60-b28.tar.xz
/jdk8u60-aarch64-jdk8u65-b17.tar.xz
/aarch64-port-jdk8u60-aarch64-jdk8u65-b17.tar.xz
/aarch64-jdk8u71-b15.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u72-b15.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u72-b15-ec.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u72-b16-ec.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u77-b03.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u91-b14.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u80-b00-beta01.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u71-b15-beta02.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u92-b14.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u101-b13.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u92-b14.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u101-b14.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u101-b14-shenandoah-merge-2016-07-25.tar.xz
/systemtap-tapset-3.1.0.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u101-b15.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u102-b14.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u111-b14.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u111-b15.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u111-b18.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u112-b16.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u121-b13.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u102-b14.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u111-b16.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u111-b16.tar.xz
/openjdk8-forests-latest-aarch64-aarch64-jdk8u121-b14.tar.xz
/openjdk8-forests-latest-shenandoah-aarch64-shenandoah-jdk8u121-b14.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u121-b14.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u121-b14-shenandoah-merge-2017-02-20.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u121-b14-shenandoah-merge-2017-03-08.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u121-b14-shenandoah-merge-2017-03-09.tar.xz
/systemtap-tapset-3.4.0.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u131-b11.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u131-b11.tar.xz
/systemtap-tapset-3.4.0pre01.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u131-b12.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u131-b12.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u141-b15.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u141-b15.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u141-b16.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u141-b16.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u144-b01.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u144-b01.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u144-b02-shenandoah-merge-2017-10-02.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u151-b12.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u151-b12.tar.xz
/systemtap-tapset-3.6.0pre02.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u161-b12.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u161-b12.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u151-b13.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u151-b13.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u152-b16.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u152-b16.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u161-b13.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u161-b13.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u161-b14.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u161-b14.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u162-b12.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u162-b12.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u171-b10.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u171-b10.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u171-b12.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u171-b12.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u172-b11.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u172-b11.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u172-b11--shenandoah-merge-2018-05-15.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u172-b11--shenandoah-merge-2018-06-21.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u181-b03.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u181-b03.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u181-b04.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u181-b04.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u181-b13.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u181-b13.tar.xz
/systemtap_3.2_tapsets_hg-icedtea8-9d464368e06d.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u181-b15.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u181-b16.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u191-b10.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u191-b12.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u191-b13.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u191-b14.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u192-b12.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u201-b09.tar.xz
/tapsets-icedtea-3.11.0.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u201-b13.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u202-b08.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u212-b02.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u212-b03.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u212-b04.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u212-b04-shenandoah-merge-2019-04-30.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u222-b01.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u222-b02.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u222-b03.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u222-b04.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u222-b05.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u222-b06.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u222-b07.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u222-b08.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u222-b09.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u222-b10.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u232-b01.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u232-b02.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u232-b03.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u232-b04.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u232-b05.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u232-b05-shenandoah-merge-2019-09-09.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u232-b06.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u232-b07.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u232-b08.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u232-b09.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u242-b01.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u242-b02.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u242-b04.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u242-b05.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u242-b06.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u242-b07.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u242-b08.tar.xz
/tapsets-icedtea-3.15.0.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u252-b01-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u252-b01.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u252-b02-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u252-b02.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u252-b03-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u252-b04-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u252-b05-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u252-b06-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u252-b06.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u252-b07-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u252-b07.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u252-b08-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u252-b08.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u252-b09-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u252-b09.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b01-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b02-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b03-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b03-shenandoah-merge-2020-05-20-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b04-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b05-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b05-shenandoah-merge-2020-06-04-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b06-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b07-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b07-shenandoah-merge-2020-06-18-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b08-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b09-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b09-shenandoah-merge-2020-07-03-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u262-b10-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u265-b01-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u272-b01-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u272-b02-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u272-b03-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u272-b04-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u272-b05-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u272-b05-shenandoah-merge-2020-08-28-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u272-b06-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u272-b07-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u272-b08-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u272-b09-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u272-b10-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u272-b10.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u275-b01-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u275-b01.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u282-b01-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u282-b02-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u282-b03-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u282-b04-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u282-b05-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u282-b06-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u282-b07-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u282-b08-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u292-b01-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u292-b02-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u292-b03-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u292-b04-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u292-b05-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u292-b05-shenandoah-merge-2021-03-11-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u292-b06-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u292-b07-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u292-b08-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u292-b09-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u292-b10-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u302-b01-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u302-b02-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u302-b03-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u302-b03-shenandoah-merge-2021-06-23-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u302-b04-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u302-b05-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u302-b06-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u302-b07-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u302-b08-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u302-b08-4curve-clean.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u312-b01-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u312-b02-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u312-b03-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u312-b04-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u312-b05-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u312-b05-shenandoah-merge-2021-10-07-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u312-b07-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u322-b01-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u322-b02-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u322-b03-4curve.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u322-b04-4curve.tar.xz
/openjdk-shenandoah-jdk8u-aarch64-shenandoah-jdk8u322-b05-4curve.tar.xz
/openjdk-shenandoah-jdk8u-aarch64-shenandoah-jdk8u322-b06-4curve.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u332-b01-4curve.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u332-b06-4curve.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u332-b09-4curve.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u342-b06-4curve.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u342-b07-4curve.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u345-b01-4curve.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u352-b07-4curve.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u352-b08-4curve.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u362-b01-4curve.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u362-b07-4curve.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u362-b08-4curve.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u362-b09-4curve.tar.xz
/java-1.8.0-openjdk-portable-1.8.0.362.b08-4.portable.docs.el.aarch64.tar.xz
/java-1.8.0-openjdk-portable-1.8.0.362.b08-4.portable.docs.el.ppc64le.tar.xz
/java-1.8.0-openjdk-portable-1.8.0.362.b08-4.portable.docs.el.s390x.tar.xz
/java-1.8.0-openjdk-portable-1.8.0.362.b08-4.portable.docs.el.x86_64.tar.xz
/java-1.8.0-openjdk-portable-1.8.0.362.b08-4.portable.fastdebug.jdk.el.aarch64.tar.xz
/java-1.8.0-openjdk-portable-1.8.0.362.b08-4.portable.fastdebug.jdk.el.ppc64le.tar.xz
/java-1.8.0-openjdk-portable-1.8.0.362.b08-4.portable.fastdebug.jdk.el.x86_64.tar.xz
/java-1.8.0-openjdk-portable-1.8.0.362.b08-4.portable.misc.el.aarch64.tar.xz
/java-1.8.0-openjdk-portable-1.8.0.362.b08-4.portable.misc.el.ppc64le.tar.xz
/java-1.8.0-openjdk-portable-1.8.0.362.b08-4.portable.misc.el.s390x.tar.xz
/java-1.8.0-openjdk-portable-1.8.0.362.b08-4.portable.misc.el.x86_64.tar.xz
/java-1.8.0-openjdk-portable-1.8.0.362.b08-4.portable.slowdebug.jdk.el.aarch64.tar.xz
/java-1.8.0-openjdk-portable-1.8.0.362.b08-4.portable.slowdebug.jdk.el.ppc64le.tar.xz
/java-1.8.0-openjdk-portable-1.8.0.362.b08-4.portable.slowdebug.jdk.el.x86_64.tar.xz
/java-1.8.0-openjdk-portable-1.8.0.362.b08-4.portable.unstripped.jdk.el.aarch64.tar.xz
/java-1.8.0-openjdk-portable-1.8.0.362.b08-4.portable.unstripped.jdk.el.ppc64le.tar.xz
/java-1.8.0-openjdk-portable-1.8.0.362.b08-4.portable.unstripped.jdk.el.s390x.tar.xz
/java-1.8.0-openjdk-portable-1.8.0.362.b08-4.portable.unstripped.jdk.el.x86_64.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u372-b07-4curve.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u382-b01-4curve.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u382-b04-4curve.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u382-b05-4curve.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u392-b01.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u392-b07.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u392-b08.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u402-b01.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u402-b05.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u402-b06.tar.xz
/openjdk-shenandoah-jdk8u-shenandoah-jdk8u412-b01.tar.xz
/shenandoah8u412-b01.tar.xz
/shenandoah8u412-b07.tar.xz
/shenandoah8u412-b08.tar.xz
/shenandoah8u422-b01.tar.xz
/shenandoah8u422-b05.tar.xz
/shenandoah8u432-b05.tar.xz
/shenandoah8u432-b06.tar.xz
/shenandoah8u442-b01.tar.xz
/shenandoah8u442-b05.tar.xz
/shenandoah8u442-b06.tar.xz
/openjdk8u272-ga.tar.xz
/openjdk8u275-ga.tar.xz
/openjdk8u282-b01-ea.tar.xz
/openjdk8u282-b02-ea.tar.xz
/openjdk8u282-b03-ea.tar.xz
/openjdk8u282-b04-ea.tar.xz
/openjdk8u282-b05-ea.tar.xz
/openjdk8u282-b06-ea.tar.xz
/openjdk8u282-b07-ea.tar.xz
/openjdk8u282-ga.tar.xz
/openjdk8u282-b08-ea.tar.xz
/openjdk8u292-b01-ea.tar.xz
/openjdk8u292-b02-ea.tar.xz
/openjdk8u292-b03-ea.tar.xz
/openjdk8u292-b04-ea.tar.xz
/openjdk8u292-b05-ea.tar.xz
/openjdk8u292-b06-ea.tar.xz
/openjdk8u292-b07-ea.tar.xz
/openjdk8u292-b08-ea.tar.xz
/openjdk8u292-b09-ea.tar.xz
/openjdk8u292-b10-ea.tar.xz
/openjdk8u292-ga.tar.xz
/openjdk8u302-b01-ea.tar.xz
/openjdk8u302-b02-ea.tar.xz
/openjdk8u302-b03-ea.tar.xz
/openjdk8u302-b04-ea.tar.xz
/openjdk8u302-b05-ea.tar.xz
/openjdk8u302-b06-ea.tar.xz
/openjdk8u302-b07-ea.tar.xz
/openjdk8u302-ga.tar.xz
/openjdk8u312-b01-ea.tar.xz
/openjdk8u312-b02-ea.tar.xz
/openjdk8u312-b03-ea.tar.xz
/openjdk8u312-b04-ea.tar.xz
/openjdk8u312-b05-ea.tar.xz
/openjdk8u312-b06-ea.tar.xz
/openjdk8u312-ga.tar.xz
/openjdk8u322-b01-ea.tar.xz
/openjdk8u322-b02-ea.tar.xz
/openjdk8u322-b03-ea.tar.xz
/openjdk8u322-b04-ea.tar.xz
/openjdk8u322-b05-ea.tar.xz
/openjdk8u322-ga.tar.xz
/openjdk8u332-b01-ea.tar.xz
/openjdk8u332-b02-ea.tar.xz
/openjdk8u332-b03-ea.tar.xz
/openjdk8u332-b04-ea.tar.xz
/openjdk8u332-b05-ea.tar.xz
/openjdk8u332-b06-ea.tar.xz
/openjdk8u332-b09.tar.xz
/openjdk8u342-b01-ea.tar.xz
/openjdk8u342-b02-ea.tar.xz
/openjdk8u342-b03-ea.tar.xz
/openjdk8u342-b04-ea.tar.xz
/openjdk8u342-b05-ea.tar.xz
/openjdk8u342-b06-ea.tar.xz
/openjdk8u342-b07.tar.xz
/openjdk8u345-b01.tar.xz
/openjdk8u352-b01-ea.tar.xz
/openjdk8u352-b02-ea.tar.xz
/openjdk8u352-b03-ea.tar.xz
/openjdk8u352-b04-ea.tar.xz
/openjdk8u352-b05-ea.tar.xz
/openjdk8u352-b06-ea.tar.xz
/openjdk8u352-b07-ea.tar.xz
/openjdk8u352-b08.tar.xz
/openjdk8u362-b01-ea.tar.xz
/openjdk8u362-b02-ea.tar.xz
/openjdk8u362-b03-ea.tar.xz
/openjdk8u362-b04-ea.tar.xz
/openjdk8u362-b05-ea.tar.xz
/openjdk8u362-b06-ea.tar.xz
/openjdk8u362-b07-ea.tar.xz
/openjdk8u362-b08.tar.xz
/openjdk8u362-b09.tar.xz
/openjdk8u372-b01-ea.tar.xz
/openjdk8u372-b02-ea.tar.xz
/openjdk8u372-b03-ea.tar.xz
/openjdk8u372-b04-ea.tar.xz
/openjdk8u372-b05-ea.tar.xz
/openjdk8u372-b06-ea.tar.xz
/openjdk8u372-b07.tar.xz
/openjdk8u382-b01-ea.tar.xz
/openjdk8u382-b02-ea.tar.xz
/openjdk8u382-b03-ea.tar.xz
/openjdk8u382-b04-ea.tar.xz
/openjdk8u382-b05.tar.xz
/openjdk8u392-b01-ea.tar.xz
/openjdk8u392-b02-ea.tar.xz
/openjdk8u392-b04-ea.tar.xz
/openjdk8u392-b05-ea.tar.xz
/openjdk8u392-b06-ea.tar.xz
/openjdk8u392-b07-ea.tar.xz
/openjdk8u392-b08.tar.xz
/openjdk8u402-b01-ea.tar.xz
/openjdk8u402-b02-ea.tar.xz
/openjdk8u402-b03-ea.tar.xz
/openjdk8u402-b04-ea.tar.xz
/openjdk8u402-b05-ea.tar.xz
/openjdk8u402-b06.tar.xz
/openjdk8u412-b01-ea.tar.xz
/openjdk8u412-b02-ea.tar.xz
/openjdk8u412-b03-ea.tar.xz
/openjdk8u412-b04-ea.tar.xz
/openjdk8u412-b05-ea.tar.xz
/openjdk8u412-b06-ea.tar.xz
/openjdk8u412-b07-ea.tar.xz
/openjdk8u412-b08.tar.xz
/openjdk8u422-b01-ea.tar.xz
/openjdk8u422-b02-ea.tar.xz
/openjdk8u422-b03-ea.tar.xz
/openjdk8u422-b04-ea.tar.xz
/openjdk8u422-b05.tar.xz
/openjdk8u432-b01-ea.tar.xz
/openjdk8u432-b02-ea.tar.xz
/openjdk8u432-b03-ea.tar.xz
/openjdk8u432-b04-ea.tar.xz
/openjdk8u432-b05-ea.tar.xz
/openjdk8u432-b06.tar.xz
/openjdk8u442-b01-ea.tar.xz
/openjdk8u442-b02-ea.tar.xz
/openjdk8u442-b03-ea.tar.xz
/openjdk8u442-b04-ea.tar.xz
/openjdk8u442-b05-ea.tar.xz
/openjdk8u442-b06.tar.xz
/openjdk8u452-b01-ea.tar.xz
/openjdk8u452-b03-ea.tar.xz
/openjdk8u452-b04-ea.tar.xz
/openjdk8u452-b05-ea.tar.xz
/openjdk8u452-b06-ea.tar.xz
/openjdk8u452-b07-ea.tar.xz
/openjdk8u452-b08.tar.xz
/openjdk8u452-b09.tar.xz
/shenandoah8u452-b09.tar.xz
/shenandoah8u462-b08.tar.xz
/openjdk8u462-b01-ea.tar.xz
/openjdk8u462-b02-ea.tar.xz
/openjdk8u462-b03-ea.tar.xz
/openjdk8u462-b04-ea.tar.xz
/openjdk8u462-b05-ea.tar.xz
/openjdk8u462-b06-ea.tar.xz
/openjdk8u462-b07-ea.tar.xz
/openjdk8u462-b08.tar.xz
/openjdk8u472-b01-ea.tar.xz
/openjdk8u472-b02-ea.tar.xz
/openjdk8u472-b03-ea.tar.xz
/openjdk8u472-b04-ea.tar.xz
/openjdk8u472-b05-ea.tar.xz
/openjdk8u472-b06-ea.tar.xz
/openjdk8u472-b07-ea.tar.xz
/openjdk8u472-b08.tar.xz
/shenandoah8u472-b08.tar.xz

View File

@ -1,2 +0,0 @@
94dfa3718b7228b2c02cce1242172a0de3cbe70f SOURCES/shenandoah8u462-b08.tar.xz
7ae2cba67467825b2c2a5fec7aea041865023002 SOURCES/tapsets-icedtea-3.15.0.tar.xz

View File

@ -3,6 +3,85 @@ Key:
JDK-X - https://bugs.openjdk.java.net/browse/JDK-X
CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
New in release OpenJDK 8u472 (2025-10-21):
===========================================
Live versions of these release notes can be found at:
* https://bit.ly/openjdk8u472
* CVEs
- CVE-2025-53057
- CVE-2025-53066
* Changes
- JDK-7102969: currency.properties supercede not working correctly
- JDK-8041924: [TESTBUG] sun/net/www/http/ChunkedOutputStream/checkError.java fails on some systems
- JDK-8044051: Test jdk/lambda/vm/InterfaceAccessFlagsTest.java gets IOException during compilation
- JDK-8056283: @ignore tools/javac/defaultMethods/Assertions.java until JDK-8047675 is fixed
- JDK-8081734: ConcurrentHashMap/ConcurrentAssociateTest.java, times out 90% of time on sparc with 256 cpu.
- JDK-8157138: Error while fetching currency instance by Currency.getInstance(currencycode)
- JDK-8160767: [TEST_BUG] java/awt/Frame/MaximizedToIconified/MaximizedToIconified.java
- JDK-8185348: Major performance regression in GetMethodDeclaringClass and other JVMTI Method functions
- JDK-8185500: [TESTBUG] Add keywords headful/printer in java/awt and javax tests.
- JDK-8186259: IOExceptionIfEncodedURLTest.sh versus IOExceptionIfEncodedURLTest.java
- JDK-8205653: test/jdk/sun/management/jmxremote/bootstrap/RmiRegistrySslTest.java and RmiSslBootstrapTest.sh fail with handshake_failure
- JDK-8228658: test GetTotalSafepointTime.java fails on fast Linux machines with Total safepoint time 0 ms
- JDK-8275303: sun/java2d/pipe/InterpolationQualityTest.java fails with D3D basic render driver
- JDK-8312065: Socket.connect does not timeout when profiling
- JDK-8335978: [8u] incorrect include file name in semaphore.inline.hpp
- JDK-8339414: Fix JDK-8202369 incorrect backport for 8u
- JDK-8340387: Update OS detection code to recognize Windows Server 2025
- JDK-8345414: Google CAInterop test failures
- JDK-8348760: RadioButton is not shown if JRadioButtonMenuItem is rendered with ImageIcon in WindowsLookAndFeel
- JDK-8351624: [8u] Xerces-J version wrong in THIRD_PARTY_README after JDK-7150324
- JDK-8352302: Test sun/security/tools/jarsigner/TimestampCheck.java is failing
- JDK-8352637: Enhance bytecode verification
- JDK-8356294: Enhance Path Factories
- JDK-8358328: Bump update version of OpenJDK: 8u472
- JDK-8358538: Update GHA Windows runner to 2025
- JDK-8360937: Enhance certificate handling
- JDK-8361212: Remove AffirmTrust root CAs
- JDK-8363965: GHA: Switch cross-compiling sysroots to Debian bookworm
- JDK-8365375: Method SU3.setAcceleratorSelectionForeground assigns to acceleratorForeground
- JDK-8365389: Remove static color fields from SwingUtilities3 and WindowsMenuItemUI
- JDK-8365560: [8u] ppc64le MaxRAM default is too low at 4GiB
- JDK-8365811: test/jdk/java/net/CookieHandler/B6644726.java failure - "Should have 5 cookies. Got only 4, expires probably didn't parse correctly"
- JDK-8366112: [8u] GHA: Fix broken installation of Windows SDK
- JDK-8368308: ISO 4217 Amendment 180 Update
Notes on individual issues:
===========================
security-libs/java.security:
JDK-8361212: Remove AffirmTrust root CAs
========================================
The following root certificates from AffirmTrust, which were
deactivated in the 8u432 release of October 2024, have been removed
from the `cacerts` keystore:
Alias name: affirmtrustcommercialca [jdk]
CN=AffirmTrust Commercial
O=AffirmTrust
C=US
SHA256: 03:76:AB:1D:54:C5:F9:80:3C:E4:B2:E2:01:A0:EE:7E:EF:7B:57:B6:36:E8:A9:3C:9B:8D:48:60:C9:6F:5F:A7
Alias name: affirmtrustnetworkingca [jdk]
CN=AffirmTrust Networking
O=AffirmTrust
C=US
SHA256: 0A:81:EC:5A:92:97:77:F1:45:90:4A:F3:8D:5D:50:9F:66:B5:E2:C5:8F:CD:B5:31:05:8B:0E:17:F3:F0B4:1B
Alias name: affirmtrustpremiumca [jdk]
CN=AffirmTrust Premium
O=AffirmTrust
C=US
SHA256: 70:A7:3F:7F:37:6B:60:07:42:48:90:45:34:B1:14:82:D5:BF:0E:69:8E:CC:49:8D:F5:25:77:EB:F2:E9:3B:9A
Alias name: affirmtrustpremiumeccca [jdk]
CN=AffirmTrust Premium ECC
O=AffirmTrust
C=US
SHA256: BD:71:FD:F6:DA:97:E4:CF:62:D1:64:7A:DD:25:81:B0:7D:79:AD:F8:39:7E:B4:EC:BA:9C:5E:84:88:82:14:23
New in release OpenJDK 8u462 (2025-07-15):
===========================================
Live versions of these release notes can be found at:

View File

@ -1,63 +0,0 @@
commit 51b6307937d9584f8690e4916444e479eeafff28
Author: Thomas Fitzsimmons <fitzsim@redhat.com>
Date: Mon Jun 16 23:04:07 2025 +0000
8339414: Fix JDK-8202369 incorrect backport for 8u
Reviewed-by: andrew
diff --git a/jdk/src/solaris/native/java/net/Inet4AddressImpl.c b/jdk/src/solaris/native/java/net/Inet4AddressImpl.c
index e30851df576..8b2e3cdce93 100644
--- a/jdk/src/solaris/native/java/net/Inet4AddressImpl.c
+++ b/jdk/src/solaris/native/java/net/Inet4AddressImpl.c
@@ -332,37 +332,33 @@ Java_java_net_Inet4AddressImpl_getHostByAddr(JNIEnv *env, jobject this,
*/
JNIEXPORT jstring JNICALL
Java_java_net_Inet4AddressImpl_getLocalHostName(JNIEnv *env, jobject this) {
- char hostname[NI_MAXHOST+1];
+ char hostname[NI_MAXHOST + 1];
hostname[0] = '\0';
if (JVM_GetHostName(hostname, sizeof(hostname))) {
- /* Something went wrong, maybe networking is not setup? */
strcpy(hostname, "localhost");
} else {
+#if defined(__solaris__)
+ // try to resolve hostname via nameservice
+ // if it is known but getnameinfo fails, hostname will still be the
+ // value from gethostname
struct addrinfo hints, *res;
- int error;
+ // make sure string is null-terminated
hostname[NI_MAXHOST] = '\0';
memset(&hints, 0, sizeof(hints));
hints.ai_flags = AI_CANONNAME;
hints.ai_family = AF_INET;
- error = getaddrinfo(hostname, NULL, &hints, &res);
-
- if (error == 0) {/* host is known to name service */
- getnameinfo(res->ai_addr,
- res->ai_addrlen,
- hostname,
- NI_MAXHOST,
- NULL,
- 0,
- NI_NAMEREQD);
-
- /* if getnameinfo fails hostname is still the value
- from gethostname */
-
+ if (getaddrinfo(hostname, NULL, &hints, &res) == 0) {
+ getnameinfo(res->ai_addr, res->ai_addrlen, hostname, NI_MAXHOST,
+ NULL, 0, NI_NAMEREQD);
freeaddrinfo(res);
}
+#else
+ // make sure string is null-terminated
+ hostname[NI_MAXHOST] = '\0';
+#endif
}
return (*env)->NewStringUTF(env, hostname);
}

View File

7
gating.yaml Normal file
View File

@ -0,0 +1,7 @@
# recipients: java-qa
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

View File

@ -269,7 +269,7 @@
# Define version of OpenJDK 8 used
%global project openjdk
%global repo shenandoah-jdk8u
%global openjdk_revision 8u462-b08
%global openjdk_revision 8u472-b08
%global shenandoah_revision shenandoah%{openjdk_revision}
# Define IcedTea version used for SystemTap tapsets and desktop file
%global icedteaver 3.15.0
@ -608,7 +608,6 @@ Patch15: jdk8141590-bundle_libffi-followup.patch
# able to be removed once that release is out
# and used by this RPM.
#############################################
Patch901: jdk8339414-fix_8202369_backport.patch
#############################################
#
@ -885,7 +884,6 @@ popd
# Early fixes
pushd %{top_level_dir_name}
%patch -P901 -p1
popd
pushd %{top_level_dir_name}
@ -1553,6 +1551,37 @@ done
%endif
%changelog
* Thu Oct 16 2025 Andrew Hughes <gnu.andrew@redhat.com> - 1:1.8.0.472.b08-1
- Update to 8u472-b08 (GA).
- Update release notes for 8u472-b08.
- Drop local JDK-8339414 fix as this is now included upstream
- ** This tarball is embargoed until 2025-10-21 @ 1pm PT. **
- Resolves: OPENJDK-4125
* Sat Oct 04 2025 Andrew Hughes <gnu.andrew@redhat.com> - 1:1.8.0.462.b08-2
- Update get_bundle_versions.sh to match other scripts
- * get_bundle_versions.sh: Add license
- * get_bundle_versions.sh: Set compile-command in Emacs
- * get_bundle_versions.sh: Use different error codes for different failures
- * get_bundle_versions.sh: Remove unneeded '.' in JPEG version
- * get_bundle_versions.sh: shellcheck: Double-quote variable references (SC2086)
- * get_bundle_versions.sh: shellcheck: Drop use of cat and pass file to awk directly (SC2002)
- Add OpenJDK 8u support to get_bundle_versions.sh
- Print bundle updates and backouts at end of openjdk_news.sh output
- Refer user to get_bundle_versions.sh when bundle updates are found by openjdk_news.sh
- Add timezone data update check to openjdk_news.sh
- Add duplicate check to openjdk_news.sh
- Exit if no fixes are obtained rather than try to run filters in openjdk_news.sh
- Resolves: OPENJDK-3952
* Fri Oct 03 2025 Antonio Vieiro <avieirov@redhat.com> - 1:1.8.0.462.b08-2
- Add script to obtain bundled library versions from OpenJDK sources
- Related: OPENJDK-3952
* Mon Sep 29 2025 Thomas Fitzsimmons <fitzsim@redhat.com> - 1:1.8.0.462.b08-2
- Warn about bundled provide version bumps and backouts in openjdk_news.sh
- Related: OPENJDK-3952
* Thu Jul 10 2025 Andrew Hughes <gnu.andrew@redhat.com> - 1:1.8.0.462.b08-1
- Update to 8u462-b08 (GA)
- Update release notes for 8u462-b08.

File diff suppressed because it is too large Load Diff

View File

@ -16,7 +16,7 @@ diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenan
Atomic::add(val, &_sum);
- int mag = log2_intptr(val) + 1;
+ int mag = log2_long(val) + 1;
+ int mag = log2_intptr((uintptr_t)val) + 1;
// Defensively saturate for product bits:
if (mag < 0) {

29
scripts/builds/build_centos.sh Executable file
View File

@ -0,0 +1,29 @@
#!/bin/sh
# Copyright (C) 2024 Red Hat, Inc.
# Written by:
# Andrew John Hughes <gnu.andrew@redhat.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Builds the RPM on CentOS 9 or 10
centpkg -v build
# Local Variables:
# compile-command: "shellcheck build_centos.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:

View File

@ -0,0 +1,29 @@
#!/bin/sh
# Copyright (C) 2024 Red Hat, Inc.
# Written by:
# Andrew John Hughes <gnu.andrew@redhat.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Builds the portable on CentOS
centpkg -v build --target java-openjdk-portable-build --rhel-target none
# Local Variables:
# compile-command: "shellcheck build_centos_portable_build.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:

View File

@ -0,0 +1,29 @@
#!/bin/sh
# Copyright (C) 2024 Red Hat, Inc.
# Written by:
# Andrew John Hughes <gnu.andrew@redhat.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Builds the portable on RHEL 7
rhpkg -v build
# Local Variables:
# compile-command: "shellcheck build_rhel_7_portable_build.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:

43
scripts/builds/build_rhel_8.sh Executable file
View File

@ -0,0 +1,43 @@
#!/bin/sh
# Copyright (C) 2024 Red Hat, Inc.
# Written by:
# Andrew John Hughes <gnu.andrew@redhat.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Builds the RPM on RHEL 8
NVR=${1}
USER=${2}
if test "${NVR}" = ""; then
echo "${0} <NVR> <USER>";
exit 1;
fi
if test "${USER}" = ""; then
echo "${0} <NVR> <USER>";
exit 2;
fi
METADATA="{\"osci\": {\"upstream_nvr\": \"${NVR}\", \"upstream_owner_name\": \"${USER}\"}, \"rhel-target\": \"latest\"}"
rhpkg -v build --target=java-openjdk-rhel-8-build --custom-user-metadata "${METADATA}"
# Local Variables:
# compile-command: "shellcheck build_rhel_8.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:

43
scripts/builds/build_rhel_9.sh Executable file
View File

@ -0,0 +1,43 @@
#!/bin/sh
# Copyright (C) 2024 Red Hat, Inc.
# Written by:
# Andrew John Hughes <gnu.andrew@redhat.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Builds the RPM on RHEL 9
NVR=${1}
USER=${2}
if test "${NVR}" = ""; then
echo "${0} <NVR> <USER>";
exit 1;
fi
if test "${USER}" = ""; then
echo "${0} <NVR> <USER>";
exit 2;
fi
METADATA="{\"osci\": {\"upstream_nvr\": \"${NVR}\", \"upstream_owner_name\": \"${USER}\"}, \"rhel-target\": \"latest\"}"
rhpkg -v build --target=java-openjdk-rhel-9-build --custom-user-metadata "${METADATA}"
# Local Variables:
# compile-command: "shellcheck build_rhel_9.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:

View File

@ -0,0 +1,29 @@
#!/bin/sh
# Copyright (C) 2024 Red Hat, Inc.
# Written by:
# Andrew John Hughes <gnu.andrew@redhat.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Builds the portable on RHEL 8
rhpkg -v build --target=java-openjdk-rhel-8-build --skip-nvr-check
# Local Variables:
# compile-command: "shellcheck build_rhel_portable_build.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:

43
scripts/builds/build_vanilla.sh Executable file
View File

@ -0,0 +1,43 @@
#!/bin/sh
# Copyright (C) 2024 Red Hat, Inc.
# Written by:
# Andrew John Hughes <gnu.andrew@redhat.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Builds a scratch build of vanilla OpenJDK with no local patches
SEPARATE_ARCHES=${1}
CMD="--target java-openjdk-rhel-8-build --skip-nvr-check --nowait";
SUPPORTED_ARCHES="aarch64 ppc64le s390x x86_64";
if [ "x${SEPARATE_ARCHES}" = "x" ] ; then
SEPARATE_ARCHES=0;
fi
if [ ${SEPARATE_ARCHES} -eq 1 ] ; then
for arch in ${SUPPORTED_ARCHES}; do \
rhpkg -v build --arches ${arch} --scratch ${CMD} ; \
done && brew watch-task --mine
else
rhpkg -v build ${CMD} && brew watch-task --mine
fi
# Local Variables:
# compile-command: "shellcheck build_vanilla.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:

42
scripts/builds/tag_rhel_8.sh Executable file
View File

@ -0,0 +1,42 @@
#!/bin/sh
# Copyright (C) 2025 Red Hat, Inc.
# Written by:
# Andrew John Hughes <gnu.andrew@redhat.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Tag RHEL 8 RPMs into all supported streams
SUPPORTED_VERS="8.2.0-z 8.4.0-z 8.6.0-z 8.8.0-z 8.10.0-z"
BUILD=${1}
if test "${BUILD}" = ""; then
echo "${0} <BUILD>";
exit 1;
fi
for ver in ${SUPPORTED_VERS}; do
tag="rhel-${ver}-gate";
echo "Tagging ${BUILD} into ${tag}";
brew tag-build --nowait ${tag} ${BUILD};
done
brew watch-task --mine
# Local Variables:
# compile-command: "shellcheck tag_rhel_8.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:

View File

@ -0,0 +1,42 @@
#!/bin/sh
# Copyright (C) 2025 Red Hat, Inc.
# Written by:
# Andrew John Hughes <gnu.andrew@redhat.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Tag embargoed RHEL 8 RPMs into supported z-streams
SUPPORTED_VERS="8.2.0-z 8.4.0-z 8.6.0-z 8.8.0-z 8.10.0-z"
BUILD=${1}
if test "${BUILD}" = ""; then
echo "${0} <BUILD>";
exit 1;
fi
for ver in ${SUPPORTED_VERS}; do
tag="rhel-${ver}-nocompose-candidate";
echo "Tagging ${BUILD} into ${tag}";
brew tag-build --nowait ${tag} ${BUILD};
done
brew watch-task --mine
# Local Variables:
# compile-command: "shellcheck tag_rhel_8_nocompose.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:

42
scripts/builds/tag_rhel_9.sh Executable file
View File

@ -0,0 +1,42 @@
#!/bin/sh
# Copyright (C) 2025 Red Hat, Inc.
# Written by:
# Andrew John Hughes <gnu.andrew@redhat.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Tag RHEL 9 RPMs into all supported streams
SUPPORTED_VERS="9.0.0-z 9.2.0-z 9.4.0-z 9.6.0-z 9.7.0-z 9.8.0"
BUILD=${1}
if test "${BUILD}" = ""; then
echo "${0} <BUILD>";
exit 1;
fi
for ver in ${SUPPORTED_VERS}; do
tag="rhel-${ver}-gate";
echo "Tagging ${BUILD} into ${tag}";
brew tag-build --nowait ${tag} ${BUILD};
done
brew watch-task --mine
# Local Variables:
# compile-command: "shellcheck tag_rhel_9.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:

View File

@ -0,0 +1,42 @@
#!/bin/sh
# Copyright (C) 2025 Red Hat, Inc.
# Written by:
# Andrew John Hughes <gnu.andrew@redhat.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Tag embargoed RHEL 9 RPMs into supported z-streams
SUPPORTED_VERS="9.0.0-z 9.2.0-z 9.4.0-z 9.6.0-z"
BUILD=${1}
if test "${BUILD}" = ""; then
echo "${0} <BUILD>";
exit 1;
fi
for ver in ${SUPPORTED_VERS}; do
tag="rhel-${ver}-nocompose-candidate";
echo "Tagging ${BUILD} into ${tag}";
brew tag-build --nowait ${tag} ${BUILD};
done
brew watch-task --mine
# Local Variables:
# compile-command: "shellcheck tag_rhel_9_nocompose.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:

61
scripts/discover_trees.sh Executable file
View File

@ -0,0 +1,61 @@
#!/bin/sh
# Copyright (C) 2024 Red Hat, Inc.
# Written by Andrew John Hughes <gnu.andrew@redhat.com>.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
TREE=${1}
if test "${TREE}" = ""; then
TREE=${PWD}
fi
if [ -e "${TREE}"/nashorn/.hg ] || [ -e "${TREE}"/nashorn/merge.changeset ] ; then
NASHORN="nashorn" ;
fi
if [ -e "${TREE}"/corba/.hg ] || [ -e "${TREE}"/corba/merge.changeset ] ; then
CORBA="corba";
fi
if [ -e "${TREE}"/jaxp/.hg ] || [ -e "${TREE}"/jaxp/merge.changeset ] ; then
JAXP="jaxp";
fi
if [ -e "${TREE}"/jaxws/.hg ] || [ -e "${TREE}"/jaxws/merge.changeset ] ; then
JAXWS="jaxws";
fi
if [ -e "${TREE}"/langtools/.hg ] || [ -e "${TREE}"/langtools/merge.changeset ] ; then
LANGTOOLS="langtools";
fi
if [ -e "${TREE}"/jdk/.hg ] || [ -e "${TREE}"/jdk/merge.changeset ] ; then
JDK="jdk";
fi
if [ -e "${TREE}"/hotspot/.hg ] || [ -e "${TREE}"/hotspot/merge.changeset ] ; then
HOTSPOT="hotspot";
fi
SUBTREES="${CORBA} ${JAXP} ${JAXWS} ${LANGTOOLS} ${NASHORN} ${JDK} ${HOTSPOT}";
echo "${SUBTREES}"
# Local Variables:
# compile-command: "shellcheck discover_trees.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:

View File

@ -0,0 +1,322 @@
#!/bin/bash
# Copyright (C) 2024 Red Hat, Inc.
# Written by:
# Andrew John Hughes <gnu.andrew@redhat.com>
# Thomas Fitzsimmons <fitzsim@redhat.com>
# Jiri Vanek <jvanek@redhat.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Generates the source tarball for OpenJDK projects.
#
# There are multiple ways to specify the source code location and version:
#
# 1. Specify the version (VERSION), the location of the Git repository
# (REPO_ROOT) and the root of the output tarball name (FILE_NAME_ROOT)
# 2. Specify the version (VERSION) along with an upstream project name
# (PROJECT_NAME) and repository name (REPO_NAME) that can be used
# to construct the URL of the upstream OpenJDK repository.
# 3. Specify OPENJDK_LATEST=1 and allow the script to obtain the JDK
# feature version from the spec file, which is then used to
# obtain the latest build promotion from the upstream repository.
#
# An appropriate bootstrap JDK is also required for when ./configure
# is run within the checked out repository to generate the .src-rev.
# file. This can be specified by setting BOOT_JDK.
#
# Example 1:
# This will check out the specified version from the specified
# repository and construct a tarball called openjdk-17.0.3+5.tar.xz:
#
# $ VERSION=jdk-17.0.3+5 FILE_NAME_ROOT=open${VERSION} \
# REPO_ROOT=$HOME/projects/openjdk/upstream/17u \
# BOOT_JDK=/usr/lib/jvm/java-17-openjdk ./generate_source_tarball.sh
#
# Example 2:
# This will check out the same version as example 1, but from the
# upstream repository:
#
# $ VERSION=jdk-17.0.3+5 PROJECT_NAME=openjdk REPO_NAME=jdk17u \
# BOOT_JDK=/usr/lib/jvm/java-17-openjdk ./generate_source_tarball.sh
#
# Example 3:
# This will read the OpenJDK feature version from the spec file, then create a
# tarball from the most recent tag for that version in the upstream Git
# repository.
#
# $ OPENJDK_LATEST=1 \
# BOOT_JDK=/usr/lib/jvm/java-17-openjdk ./generate_source_tarball.sh
#
SCRIPT_DIR=$(dirname "$0")
JCONSOLE_PATCH_DEFAULT=${SCRIPT_DIR}/jconsole-plugin.patch
if [ "x${JCONSOLE_PATCH}" != "x" ] ; then
if [ ! -f "${JCONSOLE_PATCH}" ] ; then
echo "You have specified the jconsole.js patch as ${JCONSOLE_PATCH} but it does not exist. Exiting.";
exit 2;
fi
else
JCONSOLE_PATCH=${JCONSOLE_PATCH_DEFAULT}
fi
set -e
OPENJDK_URL_DEFAULT=https://github.com
COMPRESSION_DEFAULT=xz
if [ "$1" = "help" ] ; then
echo "Behaviour may be specified by setting the following variables:"
echo
echo "VERSION - the version of the specified OpenJDK project"
echo " (required unless OPENJDK_LATEST is set)"
echo "PROJECT_NAME - the name of the OpenJDK project being archived"
echo " (needed to compute REPO_ROOT and/or"
echo " FILE_NAME_ROOT automatically;"
echo " optional if they are set explicitly)"
echo "REPO_NAME - the name of the OpenJDK repository"
echo " (needed to compute REPO_ROOT automatically;"
echo " optional if REPO_ROOT is set explicitly)"
echo "OPENJDK_URL - the URL to retrieve code from"
echo " (defaults to ${OPENJDK_URL_DEFAULT})"
echo "COMPRESSION - the compression type to use"
echo " (defaults to ${COMPRESSION_DEFAULT})"
echo "FILE_NAME_ROOT - name of the archive, minus extensions"
echo " (defaults to PROJECT_NAME-VERSION)"
echo "REPO_ROOT - the location of the Git repository to archive"
echo " (defaults to OPENJDK_URL/PROJECT_NAME/REPO_NAME.git)"
echo "TO_COMPRESS - what part of clone to pack"
echo " (defaults to ${VERSION})"
echo "JCONSOLE_PATCH - the path to a patch to fix non-availiability of"
echo " jconsole.js (optional; defaults to ${JCONSOLE_PATCH_DEFAULT})"
echo "BOOT_JDK - the bootstrap JDK to satisfy the configure run"
echo " (defaults to packaged JDK version)"
echo "WITH_TEMP - run in a temporary directory"
echo " (defaults to disabled)"
echo "OPENJDK_LATEST - deduce VERSION from most recent upstream tag"
echo " (implies WITH_TEMP, computes everything else"
echo " automatically; Note: accesses network to read"
echo " tag list from remote Git repository)"
exit 1;
fi
if [ "$OPENJDK_LATEST" != "" ] ; then
FEATURE_VERSION=$(echo '%majorver' \
| rpmspec --shell ./*.spec 2>/dev/null \
| grep --after-context 1 majorver \
| tail --lines 1)
PROJECT_NAME=openjdk
REPO_NAME=shenandoah-jdk"${FEATURE_VERSION}"u
# FIXME: Temporarily use private fork until main repository is in sync
# Skip -ga tags since those are the same as the most recent non-ga tag, and
# the non-ga tag is the one that is used to generated the official source
# tarball. For example:
# ca760c86642aa2e0d9b571aaabac054c0239fbdc refs/tags/jdk-17.0.10-ga^{}
# 25a2e6c20c9a96853714284cabc6b456eb095070 refs/tags/jdk-17.0.10-ga
# ca760c86642aa2e0d9b571aaabac054c0239fbdc refs/tags/jdk-17.0.10+7^{}
# e49c5749b10f3e90274b72e9279f794fdd191d27 refs/tags/jdk-17.0.10+7
VERSION=$(git ls-remote --tags --refs --sort=-version:refname \
"${OPENJDK_URL_DEFAULT}/gnu-andrew/${REPO_NAME}.git" \
"shenandoah${FEATURE_VERSION}u*" \
| grep --invert-match '\-ga$' \
| head --lines 1 | cut --characters 52-)
FILE_NAME_ROOT=${VERSION}
WITH_TEMP=1
fi
if [ "$WITH_TEMP" != "" ] ; then
pushd "$(mktemp --directory --tmpdir temp-generated-source-tarball-XXX)"
fi
if [ "$VERSION" = "" ] ; then
echo "No VERSION specified"
exit 2
fi
echo "Version: ${VERSION}"
NUM_VER=${VERSION##shenandoah}
RELEASE_VER=${NUM_VER%%-b*}
BUILD_VER=${NUM_VER##*-}
MAJOR_VER=${RELEASE_VER%%u*}
echo "Major version is ${MAJOR_VER}, release ${RELEASE_VER}, build ${BUILD_VER}"
if [ "$BOOT_JDK" = "" ] ; then
echo "No boot JDK specified".
BOOT_JDK=/usr/lib/jvm/java-1.${MAJOR_VER}.0-openjdk;
echo -n "Checking for ${BOOT_JDK}...";
if [ -d "${BOOT_JDK}" ] && [ -x "${BOOT_JDK}"/bin/java ] ; then
echo "Boot JDK found at ${BOOT_JDK}";
else
echo "Not found";
PREV_VER=$((MAJOR_VER - 1));
BOOT_JDK=/usr/lib/jvm/java-1.${PREV_VER}.0-openjdk;
echo -n "Checking for ${BOOT_JDK}...";
if [ -d ${BOOT_JDK} ] && [ -x ${BOOT_JDK}/bin/java ] ; then
echo "Boot JDK found at ${BOOT_JDK}";
else
echo "Not found";
exit 4;
fi
fi
else
echo "Boot JDK: ${BOOT_JDK}";
fi
if [ "$OPENJDK_URL" = "" ] ; then
OPENJDK_URL=${OPENJDK_URL_DEFAULT}
echo "No OpenJDK URL specified; defaulting to ${OPENJDK_URL}"
else
echo "OpenJDK URL: ${OPENJDK_URL}"
fi
if [ "$COMPRESSION" = "" ] ; then
# rhel 5 needs tar.gz
COMPRESSION=${COMPRESSION_DEFAULT}
fi
echo "Creating a tar.${COMPRESSION} archive"
if [ "$FILE_NAME_ROOT" = "" ] ; then
if [ "$PROJECT_NAME" = "" ] ; then
echo "No PROJECT_NAME specified, needed by FILE_NAME_ROOT"
exit 1
fi
FILE_NAME_ROOT=${PROJECT_NAME}-${VERSION}
echo "No file name root specified; default to ${FILE_NAME_ROOT}"
fi
if [ "$REPO_ROOT" = "" ] ; then
if [ "$PROJECT_NAME" = "" ] ; then
echo "No PROJECT_NAME specified, needed by REPO_ROOT"
exit 1
fi
if [ "$REPO_NAME" = "" ] ; then
echo "No REPO_NAME specified, needed by REPO_ROOT"
exit 3
fi
REPO_ROOT="${OPENJDK_URL}/${PROJECT_NAME}/${REPO_NAME}.git"
echo "No repository root specified; default to ${REPO_ROOT}"
fi;
if [ "$TO_COMPRESS" = "" ] ; then
TO_COMPRESS="${VERSION}"
echo "No targets to be compressed specified ; default to ${TO_COMPRESS}"
fi;
echo -e "Settings:"
echo -e "\tVERSION: ${VERSION}"
echo -e "\tPROJECT_NAME: ${PROJECT_NAME}"
echo -e "\tREPO_NAME: ${REPO_NAME}"
echo -e "\tOPENJDK_URL: ${OPENJDK_URL}"
echo -e "\tCOMPRESSION: ${COMPRESSION}"
echo -e "\tFILE_NAME_ROOT: ${FILE_NAME_ROOT}"
echo -e "\tREPO_ROOT: ${REPO_ROOT}"
echo -e "\tTO_COMPRESS: ${TO_COMPRESS}"
echo -e "\tJCONSOLE_PATCH: ${JCONSOLE_PATCH}"
echo -e "\tBOOT_JDK: ${BOOT_JDK}"
if [ -d "${FILE_NAME_ROOT}" ] ; then
echo "Reusing existing ${FILE_NAME_ROOT}"
STAT_TIME="$(stat --format=%Y "${FILE_NAME_ROOT}")"
TAR_TIME="$(date --date=@"${STAT_TIME}" --iso-8601=seconds)"
else
mkdir "${FILE_NAME_ROOT}"
pushd "${FILE_NAME_ROOT}"
echo "Cloning ${VERSION} root repository from ${REPO_ROOT}"
if realpath -q "${REPO_ROOT}"; then
echo "Local path detected; not adding depth argument";
else
DEPTH="--depth=1";
echo "Remote repository detected; adding ${DEPTH}";
fi
git clone ${DEPTH} -b "${VERSION}" "${REPO_ROOT}" "${VERSION}"
pushd "${VERSION}"
TAR_TIME="$(git log --max-count 1 --format=%cI)"
# UnderlineTaglet.java has a BSD license with a field-of-use restriction, making it non-Free
if [ -d langtools ] ; then
echo "Removing langtools test case with non-Free license"
rm -vf langtools/test/tools/javadoc/api/basic/TagletPathTest.java
rm -vf langtools/test/tools/javadoc/api/basic/taglets/UnderlineTaglet.java
fi
if [ -d jdk ]; then
# jconsole.js has a BSD license with a field-of-use restriction, making it non-Free
echo "Removing jconsole-plugin file with non-Free license"
rm -vf jdk/src/share/demo/scripting/jconsole-plugin/src/resources/jconsole.js
fi
echo "Patching out use of jconsole.js"
git apply --stat --apply -v -p1 "${JCONSOLE_PATCH}"
find . -name '*.orig' -exec rm -vf '{}' ';'
popd
popd
fi
pushd "${FILE_NAME_ROOT}"
# Generate .src-rev so build has knowledge of the revision the tarball was
# created from
mkdir build
pushd build
sh "${PWD}"/../"${VERSION}"/configure --with-boot-jdk="${BOOT_JDK}"
make store-source-revision
popd
rm -rf build
# Remove commit checks
echo "Removing $(find "${VERSION}" -name '.jcheck' -print)"
find "${VERSION}" -name '.jcheck' -print0 | xargs -0 rm -r
# Remove history and GHA
echo "find ${VERSION} -name '.hgtags'"
find "${VERSION}" -name '.hgtags' -exec rm -v '{}' '+'
echo "find ${VERSION} -name '.hgignore'"
find "${VERSION}" -name '.hgignore' -exec rm -v '{}' '+'
echo "find ${VERSION} -name '.gitattributes'"
find "${VERSION}" -name '.gitattributes' -exec rm -v '{}' '+'
echo "find ${VERSION} -name '.gitignore'"
find "${VERSION}" -name '.gitignore' -exec rm -v '{}' '+'
# Work around some Git objects not having write permissions.
echo "chmod --recursive u+w ${VERSION}/.git"
chmod --recursive u+w "${VERSION}"/.git
echo "find ${VERSION} -name '.git'"
find "${VERSION}" -name '.git' -exec rm -rv '{}' '+'
echo "find ${VERSION} -name '.github'"
find "${VERSION}" -name '.github' -exec rm -rv '{}' '+'
echo "Compressing remaining forest"
if [ "$COMPRESSION" = "xz" ] ; then
SWITCH=cJf
else
SWITCH=czf
fi
TARBALL_NAME=${FILE_NAME_ROOT}.tar.${COMPRESSION}
XZ_OPT=${XZ_OPT-"-T0"} \
tar --mtime="${TAR_TIME}" --owner=root --group=root --sort=name \
--exclude-vcs -$SWITCH "${TARBALL_NAME}" "${TO_COMPRESS}"
mv "${TARBALL_NAME}" ..
popd
if [ "$WITH_TEMP" != "" ] ; then
echo "Tarball is: $(realpath .)/${TARBALL_NAME}"
popd
else
echo -n "Done. You may want to remove the uncompressed version"
echo " - $FILE_NAME_ROOT"
fi
# Local Variables:
# compile-command: "shellcheck generate_source_tarball.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:

172
scripts/get_bundle_versions.sh Executable file
View File

@ -0,0 +1,172 @@
#!/usr/bin/env sh
# Copyright (C) 2025 Red Hat, Inc.
# Original written by Antonio Vieiro <avieirov@redhat.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
if [ $# -ne 1 ]; then
echo "Usage: $0 openjdk-root-directory"
exit 1
fi
JDKROOT=$1
if [ ! -d "${JDKROOT}" ] ; then
echo "${JDKROOT} is not a directory.";
exit 2
fi
# Work out the OpenJDK version
# OpenJDK >= 10 has its version in the build machinery
# OpenJDK >= 17 stores it in a new location (JDK-8258246)
VERSION_FILE="${JDKROOT}"/make/conf/version-numbers.conf
printf "Checking for %s..." "${VERSION_FILE}";
if [ ! -f "${VERSION_FILE}" ] ; then
VERSION_FILE="${JDKROOT}"/make/autoconf/version-numbers
echo "Not found; using old version file ${VERSION_FILE}";
else
echo "found.";
fi
if [ -e "${VERSION_FILE}" ] ; then
openjdk_version=$(grep '^DEFAULT_VERSION_FEATURE' "${VERSION_FILE}" | cut -d '=' -f 2)
elif [ -e "${JDKROOT}"/jdk/src/java.base/share/classes/java/lang/Object.java ] ; then
openjdk_version=9;
elif [ -e "${JDKROOT}"/common/autoconf ] ; then
openjdk_version=8;
else
openjdk_version=7;
fi
echo "OpenJDK version: ${openjdk_version}";
#
# Freetype
#
if [ "${openjdk_version}" -gt 8 ] ; then
FREETYPE=src/java.desktop/share/native/libfreetype/include/freetype/freetype.h
ABS_FREETYPE="${JDKROOT}"/"${FREETYPE}"
if [ ! -f "${ABS_FREETYPE}" ]; then
echo "Freetype header not found!"
exit 2
fi
FREETYPE_VERSION=$(awk '/#define FREETYPE_MAJOR/ {MAJOR=$3} /#define FREETYPE_MINOR/ {MINOR=$3} /#define FREETYPE_PATCH/ {PATCH=$3} END {printf "%s.%s.%s", MAJOR, MINOR, PATCH}' "${ABS_FREETYPE}")
else
echo "No bundled FreeType on ${openjdk_version}";
fi
# giflib
if [ "${openjdk_version}" -gt 8 ] ; then
GIFLIB=src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h
else
GIFLIB=jdk/src/share/native/sun/awt/giflib/gif_lib.h
fi
ABS_GIFLIB="${JDKROOT}"/"${GIFLIB}"
if [ ! -f "${ABS_GIFLIB}" ]; then
echo "giflib header not found!"
exit 3
fi
GIFLIB_VERSION=$(awk '/#define GIFLIB_MAJOR/ {MAJOR=$3} /#define GIFLIB_MINOR/ {MINOR=$3} /#define GIFLIB_RELEASE/ {PATCH=$3} END {printf "%s.%s.%s", MAJOR, MINOR, PATCH}' "${ABS_GIFLIB}")
# harfbuzz
if [ "${openjdk_version}" -gt 8 ] ; then
HARFBUZZ=src/java.desktop/share/native/libharfbuzz/hb-version.h
ABS_HARFBUZZ="${JDKROOT}/${HARFBUZZ}"
if [ ! -f "${ABS_HARFBUZZ}" ]; then
echo "HarfBuzz header not found!"
exit 4
fi
HARFBUZZ_VERSION=$(awk '/#define HB_VERSION_MAJOR/ {MAJOR=$3} /#define HB_VERSION_MINOR/ {MINOR=$3} /#define HB_VERSION_MICRO/ {PATCH=$3} END {printf "%s.%s.%s", MAJOR, MINOR, PATCH}' "${ABS_HARFBUZZ}")
else
echo "No HarfBuzz on ${openjdk_version}";
fi
# lcms
if [ "${openjdk_version}" -gt 8 ] ; then
LCMS=src/java.desktop/share/native/liblcms/lcms2.h
else
LCMS=jdk/src/share/native/sun/java2d/cmm/lcms/lcms2.h
fi
ABS_LCMS="${JDKROOT}"/"${LCMS}"
if [ ! -f "${ABS_LCMS}" ]; then
echo "lcms header not found!"
exit 5
fi
LCMS_VERSION=$(awk '/#define LCMS_VERSION/ { MAJOR=int($3 / 1000); REST=$3 % 1000; MINOR=int(REST / 10); PATCH=REST % 10; } END {printf "%s.%s.%s", MAJOR, MINOR, PATCH}' "${ABS_LCMS}")
# jpeg
if [ "${openjdk_version}" -gt 8 ] ; then
JPEG=src/java.desktop/share/native/libjavajpeg/jpeglib.h
else
JPEG=jdk/src/share/native/sun/awt/image/jpeg/jpeglib.h
fi
ABS_JPEG="${JDKROOT}"/"${JPEG}"
if [ ! -f "${ABS_JPEG}" ]; then
echo "jpeg header not found!"
exit 6
fi
JPEG_VERSION=$(awk '/#define JPEG_LIB_VERSION/ { VERSION=$3; MAJOR=int(VERSION / 10); MINOR=VERSION%10; } END {printf "%s%c", MAJOR, (MINOR+96)}' "${ABS_JPEG}")
# png
if [ "${openjdk_version}" -gt 8 ] ; then
PNG=src/java.desktop/share/native/libsplashscreen/libpng/png.h
else
PNG=jdk/src/share/native/sun/awt/libpng/png.h
fi
ABS_PNG="${JDKROOT}"/"${PNG}"
if [ ! -f "${ABS_PNG}" ]; then
echo "png header not found!"
exit 7
fi
PNG_VERSION=$(awk '/#define PNG_LIBPNG_VER_STRING/ { VERSION=$3; gsub("\"", "", VERSION) } END {print VERSION}' "${ABS_PNG}")
# zlib
if [ "${openjdk_version}" -gt 8 ] ; then
ZLIB=src/java.base/share/native/libzip/zlib/zlib.h
else
ZLIB=jdk/src/share/native/java/util/zip/zlib/zlib.h
fi
ABS_ZLIB="${JDKROOT}"/"${ZLIB}"
if [ ! -f "${ABS_ZLIB}" ]; then
echo "zlib header not found!"
exit 8
fi
ZLIB_VERSION=$(awk '/#define ZLIB_VERSION/ { VERSION=$3; gsub("\"", "", VERSION) } END {print VERSION}' "${ABS_ZLIB}")
# Print output
printf "\nRPM definitions:\n"
if [ "${openjdk_version}" -gt 8 ] ; then
echo "# Version in ${FREETYPE}"
echo "Provides: bundled(freetype) = ${FREETYPE_VERSION}"
fi
echo "# Version in ${GIFLIB}"
echo "Provides: bundled(giflib) = ${GIFLIB_VERSION}"
if [ "${openjdk_version}" -gt 8 ] ; then
echo "# Version in ${HARFBUZZ}"
echo "Provides: bundled(harfbuzz) = ${HARFBUZZ_VERSION}"
fi
echo "# Version in ${LCMS}"
echo "Provides: bundled(lcms2) = ${LCMS_VERSION}"
echo "# Version in ${JPEG}"
echo "Provides: bundled(libjpeg) = ${JPEG_VERSION}"
echo "# Version in ${PNG}"
echo "Provides: bundled(libpng) = ${PNG_VERSION}"
echo "# Version in ${ZLIB}"
echo "Provides: bundled(zlib) = ${ZLIB_VERSION}"
# Local Variables:
# compile-command: "shellcheck get_bundle_versions.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:

201
scripts/icedtea_sync.sh Executable file
View File

@ -0,0 +1,201 @@
#!/bin/bash
# Copyright (C) 2024 Red Hat, Inc.
# Written by Andrew John Hughes <gnu.andrew@redhat.com>.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
ICEDTEA_USE_VCS=false
ICEDTEA_VERSION=3.15.0
ICEDTEA_URL=https://icedtea.classpath.org/download/source
ICEDTEA_SIGNING_KEY=CFDA0F9B35964222
ICEDTEA_HG_URL=https://icedtea.classpath.org/hg/icedtea8
set -e
RPM_DIR=${PWD}
if [ ! -f "${RPM_DIR}/jconsole.desktop.in" ] ; then
echo "Not in RPM source tree.";
exit 1;
fi
if test "${TMPDIR}" = ""; then
TMPDIR=/tmp;
fi
WORKDIR=${TMPDIR}/it.sync
echo "Using working directory ${WORKDIR}"
mkdir "${WORKDIR}"
pushd "${WORKDIR}"
if test "${WGET}" = ""; then
WGET=$(which wget);
if test "${WGET}" = ""; then
echo "wget not found";
exit 1;
fi
fi
if test "${TAR}" = ""; then
TAR=$(which tar)
if test "${TAR}" = ""; then
echo "tar not found";
exit 2;
fi
fi
echo "Dependencies:";
echo -e "\tWGET: ${WGET}";
echo -e "\tTAR: ${TAR}\n";
if test "${ICEDTEA_USE_VCS}" = "true"; then
echo "Mode: Using VCS";
if test "${GREP}" = ""; then
GREP=$(which grep);
if test "${GREP}" = ""; then
echo "grep not found";
exit 3;
fi
fi
if test "${CUT}" = ""; then
CUT=$(which cut);
if test "${CUT}" = ""; then
echo "cut not found";
exit 4;
fi
fi
if test "${TR}" = ""; then
TR=$(which tr);
if test "${TR}" = ""; then
echo "tr not found";
exit 5;
fi
fi
if test "${HG}" = ""; then
HG=$(which hg);
if test "${HG}" = ""; then
echo "hg not found";
exit 6;
fi
fi
echo "Dependencies:";
echo -e "\tGREP: ${GREP}";
echo -e "\tCUT: ${CUT}";
echo -e "\tTR: ${TR}";
echo -e "\tHG: ${HG}";
echo "Checking out repository from VCS...";
${HG} clone ${ICEDTEA_HG_URL} icedtea
echo "Obtaining version from configure.ac...";
ROOT_VER=$(${GREP} '^AC_INIT' icedtea/configure.ac|${CUT} -d ',' -f 2|${TR} -d '[][:space:]')
echo "Root version from configure: ${ROOT_VER}";
VCS_REV=$(${HG} log -R icedtea --template '{node|short}' -r tip)
echo "VCS revision: ${VCS_REV}";
ICEDTEA_VERSION="${ROOT_VER}-${VCS_REV}"
echo "Creating icedtea-${ICEDTEA_VERSION}";
mkdir "icedtea-${ICEDTEA_VERSION}"
echo "Copying required files from checkout to icedtea-${ICEDTEA_VERSION}";
# Commented out for now as IcedTea 6's jconsole.desktop.in is outdated
#cp -a icedtea/jconsole.desktop.in ../icedtea-${ICEDTEA_VERSION}
cp -a "${RPM_DIR}/jconsole.desktop.in" "icedtea-${ICEDTEA_VERSION}"
cp -a icedtea/tapset "icedtea-${ICEDTEA_VERSION}"
rm -rf icedtea
else
echo "Mode: Using tarball";
if test "${ICEDTEA_VERSION}" = ""; then
echo "No IcedTea version specified for tarball download.";
exit 3;
fi
if test "${CHECKSUM}" = ""; then
CHECKSUM=$(which sha256sum)
if test "${CHECKSUM}" = ""; then
echo "sha256sum not found";
exit 4;
fi
fi
if test "${PGP}" = ""; then
PGP=$(which gpg)
if test "${PGP}" = ""; then
echo "gpg not found";
exit 5;
fi
fi
echo "Dependencies:";
echo -e "\tCHECKSUM: ${CHECKSUM}";
echo -e "\tPGP: ${PGP}\n";
echo "Checking for IcedTea signing key ${ICEDTEA_SIGNING_KEY}...";
if ! gpg --list-keys ${ICEDTEA_SIGNING_KEY}; then
echo "IcedTea signing key ${ICEDTEA_SIGNING_KEY} not installed.";
exit 6;
fi
echo "Downloading IcedTea release tarball...";
${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.tar.xz
echo "Downloading IcedTea tarball signature...";
${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.tar.xz.sig
echo "Downloading IcedTea tarball checksums...";
${WGET} -v ${ICEDTEA_URL}/icedtea-${ICEDTEA_VERSION}.sha256
echo "Verifying checksums...";
${CHECKSUM} --check --ignore-missing icedtea-${ICEDTEA_VERSION}.sha256
echo "Checking signature...";
${PGP} --verify icedtea-${ICEDTEA_VERSION}.tar.xz.sig
echo "Extracting files...";
${TAR} xJf icedtea-${ICEDTEA_VERSION}.tar.xz \
icedtea-${ICEDTEA_VERSION}/tapset \
icedtea-${ICEDTEA_VERSION}/jconsole.desktop.in \
icedtea-${ICEDTEA_VERSION}/policytool.desktop.in
rm -vf icedtea-${ICEDTEA_VERSION}.tar.xz
rm -vf icedtea-${ICEDTEA_VERSION}.tar.xz.sig
rm -vf icedtea-${ICEDTEA_VERSION}.sha256
fi
echo "Replacing desktop files...";
mv -v "icedtea-${ICEDTEA_VERSION}/jconsole.desktop.in" "${RPM_DIR}"
mv -v "icedtea-${ICEDTEA_VERSION}/policytool.desktop.in" "${RPM_DIR}"
echo "Creating new tapset tarball...";
mv -v "icedtea-${ICEDTEA_VERSION}" openjdk
${TAR} cJf "${RPM_DIR}/tapsets-icedtea-${ICEDTEA_VERSION}.tar.xz" openjdk
rm -rvf openjdk
popd
rm -rf "${WORKDIR}"
# Local Variables:
# compile-command: "shellcheck icedtea_sync.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:

View File

@ -0,0 +1,31 @@
diff --git openjdk.orig/jdk/src/share/demo/scripting/jconsole-plugin/README.txt openjdk/jdk/src/share/demo/scripting/jconsole-plugin/README.txt
--- openjdk.orig/jdk/src/share/demo/scripting/jconsole-plugin/README.txt
+++ openjdk/jdk/src/share/demo/scripting/jconsole-plugin/README.txt
@@ -18,11 +18,9 @@
engine javax.script.ScriptEngine
plugin com.sun.tools.jconsole.JConsolePlugin
-If you use JavaScript, there are many useful global functions defined in
-./src/resources/jconsole.js. This is built into the script plugin jar file.
-In addition, you can add other global functions and global variables by
-defining those in ~/jconsole.js (or jconsole.<ext> where <ext> is the file
-extension for your scripting language of choice under your home directory).
+You can add global functions and global variables by defining those in
+~/jconsole.js (or jconsole.<ext> where <ext> is the file extension for
+your scripting language of choice under your home directory).
How do I compile script console plugin?
diff --git openjdk.orig/jdk/src/share/demo/scripting/jconsole-plugin/build.xml openjdk/jdk/src/share/demo/scripting/jconsole-plugin/build.xml
--- openjdk.orig/jdk/src/share/demo/scripting/jconsole-plugin/build.xml
+++ openjdk/jdk/src/share/demo/scripting/jconsole-plugin/build.xml
@@ -73,9 +73,6 @@
<copy todir="${classes.dir}/META-INF/services">
<fileset dir="${src.dir}/META-INF/services"/>
</copy>
- <copy todir="${resources.dir}">
- <fileset dir="${src.dir}/resources"/>
- </copy>
</target>
<target name="all" depends="compile" description="buile deployment bundle">

114
scripts/openjdk_news.sh Executable file
View File

@ -0,0 +1,114 @@
#!/bin/bash
# Copyright (C) 2024 Red Hat, Inc.
# Written by Andrew John Hughes <gnu.andrew@redhat.com>, 2012-2022
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
OLD_RELEASE=$1
NEW_RELEASE=$2
REPO=$3
SUBDIR=$4
SCRIPT_DIR=$(dirname "${0}")
if test "${SUBDIR}" = ""; then
echo "No subdirectory specified; using .";
SUBDIR=".";
fi
if test "$REPO" = ""; then
echo "No repository specified; using ${PWD}"
REPO=${PWD}
fi
if test "${TMPDIR}" = ""; then
TMPDIR=/tmp;
fi
echo "Repository: ${REPO}"
if [ -e "${REPO}/.git" ] ; then
TYPE=git;
elif [ -e "${REPO}/.hg" ] ; then
TYPE=hg;
else
echo "No Mercurial or Git repository detected.";
exit 1;
fi
if test "$OLD_RELEASE" = "" || test "$NEW_RELEASE" = ""; then
echo "ERROR: Need to specify old and new release";
exit 2;
fi
echo "Listing fixes between $OLD_RELEASE and $NEW_RELEASE in $REPO"
rm -f "${TMPDIR}/fixes2" "${TMPDIR}/fixes3" "${TMPDIR}/fixes"
for repos in . $("${SCRIPT_DIR}/discover_trees.sh" "${REPO}");
do
if test "$TYPE" = "hg"; then
hg log -r "tag('$NEW_RELEASE'):tag('$OLD_RELEASE') - tag('$OLD_RELEASE')" -R "$REPO/$repos" -G -M "${REPO}/${SUBDIR}" | \
grep -E '^[o:| ]*summary'|grep -v 'Added tag'|sed -r 's#^[o:| ]*summary:\W*([0-9])# - JDK-\1#'| \
sed 's#^[o:| ]*summary:\W*# - #' >> "${TMPDIR}/fixes2";
hg log -v -r "tag('$NEW_RELEASE'):tag('$OLD_RELEASE') - tag('$OLD_RELEASE')" -R "$REPO/$repos" -G -M "${REPO}/${SUBDIR}" | \
grep -E '^[o:| ]*[0-9]{7}'|sed -r 's#^[o:| ]*([0-9]{7})# - JDK-\1#' >> "${TMPDIR}/fixes3";
else
git -C "${REPO}" log --no-merges --pretty=format:%B "${NEW_RELEASE}...${OLD_RELEASE}" -- "${SUBDIR}" |grep -E '^[0-9]{7}' | \
sed -r 's#^([0-9])# - JDK-\1#' >> "${TMPDIR}/fixes2";
touch "${TMPDIR}/fixes3" ; # unused
fi
done
sort "${TMPDIR}/fixes2" "${TMPDIR}/fixes3" > "${TMPDIR}/fixes4"
uniq "${TMPDIR}/fixes4" > "${TMPDIR}/fixes"
rm -f "${TMPDIR}/fixes2" "${TMPDIR}/fixes3"
if ! [ -s "${TMPDIR}/fixes" ] ; then
echo "Failed to obtain fixes.";
exit 3;
fi
echo "In ${TMPDIR}/fixes:"
cat "${TMPDIR}/fixes"
printf "\nChecking for duplicates...";
if uniq -d "${TMPDIR}/fixes4" | grep 'JDK' > "${TMPDIR}/dupes"; then
printf "found.\nWARNING: Review the following duplicates:\n";
cat "${TMPDIR}/dupes";
else
echo "No apparent duplicates.";
fi
rm -f "${TMPDIR}/fixes4";
printf "\nChecking for backouts...";
if grep -i 'backout' "${TMPDIR}/fixes" > "${TMPDIR}/backouts"; then
printf "found.\nWARNING: Review the following backouts:\n"
cat "${TMPDIR}/backouts";
else
echo "No apparent backouts.";
fi
printf "\nChecking for bundled library updates...";
if grep -iE ':( \(tz\))? update.*(freetype|gif|harfbuzz|lcms|jpeg|png|timezone|zlib)' "${TMPDIR}/fixes" > "${TMPDIR}/bundles"; then
printf "found.\nWARNING: Review the following with respect to bundled provides:\n";
cat "${TMPDIR}/bundles";
echo "Compare the output of $(dirname "${0}")/get_bundle_versions.sh with the RPM using the JDK source tree"
else
echo "No apparent library updates.";
fi
# Local Variables:
# compile-command: "shellcheck openjdk_news.sh"
# fill-column: 80
# indent-tabs-mode: nil
# sh-basic-offset: 4
# End:

2
sources Normal file
View File

@ -0,0 +1,2 @@
SHA512 (tapsets-icedtea-3.15.0.tar.xz) = c752a197cb3d812d50c35e11e4722772be40096c81d2a57933e0d9b8a3c708b9c157b8108a4e33a06ca7bb81648170994408c75d6f69d5ff12785d0c31009671
SHA512 (shenandoah8u472-b08.tar.xz) = 1aaa201cfe712b125cb24c688b930cccc2ba04977bd2e759da723bd18f81b87b1d93573b876b943a3a2c8e47a7238aff57eb7716b090be19822c365d874fae14

18
tests/tests.yml Normal file
View File

@ -0,0 +1,18 @@
---
- hosts: localhost
roles:
- role: standard-test-source
tags:
- always
- role: standard-test-basic
tags:
- classic
- atomic
required_packages:
- java-1.8.0-openjdk-devel
tests:
- javaVersion1:
dir: ~
run: set -ex; useradd franta1; su franta1 -c 'java -version';
run: set -ex; useradd franta4; su franta4 -c 'javac -version';
run: ls -l /usr/lib/jvm;