The package rpms/java-latest-openjdk.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/java-latest-openjdk.git/commit/?id=5....
Change: +%ifarch %{jit_arches}
Thanks.
Full change: ============
commit fbb9bfad15f1f9a4807e32269ea26b20c24207e3 Merge: f6c3e6d 5c9d1b3 Author: Jiri jvanek@redhat.com Date: Sun Nov 26 18:12:42 2023 +0100
Merge branch 'f38' into f37
commit 5c9d1b35aa8ea591fea5f43ca25c42bae961be5c Merge: aa139b2 50747e7 Author: Jiri jvanek@redhat.com Date: Sun Nov 26 18:12:16 2023 +0100
Merge branch 'rawhide' into f38
commit 50747e7123ff6577a0d7a44fd75fda479c7774e7 Author: Jiri jvanek@redhat.com Date: Sun Nov 26 18:09:53 2023 +0100
updated to OpenJDK 21.0.1 (2023-10-17)
diff --git a/TestTranslations.java b/TestTranslations.java index d87647a..f6a4fe2 100644 --- a/TestTranslations.java +++ b/TestTranslations.java @@ -52,7 +52,7 @@ public class TestTranslations { map.put(Locale.FRANCE, new String[] { "heure normale des Rocheuses", "UTC\u221207:00", "MST", "heure d\u2019\u00e9t\u00e9 des Rocheuses", "UTC\u221206:00", "MDT", "heure des Rocheuses", "UTC\u221207:00", "MT"}); - map.put(Locale.GERMANY, new String[] { "Rocky Mountain-Normalzeit", "GMT-07:00", "MST", + map.put(Locale.GERMANY, new String[] { "Rocky-Mountain-Normalzeit", "GMT-07:00", "MST", "Rocky-Mountain-Sommerzeit", "GMT-06:00", "MDT", "Rocky-Mountain-Zeit", "GMT-07:00", "MT"}); CIUDAD_JUAREZ = Collections.unmodifiableMap(map); diff --git a/generate_source_tarball.sh b/generate_source_tarball.sh index d6a7f8d..c53abdc 100755 --- a/generate_source_tarball.sh +++ b/generate_source_tarball.sh @@ -1,163 +1 @@ -#!/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=jdk18u -# VERSION=jdk-18.0.1+10 -# 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=13.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)" - exit 1; -fi - - -if [ "x$VERSION" = "x" ] ; then - echo "No VERSION specified" - exit -2 -fi -echo "Version: ${VERSION}" - -# 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 to be compressed targets 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/$%7BICEDTEA_VERSION%7D/patches/pr... - 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 - make store-source-revision - popd - rm -rf build - - 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." +## This file is intentionally left blank diff --git a/icedtea_sync.sh b/icedtea_sync.sh index e5c54f3..c53abdc 100755 --- a/icedtea_sync.sh +++ b/icedtea_sync.sh @@ -1,192 +1 @@ -#!/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} +## This file is intentionally left blank diff --git a/java-latest-openjdk.spec b/java-latest-openjdk.spec index 0454f30..ccf69da 100644 --- a/java-latest-openjdk.spec +++ b/java-latest-openjdk.spec @@ -278,7 +278,7 @@ # New Version-String scheme-style defines %global featurever 21 %global interimver 0 -%global updatever 0 +%global updatever 1 %global patchver 0
# We don't add any LTS designator for STS packages (Fedora and EPEL). @@ -287,8 +287,8 @@ %global lts_designator "LTS" %global lts_designator_zip -%{lts_designator} %else - %global lts_designator "" - %global lts_designator_zip "" + %global lts_designator "" + %global lts_designator_zip "" %endif
# Define vendor information used by OpenJDK @@ -304,7 +304,7 @@ %global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=%%7Bn... %else %if 0%{?rhel} -%global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20L... +%global oj_vendor_bug_url https://access.redhat.com/support/cases/ %else %global oj_vendor_bug_url https://bugzilla.redhat.com/enter_bug.cgi %endif @@ -314,14 +314,21 @@
# Define IcedTea version used for SystemTap tapsets and desktop file %global icedteaver 6.0.0pre00-c848b93a8598 +# Define JDK versions +%global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver} +%global javaver %{featurever} +# Strip up to 6 trailing zeros in newjavaver, as the JDK does, to get the correct version used in filenames +%global filever %(svn=%{newjavaver}; for i in 1 2 3 4 5 6 ; do svn=${svn%%.0} ; done; echo ${svn}) +# The tag used to create the OpenJDK tarball +%global vcstag jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}
# Standard JPackage naming and versioning defines %global origin openjdk %global origin_nice OpenJDK -%global top_level_dir_name %{origin} +%global top_level_dir_name %{vcstag} %global top_level_dir_name_backup %{top_level_dir_name}-backup -%global buildver 35 -%global rpmrelease 3 +%global buildver 12 +%global rpmrelease 1 # 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 @@ -334,14 +341,6 @@ # for techpreview, using 1, so slowdebugs can have 0 %global priority %( printf '%08d' 1 ) %endif -%global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver} -%global javaver %{featurever} - -# Strip up to 6 trailing zeros in newjavaver, as the JDK does, to get the correct version used in filenames -%global filever %(svn=%{newjavaver}; for i in 1 2 3 4 5 6 ; do svn=${svn%%.0} ; done; echo ${svn}) - -# The tag used to create the OpenJDK tarball -%global vcstag jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}
# Define milestone (EA for pre-releases, GA for releases) # Release will be (where N is usually a number starting at 1): @@ -350,15 +349,15 @@ %global is_ga 1 %if %{is_ga} %global build_type GA -%global expected_ea_designator "" -%global ea_designator_zip "" +%global ea_designator "" +%global ea_designator_zip %{nil} %global extraver %{nil} %global eaprefix %{nil} %else %global build_type EA -%global expected_ea_designator ea -%global ea_designator_zip -%{expected_ea_designator} -%global extraver .%{expected_ea_designator} +%global ea_designator ea +%global ea_designator_zip -%{ea_designator} +%global extraver .%{ea_designator} %global eaprefix 0. %endif
@@ -517,12 +516,15 @@ alternatives \ --install %{_bindir}/java $key %{jrebindir -- %{?1}}/java $PRIORITY --family %{family} \ --slave %{_jvmdir}/jre jre %{_jvmdir}/%{sdkdir -- %{?1}} \ --slave %{_bindir}/%{alt_java_name} %{alt_java_name} %{jrebindir -- %{?1}}/%{alt_java_name} \ + --slave %{_bindir}/jcmd jcmd %{sdkbindir -- %{?1}}/jcmd \ --slave %{_bindir}/keytool keytool %{jrebindir -- %{?1}}/keytool \ --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir -- %{?1}}/rmiregistry \ --slave %{_mandir}/man1/java.1$ext java.1$ext \ %{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1$ext \ --slave %{_mandir}/man1/%{alt_java_name}.1$ext %{alt_java_name}.1$ext \ %{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1$ext \ + --slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \ + %{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1$ext \ --slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \ %{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1$ext \ --slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \ @@ -607,7 +609,6 @@ alternatives \ --slave %{_bindir}/jarsigner jarsigner %{sdkbindir -- %{?1}}/jarsigner \ --slave %{_bindir}/javadoc javadoc %{sdkbindir -- %{?1}}/javadoc \ --slave %{_bindir}/javap javap %{sdkbindir -- %{?1}}/javap \ - --slave %{_bindir}/jcmd jcmd %{sdkbindir -- %{?1}}/jcmd \ --slave %{_bindir}/jconsole jconsole %{sdkbindir -- %{?1}}/jconsole \ --slave %{_bindir}/jdb jdb %{sdkbindir -- %{?1}}/jdb \ --slave %{_bindir}/jdeps jdeps %{sdkbindir -- %{?1}}/jdeps \ @@ -635,8 +636,6 @@ alternatives \ %{_mandir}/man1/javadoc-%{uniquesuffix -- %{?1}}.1$ext \ --slave %{_mandir}/man1/javap.1$ext javap.1$ext \ %{_mandir}/man1/javap-%{uniquesuffix -- %{?1}}.1$ext \ - --slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \ - %{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1$ext \ --slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \ %{_mandir}/man1/jconsole-%{uniquesuffix -- %{?1}}.1$ext \ --slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \ @@ -801,10 +800,11 @@ exit 0 %dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin %{_jvmdir}/%{sdkdir -- %{?1}}/bin/java %{_jvmdir}/%{sdkdir -- %{?1}}/bin/%{alt_java_name} +%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jcmd %{_jvmdir}/%{sdkdir -- %{?1}}/bin/keytool %{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmiregistry %dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib -%ifarch %{share_arches} +%ifarch %{jit_arches} %{_jvmdir}/%{sdkdir -- %{?1}}/lib/classlist %endif %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jexec @@ -863,7 +863,8 @@ exit 0 %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/default.jfc %{_jvmdir}/%{sdkdir -- %{?1}}/lib/jfr/profile.jfc %{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1* -#%{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1* #TODO, resolve alt-java man page +%{_mandir}/man1/%{alt_java_name}-%{uniquesuffix -- %{?1}}.1* +%{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1* %{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1* %{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{vm_variant}/ @@ -912,8 +913,9 @@ exit 0 %if %is_system_jdk %if %{is_release_build -- %{?1}} %ghost %{_bindir}/java -%ghost %{_bindir}/%{alt_java_name} %ghost %{_jvmdir}/jre +%ghost %{_bindir}/%{alt_java_name} +%ghost %{_bindir}/jcmd %ghost %{_bindir}/keytool %ghost %{_bindir}/pack200 %ghost %{_bindir}/rmid @@ -938,7 +940,6 @@ exit 0 %{_jvmdir}/%{sdkdir -- %{?1}}/bin/javadoc %{_jvmdir}/%{sdkdir -- %{?1}}/bin/javap %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jconsole -%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jcmd %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdb %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeps %{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeprscan @@ -1013,7 +1014,6 @@ exit 0 %ghost %{_bindir}/jarsigner %ghost %{_bindir}/javadoc %ghost %{_bindir}/javap -%ghost %{_bindir}/jcmd %ghost %{_bindir}/jconsole %ghost %{_bindir}/jdb %ghost %{_bindir}/jdeps @@ -1311,23 +1311,21 @@ Source18: TestTranslations.java
BuildRequires: %{portable_name}-sources >= %{portable_version} BuildRequires: %{portable_name}-misc >= %{portable_version} +BuildRequires: %{portable_name}-docs >= %{portable_version}
%if %{include_normal_build} -BuildRequires: %{portable_name} >= %{portable_version} -BuildRequires: %{portable_name}-devel >= %{portable_version} +BuildRequires: %{portable_name}-unstripped >= %{portable_version} %if %{include_staticlibs} BuildRequires: %{portable_name}-static-libs >= %{portable_version} %endif %endif %if %{include_fastdebug_build} -BuildRequires: %{portable_name}-fastdebug >= %{portable_version} BuildRequires: %{portable_name}-devel-fastdebug >= %{portable_version} %if %{include_staticlibs} BuildRequires: %{portable_name}-static-libs-fastdebug >= %{portable_version} %endif %endif %if %{include_debug_build} -BuildRequires: %{portable_name}-slowdebug >= %{portable_version} BuildRequires: %{portable_name}-devel-slowdebug >= %{portable_version} %if %{include_staticlibs} BuildRequires: %{portable_name}-static-libs-slowdebug >= %{portable_version} @@ -1713,24 +1711,22 @@ fi
tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.sources.noarch.tar.xz tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable*.misc.%{_arch}.tar.xz +tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable*.docs.%{_arch}.tar.xz
%if %{include_normal_build} -tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.jdk.%{_arch}.tar.xz -#tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.jre.%{_arch}.tar.xz +tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.unstripped.jdk.%{_arch}.tar.xz %if %{include_staticlibs} tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.static-libs.%{_arch}.tar.xz %endif %endif %if %{include_fastdebug_build} tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.fastdebug.jdk.%{_arch}.tar.xz -#tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.fastdebug.jre.%{_arch}.tar.xz %if %{include_staticlibs} tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.fastdebug.static-libs.%{_arch}.tar.xz %endif %endif %if %{include_debug_build} tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.slowdebug.jdk.%{_arch}.tar.xz -#tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.slowdebug.jre.%{_arch}.tar.xz %if %{include_staticlibs} tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.slowdebug.static-libs.%{_arch}.tar.xz %endif @@ -1965,6 +1961,7 @@ for suffix in %{build_loop} ; do jdk_image=${top_dir_abs_main_build_path} src_image=`echo ${top_dir_abs_main_build_path} | sed "s/portable.*.%{_arch}/portable.sources.noarch/"` misc_image=`echo ${top_dir_abs_main_build_path} | sed "s/portable.*.%{_arch}/portable.misc.%{_arch}/"` + docs_image=`echo ${top_dir_abs_main_build_path} | sed "s/portable.*.%{_arch}/portable.docs.%{_arch}/"`
# Install the jdk mkdir -p $RPM_BUILD_ROOT%{_jvmdir} @@ -2027,11 +2024,11 @@ if ! echo $suffix | grep -q "debug" ; then # Install Javadoc documentation install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir} install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix} - built_doc_archive=javadocs.zip - cp -a ${top_dir_abs_main_build_path}/${built_doc_archive} \ - $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip || ls -l ${top_dir_abs_main_build_path} + built_doc_archive=$(basename $(ls ${docs_image}/jdk*docs.zip)) + cp -a ${docs_image}/${built_doc_archive} \ + $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip pushd $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix} - unzip ${top_dir_abs_main_build_path}/${built_doc_archive} + unzip ${docs_image}/${built_doc_archive} popd fi
@@ -2070,9 +2067,6 @@ find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -name "*.so" -exec chmod 7 find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -type d -exec chmod 755 {} ; ; find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/legal -type f -exec chmod 644 {} ; ;
-if [ "x$suffix" = "x" ] ; then - rm $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/javadocs.zip #is in subpackages, 1 renamed, 2nd unpacked -fi # end, dual install done
@@ -2396,6 +2390,9 @@ cjc.mainProgram(args) %endif
%changelog +* Wed Nov 22 2023 Jiri Vanek jvanek@redhat.com - 1:21.0.1.0.12-1.rolling +- updated to OpenJDK 21.0.1 (2023-10-17) + * Fri Sep 29 2023 Yaakov Selkowitz yselkowi@redhat.com - 1:21.0.0.0.35-3.rolling - Fix flatpak build by handling different installation prefixes of package dependencies
commit 770b2dc6cf212c3adc72338d11ed49d38fed3b71 Author: Yaakov Selkowitz yselkowi@redhat.com Date: Mon Sep 11 16:13:18 2023 -0400
Fix flatpak build
java-X-openjdk-portable must not be rebuilt for flatpaks, nor do we want to rebuild tzdata for tzdata-java, so it will be added to the runtimes. Therefore, we need to take into account the possibility of different prefixes for those compared to java-X-openjdk.
diff --git a/java-latest-openjdk.spec b/java-latest-openjdk.spec index d2f9562..0454f30 100644 --- a/java-latest-openjdk.spec +++ b/java-latest-openjdk.spec @@ -321,7 +321,7 @@ %global top_level_dir_name %{origin} %global top_level_dir_name_backup %{top_level_dir_name}-backup %global buildver 35 -%global rpmrelease 2 +%global rpmrelease 3 # 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 @@ -412,12 +412,16 @@
%global rpm_state_dir %{_localstatedir}/lib/rpm-state/
-# For flatpack builds hard-code /usr/sbin/alternatives, -# otherwise use %%{_sbindir} relative path. +# For flatpack builds hard-code dependency paths, +# otherwise use relative paths. %if 0%{?flatpak} %global alternatives_requires /usr/sbin/alternatives +%global javazidir /usr/share/javazi-1.8 +%global portablejvmdir /usr/lib/jvm %else %global alternatives_requires %{_sbindir}/alternatives +%global javazidir %{_datadir}/javazi-1.8 +%global portablejvmdir %{_jvmdir} %endif
%global family %{name}.%{_arch} @@ -1707,28 +1711,28 @@ if [ $prioritylength -ne 8 ] ; then exit 14 fi
-tar -xf %{_jvmdir}/%{compatiblename}*%{version}*portable.sources.noarch.tar.xz -tar -xf %{_jvmdir}/%{compatiblename}*%{version}*portable*.misc.%{_arch}.tar.xz +tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.sources.noarch.tar.xz +tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable*.misc.%{_arch}.tar.xz
%if %{include_normal_build} -tar -xf %{_jvmdir}/%{compatiblename}*%{version}*portable.jdk.%{_arch}.tar.xz -#tar -xf %{_jvmdir}/%{compatiblename}*%{version}*portable.jre.%{_arch}.tar.xz +tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.jdk.%{_arch}.tar.xz +#tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.jre.%{_arch}.tar.xz %if %{include_staticlibs} -tar -xf %{_jvmdir}/%{compatiblename}*%{version}*portable.static-libs.%{_arch}.tar.xz +tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.static-libs.%{_arch}.tar.xz %endif %endif %if %{include_fastdebug_build} -tar -xf %{_jvmdir}/%{compatiblename}*%{version}*portable.fastdebug.jdk.%{_arch}.tar.xz -#tar -xf %{_jvmdir}/%{compatiblename}*%{version}*portable.fastdebug.jre.%{_arch}.tar.xz +tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.fastdebug.jdk.%{_arch}.tar.xz +#tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.fastdebug.jre.%{_arch}.tar.xz %if %{include_staticlibs} -tar -xf %{_jvmdir}/%{compatiblename}*%{version}*portable.fastdebug.static-libs.%{_arch}.tar.xz +tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.fastdebug.static-libs.%{_arch}.tar.xz %endif %endif %if %{include_debug_build} -tar -xf %{_jvmdir}/%{compatiblename}*%{version}*portable.slowdebug.jdk.%{_arch}.tar.xz -#tar -xf %{_jvmdir}/%{compatiblename}*%{version}*portable.slowdebug.jre.%{_arch}.tar.xz +tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.slowdebug.jdk.%{_arch}.tar.xz +#tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.slowdebug.jre.%{_arch}.tar.xz %if %{include_staticlibs} -tar -xf %{_jvmdir}/%{compatiblename}*%{version}*portable.slowdebug.static-libs.%{_arch}.tar.xz +tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.slowdebug.static-libs.%{_arch}.tar.xz %endif %endif
@@ -1806,7 +1810,7 @@ function installjdk() {
# Use system-wide tzdata mv ${imagepath}/lib/tzdb.dat{,.upstream} - ln -sv %{_datadir}/javazi-1.8/tzdb.dat ${imagepath}/lib/tzdb.dat + ln -sv %{javazidir}/tzdb.dat ${imagepath}/lib/tzdb.dat
# Rename OpenJDK cacerts database mv ${imagepath}/lib/security/cacerts{,.upstream} @@ -2119,15 +2123,11 @@ $JAVA_HOME/bin/javac -d . %{SOURCE16} #TODO skipped vendor check. It now points to PORTABLE version of jdk. #$JAVA_HOME/bin/java $(echo $(basename %{SOURCE16})|sed "s|.java||") "%{oj_vendor}" "%{oj_vendor_url}" "%{oj_vendor_bug_url}" "%{oj_vendor_version}"
-%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) +# Check translations are available for new timezones $JAVA_HOME/bin/javac -d . %{SOURCE18} #TODO doublecheck tzdata handling $JAVA_HOME/bin/java $(echo $(basename %{SOURCE18})|sed "s|.java||") JRE || echo "TZDATA no longer can be synced with system, because we repack" $JAVA_HOME/bin/java -Djava.locale.providers=CLDR $(echo $(basename %{SOURCE18})|sed "s|.java||") CLDR || echo "TZDATA no longer can be synced with system, because we repack" -%endif
%if %{include_staticlibs} # Check debug symbols in static libraries (smoke test) @@ -2396,6 +2396,9 @@ cjc.mainProgram(args) %endif
%changelog +* Fri Sep 29 2023 Yaakov Selkowitz yselkowi@redhat.com - 1:21.0.0.0.35-3.rolling +- Fix flatpak build by handling different installation prefixes of package dependencies + * Tue Sep 19 2023 Jiri Vanek jvanek@redhat.com - 1:21.0.0.0.35-2.rolling - adapted to new path in sources - repacked alt-java from misc subpkg
commit 153764519d6a01cf1bfc7a329371357bb87543fd Author: Jiri Vanek jvanek@redhat.com Date: Fri Sep 29 14:26:02 2023 +0200
Removed no longer used {1} in misc subpkg
diff --git a/java-latest-openjdk.spec b/java-latest-openjdk.spec index 8811542..d2f9562 100644 --- a/java-latest-openjdk.spec +++ b/java-latest-openjdk.spec @@ -1960,7 +1960,7 @@ for suffix in %{build_loop} ; do %endif jdk_image=${top_dir_abs_main_build_path} src_image=`echo ${top_dir_abs_main_build_path} | sed "s/portable.*.%{_arch}/portable.sources.noarch/"` - misc_image=`echo ${top_dir_abs_main_build_path} | sed "s/portable.*.%{_arch}/portable%{1}.misc.%{_arch}/"` + misc_image=`echo ${top_dir_abs_main_build_path} | sed "s/portable.*.%{_arch}/portable.misc.%{_arch}/"`
# Install the jdk mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
commit acad51e27b79ba2cf785889ee7536645e0f0bdd6 Author: Jiri Vanek jvanek@redhat.com Date: Mon Sep 25 15:38:54 2023 +0200
adapted ssbd alt-java test to run on all arches
diff --git a/java-latest-openjdk.spec b/java-latest-openjdk.spec index b584726..8811542 100644 --- a/java-latest-openjdk.spec +++ b/java-latest-openjdk.spec @@ -2107,10 +2107,11 @@ $JAVA_HOME/bin/java ${SEC_DEBUG} -Djava.security.disableSystemPropertiesFile=tru if ! nm $JAVA_HOME/bin/java | grep set_speculation ; then true ; else false; fi
# Check alt-java launcher has SSB mitigation on supported architectures +# set_speculation function exists in both cases, so check for prctl call %ifarch %{ssbd_arches} -nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation +nm $JAVA_HOME/bin/%{alt_java_name} | grep prctl %else -if ! nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation ; then true ; else false; fi +if ! nm $JAVA_HOME/bin/%{alt_java_name} | grep prctl ; then true ; else false; fi %endif
# Check correct vendor values have been set @@ -2398,6 +2399,7 @@ cjc.mainProgram(args) * Tue Sep 19 2023 Jiri Vanek jvanek@redhat.com - 1:21.0.0.0.35-2.rolling - adapted to new path in sources - repacked alt-java from misc subpkg +- adapted alt-java to grep correctly prctl - removed no longer prepared nss.cfg
* Tue Aug 29 2023 Jiri Vanek jvanek@redhat.com - 1:21.0.0.0.35-1.rolling
commit e205b64fcc0b92c7e511ef939489c64a71b9e466 Author: Jiri Vanek jvanek@redhat.com Date: Wed Sep 20 20:11:03 2023 +0200
repacked alt-java from misc subpkg
diff --git a/java-latest-openjdk.spec b/java-latest-openjdk.spec index e54fd91..b584726 100644 --- a/java-latest-openjdk.spec +++ b/java-latest-openjdk.spec @@ -894,7 +894,6 @@ exit 0 %config(noreplace) %{etcjavadir -- %{?1}}/conf/security/java.policy %config(noreplace) %{etcjavadir -- %{?1}}/conf/security/java.security %config(noreplace) %{etcjavadir -- %{?1}}/conf/logging.properties -%config(noreplace) %{etcjavadir -- %{?1}}/conf/security/nss.cfg %config(noreplace) %{etcjavadir -- %{?1}}/conf/security/nss.fips.cfg %config(noreplace) %{etcjavadir -- %{?1}}/conf/management/jmxremote.access # This is a config template, thus not config-noreplace @@ -1307,6 +1306,7 @@ Source16: CheckVendor.java Source18: TestTranslations.java
BuildRequires: %{portable_name}-sources >= %{portable_version} +BuildRequires: %{portable_name}-misc >= %{portable_version}
%if %{include_normal_build} BuildRequires: %{portable_name} >= %{portable_version} @@ -1338,7 +1338,7 @@ BuildRequires: gdb BuildRequires: /usr/bin/gcc BuildRequires: /usr/bin/objcopy BuildRequires: /usr/bin/readelf -# Requirement for setting up nss.cfg and nss.fips.cfg +# Requirement for setting and nss.fips.cfg BuildRequires: nss-devel # Requirement for system security property test BuildRequires: crypto-policies @@ -1708,6 +1708,8 @@ if [ $prioritylength -ne 8 ] ; then fi
tar -xf %{_jvmdir}/%{compatiblename}*%{version}*portable.sources.noarch.tar.xz +tar -xf %{_jvmdir}/%{compatiblename}*%{version}*portable*.misc.%{_arch}.tar.xz + %if %{include_normal_build} tar -xf %{_jvmdir}/%{compatiblename}*%{version}*portable.jdk.%{_arch}.tar.xz #tar -xf %{_jvmdir}/%{compatiblename}*%{version}*portable.jre.%{_arch}.tar.xz @@ -1958,6 +1960,7 @@ for suffix in %{build_loop} ; do %endif jdk_image=${top_dir_abs_main_build_path} src_image=`echo ${top_dir_abs_main_build_path} | sed "s/portable.*.%{_arch}/portable.sources.noarch/"` + misc_image=`echo ${top_dir_abs_main_build_path} | sed "s/portable.*.%{_arch}/portable%{1}.misc.%{_arch}/"`
# Install the jdk mkdir -p $RPM_BUILD_ROOT%{_jvmdir} @@ -1972,6 +1975,7 @@ done
cp -a ${jdk_image} $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix} cp -a ${src_image} $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/full_sources +cp -a ${misc_image}/alt-java $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/bin
pushd ${jdk_image}
@@ -2393,6 +2397,8 @@ cjc.mainProgram(args) %changelog * Tue Sep 19 2023 Jiri Vanek jvanek@redhat.com - 1:21.0.0.0.35-2.rolling - adapted to new path in sources +- repacked alt-java from misc subpkg +- removed no longer prepared nss.cfg
* Tue Aug 29 2023 Jiri Vanek jvanek@redhat.com - 1:21.0.0.0.35-1.rolling - updated to jdk 21
commit a77594e5884a3c9de26f0725f8e86e02a8b958f5 Author: Jiri Vanek jvanek@redhat.com Date: Wed Sep 20 18:20:07 2023 +0200
adapted to new path in sources
diff --git a/java-latest-openjdk.spec b/java-latest-openjdk.spec index 1e92fc0..e54fd91 100644 --- a/java-latest-openjdk.spec +++ b/java-latest-openjdk.spec @@ -321,7 +321,7 @@ %global top_level_dir_name %{origin} %global top_level_dir_name_backup %{top_level_dir_name}-backup %global buildver 35 -%global rpmrelease 1 +%global rpmrelease 2 # 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 @@ -1965,7 +1965,7 @@ mkdir -p $RPM_BUILD_ROOT%{_jvmdir} # Install icons for s in 16 24 32 48 ; do install -D -p -m 644 \ - ${src_image}/openjdk/src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png \ + ${src_image}/%{vcstag}/src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png \ $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}-%{origin}.png done
@@ -2391,6 +2391,9 @@ cjc.mainProgram(args) %endif
%changelog +* Tue Sep 19 2023 Jiri Vanek jvanek@redhat.com - 1:21.0.0.0.35-2.rolling +- adapted to new path in sources + * Tue Aug 29 2023 Jiri Vanek jvanek@redhat.com - 1:21.0.0.0.35-1.rolling - updated to jdk 21
arch-excludes@lists.fedoraproject.org