1 %define subver 2018-04-22a
2 %define ver %(echo %{subver} | tr -d -)
5 %define php_min_version 5.6.0
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: https://download.dokuwiki.org/archive
15 Source0: https://download.dokuwiki.org/src/dokuwiki/%{name}-%{subver}.tgz
16 # Source0-md5: 18765a29508f96f9882349a304bffc03
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 Patch1: autoload.patch
38 Patch2: style-width.patch
39 Patch4: %{name}-geshi.patch
40 Patch5: %{name}-http_auth-option.patch
41 Patch8: %{name}-notify-respect-minor.patch
42 Patch10: %{name}-mailtext.patch
43 Patch11: %{name}-notifyns.patch
44 Patch19: pld-branding.patch
45 Patch21: task-1821.patch
46 Patch24: more-buttons.patch
47 Patch27: iconsizes-dump.patch
48 URL: https://www.dokuwiki.org/
50 BuildRequires: rpm-php-pearprov >= 4.4.2-11
51 BuildRequires: rpmbuild(macros) >= 1.693
52 Requires: php(core) >= %{php_min_version}
53 Requires: php(session)
55 Requires: php-geshi >= 1.0.7.19
56 Requires: php-seclib >= 0.3.5
57 Requires: php-simplepie >= 1.0.1
59 Requires: webserver(access)
60 Requires: webserver(alias)
61 Requires: webserver(php)
63 Obsoletes: dokuwiki-plugin-jquery
64 Obsoletes: dokuwiki-plugin-showlogin2
65 Conflicts: dokuwiki-plugin-gallery < 20161222
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
145 # package as basenames, upgrade overwrite protected with .rpmnew
146 mv conf/local.php{.dist,}
147 mv conf/acl.auth.php{.dist,}
148 mv conf/users.auth.php{.dist,}
149 mv conf/mysql.conf.php{.example,}
151 find -name _dummy | xargs %{__rm}
152 %{__rm} lib/index.html lib/plugins/index.html lib/images/index.html
153 %{__rm} {conf,inc,bin,data,inc/lang}/.htaccess
154 %{__rm} vendor/.htaccess
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
167 # use system simplepie package
168 #%{__rm} inc/SimplePie.php
170 # flash source on git tarballs
171 rm -rf lib/plugins/testing
172 rm -rf lib/plugins/*/_test
174 # pagetools - tools for development
175 %{__rm} -r lib/tpl/dokuwiki/images/pagetools
176 %{__rm} lib/tpl/dokuwiki/images/pagetools-build*
178 # cleanup backups after patching
179 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
182 rm -rf $RPM_BUILD_ROOT
183 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}}
186 cp -al VERSION $RPM_BUILD_ROOT%{_appdir} 2>/dev/null && l=l
188 cp -a$l *.php $RPM_BUILD_ROOT%{_appdir}
189 cp -p$l VERSION $RPM_BUILD_ROOT%{_appdir}
190 cp -a$l bin $RPM_BUILD_ROOT%{_appdir}
191 cp -a$l inc $RPM_BUILD_ROOT%{_appdir}
192 cp -a$l lib $RPM_BUILD_ROOT%{_appdir}
193 cp -a$l vendor $RPM_BUILD_ROOT%{_appdir}
194 cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
195 cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
196 touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
197 touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
198 touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
199 touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
200 touch $RPM_BUILD_ROOT%{_sysconfdir}/plugins.local.php
201 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
202 touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
203 touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
204 touch $RPM_BUILD_ROOT%{_sysconfdir}/userscript.js
205 touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
207 # https://github.com/splitbrain/dokuwiki/pull/1247
208 #ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
209 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
210 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
211 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
212 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
213 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
214 cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/gitlab.png
215 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/jenkins.png
217 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
218 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
220 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/dokuwiki/images/button-pld.png
222 # hardlink identical icons.
223 findup -m $RPM_BUILD_ROOT
225 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
226 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
227 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
230 %find_lang %{name}.lang
233 rm -rf $RPM_BUILD_ROOT
236 chmod 770 %{_sysconfdir}
237 chmod 660 %{_sysconfdir}/local.php
238 chmod 660 %{_sysconfdir}/plugins.local.php
241 if [ "$1" = "0" ]; then
242 if [ -f %{_sysconfdir}/dokuwiki.php ]; then
243 chmod 750 %{_sysconfdir}
244 chmod 640 %{_sysconfdir}/local.php
245 chmod 640 %{_sysconfdir}/plugins.local.php
249 %triggerin -- apache1 < 1.3.37-3, apache1-base
250 %webapp_register apache %{_webapp}
252 %triggerun -- apache1 < 1.3.37-3, apache1-base
253 %webapp_unregister apache %{_webapp}
255 %triggerin -- apache < 2.2.0, apache-base
256 %webapp_register httpd %{_webapp}
258 %triggerun -- apache < 2.2.0, apache-base
259 %webapp_unregister httpd %{_webapp}
261 %triggerin -- lighttpd
262 %webapp_register lighttpd %{_webapp}
264 %triggerun -- lighttpd
265 %webapp_unregister lighttpd %{_webapp}
268 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
269 mv -f %{_appdir}/data/* %{_localstatedir}
270 rm -rf %{_appdir}/data
272 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
273 mv -f %{_appdir}/conf/* %{_sysconfdir}
274 rm -rf %{_appdir}/conf
276 if [ -d %{_localstatedir}/cache ]; then
277 rm -rf %{_localstatedir}/cache
281 %files -f %{name}.lang
282 %defattr(644,root,root,755)
284 %dir %attr(750,root,http) %verify(not mode) %{_sysconfdir}
285 %dir %attr(750,root,http) %{_sysconfdir}/lang
286 %dir %attr(750,root,http) %{_sysconfdir}/plugin_lang
287 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
288 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
289 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
291 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
292 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.php
293 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
295 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acl.auth.php
296 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
297 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
298 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
299 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
300 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
301 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
302 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql.conf.php
303 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
304 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/users.auth.php
305 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userscript.js
306 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
308 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/local.php
309 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/plugins.local.php
311 # use local.php, local.protected.php, etc for local changes
312 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
313 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
314 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
315 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
316 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
317 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/wordblock.conf
318 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/manifest.json
320 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
321 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
322 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/plugins.required.php
330 %attr(755,root,root) %{_appdir}/bin/dwpage.php
331 %attr(755,root,root) %{_appdir}/bin/gittool.php
332 %attr(755,root,root) %{_appdir}/bin/indexer.php
333 %attr(755,root,root) %{_appdir}/bin/plugin.php
334 %attr(755,root,root) %{_appdir}/bin/render.php
335 %attr(755,root,root) %{_appdir}/bin/striplangs.php
336 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
340 %{_appdir}/inc/preload.php.dist
341 %{_appdir}/inc/Action
345 %{_appdir}/inc/parser
347 # composer generated vendor autoload
348 %dir %{_appdir}/vendor
349 %{_appdir}/vendor/README
350 %{_appdir}/vendor/autoload.php
351 %{_appdir}/vendor/composer
354 # verbose files to detect new addons
355 %dir %{_appdir}/vendor/aziraphale
356 %dir %{_appdir}/vendor/marcusschwarz
357 %dir %{_appdir}/vendor/openpsa
358 %dir %{_appdir}/vendor/paragonie
359 %dir %{_appdir}/vendor/phpseclib
360 %dir %{_appdir}/vendor/simplepie
361 %dir %{_appdir}/vendor/splitbrain
362 %{_appdir}/vendor/aziraphale/email-address-validator
363 %{_appdir}/vendor/marcusschwarz/lesserphp
364 %{_appdir}/vendor/openpsa/universalfeedcreator
365 %{_appdir}/vendor/paragonie/random_compat
366 %{_appdir}/vendor/phpseclib/phpseclib
367 %{_appdir}/vendor/simplepie/simplepie
368 %{_appdir}/vendor/splitbrain/php-archive
369 %{_appdir}/vendor/splitbrain/php-cli
372 # allow plugins dir permission change to allow installation of plugins from admin
373 # however does not work with rpm 4.5
374 %dir %config %verify(not group mode) %{_appdir}/lib/plugins
376 %{_appdir}/lib/plugins/*.php
377 %dir %{_appdir}/lib/plugins/acl
378 %{_appdir}/lib/plugins/acl/*.*
379 %{_appdir}/lib/plugins/acl/pix
380 %dir %{_appdir}/lib/plugins/authad
381 %{_appdir}/lib/plugins/authad/*.php
382 %{_appdir}/lib/plugins/authad/*.txt
383 %{_appdir}/lib/plugins/authad/adLDAP
384 %{_appdir}/lib/plugins/authad/conf
385 %dir %{_appdir}/lib/plugins/authldap
386 %{_appdir}/lib/plugins/authldap/*.php
387 %{_appdir}/lib/plugins/authldap/*.txt
388 %{_appdir}/lib/plugins/authldap/conf
389 %dir %{_appdir}/lib/plugins/authmysql
390 %{_appdir}/lib/plugins/authmysql/*.php
391 %{_appdir}/lib/plugins/authmysql/*.txt
392 %{_appdir}/lib/plugins/authmysql/conf
393 %dir %{_appdir}/lib/plugins/authpdo
394 %{_appdir}/lib/plugins/authpdo/*.php
395 %{_appdir}/lib/plugins/authpdo/*.txt
396 %{_appdir}/lib/plugins/authpdo/README
397 %{_appdir}/lib/plugins/authpdo/conf
398 %{_appdir}/lib/plugins/authpgsql/*.php
399 %{_appdir}/lib/plugins/authpgsql/conf
400 %{_appdir}/lib/plugins/authpgsql/*.txt
401 %dir %{_appdir}/lib/plugins/authpgsql
402 %dir %{_appdir}/lib/plugins/authplain
403 %{_appdir}/lib/plugins/authplain/*.php
404 %{_appdir}/lib/plugins/authplain/*.txt
405 %dir %{_appdir}/lib/plugins/config
406 %{_appdir}/lib/plugins/config/*.*
407 %{_appdir}/lib/plugins/config/images
408 %{_appdir}/lib/plugins/config/settings
409 %dir %{_appdir}/lib/plugins/extension
410 %{_appdir}/lib/plugins/extension/*.*
411 %{_appdir}/lib/plugins/extension/helper
412 %{_appdir}/lib/plugins/extension/images
413 %dir %{_appdir}/lib/plugins/revert
414 %{_appdir}/lib/plugins/revert/*.*
415 %dir %{_appdir}/lib/plugins/safefnrecode
416 %{_appdir}/lib/plugins/safefnrecode/*.*
417 %dir %{_appdir}/lib/plugins/usermanager
418 %{_appdir}/lib/plugins/usermanager/*.*
419 %{_appdir}/lib/plugins/usermanager/images
420 %dir %{_appdir}/lib/plugins/info
421 %{_appdir}/lib/plugins/info/*.*
422 %dir %{_appdir}/lib/plugins/popularity
423 %{_appdir}/lib/plugins/popularity/*.*
424 %dir %{_appdir}/lib/plugins/styling
425 %{_appdir}/lib/plugins/styling/README
426 %{_appdir}/lib/plugins/styling/*.*
428 %{_appdir}/lib/images
429 %{_appdir}/lib/scripts
430 %{_appdir}/lib/styles
433 %dir %{_appdir}/lib/tpl
434 %{_appdir}/lib/tpl/index.php
436 %dir %{_appdir}/lib/tpl/dokuwiki
437 %{_appdir}/lib/tpl/dokuwiki/css
438 %{_appdir}/lib/tpl/dokuwiki/images
439 %{_appdir}/lib/tpl/dokuwiki/*.info.txt
440 %{_appdir}/lib/tpl/dokuwiki/*.ini
441 %{_appdir}/lib/tpl/dokuwiki/*.js
442 %{_appdir}/lib/tpl/dokuwiki/*.php
444 %dir %attr(770,root,http) %{_localstatedir}
445 %dir %attr(770,root,http) %{_localstatedir}/attic
446 %dir %attr(770,root,http) %{_localstatedir}/index
447 %dir %attr(770,root,http) %{_localstatedir}/locks
448 %dir %attr(770,root,http) %{_localstatedir}/media
449 %dir %attr(770,root,http) %{_localstatedir}/media_attic
450 %dir %attr(770,root,http) %{_localstatedir}/media_meta
451 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
452 %dir %attr(770,root,http) %{_localstatedir}/meta
453 %dir %attr(770,root,http) %{_localstatedir}/pages
454 %dir %attr(770,root,http) %{_localstatedir}/pages/playground
455 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
456 %dir %attr(770,root,http) %{_localstatedir}/tmp
458 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
459 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki.svg
460 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
461 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
462 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/welcome.txt
463 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
464 %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
466 %dir %attr(770,root,http) %{_cachedir}
469 %defattr(644,root,root,755)
470 %{_appdir}/install.php