3 %bcond_with bootstrap # bootstrap build without PEAR installed (for first php-pear-PEAR installation)
5 Summary: PEAR - PHP Extension and Application Repository
6 Summary(pl.UTF-8): PEAR - rozszerzenie PHP i repozytorium aplikacji
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
41 BuildRequires: rpmbuild(macros) >= 1.570
42 Requires: php-dirs >= 1.6-1
43 Obsoletes: php-pear-additional_classes
45 Conflicts: php-pear-PEAR < 1:1.7.2-10
47 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49 %define __reg_provides %{__php} %{SOURCE0}
51 # find channel provides
52 %define _use_internal_dependency_generator 0
53 %define __find_provides %{__reg_provides}
54 %define __find_requires %{nil}
56 # avoid rpm 4.4.9 adding rm -rf buildroot, we need the dirs to check consistency
57 %define __spec_clean_body %{nil}
60 PEAR - PHP Extension and Application Repository.
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.
67 %description -l pl.UTF-8
68 PEAR (PHP Extension and Application Repository) - rozszerzenie PHP i
69 repozytorium aplikacji.
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).
83 %if %{without bootstrap}
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
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}
96 touch $RPM_BUILD_ROOT%{php_pear_dir}/{.depdblock,.depdb,.filemap,.lock}
100 install -d $RPM_BUILD_ROOT$dir
102 %{php_pear_dir}/Archive
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
110 %{php_pear_dir}/Genealogy
114 %{php_pear_dir}/HTML/QuickForm
115 %{php_pear_dir}/HTML/Table
116 %{php_pear_dir}/HTML/Template
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
125 %{php_pear_dir}/Image
130 %{php_pear_dir}/Net/UserAgent
131 %{php_pear_dir}/Numbers
133 %{php_pear_dir}/Payment
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
144 %{php_pear_dir}/Text/CAPTCHA
145 %{php_pear_dir}/Text/Spell
147 %{php_pear_dir}/Validate
148 %{php_pear_dir}/Validate/Finance
149 %{php_pear_dir}/VersionControl
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)
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
163 rpm -qpl %{_rpmdir}/$RPMFILE | LC_ALL=C sort > $rpmfiles
165 sed -i -re "s#^%{php_pear_dir}/?##" $rpmfiles
167 # find finds also '.', so use option -B for diff
168 if ! diff -uB $installed $rpmfiles > $diff; then
171 ERROR: some files/directories are not included in package:
173 $(%{__sed} -ne '/^-[^-]/ s#^-#%%{php_pear_dir}/#p' $diff)
179 rm -rf $RPM_BUILD_ROOT
180 rm -f $installed $rpmfiles $diff
186 %defattr(644,root,root,755)
191 %ghost %{php_pear_dir}/.depdblock
192 %ghost %{php_pear_dir}/.depdb
193 %ghost %{php_pear_dir}/.filemap
194 %ghost %{php_pear_dir}/.lock
196 %dir %{php_pear_dir}/.registry
197 %dir %{php_pear_dir}/.channels
198 %dir %{php_pear_dir}/.channels/.alias
200 %if %{without bootstrap}
202 %{php_pear_dir}/.channels/__uri.reg
203 %{php_pear_dir}/.registry/.channel.__uri
205 %{php_pear_dir}/.channels/.alias/pear.txt
206 %{php_pear_dir}/.channels/pear.php.net.reg
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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