[packages/rpm-pld-macros] - -Wformat* are valid for C/C++ but not Fortran; for Fortran use separate Werror_fflags (-Werror=lin
qboosh
qboosh at pld-linux.org
Wed Mar 26 21:41:18 CET 2025
commit 4ef3264c2796738a8469266d25625486678d1502
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Wed Mar 26 19:16:19 2025 +0100
- -Wformat* are valid for C/C++ but not Fortran; for Fortran use separate Werror_fflags (-Werror=line-truncation as initial) via separated rpmfflags macro
macros.pld | 33 ++++++++++++++++++++++-----------
1 file changed, 22 insertions(+), 11 deletions(-)
---
diff --git a/macros.pld b/macros.pld
index 131ad0b..e5fb1c8 100644
--- a/macros.pld
+++ b/macros.pld
@@ -184,9 +184,12 @@ pakietu oraz przy odpluskwianiu samego pakietu.\
# cf http://wiki.mandriva.com/en/Development/Packaging/Problems#format_not_a_string_literal_and_no_format_arguments
%Werror_cflags -Wformat -Werror=format-security
+# silent line truncation causes errors hard to track
+%Werror_fflags -Werror=line-truncation
+
# Use -Werror=trampolines to prevent GCC from generating code that require executable stack
%_ssp_cflags -fstack-protector-strong --param=ssp-buffer-size=4 -Werror=trampolines
-%__common_cflags -O2 -fwrapv -pipe %{Werror_cflags} %{debuginfocflags} %{?_fortify_cflags} %{!?nospecflags:%{?specflags}}
+%__common_cflags -O2 -fwrapv -pipe %{debuginfocflags} %{?_fortify_cflags} %{!?nospecflags:%{?specflags}}
%__common_cflags_with_ssp %{__common_cflags} %{?_ssp_cflags}
# arch macros
@@ -318,10 +321,11 @@ pakietu oraz przy odpluskwianiu samego pakietu.\
# BuildRequires: rpmbuild(macros) >= 1.315
#
# Flags specified in %filterout_* are removed from %rpm*flags, exactly:
-# %rpmcflags = %optflags - %filterout - %filterout_c - %filterout_ld
-# %rpmcxxflags = %optflags - %filterout - %filterout_cxx - %filterout_ld
-# %rpmcppflags = %optcppflags - %filterout - %filterout_cpp - %filterout_ld
-# %rpmldflags = %optldflags - %filterout_ld
+# %rpmcflags = %optflags|%debufcflags %Werror_cflags - %filterout - %filterout_c - %filterout_ld
+# %rpmcxxflags = %optflags|%debufcflags %Werror_cflags - %filterout - %filterout_cxx - %filterout_ld
+# %rpmfflags = %optflags|%debugcflags %Werror_fflags - %filterout - %filterout_f - %filterout_ld
+# %rpmcppflags = %optcppflags|%debugcppflags - %filterout - %filterout_cpp - %filterout_ld
+# %rpmldflags = %optldflags|%debugldflags - %filterout_ld
#
# Regular expressions are supported, but to avoid some character be treated
# as regular expression it must be escaped twice.
@@ -335,7 +339,7 @@ pakietu oraz przy odpluskwianiu samego pakietu.\
}
%rpmcflags %(awk 'BEGIN {
- split("%{?debug:%debugcflags}%{!?debug:%optflags}%{?debuginfocflags}",I);
+ split("%{?debug:%debugcflags}%{!?debug:%optflags}%{?debuginfocflags} %{Werror_cflags}",I);
split("%{?filterout} %{?filterout_c} %{?filterout_ld}",F);
%{filter_out}
}')
@@ -343,12 +347,19 @@ pakietu oraz przy odpluskwianiu samego pakietu.\
%build_fflags %{rpmcflags} %{?_fmoddir:-I%{_fmoddir}}
%rpmcxxflags %(awk 'BEGIN {
- split("%{?debug:%debugcflags}%{!?debug:%optflags}%{?debuginfocflags}",I);
+ split("%{?debug:%debugcflags}%{!?debug:%optflags}%{?debuginfocflags} %{Werror_cflags}",I);
split("%{?filterout} %{?filterout_cxx} %{?filterout_ld}",F);
%{filter_out}
}')
%build_cxxflags %{rpmcxxflags}
+%rpmfflags %(awk 'BEGIN {
+ split("%{?debug:%debugcflags}%{!?debug:%optflags}%{?debuginfocflags} %{Werror_fflags}",I);
+ split("%{?filterout} %{?filterout_f} %{?filterout_ld}",F);
+ %{filter_out}
+}')
+%build_fflags %{rpmfflags}
+
%rpmcppflags %(awk 'BEGIN {
split("%{?debug:%debugcppflags}%{!?debug:%optcppflags}%{?debuginfocppflags}",I);
split("%{?filterout} %{?filterout_cpp} %{?filterout_cpp}",F);
@@ -384,8 +395,8 @@ pakietu oraz przy odpluskwianiu samego pakietu.\
%{?__cpp:CPP="%{__cpp}" ; export CPP ; } \
CFLAGS="${CFLAGS:-%rpmcflags}" ; export CFLAGS ; \
CXXFLAGS="${CXXFLAGS:-%rpmcxxflags}" ; export CXXFLAGS ; \
- FFLAGS="${FFLAGS:-%rpmcflags}" ; export FFLAGS ; \
- FCFLAGS="${FCFLAGS:-%rpmcflags}" ; export FCFLAGS ; \
+ FFLAGS="${FFLAGS:-%rpmfflags}" ; export FFLAGS ; \
+ FCFLAGS="${FCFLAGS:-%rpmfflags}" ; export FCFLAGS ; \
CPPFLAGS="${CPPFLAGS:-%rpmcppflags}" ; export CPPFLAGS ; \
LDFLAGS="${LDFLAGS:-%rpmldflags}" ; export LDFLAGS ; \
RUSTC="${RUSTC:-%__rustc}" ; export RUSTC ; \
@@ -533,7 +544,7 @@ pakietu oraz przy odpluskwianiu samego pakietu.\
-DSYSCONF_INSTALL_DIR:PATH=%{_sysconfdir} \\\
-DCMAKE_CXX_FLAGS_PLD="${CXXFLAGS:-%{rpmcxxflags} -DNDEBUG -DQT_NO_DEBUG}" \\\
-DCMAKE_C_FLAGS_PLD="${CFLAGS:-%{rpmcflags} -DNDEBUG -DQT_NO_DEBUG}" \\\
- -DCMAKE_Fortran_FLAGS_PLD="${CFLAGS:-%{rpmcflags} -DNDEBUG -DQT_NO_DEBUG}" \\\
+ -DCMAKE_Fortran_FLAGS_PLD="${FFLAGS:-%{rpmfflags} -DNDEBUG -DQT_NO_DEBUG}" \\\
-DCMAKE_EXE_LINKER_FLAGS_PLD="${LDFLAGS:-%{rpmldflags}}" \\\
-DCMAKE_SHARED_LINKER_FLAGS_PLD="${LDFLAGS:-%{rpmldflags}}" \\\
-DCMAKE_MODULE_LINKER_FLAGS_PLD="${LDFLAGS:-%{rpmldflags}}" \\\
@@ -552,7 +563,7 @@ pakietu oraz przy odpluskwianiu samego pakietu.\
LDFLAGS="${LDFLAGS:-%rpmldflags}" \
CFLAGS="${CFLAGS:-%rpmcflags}" \
CXXFLAGS="${CXXFLAGS:-%rpmcxxflags}" \
- FFLAGS="${FFLAGS:-%rpmcflags}" \
+ FFLAGS="${FFLAGS:-%rpmfflags}" \
CPPFLAGS="${CPPFLAGS:-%rpmcppflags}" \
%{?__cc:CC="%{__cc}"} \
%{?__cxx:CXX="%{__cxx}"} \
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/rpm-pld-macros.git/commitdiff/da40aca01c8cc576fbc76c10e845f2320d5e4a92
More information about the pld-cvs-commit
mailing list