1 %define subver 2022-07-31a
2 %define ver %(echo %{subver} | tr -d -)
5 %define php_min_version 7.2
6 Summary: PHP-based Wiki webapplication
7 Summary(pl.UTF-8): Aplikacja WWW Wiki oparta na PHP
12 Group: Applications/WWW
13 # Source0Download: https://download.dokuwiki.org/archive
14 Source0: https://download.dokuwiki.org/src/dokuwiki/%{name}-%{subver}.tgz
15 # Source0-md5: 4459ea99e3a4ce2b767482f505724dcc
16 Source1: %{name}-apache.conf
17 Source2: %{name}-lighttpd.conf
18 Source3: http://glen.alkohol.ee/pld/jude.png
19 # Source3-md5: 623344128960e18f86097dfee213ad4a
21 Source6: pld_button.png
22 # Source6-md5: 185afa921e81bd726b9f0f9f0909dc6e
25 Source9: http://trac.edgewall.org/export/9404/trunk/doc/trac_icon_16x16.png
26 # Source9-md5: 0c19ed35bf677f33f6bea14b3a8a2e10
28 Source11: http://glen.alkohol.ee/pld/astah.png
29 # Source11-md5: b1c999e6988440c9e2af6a12e9a56451
31 # Source12-md5: 619cec6f2b083269b1ec9cd50d9e6ef2
32 Source13: http://mirrors.jenkins-ci.org/art/jenkins-logo/16x16/headshot.png?/jenkins.png
33 # Source13-md5: ae892e4ca43ffab88f6e3dca951f3e8a
34 Patch66: %{name}-config.patch
35 Patch0: %{name}-paths.patch
36 Patch2: style-width.patch
37 Patch5: %{name}-http_auth-option.patch
38 Patch8: %{name}-notify-respect-minor.patch
39 Patch10: %{name}-mailtext.patch
40 Patch11: %{name}-notifyns.patch
41 Patch19: pld-branding.patch
42 Patch21: task-1821.patch
43 Patch24: more-buttons.patch
44 Patch27: iconsizes-dump.patch
45 URL: https://www.dokuwiki.org/
47 BuildRequires: rpm-php-pearprov >= 4.4.2-11
48 BuildRequires: rpmbuild(find_lang) >= 1.41
49 BuildRequires: rpmbuild(macros) >= 1.693
50 Requires: php(core) >= %{php_min_version}
51 Requires: php(session)
53 Requires: php-geshi >= 1.0.7.19
54 Requires: php-seclib >= 0.3.5
55 Requires: php-simplepie >= 1.0.1
57 Requires: webserver(access)
58 Requires: webserver(alias)
59 Requires: webserver(php)
61 Obsoletes: dokuwiki-plugin-jquery
62 Obsoletes: dokuwiki-plugin-showlogin2
63 Conflicts: dokuwiki-plugin-gallery < 20161222
64 Conflicts: dokuwiki-plugin-icalevents < 20120909
65 Conflicts: dokuwiki-plugin-include < 20181129
66 Conflicts: dokuwiki-plugin-odt < 20170218
67 # can use gz compression to store attic pages
70 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
72 %define _webapps /etc/webapps
73 %define _webapp %{name}
74 %define _sysconfdir %{_webapps}/%{_webapp}
75 %define _appdir %{_datadir}/%{_webapp}
76 %define _localstatedir /var/lib/%{name}
77 %define _cachedir /var/cache/%{name}
78 %define _logdir /var/log/php/%{name}
80 %define _noautoreq_pear lib/byte_safe_strings.php lib/cast_to_int.php lib/error_polyfill.php lib/random.php other/ide_stubs/libsodium.php
82 # exclude optional php dependencies
83 %define _noautophp php-bzip2 php-bcmath php-zip php-date php-ftp php-hash php-ldap php-mbstring php-mysql php-pgsql php-tokenizer
85 %define _noautoreq %{_noautophp}
88 DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at
89 creating documentation of any kind. It is targeted at developer teams,
90 workgroups and small companies. It has a simple but powerful syntax
91 which makes sure the datafiles remain readable outside the Wiki and
92 eases the creation of structured texts. All data is stored in plain
93 text files - no database is required.
95 %description -l pl.UTF-8
96 DokuWiki to zgodne ze standardami i proste w użyciu Wiki, przeznaczone
97 głównie do tworzenia dokumentów wszelkiego rodzaju. Jest przeznaczone
98 dla zespołów programistów, grup roboczych i małych firm. Ma prostą,
99 ale mającą duże możliwości składnię, dzięki której pliki danych
100 pozostają czytelne poza Wiki, a także ułatwiającą tworzenie tekstów
101 strukturalnych. Wszystkie dane są przechowywane w plikach tekstowych -
102 nie jest wymagana baza danych.
105 Summary: DokuWiki setup package
106 Summary(pl.UTF-8): Pakiet do wstępnej konfiguracji DokuWiki
107 Group: Applications/WWW
108 Requires: %{name} = %{version}-%{release}
111 Install this package to configure initial DokuWiki installation. You
112 should uninstall this package when you're done, as it considered
113 insecure to keep the setup files in place.
115 %description setup -l pl.UTF-8
116 Ten pakiet należy zainstalować w celu wstępnej konfiguracji DokuWiki
117 po pierwszej instalacji. Potem należy go odinstalować, jako że
118 pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
121 %setup -q -n %{name}-%{?rc_:rc}%{subver} %{?snap:-c}
124 test -e VERSION || echo %{subver}-git > VERSION
126 install -d data/pages/playground
127 test -e data/pages/playground/playground.txt || \
128 echo '====== PlayGround ======' > data/pages/playground/playground.txt
142 # package as basenames, upgrade overwrite protected with .rpmnew
143 mv conf/local.php{.dist,}
144 mv conf/acl.auth.php{.dist,}
145 mv conf/users.auth.php{.dist,}
146 mv conf/mysql.conf.php{.example,}
148 find -name _dummy | xargs %{__rm}
149 %{__rm} lib/index.html lib/plugins/index.html lib/images/index.html
150 %{__rm} {conf,inc,bin,data}/.htaccess
151 %{__rm} vendor/.htaccess
152 %{__rm} lib/plugins/styling/.travis.yml
153 %{__rm} -r lib/plugins/testing
154 %{__rm} -r lib/plugins/*/_test
156 # we just don't package deleted files, these get removed automatically on rpm upgrades
157 %{__rm} data/deleted.files
158 # source for dont-panic-if-you-see-this-in-your-logs-it-means-your-directory-permissions-are-correct.png
159 %{__rm} data/dont-panic-if-you-see-this-in-your-logs-it-means-your-directory-permissions-are-correct.xcf
161 %{__rm} lib/scripts/jquery/update.sh
163 # use system geshi package
164 %{__rm} -r vendor/geshi/geshi
165 install -d vendor/geshi/geshi/src
166 %{__ln} -snf %{php_data_dir}/geshi.php vendor/geshi/geshi/src/geshi.php
168 # use system simplepie package
169 #%{__rm} inc/SimplePie.php
171 # pagetools - tools for development
172 %{__rm} -r lib/tpl/dokuwiki/images/pagetools
173 %{__rm} lib/tpl/dokuwiki/images/pagetools-build*
175 %{__sed} -i -e '1 s,#!.*php,#!/usr/bin/php,' bin/*.php
177 # cleanup backups after patching
178 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
181 rm -rf $RPM_BUILD_ROOT
182 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir},%{_logdir}}
185 cp -al VERSION $RPM_BUILD_ROOT%{_appdir} 2>/dev/null && l=l
187 cp -a$l *.php $RPM_BUILD_ROOT%{_appdir}
188 cp -p$l VERSION $RPM_BUILD_ROOT%{_appdir}
189 cp -a$l bin $RPM_BUILD_ROOT%{_appdir}
190 cp -a$l inc $RPM_BUILD_ROOT%{_appdir}
191 cp -a$l lib $RPM_BUILD_ROOT%{_appdir}
192 cp -a$l vendor $RPM_BUILD_ROOT%{_appdir}
193 cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
194 cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
195 touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
196 touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
197 touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
198 touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
199 touch $RPM_BUILD_ROOT%{_sysconfdir}/plugins.local.php
200 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
201 touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
202 touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
203 touch $RPM_BUILD_ROOT%{_sysconfdir}/userscript.js
204 touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
206 # https://github.com/splitbrain/dokuwiki/pull/1247
207 #ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
208 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
209 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
210 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
211 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
212 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
213 cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/gitlab.png
214 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/jenkins.png
216 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
217 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
219 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/dokuwiki/images/button-pld.png
221 # hardlink identical icons.
222 findup -m $RPM_BUILD_ROOT
224 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
225 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
226 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
229 %find_lang %{name}.lang --with-dokuwiki
232 rm -rf $RPM_BUILD_ROOT
235 chmod 770 %{_sysconfdir}
236 chmod 660 %{_sysconfdir}/local.php
237 chmod 660 %{_sysconfdir}/plugins.local.php
240 if [ "$1" = "0" ]; then
241 if [ -f %{_sysconfdir}/dokuwiki.php ]; then
242 chmod 750 %{_sysconfdir}
243 chmod 640 %{_sysconfdir}/local.php
244 chmod 640 %{_sysconfdir}/plugins.local.php
248 %triggerin -- apache1 < 1.3.37-3, apache1-base
249 %webapp_register apache %{_webapp}
251 %triggerun -- apache1 < 1.3.37-3, apache1-base
252 %webapp_unregister apache %{_webapp}
254 %triggerin -- apache < 2.2.0, apache-base
255 %webapp_register httpd %{_webapp}
257 %triggerun -- apache < 2.2.0, apache-base
258 %webapp_unregister httpd %{_webapp}
260 %triggerin -- lighttpd
261 %webapp_register lighttpd %{_webapp}
263 %triggerun -- lighttpd
264 %webapp_unregister lighttpd %{_webapp}
267 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
268 mv -f %{_appdir}/data/* %{_localstatedir}
269 rm -rf %{_appdir}/data
271 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
272 mv -f %{_appdir}/conf/* %{_sysconfdir}
273 rm -rf %{_appdir}/conf
275 if [ -d %{_localstatedir}/cache ]; then
276 rm -rf %{_localstatedir}/cache
280 %files -f %{name}.lang
281 %defattr(644,root,root,755)
283 %dir %attr(750,root,http) %verify(not mode) %{_sysconfdir}
284 %dir %attr(750,root,http) %{_sysconfdir}/lang
285 %dir %attr(750,root,http) %{_sysconfdir}/plugin_lang
286 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
287 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
288 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
290 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
291 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.php
292 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
294 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acl.auth.php
295 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
296 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
297 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
298 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
299 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
300 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
301 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql.conf.php
302 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
303 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/users.auth.php
304 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userscript.js
305 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
307 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/local.php
308 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/plugins.local.php
310 # use local.php, local.protected.php, etc for local changes
311 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
312 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
313 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
314 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
315 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
316 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/wordblock.conf
317 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/manifest.json
319 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
320 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
321 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/plugins.required.php
329 %attr(755,root,root) %{_appdir}/bin/dwpage.php
330 %attr(755,root,root) %{_appdir}/bin/gittool.php
331 %attr(755,root,root) %{_appdir}/bin/indexer.php
332 %attr(755,root,root) %{_appdir}/bin/plugin.php
333 %attr(755,root,root) %{_appdir}/bin/render.php
334 %attr(755,root,root) %{_appdir}/bin/striplangs.php
335 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
339 %{_appdir}/inc/preload.php.dist
340 %{_appdir}/inc/Action
342 %{_appdir}/inc/ChangeLog
344 %{_appdir}/inc/Exception
345 %{_appdir}/inc/Extension
351 %{_appdir}/inc/Parsing
352 %{_appdir}/inc/Remote
353 %{_appdir}/inc/Search
354 %{_appdir}/inc/Sitemap
355 %{_appdir}/inc/Subscriptions
358 %{_appdir}/inc/parser
360 # composer generated vendor autoload
361 %dir %{_appdir}/vendor
362 %{_appdir}/vendor/README
363 %{_appdir}/vendor/autoload.php
364 %{_appdir}/vendor/composer
367 # verbose files to detect new addons
368 %dir %{_appdir}/vendor/aziraphale
369 %dir %{_appdir}/vendor/geshi
370 %dir %{_appdir}/vendor/kissifrot
371 %dir %{_appdir}/vendor/marcusschwarz
372 %dir %{_appdir}/vendor/openpsa
373 %dir %{_appdir}/vendor/phpseclib
374 %dir %{_appdir}/vendor/simplepie
375 %dir %{_appdir}/vendor/splitbrain
376 %{_appdir}/vendor/aziraphale/email-address-validator
377 %{_appdir}/vendor/geshi/geshi
378 %{_appdir}/vendor/kissifrot/php-ixr
379 %{_appdir}/vendor/marcusschwarz/lesserphp
380 %{_appdir}/vendor/openpsa/universalfeedcreator
381 %{_appdir}/vendor/phpseclib/phpseclib
382 %{_appdir}/vendor/simplepie/simplepie
383 %{_appdir}/vendor/splitbrain/php-archive
384 %{_appdir}/vendor/splitbrain/php-cli
385 %{_appdir}/vendor/splitbrain/slika
388 # allow plugins dir permission change to allow installation of plugins from admin
389 # however does not work with rpm 4.5
390 %dir %config %verify(not group mode) %{_appdir}/lib/plugins
392 %{_appdir}/lib/plugins/*.php
393 %dir %{_appdir}/lib/plugins/acl
394 %{_appdir}/lib/plugins/acl/*.*
395 %{_appdir}/lib/plugins/acl/pix
396 %dir %{_appdir}/lib/plugins/authad
397 %{_appdir}/lib/plugins/authad/*.php
398 %{_appdir}/lib/plugins/authad/*.txt
399 %{_appdir}/lib/plugins/authad/adLDAP
400 %{_appdir}/lib/plugins/authad/conf
401 %dir %{_appdir}/lib/plugins/authldap
402 %{_appdir}/lib/plugins/authldap/*.php
403 %{_appdir}/lib/plugins/authldap/*.txt
404 %{_appdir}/lib/plugins/authldap/conf
405 %dir %{_appdir}/lib/plugins/authpdo
406 %{_appdir}/lib/plugins/authpdo/*.php
407 %{_appdir}/lib/plugins/authpdo/*.txt
408 %{_appdir}/lib/plugins/authpdo/README
409 %{_appdir}/lib/plugins/authpdo/conf
410 %dir %{_appdir}/lib/plugins/authplain
411 %{_appdir}/lib/plugins/authplain/*.php
412 %{_appdir}/lib/plugins/authplain/*.txt
413 %dir %{_appdir}/lib/plugins/config
414 %{_appdir}/lib/plugins/config/*.*
415 %{_appdir}/lib/plugins/config/core
416 %{_appdir}/lib/plugins/config/images
417 %{_appdir}/lib/plugins/config/settings
418 %dir %{_appdir}/lib/plugins/extension
419 %{_appdir}/lib/plugins/extension/*.*
420 %{_appdir}/lib/plugins/extension/helper
421 %{_appdir}/lib/plugins/extension/images
422 %dir %{_appdir}/lib/plugins/logviewer
423 %{_appdir}/lib/plugins/logviewer/*.*
424 %dir %{_appdir}/lib/plugins/revert
425 %{_appdir}/lib/plugins/revert/*.*
426 %dir %{_appdir}/lib/plugins/safefnrecode
427 %{_appdir}/lib/plugins/safefnrecode/*.*
428 %dir %{_appdir}/lib/plugins/usermanager
429 %{_appdir}/lib/plugins/usermanager/*.*
430 %{_appdir}/lib/plugins/usermanager/images
431 %dir %{_appdir}/lib/plugins/info
432 %{_appdir}/lib/plugins/info/*.*
433 %dir %{_appdir}/lib/plugins/popularity
434 %{_appdir}/lib/plugins/popularity/*.*
435 %dir %{_appdir}/lib/plugins/styling
436 %{_appdir}/lib/plugins/styling/README
437 %{_appdir}/lib/plugins/styling/*.*
439 %{_appdir}/lib/images
440 %{_appdir}/lib/scripts
441 %{_appdir}/lib/styles
444 %dir %{_appdir}/lib/tpl
445 %{_appdir}/lib/tpl/index.php
447 %dir %{_appdir}/lib/tpl/dokuwiki
448 %{_appdir}/lib/tpl/dokuwiki/css
449 %{_appdir}/lib/tpl/dokuwiki/images
450 %{_appdir}/lib/tpl/dokuwiki/*.info.txt
451 %{_appdir}/lib/tpl/dokuwiki/*.ini
452 %{_appdir}/lib/tpl/dokuwiki/*.js
453 %{_appdir}/lib/tpl/dokuwiki/*.php
455 %dir %attr(770,root,http) %{_localstatedir}
456 %dir %attr(770,root,http) %{_localstatedir}/attic
457 %dir %attr(770,root,http) %{_localstatedir}/index
458 %dir %attr(770,root,http) %{_localstatedir}/locks
459 %dir %attr(770,root,http) %{_localstatedir}/media
460 %dir %attr(770,root,http) %{_localstatedir}/media_attic
461 %dir %attr(770,root,http) %{_localstatedir}/media_meta
462 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
463 %dir %attr(770,root,http) %{_localstatedir}/meta
464 %dir %attr(770,root,http) %{_localstatedir}/pages
465 %dir %attr(770,root,http) %{_localstatedir}/pages/playground
466 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
467 %dir %attr(770,root,http) %{_localstatedir}/tmp
469 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
470 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki.svg
471 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
472 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
473 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/welcome.txt
474 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
475 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/dont-panic-if-you-see-this-in-your-logs-it-means-your-directory-permissions-are-correct.png
477 %dir %attr(770,root,http) %{_cachedir}
478 %dir %attr(770,root,http) %{_logdir}
481 %defattr(644,root,root,755)
482 %{_appdir}/install.php