]> git.pld-linux.org Git - packages/rpm-build-tools.git/blame - pearize.sh
- allow spaces/tabs in %define date
[packages/rpm-build-tools.git] / pearize.sh
CommitLineData
70f6b6a6
ER
1#!/bin/sh
2# creates .spec using pear makerpm command.
3# requires tarball to exist in ../SOURCES.
4#
5set -e
6spec="$1"
7tarball=$(rpm -q --qf '../SOURCES/%{name}-%{version}.tgz' --specfile "$spec" | sed -e 's,php-pear-,,')
8template=$(rpm -q --qf '%{name}-%{version}.spec' --specfile "$spec")
9
05779902
ER
10if [ ! -f $tarball ]; then
11 ./builder -g $spec
12fi
70f6b6a6 13pear makerpm $tarball
5f89133e 14ls -l $spec $template
19133cbd
ER
15
16# adjust template
70f6b6a6
ER
17# remove false sectons
18sed -i -e '/^%if 0/,/%endif/d' $template
19# and reversed true sections
20sed -i -e '/^%if !1/,/%endif/d' $template
21# kill consequtive blank lines
22# http://info.ccone.at/INFO/Mail-Archives/procmail/Jul-2004/msg00132.html
23sed -i -e '/./,$ !d;/^$/N;/\n$/D' $template
19133cbd 24
a98b9cad
ER
25rpm=$(rpm -q --qf '../RPMS/%{name}-%{version}.noarch.rpm' --specfile "$spec")
26if [ ! -f $rpm ]; then
27 rpmbuild -bb $spec
28fi
19133cbd
ER
29
30# prepare original spec
31sed -i -e '
32# simple changes
33s/^%setup -q -c/%pear_package_setup/
34/^BuildRequires:/s/rpm-php-pearprov >= 4.0.2-98/rpm-php-pearprov >= 4.4.2-11/g
c9f81079 35/^%doc %{_pearname}-%{version}/d
19133cbd
ER
36
37# make new %install section
38/^%install$/,/^%clean$/{
39/^%\(install\|clean\)/p
40
41/^rm -rf/{p
42a\
05779902 43install -d $RPM_BUILD_ROOT%{php_pear_dir}\
19133cbd
ER
44%pear_package_install\
45
46}
47
48d
49}
50
51' $spec
52
5f89133e 53instdoc=$(grep '^%doc install' $template || :)
19133cbd
ER
54sed -i -e "
55/%defattr(644,root,root,755)/a\
c9f81079 56$instdoc
19133cbd
ER
57" $spec
58
5f89133e 59doc=$(grep '^%doc docs/%{_pearname}/' $template || :)
c9f81079
ER
60if [ "$doc" ]; then
61sed -i -e '/^%doc/a\
62%doc docs/%{_pearname}/*
63' $spec
64fi
65
5f89133e
ER
66perl -pi -e '
67 if (/^%{php_pear_dir}/ && !$done) {
68 print "%{php_pear_dir}/.registry/*.reg\n";
69 $done = 1;
70 }
c9f81079
ER
71' $spec
72
05779902
ER
73if grep -q '^%files tests' $template; then
74 sed -i -e '
8aad23cc 75/^%define.*date/{
05779902
ER
76i\
77%files tests\
78%defattr(644,root,root,755)\
79%{php_pear_dir}/tests/*\
80
81}
82
83/^%prep/{
84i\
85%package tests\
86Summary: Tests for PEAR::%{_pearname}\
87Summary(pl): Testy dla PEAR::%{_pearname}\
88Group: Development\
89Requires: %{name} = %{epoch}:%{version}-%{release}\
90AutoReq: no\
91\
92%description tests\
93Tests for PEAR::%{_pearname}.\
94\
95%description tests -l pl\
96Testy dla PEAR::%{_pearname}.\
97
98}
99' $spec
100fi
101
70f6b6a6 102vim -o $spec $template
This page took 0.041762 seconds and 4 git commands to generate.