introduced archfull src archive

- replaced nasty handling of icons.
- needed for icons and src reference for rpms (debuginfo, src subpkg)
- licences moved to proper sharable noarch
This commit is contained in:
Jiri Vanek 2023-04-18 16:18:47 +02:00
parent b3136f5e89
commit 6f693dc993
1 changed files with 45 additions and 17 deletions

View File

@ -391,7 +391,7 @@
%global top_level_dir_name %{origin}
%global top_level_dir_name_backup %{top_level_dir_name}-backup
%global buildver 10
%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
@ -453,17 +453,21 @@
%if (0%{?rhel} > 0 && 0%{?rhel} < 8)
%define jreportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;el7\\(_[0-9]\\)*;portable%{1}.jre.;g" | sed "s;openjdkportable;el;g")
%define jdkportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;el7\\(_[0-9]\\)*;portable%{1}.jdk.;g" | sed "s;openjdkportable;el;g")
%define jdkportablesourcesnameimpl() %(echo %{uniquesuffix ""} | sed "s;el7\\(_[0-9]\\)*;portable%{1}.sources.;g" | sed "s;openjdkportable;el;g" | sed "s;.%{_arch};.noarch;g")
%define staticlibsportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;el7\\(_[0-9]\\)*;portable%{1}.static-libs.;g" | sed "s;openjdkportable;el;g")
%else
%define jreportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;fc\\([0-9]\\)*;\\0.portable%{1}.jre;g" | sed "s;openjdkportable;el;g")
%define jdkportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;fc\\([0-9]\\)*;\\0.portable%{1}.jdk;g" | sed "s;openjdkportable;el;g")
%define jdkportablesourcesnameimpl() %(echo %{uniquesuffix ""} | sed "s;fc\\([0-9]\\)*;\\0.portable%{1}.sources;g" | sed "s;openjdkportable;el;g" | sed "s;.%{_arch};.noarch;g")
%define staticlibsportablenameimpl() %(echo %{uniquesuffix ""} | sed "s;fc\\([0-9]\\)*;\\0.portable%{1}.static-libs;g" | sed "s;openjdkportable;el;g")
%endif
%define jreportablearchive() %{expand:%{jreportablenameimpl -- %%{1}}.tar.xz}
%define jdkportablearchive() %{expand:%{jdkportablenameimpl -- %%{1}}.tar.xz}
%define jdkportablesourcesarchive() %{expand:%{jdkportablesourcesnameimpl -- %%{1}}.tar.xz}
%define staticlibsportablearchive() %{expand:%{staticlibsportablenameimpl -- %%{1}}.tar.xz}
%define jreportablename() %{expand:%{jreportablenameimpl -- %%{1}}}
%define jdkportablename() %{expand:%{jdkportablenameimpl -- %%{1}}}
%define jdkportablesourcesname() %{expand:%{jdkportablesourcesnameimpl -- %%{1}}}
# Intentionally use jdkportablenameimpl here since we want to have static-libs files overlayed on
# top of the JDK archive
%define staticlibsportablename() %{expand:%{jdkportablenameimpl -- %%{1}}}
@ -904,6 +908,12 @@ The %{origin_nice} %{featurever} libraries for static linking - portable edition
# staticlibs
%endif
%package sources
Summary: %{origin_nice} %{featurever} full patched sources of portable JDK
%description sources
The %{origin_nice} %{featurever} full patched sources of portable JDK to build, attach to debuggers or for debuginfo
%prep
echo "Preparing %{oj_vendor_version}"
@ -933,6 +943,7 @@ else
echo "include_fastdebug_build is %{include_fastdebug_build}, that is invalid. Use 1 for yes or 0 for no"
exit 13
fi
if [ %{include_debug_build} -eq 0 -a %{include_normal_build} -eq 0 -a %{include_fastdebug_build} -eq 0 ] ; then
echo "You have disabled all builds (normal,fastdebug,slowdebug). That is a no go."
exit 14
@ -1276,9 +1287,10 @@ EOF
fi
}
# stubs to copy icons to final images
abs_src_path=$(pwd)/openjdk/src
icon_stub_path=java.desktop/unix/classes/sun/awt/X11
pwd
ls -l
tar -cJf ../%{jdkportablesourcesarchive -- ""} --transform "s|^|%{jdkportablesourcesname -- ""}/|" openjdk nss*
sha256sum ../%{jdkportablesourcesarchive -- ""} > ../%{jdkportablesourcesarchive -- ""}.sha256sum
%if %{build_hotspot_first}
# Build a fresh libjvm.so first and use it to bootstrap
@ -1346,8 +1358,6 @@ for suffix in %{build_loop} ; do
for image in %{jdkimage} %{jreimage} ; do
imagePath=${top_dir_abs_main_build_path}/images/${image}
installjdk ${imagePath}
mkdir -p ${imagePath}/ext_stubs/${icon_stub_path}
cp -av ${abs_src_path}/${icon_stub_path}/*.png ${imagePath}/ext_stubs/${icon_stub_path}
done
# Check debug symbols were built into the dynamic libraries; todo, why it passes in JDK only?
debugcheckjdk ${top_dir_abs_main_build_path}/images/%{jdkimage}
@ -1421,6 +1431,10 @@ for suffix in %{build_loop} ; do
done # end of release / debug cycle loop
%install
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
mv ../%{jdkportablesourcesarchive -- ""} $RPM_BUILD_ROOT%{_jvmdir}/
mv ../%{jdkportablesourcesarchive -- ""}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
for suffix in %{build_loop} ; do
top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
@ -1430,7 +1444,6 @@ top_dir_abs_main_build_path=$(pwd)/%{buildoutputdir -- ${suffix}%{main_suffix}}
else
nameSuffix=`echo "$suffix"| sed s/-/./`
fi
mkdir -p $RPM_BUILD_ROOT%{_jvmdir}
mv ../%{jdkportablearchive -- "$nameSuffix"} $RPM_BUILD_ROOT%{_jvmdir}/
mv ../%{jdkportablearchive -- "$nameSuffix"}.sha256sum $RPM_BUILD_ROOT%{_jvmdir}/
mv ../%{jreportablearchive -- "$nameSuffix"} $RPM_BUILD_ROOT%{_jvmdir}/
@ -1451,7 +1464,7 @@ done
################################################################################
# the licenses are packed onloy once and shared
mkdir -p $RPM_BUILD_ROOT%{unpacked_licenses}
mv ../%{jdkportablearchive -- "%{normal_suffix}"}-legal $RPM_BUILD_ROOT%{unpacked_licenses}/%{jdkportablearchive -- "%{normal_suffix}"}
mv ../%{jdkportablearchive -- "%{normal_suffix}"}-legal $RPM_BUILD_ROOT%{unpacked_licenses}/%{jdkportablesourcesarchive -- "%{normal_suffix}"}
# To show sha in the build log
for file in `ls $RPM_BUILD_ROOT%{_jvmdir}/*.sha256sum` ; do ls -l $file ; cat $file ; done
################################################################################
@ -1540,42 +1553,46 @@ done
# main package builds always
%{_jvmdir}/%{jreportablearchive -- %%{nil}}
%{_jvmdir}/%{jreportablearchive -- %%{nil}}.sha256sum
%license %{unpacked_licenses}/%{jdkportablearchive -- %%{nil}}
%license %{unpacked_licenses}/%{jdkportablesourcesarchive -- %%{nil}}
%else
%files
# placeholder
%endif
%if %{include_normal_build}
%files devel
%{_jvmdir}/%{jdkportablearchive -- %%{nil}}
#%{_jvmdir}/%{jdkportablearchive -- .debuginfo}
%{_jvmdir}/%{jdkportablearchive -- %%{nil}}.sha256sum
#%{_jvmdir}/%{jdkportablearchive -- .debuginfo}.sha256sum
%license %{unpacked_licenses}/%{jdkportablearchive -- %%{nil}}
%license %{unpacked_licenses}/%{jdkportablesourcesarchive -- %%{nil}}
%endif
%if %{include_normal_build}
%if %{include_staticlibs}
%files static-libs
%{_jvmdir}/%{staticlibsportablearchive -- %%{nil}}
%{_jvmdir}/%{staticlibsportablearchive -- %%{nil}}.sha256sum
%license %{unpacked_licenses}/%{jdkportablearchive -- %%{nil}}
%license %{unpacked_licenses}/%{jdkportablesourcesarchive -- %%{nil}}
%endif
%endif
%if %{include_debug_build}
%files slowdebug
%{_jvmdir}/%{jreportablearchive -- .slowdebug}
%{_jvmdir}/%{jreportablearchive -- .slowdebug}.sha256sum
%license %{unpacked_licenses}/%{jdkportablearchive -- %%{nil}}
%license %{unpacked_licenses}/%{jdkportablesourcesarchive -- %%{nil}}
%files devel-slowdebug
%{_jvmdir}/%{jdkportablearchive -- .slowdebug}
%{_jvmdir}/%{jdkportablearchive -- .slowdebug}.sha256sum
%license %{unpacked_licenses}/%{jdkportablearchive -- %%{nil}}
%license %{unpacked_licenses}/%{jdkportablesourcesarchive -- %%{nil}}
%if %{include_staticlibs}
%files static-libs-slowdebug
%{_jvmdir}/%{staticlibsportablearchive -- .slowdebug}
%{_jvmdir}/%{staticlibsportablearchive -- .slowdebug}.sha256sum
%license %{unpacked_licenses}/%{jdkportablearchive -- %%{nil}}
%license %{unpacked_licenses}/%{jdkportablesourcesarchive -- %%{nil}}
%endif
%endif
@ -1583,22 +1600,33 @@ done
%files fastdebug
%{_jvmdir}/%{jreportablearchive -- .fastdebug}
%{_jvmdir}/%{jreportablearchive -- .fastdebug}.sha256sum
%license %{unpacked_licenses}/%{jdkportablearchive -- %%{nil}}
%license %{unpacked_licenses}/%{jdkportablesourcesarchive -- %%{nil}}
%files devel-fastdebug
%{_jvmdir}/%{jdkportablearchive -- .fastdebug}
%{_jvmdir}/%{jdkportablearchive -- .fastdebug}.sha256sum
%license %{unpacked_licenses}/%{jdkportablearchive -- %%{nil}}
%license %{unpacked_licenses}/%{jdkportablesourcesarchive -- %%{nil}}
%if %{include_staticlibs}
%files static-libs-fastdebug
%{_jvmdir}/%{staticlibsportablearchive -- .fastdebug}
%{_jvmdir}/%{staticlibsportablearchive -- .fastdebug}.sha256sum
%license %{unpacked_licenses}/%{jdkportablearchive -- %%{nil}}
%license %{unpacked_licenses}/%{jdkportablesourcesarchive -- %%{nil}}
%endif
%endif
%files sources
%{_jvmdir}/%{jdkportablesourcesarchive -- %%{nil}}
%{_jvmdir}/%{jdkportablesourcesarchive -- %%{nil}}.sha256sum
%license %{unpacked_licenses}/%{jdkportablesourcesarchive -- %%{nil}}
%changelog
* Tue Apr 18 2023 Jiri Vanek <jvanek@redhat.com> - 1:17.0.6.0.10-3
- introduced archfull src archive
- replaced nasty handling of icons.
- needed for icons and src reference for rpms (debuginfo, src subpkg)
- licences moved to proper sharable noarch
* Mon Apr 17 2023 Jiri Vanek <jvanek@redhat.com> - 1:17.0.6.0.10-2
- Update generate_tarball.sh add support for passing a boot JDK to the configure run
- Automatically turn off building a fresh HotSpot first, if the bootstrap JDK is not the same major version as that being built