]> git.pld-linux.org Git - packages/php-pear.git/blob - php-pear.spec
- added bootstrap bcond
[packages/php-pear.git] / php-pear.spec
1 #
2 # Conditional build:
3 %bcond_with     bootstrap       # bootstrap build without PEAR installed (for first php-pear-PEAR installation)
4
5 Summary:        PEAR - PHP Extension and Application Repository
6 Summary(pl.UTF-8):      PEAR - rozszerzenie PHP i repozytorium aplikacji
7 Name:           php-pear
8 Version:        1.4
9 Release:        2
10 Epoch:          4
11 License:        Public Domain
12 Group:          Development/Languages/PHP
13 Source0:        php-channel-prov.php
14 Source100:      update-channels.sh
15 Source1:        channel-phing.xml
16 Source2:        channel-phpdb.xml
17 Source3:        channel-firephp.xml
18 Source4:        channel-symfony.xml
19 Source5:        channel-phpunit.xml
20 Source6:        channel-phpseclib.xml
21 Source7:        channel-horde.xml
22 Source8:        channel-rc.xml
23 Source9:        channel-ezc.xml
24 Source10:       channel-propel.xml
25 Source11:       channel-docblox.xml
26 Source12:       channel-michelf.xml
27 Source13:       channel-phpmd.xml
28 Source14:       channel-pdepend.xml
29 Source15:       channel-symfony2.xml
30 Source16:       channel-saucelabs.xml
31 Source17:       channel-twig.xml
32 Source18:       channel-zz.xml
33 Source19:       channel-theseer.xml
34 Source20:       channel-indeyets.xml
35 Source21:       channel-phpdoc.xml
36 Source22:       channel-bartlett.xml
37 %if %{without bootstrap}
38 BuildRequires:  /usr/bin/php
39 BuildRequires:  php-pear-PEAR >= 1:1.9.0
40 %endif
41 BuildRequires:  rpmbuild(macros) >= 1.570
42 Requires:       php-dirs >= 1.6-1
43 Obsoletes:      php-pear-additional_classes
44 Obsoletes:      php4-pear
45 Conflicts:      php-pear-PEAR < 1:1.7.2-10
46 BuildArch:      noarch
47 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
48
49 %define         __reg_provides  %{__php} %{SOURCE0}
50
51 # find channel provides
52 %define         _use_internal_dependency_generator 0
53 %define         __find_provides %{__reg_provides}
54 %define         __find_requires %{nil}
55
56 # avoid rpm 4.4.9 adding rm -rf buildroot, we need the dirs to check consistency
57 %define         __spec_clean_body       %{nil}
58
59 %description
60 PEAR - PHP Extension and Application Repository.
61
62 Please note that this package provides only basic directory structure.
63 If you want to use base PEAR classes (PEAR.php, PEAR/*.php), that come
64 with PHP, please install appropriate php-pear-* (php-pear-PEAR,
65 php-pear-Archive_Tar, etc) packages.
66
67 %description -l pl.UTF-8
68 PEAR (PHP Extension and Application Repository) - rozszerzenie PHP i
69 repozytorium aplikacji.
70
71 Należy pamiętać, że ten pakiet dostarcza tylko podstawową strukturę
72 katalogów. Aby użyć podstawowych klas PEAR (PEAR.php PEAR/*.php),
73 dostarczanych z PHP, należy zainstalować odpowiednie pakiety
74 php-pear-* (php-pear-PEAR, php-pear-Archive_Tar, itp).
75
76 %prep
77 %setup -qcT
78
79 %build
80 rm -rf pear
81 install -d pear
82
83 %if %{without bootstrap}
84 # add extra channels
85 %{__pear} -c pearrc config-set php_dir pear
86 for xml in $(awk '/^Source[0-9]+:.+channel-.+.xml$/ {print $NF}' %{_specdir}/%{name}.spec); do
87         %{__pear} -c pearrc channel-add %{_sourcedir}/$xml
88 done
89 %endif
90
91 %install
92 install -d $RPM_BUILD_ROOT%{php_pear_dir}/{.channels/.alias,.registry,bin,data,tests}
93 %if %{without bootstrap}
94 cp -a pear/.??* $RPM_BUILD_ROOT%{php_pear_dir}
95 %else
96 touch $RPM_BUILD_ROOT%{php_pear_dir}/{.depdblock,.depdb,.filemap,.lock}
97 %endif
98
99 while read dir; do
100         install -d $RPM_BUILD_ROOT$dir
101 done <<EOF
102 %{php_pear_dir}/Archive
103 %{php_pear_dir}/Auth
104 %{php_pear_dir}/Cache
105 %{php_pear_dir}/Console
106 %{php_pear_dir}/Contact
107 %{php_pear_dir}/Crypt
108 %{php_pear_dir}/Event
109 %{php_pear_dir}/File
110 %{php_pear_dir}/Genealogy
111 %{php_pear_dir}/Gtk
112 %{php_pear_dir}/Gtk2
113 %{php_pear_dir}/HTML
114 %{php_pear_dir}/HTML/QuickForm
115 %{php_pear_dir}/HTML/Table
116 %{php_pear_dir}/HTML/Template
117 %{php_pear_dir}/HTTP
118 %{php_pear_dir}/HTTP/WebDAV
119 %{php_pear_dir}/HTTP/WebDAV/Tools
120 %{php_pear_dir}/Horde
121 %{php_pear_dir}/Horde/Stream
122 %{php_pear_dir}/Horde/Text
123 %{php_pear_dir}/Horde/Xml
124 %{php_pear_dir}/I18N
125 %{php_pear_dir}/Image
126 %{php_pear_dir}/MP3
127 %{php_pear_dir}/Mail
128 %{php_pear_dir}/Math
129 %{php_pear_dir}/Net
130 %{php_pear_dir}/Net/UserAgent
131 %{php_pear_dir}/Numbers
132 %{php_pear_dir}/PHP
133 %{php_pear_dir}/Payment
134 %{php_pear_dir}/QA
135 %{php_pear_dir}/Science
136 %{php_pear_dir}/SebastianBergmann
137 %{php_pear_dir}/Services
138 %{php_pear_dir}/Structures
139 %{php_pear_dir}/Symfony
140 %{php_pear_dir}/Symfony/Bridge
141 %{php_pear_dir}/Symfony/Component
142 %{php_pear_dir}/Testing
143 %{php_pear_dir}/Text
144 %{php_pear_dir}/Text/CAPTCHA
145 %{php_pear_dir}/Text/Spell
146 %{php_pear_dir}/URI
147 %{php_pear_dir}/Validate
148 %{php_pear_dir}/Validate/Finance
149 %{php_pear_dir}/VersionControl
150 %{php_pear_dir}/XML
151 EOF
152
153 %clean
154 check_channel_dirs() {
155         local RPMFILE=%{name}-%{version}-%{release}.%{_target_cpu}.rpm
156         local installed=$(mktemp -t instXXXXXX.tmp)
157         local rpmfiles=$(mktemp -t rpmXXXXXX.tmp)
158         local rc diff=$(mktemp -t diffXXXXXX.tmp)
159
160         find $RPM_BUILD_ROOT%{php_pear_dir} | LC_ALL=C sort > $installed
161         sed -i -re "s#^$RPM_BUILD_ROOT%{php_pear_dir}/?##" $installed
162
163         rpm -qpl %{_rpmdir}/$RPMFILE | LC_ALL=C sort > $rpmfiles
164
165         sed -i -re "s#^%{php_pear_dir}/?##" $rpmfiles
166
167         # find finds also '.', so use option -B for diff
168         if ! diff -uB $installed $rpmfiles > $diff; then
169                 cat <<-EOF
170
171                 ERROR: some files/directories are not included in package:
172
173                 $(%{__sed} -ne '/^-[^-]/ s#^-#%%{php_pear_dir}/#p' $diff)
174
175                 EOF
176
177                 exit 1
178         fi
179         rm -rf $RPM_BUILD_ROOT
180         rm -f $installed $rpmfiles $diff
181 }
182
183 check_channel_dirs
184
185 %files
186 %defattr(644,root,root,755)
187 %dir %{php_pear_dir}
188 %{php_pear_dir}/*
189
190 # PEAR state files
191 %ghost %{php_pear_dir}/.depdblock
192 %ghost %{php_pear_dir}/.depdb
193 %ghost %{php_pear_dir}/.filemap
194 %ghost %{php_pear_dir}/.lock
195
196 %dir %{php_pear_dir}/.registry
197 %dir %{php_pear_dir}/.channels
198 %dir %{php_pear_dir}/.channels/.alias
199
200 %if %{without bootstrap}
201 # core channels
202 %{php_pear_dir}/.channels/__uri.reg
203 %{php_pear_dir}/.registry/.channel.__uri
204
205 %{php_pear_dir}/.channels/.alias/pear.txt
206 %{php_pear_dir}/.channels/pear.php.net.reg
207
208 %{php_pear_dir}/.channels/.alias/pecl.txt
209 %{php_pear_dir}/.channels/pecl.php.net.reg
210 %{php_pear_dir}/.registry/.channel.pecl.php.net
211
212 %{php_pear_dir}/.channels/.alias/phpdocs.txt
213 %{php_pear_dir}/.channels/doc.php.net.reg
214 %{php_pear_dir}/.registry/.channel.doc.php.net
215
216 # addon channels
217 %{php_pear_dir}/.channels/.alias/phpunit.txt
218 %{php_pear_dir}/.channels/pear.phpunit.de.reg
219 %{php_pear_dir}/.registry/.channel.pear.phpunit.de
220
221 %{php_pear_dir}/.channels/.alias/phing.txt
222 %{php_pear_dir}/.channels/pear.phing.info.reg
223 %{php_pear_dir}/.registry/.channel.pear.phing.info
224
225 %{php_pear_dir}/.channels/.alias/phpdb.txt
226 %{php_pear_dir}/.channels/pear.phpdb.org.reg
227 %{php_pear_dir}/.registry/.channel.pear.phpdb.org
228
229 %{php_pear_dir}/.channels/.alias/firephp.txt
230 %{php_pear_dir}/.channels/pear.firephp.org.reg
231 %{php_pear_dir}/.registry/.channel.pear.firephp.org
232
233 %{php_pear_dir}/.channels/.alias/symfony.txt
234 %{php_pear_dir}/.channels/pear.symfony-project.com.reg
235 %{php_pear_dir}/.registry/.channel.pear.symfony-project.com
236
237 %{php_pear_dir}/.channels/.alias/phpseclib.txt
238 %{php_pear_dir}/.channels/phpseclib.sourceforge.net.reg
239 %{php_pear_dir}/.registry/.channel.phpseclib.sourceforge.net
240
241 %{php_pear_dir}/.channels/.alias/horde.txt
242 %{php_pear_dir}/.channels/pear.horde.org.reg
243 %{php_pear_dir}/.registry/.channel.pear.horde.org
244
245 %{php_pear_dir}/.channels/.alias/rc.txt
246 %{php_pear_dir}/.channels/pear.roundcube.net.reg
247 %{php_pear_dir}/.registry/.channel.pear.roundcube.net
248
249 %{php_pear_dir}/.channels/.alias/ezc.txt
250 %{php_pear_dir}/.channels/components.ez.no.reg
251 %{php_pear_dir}/.registry/.channel.components.ez.no
252
253 %{php_pear_dir}/.channels/.alias/propel.txt
254 %{php_pear_dir}/.channels/pear.propelorm.org.reg
255 %{php_pear_dir}/.registry/.channel.pear.propelorm.org
256
257 %{php_pear_dir}/.channels/.alias/docblox.txt
258 %{php_pear_dir}/.channels/pear.docblox-project.org.reg
259 %{php_pear_dir}/.registry/.channel.pear.docblox-project.org
260
261 %{php_pear_dir}/.channels/.alias/michelf.txt
262 %{php_pear_dir}/.channels/pear.michelf.com.reg
263 %{php_pear_dir}/.registry/.channel.pear.michelf.com
264
265 %{php_pear_dir}/.channels/.alias/pdepend.txt
266 %{php_pear_dir}/.channels/pear.pdepend.org.reg
267 %{php_pear_dir}/.registry/.channel.pear.pdepend.org
268
269 %{php_pear_dir}/.channels/.alias/phpmd.txt
270 %{php_pear_dir}/.channels/pear.phpmd.org.reg
271 %{php_pear_dir}/.registry/.channel.pear.phpmd.org
272
273 %{php_pear_dir}/.channels/.alias/symfony2.txt
274 %{php_pear_dir}/.channels/pear.symfony.com.reg
275 %{php_pear_dir}/.registry/.channel.pear.symfony.com
276
277 %{php_pear_dir}/.channels/.alias/saucelabs.txt
278 %{php_pear_dir}/.channels/saucelabs.github.com_pear.reg
279 %{php_pear_dir}/.registry/.channel.saucelabs.github.com_pear
280
281 %{php_pear_dir}/.channels/.alias/twig.txt
282 %{php_pear_dir}/.channels/pear.twig-project.org.reg
283 %{php_pear_dir}/.registry/.channel.pear.twig-project.org
284
285 %{php_pear_dir}/.channels/.alias/zz.txt
286 %{php_pear_dir}/.channels/zustellzentrum.cweiske.de.reg
287 %{php_pear_dir}/.registry/.channel.zustellzentrum.cweiske.de
288
289 %{php_pear_dir}/.channels/.alias/theseer.txt
290 %{php_pear_dir}/.channels/pear.netpirates.net.reg
291 %{php_pear_dir}/.registry/.channel.pear.netpirates.net
292
293 %{php_pear_dir}/.channels/.alias/indeyets.txt
294 %{php_pear_dir}/.channels/pear.indeyets.ru.reg
295 %{php_pear_dir}/.registry/.channel.pear.indeyets.ru
296
297 %{php_pear_dir}/.channels/.alias/phpdoc.txt
298 %{php_pear_dir}/.channels/pear.phpdoc.org.reg
299 %{php_pear_dir}/.registry/.channel.pear.phpdoc.org
300
301 %{php_pear_dir}/.channels/.alias/bartlett.txt
302 %{php_pear_dir}/.channels/bartlett.laurent-laville.org.reg
303 %{php_pear_dir}/.registry/.channel.bartlett.laurent-laville.org
304 %endif
This page took 0.164028 seconds and 3 git commands to generate.