]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm.macros
- fix !dist_kernel with non-built tree
[packages/rpm.git] / rpm.macros
index d8c607a366afdf2a019ea7538c05566a5f1d3563..dfebf636f2989c4691f985ec996dc1bd627b9542 100644 (file)
@@ -69,6 +69,7 @@
 # Flags specified in %filterout_* are removed from %rpm*flags, exactly:
 # %rpmcflags    = %optflags - %filterout - %filterout_c   - %filterout_ld
 # %rpmcxxflags  = %optflags - %filterout - %filterout_cxx - %filterout_ld
+# %rpmcppflags  = %optcppflags - %filterout - %filterout_cpp - %filterout_ld
 # %rpmldflags   = %optldflags - %filterout_ld
 #
 # Regular expressions are supported, but to avoid some character be treated
        %{filter_out}
 }')
 
+%rpmcppflags %(awk 'BEGIN {
+       split("%{?debug:%debugcppflags}%{!?debug:%optcppflags}%{?debuginfocppflags}",I);
+       split("%{?filterout} %{?filterout_cpp} %{?filterout_cpp}",F);
+       %{filter_out}
+}')
+
 %rpmldflags %(awk 'BEGIN {
        split("%{?optldflags}",I);
        split("%{?filterout_ld}",F)
  CXXFLAGS="${CXXFLAGS:-%rpmcxxflags}" ; export CXXFLAGS ; \
  FFLAGS="${FFLAGS:-%rpmcflags}" ; export FFLAGS ; \
  FCFLAGS="${FCFLAGS:-%rpmcflags}" ; export FCFLAGS ; \
- CPPFLAGS="${CPPFLAGS:-}" ; export CPPFLAGS ; \
+ CPPFLAGS="${CPPFLAGS:-%rpmcppflags}" ; export CPPFLAGS ; \
  %{?__cc:CC="%{__cc}" ; export CC ; } \
  %{?__cxx:CXX="%{__cxx}" ; export CXX ; } \
  %{?configuredir:%{configuredir}}%{!?configuredir:.}/configure \
        %{dependencytracking} \
 }
 
-# override __cmake to add -j4 in your ~/.rpmmacros for parallel make
 %__cmake       /usr/bin/cmake
 %cmake { \
 CC="%{__cc}" \
 CXX="%{__cxx}" \
 CFLAGS="%{rpmcflags}" \
 CXXFLAGS="%{rpmcxxflags}" \
+LDFLAGS="%{rpmldflags}" \
 %{__cmake} \
 }
 
@@ -162,7 +169,7 @@ CXXFLAGS="%{rpmcxxflags}" \
        CFLAGS="${CFLAGS:-%rpmcflags}" \
        CXXFLAGS="${CXXFLAGS:-%rpmcxxflags}" \
        FFLAGS="${FFLAGS:-%rpmcflags}" \
-       CPPFLAGS="${CPPFLAGS:-}" \
+       CPPFLAGS="${CPPFLAGS:-%rpmcppflags}" \
        %{?__cc:CC="%{__cc}"} \
        %{?__cxx:CXX="%{__cxx}"} \
        libsuffix=%{_lib} \
@@ -191,7 +198,7 @@ CXXFLAGS="%{rpmcxxflags}" \
        CXXFLAGS="${CXXFLAGS:-%rpmcxxflags}" \
        FFLAGS="${FFLAGS:-%rpmcflags}" \
        FCFLAGS="${FCFLAGS:-%rpmcflags}" \
-       CPPFLAGS="${CPPFLAGS:-}" \
+       CPPFLAGS="${CPPFLAGS:-%rpmcppflags}" \
        %{?__cc:CC="%{__cc}"} \
        %{?__cxx:CXX="%{__cxx}"} \
        --host=%{_target_platform} \
@@ -513,13 +520,15 @@ fi; }; __spec_install_post_chrpath } } }
 #
 %gconf_schema_install() \
        umask 022; \
-       GCONF_CONFIG_SOURCE="xml:readwrite:/etc/gconf/gconf.xml.defaults" /usr/bin/gconftool-2 --makefile-install-rule /etc/gconf/schemas/%{?1}%{!?1:*.schemas} > /dev/null; \
+       GCONF_CONFIG_SOURCE="xml:readwrite:/etc/gconf/gconf.xml.defaults" \\\
+       /usr/bin/gconftool-2 --makefile-install-rule /etc/gconf/schemas/%{?1}%{!?1:*.schemas} > /dev/null; \
 %{nil}
 
 %gconf_schema_uninstall() \
-if [ $1 = 0 ]; then \
+if [ $1 = 0 -a -x /usr/bin/gconftool-2 ]; then \
        umask 022; \
-       GCONF_CONFIG_SOURCE="xml:readwrite:/etc/gconf/gconf.xml.defaults" /usr/bin/gconftool-2 --makefile-uninstall-rule /etc/gconf/schemas/%{?1} > /dev/null \
+       GCONF_CONFIG_SOURCE="xml:readwrite:/etc/gconf/gconf.xml.defaults" \\\
+       /usr/bin/gconftool-2 --makefile-uninstall-rule /etc/gconf/schemas/%{?1} > /dev/null \
 fi; \
 %{nil}
 
