diff -ur rpm-4.5.orig/macros.in rpm-4.5/macros.in --- rpm-4.5.orig/macros.in 2013-07-17 11:43:34.000000000 +0000 +++ rpm-4.5/macros.in 2013-07-17 11:55:15.035117233 +0000 @@ -277,6 +277,9 @@ # #%distribution +# TLD Linux Release for backward compatibility with PLD spec files +%pld_release ti + # Configurable distribution URL, same as DistURL: tag in a specfile. # The URL will be used to supply reliable information to tools like # rpmfind. @@ -1449,7 +1452,7 @@ # Note: Used iff _use_internal_dependency_generator is non-zero. The # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. %__libtool_provides %{_rpmhome}/libtooldeps.sh --provides %{buildroot} %{name} -%__libtool_requires %{_rpmhome}/libtooldeps.sh --requires %{buildroot} %{name} +%__libtool_requires %{nil} #------------------------------------------------------------------------ # pkgconfig(...) configuration. @@ -1459,7 +1462,7 @@ # Note: Used iff _use_internal_dependency_generator is non-zero. The # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. %__pkgconfig_provides %{_rpmhome}/pkgconfigdeps.sh --provides -%__pkgconfig_requires %{_rpmhome}/pkgconfigdeps.sh --requires +%__pkgconfig_requires %{nil} #------------------------------------------------------------------------ # executable(...) configuration. @@ -1478,16 +1481,49 @@ #----------------------------------------------------------------- # CFLAGS and LDFLAGS used to build -%debuginfocflags %{expand:%%define __dic_%{?_enable_debug_packages} 1}%{?__dic_1: -gdwarf-4 -fno-debug-types-section -g2}%{expand:%%undefine __dic_%{?_enable_debug_packages}} +%debuginfocflags %{expand:%%define __dic_%{?_enable_debug_packages} 1}%{?__dic_1: -gdwarf-4 -fno-debug-types-section -fvar-tracking-assignments -g2}%{expand:%%undefine __dic_%{?_enable_debug_packages}} +# -feliminate-dwarf2-dups disabled until PR ld/3290 is fixed. %debugcflags -O0 -g -Wall +%debugcppflags %{nil} +%debugldflags %{nil} + +%optldflags -Wl,--as-needed -Wl,--no-copy-dt-needed-entries -Wl,-z,relro -Wl,-z,combreloc +%optcppflags %{nil} # Warning: those macros are overwritten by macros.build, # left here for compatibility -%rpmcflags %{?debug:%debugcflags}%{!?debug:%optflags}%{?debuginfocflags} -%rpmcxxflags %{rpmcflags} -%rpmldflags %{!?no_build_with_as_needed:-Wl,--as-needed} - +%rpmcflags %(awk 'BEGIN { + split("%{?debug:%debugcflags}%{!?debug:%optflags}%{?debuginfocflags}",I); + split("%{?filterout} %{?filterout_c} %{?filterout_ld}",F); + %{filter_out} +}') +%rpmcppflags %(awk 'BEGIN { + split("%{?debug:%debugcppflags}%{!?debug:%optcppflags}%{?debuginfocppflags}",I); + split("%{?filterout} %{?filterout_cpp} %{?filterout_cpp}",F); + %{filter_out} +}') +%rpmcxxflags %(awk 'BEGIN { + split("%{?debug:%debugcflags}%{!?debug:%optflags}%{?debuginfocflags}",I); + split("%{?filterout} %{?filterout_cxx} %{?filterout_ld}",F); + %{filter_out} +}') +%rpmldflags %(awk 'BEGIN { + split("%{?optldflags}",I); + split("%{?filterout_ld}",F) + %{filter_out} +}') + +# common compilation flags +%_fortify_cflags -Wp,-D_FORTIFY_SOURCE=2 + +# cf http://wiki.mandriva.com/en/Development/Packaging/Problems#format_not_a_string_literal_and_no_format_arguments +%Werror_cflags -Wformat -Werror=format-security + +%_ssp_cflags -fstack-protector --param=ssp-buffer-size=4 +%__common_cflags -O2 -fwrapv -pipe %{Werror_cflags} %{debuginfocflags} %{?_fortify_cflags} %{!?nospecflags:%{?specflags}} +%__common_cflags_with_ssp %{__common_cflags} %{?_ssp_cflags} + #------------------------------------------------------------------------ # mimetype(...) configuration. #