commit ac67d8e16e37eb0d70aa77aae47c268c3d67f365
Author: Elan Ruusamäe <g...@delfi.ee>
Date:   Mon Jan 26 23:54:29 2015 +0200

    v1.707: make kernel module compression configurable via kmod_compress_cmd 
macro

 rpm-build-macros.spec |  2 +-
 rpm.macros.kernel     | 16 +++++++++++++---
 2 files changed, 14 insertions(+), 4 deletions(-)
---
diff --git a/rpm-build-macros.spec b/rpm-build-macros.spec
index aa5ad13..add7907 100644
--- a/rpm-build-macros.spec
+++ b/rpm-build-macros.spec
@@ -1,4 +1,4 @@
-%define                rpm_macros_rev  1.706
+%define                rpm_macros_rev  1.707
 %define                find_lang_rev   1.37
 Summary:       PLD Linux RPM build macros
 Summary(pl.UTF-8):     Makra do budowania pakietów RPM dla Linuksa PLD
diff --git a/rpm.macros.kernel b/rpm.macros.kernel
index 096067c..3d24d00 100644
--- a/rpm.macros.kernel
+++ b/rpm.macros.kernel
@@ -93,23 +93,33 @@ done)
 %_host_base_arch       %{expand:%%global _host_base_arch %(echo %{_host_cpu} | 
sed 
's/i.86/i386/;s/athlon/i386/;s/pentium./i386/;s/amd64/x86_64/;s/ia32e/x86_64/;s/x32/x86_64/;s/sparcv./sparc/;s/arm.*/arm/')}%_host_base_arch
 %_target_base_arch     %{expand:%%global _target_base_arch %(echo 
%{_target_cpu} | sed 
's/i.86/i386/;s/athlon/i386/;s/pentium./i386/;s/amd64/x86_64/;s/ia32e/x86_64/;s/x32/x86_64/;s/sparcv./sparc/;s/arm.*/arm/')}%_target_base_arch
 
+# Compression used for %__spec_install_post_compress_modules
+# Supported values:
+# - "gzip -9nf" (module-init-tools and kmod)
+# - "xz" (kmod)
+# @since 1.707
+%kmod_compress_cmd %{__gzip} -9nf
+
 #-----------------------------------------------------------------
-# Find and gzip all kernel modules
+# Find and compress all kernel modules
 #
 # Requires: find
+# Depends: kmod_compress_cmd
 #
 #%no_install_post_compress_modules     1
 %__spec_install_post_compress_modules { \
 %{!?no_install_post_compress_modules: __spec_install_post_compress_modules() { 
\
 %{!?debug:set +x;} \
        if [ -d $RPM_BUILD_ROOT/lib/modules ]; then \
+               tool=$(%{kmod_compress_cmd} --version | head -n1); \
+               ext=$(case "$tool" in gzip*) ext=gz;; xz*) ext=xz;; esac; \
                q=$(find $RPM_BUILD_ROOT/lib/modules -name '*o' -type f 
-print); \
                if [ "$q" ]; then \
                        printf "Compress %d kernel modules..." $(echo "$q" | wc 
-l); \
-                       echo "$q" | xargs -r %{__gzip} -9nf; \
+                       echo "$q" | xargs -r %{kmod_compress_cmd}; \
                        echo "DONE"; \
                        find $RPM_BUILD_ROOT/lib/modules -name '*o' -type l 
-printf "%p %l\n" | \
-                       while read a b; do ln -sf $b.gz $a.gz; rm -f $a; done; \
+                       while read a b; do ln -sf $b.$ext $a.$ext; rm -f $a; 
done; \
                fi; \
        fi; \
 }; __spec_install_post_compress_modules } }
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/rpm-build-macros.git/commitdiff/ffbeb310019c58f4bfd80c65497b94e608df779d

_______________________________________________
pld-cvs-commit mailing list
pld-cvs-commit@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to