]> git.pld-linux.org Git - packages/rpm-build-tools.git/blob - pearize.sh
- include tests package, if available
[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 if [ ! -f $tarball ]; then
11         ./builder -g $spec
12 fi
13 pear makerpm $tarball
14 ls -l $spec $template
15
16 # adjust template
17 # remove false sectons
18 sed -i -e '/^%if 0/,/%endif/d' $template
19 # and reversed true sections
20 sed -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
23 sed -i -e '/./,$ !d;/^$/N;/\n$/D' $template
24
25 #rpmbuild -bb $spec
26
27 # prepare original spec
28 sed -i -e '
29 # simple changes
30 s/^%setup -q -c/%pear_package_setup/
31 /^BuildRequires:/s/rpm-php-pearprov >= 4.0.2-98/rpm-php-pearprov >= 4.4.2-11/g
32 /^%doc %{_pearname}-%{version}/d
33
34 # make new %install section
35 /^%install$/,/^%clean$/{
36 /^%\(install\|clean\)/p
37
38 /^rm -rf/{p
39 a\
40 install -d $RPM_BUILD_ROOT%{php_pear_dir}\
41 %pear_package_install\
42
43 }
44
45 d
46 }
47
48 ' $spec
49
50 instdoc=$(grep '^%doc install' $template || :)
51 sed -i -e "
52 /%defattr(644,root,root,755)/a\
53 $instdoc
54 " $spec
55
56 doc=$(grep '^%doc docs/%{_pearname}/' $template || :)
57 if [ "$doc" ]; then
58 sed -i -e '/^%doc/a\
59 %doc docs/%{_pearname}/*
60 ' $spec
61 fi
62
63 perl -pi -e '
64         if (/^%{php_pear_dir}/ && !$done) {
65                 print "%{php_pear_dir}/.registry/*.reg\n";
66                 $done = 1;
67         }
68 ' $spec
69
70 if grep -q '^%files tests' $template; then
71         sed -i -e '
72 /^%define date/{
73 i\
74 %files tests\
75 %defattr(644,root,root,755)\
76 %{php_pear_dir}/tests/*\
77
78 }
79
80 /^%prep/{
81 i\
82 %package tests\
83 Summary:        Tests for PEAR::%{_pearname}\
84 Summary(pl):    Testy dla PEAR::%{_pearname}\
85 Group:          Development\
86 Requires:       %{name} = %{epoch}:%{version}-%{release}\
87 AutoReq:        no\
88 \
89 %description tests\
90 Tests for PEAR::%{_pearname}.\
91 \
92 %description tests -l pl\
93 Testy dla PEAR::%{_pearname}.\
94
95 }
96 ' $spec
97 fi
98
99 vim -o $spec $template
This page took 0.041821 seconds and 4 git commands to generate.