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