[packages/openjdk23] Initial

arekm arekm at pld-linux.org
Tue Mar 10 08:15:51 CET 2026


commit 6d3f1235a6c2662bb08c50da3c276c438d85bc76
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Tue Mar 10 08:15:36 2026 +0100

    Initial

 make-cacerts.sh           |  98 +++++++
 no_optflags.patch         |  36 +++
 no_optflags_vardeps.patch |  11 +
 openjdk23.spec            | 649 ++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 794 insertions(+)
---
diff --git a/openjdk23.spec b/openjdk23.spec
new file mode 100644
index 0000000..21497f3
--- /dev/null
+++ b/openjdk23.spec
@@ -0,0 +1,649 @@
+%bcond_with	bootstrap	# build a bootstrap version, using icedtea6
+%bcond_without	cacerts		# don't include the default CA certificates
+
+%if %{with bootstrap}
+%define		use_jdk	openjdk22
+%else
+%define		use_jdk	openjdk23
+%endif
+
+%ifarch %{ix86} %{x8664} aarch64
+%define		with_shenandoahgc	1
+%endif
+
+%ifarch %{x8664}
+%define		with_svml	1
+%endif
+
+# class data version seen with file(1) that this jvm is able to load
+%define		_classdataversion 67.0
+
+Summary:	Open-source implementation of the Java Platform, Standard Edition
+Summary(pl.UTF-8):	Wolnoźródłowa implementacja Java 23 SE
+Name:		openjdk23
+Version:	23.0.2
+Release:	1
+License:	GPL v2
+Group:		Development/Languages/Java
+Source0:	https://github.com/openjdk/jdk23u/archive/jdk-%{version}-ga/%{name}-%{version}.tar.gz
+# Source0-md5:	31ff1e9a086626610591efdff44cb7b3
+Source10:	make-cacerts.sh
+Patch0:		no_optflags.patch
+Patch1:		no_optflags_vardeps.patch
+URL:		http://openjdk.java.net/
+BuildRequires:	/usr/bin/jar
+BuildRequires:	alsa-lib-devel
+BuildRequires:	ant
+BuildRequires:	autoconf
+BuildRequires:	bash
+%{?with_cacerts:BuildRequires:	ca-certificates-update}
+BuildRequires:	cups-devel
+BuildRequires:	elfutils-devel
+BuildRequires:	fontconfig-devel
+BuildRequires:	freetype-devel >= 1:2.10.2
+BuildRequires:	gawk
+BuildRequires:	giflib-devel >= 5.2.1
+BuildRequires:	glibc-misc
+BuildRequires:	harfbuzz-devel >= 2.3.1
+%{?buildrequires_jdk}
+BuildRequires:	lcms2-devel >= 2.11
+BuildRequires:	libjpeg-devel
+BuildRequires:	libpng-devel >= 2:1.6.37
+BuildRequires:	lsb-release
+BuildRequires:	pcsc-lite-devel
+BuildRequires:	pkgconfig
+BuildRequires:	rpm-build >= 4.6
+BuildRequires:	rpmbuild(macros) >= 1.752
+BuildRequires:	unzip
+BuildRequires:	util-linux
+BuildRequires:	xorg-lib-libX11-devel
+BuildRequires:	xorg-lib-libXext-devel
+BuildRequires:	xorg-lib-libXinerama-devel
+BuildRequires:	xorg-lib-libXp-devel
+BuildRequires:	xorg-lib-libXrandr-devel
+BuildRequires:	xorg-lib-libXrender-devel
+BuildRequires:	xorg-lib-libXt-devel
+BuildRequires:	xorg-lib-libXtst-devel
+BuildRequires:	xorg-proto-printproto-devel
+BuildRequires:	xorg-proto-xproto-devel
+BuildRequires:	zip
+BuildRequires:	zlib-devel
+Requires:	%{name}-jdk = %{version}-%{release}
+Suggests:	icedtea-web
+Obsoletes:	icedtea6
+Obsoletes:	icedtea7
+Obsoletes:	icedtea8
+Obsoletes:	java-gcj-compat
+Obsoletes:	java-gcj-compat-devel
+Obsoletes:	java-sun
+Obsoletes:	java-sun-demos
+Obsoletes:	java-sun-jre
+Obsoletes:	java-sun-jre-X11
+Obsoletes:	java-sun-jre-alsa
+Obsoletes:	java-sun-jre-jdbc
+Obsoletes:	java-sun-tools
+Obsoletes:	java5-sun
+Obsoletes:	java5-sun-jre
+Obsoletes:	java5-sun-jre-X11
+Obsoletes:	java5-sun-jre-jdbc
+Obsoletes:	java5-sun-tools
+Obsoletes:	oracle-java7
+Obsoletes:	oracle-java7-jre
+Obsoletes:	oracle-java7-jre-X11
+Obsoletes:	oracle-java7-jre-alsa
+Obsoletes:	oracle-java7-jre-jdbc
+Obsoletes:	oracle-java7-tools
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%define		dstreldir	%{name}-%{version}
+%define		dstdir		%{_jvmdir}/%{dstreldir}
+%define		jvmjardir	%{_jvmjardir}/%{name}-%{version}
+
+%if %{with zero}
+%define		jvm_type	zero
+%else
+%define		jvm_type	server
+%endif
+
+# to break artificial subpackage dependency loops
+%define		_noautoreq	libjli.so 'libmawt.so' java\\\\(ClassDataVersion\\\\)
+
+# openjdk build system handles _FORTIFY_SOURCE internally
+%undefine	_fortify_cflags
+
+%description
+Open-source implementation of the Java Platform, Standard Edition.
+
+This is a meta-package which provides, by its dependencies, all the
+OpenJDK components including the OpenJDK, Java 23 developement kit and
+runtime environment.
+
+%description -l pl.UTF-8
+Wolnoźródłowa implementacja Java 23 SE.
+
+To jest meta-pakiet, który, za pośrednictwem zależności, dostarcza
+wszystkie komponenty OpenJDK, w tym środowisko programistyczne
+(OpenJDK) i uruchomieniowe (JRE).
+
+%package jdk
+Summary:	OpenJDK - software development kit
+Summary(pl.UTF-8):	OpenJDK - środowisko programistyczne
+Group:		Development/Languages/Java
+Requires:	%{name}-jar = %{version}-%{release}
+Requires:	%{name}-jdk-base = %{version}-%{release}
+Requires:	%{name}-jre = %{version}-%{release}
+Provides:	j2sdk = %{version}
+Provides:	jdk = %{version}
+Obsoletes:	blackdown-java-sdk
+Obsoletes:	ibm-java
+Obsoletes:	icedtea6-jdk
+Obsoletes:	icedtea7-jdk
+Obsoletes:	icedtea8-jdk
+Obsoletes:	java-blackdown
+Obsoletes:	java-gcj-compat-devel
+Obsoletes:	java-sun
+Obsoletes:	java5-sun
+Obsoletes:	jdk
+Obsoletes:	kaffe
+Obsoletes:	oracle-java7
+
+%description jdk
+This package symlinks OpenJDK development tools provided by
+%{name}-jdk-base to system-wide directories like %{_bindir}, making
+OpenJDK the default JDK.
+
+%description jdk -l pl.UTF-8
+Ten pakiet tworzy symboliczne dowiązania do narzędzi programistycznych
+OpenJDK, dostarczanych przez pakiet %{name}-jdk-base, w standardowych
+systemowych ścieżkach takich jak %{_bindir}, sprawiając tym samym, że
+OpenJDK staje się domyślnym JDK w systemie.
+
+%package jdk-base
+Summary:	OpenJDK - software development kit
+Summary(pl.UTF-8):	Kod OpenJDK - środowisko programistyczne
+Group:		Development/Languages/Java
+Requires:	%{name}-jre-base = %{version}-%{release}
+Requires:	jpackage-utils >= 0:1.7.5-8
+Requires:	lcms2 >= 2.11
+Provides:	jdk(%{name})
+
+%description jdk-base
+OpenJDK development tools built using free software only.
+
+%description jdk-base -l pl.UTF-8
+OpenJDK skompilowane wyłącznie przy użyciu wolnego oprogramowania.
+
+%package jre
+Summary:	OpenJDK - runtime environment
+Summary(pl.UTF-8):	OpenJDK - środowisko uruchomieniowe
+Group:		Development/Languages/Java
+Requires:	%{name}-jre-base = %{version}-%{release}
+Requires:	nss >= 1:3.13.4
+# Require zoneinfo data provided by java-tzdata subpackage.
+Requires:	java-tzdata
+Provides:	java
+Provides:	java(ClassDataVersion) = %{_classdataversion}
+Provides:	java(jaas) = %{version}
+Provides:	java(jaf) = 1.1.1
+Provides:	java(jaxp) = 1.3
+Provides:	java(jaxp_parser_impl)
+Provides:	java(jce) = %{version}
+Provides:	java(jdbc-stdext) = %{version}
+Provides:	java(jdbc-stdext) = 3.0
+Provides:	java(jmx) = 1.4
+Provides:	java(jndi) = %{version}
+Provides:	java(jsse) = %{version}
+Provides:	java1.4
+Provides:	jre = %{version}
+Obsoletes:	icedtea6-jre
+Obsoletes:	icedtea7-jre
+Obsoletes:	icedtea8-jre
+Obsoletes:	jaas
+Obsoletes:	jaf
+Obsoletes:	java-gcj-compat
+Obsoletes:	java-jaxp
+Obsoletes:	java-jdbc-stdext
+Obsoletes:	java-sun-jre
+Obsoletes:	java5-sun-jre
+Obsoletes:	jce
+Obsoletes:	jdbc-stdext
+Obsoletes:	jmx
+Obsoletes:	jndi
+Obsoletes:	jre
+Obsoletes:	jsse
+Obsoletes:	oracle-java7-jre
+
+%description jre
+This package symlinks OpenJDK runtime environment tools provided by
+%{name}-jre-base to system-wide directories like %{_bindir}, making
+OpenJDK the default JRE.
+
+%description jre -l pl.UTF-8
+Ten pakiet tworzy symboliczne dowiązania do środowiska
+uruchomieniowego OpenJDK, dostarczanych przez pakiet %{name}-jre-base,
+w standardowych systemowych ścieżkach takich jak %{_bindir},
+sprawiając tym samym, że OpenJDK staje się domyślnym JRE w systemie.
+
+%package jre-base
+Summary:	OpenJDK - runtime environment
+Summary(pl.UTF-8):	OpenJDK - środowisko uruchomieniowe
+Group:		Development/Languages/Java
+Requires:	jpackage-utils >= 0:1.7.5-8
+Provides:	jre(%{name})
+
+%description jre-base
+OpenJDK runtime environment built using free software only.
+
+%description jre-base -l pl.UTF-8
+Środowisko uruchomieniowe OpenJDK zbudowany wyłącznie przy użyciu
+wolnego oprogramowania.
+
+%package jre-base-X11
+Summary:	OpenJDK - runtime environment - X11 support
+Summary(pl.UTF-8):	OpenJDK - środowisko uruchomieniowe - obsługa X11
+Group:		Development/Languages/Java
+Requires:	%{name}-jre-base = %{version}-%{release}
+Requires:	%{name}-jre-base-freetype = %{version}-%{release}
+Requires:	giflib >= 5.2.1
+Requires:	libpng >= 2:1.6.37
+Provides:	jre-X11 = %{version}
+Provides:	jre-base-X11 = %{version}
+
+%description jre-base-X11
+X11 support for OpenJDK runtime environment built using free software
+only.
+
+%description jre-base-X11 -l pl.UTF-8
+Biblioteki X11 dla środowiska OpenJDK zbudowany wyłocznie przy uzyciu
+wolnego oprogramowania.
+
+%package jre-base-freetype
+Summary:	OpenJDK - runtime environment - font support
+Summary(pl.UTF-8):	OpenJDK - środowisko uruchomieniowe - obsługa fontów
+Group:		Development/Languages/Java
+Requires:	%{name}-jre-base = %{version}-%{release}
+Requires:	freetype >= 1:2.10.2
+Requires:	harfbuzz >= 2.3.1
+
+%description jre-base-freetype
+Font handling library for OpenJDK runtime environment built using free
+software only.
+
+%description jre-base-freetype -l pl.UTF-8
+Biblioteki obsługi czcionek dla OpenJDK zbudowane wyłącznie przy
+użyciu wolnego oprogramowania.
+
+%package jmods
+Summary:	OpenJDK - JMods
+Summary(pl.UTF-8):	OpenJDK - JMods
+Group:		Development/Languages/Java
+Requires:	%{name}-jdk-base = %{version}-%{release}
+
+%description jmods
+JMods for OpenJDK.
+
+%description jmods -l pl.UTF-8
+JMods dla OpenJDK.
+
+%package jar
+Summary:	OpenJDK - JAR tool
+Summary(pl.UTF-8):	OpenJDK - narzędzie JAR
+Group:		Development/Languages/Java
+Requires:	%{name}-jdk-base = %{version}-%{release}
+Provides:	jar
+Obsoletes:	fastjar
+Obsoletes:	icedtea6-jar
+Obsoletes:	icedtea7-jar
+Obsoletes:	icedtea8-jar
+Obsoletes:	jar
+
+%description jar
+JAR tool from OpenJDK built using free software only.
+
+JAR is an archiver used to merge Java classes into a single library.
+
+%description jar -l pl.UTF-8
+Narzędzie jar z OpenJDK zbudowane przy uzyciu wyłącznie wolnego
+oprogramowania.
+
+JAR jest narzędziem pozwalającym wykonywać podstawowe operacje na
+archiwach javy .jar takie jak na przykład tworzenie lub rozpakowywanie
+archiwów.
+
+%package jdk-sources
+Summary:	OpenJDK - sources
+Summary(pl.UTF-8):	OpenJDK - kod źródłowy
+Group:		Documentation
+BuildArch:	noarch
+
+%description jdk-sources
+Source code for the OpenJDK development kit and Java standard library.
+
+%description jdk-sources -l pl.UTF-8
+Kod źródłowy narzędzi programistycznych OpenJDK oraz standardowej
+biblioteki Javy.
+
+%package examples
+Summary:	OpenJDK - examples
+Summary(pl.UTF-8):	OpenJDK - przykłady
+Group:		Documentation
+BuildArch:	noarch
+
+%description examples
+Code examples for OpenJDK.
+
+%description examples -l pl.UTF-8
+Przykłady dla OpenJDK.
+
+%prep
+%setup -qn jdk23u-jdk-%{version}-ga
+
+%patch -P0 -p1
+
+# Rename uabs to g_uabs to avoid conflict with glibc uabs (GCC 15+)
+find src/hotspot -name "*.hpp" -o -name "*.cpp" | xargs %{__sed} -i 's/\buabs\b/g_uabs/g'
+%patch -P1 -p1
+
+%build
+# Make sure we have /proc mounted - otherwise idlc will fail later.
+if [ ! -f /proc/self/stat ]; then
+	echo "You need to have /proc mounted in order to build this package!"
+	exit 1
+fi
+
+cd make/autoconf
+%{__autoconf} -o generated-configure.sh
+cd ../..
+
+mkdir -p build-bin
+
+# unset CLASSPATH to be safe, gnustep puts garbage there, which openjdk hates
+unset CLASSPATH
+
+export SHELL=/bin/bash
+
+chmod a+x configure
+
+# disable-debug-symbols so openjdk debuginfo handling won't conflict with ours
+%configure \
+	--with-jvm-variants=%{jvm_type} \
+	--with-boot-jdk="%{java_home}" \
+	--with-extra-cflags="%{rpmcppflags} %{rpmcflags}" \
+	--with-extra-cxxflags="%{rpmcppflags} %{rpmcxxflags}" \
+	--with-extra-ldflags="%{rpmldflags}" \
+	--with-jni-libpath="%{_libdir}/java %{_libdir} /%{_lib}" \
+	--with-jvm-features="%{?with_shenandoahgc:shenandoahgc}" \
+	--with-native-debug-symbols=none \
+	--disable-full-docs \
+	--disable-javac-server \
+	--disable-warnings-as-errors \
+	--with-jobs="%{__jobs}" \
+	--with-freetype=system \
+	--with-giflib=system \
+	--with-harfbuzz=system \
+	--with-libjpeg=system \
+	--with-libpng=system \
+	--with-lcms=system \
+	--with-zlib=system \
+	--with-version-pre="" \
+	--with-version-opt="" \
+	--with-version-build="%{release}" \
+	--with-vendor-name="PLD-Linux" \
+	--with-vendor-url="https://www.pld-linux.org" \
+	--with-vendor-bug-url="https://bugs.pld-linux.org" \
+	--with-vendor-vm-bug-url="https://bugs.openjdk.java.net" \
+	--with-vendor-version-string="%{version}"
+
+specdir="$(dirname build/*-release/spec.gmk)"
+cat > $specdir/custom-spec.gmk <<EOF
+# OpenJDK build system depends on bash
+SHELL=/bin/bash
+EOF
+[ -L tmp-bin ] || ln -s "$specdir/jdk/bin" tmp-bin
+
+%{__make} -j1 images \
+	LOG=debug
+
+# smoke test
+tmp-bin/java -version
+
+export PATH="$(pwd)/build-bin:$PATH"
+%{?with_cacerts:%{__sh} %{SOURCE10}}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_bindir},%{dstdir},%{_mandir}/ja} \
+	$RPM_BUILD_ROOT{%{jvmjardir},%{_examplesdir}/%{name}-%{version},%{_javasrcdir}} \
+	$RPM_BUILD_ROOT%{_sysconfdir}/%{name}
+
+# install the 'JDK image', it contains the JRE too
+cp -a build/*-release/images/jdk/* $RPM_BUILD_ROOT%{dstdir}
+
+find $RPM_BUILD_ROOT%{dstdir} -name '*.diz' -delete
+
+# convenience symlinks without version number
+ln -s %{dstreldir} $RPM_BUILD_ROOT%{_jvmdir}/%{name}
+ln -s %{dstreldir} $RPM_BUILD_ROOT%{_jvmdir}/%{name}-jre
+
+ln -s %{dstreldir} $RPM_BUILD_ROOT%{_jvmdir}/java
+
+# move JDK sources and demo to %{_prefix}/src
+mv $RPM_BUILD_ROOT%{dstdir}/demo $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
+mv $RPM_BUILD_ROOT%{dstdir}/lib/src.zip $RPM_BUILD_ROOT%{_javasrcdir}/%{name}-jdk.zip
+
+# move manual pages to its place
+mv $RPM_BUILD_ROOT%{dstdir}/man/man1 $RPM_BUILD_ROOT%{_mandir}/man1
+rmdir $RPM_BUILD_ROOT%{dstdir}/man
+
+# replace duplicates with symlinks, link to %{_bindir}
+for path in $RPM_BUILD_ROOT%{dstdir}/bin/*; do
+	filename=$(basename $path)
+	ln -sf "%{dstdir}/bin/$filename" $RPM_BUILD_ROOT%{_bindir}
+done
+
+# keep configuration in %{_sysconfdir} (not all *.properties go there)
+for config in management security \
+		logging.properties net.properties sound.properties; do
+
+	mv $RPM_BUILD_ROOT%{dstdir}/conf/$config $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/$config
+	ln -s %{_sysconfdir}/%{name}/$config $RPM_BUILD_ROOT%{dstdir}/conf/$config
+done
+
+%{?with_cacerts:install cacerts $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/security}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(644,root,root,755)
+
+%files jdk
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/jarsigner
+%attr(755,root,root) %{_bindir}/javac
+%attr(755,root,root) %{_bindir}/javadoc
+%attr(755,root,root) %{_bindir}/javap
+%attr(755,root,root) %{_bindir}/jcmd
+%attr(755,root,root) %{_bindir}/jconsole
+%attr(755,root,root) %{_bindir}/jdb
+%attr(755,root,root) %{_bindir}/jdeprscan
+%attr(755,root,root) %{_bindir}/jdeps
+%{!?with_zero:%attr(755,root,root) %{_bindir}/jhsdb}
+%attr(755,root,root) %{_bindir}/jimage
+%attr(755,root,root) %{_bindir}/jinfo
+%attr(755,root,root) %{_bindir}/jlink
+%attr(755,root,root) %{_bindir}/jmap
+%attr(755,root,root) %{_bindir}/jmod
+%attr(755,root,root) %{_bindir}/jpackage
+%attr(755,root,root) %{_bindir}/jps
+%attr(755,root,root) %{_bindir}/jshell
+%attr(755,root,root) %{_bindir}/jstack
+%attr(755,root,root) %{_bindir}/jstat
+%attr(755,root,root) %{_bindir}/jstatd
+%attr(755,root,root) %{_bindir}/jwebserver
+%attr(755,root,root) %{_bindir}/serialver
+%{_jvmdir}/java
+%{_mandir}/man1/jarsigner.1*
+%{_mandir}/man1/javac.1*
+%{_mandir}/man1/javadoc.1*
+%{_mandir}/man1/javap.1*
+%{_mandir}/man1/jcmd.1*
+%{_mandir}/man1/jconsole.1*
+%{_mandir}/man1/jdb.1*
+%{_mandir}/man1/jdeprscan.1*
+%{_mandir}/man1/jdeps.1*
+%{!?with_zero:%{_mandir}/man1/jhsdb.1*}
+%{_mandir}/man1/jinfo.1*
+%{_mandir}/man1/jlink.1*
+%{_mandir}/man1/jmap.1*
+%{_mandir}/man1/jmod.1*
+%{_mandir}/man1/jpackage.1*
+%{_mandir}/man1/jps.1*
+%{_mandir}/man1/jshell.1*
+%{_mandir}/man1/jstack.1*
+%{_mandir}/man1/jstat.1*
+%{_mandir}/man1/jstatd.1*
+%{_mandir}/man1/jwebserver.1*
+%{_mandir}/man1/serialver.1*
+
+%files jdk-base
+%defattr(644,root,root,755)
+%dir %{dstdir}
+%{_jvmdir}/%{name}
+%attr(755,root,root) %{dstdir}/bin/jar
+%attr(755,root,root) %{dstdir}/bin/jarsigner
+%attr(755,root,root) %{dstdir}/bin/javac
+%attr(755,root,root) %{dstdir}/bin/javadoc
+%attr(755,root,root) %{dstdir}/bin/javap
+%attr(755,root,root) %{dstdir}/bin/jconsole
+%attr(755,root,root) %{dstdir}/bin/jcmd
+%attr(755,root,root) %{dstdir}/bin/jdb
+%attr(755,root,root) %{dstdir}/bin/jdeprscan
+%attr(755,root,root) %{dstdir}/bin/jdeps
+%{!?with_zero:%attr(755,root,root) %{dstdir}/bin/jhsdb}
+%attr(755,root,root) %{dstdir}/bin/jimage
+%attr(755,root,root) %{dstdir}/bin/jinfo
+%attr(755,root,root) %{dstdir}/bin/jlink
+%attr(755,root,root) %{dstdir}/bin/jmap
+%attr(755,root,root) %{dstdir}/bin/jmod
+%attr(755,root,root) %{dstdir}/bin/jpackage
+%attr(755,root,root) %{dstdir}/bin/jps
+%attr(755,root,root) %{dstdir}/bin/jshell
+%attr(755,root,root) %{dstdir}/bin/jstack
+%attr(755,root,root) %{dstdir}/bin/jstat
+%attr(755,root,root) %{dstdir}/bin/jstatd
+%attr(755,root,root) %{dstdir}/bin/jwebserver
+%attr(755,root,root) %{dstdir}/bin/serialver
+%{dstdir}/include
+%{dstdir}/lib/ct.sym
+
+%files jre
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/java
+%attr(755,root,root) %{_bindir}/jfr
+%attr(755,root,root) %{_bindir}/jrunscript
+%attr(755,root,root) %{_bindir}/keytool
+%attr(755,root,root) %{_bindir}/rmiregistry
+%{_mandir}/man1/java.1*
+%{_mandir}/man1/jfr.1*
+%{_mandir}/man1/jrunscript.1*
+%{_mandir}/man1/keytool.1*
+%{_mandir}/man1/rmiregistry.1*
+
+%files jre-base
+%defattr(644,root,root,755)
+%dir %{_sysconfdir}/%{name}
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*
+%dir %{dstdir}
+%{dstdir}/release
+%{_jvmdir}/%{name}-jre
+%dir %{dstdir}/bin
+%attr(755,root,root) %{dstdir}/bin/java
+%attr(755,root,root) %{dstdir}/bin/jfr
+%attr(755,root,root) %{dstdir}/bin/jrunscript
+%attr(755,root,root) %{dstdir}/bin/keytool
+%attr(755,root,root) %{dstdir}/bin/rmiregistry
+%{dstdir}/conf
+%{dstdir}/legal
+%dir %{dstdir}/lib
+%dir %{dstdir}/lib/jfr
+%{dstdir}/lib/jfr/*.jfc
+%{dstdir}/lib/security
+%dir %{dstdir}/lib/%{jvm_type}
+%attr(755,root,root) %{dstdir}/lib/%{jvm_type}/*.so
+%if 1
+%{dstdir}/lib/%{jvm_type}/classes.jsa
+%ifarch aarch64 %{x8664}
+%{dstdir}/lib/%{jvm_type}/classes_nocoops.jsa
+%endif
+%{dstdir}/lib/classlist
+%endif
+%{dstdir}/lib/jrt-fs.jar
+%{dstdir}/lib/jvm.cfg
+%attr(755,root,root) %{dstdir}/lib/libattach.so
+%attr(755,root,root) %{dstdir}/lib/libawt.so
+%attr(755,root,root) %{dstdir}/lib/libawt_headless.so
+%attr(755,root,root) %{dstdir}/lib/libdt_socket.so
+%attr(755,root,root) %{dstdir}/lib/libextnet.so
+%attr(755,root,root) %{dstdir}/lib/libinstrument.so
+%attr(755,root,root) %{dstdir}/lib/libj2gss.so
+%attr(755,root,root) %{dstdir}/lib/libj2pcsc.so
+%attr(755,root,root) %{dstdir}/lib/libj2pkcs11.so
+%attr(755,root,root) %{dstdir}/lib/libjaas.so
+%attr(755,root,root) %{dstdir}/lib/libjava.so
+%attr(755,root,root) %{dstdir}/lib/libjimage.so
+%attr(755,root,root) %{dstdir}/lib/libjli.so
+%{?with_svml:%attr(755,root,root) %{dstdir}/lib/libjsvml.so}
+%attr(755,root,root) %{dstdir}/lib/liblcms.so
+%attr(755,root,root) %{dstdir}/lib/libmanagement_agent.so
+%attr(755,root,root) %{dstdir}/lib/libmanagement_ext.so
+%attr(755,root,root) %{dstdir}/lib/libprefs.so
+%attr(755,root,root) %{dstdir}/lib/librmi.so
+%attr(755,root,root) %{dstdir}/lib/libsctp.so
+%attr(755,root,root) %{dstdir}/lib/libsimdsort.so
+%attr(755,root,root) %{dstdir}/lib/libsyslookup.so
+%attr(755,root,root) %{dstdir}/lib/libjavajpeg.so
+%attr(755,root,root) %{dstdir}/lib/libjdwp.so
+%attr(755,root,root) %{dstdir}/lib/libjsig.so
+%attr(755,root,root) %{dstdir}/lib/libjsound.so
+%attr(755,root,root) %{dstdir}/lib/libmanagement.so
+%attr(755,root,root) %{dstdir}/lib/libmlib_image.so
+%attr(755,root,root) %{dstdir}/lib/libnet.so
+%attr(755,root,root) %{dstdir}/lib/libnio.so
+%{!?with_zero:%attr(755,root,root) %{dstdir}/lib/libsaproc.so}
+%attr(755,root,root) %{dstdir}/lib/libverify.so
+%attr(755,root,root) %{dstdir}/lib/libzip.so
+%attr(755,root,root) %{dstdir}/lib/jexec
+%attr(755,root,root) %{dstdir}/lib/jspawnhelper
+%{dstdir}/lib/modules
+%{dstdir}/lib/psfont.properties.ja
+%{dstdir}/lib/psfontj2d.properties
+%{dstdir}/lib/tzdb.dat
+%{jvmjardir}
+
+%files jre-base-X11
+%defattr(644,root,root,755)
+%attr(755,root,root) %{dstdir}/lib/libsplashscreen.so
+%attr(755,root,root) %{dstdir}/lib/libawt_xawt.so
+%attr(755,root,root) %{dstdir}/lib/libjawt.so
+
+%files jre-base-freetype
+%defattr(644,root,root,755)
+%attr(755,root,root) %{dstdir}/lib/libfontmanager.so
+
+%files jmods
+%defattr(644,root,root,755)
+%{dstdir}/jmods
+
+%files jar
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/jar
+%{_mandir}/man1/jar.1*
+
+%files jdk-sources
+%defattr(644,root,root,755)
+%{_javasrcdir}/%{name}-jdk.zip
+
+%files examples
+%defattr(644,root,root,755)
+%{_examplesdir}/%{name}-%{version}
diff --git a/make-cacerts.sh b/make-cacerts.sh
new file mode 100755
index 0000000..b99cf2b
--- /dev/null
+++ b/make-cacerts.sh
@@ -0,0 +1,98 @@
+#!/bin/sh -e
+#
+# make-cacerts.sh
+#
+# based on:
+#
+# update-ca-certificates
+#
+# Copyright (c) 2003 Fumitoshi UKAI <ukai at debian.or.jp>
+# Copyright (c) 2009 Philipp Kern <pkern at debian.org>
+# 
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1301,
+# USA.
+#
+
+verbose=0
+DESTDIR=
+while [ $# -gt 0 ];
+do
+  case $1 in
+  --verbose|-v)
+  	verbose=1;;
+  --destdir)
+	DESTDIR=$2; shift;;
+  --help|-h|*)
+	echo "$0: [--verbose]"
+	exit;;
+  esac
+  shift
+done
+
+CERTSCONF=$DESTDIR/etc/ca-certificates.conf
+CERTSCONFD=$DESTDIR/etc/ca-certificates.d
+CERTSDIR=$DESTDIR/usr/share/ca-certificates
+LOCALCERTSDIR=$DESTDIR/etc/certs
+CERTBUNDLE=$DESTDIR/etc/certs/ca-certificates.crt
+ETCCERTSDIR=$DESTDIR/etc/openssl/certs
+
+KEYSTORE=$PWD/cacerts
+KEYTOOL=$PWD/tmp-bin/keytool
+
+export LC_ALL=C.utf-8
+
+# Adds a certificate to the list of trusted ones.
+# Adds the certificate to the cacerts file
+add() {
+  CERT="$1"
+  NAME="$2"
+  ALIAS="$(echo "$NAME" | sed -e 's/.\(crt|pem\)$//' -e 's/ /_/g' \
+                                                -e 's/[()]/=/g' -e 's/,/_/g')"
+
+  if [ "$verbose" = 1 ] ; then
+    echo "  adding '$CERT' as '$ALIAS'"
+  fi
+  if ! $KEYTOOL -noprompt -import -alias "$ALIAS" \
+                -keystore $KEYSTORE -storepass 'changeit' \
+                -file "$CERT" ; then
+        echo "W: $NAME certification could not be added"
+  fi 
+}
+
+cd $ETCCERTSDIR
+
+for conf in $CERTSCONF $CERTSCONFD/*.conf; do
+  # skip inexistent files (matched by glob)
+  [ -f $conf ] || continue
+
+  sed -e '/^$/d' -e '/^#/d' -e '/^!/d' $conf | while read crt
+  do
+    if test -f "$CERTSDIR/$crt"
+    then
+      add "$CERTSDIR/$crt" "$crt"
+    elif test -f "$LOCALCERTSDIR/$crt"
+    then
+      add "$LOCALCERTSDIR/$crt" "$crt"
+    else
+      echo "W: $CERTSDIR/$crt or $LOCALCERTSDIR/$crt not found, but listed in $conf." >&2
+      continue
+    fi
+  done
+done
+
+echo "done."
+
+# vim:set et sw=2:
+
diff --git a/no_optflags.patch b/no_optflags.patch
new file mode 100644
index 0000000..55ec6ae
--- /dev/null
+++ b/no_optflags.patch
@@ -0,0 +1,36 @@
+--- a/make/common/native/CompileFile.gmk	2026-03-10 01:00:15.069037731 +0100
++++ b/make/common/native/CompileFile.gmk	2026-03-10 01:00:15.069101600 +0100
+@@ -126,13 +126,13 @@
+       # Compile as a C file
+       $1_CFLAGS += $$($1_WARNINGS_FLAGS)
+       $1_FLAGS := $(CFLAGS_CCACHE) $$($1_USE_PCH_FLAGS) $$($1_BASE_CFLAGS) \
+-          $$($1_OPT_CFLAGS) $$($1_CFLAGS) -c
++          $$($1_CFLAGS) -c
+       $1_COMPILER := $$($$($1_BASE)_CC)
+     else ifneq ($$(filter %.m, $$($1_FILENAME)), )
+       # Compile as an Objective-C file
+       $1_CFLAGS += $$($1_WARNINGS_FLAGS)
+       $1_FLAGS := -x objective-c $(CFLAGS_CCACHE) $$($1_USE_PCH_FLAGS) \
+-          $$($1_BASE_CFLAGS) $$($1_OPT_CFLAGS) $$($1_CFLAGS) -c
++          $$($1_BASE_CFLAGS) $$($1_CFLAGS) -c
+       $1_COMPILER := $$($$($1_BASE)_CC)
+     else ifneq ($$(filter %.S, $$($1_FILENAME)), )
+       # Compile as preprocessed assembler file
+@@ -156,7 +156,7 @@
+       # Compile as a C++ or Objective-C++ file
+       $1_CXXFLAGS += $$($1_WARNINGS_FLAGS)
+       $1_FLAGS := $(CFLAGS_CCACHE) $$($1_USE_PCH_FLAGS) $$($1_BASE_CXXFLAGS) \
+-          $$($1_OPT_CXXFLAGS) $$($1_CXXFLAGS) -c
++          $$($1_CXXFLAGS) -c
+       $1_COMPILER := $$($$($1_BASE)_CXX)
+     else
+       $$(error Internal error in NativeCompilation.gmk: no compiler for file $$($1_FILENAME))
+@@ -283,7 +283,7 @@
+         -include $$($1_PCH_DEPS_TARGETS_FILE)
+ 
+         $1_PCH_COMMAND := $$($1_CC) $$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $$($1_SYSROOT_CFLAGS) \
+-            $$($1_OPT_CFLAGS) -x c++-header -c $(GENDEPS_FLAGS) \
++            -x c++-header -c $(GENDEPS_FLAGS) \
+             $$(addsuffix .tmp, $$($1_PCH_DEPS_FILE))
+ 
+         $$($1_PCH_FILE): $$($1_PRECOMPILED_HEADER) $$($1_COMPILE_VARDEPS_FILE)
diff --git a/no_optflags_vardeps.patch b/no_optflags_vardeps.patch
new file mode 100644
index 0000000..419e9c3
--- /dev/null
+++ b/no_optflags_vardeps.patch
@@ -0,0 +1,11 @@
+--- a/make/common/NativeCompilation.gmk	2026-03-10 01:00:15.069199371 +0100
++++ b/make/common/NativeCompilation.gmk	2026-03-10 01:00:15.069278185 +0100
+@@ -339,7 +339,7 @@
+   # lines for all object files in this setup. This includes at least all the
+   # variables used in the call to add_native_source below.
+   $1_COMPILE_VARDEPS := $$($1_CFLAGS) $$($1_EXTRA_CFLAGS) $$($1_SYSROOT_CFLAGS) \
+-      $$($1_CXXFLAGS) $$($1_EXTRA_CXXFLAGS) $$($1_OPT_CFLAGS) $$($1_OPT_CXXFLAGS) \
++      $$($1_CXXFLAGS) $$($1_EXTRA_CXXFLAGS) \
+       $$($1_CC) $$($1_CXX) $$($1_AS) $$($1_ASFLAGS)
+   $1_COMPILE_VARDEPS_FILE := $$(call DependOnVariable, $1_COMPILE_VARDEPS, \
+       $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).comp.vardeps)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/openjdk23.git/commitdiff/6d3f1235a6c2662bb08c50da3c276c438d85bc76



More information about the pld-cvs-commit mailing list