diff --git a/macros b/macros index edade66..d778275 100644 --- a/macros +++ b/macros @@ -57,14 +57,14 @@ # C compiler flags. This is traditionally called CFLAGS in makefiles. # Historically also available as %%{optflags}, and %%build sets the # environment variable RPM_OPT_FLAGS to this value. -%build_cflags %{optflags} +%build_cflags %{optflags} %{?_pkg_extra_cflags} # C++ compiler flags. This is traditionally called CXXFLAGS in makefiles. -%build_cxxflags %{optflags} +%build_cxxflags %{optflags} %{?_pkg_extra_cxxflags} # Fortran compiler flags. Makefiles use both FFLAGS and FCFLAGS as # the corresponding variable names. -%build_fflags %{optflags} -I%{_fmoddir} +%build_fflags %{optflags} -I%{_fmoddir} %{?_pkg_extra_fflags} # Vala compiler flags. This is used to set VALAFLAGS. %build_valaflags -g @@ -79,7 +79,7 @@ # the flags, while intended for ld, are still passed through the gcc # compiler driver. At the beginning of %%build, the environment # variable RPM_LD_FLAGS to this value. -%build_ldflags -Wl,-z,relro %{_ld_as_needed_flags} %{_ld_symbols_flags} %{_hardened_ldflags} %{_annotation_ldflags} %[ "%{toolchain}" == "clang" ? "%{?_clang_extra_ldflags}" : "" ] %{_build_id_flags} %{?_package_note_flags} +%build_ldflags -Wl,-z,relro %{_ld_as_needed_flags} %{_ld_symbols_flags} %{_hardened_ldflags} %{_annotation_ldflags} %[ "%{toolchain}" == "clang" ? "%{?_clang_extra_ldflags}" : "" ] %{_build_id_flags} %{?_package_note_flags} %{?_pkg_extra_ldflags} # Expands to shell code to set the compiler/linker environment # variables CFLAGS, CXXFLAGS, FFLAGS, FCFLAGS, VALAFLAGS, LDFLAGS if they diff --git a/redhat-rpm-config.spec b/redhat-rpm-config.spec index 4838751..0830b6c 100644 --- a/redhat-rpm-config.spec +++ b/redhat-rpm-config.spec @@ -4,7 +4,7 @@ # 2) When making changes, increment the version (in baserelease) by 1. # rpmdev-bumpspec and other tools update the macro below, which is used # in Version: to get the desired effect. -%global baserelease 247 +%global baserelease 248 Summary: Red Hat specific rpm configuration files Name: redhat-rpm-config @@ -252,6 +252,9 @@ install -p -m 644 -t %{buildroot}%{_rpmluadir}/fedora/srpm forge.lua %doc buildflags.md %changelog +* Tue Feb 07 2023 Tom Stellard - 248-1 +- Add %%pkg_extra_* macros + * Mon Feb 06 2023 Nick Clifton - 247-1 - Fix triggers for the installation and removal of gcc-plugin-annobin. Fixes: rhbz#2124562 diff --git a/tests/pkg-extra-flags/main.fmf b/tests/pkg-extra-flags/main.fmf new file mode 100644 index 0000000..069fc6b --- /dev/null +++ b/tests/pkg-extra-flags/main.fmf @@ -0,0 +1,8 @@ +summary: > + Check that the %_pkg_extra_* macros allow users to append new flags to the + list of default flags. + +require: + - rpm + +test: ./runtest.sh diff --git a/tests/pkg-extra-flags/runtest.sh b/tests/pkg-extra-flags/runtest.sh new file mode 100755 index 0000000..4d65044 --- /dev/null +++ b/tests/pkg-extra-flags/runtest.sh @@ -0,0 +1,6 @@ +set -ex + +rpm -D '%_pkg_extra_cflags -Wall' -E %{build_cflags} | grep -e '\-Wall$' +rpm -D '%_pkg_extra_cxxflags -Wall' -E %{build_cxxflags} | grep -e '\-Wall$' +rpm -D '%_pkg_extra_ldflags -Wall' -E %{build_ldflags} | grep -e '\-Wall$' +rpm -D '%_pkg_extra_fflags -Wall' -E %{build_fflags} | grep -e '\-Wall$'