- fixed ar archives stripping broken somewhere in the past
- describe special macros used by strip and chrpath sections
Changed files:
rpm.macros -> 1.413
#
# Requires: find, awk, strip, cut, xargs
#
#
# Requires: find, awk, strip, cut, xargs
#
-#%no_install_post_strip 1
+# Special macros which affect this process:
+#%no_install_post_strip 1 # disable stripping at all
+#%_noautostrip regexp # exclude files matching (anchored!) regex from stripping
+#%_autostripall regexp # strip files matching (anchored!) regex using plain strip
+#%_autostripunneeded regexp # strip files matching (anchored!) regex using strip --strip-unneeded
+#%_autostripdebug regexp # strip files matching (anchored!) regex using strip --strip-debug
+#
%__spec_install_post_strip {%{!?debug: \
%{!?no_install_post_strip:__spec_install_post_strip() { \
if [ -d "$RPM_BUILD_ROOT" ]; then \
%__spec_install_post_strip {%{!?debug: \
%{!?no_install_post_strip:__spec_install_post_strip() { \
if [ -d "$RPM_BUILD_ROOT" ]; then \
filetypes=`echo "$filelist" | xargs -r -d'\\n' file`; \
elfexelist=`echo "$filetypes" | awk -F: '/ELF.*executable/ {print $1}'`; \
elfsharedlist=`echo "$filetypes" | awk -F: '/LF.*shared object/ {print $1}'`; \
filetypes=`echo "$filelist" | xargs -r -d'\\n' file`; \
elfexelist=`echo "$filetypes" | awk -F: '/ELF.*executable/ {print $1}'`; \
elfsharedlist=`echo "$filetypes" | awk -F: '/LF.*shared object/ {print $1}'`; \
- archiveslist=`echo "$filetypes" | awk -F '/current ar archive/ {print $1}'`; \
+ archiveslist=`echo "$filetypes" | awk -F: '/current ar archive/ {print $1}'`; \
if [ -n "$elfexelist" ]; then \
printf "Stripping %d ELF executables..." $(echo "$elfexelist" | wc -l); \
chmod u+w $elfexelist; \
if [ -n "$elfexelist" ]; then \
printf "Stripping %d ELF executables..." $(echo "$elfexelist" | wc -l); \
chmod u+w $elfexelist; \
echo "DONE"; \
fi; \
if [ -n "$archiveslist" ]; then \
echo "DONE"; \
fi; \
if [ -n "$archiveslist" ]; then \
- printf "Stripping %d ar archives..." $(echo "$elfsharedlist" | wc -l); \
+ printf "Stripping %d ar archives..." $(echo "$archiveslist" | wc -l); \
chmod u+w $archiveslist; \
%{__strip} --strip-debug --remove-section=.note --remove-section=.comment $archiveslist; \
echo "DONE"; \
chmod u+w $archiveslist; \
%{__strip} --strip-debug --remove-section=.note --remove-section=.comment $archiveslist; \
echo "DONE"; \
filelist_debug=%{?_autostripdebug:`find $RPM_BUILD_ROOT -type f -regex "%{_autostripdebug}"`}; \
if [ -n "$filelist_all" ]; then \
printf "Stripping everything from %d additional files..." $(echo "$filelist_all" | wc -l); \
filelist_debug=%{?_autostripdebug:`find $RPM_BUILD_ROOT -type f -regex "%{_autostripdebug}"`}; \
if [ -n "$filelist_all" ]; then \
printf "Stripping everything from %d additional files..." $(echo "$filelist_all" | wc -l); \
- chmod u+w $elfexelist; \
+ chmod u+w $filelist_all; \
%{__strip} --remove-section=.note --remove-section=.comment $filelist_all; \
echo "DONE"; \
fi; \
if [ -n "$filelist_unneeded" ]; then \
printf "Stripping unneeded from %d additional files..." $(echo "$filelist_unneeded" | wc -l); \
%{__strip} --remove-section=.note --remove-section=.comment $filelist_all; \
echo "DONE"; \
fi; \
if [ -n "$filelist_unneeded" ]; then \
printf "Stripping unneeded from %d additional files..." $(echo "$filelist_unneeded" | wc -l); \
- chmod u+w $elfsharedlist; \
+ chmod u+w $filelist_unneeded; \
%{__strip} --strip-unneeded --remove-section=.note --remove-section=.comment $filelist_unneeded; \
echo "DONE"; \
fi; \
if [ -n "$filelist_debug" ]; then \
printf "Stripping debuginfo from %d additional files..." $(echo "$filelist_debug" | wc -l); \
%{__strip} --strip-unneeded --remove-section=.note --remove-section=.comment $filelist_unneeded; \
echo "DONE"; \
fi; \
if [ -n "$filelist_debug" ]; then \
printf "Stripping debuginfo from %d additional files..." $(echo "$filelist_debug" | wc -l); \
- chmod u+w $archiveslist; \
+ chmod u+w $filelist_debug; \
%{__strip} --strip-debug --remove-section=.note --remove-section=.comment $filelist_debug; \
echo "DONE"; \
fi; \
%{__strip} --strip-debug --remove-section=.note --remove-section=.comment $filelist_debug; \
echo "DONE"; \
fi; \
#
# Requires: find, awk, cut, xargs, chrpath, uname
#
#
# Requires: find, awk, cut, xargs, chrpath, uname
#
-#%no_install_post_chrpath 1
+# Special macros which affect this process
+#%no_install_post_chrpath 1 # disable chrpath at all
+#%_noautochrpath regex # exclude files matching (anchored!) regex from chrpath
+#
%__spec_install_post_chrpath {%{!?debug: \
%{!?no_install_post_chrpath: __spec_install_post_chrpath() { \
if [ -d "$RPM_BUILD_ROOT" ]; then \
%__spec_install_post_chrpath {%{!?debug: \
%{!?no_install_post_chrpath: __spec_install_post_chrpath() { \
if [ -d "$RPM_BUILD_ROOT" ]; then \