Introduce stapinstall variable to set SystemTap arch directory correctly (e.g. arm64 on aarch64)

Need to support noarch for creating source RPMs for non-scratch builds.
This commit is contained in:
Andrew John Hughes 2022-02-08 02:08:49 +00:00
parent fbc4f64198
commit ee33a76793
1 changed files with 32 additions and 8 deletions

View File

@ -244,51 +244,63 @@
# In some cases, the arch used by the JDK does # In some cases, the arch used by the JDK does
# not match _arch. # not match _arch.
# Also, in some cases, the machine name used by SystemTap # Also, in some cases, the machine name used by SystemTap
# does not match that given by _build_cpu # does not match that given by _target_cpu
%ifarch x86_64 %ifarch x86_64
%global archinstall amd64 %global archinstall amd64
%global stapinstall x86_64
%endif %endif
%ifarch ppc %ifarch ppc
%global archinstall ppc %global archinstall ppc
%global stapinstall powerpc
%endif %endif
%ifarch %{ppc64be} %ifarch %{ppc64be}
%global archinstall ppc64 %global archinstall ppc64
%global stapinstall powerpc
%endif %endif
%ifarch %{ppc64le} %ifarch %{ppc64le}
%global archinstall ppc64le %global archinstall ppc64le
%global stapinstall powerpc
%endif %endif
%ifarch %{ix86} %ifarch %{ix86}
%global archinstall i686 %global archinstall i686
%global stapinstall i386
%endif %endif
%ifarch ia64 %ifarch ia64
%global archinstall ia64 %global archinstall ia64
%global stapinstall ia64
%endif %endif
%ifarch s390 %ifarch s390
%global archinstall s390 %global archinstall s390
%global stapinstall s390
%endif %endif
%ifarch s390x %ifarch s390x
%global archinstall s390x %global archinstall s390x
%global stapinstall s390
%endif %endif
%ifarch %{arm} %ifarch %{arm}
%global archinstall arm %global archinstall arm
%global stapinstall arm
%endif %endif
%ifarch %{aarch64} %ifarch %{aarch64}
%global archinstall aarch64 %global archinstall aarch64
%global stapinstall arm64
%endif %endif
# 32 bit sparc, optimized for v9 # 32 bit sparc, optimized for v9
%ifarch sparcv9 %ifarch sparcv9
%global archinstall sparc %global archinstall sparc
%global stapinstall %{_target_cpu}
%endif %endif
# 64 bit sparc # 64 bit sparc
%ifarch sparc64 %ifarch sparc64
%global archinstall sparcv9 %global archinstall sparcv9
%global stapinstall %{_target_cpu}
%endif %endif
%ifnarch %{jit_arches} # Need to support noarch for srpm build
%global archinstall %{_arch} %ifarch noarch
%global archinstall %{nil}
%global stapinstall %{nil}
%endif %endif
%ifarch %{systemtap_arches} %ifarch %{systemtap_arches}
%global with_systemtap 1 %global with_systemtap 1
%else %else
@ -327,7 +339,7 @@
%global top_level_dir_name %{origin} %global top_level_dir_name %{origin}
%global top_level_dir_name_backup %{top_level_dir_name}-backup %global top_level_dir_name_backup %{top_level_dir_name}-backup
%global buildver 8 %global buildver 8
%global rpmrelease 4 %global rpmrelease 5
# 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 # 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 %if %is_system_jdk
# Using 10 digits may overflow the int used for priority, so we combine the patch and build versions # Using 10 digits may overflow the int used for priority, so we combine the patch and build versions
@ -448,10 +460,10 @@
# and 32 bit architectures we place the tapsets under the arch # and 32 bit architectures we place the tapsets under the arch
# specific dir (note that systemtap will only pickup the tapset # specific dir (note that systemtap will only pickup the tapset
# for the primary arch for now). Systemtap uses the machine name # for the primary arch for now). Systemtap uses the machine name
# aka build_cpu as architecture specific directory name. # aka target_cpu as architecture specific directory name.
%global tapsetroot /usr/share/systemtap %global tapsetroot /usr/share/systemtap
%global tapsetdirttapset %{tapsetroot}/tapset/ %global tapsetdirttapset %{tapsetroot}/tapset/
%global tapsetdir %{tapsetdirttapset}/%{_build_cpu} %global tapsetdir %{tapsetdirttapset}/%{stapinstall}
%endif %endif
# not-duplicated scriptlets for normal/debug packages # not-duplicated scriptlets for normal/debug packages
@ -1680,6 +1692,14 @@ The %{origin_nice} %{featurever} API documentation compressed in a single archiv
%endif %endif
%prep %prep
# Using the echo macro breaks rpmdev-bumpspec, as it parses the first line of stdout :-(
%if 0%{?stapinstall:1}
echo "CPU: %{_target_cpu}, arch install directory: %{archinstall}, SystemTap install directory: %{stapinstall}"
%else
%{error:Unrecognised architecture %{_target_cpu}}
%endif
if [ %{include_normal_build} -eq 0 -o %{include_normal_build} -eq 1 ] ; then if [ %{include_normal_build} -eq 0 -o %{include_normal_build} -eq 1 ] ; then
echo "include_normal_build is %{include_normal_build}" echo "include_normal_build is %{include_normal_build}"
else else
@ -2510,6 +2530,10 @@ cjc.mainProgram(args)
%endif %endif
%changelog %changelog
* Mon Feb 07 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:17.0.2.0.8-5
- Introduce stapinstall variable to set SystemTap arch directory correctly (e.g. arm64 on aarch64)
- Need to support noarch for creating source RPMs for non-scratch builds.
* Fri Feb 04 2022 Jiri Vanek <jvanek@redhat.com> - 1:17.0.2.0.8-4 * Fri Feb 04 2022 Jiri Vanek <jvanek@redhat.com> - 1:17.0.2.0.8-4
- moved to become system jdk - moved to become system jdk