]> git.pld-linux.org Git - packages/rpm-build-tools.git/blob - pearize.sh
- add .registry
[packages/rpm-build-tools.git] / pearize.sh
1 #!/bin/sh
2 # creates .spec using pear makerpm command.
3 # requires tarball to exist in ../SOURCES.
4 #
5 set -e
6 spec="$1"
7 tarball=$(rpm -q --qf '../SOURCES/%{name}-%{version}.tgz' --specfile "$spec" | sed -e 's,php-pear-,,')
8 template=$(rpm -q --qf '%{name}-%{version}.spec' --specfile "$spec")
9
10 pear makerpm $tarball
11 ls -l $spec $template
12
13 # adjust template
14 # remove false sectons
15 sed -i -e '/^%if 0/,/%endif/d' $template
16 # and reversed true sections
17 sed -i -e '/^%if !1/,/%endif/d' $template
18 # kill consequtive blank lines
19 # http://info.ccone.at/INFO/Mail-Archives/procmail/Jul-2004/msg00132.html
20 sed -i -e '/./,$ !d;/^$/N;/\n$/D' $template
21
22 #rpmbuild -bb $spec
23
24 # prepare original spec
25 sed -i -e '
26 # simple changes
27 s/^%setup -q -c/%pear_package_setup/
28 /^BuildRequires:/s/rpm-php-pearprov >= 4.0.2-98/rpm-php-pearprov >= 4.4.2-11/g
29 /^%doc %{_pearname}-%{version}/d
30
31 # make new %install section
32 /^%install$/,/^%clean$/{
33 /^%\(install\|clean\)/p
34
35 /^rm -rf/{p
36 a\
37 %pear_package_install\
38
39 }
40
41 d
42 }
43
44 ' $spec
45
46 instdoc=$(grep '^%doc install' $template || :)
47 sed -i -e "
48 /%defattr(644,root,root,755)/a\
49 $instdoc
50 " $spec
51
52 doc=$(grep '^%doc docs/%{_pearname}/' $template || :)
53 if [ "$doc" ]; then
54 sed -i -e '/^%doc/a\
55 %doc docs/%{_pearname}/*
56 ' $spec
57 fi
58
59 perl -pi -e '
60         if (/^%{php_pear_dir}/ && !$done) {
61                 print "%{php_pear_dir}/.registry/*.reg\n";
62                 $done = 1;
63         }
64 ' $spec
65
66 vim -o $spec $template
This page took 0.080573 seconds and 4 git commands to generate.