Compare commits
No commits in common. 'i9c' and 'c9-beta' have entirely different histories.
@ -1,2 +1,2 @@
|
||||
SOURCES/openjdk-21.0.6+7.tar.xz
|
||||
SOURCES/openjdk-jdk21u-jdk-21+35.tar.xz
|
||||
SOURCES/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz
|
||||
|
@ -1,2 +1,2 @@
|
||||
fad71f19631dab375285056d10d08374e869bb35 SOURCES/openjdk-21.0.6+7.tar.xz
|
||||
96686100a34c1cb88947097f91769154066a5e92 SOURCES/openjdk-jdk21u-jdk-21+35.tar.xz
|
||||
c8281ee37b77d535c9c1af86609a531958ff7b34 SOURCES/tapsets-icedtea-6.0.0pre00-c848b93a8598.tar.xz
|
||||
|
@ -1,54 +0,0 @@
|
||||
From 7733d625ebdea5a6f323a0c5944fb8ab728d1b2b Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Hughes <gnu.andrew@redhat.com>
|
||||
Date: Sat, 25 Nov 2023 17:29:36 +0000
|
||||
Subject: [PATCH] Allow devkit to work with RHEL
|
||||
|
||||
---
|
||||
make/devkit/Makefile | 2 +-
|
||||
make/devkit/Tools.gmk | 10 +++++++++-
|
||||
2 files changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/make/devkit/Makefile b/make/devkit/Makefile
|
||||
index c85a7c21d29..8f69d23c325 100644
|
||||
--- a/make/devkit/Makefile
|
||||
+++ b/make/devkit/Makefile
|
||||
@@ -58,7 +58,7 @@
|
||||
COMMA := ,
|
||||
|
||||
os := $(shell uname -o)
|
||||
-cpu := $(shell uname -p)
|
||||
+cpu := $(shell uname -m)
|
||||
|
||||
# Figure out what platform this is building on.
|
||||
me := $(cpu)-$(if $(findstring Linux,$(os)),linux-gnu)
|
||||
diff --git a/make/devkit/Tools.gmk b/make/devkit/Tools.gmk
|
||||
index 187320ca26e..001f4b1870c 100644
|
||||
--- a/make/devkit/Tools.gmk
|
||||
+++ b/make/devkit/Tools.gmk
|
||||
@@ -62,6 +62,14 @@ ifeq ($(BASE_OS), OL)
|
||||
BASE_URL := http://yum.oracle.com/repo/OracleLinux/OL6/4/base/$(ARCH)/
|
||||
LINUX_VERSION := OL6.4
|
||||
endif
|
||||
+else ifeq ($(BASE_OS), RHEL)
|
||||
+ ifeq ($(ARCH), aarch64)
|
||||
+ BASE_URL := https://download.eng.brq.redhat.com/rhel-7/rel-eng/RHEL-7/latest-RHEL-ALT-7/compose/Server/$(ARCH)/os/Packages/
|
||||
+ LINUX_VERSION := RHEL7.6
|
||||
+ else
|
||||
+ BASE_URL := https://download.eng.brq.redhat.com/rhel-7/rel-eng/RHEL-7/latest-RHEL-7/compose/Server/$(ARCH)/os/Packages/
|
||||
+ LINUX_VERSION := RHEL7.9
|
||||
+ endif
|
||||
else ifeq ($(BASE_OS), Fedora)
|
||||
ifeq ($(ARCH), riscv64)
|
||||
DEFAULT_OS_VERSION := rawhide/68692
|
||||
@@ -246,7 +254,7 @@ download-rpms:
|
||||
# Only run this if rpm dir is empty.
|
||||
ifeq ($(wildcard $(DOWNLOAD_RPMS)/*.rpm), )
|
||||
cd $(DOWNLOAD_RPMS) && \
|
||||
- wget -r -np -nd $(patsubst %, -A "*%*.rpm", $(RPM_LIST)) $(BASE_URL)
|
||||
+ wget -r -e robots=off -np -nd $(patsubst %, -A "*%*.rpm", $(RPM_LIST)) $(BASE_URL)
|
||||
endif
|
||||
|
||||
##########################################################################################
|
||||
--
|
||||
2.45.2
|
||||
|
@ -1,50 +0,0 @@
|
||||
From e55afc691c0105623e04a6e76369cf1438afb874 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Hughes <gnu.andrew@redhat.com>
|
||||
Date: Fri, 8 Dec 2023 21:22:02 +0000
|
||||
Subject: [PATCH] Disable multilib on x86_64
|
||||
|
||||
---
|
||||
make/devkit/Tools.gmk | 13 +++----------
|
||||
1 file changed, 3 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/make/devkit/Tools.gmk b/make/devkit/Tools.gmk
|
||||
index 001f4b1870c..9ede781413d 100644
|
||||
--- a/make/devkit/Tools.gmk
|
||||
+++ b/make/devkit/Tools.gmk
|
||||
@@ -225,13 +225,7 @@ RPM_LIST := \
|
||||
##########################################################################################
|
||||
# Define common directories and files
|
||||
|
||||
-# Ensure we have 32-bit libs also for x64. We enable mixed-mode.
|
||||
-ifeq (x86_64,$(ARCH))
|
||||
- LIBDIRS := lib64 lib
|
||||
- CFLAGS_lib := -m32
|
||||
-else
|
||||
- LIBDIRS := lib
|
||||
-endif
|
||||
+LIBDIRS := lib
|
||||
|
||||
# Define directories
|
||||
BUILDDIR := $(OUTPUT_ROOT)/$(HOST)/$(TARGET)
|
||||
@@ -289,8 +283,7 @@ $(foreach p,GCC BINUTILS CCACHE MPFR GMP MPC GDB,$(eval $(call Download,$(p))))
|
||||
|
||||
RPM_ARCHS := $(ARCH) noarch
|
||||
ifeq ($(ARCH),x86_64)
|
||||
- # Enable mixed mode.
|
||||
- RPM_ARCHS += i386 i686
|
||||
+ RPM_ARCHS += i686
|
||||
else ifeq ($(ARCH),i686)
|
||||
RPM_ARCHS += i386
|
||||
else ifeq ($(ARCH), armhfp)
|
||||
@@ -526,7 +519,7 @@ ifeq ($(ARCH), armhfp)
|
||||
$(BUILDDIR)/$(gcc_ver)/Makefile : CONFIG += --with-float=hard
|
||||
endif
|
||||
|
||||
-ifneq ($(filter riscv64 ppc64 ppc64le s390x, $(ARCH)), )
|
||||
+ifneq ($(filter riscv64 ppc64 ppc64le s390x x86_64, $(ARCH)), )
|
||||
# We only support 64-bit on these platforms anyway
|
||||
CONFIG += --disable-multilib
|
||||
endif
|
||||
--
|
||||
2.45.2
|
||||
|
@ -1,92 +0,0 @@
|
||||
From fbc27183b35df7778cf106450b144474f8e2a35c Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Hughes <gnu.andrew@redhat.com>
|
||||
Date: Wed, 30 Oct 2024 00:42:06 +0000
|
||||
Subject: [PATCH] Log devkit build to stdout
|
||||
|
||||
Resolves: OPENJDK-3071
|
||||
---
|
||||
make/devkit/Tools.gmk | 18 +++++++++---------
|
||||
1 file changed, 9 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/make/devkit/Tools.gmk b/make/devkit/Tools.gmk
|
||||
index 9ede781413d..b6f895f5a25 100644
|
||||
--- a/make/devkit/Tools.gmk
|
||||
+++ b/make/devkit/Tools.gmk
|
||||
@@ -458,7 +458,7 @@ $(BUILDDIR)/$(binutils_ver)/Makefile \
|
||||
--enable-multilib \
|
||||
--enable-threads \
|
||||
--enable-plugins \
|
||||
- ) > $(@D)/log.config 2>&1
|
||||
+ ) 2>&1 | tee $(@D)/log.config
|
||||
@echo 'done'
|
||||
|
||||
$(BUILDDIR)/$(mpfr_ver)/Makefile \
|
||||
@@ -473,7 +473,7 @@ $(BUILDDIR)/$(mpfr_ver)/Makefile \
|
||||
--program-prefix=$(TARGET)- \
|
||||
--enable-shared=no \
|
||||
--with-gmp=$(PREFIX) \
|
||||
- ) > $(@D)/log.config 2>&1
|
||||
+ ) 2>&1 | tee $(@D)/log.config
|
||||
@echo 'done'
|
||||
|
||||
$(BUILDDIR)/$(gmp_ver)/Makefile \
|
||||
@@ -490,7 +490,7 @@ $(BUILDDIR)/$(gmp_ver)/Makefile \
|
||||
--program-prefix=$(TARGET)- \
|
||||
--enable-shared=no \
|
||||
--with-mpfr=$(PREFIX) \
|
||||
- ) > $(@D)/log.config 2>&1
|
||||
+ ) 2>&1 | tee $(@D)/log.config
|
||||
@echo 'done'
|
||||
|
||||
$(BUILDDIR)/$(mpc_ver)/Makefile \
|
||||
@@ -506,7 +506,7 @@ $(BUILDDIR)/$(mpc_ver)/Makefile \
|
||||
--enable-shared=no \
|
||||
--with-mpfr=$(PREFIX) \
|
||||
--with-gmp=$(PREFIX) \
|
||||
- ) > $(@D)/log.config 2>&1
|
||||
+ ) 2>&1 | tee $(@D)/log.config
|
||||
@echo 'done'
|
||||
|
||||
# Only valid if glibc target -> linux
|
||||
@@ -549,7 +549,7 @@ $(BUILDDIR)/$(gcc_ver)/Makefile \
|
||||
--with-mpfr=$(PREFIX) \
|
||||
--with-gmp=$(PREFIX) \
|
||||
--with-mpc=$(PREFIX) \
|
||||
- ) > $(@D)/log.config 2>&1
|
||||
+ ) 2>&1 | tee $(@D)/log.config
|
||||
@echo 'done'
|
||||
|
||||
# need binutils for gcc
|
||||
@@ -571,7 +571,7 @@ ifeq ($(HOST), $(TARGET))
|
||||
$(PATHPRE) $(ENVS) CFLAGS="$(CFLAGS)" $(GDB_CFG) \
|
||||
$(CONFIG) \
|
||||
--with-sysroot=$(SYSROOT) \
|
||||
- ) > $(@D)/log.config 2>&1
|
||||
+ ) 2>&1 | tee $(@D)/log.config
|
||||
@echo 'done'
|
||||
|
||||
$(gdb): $(gcc)
|
||||
@@ -593,7 +593,7 @@ $(BUILDDIR)/$(ccache_ver)/Makefile \
|
||||
cd $(@D) ; \
|
||||
$(PATHPRE) $(ENVS) $(CCACHE_CFG) \
|
||||
$(CONFIG) \
|
||||
- ) > $(@D)/log.config 2>&1
|
||||
+ ) 2>&1 | tee $(@D)/log.config
|
||||
@echo 'done'
|
||||
|
||||
gccpatch = $(TARGETDIR)/gcc-patched
|
||||
@@ -641,9 +641,9 @@ endif
|
||||
# Always need to build cross tools for build host self.
|
||||
$(TARGETDIR)/%.done : $(BUILDDIR)/%/Makefile
|
||||
$(info Building $(basename $@). Log in $(<D)/log.build)
|
||||
- $(PATHPRE) $(ENVS) $(MAKE) $(BUILDPAR) -f $< -C $(<D) $(MAKECMD) $(MAKECMD.$(notdir $@)) > $(<D)/log.build 2>&1
|
||||
+ $(PATHPRE) $(ENVS) $(MAKE) $(BUILDPAR) -f $< -C $(<D) $(MAKECMD) $(MAKECMD.$(notdir $@)) 2>&1 | tee $(<D)/log.build
|
||||
@echo -n 'installing...'
|
||||
- $(PATHPRE) $(MAKE) $(INSTALLPAR) -f $< -C $(<D) $(INSTALLCMD) $(MAKECMD.$(notdir $@)) > $(<D)/log.install 2>&1
|
||||
+ $(PATHPRE) $(MAKE) $(INSTALLPAR) -f $< -C $(<D) $(INSTALLCMD) $(MAKECMD.$(notdir $@)) 2>&1 | tee $(<D)/log.install
|
||||
@mkdir -p $(@D)
|
||||
@touch $@
|
||||
@echo 'done'
|
||||
--
|
||||
2.45.2
|
||||
|
@ -1,41 +0,0 @@
|
||||
From 3d81d23118aab95214e24ccc81eff61ac245a1ac Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Fitzsimmons <fitzsim@redhat.com>
|
||||
Date: Wed, 20 Mar 2024 13:01:47 -0400
|
||||
Subject: [PATCH] devkit: Remove .comment sections from sysroot objects
|
||||
|
||||
Otherwise the comment sections of C runtime objects, including those
|
||||
in static libraries like libc_nonshared.a, contribute RPM package
|
||||
version strings to the .comment section in devkit-produced binaries
|
||||
and libraries. These RPM package strings change frequently, even
|
||||
across minor toolchain updates. Their presence interferes when
|
||||
comparing binaries built with devkits that use different sysroot RPM
|
||||
package sets.
|
||||
---
|
||||
make/devkit/Tools.gmk | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/make/devkit/Tools.gmk b/make/devkit/Tools.gmk
|
||||
index b6f895f5a25..37ea1a6a287 100644
|
||||
--- a/make/devkit/Tools.gmk
|
||||
+++ b/make/devkit/Tools.gmk
|
||||
@@ -324,6 +324,9 @@ $(foreach p,$(RPM_FILE_LIST),$(eval $(call unrpm,$(p))))
|
||||
# have it anyway, but just to make sure...
|
||||
# Patch libc.so and libpthread.so to force linking against libraries in sysroot
|
||||
# and not the ones installed on the build machine.
|
||||
+# Remove comment sections from static libraries and C runtime objects
|
||||
+# to prevent leaking RHEL-specific package versions into
|
||||
+# devkit-produced binaries.
|
||||
$(libs) : $(rpms)
|
||||
@echo Patching libc and pthreads
|
||||
@(for f in `find $(SYSROOT) -name libc.so -o -name libpthread.so`; do \
|
||||
@@ -333,6 +336,7 @@ $(libs) : $(rpms)
|
||||
-e 's|/lib/||g' ) > $$f.tmp ; \
|
||||
mv $$f.tmp $$f ; \
|
||||
done)
|
||||
+ @find $(SYSROOT) -name '*.[ao]' -exec objcopy --remove-section .comment '{}' ';'
|
||||
@mkdir -p $(SYSROOT)/usr/lib
|
||||
@touch $@
|
||||
|
||||
--
|
||||
2.45.2
|
||||
|
@ -1,35 +0,0 @@
|
||||
From c370e1194c707f3f6c470e147ec497cc4e76957e Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Fitzsimmons <fitzsim@redhat.com>
|
||||
Date: Fri, 22 Mar 2024 16:03:17 -0400
|
||||
Subject: [PATCH] Tools.gmk: Configure binutils with
|
||||
--enable-deterministic-archives
|
||||
|
||||
---
|
||||
make/devkit/Tools.gmk | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/make/devkit/Tools.gmk b/make/devkit/Tools.gmk
|
||||
index 37ea1a6a287..22c6007000b 100644
|
||||
--- a/make/devkit/Tools.gmk
|
||||
+++ b/make/devkit/Tools.gmk
|
||||
@@ -445,6 +445,9 @@ endif
|
||||
|
||||
# Makefile creation. Simply run configure in build dir.
|
||||
# Setting CFLAGS to -O2 generates a much faster ld.
|
||||
+# Use --enable-deterministic-archives so that make targets that
|
||||
+# generate "ar" archives, such as "static-libs-image", produce
|
||||
+# deterministic .a files.
|
||||
$(bfdmakes) \
|
||||
$(BUILDDIR)/$(binutils_ver)/Makefile \
|
||||
: $(BINUTILS_CFG)
|
||||
@@ -459,6 +462,7 @@ $(BUILDDIR)/$(binutils_ver)/Makefile \
|
||||
--with-sysroot=$(SYSROOT) \
|
||||
--disable-nls \
|
||||
--program-prefix=$(TARGET)- \
|
||||
+ --enable-deterministic-archives \
|
||||
--enable-multilib \
|
||||
--enable-threads \
|
||||
--enable-plugins \
|
||||
--
|
||||
2.45.2
|
||||
|
@ -1,35 +0,0 @@
|
||||
From 5958274571b957617d0572101a92217fd5b2f312 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Hughes <gnu.andrew@redhat.com>
|
||||
Date: Wed, 27 Nov 2024 17:04:19 +0000
|
||||
Subject: [PATCH] Tools.gmk: Add --enable-linker-build-id to gcc build
|
||||
|
||||
This causes --build-id to be passed to the linker, and the
|
||||
.note.gnu.build-id section is added (OPENJDK-3068)
|
||||
---
|
||||
make/devkit/Tools.gmk | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/make/devkit/Tools.gmk b/make/devkit/Tools.gmk
|
||||
index 22c6007000b..57d48ec5114 100644
|
||||
--- a/make/devkit/Tools.gmk
|
||||
+++ b/make/devkit/Tools.gmk
|
||||
@@ -539,6 +539,8 @@ endif
|
||||
# skip native language.
|
||||
# and link and assemble with the binutils we created
|
||||
# earlier, so --with-gnu*
|
||||
+# Add --enable-linker-build-id so the .note.gnu.build-id
|
||||
+# section is added by the linker (OPENJDK-3068)
|
||||
$(BUILDDIR)/$(gcc_ver)/Makefile \
|
||||
: $(GCC_CFG)
|
||||
$(info Configuring $@. Log in $(@D)/log.config)
|
||||
@@ -557,6 +559,7 @@ $(BUILDDIR)/$(gcc_ver)/Makefile \
|
||||
--with-mpfr=$(PREFIX) \
|
||||
--with-gmp=$(PREFIX) \
|
||||
--with-mpc=$(PREFIX) \
|
||||
+ --enable-linker-build-id \
|
||||
) 2>&1 | tee $(@D)/log.config
|
||||
@echo 'done'
|
||||
|
||||
--
|
||||
2.45.2
|
||||
|
@ -1,38 +0,0 @@
|
||||
From 2617c050a909265444b32063b2d271eca42dcaa6 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Hughes <gnu.andrew@redhat.com>
|
||||
Date: Fri, 17 Jan 2025 21:11:01 +0000
|
||||
Subject: [PATCH] Tools.gmk: Exclude systemtap-sdt-devel on s390x & ppc64*
|
||||
|
||||
There is no DTrace support on s390x (JDK-8305174) and ppc64
|
||||
(JDK-8304867) so we don't need the RPMs. They also cause issues with
|
||||
static linkage of libstdc++.a on s390x. It fails with 'error:
|
||||
relocation refers to local symbol "" [9], which is defined in a
|
||||
discarded section'.
|
||||
|
||||
Resolves: OPENJDK-3070
|
||||
---
|
||||
make/devkit/Tools.gmk | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/make/devkit/Tools.gmk b/make/devkit/Tools.gmk
|
||||
index 57d48ec5114..07928f69ceb 100644
|
||||
--- a/make/devkit/Tools.gmk
|
||||
+++ b/make/devkit/Tools.gmk
|
||||
@@ -219,9 +219,13 @@ RPM_LIST := \
|
||||
zlib zlib-devel \
|
||||
libffi libffi-devel \
|
||||
fontconfig fontconfig-devel \
|
||||
- systemtap-sdt-devel \
|
||||
#
|
||||
|
||||
+# Only include SystemTap on supported architectures
|
||||
+ifeq ($(filter ppc64 ppc64le s390x, $(ARCH)), )
|
||||
+ RPM_LIST += systemtap-sdt-devel
|
||||
+endif
|
||||
+
|
||||
##########################################################################################
|
||||
# Define common directories and files
|
||||
|
||||
--
|
||||
2.45.2
|
||||
|
@ -1,33 +0,0 @@
|
||||
From 9766818f55726cea630b432f09cce8f9c17c014d Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Hughes <gnu.andrew@redhat.com>
|
||||
Date: Fri, 17 Jan 2025 21:27:58 +0000
|
||||
Subject: [PATCH] Tools.gmk: Use update repository on RHEL rather than GA
|
||||
|
||||
It looks like we were using 7.6 & 7.9 GA repositories rather than
|
||||
the latest updates.
|
||||
|
||||
Resolves: OPENJDK-3589
|
||||
---
|
||||
make/devkit/Tools.gmk | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/make/devkit/Tools.gmk b/make/devkit/Tools.gmk
|
||||
index 07928f69ceb..5b39560ab11 100644
|
||||
--- a/make/devkit/Tools.gmk
|
||||
+++ b/make/devkit/Tools.gmk
|
||||
@@ -64,10 +64,10 @@ ifeq ($(BASE_OS), OL)
|
||||
endif
|
||||
else ifeq ($(BASE_OS), RHEL)
|
||||
ifeq ($(ARCH), aarch64)
|
||||
- BASE_URL := https://download.eng.brq.redhat.com/rhel-7/rel-eng/RHEL-7/latest-RHEL-ALT-7/compose/Server/$(ARCH)/os/Packages/
|
||||
+ BASE_URL := https://download.eng.brq.redhat.com/rhel-7/rel-eng/updates/RHEL-ALT-7/latest-RHEL-ALT-7/compose/Server/$(ARCH)/os/Packages/
|
||||
LINUX_VERSION := RHEL7.6
|
||||
else
|
||||
- BASE_URL := https://download.eng.brq.redhat.com/rhel-7/rel-eng/RHEL-7/latest-RHEL-7/compose/Server/$(ARCH)/os/Packages/
|
||||
+ BASE_URL := https://download.eng.brq.redhat.com/rhel-7/rel-eng/updates/RHEL-7/latest-RHEL-7/compose/Server/$(ARCH)/os/Packages/
|
||||
LINUX_VERSION := RHEL7.9
|
||||
endif
|
||||
else ifeq ($(BASE_OS), Fedora)
|
||||
--
|
||||
2.45.2
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,125 @@
|
||||
commit d0523302416bc6507696f20d1068f16427bcf6b8
|
||||
Author: Andrew Hughes <gnu.andrew@redhat.com>
|
||||
Date: Thu Aug 24 01:23:49 2023 +0100
|
||||
|
||||
8009550: PlatformPCSC should load versioned so
|
||||
|
||||
diff --git a/src/java.base/share/classes/sun/security/util/Debug.java b/src/java.base/share/classes/sun/security/util/Debug.java
|
||||
index bff273c6548..e5a6b288ff8 100644
|
||||
--- a/src/java.base/share/classes/sun/security/util/Debug.java
|
||||
+++ b/src/java.base/share/classes/sun/security/util/Debug.java
|
||||
@@ -81,6 +81,7 @@ public static void Help()
|
||||
System.err.println("logincontext login context results");
|
||||
System.err.println("jca JCA engine class debugging");
|
||||
System.err.println("keystore KeyStore debugging");
|
||||
+ System.err.println("pcsc Smartcard library debugging");
|
||||
System.err.println("policy loading and granting");
|
||||
System.err.println("provider security provider debugging");
|
||||
System.err.println("pkcs11 PKCS11 session manager debugging");
|
||||
diff --git a/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java b/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java
|
||||
index bacff32efbc..d9f605ada1e 100644
|
||||
--- a/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java
|
||||
+++ b/src/java.smartcardio/unix/classes/sun/security/smartcardio/PlatformPCSC.java
|
||||
@@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
+ * Copyright (c) 2023, Red Hat Inc. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@@ -46,8 +47,13 @@ class PlatformPCSC {
|
||||
|
||||
private static final String PROP_NAME = "sun.security.smartcardio.library";
|
||||
|
||||
- private static final String LIB1 = "/usr/$LIBISA/libpcsclite.so";
|
||||
- private static final String LIB2 = "/usr/local/$LIBISA/libpcsclite.so";
|
||||
+ private static final String[] LIB_TEMPLATES = { "/usr/$LIBISA/libpcsclite.so",
|
||||
+ "/usr/local/$LIBISA/libpcsclite.so",
|
||||
+ "/usr/lib/$ARCH-linux-gnu/libpcsclite.so",
|
||||
+ "/usr/lib/arm-linux-gnueabi/libpcsclite.so",
|
||||
+ "/usr/lib/arm-linux-gnueabihf/libpcsclite.so",
|
||||
+ "/usr/lib/$ARCH-kfreebsd-gnu/libpcsclite.so" };
|
||||
+ private static final String[] LIB_SUFFIXES = { ".1", ".0", "" };
|
||||
private static final String PCSC_FRAMEWORK = "/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC";
|
||||
|
||||
PlatformPCSC() {
|
||||
@@ -73,23 +79,38 @@ public Throwable run() {
|
||||
});
|
||||
|
||||
// expand $LIBISA to the system specific directory name for libraries
|
||||
+ // expand $ARCH to the Debian system architecture in use
|
||||
private static String expand(String lib) {
|
||||
int k = lib.indexOf("$LIBISA");
|
||||
- if (k == -1) {
|
||||
- return lib;
|
||||
+ if (k != -1) {
|
||||
+ String libDir;
|
||||
+ if ("64".equals(System.getProperty("sun.arch.data.model"))) {
|
||||
+ // assume Linux convention
|
||||
+ libDir = "lib64";
|
||||
+ } else {
|
||||
+ // must be 32-bit
|
||||
+ libDir = "lib";
|
||||
+ }
|
||||
+ lib = lib.replace("$LIBISA", libDir);
|
||||
}
|
||||
- String s1 = lib.substring(0, k);
|
||||
- String s2 = lib.substring(k + 7);
|
||||
- String libDir;
|
||||
- if ("64".equals(System.getProperty("sun.arch.data.model"))) {
|
||||
- // assume Linux convention
|
||||
- libDir = "lib64";
|
||||
- } else {
|
||||
- // must be 32-bit
|
||||
- libDir = "lib";
|
||||
+
|
||||
+ k = lib.indexOf("$ARCH");
|
||||
+ if (k != -1) {
|
||||
+ String arch = System.getProperty("os.arch");
|
||||
+ lib = lib.replace("$ARCH", getDebianArchitecture(arch));
|
||||
}
|
||||
- String s = s1 + libDir + s2;
|
||||
- return s;
|
||||
+
|
||||
+ return lib;
|
||||
+ }
|
||||
+
|
||||
+ private static String getDebianArchitecture(String jdkArch) {
|
||||
+ return switch (jdkArch) {
|
||||
+ case "amd64" -> "x86_64";
|
||||
+ case "ppc" -> "powerpc";
|
||||
+ case "ppc64" -> "powerpc64";
|
||||
+ case "ppc64le" -> "powerpc64le";
|
||||
+ default -> jdkArch;
|
||||
+ };
|
||||
}
|
||||
|
||||
private static String getLibraryName() throws IOException {
|
||||
@@ -98,15 +119,18 @@ private static String getLibraryName() throws IOException {
|
||||
if (lib.length() != 0) {
|
||||
return lib;
|
||||
}
|
||||
- lib = expand(LIB1);
|
||||
- if (new File(lib).isFile()) {
|
||||
- // if LIB1 exists, use that
|
||||
- return lib;
|
||||
- }
|
||||
- lib = expand(LIB2);
|
||||
- if (new File(lib).isFile()) {
|
||||
- // if LIB2 exists, use that
|
||||
- return lib;
|
||||
+
|
||||
+ for (String template : LIB_TEMPLATES) {
|
||||
+ for (String suffix : LIB_SUFFIXES) {
|
||||
+ lib = expand(template) + suffix;
|
||||
+ if (debug != null) {
|
||||
+ debug.println("Looking for " + lib);
|
||||
+ }
|
||||
+ if (new File(lib).isFile()) {
|
||||
+ // if library exists, use that
|
||||
+ return lib;
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
// As of macos 11, framework libraries have been removed from the file
|
@ -1,230 +0,0 @@
|
||||
# Spec file for building a devkit for OpenJDK builds
|
||||
|
||||
# We do not want debug packages
|
||||
%global debug_package %{nil}
|
||||
# Arch definitions from java-*-openjdk RPM
|
||||
%global aarch64 aarch64 arm64 armv8
|
||||
# x86 is not supported by OpenJDK 17
|
||||
ExcludeArch: %{ix86}
|
||||
|
||||
# New Version-String scheme-style defines
|
||||
%global featurever 21
|
||||
%global interimver 0
|
||||
%global updatever 5
|
||||
%global patchver 0
|
||||
%global buildver 11
|
||||
# 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}}
|
||||
|
||||
# Define milestone (EA for pre-releases, GA for releases)
|
||||
# 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 1
|
||||
%if %{is_ga}
|
||||
%global build_type GA
|
||||
%global ea_designator ""
|
||||
%global ea_designator_zip %{nil}
|
||||
%global extraver %{nil}
|
||||
%global eaprefix %{nil}
|
||||
%else
|
||||
%global build_type EA
|
||||
%global ea_designator ea
|
||||
%global ea_designator_zip -%{ea_designator}
|
||||
%global extraver .%{ea_designator}
|
||||
%global eaprefix 0.
|
||||
%endif
|
||||
|
||||
# Date devkit RPMs were download
|
||||
%global rpm_download_date 20250117
|
||||
|
||||
Name: openjdk-devkit
|
||||
Version: 1.0
|
||||
Release: 9%{?dist}
|
||||
License: GPLv2
|
||||
URL: http://openjdk.java.net/
|
||||
Summary: OpenJDK Devkit
|
||||
|
||||
# The source tarball, generated using generate_source_tarball.sh
|
||||
Source0: https://openjdk-sources.osci.io/openjdk%{featurever}/open%{vcstag}%{ea_designator_zip}.tar.xz
|
||||
# The buildroot RPMs for each architecture
|
||||
Source1: devkit-rpms-aarch64-%{rpm_download_date}.tar.xz
|
||||
Source2: devkit-rpms-ppc64le-%{rpm_download_date}.tar.xz
|
||||
Source3: devkit-rpms-s390x-%{rpm_download_date}.tar.xz
|
||||
Source4: devkit-rpms-x86_64-%{rpm_download_date}.tar.xz
|
||||
# Toolchain sources
|
||||
Source5: binutils-2.39.tar.gz
|
||||
Source6: gcc-11.3.0.tar.xz
|
||||
Source7: gmp-6.2.1.tar.bz2
|
||||
Source8: mpc-1.2.1.tar.gz
|
||||
Source9: mpfr-4.1.1.tar.bz2
|
||||
Source10: gdb-11.2.tar.xz
|
||||
|
||||
# Devkit patches; see https://github.com/rh-openjdk/jdk/tree/devkit
|
||||
# To regenerate, use git format-patch -N jdk21u/master
|
||||
# Add RHEL RPM URLs and turn off robots
|
||||
Patch0: 0001-Allow-devkit-to-work-with-RHEL.patch
|
||||
# Turn off multilib on x86_64
|
||||
Patch1: 0002-Disable-multilib-on-x86_64.patch
|
||||
# Improve build logging (OPENJDK-3071)
|
||||
Patch2: 0003-Log-devkit-build-to-stdout.patch
|
||||
# Remove .comment sections from sysroot objects
|
||||
Patch3: 0004-devkit-Remove-.comment-sections-from-sysroot-objects.patch
|
||||
# Configure binutils with --enable-deterministic-archives
|
||||
Patch4: 0005-Tools.gmk-Configure-binutils-with-enable-determinist.patch
|
||||
# Configure gcc with --enable-linker-build-id (OPENJDK-3068)
|
||||
Patch5: 0006-Tools.gmk-Add-enable-linker-build-id-to-gcc-build.patch
|
||||
# Exclude systemtap-sdt-devel on s390x & ppc64* (OPENJDK-3070)
|
||||
Patch6: 0007-Tools.gmk-Exclude-systemtap-sdt-devel-on-s390x-ppc64.patch
|
||||
# Use update repository on RHEL rather than GA (OPENJDK-3589)
|
||||
Patch7: 0008-Tools.gmk-Use-update-repository-on-RHEL-rather-than-.patch
|
||||
|
||||
BuildRequires: make autoconf automake libtool gcc gcc-c++ wget glibc-devel texinfo tar bison
|
||||
|
||||
# Setup variables to reference correct sources
|
||||
%ifarch %{aarch64}
|
||||
%global rpmtarball %{SOURCE1}
|
||||
%endif
|
||||
%ifarch ppc64le
|
||||
%global rpmtarball %{SOURCE2}
|
||||
%endif
|
||||
%ifarch s390x
|
||||
%global rpmtarball %{SOURCE3}
|
||||
%endif
|
||||
%ifarch x86_64
|
||||
%global rpmtarball %{SOURCE4}
|
||||
%endif
|
||||
|
||||
%description
|
||||
OpenJDK Devkit
|
||||
|
||||
%prep
|
||||
|
||||
# Unpack OpenJDK sources only in build directory
|
||||
%setup -q -T -c -a 0
|
||||
|
||||
# This syntax is deprecated:
|
||||
# %patchN [...]
|
||||
# and should be replaced with:
|
||||
# %patch -PN [...]
|
||||
# For example:
|
||||
# %patch1001 -p1
|
||||
# becomes:
|
||||
# %patch -P1001 -p1
|
||||
# The replacement format suggested by recent (circa Fedora 38) RPM
|
||||
# deprecation messages:
|
||||
# %patch N [...]
|
||||
# is not backward-compatible with prior (circa RHEL-8) versions of
|
||||
# rpmbuild.
|
||||
pushd jdk-*
|
||||
%patch -P0 -p1
|
||||
%patch -P1 -p1
|
||||
%patch -P2 -p1
|
||||
%patch -P3 -p1
|
||||
%patch -P4 -p1
|
||||
%patch -P5 -p1
|
||||
%patch -P6 -p1
|
||||
%patch -P7 -p1
|
||||
popd
|
||||
|
||||
mkdir -p devkit/download
|
||||
pushd devkit/download
|
||||
tar -xJf %{rpmtarball}
|
||||
ln -s %{SOURCE5}
|
||||
ln -s %{SOURCE6}
|
||||
ln -s %{SOURCE7}
|
||||
ln -s %{SOURCE8}
|
||||
ln -s %{SOURCE9}
|
||||
ln -s %{SOURCE10}
|
||||
|
||||
%build
|
||||
|
||||
devkit_dir=$(pwd)/devkit
|
||||
today=$(date +%Y%m%d)
|
||||
arch=%{_target_cpu}
|
||||
result_name=${arch}-linux-gnu-to-${arch}-linux-gnu
|
||||
result_path=result/${result_name}
|
||||
|
||||
pushd jdk-*/make/devkit
|
||||
|
||||
# Build devkit first using the native toolchain,
|
||||
# than again using itself
|
||||
for variant in bootstrap product ; do
|
||||
if [ -e ${devkit_dir}-bootstrap/${result_path}/bin/gcc ] ; then
|
||||
ROOTDIR=${devkit_dir}-bootstrap/${result_path};
|
||||
BINDIR=${ROOTDIR}/bin;
|
||||
TOOLS="CC=${BINDIR}/gcc CXX=${BINDIR}/g++ LD=${BINDIR}/ld \
|
||||
AR=${BINDIR}/ar AS=${BINDIR}/as RANLIB=${BINDIR}/ranlib \
|
||||
OBJDUMP=${BINDIR}/objdump"
|
||||
LIBPATH="${ROOTDIR}/lib64:${ROOTDIR}/lib"
|
||||
else
|
||||
TOOLS="CC=$(which gcc) CXX=$(which g++) LD=$(which ld) \
|
||||
AR=$(which ar) AS=$(which as) RANLIB=$(which ranlib) \
|
||||
OBJDUMP=$(which objdump)"
|
||||
fi
|
||||
mkdir -p ${devkit_dir}-${variant}
|
||||
ln -s ${devkit_dir}/download ${devkit_dir}-${variant}
|
||||
LD_LIBRARY_PATH="${LIBPATH}" \
|
||||
make -f Tools.gmk all ${TOOLS} \
|
||||
HOST=${arch}-linux-gnu \
|
||||
BUILD=${arch}-linux-gnu \
|
||||
RESULT=${devkit_dir}-${variant}/result \
|
||||
OUTPUT_ROOT=${devkit_dir}-${variant} \
|
||||
TARGET=${arch}-linux-gnu \
|
||||
PREFIX=${devkit_dir}-${variant}/${result_path} \
|
||||
BASE_OS=RHEL
|
||||
done
|
||||
|
||||
make -r -f Tars.gmk \
|
||||
SRC_DIR=${devkit_dir}-product/${result_path} \
|
||||
TAR_FILE=${devkit_dir}-product/result/sdk-${result_name}-${today}.tar.gz
|
||||
popd
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_datadir}/%{name}
|
||||
cp -p devkit-product/result/*.tar.gz %{buildroot}%{_datadir}/%{name}/
|
||||
|
||||
%files
|
||||
%{_datadir}/%{name}
|
||||
|
||||
%changelog
|
||||
* Fri Jan 17 2025 Andrew Hughes <gnu.andrew@redhat.com> - 1.0-9
|
||||
- Update devkit RPMs to latest updates
|
||||
- Exclude SystemTap RPMs from s390x and ppc64le
|
||||
- Add a date stamp to the RPM bundles
|
||||
- Resolves: OPENJDK-3070
|
||||
= Resolves: OPENJDK-3589
|
||||
|
||||
* Wed Nov 27 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1.0-8
|
||||
- Add --enable-linker-build-id to gcc build
|
||||
- Resolves: OPENJDK-3068
|
||||
|
||||
* Wed Oct 30 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1.0-7
|
||||
- Improve build logging by also writing to stdout
|
||||
- Cleanup patches and rebase on jdk-21.0.5-ga
|
||||
- Drop JDK-8323671 patch which is upstream as of 21.0.3+3
|
||||
- Resolves: OPENJDK-3071
|
||||
|
||||
* Tue Jun 11 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1.0-6
|
||||
- Fix typo where 'as' binary is accidentally capitalised in AS=<path>/as
|
||||
|
||||
* Wed May 01 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1.0-5
|
||||
- Bootstrap the devkit, building it again with itself
|
||||
|
||||
* Mon Apr 08 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1.0-4
|
||||
- Include Thomas' patches to drop .comment sections and build binutils with deterministic archives
|
||||
- Use backward-compatible patch syntax
|
||||
|
||||
* Tue Feb 06 2024 Andrew Hughes <gnu.andrew@redhat.com> - 1.0-3
|
||||
- Include JDK-8323671 patch so the binaries don't contain the full source path
|
||||
|
||||
* Fri Dec 08 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1.0-2
|
||||
- Try to turn off multlib on x86_64 as we don't have the dependencies for it
|
||||
|
||||
* Tue Dec 05 2023 Andrew Hughes <gnu.andrew@redhat.com> - 1.0-1
|
||||
- Create RHEL 7 based devkit for building OpenJDK
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue