Author: qboosh                       Date: Sun Jan  6 14:14:32 2008 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- introduced _autostrip* as a general solution to adjust stripping options 
without affecting *-debuginfo packages

---- Files affected:
SOURCES:
   rpm.macros (1.410 -> 1.411) 

---- Diffs:

================================================================
Index: SOURCES/rpm.macros
diff -u SOURCES/rpm.macros:1.410 SOURCES/rpm.macros:1.411
--- SOURCES/rpm.macros:1.410    Thu Jan  3 19:24:57 2008
+++ SOURCES/rpm.macros  Sun Jan  6 15:14:27 2008
@@ -387,31 +387,50 @@
                        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 } } }
================================================================

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/rpm.macros?r1=1.410&r2=1.411&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to