]> git.pld-linux.org Git - packages/rpm-build-tools.git/blame_incremental - pearize.sh
- allow spaces/tabs in %define date
[packages/rpm-build-tools.git] / pearize.sh
... / ...
CommitLineData
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
10if [ ! -f $tarball ]; then
11 ./builder -g $spec
12fi
13pear makerpm $tarball
14ls -l $spec $template
15
16# adjust template
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
24
25rpm=$(rpm -q --qf '../RPMS/%{name}-%{version}.noarch.rpm' --specfile "$spec")
26if [ ! -f $rpm ]; then
27 rpmbuild -bb $spec
28fi
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
35/^%doc %{_pearname}-%{version}/d
36
37# make new %install section
38/^%install$/,/^%clean$/{
39/^%\(install\|clean\)/p
40
41/^rm -rf/{p
42a\
43install -d $RPM_BUILD_ROOT%{php_pear_dir}\
44%pear_package_install\
45
46}
47
48d
49}
50
51' $spec
52
53instdoc=$(grep '^%doc install' $template || :)
54sed -i -e "
55/%defattr(644,root,root,755)/a\
56$instdoc
57" $spec
58
59doc=$(grep '^%doc docs/%{_pearname}/' $template || :)
60if [ "$doc" ]; then
61sed -i -e '/^%doc/a\
62%doc docs/%{_pearname}/*
63' $spec
64fi
65
66perl -pi -e '
67 if (/^%{php_pear_dir}/ && !$done) {
68 print "%{php_pear_dir}/.registry/*.reg\n";
69 $done = 1;
70 }
71' $spec
72
73if grep -q '^%files tests' $template; then
74 sed -i -e '
75/^%define.*date/{
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
102vim -o $spec $template
This page took 0.031849 seconds and 4 git commands to generate.