Compare commits
No commits in common. "c8-beta" and "c8s" have entirely different histories.
|
@ -1,2 +1,60 @@
|
|||
SOURCES/openjdk-jdk17u-jdk-17.0.6+9.tar.xz
|
||||
SOURCES/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz
|
||||
/jdk-16.0.1.0.9.el8.aarch64.tar.xz
|
||||
/jdk-16.0.1.0.9.el8.ppc64le.tar.xz
|
||||
/jdk-16.0.1.0.9.el8.s390x.tar.xz
|
||||
/jdk-16.0.1.0.9.el8.x86_64.tar.xz
|
||||
/openjdk-jdk17-jdk-17+26.tar.xz
|
||||
/tapsets-icedtea-3.15.0.tar.xz
|
||||
/openjdk-jdk17-jdk-17+33.tar.xz
|
||||
/openjdk-jdk17-jdk-17+35.tar.xz
|
||||
/openjdk-jdk17u-jdk-17.0.1+12.tar.xz
|
||||
/openjdk-jdk17u-jdk-17.0.2+8.tar.xz
|
||||
/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz
|
||||
/openjdk-jdk17u-jdk-17.0.3+1.tar.xz
|
||||
/openjdk-jdk17u-jdk-17.0.3+5.tar.xz
|
||||
/openjdk-jdk17u-17usec.17.0.3+5-220408.tar.xz
|
||||
/openjdk-jdk17u-jdk-17.0.3+7.tar.xz
|
||||
/openjdk-jdk17u-jdk-17.0.4+1.tar.xz
|
||||
/openjdk-jdk17u-jdk-17.0.4+7.tar.xz
|
||||
/openjdk-jdk17u-jdk-17.0.4+8.tar.xz
|
||||
/openjdk-jdk17u-jdk-17.0.4.1+1.tar.xz
|
||||
/openjdk-jdk17u-jdk-17.0.5+1.tar.xz
|
||||
/openjdk-jdk17u-jdk-17.0.5+7.tar.xz
|
||||
/openjdk-jdk17u-jdk-17.0.5+8.tar.xz
|
||||
/openjdk-jdk17u-jdk-17.0.6+1.tar.xz
|
||||
/openjdk-jdk17u-jdk-17.0.6+9.tar.xz
|
||||
/openjdk-jdk17u-jdk-17.0.6+10.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.docs.el.aarch64.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.docs.el.ppc64le.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.docs.el.s390x.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.docs.el.x86_64.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.fastdebug.jdk.el.aarch64.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.fastdebug.jdk.el.ppc64le.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.fastdebug.jdk.el.x86_64.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.fastdebug.static-libs.el.aarch64.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.fastdebug.static-libs.el.ppc64le.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.fastdebug.static-libs.el.x86_64.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.misc.el.aarch64.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.misc.el.ppc64le.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.misc.el.s390x.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.misc.el.x86_64.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.slowdebug.jdk.el.aarch64.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.slowdebug.jdk.el.ppc64le.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.slowdebug.jdk.el.s390x.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.slowdebug.jdk.el.x86_64.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.slowdebug.static-libs.el.aarch64.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.slowdebug.static-libs.el.ppc64le.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.slowdebug.static-libs.el.s390x.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.slowdebug.static-libs.el.x86_64.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.static-libs.el.aarch64.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.static-libs.el.ppc64le.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.static-libs.el.s390x.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.static-libs.el.x86_64.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.unstripped.jdk.el.aarch64.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.unstripped.jdk.el.ppc64le.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.unstripped.jdk.el.s390x.tar.xz
|
||||
/java-17-openjdk-17.0.6.0.10-6.portable.unstripped.jdk.el.x86_64.tar.xz
|
||||
/openjdk-jdk17u-jdk-17.0.7+7.tar.xz
|
||||
/openjdk-jdk17u-jdk-17.0.8+1.tar.xz
|
||||
/openjdk-jdk17u-jdk-17.0.8+6.tar.xz
|
||||
/openjdk-jdk17u-jdk-17.0.8+7.tar.xz
|
||||
/openjdk-jdk17u-jdk-17.0.8.1+1.tar.xz
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
95213324016613e314e5c97dc87f31a0576df00c SOURCES/openjdk-jdk17u-jdk-17.0.6+9.tar.xz
|
||||
c8281ee37b77d535c9c1af86609a531958ff7b34 SOURCES/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz
|
|
@ -0,0 +1,41 @@
|
|||
OpenJDK 17 is the latest Long-Term Support (LTS) release of the Java platform.
|
||||
|
||||
For a list of major changes from OpenJDK 11 (java-11-openjdk), see the upstream
|
||||
release page for OpenJDK 17 and the preceding interim releases:
|
||||
|
||||
* 12: https://openjdk.java.net/projects/jdk/12/
|
||||
* 13: https://openjdk.java.net/projects/jdk/13/
|
||||
* 14: https://openjdk.java.net/projects/jdk/14/
|
||||
* 15: https://openjdk.java.net/projects/jdk/15/
|
||||
* 16: https://openjdk.java.net/projects/jdk/16/
|
||||
* 17: https://openjdk.java.net/projects/jdk/17/
|
||||
|
||||
# Rebuilding the OpenJDK package
|
||||
|
||||
The OpenJDK packages are now created from a single build which is then
|
||||
packaged for different major versions of Red Hat Enterprise Linux
|
||||
(RHEL). This allows the OpenJDK team to focus their efforts on the
|
||||
development and testing of this single build, rather than having
|
||||
multiple builds which only differ by the platform they were built on.
|
||||
|
||||
This does make rebuilding the package slightly more complicated than a
|
||||
normal package. Modifications should be made to the
|
||||
`java-17-openjdk-portable.specfile` file, which can be found with this
|
||||
README file in the source RPM or installed in the documentation tree
|
||||
by the `java-17-openjdk-headless` RPM.
|
||||
|
||||
Once the modified `java-17-openjdk-portable` RPMs are built, they
|
||||
should be installed and will produce a number of tarballs in the
|
||||
`/usr/lib/jvm` directory. The `java-17-openjdk` RPMs can then be
|
||||
built, which will use these tarballs to create the usual RPMs found in
|
||||
RHEL. The `java-17-openjdk-portable` RPMs can be uninstalled once the
|
||||
desired final RPMs are produced.
|
||||
|
||||
Note that the `java-17-openjdk.spec` file has a hard requirement on
|
||||
the exact version of java-17-openjdk-portable to use, so this will
|
||||
need to be modified if the version or rpmrelease values are changed in
|
||||
`java-17-openjdk-portable.specfile`.
|
||||
|
||||
To reduce the number of RPMs involved, the `fastdebug` and `slowdebug`
|
||||
builds may be disabled using `--without fastdebug` and `--without
|
||||
slowdebug`.
|
2185
SOURCES/NEWS
2185
SOURCES/NEWS
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,54 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Copyright (C) 2020 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 "x${TREE}" = "x"; then
|
||||
TREE=${PWD}
|
||||
fi
|
||||
|
||||
if [ -e ${TREE}/nashorn/.hg -o -e ${TREE}/nashorn/merge.changeset ] ; then
|
||||
NASHORN="nashorn" ;
|
||||
fi
|
||||
|
||||
if [ -e ${TREE}/corba/.hg -o -e ${TREE}/corba/merge.changeset ] ; then
|
||||
CORBA="corba";
|
||||
fi
|
||||
|
||||
if [ -e ${TREE}/jaxp/.hg -o -e ${TREE}/jaxp/merge.changeset ] ; then
|
||||
JAXP="jaxp";
|
||||
fi
|
||||
|
||||
if [ -e ${TREE}/jaxws/.hg -o -e ${TREE}/jaxws/merge.changeset ] ; then
|
||||
JAXWS="jaxws";
|
||||
fi
|
||||
|
||||
if [ -e ${TREE}/langtools/.hg -o -e ${TREE}/langtools/merge.changeset ] ; then
|
||||
LANGTOOLS="langtools";
|
||||
fi
|
||||
|
||||
if [ -e ${TREE}/jdk/.hg -o -e ${TREE}/jdk/merge.changeset ] ; then
|
||||
JDK="jdk";
|
||||
fi
|
||||
|
||||
if [ -e ${TREE}/hotspot/.hg -o -e ${TREE}/hotspot/merge.changeset ] ; then
|
||||
HOTSPOT="hotspot";
|
||||
fi
|
||||
|
||||
SUBTREES="${CORBA} ${JAXP} ${JAXWS} ${LANGTOOLS} ${NASHORN} ${JDK} ${HOTSPOT}";
|
||||
echo ${SUBTREES}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,7 @@
|
|||
# recipients: java-qa
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-8
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
|
@ -0,0 +1,210 @@
|
|||
#!/bin/bash
|
||||
# Generates the 'source tarball' for JDK projects.
|
||||
#
|
||||
# Example:
|
||||
# When used from local repo set REPO_ROOT pointing to file:// with your repo
|
||||
# If your local repo follows upstream forests conventions, it may be enough to set OPENJDK_URL
|
||||
# If you want to use a local copy of patch PR3788, set the path to it in the PR3788 variable
|
||||
#
|
||||
# In any case you have to set PROJECT_NAME REPO_NAME and VERSION. eg:
|
||||
# PROJECT_NAME=openjdk
|
||||
# REPO_NAME=jdk17u
|
||||
# VERSION=jdk-17.0.3+5
|
||||
# or to eg prepare systemtap:
|
||||
# icedtea7's jstack and other tapsets
|
||||
# VERSION=6327cf1cea9e
|
||||
# REPO_NAME=icedtea7-2.6
|
||||
# PROJECT_NAME=release
|
||||
# OPENJDK_URL=http://icedtea.classpath.org/hg/
|
||||
# TO_COMPRESS="*/tapset"
|
||||
#
|
||||
# They are used to create correct name and are used in construction of sources url (unless REPO_ROOT is set)
|
||||
|
||||
# This script creates a single source tarball out of the repository
|
||||
# based on the given tag and removes code not allowed in fedora/rhel. For
|
||||
# consistency, the source tarball will always contain 'openjdk' as the top
|
||||
# level folder, name is created, based on parameter
|
||||
#
|
||||
|
||||
if [ ! "x$PR3823" = "x" ] ; then
|
||||
if [ ! -f "$PR3823" ] ; then
|
||||
echo "You have specified PR3823 as $PR3823 but it does not exist. Exiting"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
set -e
|
||||
|
||||
OPENJDK_URL_DEFAULT=https://github.com
|
||||
COMPRESSION_DEFAULT=xz
|
||||
# Corresponding IcedTea version
|
||||
ICEDTEA_VERSION=12.0
|
||||
|
||||
if [ "x$1" = "xhelp" ] ; then
|
||||
echo -e "Behaviour may be specified by setting the following variables:\n"
|
||||
echo "VERSION - the version of the specified OpenJDK project"
|
||||
echo "PROJECT_NAME -- the name of the OpenJDK project being archived (optional; only needed by defaults)"
|
||||
echo "REPO_NAME - the name of the OpenJDK repository (optional; only needed by defaults)"
|
||||
echo "OPENJDK_URL - the URL to retrieve code from (optional; defaults to ${OPENJDK_URL_DEFAULT})"
|
||||
echo "COMPRESSION - the compression type to use (optional; defaults to ${COMPRESSION_DEFAULT})"
|
||||
echo "FILE_NAME_ROOT - name of the archive, minus extensions (optional; defaults to PROJECT_NAME-REPO_NAME-VERSION)"
|
||||
echo "TO_COMPRESS - what part of clone to pack (default is openjdk)"
|
||||
echo "PR3823 - the path to the PR3823 patch to apply (optional; downloaded if unavailable)"
|
||||
echo "BOOT_JDK - the bootstrap JDK to satisfy the configure run"
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
|
||||
if [ "x$VERSION" = "x" ] ; then
|
||||
echo "No VERSION specified"
|
||||
exit 2
|
||||
fi
|
||||
echo "Version: ${VERSION}"
|
||||
|
||||
NUM_VER=${VERSION##jdk-}
|
||||
RELEASE_VER=${NUM_VER%%+*}
|
||||
BUILD_VER=${NUM_VER##*+}
|
||||
MAJOR_VER=${RELEASE_VER%%.*}
|
||||
echo "Major version is ${MAJOR_VER}, release ${RELEASE_VER}, build ${BUILD_VER}"
|
||||
|
||||
if [ "x$BOOT_JDK" = "x" ] ; then
|
||||
echo "No boot JDK specified".
|
||||
BOOT_JDK=/usr/lib/jvm/java-${MAJOR_VER}-openjdk;
|
||||
echo -n "Checking for ${BOOT_JDK}...";
|
||||
if [ -d ${BOOT_JDK} -a -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-${PREV_VER}-openjdk;
|
||||
echo -n "Checking for ${BOOT_JDK}...";
|
||||
if [ -d ${BOOT_JDK} -a -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
|
||||
|
||||
# REPO_NAME is only needed when we default on REPO_ROOT and FILE_NAME_ROOT
|
||||
if [ "x$FILE_NAME_ROOT" = "x" -o "x$REPO_ROOT" = "x" ] ; then
|
||||
if [ "x$PROJECT_NAME" = "x" ] ; then
|
||||
echo "No PROJECT_NAME specified"
|
||||
exit 1
|
||||
fi
|
||||
echo "Project name: ${PROJECT_NAME}"
|
||||
if [ "x$REPO_NAME" = "x" ] ; then
|
||||
echo "No REPO_NAME specified"
|
||||
exit 3
|
||||
fi
|
||||
echo "Repository name: ${REPO_NAME}"
|
||||
fi
|
||||
|
||||
if [ "x$OPENJDK_URL" = "x" ] ; then
|
||||
OPENJDK_URL=${OPENJDK_URL_DEFAULT}
|
||||
echo "No OpenJDK URL specified; defaulting to ${OPENJDK_URL}"
|
||||
else
|
||||
echo "OpenJDK URL: ${OPENJDK_URL}"
|
||||
fi
|
||||
|
||||
if [ "x$COMPRESSION" = "x" ] ; then
|
||||
# rhel 5 needs tar.gz
|
||||
COMPRESSION=${COMPRESSION_DEFAULT}
|
||||
fi
|
||||
echo "Creating a tar.${COMPRESSION} archive"
|
||||
|
||||
if [ "x$FILE_NAME_ROOT" = "x" ] ; then
|
||||
FILE_NAME_ROOT=${PROJECT_NAME}-${REPO_NAME}-${VERSION}
|
||||
echo "No file name root specified; default to ${FILE_NAME_ROOT}"
|
||||
fi
|
||||
if [ "x$REPO_ROOT" = "x" ] ; then
|
||||
REPO_ROOT="${OPENJDK_URL}/${PROJECT_NAME}/${REPO_NAME}.git"
|
||||
echo "No repository root specified; default to ${REPO_ROOT}"
|
||||
fi;
|
||||
|
||||
if [ "x$TO_COMPRESS" = "x" ] ; then
|
||||
TO_COMPRESS="openjdk"
|
||||
echo "No targets to be compressed specified, ; default to ${TO_COMPRESS}"
|
||||
fi;
|
||||
|
||||
if [ -d ${FILE_NAME_ROOT} ] ; then
|
||||
echo "exists exists exists exists exists exists exists "
|
||||
echo "reusing reusing reusing reusing reusing reusing "
|
||||
echo ${FILE_NAME_ROOT}
|
||||
else
|
||||
mkdir "${FILE_NAME_ROOT}"
|
||||
pushd "${FILE_NAME_ROOT}"
|
||||
echo "Cloning ${VERSION} root repository from ${REPO_ROOT}"
|
||||
git clone -b ${VERSION} ${REPO_ROOT} openjdk
|
||||
popd
|
||||
fi
|
||||
pushd "${FILE_NAME_ROOT}"
|
||||
if [ -d openjdk/src ]; then
|
||||
pushd openjdk
|
||||
echo "Removing EC source code we don't build"
|
||||
CRYPTO_PATH=src/jdk.crypto.ec/share/native/libsunec/impl
|
||||
rm -vf ${CRYPTO_PATH}/ec2.h
|
||||
rm -vf ${CRYPTO_PATH}/ec2_163.c
|
||||
rm -vf ${CRYPTO_PATH}/ec2_193.c
|
||||
rm -vf ${CRYPTO_PATH}/ec2_233.c
|
||||
rm -vf ${CRYPTO_PATH}/ec2_aff.c
|
||||
rm -vf ${CRYPTO_PATH}/ec2_mont.c
|
||||
rm -vf ${CRYPTO_PATH}/ecp_192.c
|
||||
rm -vf ${CRYPTO_PATH}/ecp_224.c
|
||||
|
||||
echo "Syncing EC list with NSS"
|
||||
if [ "x$PR3823" = "x" ] ; then
|
||||
# get PR3823.patch (from https://github.com/icedtea-git/icedtea) in the ${ICEDTEA_VERSION} branch
|
||||
# Do not push it or publish it
|
||||
echo "PR3823 not found. Downloading..."
|
||||
wget -v https://github.com/icedtea-git/icedtea/raw/${ICEDTEA_VERSION}/patches/pr3823.patch
|
||||
echo "Applying ${PWD}/pr3823.patch"
|
||||
patch -Np1 < pr3823.patch
|
||||
rm pr3823.patch
|
||||
else
|
||||
echo "Applying ${PR3823}"
|
||||
patch -Np1 < $PR3823
|
||||
fi;
|
||||
find . -name '*.orig' -exec rm -vf '{}' ';'
|
||||
popd
|
||||
fi
|
||||
|
||||
# Generate .src-rev so build has knowledge of the revision the tarball was created from
|
||||
mkdir build
|
||||
pushd build
|
||||
sh ${PWD}/../openjdk/configure --with-boot-jdk=${BOOT_JDK}
|
||||
make store-source-revision
|
||||
popd
|
||||
rm -rf build
|
||||
|
||||
# Remove commit checks
|
||||
echo "Removing $(find openjdk -name '.jcheck' -print)"
|
||||
find openjdk -name '.jcheck' -print0 | xargs -0 rm -r
|
||||
|
||||
# Remove history and GHA
|
||||
echo "find openjdk -name '.hgtags'"
|
||||
find openjdk -name '.hgtags' -exec rm -v '{}' '+'
|
||||
echo "find openjdk -name '.hgignore'"
|
||||
find openjdk -name '.hgignore' -exec rm -v '{}' '+'
|
||||
echo "find openjdk -name '.gitattributes'"
|
||||
find openjdk -name '.gitattributes' -exec rm -v '{}' '+'
|
||||
echo "find openjdk -name '.gitignore'"
|
||||
find openjdk -name '.gitignore' -exec rm -v '{}' '+'
|
||||
echo "find openjdk -name '.git'"
|
||||
find openjdk -name '.git' -exec rm -rv '{}' '+'
|
||||
echo "find openjdk -name '.github'"
|
||||
find openjdk -name '.github' -exec rm -rv '{}' '+'
|
||||
|
||||
echo "Compressing remaining forest"
|
||||
if [ "X$COMPRESSION" = "Xxz" ] ; then
|
||||
SWITCH=cJf
|
||||
else
|
||||
SWITCH=czf
|
||||
fi
|
||||
tar --exclude-vcs -$SWITCH ${FILE_NAME_ROOT}.tar.${COMPRESSION} $TO_COMPRESS
|
||||
mv ${FILE_NAME_ROOT}.tar.${COMPRESSION} ..
|
||||
popd
|
||||
echo "Done. You may want to remove the uncompressed version - $FILE_NAME_ROOT."
|
|
@ -0,0 +1,57 @@
|
|||
#!/bin/sh
|
||||
|
||||
ID=${1}
|
||||
FEATUREVER=17
|
||||
|
||||
if [ "x${ID}" = "x" ] ; then
|
||||
echo "$0 <ID>";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if [ "x${TMPDIR}" = "x" ] ; then
|
||||
TMPDIR=/tmp
|
||||
fi
|
||||
|
||||
downloaddir=${TMPDIR}/download.$$
|
||||
mkdir ${downloaddir}
|
||||
pushd ${downloaddir}
|
||||
"Downloading build ${ID} in ${downloaddir}";
|
||||
brew download-build ${ID}
|
||||
|
||||
versionregexp="[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*-[0-9]*"
|
||||
basename=$(ls|grep java-${FEATUREVER}-openjdk-portable-${versionregexp}.el7openjdkportable.x86_64.rpm)
|
||||
version=$(echo ${basename}|sed -r "s|^.*-(${versionregexp})\.el7.*$|\1|")
|
||||
|
||||
echo "Downloaded version ${version}"
|
||||
|
||||
# Remove stripped release builds for portable
|
||||
rm -vf java-${FEATUREVER}-openjdk-portable-${FEATUREVER}*
|
||||
rm -vf java-${FEATUREVER}-openjdk-portable-devel-${FEATUREVER}*
|
||||
|
||||
for file in *.rpm; do
|
||||
rpm2archive ${file};
|
||||
done
|
||||
|
||||
mkdir unpacked
|
||||
for file in *.tgz; do
|
||||
tar -C unpacked -xzf ${file};
|
||||
done
|
||||
|
||||
mkdir ${HOME}/${version}
|
||||
mv unpacked/usr/lib/jvm/* ${HOME}/${version}
|
||||
|
||||
pushd ${HOME}/${version}
|
||||
for file in *.sha256sum; do
|
||||
if ! sha256sum --check ${file} ; then
|
||||
echo "${file} failed checksum.";
|
||||
exit 2;
|
||||
fi
|
||||
done
|
||||
popd
|
||||
|
||||
rm -rf unpacked
|
||||
rm -vf *.tgz
|
||||
rm -vf *.rpm
|
||||
|
||||
popd
|
||||
|
|
@ -0,0 +1,191 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Copyright (C) 2019 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=true
|
||||
|
||||
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/icedtea11
|
||||
set -e
|
||||
|
||||
RPM_DIR=${PWD}
|
||||
if [ ! -f ${RPM_DIR}/jconsole.desktop.in ] ; then
|
||||
echo "Not in RPM source tree.";
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
if test "x${TMPDIR}" = "x"; then
|
||||
TMPDIR=/tmp;
|
||||
fi
|
||||
WORKDIR=${TMPDIR}/it.sync
|
||||
|
||||
echo "Using working directory ${WORKDIR}"
|
||||
mkdir ${WORKDIR}
|
||||
pushd ${WORKDIR}
|
||||
|
||||
if test "x${WGET}" = "x"; then
|
||||
WGET=$(which wget);
|
||||
if test "x${WGET}" = "x"; then
|
||||
echo "wget not found";
|
||||
exit 1;
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x${TAR}" = "x"; then
|
||||
TAR=$(which tar)
|
||||
if test "x${TAR}" = "x"; then
|
||||
echo "tar not found";
|
||||
exit 2;
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Dependencies:";
|
||||
echo -e "\tWGET: ${WGET}";
|
||||
echo -e "\tTAR: ${TAR}\n";
|
||||
|
||||
if test "x${ICEDTEA_USE_VCS}" = "xtrue"; then
|
||||
echo "Mode: Using VCS";
|
||||
|
||||
if test "x${GREP}" = "x"; then
|
||||
GREP=$(which grep);
|
||||
if test "x${GREP}" = "x"; then
|
||||
echo "grep not found";
|
||||
exit 3;
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x${CUT}" = "x"; then
|
||||
CUT=$(which cut);
|
||||
if test "x${CUT}" = "x"; then
|
||||
echo "cut not found";
|
||||
exit 4;
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x${TR}" = "x"; then
|
||||
TR=$(which tr);
|
||||
if test "x${TR}" = "x"; then
|
||||
echo "tr not found";
|
||||
exit 5;
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x${HG}" = "x"; then
|
||||
HG=$(which hg);
|
||||
if test "x${HG}" = "x"; 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 "x${ICEDTEA_VERSION}" = "x"; then
|
||||
echo "No IcedTea version specified for tarball download.";
|
||||
exit 3;
|
||||
fi
|
||||
|
||||
if test "x${CHECKSUM}" = "x"; then
|
||||
CHECKSUM=$(which sha256sum)
|
||||
if test "x${CHECKSUM}" = "x"; then
|
||||
echo "sha256sum not found";
|
||||
exit 4;
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x${PGP}" = "x"; then
|
||||
PGP=$(which gpg)
|
||||
if test "x${PGP}" = "x"; 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
|
||||
|
||||
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}
|
||||
|
||||
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}
|
File diff suppressed because it is too large
Load Diff
|
@ -1,3 +1,8 @@
|
|||
# To rebuild this RPM, you must first rebuild the portable
|
||||
# RPM using the java-17-openjdk-portable.specfile, install
|
||||
# it and then adjust portablerelease and portablesuffix
|
||||
# to match the new portable.
|
||||
|
||||
# RPM conditionals so as to be able to dynamically produce
|
||||
# slowdebug/release builds. See:
|
||||
# http://rpm.org/user_doc/conditional_builds.html
|
||||
|
@ -67,14 +72,10 @@
|
|||
# (initiated in https://bugzilla.redhat.com/show_bug.cgi?id=1482192)
|
||||
%global debug_suffix_unquoted -slowdebug
|
||||
%global fastdebug_suffix_unquoted -fastdebug
|
||||
%global main_suffix_unquoted -main
|
||||
%global staticlibs_suffix_unquoted -staticlibs
|
||||
# quoted one for shell operations
|
||||
%global debug_suffix "%{debug_suffix_unquoted}"
|
||||
%global fastdebug_suffix "%{fastdebug_suffix_unquoted}"
|
||||
%global normal_suffix ""
|
||||
%global main_suffix "%{main_suffix_unquoted}"
|
||||
%global staticlibs_suffix "%{staticlibs_suffix_unquoted}"
|
||||
|
||||
%global debug_warning This package is unoptimised with full debugging. Install only as needed and remove ASAP.
|
||||
%global fastdebug_warning This package is optimised with full debugging. Install only as needed and remove ASAP.
|
||||
|
@ -137,9 +138,9 @@
|
|||
# Set of architectures which support the serviceability agent
|
||||
%global sa_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64} %{arm}
|
||||
# Set of architectures which support class data sharing
|
||||
# See https://bugzilla.redhat.com/show_bug.cgi?id=513605
|
||||
# MetaspaceShared::generate_vtable_methods is not implemented for the PPC JIT
|
||||
%global share_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{arm} s390x
|
||||
# As of JDK-8005165 in OpenJDK 10, class sharing is not arch-specific
|
||||
# However, it does segfault on the Zero assembler port, so currently JIT only
|
||||
%global share_arches %{jit_arches}
|
||||
# Set of architectures for which we build the Shenandoah garbage collector
|
||||
%global shenandoah_arches x86_64 %{aarch64}
|
||||
# Set of architectures for which we build the Z garbage collector
|
||||
|
@ -196,12 +197,6 @@
|
|||
# Build and test slowdebug first as it provides the best diagnostics
|
||||
%global build_loop %{slowdebug_build} %{fastdebug_build} %{normal_build}
|
||||
|
||||
%if %{include_staticlibs}
|
||||
%global staticlibs_loop %{staticlibs_suffix}
|
||||
%else
|
||||
%global staticlibs_loop %{nil}
|
||||
%endif
|
||||
|
||||
%if 0%{?flatpak}
|
||||
%global bootstrap_build false
|
||||
%else
|
||||
|
@ -236,6 +231,12 @@
|
|||
# JDK to use for bootstrapping
|
||||
%global bootjdk /usr/lib/jvm/java-%{buildjdkver}-openjdk
|
||||
|
||||
# VM variant being built
|
||||
# This is always 'server' on 17u which doesn't have JDK-8273494
|
||||
%global vm_variant server
|
||||
|
||||
# debugedit tool for rewriting ELF file paths
|
||||
%global debugedit %{_rpmconfigdir}/debugedit
|
||||
|
||||
# Filter out flags from the optflags macro that cause problems with the OpenJDK build
|
||||
# We filter out -O flags so that the optimization of HotSpot is not lowered from O3 to O2
|
||||
|
@ -321,8 +322,8 @@
|
|||
# New Version-String scheme-style defines
|
||||
%global featurever 17
|
||||
%global interimver 0
|
||||
%global updatever 6
|
||||
%global patchver 0
|
||||
%global updatever 8
|
||||
%global patchver 1
|
||||
# buildjdkver is usually same as %%{featurever},
|
||||
# but in time of bootstrap of next jdk, it is featurever-1,
|
||||
# and this it is better to change it here, on single place
|
||||
|
@ -356,20 +357,26 @@
|
|||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%global oj_vendor_version (Red_Hat-%{version}-%{release})
|
||||
%global oj_vendor_version (Red_Hat-%{version}-%{portablerelease})
|
||||
|
||||
# Define IcedTea version used for SystemTap tapsets and desktop file
|
||||
%global icedteaver 6.0.0pre00-c848b93a8598
|
||||
# Define current Git revision for the FIPS support patches
|
||||
%global fipsver 72d08e3226f
|
||||
%global fipsver bf363eecce3
|
||||
|
||||
# Standard JPackage naming and versioning defines
|
||||
%global origin openjdk
|
||||
%global origin_nice OpenJDK
|
||||
%global top_level_dir_name %{origin}
|
||||
%global top_level_dir_name_backup %{top_level_dir_name}-backup
|
||||
%global buildver 9
|
||||
%global rpmrelease 3
|
||||
%global buildver 1
|
||||
# rpmrelease numbering must start at 2 to be later than the 9.0 RPM
|
||||
%global rpmrelease 2
|
||||
# Settings used by the portable build
|
||||
%global portablerelease 1
|
||||
%global portablesuffix el8
|
||||
%global portablebuilddir /builddir/build/BUILD
|
||||
|
||||
# Priority must be 8 digits in total; up to openjdk 1.8, we were using 18..... so when we moved to 11, we had to add another digit
|
||||
%if %is_system_jdk
|
||||
# Using 10 digits may overflow the int used for priority, so we combine the patch and build versions
|
||||
|
@ -395,7 +402,7 @@
|
|||
# Release will be (where N is usually a number starting at 1):
|
||||
# - 0.N%%{?extraver}%%{?dist} for EA releases,
|
||||
# - N%%{?extraver}{?dist} for GA releases
|
||||
%global is_ga 0
|
||||
%global is_ga 1
|
||||
%if %{is_ga}
|
||||
%global build_type GA
|
||||
%global ea_designator ""
|
||||
|
@ -417,7 +424,7 @@
|
|||
%global jdkimage jdk
|
||||
%global static_libs_image static-libs
|
||||
# output dir stub
|
||||
%define buildoutputdir() %{expand:build/jdk%{featurever}.build%{?1}}
|
||||
%define installoutputdir() %{expand:install/jdk%{featurever}.install%{?1}}
|
||||
# we can copy the javadoc to not arched dir, or make it not noarch
|
||||
%define uniquejavadocdir() %{expand:%{fullversion}.%{_arch}%{?1}}
|
||||
# main id and dir of this jdk
|
||||
|
@ -576,10 +583,6 @@ alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} $key %{_jvmdir}/%{jre
|
|||
}
|
||||
|
||||
%define post_headless() %{expand:
|
||||
%ifarch %{share_arches}
|
||||
%{jrebindir -- %{?1}}/java -Xshare:dump >/dev/null 2>/dev/null
|
||||
%endif
|
||||
|
||||
update-desktop-database %{_datadir}/applications &> /dev/null || :
|
||||
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
|
||||
|
||||
|
@ -801,6 +804,8 @@ exit 0
|
|||
%define files_jre_headless() %{expand:
|
||||
%license %{_jvmdir}/%{sdkdir -- %{?1}}/legal
|
||||
%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/NEWS
|
||||
%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/README.md
|
||||
%doc %{_defaultdocdir}/%{uniquejavadocdir -- %{?1}}/java-%{featurever}-openjdk-portable.specfile
|
||||
%dir %{_sysconfdir}/.java/.systemPrefs
|
||||
%dir %{_sysconfdir}/.java
|
||||
%dir %{_jvmdir}/%{sdkdir -- %{?1}}
|
||||
|
@ -874,9 +879,12 @@ exit 0
|
|||
%{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1*
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/
|
||||
%{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{vm_variant}/
|
||||
%ifarch %{share_arches}
|
||||
%attr(444, root, root) %ghost %{_jvmdir}/%{sdkdir -- %{?1}}/lib/server/classes.jsa
|
||||
%attr(444, root, root) %{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{vm_variant}/classes.jsa
|
||||
%ifnarch %{ix86} %{arm32}
|
||||
%attr(444, root, root) %{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{vm_variant}/classes_nocoops.jsa
|
||||
%endif
|
||||
%endif
|
||||
%dir %{etcjavasubdir}
|
||||
%dir %{etcjavadir -- %{?1}}
|
||||
|
@ -1118,8 +1126,8 @@ Requires: ca-certificates
|
|||
# Require javapackages-filesystem for ownership of /usr/lib/jvm/ and macros
|
||||
Requires: javapackages-filesystem
|
||||
# Require zone-info data provided by tzdata-java sub-package
|
||||
# 2022g required as of JDK-8297804
|
||||
Requires: tzdata-java >= 2022g
|
||||
# 2023c required as of JDK-8305113
|
||||
Requires: tzdata-java >= 2023c
|
||||
# for support of kernel stream control
|
||||
# libsctp.so.1 is being `dlopen`ed on demand
|
||||
Requires: lksctp-tools%{?_isa}
|
||||
|
@ -1244,6 +1252,8 @@ Provides: java-%{origin}-src%{?1} = %{epoch}:%{version}-%{release}
|
|||
Name: java-%{javaver}-%{origin}
|
||||
Version: %{newjavaver}.%{buildver}
|
||||
Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist}
|
||||
# Equivalent for the portable build
|
||||
%global prelease %{?eaprefix}%{portablerelease}%{?extraver}
|
||||
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons
|
||||
# and this change was brought into RHEL-4. java-1.5.0-ibm packages
|
||||
# also included the epoch in their virtual provides. This created a
|
||||
|
@ -1290,9 +1300,6 @@ Source8: tapsets-icedtea-%{icedteaver}.tar.xz
|
|||
# Desktop files. Adapted from IcedTea
|
||||
Source9: jconsole.desktop.in
|
||||
|
||||
# Release notes
|
||||
Source10: NEWS
|
||||
|
||||
# nss configuration file
|
||||
Source11: nss.cfg.in
|
||||
|
||||
|
@ -1314,6 +1321,20 @@ Source16: CheckVendor.java
|
|||
# Ensure translations are available for new timezones
|
||||
Source18: TestTranslations.java
|
||||
|
||||
# Include portable spec and instructions on how to rebuild
|
||||
Source19: README.md
|
||||
Source20: java-%{featurever}-openjdk-portable.specfile
|
||||
|
||||
# Setup variables to reference correct sources
|
||||
%global releasezip %{_jvmdir}/%{name}-%{version}-%{prelease}.portable.unstripped.jdk.%{_arch}.tar.xz
|
||||
%global staticlibzip %{_jvmdir}/%{name}-%{version}-%{prelease}.portable.static-libs.%{_arch}.tar.xz
|
||||
%global docszip %{_jvmdir}/%{name}-%{version}-%{prelease}.portable.docs.%{_arch}.tar.xz
|
||||
%global misczip %{_jvmdir}/%{name}-%{version}-%{prelease}.portable.misc.%{_arch}.tar.xz
|
||||
%global slowdebugzip %{_jvmdir}/%{name}-%{version}-%{prelease}.portable.slowdebug.jdk.%{_arch}.tar.xz
|
||||
%global slowdebugstaticlibzip %{_jvmdir}/%{name}-%{version}-%{prelease}.portable.slowdebug.static-libs.%{_arch}.tar.xz
|
||||
%global fastdebugzip %{_jvmdir}/%{name}-%{version}-%{prelease}.portable.fastdebug.jdk.%{_arch}.tar.xz
|
||||
%global fastdebugstaticlibzip %{_jvmdir}/%{name}-%{version}-%{prelease}.portable.fastdebug.static-libs.%{_arch}.tar.xz
|
||||
|
||||
############################################
|
||||
#
|
||||
# RPM/distribution specific patches
|
||||
|
@ -1336,7 +1357,7 @@ Patch6: rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-d
|
|||
|
||||
# Crypto policy and FIPS support patches
|
||||
# Patch is generated from the fips-17u tree at https://github.com/rh-openjdk/jdk/tree/fips-17u
|
||||
# as follows: git diff %%{vcstag} src make > fips-17u-$(git show -s --format=%h HEAD).patch
|
||||
# as follows: git diff %%{vcstag} src make test > fips-17u-$(git show -s --format=%h HEAD).patch
|
||||
# Diff is limited to src and make subdirectories to exclude .github changes
|
||||
# Fixes currently included:
|
||||
# PR3183, RH1340845: Follow system wide crypto policy
|
||||
|
@ -1365,6 +1386,11 @@ Patch6: rh1684077-openjdk_should_depend_on_pcsc-lite-libs_instead_of_pcsc-lite-d
|
|||
# Add nss.fips.cfg support to OpenJDK tree
|
||||
# RH2117972: Extend the support for NSS DBs (PKCS11) in FIPS mode
|
||||
# Remove forgotten dead code from RH2020290 and RH2104724
|
||||
# OJ1357: Fix issue on FIPS with a SecurityManager in place
|
||||
# RH2134669: Add missing attributes when registering services in FIPS mode.
|
||||
# test/jdk/sun/security/pkcs11/fips/VerifyMissingAttributes.java: fixed jtreg main class
|
||||
# RH1940064: Enable XML Signature provider in FIPS mode
|
||||
# RH2173781: Avoid calling C_GetInfo() too early, before cryptoki is initialized
|
||||
Patch1001: fips-17u-%{fipsver}.patch
|
||||
|
||||
#############################################
|
||||
|
@ -1375,15 +1401,11 @@ Patch1001: fips-17u-%{fipsver}.patch
|
|||
|
||||
#############################################
|
||||
#
|
||||
# OpenJDK patches appearing in 17.0.5
|
||||
#
|
||||
#############################################
|
||||
|
||||
#############################################
|
||||
#
|
||||
# OpenJDK patches targetted for 17.0.6
|
||||
# OpenJDK patches appearing in 17.0.10
|
||||
#
|
||||
#############################################
|
||||
# JDK-8312489, OJ2095: Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar
|
||||
Patch2000: jdk8312489-max_sig_default_increase.patch
|
||||
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
|
@ -1412,13 +1434,26 @@ BuildRequires: pkgconfig
|
|||
BuildRequires: xorg-x11-proto-devel
|
||||
BuildRequires: zip
|
||||
BuildRequires: javapackages-filesystem
|
||||
BuildRequires: java-17-openjdk-devel
|
||||
%if %{include_normal_build}
|
||||
BuildRequires: java-%{featurever}-openjdk-portable-unstripped = %{epoch}:%{version}-%{prelease}.%{portablesuffix}
|
||||
BuildRequires: java-%{featurever}-openjdk-portable-static-libs = %{epoch}:%{version}-%{prelease}.%{portablesuffix}
|
||||
%endif
|
||||
%if %{include_fastdebug_build}
|
||||
BuildRequires: java-%{featurever}-openjdk-portable-devel-fastdebug = %{epoch}:%{version}-%{prelease}.%{portablesuffix}
|
||||
BuildRequires: java-%{featurever}-openjdk-portable-static-libs-fastdebug = %{epoch}:%{version}-%{prelease}.%{portablesuffix}
|
||||
%endif
|
||||
%if %{include_debug_build}
|
||||
BuildRequires: java-%{featurever}-openjdk-portable-devel-slowdebug = %{epoch}:%{version}-%{prelease}.%{portablesuffix}
|
||||
BuildRequires: java-%{featurever}-openjdk-portable-static-libs-slowdebug = %{epoch}:%{version}-%{prelease}.%{portablesuffix}
|
||||
%endif
|
||||
BuildRequires: java-%{featurever}-openjdk-portable-docs = %{epoch}:%{version}-%{prelease}.%{portablesuffix}
|
||||
BuildRequires: java-%{featurever}-openjdk-portable-misc = %{epoch}:%{version}-%{prelease}.%{portablesuffix}
|
||||
# Zero-assembler build requirement
|
||||
%ifarch %{zero_arches}
|
||||
BuildRequires: libffi-devel
|
||||
%endif
|
||||
# 2022g required as of JDK-8297804
|
||||
BuildRequires: tzdata-java >= 2022g
|
||||
# 2023c required as of JDK-8305113
|
||||
BuildRequires: tzdata-java >= 2023c
|
||||
# Earlier versions have a bug in tree vectorization on PPC
|
||||
BuildRequires: gcc >= 4.8.3-8
|
||||
|
||||
|
@ -1440,15 +1475,13 @@ Provides: bundled(freetype) = 2.12.1
|
|||
# Version in src/java.desktop/share/native/libsplashscreen/giflib/gif_lib.h
|
||||
Provides: bundled(giflib) = 5.2.1
|
||||
# Version in src/java.desktop/share/native/libharfbuzz/hb-version.h
|
||||
Provides: bundled(harfbuzz) = 4.4.1
|
||||
Provides: bundled(harfbuzz) = 7.0.1
|
||||
# Version in src/java.desktop/share/native/liblcms/lcms2.h
|
||||
Provides: bundled(lcms2) = 2.12.0
|
||||
Provides: bundled(lcms2) = 2.15.0
|
||||
# Version in src/java.desktop/share/native/libjavajpeg/jpeglib.h
|
||||
Provides: bundled(libjpeg) = 6b
|
||||
# Version in src/java.desktop/share/native/libsplashscreen/libpng/png.h
|
||||
Provides: bundled(libpng) = 1.6.37
|
||||
# We link statically against libstdc++ to increase portability
|
||||
BuildRequires: libstdc++-static
|
||||
%endif
|
||||
|
||||
# this is always built, also during debug-only build
|
||||
|
@ -1816,6 +1849,8 @@ pushd %{top_level_dir_name}
|
|||
%patch1001 -p1
|
||||
# nss.cfg PKCS11 support; must come last as it also alters java.security
|
||||
%patch1000 -p1
|
||||
# JDK-8312489 backport, coming in 17.0.10
|
||||
%patch2000 -p1
|
||||
popd # openjdk
|
||||
|
||||
%patch600
|
||||
|
@ -1837,38 +1872,11 @@ if [ "x${UPSTREAM_EA_DESIGNATOR}" != "x%{ea_designator}" ] ; then
|
|||
echo "WARNING: Designator mismatch";
|
||||
echo "Spec file is configured for a %{build_type} build with designator '%{ea_designator}'"
|
||||
echo "Upstream version-pre setting is '${UPSTREAM_EA_DESIGNATOR}'";
|
||||
exit 17
|
||||
# Temporarily commented out as local copy of jdk-17.0.8+7 has the wrong setting
|
||||
# This is fixed in the final upstream version
|
||||
# exit 17
|
||||
fi
|
||||
|
||||
# Extract systemtap tapsets
|
||||
%if %{with_systemtap}
|
||||
tar --strip-components=1 -x -I xz -f %{SOURCE8}
|
||||
%if %{include_debug_build}
|
||||
cp -r tapset tapset%{debug_suffix}
|
||||
%endif
|
||||
%if %{include_fastdebug_build}
|
||||
cp -r tapset tapset%{fastdebug_suffix}
|
||||
%endif
|
||||
|
||||
for suffix in %{build_loop} ; do
|
||||
for file in "tapset"$suffix/*.in; do
|
||||
OUTPUT_FILE=`echo $file | sed -e "s:\.stp\.in$:-%{version}-%{release}.%{_arch}.stp:g"`
|
||||
sed -e "s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/server/libjvm.so:g" $file > $file.1
|
||||
sed -e "s:@JAVA_SPEC_VER@:%{javaver}:g" $file.1 > $file.2
|
||||
# TODO find out which architectures other than i686 have a client vm
|
||||
%ifarch %{ix86}
|
||||
sed -e "s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/client/libjvm.so:g" $file.2 > $OUTPUT_FILE
|
||||
%else
|
||||
sed -e "/@ABS_CLIENT_LIBJVM_SO@/d" $file.2 > $OUTPUT_FILE
|
||||
%endif
|
||||
sed -i -e "s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir -- $suffix}:g" $OUTPUT_FILE
|
||||
sed -i -e "s:@INSTALL_ARCH_DIR@:%{archinstall}:g" $OUTPUT_FILE
|
||||
sed -i -e "s:@prefix@:%{_jvmdir}/%{sdkdir -- $suffix}/:g" $OUTPUT_FILE
|
||||
done
|
||||
done
|
||||
# systemtap tapsets ends
|
||||
%endif
|
||||
|
||||
# Prepare desktop files
|
||||
# The _X_ syntax indicates variables that are replaced by make upstream
|
||||
# The @X@ syntax indicates variables that are replaced by configure upstream
|
||||
|
@ -1890,227 +1898,80 @@ done
|
|||
sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE11} > nss.cfg
|
||||
|
||||
%build
|
||||
# How many CPU's do we have?
|
||||
export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :)
|
||||
export NUM_PROC=${NUM_PROC:-1}
|
||||
%if 0%{?_smp_ncpus_max}
|
||||
# Honor %%_smp_ncpus_max
|
||||
[ ${NUM_PROC} -gt %{?_smp_ncpus_max} ] && export NUM_PROC=%{?_smp_ncpus_max}
|
||||
%endif
|
||||
|
||||
%ifarch s390x sparc64 alpha %{power64} %{aarch64}
|
||||
export ARCH_DATA_MODEL=64
|
||||
%endif
|
||||
%ifarch alpha
|
||||
export CFLAGS="$CFLAGS -mieee"
|
||||
%endif
|
||||
|
||||
# We use ourcppflags because the OpenJDK build seems to
|
||||
# pass EXTRA_CFLAGS to the HotSpot C++ compiler...
|
||||
# Explicitly set the C++ standard as the default has changed on GCC >= 6
|
||||
EXTRA_CFLAGS="%ourcppflags"
|
||||
EXTRA_CPP_FLAGS="%ourcppflags"
|
||||
|
||||
%ifarch %{power64} ppc
|
||||
# fix rpmlint warnings
|
||||
EXTRA_CFLAGS="$EXTRA_CFLAGS -fno-strict-aliasing"
|
||||
%endif
|
||||
%ifarch %{ix86}
|
||||
# Align stack boundary on x86_32
|
||||
EXTRA_CFLAGS="$(echo ${EXTRA_CFLAGS} | sed -e 's|-mstackrealign|-mincoming-stack-boundary=2 -mpreferred-stack-boundary=4|')"
|
||||
EXTRA_CPP_FLAGS="$(echo ${EXTRA_CPP_FLAGS} | sed -e 's|-mstackrealign|-mincoming-stack-boundary=2 -mpreferred-stack-boundary=4|')"
|
||||
%endif
|
||||
export EXTRA_CFLAGS EXTRA_CPP_FLAGS
|
||||
|
||||
function buildjdk() {
|
||||
local outputdir=${1}
|
||||
local buildjdk=${2}
|
||||
local maketargets="${3}"
|
||||
local debuglevel=${4}
|
||||
local link_opt=${5}
|
||||
|
||||
local top_dir_abs_src_path=$(pwd)/%{top_level_dir_name}
|
||||
local top_dir_abs_build_path=$(pwd)/${outputdir}
|
||||
|
||||
# This must be set using the global, so that the
|
||||
# static libraries still use a dynamic stdc++lib
|
||||
if [ "x%{link_type}" = "xbundled" ] ; then
|
||||
libc_link_opt="static";
|
||||
else
|
||||
libc_link_opt="dynamic";
|
||||
fi
|
||||
|
||||
echo "Using output directory: ${outputdir}";
|
||||
echo "Checking build JDK ${buildjdk} is operational..."
|
||||
${buildjdk}/bin/java -version
|
||||
echo "Using make targets: ${maketargets}"
|
||||
echo "Using debuglevel: ${debuglevel}"
|
||||
echo "Using link_opt: ${link_opt}"
|
||||
echo "Building %{newjavaver}-%{buildver}, pre=%{ea_designator}, opt=%{lts_designator}"
|
||||
|
||||
mkdir -p ${outputdir}
|
||||
pushd ${outputdir}
|
||||
|
||||
# Note: zlib and freetype use %{link_type}
|
||||
# rather than ${link_opt} as the system versions
|
||||
# are always used in a system_libs build, even
|
||||
# for the static library build
|
||||
bash ${top_dir_abs_src_path}/configure \
|
||||
%ifarch %{zero_arches}
|
||||
--with-jvm-variants=zero \
|
||||
%endif
|
||||
%ifarch %{ppc64le}
|
||||
--with-jobs=1 \
|
||||
%endif
|
||||
--with-version-build=%{buildver} \
|
||||
--with-version-pre="%{ea_designator}" \
|
||||
--with-version-opt=%{lts_designator} \
|
||||
--with-vendor-version-string="%{oj_vendor_version}" \
|
||||
--with-vendor-name="%{oj_vendor}" \
|
||||
--with-vendor-url="%{oj_vendor_url}" \
|
||||
--with-vendor-bug-url="%{oj_vendor_bug_url}" \
|
||||
--with-vendor-vm-bug-url="%{oj_vendor_bug_url}" \
|
||||
--with-boot-jdk=${buildjdk} \
|
||||
--with-debug-level=${debuglevel} \
|
||||
--with-native-debug-symbols="%{debug_symbols}" \
|
||||
--disable-sysconf-nss \
|
||||
--enable-unlimited-crypto \
|
||||
--with-zlib=%{link_type} \
|
||||
--with-freetype=%{link_type} \
|
||||
--with-libjpeg=${link_opt} \
|
||||
--with-giflib=${link_opt} \
|
||||
--with-libpng=${link_opt} \
|
||||
--with-lcms=${link_opt} \
|
||||
--with-harfbuzz=${link_opt} \
|
||||
--with-stdc++lib=${libc_link_opt} \
|
||||
--with-extra-cxxflags="$EXTRA_CPP_FLAGS" \
|
||||
--with-extra-cflags="$EXTRA_CFLAGS" \
|
||||
--with-extra-ldflags="%{ourldflags}" \
|
||||
--with-num-cores="$NUM_PROC" \
|
||||
--with-source-date="${SOURCE_DATE_EPOCH}" \
|
||||
--disable-javac-server \
|
||||
%ifarch %{zgc_arches}
|
||||
--with-jvm-features=zgc \
|
||||
%endif
|
||||
--disable-warnings-as-errors
|
||||
|
||||
cat spec.gmk
|
||||
|
||||
make \
|
||||
LOG=trace \
|
||||
WARNINGS_ARE_ERRORS="-Wno-error" \
|
||||
CFLAGS_WARNINGS_ARE_ERRORS="-Wno-error" \
|
||||
$maketargets || ( pwd; find ${top_dir_abs_src_path} ${top_dir_abs_build_path} -name "hs_err_pid*.log" | xargs cat && false )
|
||||
|
||||
popd
|
||||
}
|
||||
|
||||
function installjdk() {
|
||||
function customisejdk() {
|
||||
local imagepath=${1}
|
||||
|
||||
if [ -d ${imagepath} ] ; then
|
||||
# the build (erroneously) removes read permissions from some jars
|
||||
# this is a regression in OpenJDK 7 (our compiler):
|
||||
# http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
|
||||
find ${imagepath} -iname '*.jar' -exec chmod ugo+r {} \;
|
||||
# Turn on system security properties
|
||||
sed -i -e "s:^security.useSystemPropertiesFile=.*:security.useSystemPropertiesFile=true:" \
|
||||
${imagepath}/conf/security/java.security
|
||||
|
||||
# Build screws up permissions on binaries
|
||||
# https://bugs.openjdk.java.net/browse/JDK-8173610
|
||||
find ${imagepath} -iname '*.so' -exec chmod +x {} \;
|
||||
find ${imagepath}/bin/ -exec chmod +x {} \;
|
||||
|
||||
# Install nss.cfg right away as we will be using the JRE above
|
||||
install -m 644 nss.cfg ${imagepath}/conf/security/
|
||||
|
||||
# Turn on system security properties
|
||||
sed -i -e "s:^security.useSystemPropertiesFile=.*:security.useSystemPropertiesFile=true:" \
|
||||
${imagepath}/conf/security/java.security
|
||||
|
||||
# Use system-wide tzdata
|
||||
rm ${imagepath}/lib/tzdb.dat
|
||||
ln -s %{_datadir}/javazi-1.8/tzdb.dat ${imagepath}/lib/tzdb.dat
|
||||
|
||||
# Create fake alt-java as a placeholder for future alt-java
|
||||
pushd ${imagepath}
|
||||
# add alt-java man page
|
||||
echo "Hardened java binary recommended for launching untrusted code from the Web e.g. javaws" > man/man1/%{alt_java_name}.1
|
||||
cat man/man1/java.1 >> man/man1/%{alt_java_name}.1
|
||||
popd
|
||||
# Use system-wide tzdata
|
||||
rm ${imagepath}/lib/tzdb.dat
|
||||
ln -s %{_datadir}/javazi-1.8/tzdb.dat ${imagepath}/lib/tzdb.dat
|
||||
fi
|
||||
}
|
||||
|
||||
%if %{build_hotspot_first}
|
||||
# Build a fresh libjvm.so first and use it to bootstrap
|
||||
cp -LR --preserve=mode,timestamps %{bootjdk} newboot
|
||||
systemjdk=$(pwd)/newboot
|
||||
buildjdk build/newboot ${systemjdk} %{hotspot_target} "release" "bundled"
|
||||
mv build/newboot/jdk/lib/server/libjvm.so newboot/lib/server
|
||||
%else
|
||||
systemjdk=%{bootjdk}
|
||||
%endif
|
||||
mkdir -p $(dirname %{installoutputdir})
|
||||
|
||||
docdir=%{installoutputdir -- "-docs"}
|
||||
tar -xJf %{docszip}
|
||||
mv java-%{featurever}-openjdk*.docs.* ${docdir}
|
||||
|
||||
miscdir=%{installoutputdir -- "-misc"}
|
||||
tar -xJf %{misczip}
|
||||
mv java-%{featurever}-openjdk*.misc.* ${miscdir}
|
||||
|
||||
for suffix in %{build_loop} ; do
|
||||
|
||||
if [ "x$suffix" = "x" ] ; then
|
||||
debugbuild=release
|
||||
else
|
||||
# change --something to something
|
||||
debugbuild=`echo $suffix | sed "s/-//g"`
|
||||
jdkzip=%{releasezip}
|
||||
staticlibzip=%{staticlibzip}
|
||||
elif [ "x$suffix" = "x%{fastdebug_suffix_unquoted}" ] ; then
|
||||
jdkzip=%{fastdebugzip}
|
||||
staticlibzip=%{fastdebugstaticlibzip}
|
||||
else # slowdebug
|
||||
jdkzip=%{slowdebugzip}
|
||||
staticlibzip=%{slowdebugstaticlibzip}
|
||||
fi
|
||||
|
||||
installdir=%{installoutputdir -- ${suffix}}
|
||||
|
||||
for loop in %{main_suffix} %{staticlibs_loop} ; do
|
||||
# TODO: should verify checksums when using packages from buildroot
|
||||
tar -xJf ${jdkzip}
|
||||
tar -xJf ${staticlibzip}
|
||||
mv java-%{featurever}-openjdk* ${installdir}
|
||||
|
||||
builddir=%{buildoutputdir -- ${suffix}${loop}}
|
||||
bootbuilddir=boot${builddir}
|
||||
|
||||
if test "x${loop}" = "x%{main_suffix}" ; then
|
||||
link_opt="%{link_type}"
|
||||
%if %{system_libs}
|
||||
# Copy the source tree so we can remove all in-tree libraries
|
||||
cp -a %{top_level_dir_name} %{top_level_dir_name_backup}
|
||||
# Remove all libraries that are linked
|
||||
sh %{SOURCE12} %{top_level_dir_name} full
|
||||
%endif
|
||||
# Debug builds don't need same targets as release for
|
||||
# build speed-up. We also avoid bootstrapping these
|
||||
# slower builds.
|
||||
if echo $debugbuild | grep -q "debug" ; then
|
||||
maketargets="%{debug_targets}"
|
||||
run_bootstrap=false
|
||||
else
|
||||
maketargets="%{release_targets}"
|
||||
run_bootstrap=%{bootstrap_build}
|
||||
# Fix build paths in ELF files so it looks like we built them
|
||||
portablenvr="%{name}-%{VERSION}-%{prelease}.%{portablesuffix}.%{_arch}"
|
||||
for file in $(find ${installdir} -type f) ; do
|
||||
if file ${file} | grep -q 'ELF'; then
|
||||
%{debugedit} -b %{portablebuilddir}/${portablenvr} -d $(pwd) -n ${file}
|
||||
fi
|
||||
if ${run_bootstrap} ; then
|
||||
buildjdk ${bootbuilddir} ${systemjdk} "%{bootstrap_targets}" ${debugbuild} ${link_opt}
|
||||
buildjdk ${builddir} $(pwd)/${bootbuilddir}/images/%{jdkimage} "${maketargets}" ${debugbuild} ${link_opt}
|
||||
rm -rf ${bootbuilddir}
|
||||
else
|
||||
buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt}
|
||||
fi
|
||||
%if %{system_libs}
|
||||
# Restore original source tree we modified by removing full in-tree sources
|
||||
rm -rf %{top_level_dir_name}
|
||||
mv %{top_level_dir_name_backup} %{top_level_dir_name}
|
||||
%endif
|
||||
else
|
||||
# Use bundled libraries for building statically
|
||||
link_opt="bundled"
|
||||
# Static library cycle only builds the static libraries
|
||||
maketargets="%{static_libs_target}"
|
||||
# Always just do the one build for the static libraries
|
||||
buildjdk ${builddir} ${systemjdk} "${maketargets}" ${debugbuild} ${link_opt}
|
||||
fi
|
||||
done
|
||||
|
||||
done # end of main / staticlibs loop
|
||||
# Set tapset variables to match this build
|
||||
%if %{with_systemtap}
|
||||
for file in ${miscdir}/tapset${suffix}/*.in; do
|
||||
OUTPUT_FILE=`echo $file | sed -e "s:\.stp\.in$:-%{version}-%{release}.%{_arch}.stp:g"`
|
||||
sed -e "s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/server/libjvm.so:g" $file > ${OUTPUT_FILE}
|
||||
# TODO find out which architectures other than i686 have a client vm
|
||||
%ifarch %{ix86}
|
||||
sed -i -e "s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/lib/client/libjvm.so:g" ${OUTPUT_FILE}
|
||||
%else
|
||||
sed -i -e "/@ABS_CLIENT_LIBJVM_SO@/d" ${OUTPUT_FILE}
|
||||
%endif
|
||||
sed -i -e "s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir -- $suffix}:g" $OUTPUT_FILE
|
||||
sed -i -e "s:@prefix@:%{_jvmdir}/%{sdkdir -- $suffix}/:g" $OUTPUT_FILE
|
||||
done
|
||||
%endif
|
||||
|
||||
# Final setup on the main image
|
||||
top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
|
||||
installjdk ${top_dir_abs_main_build_path}/images/%{jdkimage}
|
||||
customisejdk ${installdir}
|
||||
|
||||
# Print release information
|
||||
cat ${top_dir_abs_main_build_path}/images/%{jdkimage}/release
|
||||
cat ${installdir}/release
|
||||
|
||||
# build cycles
|
||||
done # end of release / debug cycle loop
|
||||
|
@ -2120,18 +1981,13 @@ done # end of release / debug cycle loop
|
|||
# We test debug first as it will give better diagnostics on a crash
|
||||
for suffix in %{build_loop} ; do
|
||||
|
||||
top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
|
||||
%if %{include_staticlibs}
|
||||
top_dir_abs_staticlibs_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{staticlibs_loop}}
|
||||
%endif
|
||||
|
||||
export JAVA_HOME=${top_dir_abs_main_build_path}/images/%{jdkimage}
|
||||
export JAVA_HOME=$(pwd)/%{installoutputdir -- ${suffix}}
|
||||
|
||||
# Pre-test setup
|
||||
|
||||
#check Shenandoah is enabled
|
||||
# Check Shenandoah is enabled
|
||||
%if %{use_shenandoah_hotspot}
|
||||
$JAVA_HOME//bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -version
|
||||
$JAVA_HOME/bin/java -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -version
|
||||
%endif
|
||||
|
||||
# Check unlimited policy has been used
|
||||
|
@ -2161,16 +2017,20 @@ nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation
|
|||
if ! nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation ; then true ; else false; fi
|
||||
%endif
|
||||
|
||||
# Check translations are available for new timezones
|
||||
%if ! 0%{?flatpak}
|
||||
# Check translations are available for new timezones (during flatpak builds, the
|
||||
# tzdb.dat used by this test is not where the test expects it, so this is
|
||||
# disabled for flatpak builds)
|
||||
$JAVA_HOME/bin/javac -d . %{SOURCE18}
|
||||
$JAVA_HOME/bin/java $(echo $(basename %{SOURCE18})|sed "s|\.java||") JRE
|
||||
$JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})|sed "s|\.java||") CLDR
|
||||
%endif
|
||||
|
||||
%if %{include_staticlibs}
|
||||
# Check debug symbols in static libraries (smoke test)
|
||||
export STATIC_LIBS_HOME=${top_dir_abs_staticlibs_build_path}/images/%{static_libs_image}
|
||||
readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep w_remainder.c
|
||||
readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep e_remainder.c
|
||||
export STATIC_LIBS_HOME=${JAVA_HOME}/lib/static/linux-%{archinstall}/glibc
|
||||
readelf --debug-dump $STATIC_LIBS_HOME/libfdlibm.a | grep w_remainder.c
|
||||
readelf --debug-dump $STATIC_LIBS_HOME/libfdlibm.a | grep e_remainder.c
|
||||
%endif
|
||||
|
||||
so_suffix="so"
|
||||
|
@ -2261,23 +2121,25 @@ STRIP_KEEP_SYMTAB=libjvm*
|
|||
|
||||
for suffix in %{build_loop} ; do
|
||||
|
||||
top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
|
||||
%if %{include_staticlibs}
|
||||
top_dir_abs_staticlibs_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{staticlibs_loop}}
|
||||
%endif
|
||||
jdk_image=${top_dir_abs_main_build_path}/images/%{jdkimage}
|
||||
jdk_image=$(pwd)/%{installoutputdir -- ${suffix}}
|
||||
# Should match same definitions in build section
|
||||
docdir=$(pwd)/%{installoutputdir -- "-docs"}
|
||||
miscdir=$(pwd)/%{installoutputdir -- "-misc"}
|
||||
|
||||
# Install release notes and rebuild instructions
|
||||
commondocdir=${RPM_BUILD_ROOT}%{_defaultdocdir}/%{uniquejavadocdir -- $suffix}
|
||||
install -d -m 755 ${commondocdir}
|
||||
mv ${jdk_image}/NEWS ${commondocdir}
|
||||
cp -a %{SOURCE19} %{SOURCE20} ${commondocdir}
|
||||
|
||||
# Install the jdk
|
||||
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
|
||||
cp -a ${jdk_image} $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}
|
||||
|
||||
pushd ${jdk_image}
|
||||
|
||||
%if %{with_systemtap}
|
||||
# Install systemtap support files
|
||||
install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset
|
||||
# note, that uniquesuffix is in BUILD dir in this case
|
||||
cp -a $RPM_BUILD_DIR/%{uniquesuffix ""}/tapset$suffix/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/
|
||||
cp -a ${miscdir}/tapset$suffix/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/
|
||||
pushd $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/
|
||||
tapsetFiles=`ls *.stp`
|
||||
popd
|
||||
|
@ -2302,6 +2164,7 @@ pushd ${jdk_image}
|
|||
|
||||
# Install man pages
|
||||
install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
|
||||
pushd ${jdk_image}
|
||||
for manpage in man/man1/*
|
||||
do
|
||||
# Convert man pages to UTF8 encoding
|
||||
|
@ -2312,37 +2175,27 @@ pushd ${jdk_image}
|
|||
done
|
||||
# Remove man pages from jdk image
|
||||
rm -rf $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/man
|
||||
|
||||
popd
|
||||
# Install static libs artefacts
|
||||
%if %{include_staticlibs}
|
||||
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/static/linux-%{archinstall}/glibc
|
||||
cp -a ${top_dir_abs_staticlibs_build_path}/images/%{static_libs_image}/lib/*.a \
|
||||
$RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/lib/static/linux-%{archinstall}/glibc
|
||||
%endif
|
||||
popd
|
||||
|
||||
if ! echo $suffix | grep -q "debug" ; then
|
||||
# Install Javadoc documentation
|
||||
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
|
||||
cp -a ${top_dir_abs_main_build_path}/images/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}
|
||||
built_doc_archive=jdk-%{filever}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip
|
||||
cp -a ${top_dir_abs_main_build_path}/bundles/${built_doc_archive} \
|
||||
$RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip || ls -l ${top_dir_abs_main_build_path}/bundles/
|
||||
# Install Javadoc documentation
|
||||
install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
|
||||
cp -a ${docdir}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}
|
||||
built_doc_archive=jdk-%{filever}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip
|
||||
cp -a ${docdir}/${built_doc_archive} \
|
||||
$RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip || ls -l ${top_dir_abs_main_build_path}/bundles/
|
||||
touch $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip
|
||||
fi
|
||||
|
||||
# Install release notes
|
||||
commondocdir=${RPM_BUILD_ROOT}%{_defaultdocdir}/%{uniquejavadocdir -- $suffix}
|
||||
install -d -m 755 ${commondocdir}
|
||||
cp -a %{SOURCE10} ${commondocdir}
|
||||
|
||||
# Install icons and menu entries
|
||||
for s in 16 24 32 48 ; do
|
||||
install -D -p -m 644 \
|
||||
%{top_level_dir_name}/src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png \
|
||||
${miscdir}/java-icon${s}.png \
|
||||
$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}-%{origin}.png
|
||||
done
|
||||
|
||||
# Install desktop files
|
||||
# TODO: provide desktop files via portable
|
||||
install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps}
|
||||
for e in jconsole$suffix ; do
|
||||
desktop-file-install --vendor=%{uniquesuffix -- $suffix} --mode=644 \
|
||||
|
@ -2354,8 +2207,7 @@ done
|
|||
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/.java/.systemPrefs
|
||||
|
||||
# copy samples next to demos; samples are mostly js files
|
||||
cp -r %{top_level_dir_name}/src/sample $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/
|
||||
|
||||
cp -r ${miscdir}/sample $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/
|
||||
|
||||
# moving config files to /etc
|
||||
mkdir -p $RPM_BUILD_ROOT/%{etcjavadir -- $suffix}
|
||||
|
@ -2621,6 +2473,109 @@ require "copy_jdk_configs.lua"
|
|||
%endif
|
||||
|
||||
%changelog
|
||||
* Mon Sep 04 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.8.1.1-2
|
||||
- Update to jdk-17.0.8.1+1 (GA)
|
||||
- Update release notes to 17.0.8.1+1
|
||||
- Add backport of JDK-8312489 already upstream in 17.0.10 (see OPENJDK-2095)
|
||||
- Update openjdk_news script to specify subdirectory last
|
||||
- Add missing discover_trees script required by openjdk_news
|
||||
- Synchronise runtime and buildtime tzdata requirements
|
||||
- Resolves: RHEL-35288
|
||||
|
||||
* Fri Jul 14 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.8.0.7-2
|
||||
- Update to jdk-17.0.8+7 (GA)
|
||||
- Update release notes to 17.0.8+7
|
||||
- Switch to GA mode for final release.
|
||||
- Sync the copy of the portable specfile with the latest update
|
||||
- Add note at top of spec file about rebuilding
|
||||
- * This tarball is embargoed until 2023-07-18 @ 1pm PT. *
|
||||
- Resolves: RHEL-36138
|
||||
|
||||
* Thu Jul 13 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.8.0.6-0.1.ea
|
||||
- Update to jdk-17.0.8+6 (EA)
|
||||
- Sync the copy of the portable specfile with the latest update
|
||||
- Resolves: RHEL-36136
|
||||
|
||||
* Wed Jul 12 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.8.0.1-0.1.ea
|
||||
- Update to jdk-17.0.8+1 (EA)
|
||||
- Update release notes to 17.0.8+1
|
||||
- Switch to EA mode
|
||||
- Drop local inclusion of JDK-8274864 & JDK-8305113 as they are included in 17.0.8+1
|
||||
- Bump bundled LCMS version to 2.15 as in jdk-17.0.8+1.
|
||||
- Bump bundled HarfBuzz version to 7.0.1 as in jdk-17.0.8+1
|
||||
- Use tapsets from the misc tarball
|
||||
- Introduce 'prelease' for the portable release versioning, to handle EA builds
|
||||
- Make sure root installation directory is created first
|
||||
- Use in-place substitution for all but the first of the tapset changes
|
||||
- Related: RHEL-36136
|
||||
|
||||
* Tue Jul 11 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.7.0.7-4
|
||||
- Introduce vm_variant global for consistency with future JDK builds
|
||||
- Related: RHEL-36135
|
||||
|
||||
* Mon May 15 2023 Jiri Vanek <jvanek@redhat.com> - 1:17.0.7.0.7-4
|
||||
- Exclude classes_nocoops.jsa on i686 and arm32
|
||||
- Related: RHEL-36135
|
||||
|
||||
* Mon May 15 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.7.0.7-4
|
||||
- Following JDK-8005165, class data sharing can be enabled on all JIT architectures
|
||||
- Related: RHEL-36135
|
||||
|
||||
* Wed May 10 2023 Severin Gehwolf <sgehwolf@redhat.com> - 1:17.0.7.0.7-4
|
||||
- Fix packaging of CDS archives
|
||||
- Resolves: RHEL-36135
|
||||
|
||||
* Wed Apr 26 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.7.0.7-3
|
||||
- Sync portable spec file with current version
|
||||
- Related: RHEL-36129
|
||||
|
||||
* Wed Apr 26 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.7.0.7-2
|
||||
- Update to jdk-17.0.7.0+7
|
||||
- Update release notes to 17.0.7.0+7
|
||||
- Require tzdata 2023c due to local inclusion of JDK-8274864 & JDK-8305113
|
||||
- Update generate_tarball.sh to add support for passing a boot JDK to the configure run
|
||||
- Add POSIX-friendly error codes to generate_tarball.sh and fix whitespace
|
||||
- Remove .jcheck and GitHub support when generating tarballs, as done in upstream release tarballs
|
||||
- Update FIPS support against 17.0.7+6 and bring in latest changes:
|
||||
- * RH2134669: Add missing attributes when registering services in FIPS mode.
|
||||
- * test/jdk/sun/security/pkcs11/fips/VerifyMissingAttributes.java: fixed jtreg main class
|
||||
- * RH1940064: Enable XML Signature provider in FIPS mode
|
||||
- * RH2173781: Avoid calling C_GetInfo() too early, before cryptoki is initialized
|
||||
- Fix trailing '.' in tarball name
|
||||
- Use portablerelease in vendor version to avoid inclusion of dist tag
|
||||
- ** This tarball is embargoed until 2023-04-18 @ 1pm PT. **
|
||||
- Resolves: RHEL-3489
|
||||
- Resolves: RHEL-36131
|
||||
- Resolves: RHEL-36133
|
||||
- Resolves: RHEL-36134
|
||||
|
||||
* Wed Apr 26 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.6.0.10-6
|
||||
- Include the java-17-openjdk-portable.spec file with instructions on how to rebuild.
|
||||
- Related: RHEL-36129
|
||||
|
||||
* Tue Apr 25 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.6.0.10-5
|
||||
- Replace local copies of JDK portable binaries with build dependencies
|
||||
- Resolves: RHEL-36129
|
||||
|
||||
* Wed Feb 15 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.6.0.10-4
|
||||
- Replace build section with extraction of existing builds from portables
|
||||
- Resolves: RHEL-36129
|
||||
|
||||
* Fri Jan 20 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.6.0.10-3
|
||||
- Update to jdk-17.0.6.0+10
|
||||
- Update release notes to 17.0.6.0+10
|
||||
- Switch to GA mode for release
|
||||
- Resolves: rhbz#2160111
|
||||
|
||||
* Fri Jan 13 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.6.0.9-0.4.ea
|
||||
- Update FIPS support to bring in latest changes
|
||||
- * OJ1357: Fix issue on FIPS with a SecurityManager in place
|
||||
- Related: rhbz#2117972
|
||||
|
||||
* Fri Jan 13 2023 Stephan Bergmann <sbergman@redhat.com> - 1:17.0.6.0.9-0.4.ea
|
||||
- Fix flatpak builds by disabling TestTranslations test due to missing tzdb.dat
|
||||
- Related: rhbz#2150195
|
||||
|
||||
* Wed Jan 04 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.6.0.9-0.3.ea
|
||||
- Update to jdk-17.0.6+9
|
||||
- Update release notes to 17.0.6+9
|
|
@ -0,0 +1,50 @@
|
|||
commit 5b613e3ebed6c141146e743e64c894fe4f39421e
|
||||
Author: Andrew John Hughes <andrew@openjdk.org>
|
||||
Date: Fri Sep 1 15:53:41 2023 +0000
|
||||
|
||||
8312489: Increase jdk.jar.maxSignatureFileSize default which is too low for JARs such as WhiteSource/Mend unified agent jar
|
||||
|
||||
Backport-of: e47a84f23dd2608c6f5748093eefe301fb5bf750
|
||||
|
||||
diff --git a/src/java.base/share/classes/java/util/jar/JarFile.java b/src/java.base/share/classes/java/util/jar/JarFile.java
|
||||
index bd538649a4f..70cf99504e4 100644
|
||||
--- a/src/java.base/share/classes/java/util/jar/JarFile.java
|
||||
+++ b/src/java.base/share/classes/java/util/jar/JarFile.java
|
||||
@@ -803,7 +803,9 @@ private byte[] getBytes(ZipEntry ze) throws IOException {
|
||||
throw new IOException("Unsupported size: " + uncompressedSize +
|
||||
" for JarEntry " + ze.getName() +
|
||||
". Allowed max size: " +
|
||||
- SignatureFileVerifier.MAX_SIG_FILE_SIZE + " bytes");
|
||||
+ SignatureFileVerifier.MAX_SIG_FILE_SIZE + " bytes. " +
|
||||
+ "You can use the jdk.jar.maxSignatureFileSize " +
|
||||
+ "system property to increase the default value.");
|
||||
}
|
||||
int len = (int)uncompressedSize;
|
||||
int bytesRead;
|
||||
diff --git a/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java b/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java
|
||||
index 4ea9255ba0a..05acdcb9474 100644
|
||||
--- a/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java
|
||||
+++ b/src/java.base/share/classes/sun/security/util/SignatureFileVerifier.java
|
||||
@@ -856,16 +856,16 @@ private static int initializeMaxSigFileSize() {
|
||||
* the maximum allowed number of bytes for the signature-related files
|
||||
* in a JAR file.
|
||||
*/
|
||||
- Integer tmp = GetIntegerAction.privilegedGetProperty(
|
||||
- "jdk.jar.maxSignatureFileSize", 8000000);
|
||||
+ int tmp = GetIntegerAction.privilegedGetProperty(
|
||||
+ "jdk.jar.maxSignatureFileSize", 16000000);
|
||||
if (tmp < 0 || tmp > MAX_ARRAY_SIZE) {
|
||||
if (debug != null) {
|
||||
- debug.println("Default signature file size 8000000 bytes " +
|
||||
- "is used as the specified size for the " +
|
||||
- "jdk.jar.maxSignatureFileSize system property " +
|
||||
+ debug.println("The default signature file size of 16000000 bytes " +
|
||||
+ "will be used for the jdk.jar.maxSignatureFileSize " +
|
||||
+ "system property since the specified value " +
|
||||
"is out of range: " + tmp);
|
||||
}
|
||||
- tmp = 8000000;
|
||||
+ tmp = 16000000;
|
||||
}
|
||||
return tmp;
|
||||
}
|
|
@ -0,0 +1,76 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Copyright (C) 2022 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 "x${SUBDIR}" = "x"; then
|
||||
echo "No subdirectory specified; using .";
|
||||
SUBDIR=".";
|
||||
fi
|
||||
|
||||
if test "x$REPO" = "x"; then
|
||||
echo "No repository specified; using ${PWD}"
|
||||
REPO=${PWD}
|
||||
fi
|
||||
|
||||
if test x${TMPDIR} = x; 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 "x$OLD_RELEASE" = "x" || test "x$NEW_RELEASE" = "x"; 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 "x$TYPE" = "xhg"; then
|
||||
hg log -r "tag('$NEW_RELEASE'):tag('$OLD_RELEASE') - tag('$OLD_RELEASE')" -R $REPO/$repos -G -M ${REPO}/${SUBDIR} | \
|
||||
egrep '^[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} | \
|
||||
egrep '^[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} |egrep '^[0-9]{7}' | \
|
||||
sed -r 's#^([0-9])# - JDK-\1#' >> ${TMPDIR}/fixes2;
|
||||
touch ${TMPDIR}/fixes3 ; # unused
|
||||
fi
|
||||
done
|
||||
|
||||
sort ${TMPDIR}/fixes2 ${TMPDIR}/fixes3 | uniq > ${TMPDIR}/fixes
|
||||
rm -f ${TMPDIR}/fixes2 ${TMPDIR}/fixes3
|
||||
|
||||
echo "In ${TMPDIR}/fixes:"
|
||||
cat ${TMPDIR}/fixes
|
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
inspections:
|
||||
javabytecode: off
|
|
@ -0,0 +1,2 @@
|
|||
SHA512 (tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz) = 97d026212363b3c83f6a04100ad7f6fdde833d16579717f8756e2b8c2eb70e144a41a330cb9ccde9c3badd37a2d54fdf4650a950ec21d8b686d545ecb2a64d30
|
||||
SHA512 (openjdk-jdk17u-jdk-17.0.8.1+1.tar.xz) = cd0bd2d3b54e99f8b05185999b106fef1de7331e7892baf261714307bb657327e3305ee95cfd978adadaf72dbb8862955d3845a8f3c5987055e61c605e24dbb1
|
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
- hosts: localhost
|
||||
roles:
|
||||
- role: standard-test-source
|
||||
tags:
|
||||
- always
|
||||
- role: standard-test-basic
|
||||
tags:
|
||||
- classic
|
||||
- atomic
|
||||
required_packages:
|
||||
- java-17-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;
|
||||
- javaVersion2:
|
||||
dir: ~
|
||||
run: set -ex; useradd franta2; su franta2 -c 'java --version'
|
Loading…
Reference in New Issue