]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm.macros
- introduced _autostrip* as a general solution to adjust stripping options without...
[packages/rpm.git] / rpm.macros
index 2a48c0805fffcd14a7701110e355faeb11edb7b1..1911af6f68fda777ff64dceb34a7226af80408d0 100644 (file)
@@ -387,31 +387,50 @@ if [ -d "$RPM_BUILD_ROOT" ]; then \
                        echo "DONE"; \
                fi; \
        fi; \
-       filelist=`find $RPM_BUILD_ROOT -type f ! -regex ".*ld-[0-9.]*so.*" ! -regex ".*libpthread-[0-9.]*so.*" ! -regex ".*/usr/lib[0-9]*/debug/.*\.debug" ! -regex ".*%{_docdir}/.*" ! -regex ".*%{_includedir}/.*" %{?_noautostrip:! -regex "%{_noautostrip}"}`; \
-       # vim - " \
-       if [ -z "$filelist" ]; then \
-               return; \
+       filelist=`find $RPM_BUILD_ROOT -type f ! -regex ".*/usr/lib[0-9]*/debug/.*\.debug" ! -regex ".*%{_docdir}/.*" ! -regex ".*%{_includedir}/.*" %{?_noautostrip:! -regex "%{_noautostrip}"} %{?_autostripall:! -regex "%{_autostripall}"} %{?_autostripunneeded:! -regex "%{_autostripunneeded}"} %{?_autostripdebug:! -regex "%{_autostripdebug}"}`; \
+       if [ -n "$filelist" ]; 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}'`; \
+               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; \
+                       %{__strip} --remove-section=.note --remove-section=.comment $elfexelist; \
+                       echo "DONE"; \
+               fi; \
+               if [ -n "$elfsharedlist" ]; then \
+                       printf "Stripping %d ELF shared libraries..." $(echo "$elfsharedlist" | wc -l); \
+                       chmod u+w $elfsharedlist; \
+                       %{__strip} --strip-unneeded --remove-section=.note --remove-section=.comment $elfsharedlist; \
+                       echo "DONE"; \
+               fi; \
+               if [ -n "$archiveslist" ]; then \
+                       printf "Stripping %d ar archives..." $(echo "$elfsharedlist" | wc -l); \
+                       chmod u+w $archiveslist; \
+                       %{__strip} --strip-debug --remove-section=.note --remove-section=.comment $archiveslist; \
+                       echo "DONE"; \
+               fi; \
        fi; \
-       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}'`; \
-       if [ -n "$elfexelist" ]; then \
-               printf "Stripping %d ELF executables..." $(echo "$elfexelist" | wc -l); \
+    filelist_all=%{?_autostripall:`find $RPM_BUILD_ROOT -type f -regex "%{_autostripall}"} \
+    filelist_unneeded=%{?_autostripunneeded:`find $RPM_BUILD_ROOT -type f -regex "%{_autostripunneeded}"} \
+    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; \
-               %{__strip} --remove-section=.note --remove-section=.comment $elfexelist; \
+               %{__strip} --remove-section=.note --remove-section=.comment $filelist_all; \
                echo "DONE"; \
        fi; \
-       if [ -n "$elfsharedlist" ]; then \
-               printf "Stripping %d ELF shared libraries..." $(echo "$elfsharedlist" | wc -l); \
+       if [ -n "$filelist_unneeded" ]; then \
+               printf "Stripping unneeded from %d additional files..." $(echo "$filelist_unneeded" | wc -l); \
                chmod u+w $elfsharedlist; \
-               %{__strip} --strip-unneeded --remove-section=.note --remove-section=.comment $elfsharedlist; \
+               %{__strip} --strip-unneeded --remove-section=.note --remove-section=.comment $filelist_unneeded; \
                echo "DONE"; \
        fi; \
-       if [ -n "$archiveslist" ]; then \
-               printf "Stripping %d ar archives..." $(echo "$elfsharedlist" | wc -l); \
+       if [ -n "$filelist_debug" ]; then \
+               printf "Stripping debuginfo from %d additional files..." $(echo "$filelist_debug" | wc -l); \
                chmod u+w $archiveslist; \
-               %{__strip} --strip-debug --remove-section=.note --remove-section=.comment $archiveslist; \
+               %{__strip} --strip-debug --remove-section=.note --remove-section=.comment $filelist_debug; \
                echo "DONE"; \
        fi; \
 fi; }; __spec_install_post_strip } } }
This page took 0.029368 seconds and 4 git commands to generate.