diff --git a/redhat-rpm-config-9.1.0-dwz.patch b/redhat-rpm-config-9.1.0-dwz.patch new file mode 100644 index 0000000..b54162f --- /dev/null +++ b/redhat-rpm-config-9.1.0-dwz.patch @@ -0,0 +1,53 @@ +--- redhat-rpm-config-9.1.0/macros.dwz.jj 2012-06-25 13:08:44.854489913 +0200 ++++ redhat-rpm-config-9.1.0/macros.dwz 2012-06-25 13:03:55.520112180 +0200 +@@ -0,0 +1,39 @@ ++# Macros for reducing debug info size using dwz(1) utility. ++ ++# The two default values below should result in dwz taking at most ++# 3GB of RAM or so on 64-bit hosts and 2.5GB on 32-bit hosts ++# on the largest *.debug files (in mid 2012 those are ++# libreoffice-debuginfo, debuginfos containing ++# libxul.so.debug and libwebkitgtk-*.so.*.debug). ++# This needs to be tuned based on the amount of available RAM ++# on build boxes for each architecture as well as virtual address ++# space limitations if dwz is 32-bit program. While it needs less ++# memory than 64-bit program because pointers are smaller, it can ++# never have more than 4GB-epsilon of RAM and on some architecture ++# even less than that (e.g. 2GB). ++ ++# Number of debugging information entries (DIEs) above which ++# dwz will stop considering file for multifile optimizations ++# and enter a low memory mode, in which it will optimize ++# in about half the memory needed otherwise. ++%_dwz_low_mem_die_limit 10000000 ++# Number of DIEs above which dwz will stop processing ++# a file altogether. ++%_dwz_max_die_limit 50000000 ++ ++# On x86_64 increase the higher limit to make libwebkit* optimizable. ++# libwebkit* in mid 2012 contains roughly 87mil DIEs, and 64-bit ++# dwz is able to optimize it from ~1.1GB to ~410MB using 5.2GB of RAM. ++%_dwz_max_die_limit_x86_64 110000000 ++ ++# On ARM, build boxes often have only 512MB of RAM and are very slow. ++# Lower both the limits. ++%_dwz_low_mem_die_limit_armv5tel 4000000 ++%_dwz_low_mem_die_limit_armv7hl 4000000 ++%_dwz_max_die_limit_armv5tel 10000000 ++%_dwz_max_die_limit_armv7hl 10000000 ++ ++%_dwz_limit() %{expand:%%{?%{1}_%{_arch}}%%{!?%{1}_%{_arch}:%%%{1}}} ++%_find_debuginfo_dwz_opts --run-dwz\\\ ++ --dwz-low-mem-die-limit %{_dwz_limit _dwz_low_mem_die_limit}\\\ ++ --dwz-max-die-limit %{_dwz_limit _dwz_max_die_limit} +--- redhat-rpm-config-9.1.0/macros.jj 2012-06-25 13:08:44.854489913 +0200 ++++ redhat-rpm-config-9.1.0/macros 2012-06-25 13:03:55.520112180 +0200 +@@ -191,7 +191,7 @@ unset DISPLAY\ + %_hardened_cflags %{?_hardened_build:%{_hardening_cflags}} + %_hardened_ldflags %{?_hardened_build:%{_hardening_ldflags}} + +-%__global_cflags -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 %{_hardened_cflags} ++%__global_cflags -O2 -g3 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 %{_hardened_cflags} + %__global_ldflags -Wl,-z,relro %{_hardened_ldflags} + + # Use these macros to differentiate between RH and other KMP implementation(s). diff --git a/redhat-rpm-config.spec b/redhat-rpm-config.spec index 96b54de..711e797 100644 --- a/redhat-rpm-config.spec +++ b/redhat-rpm-config.spec @@ -1,7 +1,7 @@ Summary: Red Hat specific rpm configuration files Name: redhat-rpm-config Version: 9.1.0 -Release: 29%{?dist} +Release: 30%{?dist} # No version specified. License: GPL+ Group: Development/System @@ -29,10 +29,12 @@ Patch5: redhat-rpm-config-9.1.0-arm.patch Patch6: redhat-rpm-config-9.1.0-relro.patch Patch7: redhat-rpm-config-9.1.0-hardened.patch Patch8: redhat-rpm-config-9.1.0-ppc-no-minimal-toc.patch +Patch9: redhat-rpm-config-9.1.0-dwz.patch BuildArch: noarch Requires: coreutils Requires: perl-srpm-macros Requires: rpm >= 4.6.0 +Requires: dwz >= 0.4 BuildRequires: libtool %description @@ -49,6 +51,7 @@ Red Hat specific rpm configuration files. %patch6 -p1 %patch7 -p1 %patch8 -p1 +%patch9 -p1 %build @@ -70,6 +73,9 @@ rm -rf ${RPM_BUILD_ROOT} %{_sysconfdir}/rpm/* %changelog +* Mon Jun 25 2012 Panu Matilainen - 9.1.0-30 +- require dwz, enable dwarf compression for debuginfo packages (#833311) + * Wed Jun 06 2012 Petr Pisar - 9.1.0-29 - Pull in dependency with macros specific for building Perl source packages