]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm.macros
- in infodir compress only *.info*, omitting images
[packages/rpm.git] / rpm.macros
index c2297e6f459c8518767d1282bad0d38cb2a9237e..938da49028b7eb7536e788077a996175e0349c4c 100644 (file)
@@ -55,7 +55,8 @@ fi; \
 #-----------------------------------------------------------------
 #
 # (re)definition of %{rpm*flags} with %filterout_* support
-# Requires:            awk
+# BuildRequires:       awk
+# BuildRequires:       rpmbuild(macros) >= 1.315
 #
 # Flags specified in %filterout_* are removed from %rpm*flags, exactly:
 # %rpmcflags    = %optflags - %filterout - %filterout_c   - %filterout_ld
@@ -66,7 +67,7 @@ fi; \
 # as regular expression it must be escaped twice.
 
 %filter_out                                            \
-       for (i in I) {  A=0;                    \
+       for (i = 1; i in I; i++) {      A=0;    \
                for (f in F) {                          \
                        if (I[i] ~ "^" F[f] "$") A=1;   \
                };                                                      \
@@ -112,6 +113,7 @@ fi; \
  CFLAGS="${CFLAGS:-%rpmcflags}" ; export CFLAGS ; \
  CXXFLAGS="${CXXFLAGS:-%rpmcxxflags}" ; export CXXFLAGS ; \
  FFLAGS="${FFLAGS:-%rpmcflags}" ; export FFLAGS ; \
+ FCFLAGS="${FCFLAGS:-%rpmcflags}" ; export FCFLAGS ; \
  CPPFLAGS="${CPPFLAGS:-}" ; export CPPFLAGS ; \
  %{?__cc:CC="%{__cc}" ; export CC ; } \
  %{?__cxx:CXX="%{__cxx}" ; export CXX ; } \
@@ -145,6 +147,7 @@ CXXFLAGS="%{rpmcxxflags}" \
 }
 
 # override __scons to add -j4 in your ~/.rpmmacros for parallel make
+# TODO: find way to pass CC/CXX and CC/CXXFLAGS
 %__scons       /usr/bin/scons
 %scons { \
 %{__scons} \
@@ -171,6 +174,7 @@ CXXFLAGS="%{rpmcxxflags}" \
        CFLAGS="${CFLAGS:-%rpmcflags}" \
        CXXFLAGS="${CXXFLAGS:-%rpmcxxflags}" \
        FFLAGS="${FFLAGS:-%rpmcflags}" \
+       FCFLAGS="${FCFLAGS:-%rpmcflags}" \
        CPPFLAGS="${CPPFLAGS:-}" \
        %{?__cc:CC="%{__cc}"} \
        %{?__cxx:CXX="%{__cxx}"} \
@@ -209,7 +213,6 @@ unset DISPLAY ||:\
 %build %%build\
 export LC_ALL=C\
 export LANG=C\
-export LD_SYMBOLIC_FUNCTIONS=1\
 unset LINGUAS ||:\
 unset LANGUAGE ||:\
 unset LC_MESSAGES ||:\
@@ -223,7 +226,6 @@ unset DISPLAY ||:\
 %%install\
 export LC_ALL=C\
 export LANG=C\
-export LD_SYMBOLIC_FUNCTIONS=1\
 unset LINGUAS ||:\
 unset LANGUAGE ||:\
 unset LC_MESSAGES ||:\
@@ -282,10 +284,8 @@ unset DISPLAY ||:\
 # Requires name = version-release
 %requires_releq()              %(echo '%*' | LC_ALL="C" xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}-%%{release}\\n' | sed -e 's/ (none):/ /' | grep -v "is not")
 
-%releq_kernel_up()             %((LC_ALL="C" rpm -qf --qf '%%{name}-up = %%{epoch}:%%{version}-%%{release}\\n' %{_kernelsrcdir}/include/linux/version.h 2>/dev/null || echo ERROR) | sed -e 's/ (none):/ /' | sed -e 's:-headers::' | grep -vE "(is not|no such)")
-%releq_kernel_smp()            %((LC_ALL="C" rpm -qf --qf '%%{name}-smp = %%{epoch}:%%{version}-%%{release}\\n' %{_kernelsrcdir}/include/linux/version.h 2>/dev/null || echo ERROR) | sed -e 's/ (none):/ /' | sed -e 's:-headers::' | grep -vE "(is not|no such)")
-%requires_releq_kernel_up(s:)  Requires%{-s:(%{-s*})}: %releq_kernel_up
-%requires_releq_kernel_smp(s:) Requires%{-s:(%{-s*})}: %releq_kernel_smp
+%releq_kernel()                %((LC_ALL="C" rpm -qf --qf '%%{name} = %%{epoch}:%%{version}-%%{release}\\n' %{_kernelsrcdir}/include/linux/version.h 2>/dev/null || echo ERROR) | sed -e 's/ (none):/ /' | sed -e 's:-headers::' | grep -vE "(is not|no such)")
+%requires_releq_kernel(s:)     Requires%{-s:(%{-s*})}: %releq_kernel
 
 %requires_eq()         %(echo '%*' | LC_ALL="C" xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
 %requires_eq_to() %(LC_ALL="C" rpm -q --qf 'Requires: %1 = %%{epoch}:%%{version}\\n' %2 | sed -e 's/ (none):/ /' | grep -v "is not")
@@ -317,6 +317,8 @@ unset DISPLAY ||:\
 ; do echo $l; done >> %1 \
 }
 
+# vim - "
+
 # minimum file size needed for compressed documents.
 # just smaller files than this get larger when compressed.
 # some stats:
@@ -333,14 +335,20 @@ unset DISPLAY ||:\
 #%no_install_post_compress_docs        1
 %__spec_install_post_compress_docs { \
 %{!?no_install_post_compress_docs:__spec_install_post_compress_docs() { \
-       for i in /usr/share/man /usr/X11R6/man /usr/share/info; do \
+       for i in /usr/share/man /usr/X11R6/man; do \
                if [ -d "$RPM_BUILD_ROOT$i" ]; then \
-                       echo "Compress $(basename $i) pages: $i"; \
+                       echo "Compress man pages: $i"; \
                        find "$RPM_BUILD_ROOT$i" -name '*.bz2' -print | xargs -r %{__bzip2} -df; \
                        find "$RPM_BUILD_ROOT$i" -name '*.gz' -print | xargs -r %{__gzip} -dnf; \
                        find "$RPM_BUILD_ROOT$i" -type f -size +%{_min_compress_bytes}c -print | xargs -r %{__gzip} -9nf; \
                fi; \
        done; \
+       if [ -d "$RPM_BUILD_ROOT$i" ]; then \
+               echo "Compress info pages: $i"; \
+               find "$RPM_BUILD_ROOT$i" -name '*.bz2' -print | xargs -r %{__bzip2} -df; \
+               find "$RPM_BUILD_ROOT$i" -name '*.gz' -print | xargs -r %{__gzip} -dnf; \
+               find "$RPM_BUILD_ROOT$i" -name '*.info*' -type f -size +%{_min_compress_bytes}c -print | xargs -r %{__gzip} -9nf; \
+       fi; \
 }; __spec_install_post_compress_docs } }
 
 #-----------------------------------------------------------------
@@ -352,7 +360,15 @@ unset DISPLAY ||:\
 %__spec_install_post_strip {%{!?debug: \
 %{!?no_install_post_strip:__spec_install_post_strip() { \
 if [ -d "$RPM_BUILD_ROOT" ]; then \
+       if [ -d $RPM_BUILD_ROOT/lib/modules ]; then \
+               modulelist=$(find $RPM_BUILD_ROOT/lib/modules -name '*o' -type f -print); \
+               printf "Stripping %d kernel modules..." $(echo "$modulelist" | wc -l); \
+               echo "$modulelist" | xargs -l512 chmod u+w; \
+               echo "$modulelist" | xargs -l512 %{__strip} --strip-unneeded --remove-section=.comment --remove-section=.note.GNU-stack; \
+               echo "DONE"; \
+       fi; \
        filelist=`find $RPM_BUILD_ROOT -type f ! -regex ".*ld-[0-9.]*so.*" ! -regex ".*/usr/lib[0-9]*/debug/.*\.debug" ! -regex ".*%{_docdir}/.*" ! -regex ".*%{_includedir}/.*" %{?_noautostrip:! -regex "%{_noautostrip}"}`; \
+       # vim - " \
        if [ -z "$filelist" ]; then \
                return; \
        fi; \
@@ -1067,14 +1083,14 @@ fi \
 # command invoking pear cli
 %__pear /usr/bin/pear
 
-# the main macro.
+# The main macro.
 # using this macro will append optional-packages.txt to the nocompressdoc list
 # as it's displayed to user after package install. and adding additional gzip
 # dep is just waste ;)
-%pear_package_setup(a:n:z) \
+%pear_package_setup(a:n:zD) \
 %define srcdir %{-n*}%{!-n:%{_pearname}-%{version}} \
 %define builddir %{_builddir}/%{srcdir} \
-%setup -q -c -T -n %{srcdir} \
+%setup -q -c -T %{-D:-D} -n %{srcdir} \
 %{-z:tar zxf %{S:0}; %{-a:tar zxf %{S:%{-a*}}}} \
 %{-z:_P=package2.xml; [ -f $_P ] || _P=package.xml; _N=%{srcdir}; mv $_P $_N; cd $_N} \
 %__pear \\\
@@ -1099,9 +1115,8 @@ find . -type f -print0 | xargs -0 sed -i -e 's,\\r$,,' \
 %{!?_noautoprov:%global _noautoprov %{nil}}%{expand:%%global _noautoprov %{_noautoprov} 'pear(tests/.*)'} \
 %{nil}
 
-# copies exctracted PEAR package structure to buildroot.
-# also copies PEAR registry file.
-# please use this macro, for future extensions being possible.
+# Copies exctracted PEAR package structure and PEAR registry to buildroot.
+# Author: Elan Ruusamäe <glen@pld-linux.org>
 %pear_package_install() \
 cp -a ./%{php_pear_dir}/{.registry,*} $RPM_BUILD_ROOT%{php_pear_dir} \
 find $RPM_BUILD_ROOT%{php_pear_dir} '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v \
@@ -1186,7 +1201,7 @@ done \
 # Developer note: don't touch it unless you know how to handle '\'.
 # - \ in script expands to nothing
 # - \\\ in script expands to \
-# - \\\ inside definition expands to noting
+# - \\\ inside definition expands to nothing
 # - \\\\\\\ inside definition expands to \
 # - in last line \ has to touch arguments so arguments passing
 #   in new lines (using \) will be supported
@@ -1212,7 +1227,7 @@ compile() {                                                                                                                       \
        L="<"; [[ '%{*}' != *$L$L* ]] || PATCH_SH="set -x -e;$(cat)"    \
        set -e -x                                                                                                               \
                                                                                                                                        \
-for cfg in %{?with_dist_kernel:%{?with_smp:smp} %{?with_up:up}}%{!?with_dist_kernel:nondist}; do \
+for cfg in %{?with_dist_kernel:dist}%{!?with_dist_kernel:nondist}; do \
        [ -r "%{_kernelsrcdir}/config-$cfg" ] || exit 1                                 \
                                                                                                                                        \
        rm -rf o                                                                                                                \
@@ -1222,8 +1237,8 @@ for cfg in %{?with_dist_kernel:%{?with_smp:smp} %{?with_up:up}}%{!?with_dist_ker
        ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h \
 %ifarch ppc ppc64                                                                                                      \
        install -d o/include/asm                                                                                \
-       [ ! -d %{_kernelsrcdir}/include/asm-powerpc ] || ln -sf %{_kernelsrcdir}/include/asm-powerpc/* o/include/asm    \
-       [ ! -d %{_kernelsrcdir}/include/asm-%{_target_base_arch} ] || ln -snf %{_kernelsrcdir}/include/asm-%{_target_base_arch}/* o/include/asm \
+       [ ! -d %{_kernelsrcdir}/include/asm-%{_target_base_arch} ] || ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch}/* o/include/asm \
+       [ ! -d %{_kernelsrcdir}/include/asm-powerpc ] || ln -snf %{_kernelsrcdir}/include/asm-powerpc/* o/include/asm   \
 %else                                                                                                                          \
        ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} o/include/asm \
 %endif                                                                                                                         \
@@ -1283,29 +1298,23 @@ compile %{*}\
 %define KernelD $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}                     \
 %define ModprobeD $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{_kernel_ver} \
                                                                                                                                        \
-install -d %{KernelD}{,smp}/%{-d*}                                                                     \
-%{?-s:install -d %{ModprobeD}{,smp}}                                                           \
+install -d %{KernelD}/%{-d*}                                                                   \
+%{?-s:install -d %{ModprobeD}}                                                         \
                                                                                                                                        \
 for MODULE in {%{-m*},}; do                                                                                    \
        [ -n "${MODULE}" ] || continue                                                                  \
        MNAME=${MODULE##*/}                                                                                             \
        %if %{without dist_kernel}                                                                              \
-               install %{MODULE}.ko                                                                            \\\
-               %{KernelD}/%{-d*}/${MNAME}%{-s:-%{-s*}}.ko                                      \
-               %{?-s:echo "alias ${MNAME} ${MNAME}-%{-s*}"                                     \\\
-               >> %{ModprobeD}/%{-n*}.conf}                                                            \
-       %endif                                                                                                                  \
-       %if %{with up} && %{with dist_kernel}                                                   \
-               install ${MODULE}-up.ko                                                                         \\\
-               %{KernelD}/%{-d*}/${MNAME}%{-s:-%{-s*}}.ko                                      \
+               install ${MODULE}-nondist.ko                                                            \\\
+                       %{KernelD}/%{-d*}/${MNAME}%{-s:-%{-s*}}.ko                              \
                %{?-s:echo "alias ${MNAME} ${MNAME}-%{-s*}"                                     \\\
-               >> %{ModprobeD}/%{-n*}.conf}                                                            \
-    %if %{with smp} && %{with dist_kernel}                                                     \
-               install ${MODULE}-smp.ko                                                                        \\\
-               %{KernelD}smp/%{-d*}/${MNAME}%{-s:-%{-s*}}.ko                           \
+                       >> %{ModprobeD}/%{-n*}.conf}                                                    \
+       %else                                                                                                                   \
+               install ${MODULE}-dist.ko                                                                               \\\
+                       %{KernelD}/%{-d*}/${MNAME}%{-s:-%{-s*}}.ko                              \
                %{?-s:echo "alias ${MNAME} ${MNAME}-%{-s*}"                                     \\\
-               >> %{ModprobeD}smp/%{-n*}.conf}                                                         \
-    %endif                                                                                                                     \
+                       >> %{ModprobeD}/%{-n*}.conf}                                                    \
+       %endif                                                                                                                  \
 done                                                                                                                           \
 %{nil}
 
This page took 0.122714 seconds and 4 git commands to generate.