@@ -1098,11 +1107,13 @@ echo -e "</dependencies>\\n" >> %{_mavendepmapdir}/maven2-depmap.xml
 # Author: Elan Ruusamäe <glen@pld-linux.org>
 #
 # Usage:
-#      %%pear_package_setup [-a #] [-n FMT]
+#      %%pear_package_setup ...
 #
 # -a #   - also unpack SOURCE#. for PEAR bootstrapping
 # -n FMT - create builddir with FMT, instead of default %%{_pearname}-%%{version}
 # -z     - unpack pear package and let pear use package.xml (not tarball) for install. for PEAR bootstrapping
+# -D     - pass -D to %setup (so the build dir is not removed)
+# -c     - register channel from local channel.xml file
 #
 # unpack PEAR package to %%{_builddir}/FMT. package is extracted with already
 # destination hierarchy. you should copy the tree to buildroot after
@@ -1124,7 +1135,7 @@ echo -e "</dependencies>\\n" >> %{_mavendepmapdir}/maven2-depmap.xml
 %__pear_install_log \
 tee install.log \
 # make post message of optional packages \
-grep 'can optionally use' install.log | sed -e 's,package "pear/,package "php-pear-,g;s,^pear/,php-pear-,' > optional-packages.txt \
+grep 'can optionally use' install.log | sed -e 's,package "pear/,package "php-pear-,g;s,^pear/,php-pear-,;s,^pear/,php-pear-,;s,^channel://.*/,,' > optional-packages.txt \
 if [ -s optional-packages.txt ]; then \
        awk -F'"' '/use package/{print $2}' optional-packages.txt | sed -e "s,_,/,g;s,php-pear-, 'pear(,;s,$,.*)'," | tr -d '\\\n' > _noautoreq \
 else \
@@ -1137,9 +1148,10 @@ fi \
 
 %pear_install(a:n:zD) \
 %__pear \\\
-       -c pearrc \\\
+       -c %{builddir}/pearrc \\\
        -d doc_dir=/docs \\\
-       -d php_dir=%{php_pear_dir} \\\
+       -d temp_dir=/tmp \\\
+       -d php_dir=%{-c:%{builddir}/}%{php_pear_dir} \\\
        -d bin_dir=%{_bindir} \\\
        -d data_dir=%{php_pear_dir}/data \\\
        -d test_dir=%{php_pear_dir}/tests \\\
@@ -1149,18 +1161,20 @@ fi \
        --nodeps \\\
        %{-f:--force} \\\
        %{!-z:%{S:%{-a*}%{!-a:0}}}%{-z:$_P} > .install.log || { c=$?; cat .install.log; exit $c; }; \
+       %{-c:cp -a %{builddir}/%{builddir}/%{php_pear_dir} %{builddir}/%(dirname %{php_pear_dir}); rm -rf %{builddir}/%{builddir}; } \
 %{nil}
 
 # 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:zD) \
+%pear_package_setup(a:n:zDc:) \
 %define srcdir %{-n*}%{!-n:%{_pearname}-%{version}} \
 %define builddir %{_builddir}/%{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} \
+%{-c:%{__pear} -c pearrc config-set php_dir %{builddir}/%{php_pear_dir}; %__pear -c %{builddir}/pearrc channel-add %{-c*}} \
 %pear_install \
 %{-z:cd ..} \
 cat %{-z:$_N/}.install.log | %__pear_install_log \
@@ -1298,7 +1312,7 @@ for cfg in ${cfgs:-dist}; do                                        \
        [ -z "$PATCH_SH" ] || echo "$PATCH_SH" | %__spec_build_shell    \
        set -x                                                                                                                  \
                                                                                                                                        \
-       %if %{with dist_kernel}                                                                                 \
+       %if %{with dist_kernel} || %(test -f %{_kernelsrcdir}/scripts/bin2c ; echo $?)  \
                %{__make} -j1 -C %{_kernelsrcdir} prepare scripts                       \\\
                        %{-p*} %{-P*}                                                                                   \\\
                        %{MakeOpts}                                                                                             \
@@ -1515,4 +1529,42 @@ io.open("/etc/shells", "w"):write(s)\
 %{-p:end} \
 %{nil}
 
+# Check syntax for Python files
+#
+# Author: Elan Ruusamäe <glen@pld-linux.org>
+# Author: Arkadiusz Miśkiewicz <arekm@pld-linux.org>
+#
+# Usage:
+#   %py_lint src
+#
+# Requirements:
+# BuildRequires:       python
+# BuildRequires:       rpmbuild(macros) >= 1.469
+
+%py_lint() \
+__py_lint() { \
+find "$@" -type f -name '*.py' | python -c ' \
+import sys \
+import compiler \
+\
+err = 0\
+for f in sys.stdin: \
+       fd = open(f.strip()) \
+       c = fd.read() \
+       fd.close() \
+       try: \
+               compiler.parse(c) \
+       except SyntaxError, e: \
+               print "py_lint: %s: %s" % (f.strip(), e) \
+               err = err + 1\
+\
+if err: \
+       print >> sys.stderr, "\\npy_lint: ERROR: Syntax errors in %d files.\\n" % err \
+       sys.exit(1) \
+else: \
+       print >> sys.stderr,  "py_lint: Found no syntax errors." \
+' \
+}; __py_lint %* \
+%{nil}
+
 # vim:ts=4 sw=4 noet syn=spec
This page took 0.035228 seconds and 4 git commands to generate.