1 %define subver 2017-02-19b
2 %define ver %(echo %{subver} | tr -d -)
5 %define php_min_version 5.3.3
6 %include /usr/lib/rpm/macros.php
7 Summary: PHP-based Wiki webapplication
8 Summary(pl.UTF-8): Aplikacja WWW Wiki oparta na PHP
13 Group: Applications/WWW
14 # Source0Download: http://download.dokuwiki.org/archive
15 Source0: http://download.dokuwiki.org/src/dokuwiki/%{name}-%{subver}.tgz
16 # Source0-md5: ea11e4046319710a2bc6fdf58b5cda86
17 Source1: %{name}-apache.conf
18 Source2: %{name}-lighttpd.conf
19 Source3: http://glen.alkohol.ee/pld/jude.png
20 # Source3-md5: 623344128960e18f86097dfee213ad4a
22 Source6: pld_button.png
23 # Source6-md5: 185afa921e81bd726b9f0f9f0909dc6e
26 Source9: http://trac.edgewall.org/export/9404/trunk/doc/trac_icon_16x16.png
27 # Source9-md5: 0c19ed35bf677f33f6bea14b3a8a2e10
29 Source11: http://glen.alkohol.ee/pld/astah.png
30 # Source11-md5: b1c999e6988440c9e2af6a12e9a56451
32 # Source12-md5: 619cec6f2b083269b1ec9cd50d9e6ef2
33 Source13: http://mirrors.jenkins-ci.org/art/jenkins-logo/16x16/headshot.png?/jenkins.png
34 # Source13-md5: ae892e4ca43ffab88f6e3dca951f3e8a
35 Patch66: %{name}-config.patch
36 Patch0: %{name}-paths.patch
37 Patch2: style-width.patch
38 Patch4: %{name}-geshi.patch
39 Patch5: %{name}-http_auth-option.patch
40 Patch8: %{name}-notify-respect-minor.patch
41 Patch10: %{name}-mailtext.patch
42 Patch11: %{name}-notifyns.patch
43 Patch19: pld-branding.patch
44 Patch20: fixprivilegeescalationbug.diff
45 Patch21: task-1821.patch
46 Patch24: more-buttons.patch
47 Patch26: system-lessphp.patch
48 Patch27: iconsizes-dump.patch
49 URL: https://www.dokuwiki.org/
51 BuildRequires: rpm-php-pearprov >= 4.4.2-11
52 BuildRequires: rpmbuild(macros) >= 1.693
53 Requires: lessphp >= 0.3.9
54 Requires: php(core) >= %{php_min_version}
55 Requires: php(session)
57 Requires: php-geshi >= 1.0.7.19
58 Requires: php-seclib >= 0.3.5
59 Requires: php-simplepie >= 1.0.1
61 Requires: webserver(access)
62 Requires: webserver(alias)
63 Requires: webserver(php)
65 Obsoletes: dokuwiki-plugin-jquery
66 Conflicts: dokuwiki-plugin-icalevents < 20120909
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 find_lang %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
80 %define _noautoreq_pear /usr/share/php/geshi.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
146 # package as basenames, upgrade overwrite protected with .rpmnew
147 mv conf/local.php{.dist,}
148 mv conf/acl.auth.php{.dist,}
149 mv conf/users.auth.php{.dist,}
150 mv conf/mysql.conf.php{.example,}
152 find -name _dummy | xargs %{__rm}
153 %{__rm} lib/index.html lib/plugins/index.html lib/images/index.html
154 %{__rm} {conf,inc,bin,data,inc/lang}/.htaccess
156 # we just don't package deleted files, these get removed automatically on rpm upgrades
157 %{__rm} data/deleted.files
158 # source for security.png
159 %{__rm} data/security.xcf
161 %{__rm} vendor/composer/installed.json
162 %{__rm} lib/scripts/jquery/update.sh
164 # use system geshi package
165 %{__rm} -r vendor/easybook/geshi
166 rmdir vendor/easybook
168 # use system simplepie package
169 #%{__rm} inc/SimplePie.php
171 # use system lessphp package
172 %{__rm} inc/lessc.inc.php
174 # flash source on git tarballs
175 rm -rf lib/plugins/testing
176 rm -rf lib/plugins/*/_test
178 # pagetools - tools for development
179 %{__rm} -r lib/tpl/dokuwiki/images/pagetools
180 %{__rm} lib/tpl/dokuwiki/images/pagetools-build*
182 # cleanup backups after patching
183 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
186 md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
187 if ! grep $md5 install.php; then
188 : update %{name}-config.patch -- it is outdated
193 rm -rf $RPM_BUILD_ROOT
194 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}}
197 cp -al VERSION $RPM_BUILD_ROOT%{_appdir} 2>/dev/null && l=l
199 cp -a$l *.php $RPM_BUILD_ROOT%{_appdir}
200 cp -p$l VERSION $RPM_BUILD_ROOT%{_appdir}
201 cp -a$l bin $RPM_BUILD_ROOT%{_appdir}
202 cp -a$l inc $RPM_BUILD_ROOT%{_appdir}
203 cp -a$l lib $RPM_BUILD_ROOT%{_appdir}
204 cp -a$l vendor $RPM_BUILD_ROOT%{_appdir}
205 cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
206 cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
207 touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
208 touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
209 touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
210 touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
211 touch $RPM_BUILD_ROOT%{_sysconfdir}/plugins.local.php
212 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
213 touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
214 touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
215 touch $RPM_BUILD_ROOT%{_sysconfdir}/userscript.js
216 touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
218 # https://github.com/splitbrain/dokuwiki/pull/1247
219 #ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
220 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
221 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
222 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
223 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
224 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
225 cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/gitlab.png
226 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/jenkins.png
228 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
229 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
231 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/dokuwiki/images/button-pld.png
233 # hardlink identical icons.
234 findup -m $RPM_BUILD_ROOT
236 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
237 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
238 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
241 %find_lang %{name}.lang
244 rm -rf $RPM_BUILD_ROOT
247 chmod 770 %{_sysconfdir}
248 chmod 660 %{_sysconfdir}/local.php
249 chmod 660 %{_sysconfdir}/plugins.local.php
252 if [ "$1" = "0" ]; then
253 if [ -f %{_sysconfdir}/dokuwiki.php ]; then
254 chmod 750 %{_sysconfdir}
255 chmod 640 %{_sysconfdir}/local.php
256 chmod 640 %{_sysconfdir}/plugins.local.php
260 %triggerin -- apache1 < 1.3.37-3, apache1-base
261 %webapp_register apache %{_webapp}
263 %triggerun -- apache1 < 1.3.37-3, apache1-base
264 %webapp_unregister apache %{_webapp}
266 %triggerin -- apache < 2.2.0, apache-base
267 %webapp_register httpd %{_webapp}
269 %triggerun -- apache < 2.2.0, apache-base
270 %webapp_unregister httpd %{_webapp}
272 %triggerin -- lighttpd
273 %webapp_register lighttpd %{_webapp}
275 %triggerun -- lighttpd
276 %webapp_unregister lighttpd %{_webapp}
279 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
280 mv -f %{_appdir}/data/* %{_localstatedir}
281 rm -rf %{_appdir}/data
283 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
284 mv -f %{_appdir}/conf/* %{_sysconfdir}
285 rm -rf %{_appdir}/conf
287 if [ -d %{_localstatedir}/cache ]; then
288 rm -rf %{_localstatedir}/cache
292 %files -f %{name}.lang
293 %defattr(644,root,root,755)
295 %dir %attr(750,root,http) %verify(not mode) %{_sysconfdir}
296 %dir %attr(750,root,http) %{_sysconfdir}/lang
297 %dir %attr(750,root,http) %{_sysconfdir}/plugin_lang
298 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
299 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
300 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
302 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
303 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.php
304 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
306 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acl.auth.php
307 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
308 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
309 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
310 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
311 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
312 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
313 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
314 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userscript.js
315 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
316 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/users.auth.php
317 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql.conf.php
319 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/local.php
320 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/plugins.local.php
322 # use local.php, local.protected.php, etc for local changes
323 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
324 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
325 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
326 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
327 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
328 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/wordblock.conf
330 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
331 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
332 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/plugins.required.php
340 %attr(755,root,root) %{_appdir}/bin/dwpage.php
341 %attr(755,root,root) %{_appdir}/bin/gittool.php
342 %attr(755,root,root) %{_appdir}/bin/indexer.php
343 %attr(755,root,root) %{_appdir}/bin/render.php
344 %attr(755,root,root) %{_appdir}/bin/striplangs.php
345 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
349 %{_appdir}/inc/preload.php.dist
352 %{_appdir}/inc/parser
354 # composer generated vendor autoload
355 %dir %{_appdir}/vendor
356 %{_appdir}/vendor/README
357 %{_appdir}/vendor/autoload.php
358 %{_appdir}/vendor/composer
361 # verbose files to detect new addons
362 %dir %{_appdir}/vendor/splitbrain
363 %{_appdir}/vendor/splitbrain/php-archive
365 %dir %{_appdir}/vendor/paragonie
366 %{_appdir}/vendor/paragonie/random_compat
368 %dir %{_appdir}/vendor/phpseclib
369 %{_appdir}/vendor/phpseclib/phpseclib
371 %dir %{_appdir}/vendor/simplepie
372 %{_appdir}/vendor/simplepie/simplepie
375 # allow plugins dir permission change to allow installation of plugins from admin
376 # however does not work with rpm 4.5
377 %dir %config %verify(not group mode) %{_appdir}/lib/plugins
379 %{_appdir}/lib/plugins/*.php
380 %dir %{_appdir}/lib/plugins/acl
381 %{_appdir}/lib/plugins/acl/*.*
382 %{_appdir}/lib/plugins/acl/pix
383 %dir %{_appdir}/lib/plugins/authad
384 %{_appdir}/lib/plugins/authad/*.php
385 %{_appdir}/lib/plugins/authad/*.txt
386 %{_appdir}/lib/plugins/authad/adLDAP
387 %{_appdir}/lib/plugins/authad/conf
388 %dir %{_appdir}/lib/plugins/authldap
389 %{_appdir}/lib/plugins/authldap/*.php
390 %{_appdir}/lib/plugins/authldap/*.txt
391 %{_appdir}/lib/plugins/authldap/conf
392 %dir %{_appdir}/lib/plugins/authmysql
393 %{_appdir}/lib/plugins/authmysql/*.php
394 %{_appdir}/lib/plugins/authmysql/*.txt
395 %{_appdir}/lib/plugins/authmysql/conf
396 %dir %{_appdir}/lib/plugins/authpdo
397 %{_appdir}/lib/plugins/authpdo/*.php
398 %{_appdir}/lib/plugins/authpdo/*.txt
399 %{_appdir}/lib/plugins/authpdo/README
400 %{_appdir}/lib/plugins/authpdo/conf
401 %{_appdir}/lib/plugins/authpgsql/*.php
402 %{_appdir}/lib/plugins/authpgsql/conf
403 %{_appdir}/lib/plugins/authpgsql/*.txt
404 %dir %{_appdir}/lib/plugins/authpgsql
405 %dir %{_appdir}/lib/plugins/authplain
406 %{_appdir}/lib/plugins/authplain/*.php
407 %{_appdir}/lib/plugins/authplain/*.txt
408 %dir %{_appdir}/lib/plugins/config
409 %{_appdir}/lib/plugins/config/*.*
410 %{_appdir}/lib/plugins/config/images
411 %{_appdir}/lib/plugins/config/settings
412 %dir %{_appdir}/lib/plugins/extension
413 %{_appdir}/lib/plugins/extension/*.*
414 %{_appdir}/lib/plugins/extension/helper
415 %{_appdir}/lib/plugins/extension/images
416 %dir %{_appdir}/lib/plugins/revert
417 %{_appdir}/lib/plugins/revert/*.*
418 %dir %{_appdir}/lib/plugins/safefnrecode
419 %{_appdir}/lib/plugins/safefnrecode/*.*
420 %dir %{_appdir}/lib/plugins/usermanager
421 %{_appdir}/lib/plugins/usermanager/*.*
422 %{_appdir}/lib/plugins/usermanager/images
423 %dir %{_appdir}/lib/plugins/info
424 %{_appdir}/lib/plugins/info/*.*
425 %dir %{_appdir}/lib/plugins/popularity
426 %{_appdir}/lib/plugins/popularity/*.*
427 %dir %{_appdir}/lib/plugins/styling
428 %{_appdir}/lib/plugins/styling/README
429 %{_appdir}/lib/plugins/styling/*.*
431 %{_appdir}/lib/images
432 %{_appdir}/lib/scripts
433 %{_appdir}/lib/styles
436 %dir %{_appdir}/lib/tpl
437 %{_appdir}/lib/tpl/index.php
439 %dir %{_appdir}/lib/tpl/dokuwiki
440 %{_appdir}/lib/tpl/dokuwiki/css
441 %{_appdir}/lib/tpl/dokuwiki/images
442 %{_appdir}/lib/tpl/dokuwiki/*.info.txt
443 %{_appdir}/lib/tpl/dokuwiki/*.ini
444 %{_appdir}/lib/tpl/dokuwiki/*.js
445 %{_appdir}/lib/tpl/dokuwiki/*.php
447 %dir %attr(770,root,http) %{_localstatedir}
448 %dir %attr(770,root,http) %{_localstatedir}/attic
449 %dir %attr(770,root,http) %{_localstatedir}/index
450 %dir %attr(770,root,http) %{_localstatedir}/locks
451 %dir %attr(770,root,http) %{_localstatedir}/media
452 %dir %attr(770,root,http) %{_localstatedir}/media_attic
453 %dir %attr(770,root,http) %{_localstatedir}/media_meta
454 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
455 %dir %attr(770,root,http) %{_localstatedir}/meta
456 %dir %attr(770,root,http) %{_localstatedir}/pages
457 %dir %attr(770,root,http) %{_localstatedir}/pages/playground
458 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
459 %dir %attr(770,root,http) %{_localstatedir}/tmp
461 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
462 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
463 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
464 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/welcome.txt
465 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
466 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.png
468 %dir %attr(770,root,http) %{_cachedir}
471 %defattr(644,root,root,755)
472 %{_appdir}/install.php