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 Conflicts: dokuwiki-plugin-odt < 20170218
68 # can use gz compression to store attic pages
71 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
73 %define _webapps /etc/webapps
74 %define _webapp %{name}
75 %define _sysconfdir %{_webapps}/%{_webapp}
76 %define _appdir %{_datadir}/%{_webapp}
77 %define _localstatedir /var/lib/%{name}
78 %define _cachedir /var/cache/%{name}
79 %define find_lang %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
81 %define _noautoreq_pear /usr/share/php/geshi.php
83 # exclude optional php dependencies
84 %define _noautophp php-bzip2 php-bcmath php-zip php-date php-ftp php-hash php-ldap php-mbstring php-mysql php-pgsql php-tokenizer
86 %define _noautoreq %{_noautophp}
89 DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at
90 creating documentation of any kind. It is targeted at developer teams,
91 workgroups and small companies. It has a simple but powerful syntax
92 which makes sure the datafiles remain readable outside the Wiki and
93 eases the creation of structured texts. All data is stored in plain
94 text files - no database is required.
96 %description -l pl.UTF-8
97 DokuWiki to zgodne ze standardami i proste w użyciu Wiki, przeznaczone
98 głównie do tworzenia dokumentów wszelkiego rodzaju. Jest przeznaczone
99 dla zespołów programistów, grup roboczych i małych firm. Ma prostą,
100 ale mającą duże możliwości składnię, dzięki której pliki danych
101 pozostają czytelne poza Wiki, a także ułatwiającą tworzenie tekstów
102 strukturalnych. Wszystkie dane są przechowywane w plikach tekstowych -
103 nie jest wymagana baza danych.
106 Summary: DokuWiki setup package
107 Summary(pl.UTF-8): Pakiet do wstępnej konfiguracji DokuWiki
108 Group: Applications/WWW
109 Requires: %{name} = %{version}-%{release}
112 Install this package to configure initial DokuWiki installation. You
113 should uninstall this package when you're done, as it considered
114 insecure to keep the setup files in place.
116 %description setup -l pl.UTF-8
117 Ten pakiet należy zainstalować w celu wstępnej konfiguracji DokuWiki
118 po pierwszej instalacji. Potem należy go odinstalować, jako że
119 pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
122 %setup -q -n %{name}-%{?rc_:rc}%{subver} %{?snap:-c}
125 test -e VERSION || echo %{subver}-git > VERSION
127 install -d data/pages/playground
128 test -e data/pages/playground/playground.txt || \
129 echo '====== PlayGround ======' > data/pages/playground/playground.txt
147 # package as basenames, upgrade overwrite protected with .rpmnew
148 mv conf/local.php{.dist,}
149 mv conf/acl.auth.php{.dist,}
150 mv conf/users.auth.php{.dist,}
151 mv conf/mysql.conf.php{.example,}
153 find -name _dummy | xargs %{__rm}
154 %{__rm} lib/index.html lib/plugins/index.html lib/images/index.html
155 %{__rm} {conf,inc,bin,data,inc/lang}/.htaccess
157 # we just don't package deleted files, these get removed automatically on rpm upgrades
158 %{__rm} data/deleted.files
159 # source for security.png
160 %{__rm} data/security.xcf
162 %{__rm} vendor/composer/installed.json
163 %{__rm} lib/scripts/jquery/update.sh
165 # use system geshi package
166 %{__rm} -r vendor/easybook/geshi
167 rmdir vendor/easybook
169 # use system simplepie package
170 #%{__rm} inc/SimplePie.php
172 # use system lessphp package
173 %{__rm} inc/lessc.inc.php
175 # flash source on git tarballs
176 rm -rf lib/plugins/testing
177 rm -rf lib/plugins/*/_test
179 # pagetools - tools for development
180 %{__rm} -r lib/tpl/dokuwiki/images/pagetools
181 %{__rm} lib/tpl/dokuwiki/images/pagetools-build*
183 # cleanup backups after patching
184 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
187 md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
188 if ! grep $md5 install.php; then
189 : update %{name}-config.patch -- it is outdated
194 rm -rf $RPM_BUILD_ROOT
195 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}}
198 cp -al VERSION $RPM_BUILD_ROOT%{_appdir} 2>/dev/null && l=l
200 cp -a$l *.php $RPM_BUILD_ROOT%{_appdir}
201 cp -p$l VERSION $RPM_BUILD_ROOT%{_appdir}
202 cp -a$l bin $RPM_BUILD_ROOT%{_appdir}
203 cp -a$l inc $RPM_BUILD_ROOT%{_appdir}
204 cp -a$l lib $RPM_BUILD_ROOT%{_appdir}
205 cp -a$l vendor $RPM_BUILD_ROOT%{_appdir}
206 cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
207 cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
208 touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
209 touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
210 touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
211 touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
212 touch $RPM_BUILD_ROOT%{_sysconfdir}/plugins.local.php
213 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
214 touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
215 touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
216 touch $RPM_BUILD_ROOT%{_sysconfdir}/userscript.js
217 touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
219 # https://github.com/splitbrain/dokuwiki/pull/1247
220 #ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
221 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
222 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
223 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
224 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
225 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
226 cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/gitlab.png
227 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/jenkins.png
229 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
230 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
232 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/dokuwiki/images/button-pld.png
234 # hardlink identical icons.
235 findup -m $RPM_BUILD_ROOT
237 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
238 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
239 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
242 %find_lang %{name}.lang
245 rm -rf $RPM_BUILD_ROOT
248 chmod 770 %{_sysconfdir}
249 chmod 660 %{_sysconfdir}/local.php
250 chmod 660 %{_sysconfdir}/plugins.local.php
253 if [ "$1" = "0" ]; then
254 if [ -f %{_sysconfdir}/dokuwiki.php ]; then
255 chmod 750 %{_sysconfdir}
256 chmod 640 %{_sysconfdir}/local.php
257 chmod 640 %{_sysconfdir}/plugins.local.php
261 %triggerin -- apache1 < 1.3.37-3, apache1-base
262 %webapp_register apache %{_webapp}
264 %triggerun -- apache1 < 1.3.37-3, apache1-base
265 %webapp_unregister apache %{_webapp}
267 %triggerin -- apache < 2.2.0, apache-base
268 %webapp_register httpd %{_webapp}
270 %triggerun -- apache < 2.2.0, apache-base
271 %webapp_unregister httpd %{_webapp}
273 %triggerin -- lighttpd
274 %webapp_register lighttpd %{_webapp}
276 %triggerun -- lighttpd
277 %webapp_unregister lighttpd %{_webapp}
280 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
281 mv -f %{_appdir}/data/* %{_localstatedir}
282 rm -rf %{_appdir}/data
284 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
285 mv -f %{_appdir}/conf/* %{_sysconfdir}
286 rm -rf %{_appdir}/conf
288 if [ -d %{_localstatedir}/cache ]; then
289 rm -rf %{_localstatedir}/cache
293 %files -f %{name}.lang
294 %defattr(644,root,root,755)
296 %dir %attr(750,root,http) %verify(not mode) %{_sysconfdir}
297 %dir %attr(750,root,http) %{_sysconfdir}/lang
298 %dir %attr(750,root,http) %{_sysconfdir}/plugin_lang
299 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
300 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
301 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
303 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
304 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.php
305 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
307 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acl.auth.php
308 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
309 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
310 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
311 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
312 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
313 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
314 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
315 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userscript.js
316 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
317 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/users.auth.php
318 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql.conf.php
320 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/local.php
321 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/plugins.local.php
323 # use local.php, local.protected.php, etc for local changes
324 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
325 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
326 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
327 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
328 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
329 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/wordblock.conf
331 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
332 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
333 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/plugins.required.php
341 %attr(755,root,root) %{_appdir}/bin/dwpage.php
342 %attr(755,root,root) %{_appdir}/bin/gittool.php
343 %attr(755,root,root) %{_appdir}/bin/indexer.php
344 %attr(755,root,root) %{_appdir}/bin/render.php
345 %attr(755,root,root) %{_appdir}/bin/striplangs.php
346 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
350 %{_appdir}/inc/preload.php.dist
353 %{_appdir}/inc/parser
355 # composer generated vendor autoload
356 %dir %{_appdir}/vendor
357 %{_appdir}/vendor/README
358 %{_appdir}/vendor/autoload.php
359 %{_appdir}/vendor/composer
362 # verbose files to detect new addons
363 %dir %{_appdir}/vendor/splitbrain
364 %{_appdir}/vendor/splitbrain/php-archive
366 %dir %{_appdir}/vendor/paragonie
367 %{_appdir}/vendor/paragonie/random_compat
369 %dir %{_appdir}/vendor/phpseclib
370 %{_appdir}/vendor/phpseclib/phpseclib
372 %dir %{_appdir}/vendor/simplepie
373 %{_appdir}/vendor/simplepie/simplepie
376 # allow plugins dir permission change to allow installation of plugins from admin
377 # however does not work with rpm 4.5
378 %dir %config %verify(not group mode) %{_appdir}/lib/plugins
380 %{_appdir}/lib/plugins/*.php
381 %dir %{_appdir}/lib/plugins/acl
382 %{_appdir}/lib/plugins/acl/*.*
383 %{_appdir}/lib/plugins/acl/pix
384 %dir %{_appdir}/lib/plugins/authad
385 %{_appdir}/lib/plugins/authad/*.php
386 %{_appdir}/lib/plugins/authad/*.txt
387 %{_appdir}/lib/plugins/authad/adLDAP
388 %{_appdir}/lib/plugins/authad/conf
389 %dir %{_appdir}/lib/plugins/authldap
390 %{_appdir}/lib/plugins/authldap/*.php
391 %{_appdir}/lib/plugins/authldap/*.txt
392 %{_appdir}/lib/plugins/authldap/conf
393 %dir %{_appdir}/lib/plugins/authmysql
394 %{_appdir}/lib/plugins/authmysql/*.php
395 %{_appdir}/lib/plugins/authmysql/*.txt
396 %{_appdir}/lib/plugins/authmysql/conf
397 %dir %{_appdir}/lib/plugins/authpdo
398 %{_appdir}/lib/plugins/authpdo/*.php
399 %{_appdir}/lib/plugins/authpdo/*.txt
400 %{_appdir}/lib/plugins/authpdo/README
401 %{_appdir}/lib/plugins/authpdo/conf
402 %{_appdir}/lib/plugins/authpgsql/*.php
403 %{_appdir}/lib/plugins/authpgsql/conf
404 %{_appdir}/lib/plugins/authpgsql/*.txt
405 %dir %{_appdir}/lib/plugins/authpgsql
406 %dir %{_appdir}/lib/plugins/authplain
407 %{_appdir}/lib/plugins/authplain/*.php
408 %{_appdir}/lib/plugins/authplain/*.txt
409 %dir %{_appdir}/lib/plugins/config
410 %{_appdir}/lib/plugins/config/*.*
411 %{_appdir}/lib/plugins/config/images
412 %{_appdir}/lib/plugins/config/settings
413 %dir %{_appdir}/lib/plugins/extension
414 %{_appdir}/lib/plugins/extension/*.*
415 %{_appdir}/lib/plugins/extension/helper
416 %{_appdir}/lib/plugins/extension/images
417 %dir %{_appdir}/lib/plugins/revert
418 %{_appdir}/lib/plugins/revert/*.*
419 %dir %{_appdir}/lib/plugins/safefnrecode
420 %{_appdir}/lib/plugins/safefnrecode/*.*
421 %dir %{_appdir}/lib/plugins/usermanager
422 %{_appdir}/lib/plugins/usermanager/*.*
423 %{_appdir}/lib/plugins/usermanager/images
424 %dir %{_appdir}/lib/plugins/info
425 %{_appdir}/lib/plugins/info/*.*
426 %dir %{_appdir}/lib/plugins/popularity
427 %{_appdir}/lib/plugins/popularity/*.*
428 %dir %{_appdir}/lib/plugins/styling
429 %{_appdir}/lib/plugins/styling/README
430 %{_appdir}/lib/plugins/styling/*.*
432 %{_appdir}/lib/images
433 %{_appdir}/lib/scripts
434 %{_appdir}/lib/styles
437 %dir %{_appdir}/lib/tpl
438 %{_appdir}/lib/tpl/index.php
440 %dir %{_appdir}/lib/tpl/dokuwiki
441 %{_appdir}/lib/tpl/dokuwiki/css
442 %{_appdir}/lib/tpl/dokuwiki/images
443 %{_appdir}/lib/tpl/dokuwiki/*.info.txt
444 %{_appdir}/lib/tpl/dokuwiki/*.ini
445 %{_appdir}/lib/tpl/dokuwiki/*.js
446 %{_appdir}/lib/tpl/dokuwiki/*.php
448 %dir %attr(770,root,http) %{_localstatedir}
449 %dir %attr(770,root,http) %{_localstatedir}/attic
450 %dir %attr(770,root,http) %{_localstatedir}/index
451 %dir %attr(770,root,http) %{_localstatedir}/locks
452 %dir %attr(770,root,http) %{_localstatedir}/media
453 %dir %attr(770,root,http) %{_localstatedir}/media_attic
454 %dir %attr(770,root,http) %{_localstatedir}/media_meta
455 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
456 %dir %attr(770,root,http) %{_localstatedir}/meta
457 %dir %attr(770,root,http) %{_localstatedir}/pages
458 %dir %attr(770,root,http) %{_localstatedir}/pages/playground
459 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
460 %dir %attr(770,root,http) %{_localstatedir}/tmp
462 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
463 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
464 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
465 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/welcome.txt
466 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
467 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.png
469 %dir %attr(770,root,http) %{_cachedir}
472 %defattr(644,root,root,755)
473 %{_appdir}/install.php