Compare commits
No commits in common. "c8" and "c9s" have entirely different histories.
467
.gitignore
vendored
467
.gitignore
vendored
@ -1,2 +1,465 @@
|
||||
SOURCES/shenandoah8u492-b09.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
|
||||
/openjdk8u482-b01-ea.tar.xz
|
||||
/openjdk8u482-b02-ea.tar.xz
|
||||
/openjdk8u482-b03-ea.tar.xz
|
||||
/openjdk8u482-b04-ea.tar.xz
|
||||
/openjdk8u482-b05-ea.tar.xz
|
||||
/openjdk8u482-b07-ea.tar.xz
|
||||
/openjdk8u482-b08.tar.xz
|
||||
/shenandoah8u482-b08.tar.xz
|
||||
|
||||
@ -1,2 +0,0 @@
|
||||
9664167c92746481d7484061434ed1ddea110e7f SOURCES/shenandoah8u492-b09.tar.xz
|
||||
7ae2cba67467825b2c2a5fec7aea041865023002 SOURCES/tapsets-icedtea-3.15.0.tar.xz
|
||||
@ -3,143 +3,11 @@ 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 8u492 (2026-04-21):
|
||||
===========================================
|
||||
Live versions of these release notes can be found at:
|
||||
* https://bit.ly/openjdk8u492
|
||||
|
||||
* CVEs
|
||||
- CVE-2026-22007
|
||||
- CVE-2026-22013
|
||||
- CVE-2026-22016
|
||||
- CVE-2026-22018
|
||||
- CVE-2026-22021
|
||||
- CVE-2026-23865
|
||||
- CVE-2026-34268
|
||||
* Changes
|
||||
- JDK-8056039: Hotspot does not compile with clang 3.4 on Linux
|
||||
- JDK-8074840: Resolve disabled warnings for libjli and libjli_static
|
||||
- JDK-8132786: java/security/cert/CertPathValidator/OCSP/AIACheck.java fails intermittently
|
||||
- JDK-8153147: Mark java/net/BindException/Test.java as intermittently failing
|
||||
- JDK-8157758: JDK9 does not compile on Linux with GCC 6.1 because left-shifting a negative number has undefined behavior
|
||||
- JDK-8170464: Remove shell script from compiler/c2/cr7005594/Test7005594.java
|
||||
- JDK-8174734: Safepoint sync time did not increase
|
||||
- JDK-8186149: quarantine gc/survivorAlignment/TestPromotionFromSurvivorToTenuredAfterMinorGC.java
|
||||
- JDK-8220658: Improve the readability of container information in the error log
|
||||
- JDK-8223145: Replace wildcard address with loopback or local host in tests - part 1
|
||||
- JDK-8225487: giflib legal file is missing attribution for openbsd-reallocarray.c.
|
||||
- JDK-8237834: com/sun/jndi/ldap/LdapDnsProviderTest.java failing with LDAP response read timeout
|
||||
- JDK-8251189: com/sun/jndi/ldap/LdapDnsProviderTest.java failed due to timeout
|
||||
- JDK-8264524: jdk/internal/platform/docker/TestDockerMemoryMetrics.java fails due to swapping not working
|
||||
- JDK-8274893: Update java.desktop classes to use try-with-resources
|
||||
- JDK-8277159: Fix java/nio/file/FileStore/Basic.java test by ignoring /run/user/* mount points
|
||||
- JDK-8284758: [linux] improve print_container_info
|
||||
- JDK-8285836: sun/net/www/http/KeepAliveCache/KeepAliveProperty.java failed with "RuntimeException: Failed in server"
|
||||
- JDK-8287011: Improve container information
|
||||
- JDK-8303482: Update LCMS to 2.15
|
||||
- JDK-8312518: [macos13] setFullScreenWindow() shows black screen on macOS 13 & above
|
||||
- JDK-8313770: jdk/internal/platform/docker/TestSystemMetrics.java fails on Ubuntu
|
||||
- JDK-8328999: Update GIFlib to 5.2.2
|
||||
- JDK-8339271: giflib attribution correction
|
||||
- JDK-8343622: AesDkCrypto.stringToKey should not return null
|
||||
- JDK-8345578: New test in JDK-8343622 fails with a promoted build
|
||||
- JDK-8347911: Limit the length of inflated text chunks
|
||||
- JDK-8348014: Enhance certificate processing
|
||||
- JDK-8350813: Rendering of bulky sound bank from MIDI sequence can cause OutOfMemoryError
|
||||
- JDK-8353657: [8u] Test tools/launcher/VersionCheck.java fails with debug build
|
||||
- JDK-8360869: jcstress is able to crash jdk8 on aarch64 with jfr on
|
||||
- JDK-8361748: Enforce limits on the size of an XBM image
|
||||
- JDK-8364373: Transform Affine transformations
|
||||
- JDK-8364465: Enhance behavior of some intrinsics
|
||||
- JDK-8369226: GHA: Switch to MacOS 15
|
||||
- JDK-8369282: Distrust TLS server certificates anchored by Chunghwa ePKI Root CA
|
||||
- JDK-8369575: Enhance crypto algorithm support
|
||||
- JDK-8370529: Enhance Path Factories Redux
|
||||
- JDK-8370615: Improve Kerberos credentialing
|
||||
- JDK-8370986: Enhance Zip file reading
|
||||
- JDK-8370995: Enhance ZipFile usage
|
||||
- JDK-8371830: Enhance certificate chain validation
|
||||
- JDK-8371935: Enhance key generation
|
||||
- JDK-8372660: [8u] ProblemList TestCPUAwareness until 8370492 is addressed
|
||||
- JDK-8373250: Bump update version of OpenJDK: 8u492
|
||||
- JDK-8373290: Update FreeType to 2.14.1
|
||||
- JDK-8373476: (tz) Update Timezone Data to 2025c
|
||||
- JDK-8373727: New XBM images parser regression: only the first line of the bitmap array is parsed
|
||||
- JDK-8374899: [8u] Fully handle clang as the toolchain in flags.m4
|
||||
- JDK-8374917: [8u] C++ flags get passed to C compiles in the HotSpot build
|
||||
- JDK-8374948: [8u] saproc & jsig builds add duplicate linker flags on Darwin/MacOS
|
||||
- JDK-8375063: Update Libpng to 1.6.54
|
||||
- JDK-8375189: [8u] Problem list CAInterop.java#microsoftrsa2017
|
||||
- JDK-8376225: [8u] GHA: Apply work-around for missing JNF for MacOSX builds
|
||||
- JDK-8376272: [8u] Windows x86-32 fails to build after JDK-8359501
|
||||
- JDK-8376338: Test7005594.sh fails when given a memory value with decimals
|
||||
- JDK-8376352: [8u] Build failure on Windows 32-bit after JDK-8362308
|
||||
- JDK-8377344: [8u] Compilation failure on Windows for Linux-specific platform metric tests
|
||||
- JDK-8377526: Update Libpng to 1.6.55
|
||||
- JDK-8379035: (tz) Update Timezone Data to 2026a
|
||||
- JDK-8379158: Update FreeType to 2.14.2
|
||||
- JDK-8379256: Update GIFlib to 6.1.1
|
||||
- JDK-8380078: Update GIFlib to 6.1.2
|
||||
- JDK-8380959: Update Libpng to 1.6.56
|
||||
- JDK-8382047: Update Libpng to 1.6.57
|
||||
|
||||
Notes on individual issues:
|
||||
===========================
|
||||
|
||||
security-libs/javax.net.ssl:
|
||||
|
||||
JDK-8369282: Distrust TLS server certificates anchored by Chunghwa ePKI Root CA
|
||||
===============================================================================
|
||||
In accordance with similar plans recently announced by Google and
|
||||
Mozilla, the JDK will not trust Transport Layer Security (TLS)
|
||||
certificates issued after the 17th of March 2026 which are anchored by
|
||||
Chungwa root certificates.
|
||||
|
||||
Certificates issued on or before the 17th of March, 2026 will continue
|
||||
to be trusted until they expire.
|
||||
|
||||
If a server's certificate chain is anchored by an affected
|
||||
certificate, attempts to negotiate a TLS session will fail with an
|
||||
Exception that indicates the trust anchor is not trusted. For example,
|
||||
|
||||
"TLS server certificate issued after 2026-03-17 and anchored by a
|
||||
distrusted legacy Chungwa root CA: OU=ePKI Root Certification
|
||||
Authority, O="Chunghwa Telecom Co.", Ltd. C=TW"
|
||||
|
||||
To check whether a certificate in a JDK keystore is affected by this
|
||||
change, you can the `keytool` utility:
|
||||
|
||||
keytool -v -list -alias <your_server_alias> -keystore <your_keystore_filename>
|
||||
|
||||
If any of the certificates in the chain are affected by this change,
|
||||
then you will need to update the certificate or contact the
|
||||
organisation responsible for managing the certificate.
|
||||
|
||||
These restrictions apply to the following Chungwa root certificates
|
||||
included in the JDK:
|
||||
|
||||
Alias name: chunghwaepkirootca
|
||||
OU=ePKI Root Certification Authority
|
||||
O="Chunghwa Telecom Co., Ltd."
|
||||
C=TW
|
||||
SHA256:A6:F4:DC:63:A2:4B:FD:CF:54:EF:2A:6A:08:2A:0A:72:DE:35:80:3E:2F:F5:FF:52:7A:E5:D8:72:06:DF:D5
|
||||
|
||||
Users can, *at their own risk*, remove this restriction by modifying
|
||||
the `java.security` configuration file (or override it by using the
|
||||
`java.security.properties` system property) so "CHUNGWA_TLS" is no
|
||||
longer listed in the `jdk.security.caDistrustPolicies` security
|
||||
property.
|
||||
|
||||
New in release OpenJDK 8u482 (2026-01-20):
|
||||
===========================================
|
||||
Live versions of these release notes can be found at:
|
||||
* https://bit.ly/openjdk8u482
|
||||
|
||||
* CVEs
|
||||
- CVE-2026-21925
|
||||
- CVE-2026-21932
|
||||
- CVE-2026-21933
|
||||
- CVE-2026-21945
|
||||
* Changes
|
||||
- JDK-8154043: Fields not reachable anymore by tab-key, because of new tabbing behaviour of radio button groups.
|
||||
- JDK-8182577: Exception when Tab key moves focus to a JCheckbox with a custom ButtonModel
|
||||
0
SOURCES/config.guess → config.guess
vendored
0
SOURCES/config.guess → config.guess
vendored
0
SOURCES/config.sub → config.sub
vendored
0
SOURCES/config.sub → config.sub
vendored
7
gating.yaml
Normal file
7
gating.yaml
Normal 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}
|
||||
@ -271,7 +271,7 @@
|
||||
# Define version of OpenJDK 8 used
|
||||
%global project openjdk
|
||||
%global repo shenandoah-jdk8u
|
||||
%global openjdk_revision 8u492-b09
|
||||
%global openjdk_revision 8u482-b08
|
||||
%global shenandoah_revision shenandoah%{openjdk_revision}
|
||||
# Define IcedTea version used for SystemTap tapsets and desktop file
|
||||
%global icedteaver 3.15.0
|
||||
@ -595,6 +595,8 @@ Patch204: jdk8042159-allow_using_system_installed_lcms2-jdk.patch
|
||||
Patch581: jdk8257794-remove_broken_assert.patch
|
||||
# JDK-8186464, RH1433262: ZipFile cannot read some InfoZip ZIP64 zip files
|
||||
Patch12: jdk8186464-rh1433262-zip64_failure.patch
|
||||
# JDK-8328999, RH2251025 - Update GIFlib to 5.2.2 (PR#571)
|
||||
Patch13: jdk8328999-update_giflib_5.2.2.patch
|
||||
# JDK-8141590 - Cannot build Zero with devkit
|
||||
Patch14: jdk8141590-bundle_libffi.patch
|
||||
Patch15: jdk8141590-bundle_libffi-followup.patch
|
||||
@ -695,15 +697,15 @@ BuildRequires: libpng-devel
|
||||
BuildRequires: zlib-devel
|
||||
%else
|
||||
# Version in jdk/src/share/native/sun/awt/libfreetype/include/freetype/freetype.h
|
||||
Provides: bundled(freetype) = 2.14.2
|
||||
Provides: bundled(freetype) = 2.13.3
|
||||
# Version in jdk/src/share/native/sun/awt/giflib/gif_lib.h
|
||||
Provides: bundled(giflib) = 6.1.2
|
||||
Provides: bundled(giflib) = 5.2.2
|
||||
# Version in jdk/src/share/native/sun/java2d/cmm/lcms/lcms2.h
|
||||
Provides: bundled(lcms2) = 2.15.0
|
||||
Provides: bundled(lcms2) = 2.14.0
|
||||
# Version in jdk/src/share/native/sun/awt/image/jpeg/jpeglib.h
|
||||
Provides: bundled(libjpeg) = 6b
|
||||
# Version in jdk/src/share/native/sun/awt/libpng/png.h
|
||||
Provides: bundled(libpng) = 1.6.57
|
||||
Provides: bundled(libpng) = 1.6.51
|
||||
# Version in jdk/src/share/native/java/util/zip/zlib/zlib.h
|
||||
Provides: bundled(zlib) = 1.3.1
|
||||
# We link statically against libstdc++ to increase portability
|
||||
@ -876,9 +878,10 @@ popd
|
||||
%patch -P574
|
||||
%patch -P581
|
||||
%patch -P541
|
||||
%patch -P12
|
||||
pushd %{top_level_dir_name}
|
||||
%patch -P12 -p1
|
||||
%patch -P502 -p1
|
||||
%patch -P13 -p1
|
||||
%patch -P14 -p1
|
||||
%patch -P15 -p1
|
||||
popd
|
||||
@ -1560,25 +1563,6 @@ done
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Apr 17 2026 Andrew Hughes <gnu.andrew@redhat.com> - 1:1.8.0.492.b09-1
|
||||
- Update to 8u492-b09 (GA)
|
||||
- Update release notes for 8u492-b09.
|
||||
- Regenerate JDK-8199936/PR3533 patch following JDK-8374917
|
||||
- Regenerate JDK-8186464/RH1433262 patch following JDK-8370986
|
||||
- Drop local giflib 5.2.2 patch now JDK-8328999 is included upstream
|
||||
- Bump freetype version to 2.14.2 following JDK-8373290 & JDK-8379158
|
||||
- Bump giflib version to 6.1.2 following JDK-8379256 & JDK-8380078
|
||||
- Bump LCMS 2 version to 2.15.0 following JDK-8303482
|
||||
- Bump libpng version to 1.6.57 following JDK-8375063, JDK-8377526, JDK-8380959 & JDK-8382047
|
||||
- ** This tarball is embargoed until 2026-04-21 @ 1pm PT. **
|
||||
- Resolves: OPENJDK-4601
|
||||
- Resolves: OPENJDK-4294
|
||||
- Resolves: OPENJDK-4518
|
||||
- Resolves: OPENJDK-4538
|
||||
- Resolves: OPENJDK-4547
|
||||
- Resolves: OPENJDK-4613
|
||||
- Resolves: OPENJDK-4635
|
||||
|
||||
* Mon Jan 19 2026 Andrew Hughes <gnu.andrew@redhat.com> - 1:1.8.0.482.b08-1
|
||||
- Update to 8u482-b08 (GA).
|
||||
- Update release notes for 8u482-b08.
|
||||
File diff suppressed because it is too large
Load Diff
@ -7,10 +7,10 @@
|
||||
8186464: ZipFile cannot read some InfoZip ZIP64 zip files
|
||||
Reviewed-by: martin
|
||||
|
||||
diff --git a/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java b/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java
|
||||
index d3c68e5e06..fd249461e8 100644
|
||||
--- a/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java
|
||||
+++ b/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java
|
||||
diff --git openjdk.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java openjdk/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java
|
||||
index 26e2a5bf9e9..2630c118817 100644
|
||||
--- openjdk.orig/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java
|
||||
+++ openjdk/jdk/src/share/demo/nio/zipfs/src/com/sun/nio/zipfs/ZipFileSystem.java
|
||||
@@ -92,6 +92,7 @@ public class ZipFileSystem extends FileSystem {
|
||||
private final boolean createNew; // create a new zip if not exists
|
||||
private static final boolean isWindows =
|
||||
@ -132,16 +132,16 @@ index d3c68e5e06..fd249461e8 100644
|
||||
writeLong(os, cenlen); // length of central directory
|
||||
writeLong(os, cenoff); // offset of central directory
|
||||
|
||||
diff --git a/jdk/src/share/native/java/util/zip/zip_util.c b/jdk/src/share/native/java/util/zip/zip_util.c
|
||||
index a5f164f750..30596d5baf 100644
|
||||
--- a/jdk/src/share/native/java/util/zip/zip_util.c
|
||||
+++ b/jdk/src/share/native/java/util/zip/zip_util.c
|
||||
diff --git openjdk.orig/jdk/src/share/native/java/util/zip/zip_util.c openjdk/jdk/src/share/native/java/util/zip/zip_util.c
|
||||
index 5fd6fea049d..858e5814e92 100644
|
||||
--- openjdk.orig/jdk/src/share/native/java/util/zip/zip_util.c
|
||||
+++ openjdk/jdk/src/share/native/java/util/zip/zip_util.c
|
||||
@@ -385,6 +385,9 @@ findEND64(jzfile *zip, void *end64buf, jlong endpos)
|
||||
{
|
||||
char loc64[ZIP64_LOCHDR];
|
||||
jlong end64pos;
|
||||
+ if (endpos < ZIP64_LOCHDR) {
|
||||
+ return -1;
|
||||
+ return -1;
|
||||
+ }
|
||||
if (readFullyAt(zip->zfd, loc64, ZIP64_LOCHDR, endpos - ZIP64_LOCHDR) == -1) {
|
||||
return -1; // end64 locator not found
|
||||
@ -149,7 +149,7 @@ index a5f164f750..30596d5baf 100644
|
||||
@@ -567,6 +570,7 @@ readCEN(jzfile *zip, jint knownTotal)
|
||||
{
|
||||
/* Following are unsigned 32-bit */
|
||||
jlong endpos, end64pos, cenpos, cenlen, cenoff, total64;
|
||||
jlong endpos, end64pos, cenpos, cenlen, cenoff;
|
||||
+ jlong cenlen64, cenoff64, centot64;
|
||||
/* Following are unsigned 16-bit */
|
||||
jint total, tablelen, i, j;
|
||||
@ -164,28 +164,28 @@ index a5f164f750..30596d5baf 100644
|
||||
- if ((end64pos = findEND64(zip, end64buf, endpos)) != -1) {
|
||||
- cenlen = ZIP64_ENDSIZ(end64buf);
|
||||
- cenoff = ZIP64_ENDOFF(end64buf);
|
||||
- total64 = ZIP64_ENDTOT(end64buf);
|
||||
- total = (jint)ZIP64_ENDTOT(end64buf);
|
||||
+ unsigned char end64buf[ZIP64_ENDHDR];
|
||||
+ if ((end64pos = findEND64(zip, end64buf, endpos)) != -1) {
|
||||
+ // end64 candidate found,
|
||||
+ cenlen64 = ZIP64_ENDSIZ(end64buf);
|
||||
+ cenoff64 = ZIP64_ENDOFF(end64buf);
|
||||
+ centot64 = ZIP64_ENDTOT(end64buf);
|
||||
+ // double-check
|
||||
+ if ((cenlen64 == cenlen || cenlen == ZIP64_MAGICVAL) &&
|
||||
+ (cenoff64 == cenoff || cenoff == ZIP64_MAGICVAL) &&
|
||||
+ (centot64 == total || total == ZIP64_MAGICCOUNT)) {
|
||||
+ // to use the end64 values
|
||||
+ // end64 candidate found,
|
||||
+ cenlen64 = ZIP64_ENDSIZ(end64buf);
|
||||
+ cenoff64 = ZIP64_ENDOFF(end64buf);
|
||||
+ centot64 = ZIP64_ENDTOT(end64buf);
|
||||
+ // double-check
|
||||
+ if ((cenlen64 == cenlen || cenlen == ZIP64_MAGICVAL) &&
|
||||
+ (cenoff64 == cenoff || cenoff == ZIP64_MAGICVAL) &&
|
||||
+ (centot64 == total || total == ZIP64_MAGICCOUNT)) {
|
||||
+ // to use the end64 values
|
||||
+ cenlen = cenlen64;
|
||||
+ cenoff = cenoff64;
|
||||
+ total64 = centot64;
|
||||
/* ZIP64 size, offset and total-count fields are unsigned 64-bit
|
||||
* values. Sizes and offsets that do not fit in signed jlong
|
||||
* (i.e., >= 2^63), or total values that do not fit in jint, are
|
||||
diff --git a/jdk/test/java/util/zip/ZipFile/ReadZip.java b/jdk/test/java/util/zip/ZipFile/ReadZip.java
|
||||
index ffe8a8ed71..9b38000389 100644
|
||||
--- a/jdk/test/java/util/zip/ZipFile/ReadZip.java
|
||||
+++ b/jdk/test/java/util/zip/ZipFile/ReadZip.java
|
||||
+ total = (jint)centot64;
|
||||
endpos = end64pos;
|
||||
endhdrlen = ZIP64_ENDHDR;
|
||||
}
|
||||
diff --git openjdk.orig/jdk/test/java/util/zip/ZipFile/ReadZip.java openjdk/jdk/test/java/util/zip/ZipFile/ReadZip.java
|
||||
index ffe8a8ed712..9b380003893 100644
|
||||
--- openjdk.orig/jdk/test/java/util/zip/ZipFile/ReadZip.java
|
||||
+++ openjdk/jdk/test/java/util/zip/ZipFile/ReadZip.java
|
||||
@@ -22,7 +22,7 @@
|
||||
*/
|
||||
|
||||
@ -8,10 +8,10 @@ PR3533: HotSpot generates code with unaligned stack, crashes on SSE operations
|
||||
Summary: Enable -mstackrealign on x86 Linux as well as x86 Mac OS X
|
||||
|
||||
diff --git a/common/autoconf/flags.m4 b/common/autoconf/flags.m4
|
||||
index 5d1ef8732f..3394c2030a 100644
|
||||
index 113bf367e2..bed030e8d1 100644
|
||||
--- a/common/autoconf/flags.m4
|
||||
+++ b/common/autoconf/flags.m4
|
||||
@@ -421,6 +421,21 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
|
||||
@@ -451,6 +451,21 @@ AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_JDK],
|
||||
AC_SUBST($2CXXSTD_CXXFLAG)
|
||||
fi
|
||||
|
||||
@ -34,22 +34,35 @@ index 5d1ef8732f..3394c2030a 100644
|
||||
AC_MSG_WARN([Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags])
|
||||
fi
|
||||
diff --git a/common/autoconf/hotspot-spec.gmk.in b/common/autoconf/hotspot-spec.gmk.in
|
||||
index 449788025f..907ea8ed0c 100644
|
||||
index 3f86751d2b..f8a271383f 100644
|
||||
--- a/common/autoconf/hotspot-spec.gmk.in
|
||||
+++ b/common/autoconf/hotspot-spec.gmk.in
|
||||
@@ -113,12 +113,14 @@ RC:=@HOTSPOT_RC@
|
||||
@@ -114,13 +114,14 @@ RC:=@HOTSPOT_RC@
|
||||
# Retain EXTRA_{CFLAGS,CXXFLAGS,LDFLAGS,ASFLAGS} for the target flags to
|
||||
# maintain compatibility with the existing Makefiles
|
||||
EXTRA_CFLAGS=@LEGACY_TARGET_CFLAGS@ $(NO_DELETE_NULL_POINTER_CHECKS_CFLAG) \
|
||||
- $(NO_LIFETIME_DSE_CFLAG) $(CXXSTD_CXXFLAG)
|
||||
+ $(NO_LIFETIME_DSE_CFLAG) $(CXXSTD_CXXFLAG) \
|
||||
+ $(REALIGN_CFLAG)
|
||||
EXTRA_CXXFLAGS=@LEGACY_TARGET_CXXFLAGS@
|
||||
EXTRA_LDFLAGS=@LEGACY_TARGET_LDFLAGS@
|
||||
EXTRA_ASFLAGS=@LEGACY_TARGET_ASFLAGS@
|
||||
# Define an equivalent set for the host flags (i.e. without sysroot options)
|
||||
HOST_CFLAGS=@LEGACY_HOST_CFLAGS@ $(NO_DELETE_NULL_POINTER_CHECKS_CFLAG) \
|
||||
- $(NO_LIFETIME_DSE_CFLAG) $(CXXSTD_CXXFLAG)
|
||||
+ $(NO_LIFETIME_DSE_CFLAG) $(CXXSTD_CXXFLAG)
|
||||
HOST_CXXFLAGS=@LEGACY_HOST_CXXFLAGS@
|
||||
HOST_LDFLAGS=@LEGACY_HOST_LDFLAGS@
|
||||
HOST_ASFLAGS=@LEGACY_HOST_ASFLAGS@
|
||||
diff --git a/common/autoconf/spec.gmk.in b/common/autoconf/spec.gmk.in
|
||||
index 9573bb2cbd..fe7efc130c 100644
|
||||
--- a/common/autoconf/spec.gmk.in
|
||||
+++ b/common/autoconf/spec.gmk.in
|
||||
@@ -366,6 +366,7 @@ CXXFLAGS_JDKEXE:=@CXXFLAGS_JDKEXE@
|
||||
|
||||
NO_DELETE_NULL_POINTER_CHECKS_CFLAG=@NO_DELETE_NULL_POINTER_CHECKS_CFLAG@
|
||||
NO_LIFETIME_DSE_CFLAG=@NO_LIFETIME_DSE_CFLAG@
|
||||
+REALIGN_CFLAG=@REALIGN_CFLAG@
|
||||
CXXSTD_CXXFLAG=@CXXSTD_CXXFLAG@
|
||||
|
||||
# Retain EXTRA_{CFLAGS,CXXFLAGS,LDFLAGS,ASFLAGS} for the target flags to
|
||||
# maintain compatibility with the existing Makefiles
|
||||
EXTRA_CXXFLAGS=@LEGACY_TARGET_CXXFLAGS@ $(NO_DELETE_NULL_POINTER_CHECKS_CFLAG) \
|
||||
- $(NO_LIFETIME_DSE_CFLAG) $(CXXSTD_CXXFLAG)
|
||||
+ $(NO_LIFETIME_DSE_CFLAG) $(CXXSTD_CXXFLAG) \
|
||||
+ $(REALIGN_CFLAG)
|
||||
EXTRA_CFLAGS=@LEGACY_TARGET_CFLAGS@
|
||||
EXTRA_LDFLAGS=@LEGACY_TARGET_LDFLAGS@
|
||||
EXTRA_ASFLAGS=@LEGACY_TARGET_ASFLAGS@
|
||||
CXX:=@FIXPATH@ @CCACHE@ @CXX@
|
||||
2596
jdk8328999-update_giflib_5.2.2.patch
Normal file
2596
jdk8328999-update_giflib_5.2.2.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -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
29
scripts/builds/build_centos.sh
Executable 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:
|
||||
29
scripts/builds/build_centos_portable_build.sh
Executable file
29
scripts/builds/build_centos_portable_build.sh
Executable 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:
|
||||
29
scripts/builds/build_rhel_7_portable_build.sh
Executable file
29
scripts/builds/build_rhel_7_portable_build.sh
Executable 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
43
scripts/builds/build_rhel_8.sh
Executable 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
43
scripts/builds/build_rhel_9.sh
Executable 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:
|
||||
29
scripts/builds/build_rhel_portable_build.sh
Executable file
29
scripts/builds/build_rhel_portable_build.sh
Executable 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
43
scripts/builds/build_vanilla.sh
Executable 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:
|
||||
77
scripts/builds/check_signatures.sh
Executable file
77
scripts/builds/check_signatures.sh
Executable file
@ -0,0 +1,77 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (C) 2026 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/>.
|
||||
|
||||
# Check the signatures (if any) in RHEL RPM buildinfo
|
||||
# This is intended to be run from the tagging scripts
|
||||
|
||||
# Return codes:
|
||||
# - 1 - Buildinfo file not specified
|
||||
# - 2 = Missing buildinfo file
|
||||
# - 3 = No signatures
|
||||
# - 4 = Multiple signature types found
|
||||
# - 5 = PQC signature found
|
||||
# - 6 = Old signature (fd431d51) found
|
||||
# - 7 = Unknown signature found
|
||||
|
||||
BUILDINFO=${1}
|
||||
NEW_SIGNATURE="release4";
|
||||
OLD_SIGNATURE="fd431d51";
|
||||
|
||||
if test "${BUILDINFO}" = ""; then
|
||||
echo "${0} <BUILDINFO>";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if ! test -e "${BUILDINFO}" ; then
|
||||
echo "${BUILDINFO} not found.";
|
||||
exit 2;
|
||||
fi
|
||||
|
||||
if cat ${BUILDINFO} | grep -q Signatures ; then
|
||||
signature=$(cat ${BUILDINFO} | grep Signatures|cut -d ' ' -f 2-|uniq -c);
|
||||
uniq_count=$(echo ${signature} | wc -l);
|
||||
if test ${uniq_count} -gt 1; then
|
||||
echo "Multiple signature types found:";
|
||||
echo "${signature}";
|
||||
exit 4;
|
||||
fi
|
||||
sig_count=$(echo ${signature} | cut -d ' ' -f 1);
|
||||
sig_type=$(echo ${signature} | cut -d ' ' -f 2);
|
||||
echo "${sig_count} signatures of type ${sig_type} found";
|
||||
if echo "${sig_type}" | grep -q "${NEW_SIGNATURE}" ; then
|
||||
echo "PQC signature found.";
|
||||
exit 5;
|
||||
elif echo "${sig_type}" | grep -q "${OLD_SIGNATURE}"; then
|
||||
echo "Old pre-PQC signature found.";
|
||||
exit 6;
|
||||
else
|
||||
echo "Unknown signature found.";
|
||||
exit 7;
|
||||
fi
|
||||
else
|
||||
echo "Build has no signatures.";
|
||||
exit 3;
|
||||
fi
|
||||
|
||||
# Local Variables:
|
||||
# compile-command: "shellcheck check_signatures.sh"
|
||||
# fill-column: 80
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 4
|
||||
# End:
|
||||
63
scripts/builds/get_gating_results.sh
Executable file
63
scripts/builds/get_gating_results.sh
Executable file
@ -0,0 +1,63 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright (C) 2026 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/>.
|
||||
|
||||
# Retrieve the results of a gating test using the ID from the JSON
|
||||
# retrieved by query_build_gating.sh
|
||||
|
||||
RESULT_ID=${1}
|
||||
|
||||
if test "${RESULT_ID}" = ""; then
|
||||
echo "No ID specified.";
|
||||
echo "${0} <RESULT_ID>";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
CURL=$(command -v curl)
|
||||
JSON_TOOL=$(command -v jq)
|
||||
|
||||
if test "${CURL}" = ""; then
|
||||
echo "curl not found";
|
||||
exit 2;
|
||||
fi
|
||||
|
||||
if test "${JSON_TOOL}" = ""; then
|
||||
echo "jq not found";
|
||||
exit 3;
|
||||
fi
|
||||
|
||||
URL="https://resultsdb-api.engineering.redhat.com/api/v2.0/results/${RESULT_ID}"
|
||||
JSON_OUT=$(mktemp --tmpdir out.XXXXXX.json)
|
||||
|
||||
CMD=("${CURL}" --silent --show-error "${URL}")
|
||||
|
||||
echo "${CMD[@]}"
|
||||
|
||||
if command "${CMD[@]}" > "${JSON_OUT}" ; then
|
||||
"${JSON_TOOL}" < "${JSON_OUT}"
|
||||
else
|
||||
echo "Failed to obtain JSON";
|
||||
exit 4;
|
||||
fi
|
||||
|
||||
# Local Variables:
|
||||
# compile-command: "shellcheck get_gating_results.sh"
|
||||
# fill-column: 80
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 4
|
||||
# End:
|
||||
94
scripts/builds/query_build_gating.sh
Executable file
94
scripts/builds/query_build_gating.sh
Executable file
@ -0,0 +1,94 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright (C) 2026 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/>.
|
||||
|
||||
# Retrieve the status of a build's progress through gating
|
||||
|
||||
RHEL_VER=${1}
|
||||
NVR=${2}
|
||||
|
||||
if test "${RHEL_VER}" = ""; then
|
||||
echo "No RHEL version specified.";
|
||||
echo "${0} <RHEL_VER> <NVR>";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if test "${NVR}" = ""; then
|
||||
echo "No NVR specified.";
|
||||
echo "${0} <RHEL_VER> <NVR>";
|
||||
exit 2;
|
||||
fi
|
||||
|
||||
CURL=$(command -v curl)
|
||||
JSON_TOOL=$(command -v jq)
|
||||
JSON_FILE=$(mktemp --tmpdir query.XXXXXX.json)
|
||||
JSON_OUT=$(mktemp --tmpdir out.XXXXXX.json)
|
||||
URL="https://greenwave.engineering.redhat.com/api/v1.0/decision"
|
||||
|
||||
if test "${CURL}" = ""; then
|
||||
echo "curl not found";
|
||||
exit 3;
|
||||
fi
|
||||
|
||||
if test "${JSON_TOOL}" = ""; then
|
||||
echo "jq not found";
|
||||
exit 4;
|
||||
fi
|
||||
|
||||
{
|
||||
echo "{";
|
||||
printf "\t\"decision_context\":\"osci_compose_gate\",\n";
|
||||
printf "\t\"product_version\":\"rhel-%d\",\n" "${RHEL_VER}";
|
||||
printf "\t\"subject_type\":\"koji_build\",\n";
|
||||
printf "\t\"subject_identifier\":\"%s\",\n" "${NVR}";
|
||||
printf "\t\"verbose\":false\n";
|
||||
echo "}";
|
||||
} > "${JSON_FILE}"
|
||||
|
||||
echo "Sending the following JSON...";
|
||||
cat "${JSON_FILE}"
|
||||
|
||||
CMD=("${CURL}" --silent --show-error -X POST)
|
||||
|
||||
JSON_COMMAND="--json";
|
||||
# Check --json is available
|
||||
${CURL} ${JSON_COMMAND} 2> /dev/null
|
||||
if [ $? -eq 2 ] ; then
|
||||
echo "--json unsupported; falling back on --data-ascii";
|
||||
CMD=("${CMD[@]}" --header Content-Type:application/json --data-ascii);
|
||||
else
|
||||
CMD=("${CMD[@]}" "${JSON_COMMAND}");
|
||||
fi
|
||||
|
||||
CMD=("${CMD[@]}" "@${JSON_FILE}" "${URL}")
|
||||
|
||||
echo "${CMD[@]}"
|
||||
|
||||
if command "${CMD[@]}" > "${JSON_OUT}" ; then
|
||||
"${JSON_TOOL}" < "${JSON_OUT}"
|
||||
else
|
||||
echo "Failed to obtain JSON";
|
||||
exit 5;
|
||||
fi
|
||||
|
||||
# Local Variables:
|
||||
# compile-command: "shellcheck query_build_gating.sh"
|
||||
# fill-column: 80
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 4
|
||||
# End:
|
||||
87
scripts/builds/tag_rhel.sh
Executable file
87
scripts/builds/tag_rhel.sh
Executable file
@ -0,0 +1,87 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (C) 2026 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 public RHEL RPMs into gating for all supported streams
|
||||
# This is intended to be run from tag_rhel_<ver>_(public|embargoed).sh
|
||||
|
||||
BUILD="${1}"
|
||||
BUILDLOG="${2}"
|
||||
SUFFIX="${3}"
|
||||
shift 3;
|
||||
SUPPORTED_VERS="$*"
|
||||
|
||||
CMD_SYNTAX="${0} <BUILD> <BUILDLOG> <SUFFIX> <SUPPORTED_VERS>";
|
||||
GATE_SUFFIX="gate"
|
||||
|
||||
if test "${BUILD}" = ""; then
|
||||
echo "${CMD_SYNTAX}";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if test "${BUILDLOG}" = ""; then
|
||||
echo "${CMD_SYNTAX}";
|
||||
exit 2;
|
||||
fi
|
||||
|
||||
if test "${SUPPORTED_VERS}" = ""; then
|
||||
echo "${CMD_SYNTAX}";
|
||||
exit 3;
|
||||
fi
|
||||
|
||||
buildtags=$(grep "^Tag" "${BUILDLOG}" | cut -d : -f 2-)
|
||||
echo "Build has tags ${buildtags}";
|
||||
|
||||
if [ "${SUFFIX}" = "${GATE_SUFFIX}" ] ; then
|
||||
echo "Gating system can only handle one tag at a time."
|
||||
echo "Script will need to be re-run for subsequent tags once previous tag has moved to -candidate."
|
||||
if echo "${buildtags}" | grep -q "${GATE_SUFFIX}"; then
|
||||
echo "Tag with \"-${GATE_SUFFIX}\" found. Please complete gating before re-running.";
|
||||
exit 1;
|
||||
fi
|
||||
fi
|
||||
|
||||
done=0;
|
||||
for ver in ${SUPPORTED_VERS}; do
|
||||
vertag="rhel-${ver}";
|
||||
proposedtag="${vertag}-${SUFFIX}";
|
||||
echo "Checking if ${BUILD} has been added to ${vertag}...";
|
||||
if echo "${buildtags}" | grep -q "${vertag}" ; then
|
||||
echo "${BUILD} has been tagged into ${proposedtag}";
|
||||
else
|
||||
if [ "${SUFFIX}" = "${GATE_SUFFIX}" ] && [ "${done}" -eq 1 ]; then
|
||||
echo "Already added a tag. Need to tag ${proposedtag} in a future run.";
|
||||
else
|
||||
echo "Tagging ${BUILD} into ${proposedtag}";
|
||||
brew tag-build --nowait "${proposedtag}" "${BUILD}";
|
||||
done=1;
|
||||
fi
|
||||
fi
|
||||
done
|
||||
if [ "${done}" -eq 1 ]; then
|
||||
brew watch-task --mine;
|
||||
else
|
||||
echo "Nothing to do.";
|
||||
fi
|
||||
|
||||
# Local Variables:
|
||||
# compile-command: "shellcheck tag_rhel.sh"
|
||||
# fill-column: 80
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 4
|
||||
# End:
|
||||
47
scripts/builds/tag_rhel_8_embargoed.sh
Executable file
47
scripts/builds/tag_rhel_8_embargoed.sh
Executable file
@ -0,0 +1,47 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (C) 2026 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
|
||||
|
||||
BUILD=${1}
|
||||
|
||||
if test "${BUILD}" = ""; then
|
||||
echo "${0} <BUILD>";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
BUILDLOG=$(mktemp --tmpdir "temp-${BUILD}-buildinfo-XXX")
|
||||
SUPPORTED_VERS="8.2.0-z 8.4.0-z 8.6.0-z 8.8.0-z 8.10.0-z"
|
||||
WORKING_DIR=$(dirname "${0}")
|
||||
EMBARGOED_SUFFIX="nocompose-candidate"
|
||||
|
||||
echo "Obtaining buildinfo for ${BUILD}...";
|
||||
brew buildinfo "${BUILD}" 2>&1 | tee "${BUILDLOG}" > /dev/null
|
||||
|
||||
echo "Tagging embargoed build for ${SUPPORTED_VERS}...";
|
||||
"${WORKING_DIR}"/tag_rhel.sh "${BUILD}" "${BUILDLOG}" "${EMBARGOED_SUFFIX}" "${SUPPORTED_VERS}"
|
||||
|
||||
rm -f "${BUILDLOG}"
|
||||
|
||||
# Local Variables:
|
||||
# compile-command: "shellcheck tag_rhel_8_embargoed.sh"
|
||||
# fill-column: 80
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 4
|
||||
# End:
|
||||
47
scripts/builds/tag_rhel_8_public.sh
Executable file
47
scripts/builds/tag_rhel_8_public.sh
Executable file
@ -0,0 +1,47 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (C) 2026 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 public RHEL 8 RPMs into gating for all supported streams
|
||||
|
||||
BUILD=${1}
|
||||
|
||||
if test "${BUILD}" = ""; then
|
||||
echo "${0} <BUILD>";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
BUILDLOG=$(mktemp --tmpdir "temp-${BUILD}-buildinfo-XXX")
|
||||
SUPPORTED_VERS="8.2.0-z 8.4.0-z 8.6.0-z 8.8.0-z 8.10.0-z"
|
||||
WORKING_DIR=$(dirname "${0}")
|
||||
GATE_SUFFIX="gate"
|
||||
|
||||
echo "Obtaining buildinfo for ${BUILD}...";
|
||||
brew buildinfo "${BUILD}" 2>&1 | tee "${BUILDLOG}" > /dev/null
|
||||
|
||||
echo "Tagging build into gating for ${SUPPORTED_VERS}...";
|
||||
"${WORKING_DIR}"/tag_rhel.sh "${BUILD}" "${BUILDLOG}" "${GATE_SUFFIX}" "${SUPPORTED_VERS}"
|
||||
|
||||
rm -f "${BUILDLOG}"
|
||||
|
||||
# Local Variables:
|
||||
# compile-command: "shellcheck tag_rhel_8_public.sh"
|
||||
# fill-column: 80
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 4
|
||||
# End:
|
||||
67
scripts/builds/tag_rhel_9_embargoed.sh
Executable file
67
scripts/builds/tag_rhel_9_embargoed.sh
Executable file
@ -0,0 +1,67 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (C) 2026 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 older embargoed RHEL 9 RPMs into supported z-streams
|
||||
|
||||
BUILD=${1}
|
||||
|
||||
if test "${BUILD}" = ""; then
|
||||
echo "${0} <BUILD>";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
BUILDLOG=$(mktemp --tmpdir "temp-${BUILD}-buildinfo-XXX")
|
||||
SUPPORTED_VERS="9.0.0-z 9.2.0-z 9.4.0-z 9.6.0-z"
|
||||
WORKING_DIR=$(dirname "${0}")
|
||||
EMBARGOED_SUFFIX="nocompose-candidate"
|
||||
|
||||
echo "Obtaining buildinfo for ${BUILD}...";
|
||||
brew buildinfo "${BUILD}" 2>&1 | tee "${BUILDLOG}" > /dev/null
|
||||
|
||||
echo "Checking signatures for ${BUILD}...";
|
||||
"${WORKING_DIR}"/check_signatures.sh "${BUILDLOG}"
|
||||
|
||||
# Return codes:
|
||||
# - 1 - Buildinfo file not specified
|
||||
# - 2 = Missing buildinfo file
|
||||
# - 3 = No signatures
|
||||
# - 4 = Multiple signature types found
|
||||
# - 5 = PQC signature found
|
||||
# - 6 = Old signature (fd431d51) found
|
||||
# - 7 = Unknown signature found
|
||||
ret=$?;
|
||||
if [ "${ret}" -eq 5 ] ; then
|
||||
echo "Build has PQC signatures; use tag_rhel_9_embargoed_pqc.sh";
|
||||
exit 2;
|
||||
elif ! { [ "${ret}" -eq 6 ] || [ "${ret}" -eq 3 ] ; } ; then
|
||||
echo "Signature check failed.";
|
||||
exit 3;
|
||||
fi
|
||||
|
||||
echo "Tagging embargoed build for ${SUPPORTED_VERS}...";
|
||||
"${WORKING_DIR}"/tag_rhel.sh "${BUILD}" "${BUILDLOG}" "${EMBARGOED_SUFFIX}" "${SUPPORTED_VERS}"
|
||||
|
||||
rm -f "${BUILDLOG}"
|
||||
|
||||
# Local Variables:
|
||||
# compile-command: "shellcheck tag_rhel_9_embargoed.sh"
|
||||
# fill-column: 80
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 4
|
||||
# End:
|
||||
67
scripts/builds/tag_rhel_9_embargoed_pqc.sh
Executable file
67
scripts/builds/tag_rhel_9_embargoed_pqc.sh
Executable file
@ -0,0 +1,67 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (C) 2026 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 newer PQC embargoed RHEL 9 RPMs into supported z-streams
|
||||
|
||||
BUILD=${1}
|
||||
|
||||
if test "${BUILD}" = ""; then
|
||||
echo "${0} <BUILD>";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
BUILDLOG=$(mktemp --tmpdir "temp-${BUILD}-buildinfo-XXX")
|
||||
SUPPORTED_VERS="9.7.0-z"
|
||||
WORKING_DIR=$(dirname "${0}")
|
||||
EMBARGOED_SUFFIX="nocompose-candidate"
|
||||
|
||||
echo "Obtaining buildinfo for ${BUILD}...";
|
||||
brew buildinfo "${BUILD}" 2>&1 | tee "${BUILDLOG}" > /dev/null
|
||||
|
||||
echo "Checking signatures for ${BUILD}...";
|
||||
"${WORKING_DIR}"/check_signatures.sh "${BUILDLOG}"
|
||||
|
||||
# Return codes:
|
||||
# - 1 - Buildinfo file not specified
|
||||
# - 2 = Missing buildinfo file
|
||||
# - 3 = No signatures
|
||||
# - 4 = Multiple signature types found
|
||||
# - 5 = PQC signature found
|
||||
# - 6 = Old signature (fd431d51) found
|
||||
# - 7 = Unknown signature found
|
||||
ret=$?;
|
||||
if [ "${ret}" -eq 6 ] ; then
|
||||
echo "Build has old signatures; use tag_rhel_9_embargoed.sh";
|
||||
exit 2;
|
||||
elif ! { [ "${ret}" -eq 5 ] || [ "${ret}" -eq 3 ] ; } ; then
|
||||
echo "Signature check failed.";
|
||||
exit 3;
|
||||
fi
|
||||
|
||||
echo "Tagging embargoed build for ${SUPPORTED_VERS}...";
|
||||
"${WORKING_DIR}"/tag_rhel.sh "${BUILD}" "${BUILDLOG}" "${EMBARGOED_SUFFIX}" "${SUPPORTED_VERS}"
|
||||
|
||||
rm -f "${BUILDLOG}"
|
||||
|
||||
# Local Variables:
|
||||
# compile-command: "shellcheck tag_rhel_9_embargoed_pqc.sh"
|
||||
# fill-column: 80
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 4
|
||||
# End:
|
||||
67
scripts/builds/tag_rhel_9_public.sh
Executable file
67
scripts/builds/tag_rhel_9_public.sh
Executable file
@ -0,0 +1,67 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (C) 2026 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 older public RHEL 9 RPMs into gating for all supported streams
|
||||
|
||||
BUILD=${1}
|
||||
|
||||
if test "${BUILD}" = ""; then
|
||||
echo "${0} <BUILD>";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
BUILDLOG=$(mktemp --tmpdir "temp-${BUILD}-buildinfo-XXX")
|
||||
SUPPORTED_VERS="9.0.0-z 9.2.0-z 9.4.0-z 9.6.0-z"
|
||||
WORKING_DIR=$(dirname "${0}")
|
||||
GATE_SUFFIX="gate"
|
||||
|
||||
echo "Obtaining buildinfo for ${BUILD}...";
|
||||
brew buildinfo "${BUILD}" 2>&1 | tee "${BUILDLOG}" > /dev/null
|
||||
|
||||
echo "Checking signatures for ${BUILD}...";
|
||||
"${WORKING_DIR}"/check_signatures.sh "${BUILDLOG}"
|
||||
|
||||
# Return codes:
|
||||
# - 1 - Buildinfo file not specified
|
||||
# - 2 = Missing buildinfo file
|
||||
# - 3 = No signatures
|
||||
# - 4 = Multiple signature types found
|
||||
# - 5 = PQC signature found
|
||||
# - 6 = Old signature (fd431d51) found
|
||||
# - 7 = Unknown signature found
|
||||
ret=$?;
|
||||
if [ "${ret}" -eq 5 ] ; then
|
||||
echo "Build has PQC signatures; use tag_rhel_9_public_pqc.sh";
|
||||
exit 2;
|
||||
elif ! { [ "${ret}" -eq 6 ] || [ "${ret}" -eq 3 ] ; } ; then
|
||||
echo "Signature check failed.";
|
||||
exit 3;
|
||||
fi
|
||||
|
||||
echo "Tagging build into gating for ${SUPPORTED_VERS}...";
|
||||
"${WORKING_DIR}"/tag_rhel.sh "${BUILD}" "${BUILDLOG}" "${GATE_SUFFIX}" "${SUPPORTED_VERS}"
|
||||
|
||||
rm -f "${BUILDLOG}"
|
||||
|
||||
# Local Variables:
|
||||
# compile-command: "shellcheck tag_rhel_9_public.sh"
|
||||
# fill-column: 80
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 4
|
||||
# End:
|
||||
67
scripts/builds/tag_rhel_9_public_pqc.sh
Executable file
67
scripts/builds/tag_rhel_9_public_pqc.sh
Executable file
@ -0,0 +1,67 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (C) 2026 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 newer PQC public RHEL 9 RPMs into gating for all supported streams
|
||||
|
||||
BUILD=${1}
|
||||
|
||||
if test "${BUILD}" = ""; then
|
||||
echo "${0} <BUILD>";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
BUILDLOG=$(mktemp --tmpdir "temp-${BUILD}-buildinfo-XXX")
|
||||
SUPPORTED_VERS="9.8.0 9.7.0-z"
|
||||
WORKING_DIR=$(dirname "${0}")
|
||||
GATE_SUFFIX="gate"
|
||||
|
||||
echo "Obtaining buildinfo for ${BUILD}...";
|
||||
brew buildinfo "${BUILD}" 2>&1 | tee "${BUILDLOG}" > /dev/null
|
||||
|
||||
echo "Checking signatures for ${BUILD}...";
|
||||
"${WORKING_DIR}"/check_signatures.sh "${BUILDLOG}"
|
||||
|
||||
# Return codes:
|
||||
# - 1 - Buildinfo file not specified
|
||||
# - 2 = Missing buildinfo file
|
||||
# - 3 = No signatures
|
||||
# - 4 = Multiple signature types found
|
||||
# - 5 = PQC signature found
|
||||
# - 6 = Old signature (fd431d51) found
|
||||
# - 7 = Unknown signature found
|
||||
ret=$?;
|
||||
if [ "${ret}" -eq 6 ] ; then
|
||||
echo "Build has old signatures; use tag_rhel_9_public.sh";
|
||||
exit 2;
|
||||
elif ! { [ "${ret}" -eq 5 ] || [ "${ret}" -eq 3 ] ; } ; then
|
||||
echo "Signature check failed.";
|
||||
exit 3;
|
||||
fi
|
||||
|
||||
echo "Tagging build into gating for ${SUPPORTED_VERS}...";
|
||||
"${WORKING_DIR}"/tag_rhel.sh "${BUILD}" "${BUILDLOG}" "${GATE_SUFFIX}" "${SUPPORTED_VERS}"
|
||||
|
||||
rm -f "${BUILDLOG}"
|
||||
|
||||
# Local Variables:
|
||||
# compile-command: "shellcheck tag_rhel_9_public_pqc.sh"
|
||||
# fill-column: 80
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 4
|
||||
# End:
|
||||
132
scripts/builds/waive_issue.sh
Executable file
132
scripts/builds/waive_issue.sh
Executable file
@ -0,0 +1,132 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright (C) 2026 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/>.
|
||||
|
||||
# Waive a gating issue
|
||||
|
||||
RHEL_VER=${1}
|
||||
NVR=${2}
|
||||
TESTCASE=${3}
|
||||
COMMENT=${4}
|
||||
|
||||
CURL=$(command -v curl)
|
||||
JSON_TOOL=$(command -v json_verify)
|
||||
JSON_FORMAT=$(command -v jq)
|
||||
JSON_FILE=$(mktemp --tmpdir waive.XXXXXX.json)
|
||||
HEADER_FILE=$(mktemp --tmpdir waive.XXXXXX.headers)
|
||||
JSON_OUT=$(mktemp --tmpdir out.XXXXXX.json)
|
||||
|
||||
CACERT=/etc/ssl/certs/2022-IT-Root-CA.pem
|
||||
CACERT_DIR=$(dirname ${CACERT})
|
||||
URL="https://waiverdb.engineering.redhat.com/api/v1.0/waivers/"
|
||||
|
||||
if test -z "${JSON_TOOL}" -o ! -x "${JSON_TOOL}" ; then
|
||||
echo "JSON verifier not found. Skipping verification.";
|
||||
SKIP_JSON=1;
|
||||
else
|
||||
SKIP_JSON=0;
|
||||
fi
|
||||
|
||||
if test "x${RHEL_VER}" = "x"; then
|
||||
echo "No RHEL version specified.";
|
||||
echo "${0} <RHEL_VER> <NVR> <TESTCASE> <COMMENT>";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if test "x${NVR}" = "x"; then
|
||||
echo "No NVR specified.";
|
||||
echo "${0} <RHEL_VER> <NVR> <TESTCASE> <COMMENT>";
|
||||
exit 2;
|
||||
fi
|
||||
|
||||
if test "x${TESTCASE}" = "x"; then
|
||||
echo "No testcase specified.";
|
||||
echo "${0} <RHEL_VER> <NVR> <TESTCASE> <COMMENT>";
|
||||
exit 3;
|
||||
fi
|
||||
|
||||
if test "x${COMMENT}" = "x"; then
|
||||
COMMENT="Gating broken";
|
||||
echo "Setting COMMENT to default of '${COMMENT}'"
|
||||
fi
|
||||
|
||||
if test "${CURL}" = ""; then
|
||||
echo "curl not found";
|
||||
exit 4;
|
||||
fi
|
||||
|
||||
if test "${JSON_FORMAT}" = ""; then
|
||||
echo "jq not found";
|
||||
exit 5;
|
||||
fi
|
||||
|
||||
{
|
||||
echo "{";
|
||||
printf "\t\"subject_type\":\"brew-build\",\n";
|
||||
printf "\t\"subject_identifier\":\"%s\",\n" "${NVR}";
|
||||
printf "\t\"testcase\":\"%s\",\n" "${TESTCASE}";
|
||||
printf "\t\"waived\":true,\n";
|
||||
printf "\t\"product_version\":\"rhel-%d\",\n" "${RHEL_VER}"
|
||||
printf "\t\"comment\":\"%s\"\n" "${COMMENT}";
|
||||
echo "}"
|
||||
} > "${JSON_FILE}"
|
||||
|
||||
if [ "${SKIP_JSON}" -eq 0 ] ; then
|
||||
"${JSON_TOOL}" < "${JSON_FILE}" || exit 6;
|
||||
fi
|
||||
|
||||
CMD=("${CURL}" --silent --show-error --capath "${CACERT_DIR}" --negotiate -u :)
|
||||
|
||||
JSON_COMMAND="--json";
|
||||
# Check --json is available
|
||||
${CURL} ${JSON_COMMAND} 2> /dev/null
|
||||
if [ $? -eq 2 ] ; then
|
||||
echo "--json unsupported; falling back on --data-binary";
|
||||
{
|
||||
echo "Content-Type: application/json";
|
||||
echo "Accept: application/json";
|
||||
} > "${HEADER_FILE}"
|
||||
echo "Header file:";
|
||||
cat "${HEADER_FILE}"
|
||||
CMD=("${CMD[@]}" --header "@${HEADER_FILE}" --data-binary);
|
||||
else
|
||||
CMD=("${CMD[@]}" "${JSON_COMMAND}");
|
||||
fi
|
||||
CMD=("${CMD[@]}" "@${JSON_FILE}" "${URL}")
|
||||
|
||||
echo "Sending the following JSON...";
|
||||
cat "${JSON_FILE}"
|
||||
|
||||
echo "${CMD[@]}"
|
||||
|
||||
if command "${CMD[@]}" > "${JSON_OUT}" ; then
|
||||
"${JSON_FORMAT}" < "${JSON_OUT}"
|
||||
else
|
||||
echo "Failed to file waiver";
|
||||
exit 7;
|
||||
fi
|
||||
|
||||
rm -v "${JSON_FILE}"
|
||||
rm -v "${HEADER_FILE}"
|
||||
|
||||
# Local Variables:
|
||||
# compile-command: "shellcheck waive_issue.sh"
|
||||
# fill-column: 80
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 4
|
||||
# End:
|
||||
46
scripts/builds/waive_leapp_issue.sh
Executable file
46
scripts/builds/waive_leapp_issue.sh
Executable file
@ -0,0 +1,46 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (C) 2026 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/>.
|
||||
|
||||
# Waive the leapp gating test which never seems to work
|
||||
|
||||
RHEL_VER=${1}
|
||||
NVR=${2}
|
||||
|
||||
WORKING_DIR=$(dirname "${0}")
|
||||
|
||||
if test "x${RHEL_VER}" = "x"; then
|
||||
echo "No RHEL version specified.";
|
||||
echo "${0} <RHEL_VER> <NVR>";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if test "x${NVR}" = "x"; then
|
||||
echo "No NVR specified.";
|
||||
echo "${0} <RHEL_VER> <NVR>";
|
||||
exit 2;
|
||||
fi
|
||||
|
||||
"${WORKING_DIR}"/waive_issue.sh "${RHEL_VER}" "${NVR}" leapp.brew-build.upgrade.distro "AWOL"
|
||||
|
||||
# Local Variables:
|
||||
# compile-command: "shellcheck waive_leapp_issue.sh"
|
||||
# fill-column: 80
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 4
|
||||
# End:
|
||||
53
scripts/builds/waive_rpminspect.sh
Executable file
53
scripts/builds/waive_rpminspect.sh
Executable file
@ -0,0 +1,53 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (C) 2026 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/>.
|
||||
|
||||
# Waive a rpminspect gating issue
|
||||
|
||||
RHEL_VER=${1}
|
||||
NVR=${2}
|
||||
COMMENT=${3}
|
||||
|
||||
WORKING_DIR=$(dirname "${0}")
|
||||
|
||||
if test "x${RHEL_VER}" = "x"; then
|
||||
echo "No RHEL version specified.";
|
||||
echo "${0} <RHEL_VER> <NVR> <COMMENT>";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if test "x${NVR}" = "x"; then
|
||||
echo "No NVR specified.";
|
||||
echo "${0} <RHEL_VER> <NVR> <COMMENT>";
|
||||
exit 2;
|
||||
fi
|
||||
|
||||
if test "${COMMENT}" = ""; then
|
||||
echo "No comment specified.";
|
||||
echo "${0} <RHEL_VER> <NVR> <COMMENT>";
|
||||
exit 3;
|
||||
fi
|
||||
|
||||
"${WORKING_DIR}"/waive_issue.sh "${RHEL_VER}" "${NVR}" osci.brew-build.rpminspect.static-analysis "${COMMENT}"
|
||||
|
||||
# Local Variables:
|
||||
# compile-command: "shellcheck waive_rpminspect.sh"
|
||||
# fill-column: 80
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 4
|
||||
# End:
|
||||
46
scripts/builds/waive_usual_rpminspect.sh
Executable file
46
scripts/builds/waive_usual_rpminspect.sh
Executable file
@ -0,0 +1,46 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (C) 2026 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/>.
|
||||
|
||||
# Waive the recurring rpminspect gating issues
|
||||
# Should be resolved by RHELPLAN-102267
|
||||
|
||||
RHEL_VER=${1}
|
||||
NVR=${2}
|
||||
|
||||
if test "x${RHEL_VER}" = "x"; then
|
||||
echo "No RHEL version specified.";
|
||||
echo "${0} <RHEL_VER> <NVR>";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if test "x${NVR}" = "x"; then
|
||||
echo "No NVR specified.";
|
||||
echo "${0} <RHEL_VER> <NVR>";
|
||||
exit 2;
|
||||
fi
|
||||
|
||||
"${WORKING_DIR}"/waive_rpminspect.sh "${RHEL_VER}" "${NVR}" \
|
||||
"Usual failures we waived through rpmdiff; slowdebug unoptimised, RPATH and IPv4 functions"
|
||||
|
||||
# Local Variables:
|
||||
# compile-command: "shellcheck waive_usual_rpminspect.sh"
|
||||
# fill-column: 80
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 4
|
||||
# End:
|
||||
47
scripts/builds/waive_usual_tier0.sh
Executable file
47
scripts/builds/waive_usual_tier0.sh
Executable file
@ -0,0 +1,47 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (C) 2026 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/>.
|
||||
|
||||
# Waive the usual tier0 gating issue
|
||||
# Should be resolved by OPENJDK-4517
|
||||
|
||||
RHEL_VER=${1}
|
||||
NVR=${2}
|
||||
|
||||
WORKING_DIR=$(dirname "${0}")
|
||||
|
||||
if test "x${RHEL_VER}" = "x"; then
|
||||
echo "No RHEL version specified.";
|
||||
echo "${0} <RHEL_VER> <NVR>";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if test "x${NVR}" = "x"; then
|
||||
echo "No NVR specified.";
|
||||
echo "${0} <RHEL_VER> <NVR>";
|
||||
exit 2;
|
||||
fi
|
||||
|
||||
"${WORKING_DIR}"/waive_issue.sh "${RHEL_VER}" "${NVR}" osci.brew-build.tier0.functional "Test unable to parse spec file"
|
||||
|
||||
# Local Variables:
|
||||
# compile-command: "shellcheck waive_usual_tier0.sh"
|
||||
# fill-column: 80
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 4
|
||||
# End:
|
||||
61
scripts/discover_trees.sh
Executable file
61
scripts/discover_trees.sh
Executable 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:
|
||||
322
scripts/generate_source_tarball.sh
Executable file
322
scripts/generate_source_tarball.sh
Executable 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
172
scripts/get_bundle_versions.sh
Executable 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
201
scripts/icedtea_sync.sh
Executable 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:
|
||||
31
scripts/jconsole-plugin.patch
Normal file
31
scripts/jconsole-plugin.patch
Normal 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
114
scripts/openjdk_news.sh
Executable 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|upgrade).*(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
2
sources
Normal file
@ -0,0 +1,2 @@
|
||||
SHA512 (tapsets-icedtea-3.15.0.tar.xz) = c752a197cb3d812d50c35e11e4722772be40096c81d2a57933e0d9b8a3c708b9c157b8108a4e33a06ca7bb81648170994408c75d6f69d5ff12785d0c31009671
|
||||
SHA512 (shenandoah8u482-b08.tar.xz) = da9091d8c229b7e1f861399d39c68b152df222ae13600ba0bbe5672948d8c560c5f9f16cd6164973316ef492ba9507131b87c5bb39a25615d5533909275235d1
|
||||
18
tests/tests.yml
Normal file
18
tests/tests.yml
Normal 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;
|
||||
Loading…
Reference in New Issue
Block a user