From c9c7c0aecdbb5a34c934789eed67c8ab6305614e Mon Sep 17 00:00:00 2001 From: Andrew Hughes Date: Wed, 21 Sep 2022 01:40:10 +0100 Subject: [PATCH] The stdc++lib, zlib & freetype options should always be set from the global, so they are not altered for staticlibs builds Remove freetype sources along with zlib sources --- java-latest-openjdk.spec | 18 ++++++++++++++---- remove-intree-libraries.sh | 11 +++++++++-- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/java-latest-openjdk.spec b/java-latest-openjdk.spec index ca9061a..236dc2d 100644 --- a/java-latest-openjdk.spec +++ b/java-latest-openjdk.spec @@ -380,7 +380,7 @@ %global top_level_dir_name %{origin} %global top_level_dir_name_backup %{top_level_dir_name}-backup %global buildver 36 -%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 @@ -1986,7 +1986,9 @@ function buildjdk() { exit 17 fi - if [ "x${link_opt}" = "xbundled" ] ; then + # This must be set using the global, so that the + # static libraries still use a dynamic stdc++lib + if [ "x%{link_type}" = "xbundled" ] ; then libc_link_opt="static"; else libc_link_opt="dynamic"; @@ -2003,6 +2005,10 @@ function buildjdk() { mkdir -p ${outputdir} pushd ${outputdir} + # Note: zlib and freetype use %{link_type} + # rather than ${link_opt} as the system versions + # are always used in a system_libs build, even + # for the static library build bash ${top_dir_abs_src_path}/configure \ %ifarch %{zero_arches} --with-jvm-variants=zero \ @@ -2023,8 +2029,8 @@ function buildjdk() { --with-native-debug-symbols="%{debug_symbols}" \ --disable-sysconf-nss \ --enable-unlimited-crypto \ - --with-zlib=${link_opt} \ - --with-freetype=${link_opt} \ + --with-zlib=%{link_type} \ + --with-freetype=%{link_type} \ --with-libjpeg=${link_opt} \ --with-giflib=${link_opt} \ --with-libpng=${link_opt} \ @@ -2681,6 +2687,10 @@ cjc.mainProgram(args) %endif %changelog +* Wed Sep 21 2022 Andrew Hughes - 1:19.0.0.0.36-3.rolling +- The stdc++lib, zlib & freetype options should always be set from the global, so they are not altered for staticlibs builds +- Remove freetype sources along with zlib sources + * Tue Aug 30 2022 Andrew Hughes - 1:19.0.0.0.36-2.rolling - Switch buildjdkver back to being featurever, now java-19-openjdk is available in the buildroot diff --git a/remove-intree-libraries.sh b/remove-intree-libraries.sh index e999c7e..25c2fc8 100644 --- a/remove-intree-libraries.sh +++ b/remove-intree-libraries.sh @@ -5,6 +5,7 @@ TREE=${1} TYPE=${2} ZIP_SRC=src/java.base/share/native/libzip/zlib/ +FREETYPE_SRC=src/java.desktop/share/native/libfreetype/ JPEG_SRC=src/java.desktop/share/native/libjavajpeg/ GIF_SRC=src/java.desktop/share/native/libsplashscreen/giflib/ PNG_SRC=src/java.desktop/share/native/libsplashscreen/libpng/ @@ -31,15 +32,21 @@ cd ${TREE} echo "Removing built-in libs (they will be linked)" -# On full runs, allow for zlib having already been deleted by minimal +# On full runs, allow for zlib & freetype having already been deleted by minimal echo "Removing zlib" if [ "x${TYPE}" = "xminimal" -a ! -d ${ZIP_SRC} ]; then echo "${ZIP_SRC} does not exist. Refusing to proceed." exit 1 fi rm -rvf ${ZIP_SRC} +echo "Removing freetype" +if [ "x${TYPE}" = "xminimal" -a ! -d ${FREETYPE_SRC} ]; then + echo "${FREETYPE_SRC} does not exist. Refusing to proceed." + exit 1 +fi +rm -rvf ${FREETYPE_SRC} -# Minimal is limited to just zlib so finish here +# Minimal is limited to just zlib and freetype so finish here if test "x${TYPE}" = "xminimal"; then echo "Finished."; exit 0;