]>
Commit | Line | Data |
---|---|---|
41f876e5 ER |
1 | # vim:syn=spec:ai |
2 | ||
b32dfcf9 ER |
3 | # original macros.php macros |
4 | %define __php_provides /usr/lib/rpm/php.prov | |
5 | %define __php_requires /usr/lib/rpm/php.req | |
6 | ||
a3043860 ER |
7 | # pear install macros written by glen@pld-linux.org. |
8 | # All rights reserved. Permission to copy is hereby granted.. yada, yada, yada | |
9 | # | |
10 | # Usage: | |
11 | # %%pear_package_setup [-a #] [-n FMT] | |
12 | # | |
13 | # -a # - unpack SOURCE# instead of SOURCE0 | |
58da3b17 | 14 | # -n FMT - create builddir with FMT, instead of default %%{_pearname}-%%{version} |
a3043860 ER |
15 | # |
16 | # unpack PEAR package to %%{_builddir}/FMT. package is extracted with already | |
17 | # destination hierarchy. you should copy the tree to buildroot after | |
18 | # patching/reorganizing with %%pear_package_install. | |
19 | # | |
20 | # additionally BUILDROOT is stripped from files and files are converted to UNIX | |
21 | # line endings. | |
22 | # | |
23 | # the pear install process output is recorded to install.log, you should put it | |
24 | # to %%doc for latter debug or just information. | |
25 | # | |
26 | # additionally additional-packages.txt is produced if it was detected that the | |
27 | # package has optional dependencies. the file format is suitable of displaying | |
28 | # in %%post of a package. you should put this file to %%doc. noautocompressdoc is | |
29 | # automatically added for this file. | |
30 | # | |
b32dfcf9 | 31 | %define pear_package_setup(a:n:) \ |
58da3b17 ER |
32 | %setup -q -c -T -n %{-n*}%{!-n:%{_pearname}-%{version}}\ |
33 | D=%{_builddir}/%{-n*}%{!-n:%{_pearname}-%{version}} \ | |
87e862a2 | 34 | pear \\\ |
41f876e5 | 35 | -d doc_dir=/docs \\\ |
87e862a2 ER |
36 | -d php_dir=%{php_pear_dir} \\\ |
37 | -d bin_dir=%{_bindir} \\\ | |
41f876e5 | 38 | -d data_dir=%{php_pear_dir}/data \\\ |
87e862a2 | 39 | -d test_dir=%{php_pear_dir}/tests \\\ |
41f876e5 ER |
40 | install \\\ |
41 | --installroot=${D} \\\ | |
42 | --offline \\\ | |
43 | --nodeps \\\ | |
203e6ddd ER |
44 | %{S:%{-a*}%{!-a:0}} | tee install.log \ |
45 | # make post message of optional packages \ | |
4ff0af8b | 46 | grep 'can optionally use' install.log | sed -e 's,package "pear/,package "php-pear-,g' > optional-packages.txt \ |
bd91fbc8 | 47 | if [ -s optional-packages.txt ]; then \ |
4ff0af8b | 48 | awk -F'"' '/use package/{print $2}' optional-packages.txt | sed -e "s,_,/,g;s,php-pear-, 'pear(,;s,$,.*)'," | tr -d '\\\n' > _noautoreq \ |
bd91fbc8 ER |
49 | else \ |
50 | rm -f optional-packages.txt \ | |
51 | fi \ | |
41f876e5 ER |
52 | rm ./%{php_pear_dir}/.{lock,filemap} \ |
53 | # undos sources \ | |
54 | find . -type f -print0 | xargs -0 sed -i -e 's,\\r$,,' \ | |
87e862a2 | 55 | # bug in PEAR --installroot. \ |
dca16be0 | 56 | # http://pear.php.net/bugs/bug.php?id=5448 \ |
41f876e5 ER |
57 | grep -rl "${D}" ./{%{_bindir},%{php_pear_dir}}/* | xargs -r sed -i -e "s,${D},," \ |
58 | %{nil} | |
59 | ||
a3043860 ER |
60 | |
61 | # copies exctracted PEAR package structure to buildroot. also copies PEAR | |
62 | # registry file. | |
63 | # please use this macro, for future expansions being possible. | |
b32dfcf9 | 64 | %define pear_package_install() \ |
41f876e5 | 65 | cp -a ./%{php_pear_dir}/{.registry,*} $RPM_BUILD_ROOT%{php_pear_dir} \ |
bd91fbc8 ER |
66 | # help the developer out a little: \ |
67 | if [ -f _noautoreq ]; then \ | |
68 | echo "AutoReqdep detected:" \ | |
69 | echo "_noautoreq $(cat _noautoreq)" \ | |
70 | fi \ | |
41f876e5 | 71 | %{nil} |
ea5a95d2 | 72 | |
a3043860 ER |
73 | # default excludes for PEAR packages. |
74 | # if you need add something to the list use | |
75 | # %%{expand:%%%%define _noautocompressdoc %%{_noautocompressdoc} otherexcludes} in your specfile. | |
76 | ||
77 | # this file displayed in %post | |
b32dfcf9 | 78 | %define _noautocompressdoc optional-packages.txt |
087edc3b ER |
79 | |
80 | # don't provide tests | |
b32dfcf9 | 81 | %define _noautoprov 'pear(tests/.*)' |