From b0b69c66bf820b6aa6f8572f285d9049c5cdccc5 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Mon, 11 Sep 2023 16:13:18 -0400 Subject: [PATCH] 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. --- java-11-openjdk.spec | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/java-11-openjdk.spec b/java-11-openjdk.spec index 25363fb..7541e48 100644 --- a/java-11-openjdk.spec +++ b/java-11-openjdk.spec @@ -315,7 +315,7 @@ %global top_level_dir_name %{origin} %global top_level_dir_name_backup %{top_level_dir_name}-backup %global buildver 8 -%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 @@ -406,12 +406,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} @@ -1709,26 +1713,26 @@ if [ $prioritylength -ne 8 ] ; then exit 14 fi -tar -xf %{_jvmdir}/%{compatiblename}*%{version}*portable.sources.noarch.tar.xz +tar -xf %{portablejvmdir}/%{compatiblename}*%{version}*portable.sources.noarch.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} @@ -2099,15 +2103,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) @@ -2398,7 +2398,10 @@ end %endif %changelog -* Sat Aug 06 2023 Jiri Vanek - 1:11.0.20.0.8-1 +* Fri Sep 29 2023 Yaakov Selkowitz - 1:11.0.20.0.8-2 +- Fix flatpak build by handling different installation prefixes of package dependencies + +* Sun Aug 06 2023 Jiri Vanek - 1:11.0.20.0.8-1 - updated to july security update 11.0.20.0.2 * Thu Jul 20 2023 Fedora Release Engineering - 1:11.0.19.0.7-1.1