Add %pkg_extra_* macros

https://fedoraproject.org/wiki/Changes/RPMMacrosForBuildFlags
This commit is contained in:
Tom Stellard 2023-01-05 06:07:15 +00:00
parent ab1e005d6a
commit 1988722cbb
4 changed files with 22 additions and 5 deletions

8
macros
View File

@ -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

View File

@ -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 <tstellar@redhat.com> - 248-1
- Add %%pkg_extra_* macros
* Mon Feb 06 2023 Nick Clifton <nickc@redhat.com> - 247-1
- Fix triggers for the installation and removal of gcc-plugin-annobin.
Fixes: rhbz#2124562

View File

@ -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

View File

@ -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$'