1 %define subver 2014-05-05
2 %define ver %(echo %{subver} | tr -d -)
5 %define php_min_version 5.2.4
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 Source0: http://download.dokuwiki.org/src/dokuwiki/%{name}-%{subver}.tgz
15 # Source0-md5: 52d484e1b62a0314511348c7d3ea4346
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
30 Patch66: %{name}-config.patch
31 Patch0: %{name}-paths.patch
32 Patch1: system-jquery.patch
33 Patch2: style-width.patch
34 Patch3: undeprecate.patch
35 Patch4: %{name}-geshi.patch
36 Patch5: %{name}-http_auth-option.patch
37 Patch6: %{name}-nice_exit.patch
38 Patch8: %{name}-notify-respect-minor.patch
39 Patch10: %{name}-mailtext.patch
40 Patch11: %{name}-notifyns.patch
41 Patch14: interwiki-outputonly.patch
42 Patch15: simplepie.patch
43 Patch19: pld-branding.patch
44 Patch20: fixprivilegeescalationbug.diff
45 Patch21: task-1821.patch
47 Patch24: more-buttons.patch
48 Patch25: system-phpseclib.patch
49 Patch26: system-lessphp.patch
50 URL: https://www.dokuwiki.org/
52 BuildRequires: rpm-php-pearprov >= 4.4.2-11
53 BuildRequires: rpmbuild(macros) >= 1.693
54 Requires: jquery >= 1.8
55 #Requires: jquery >= 1.9.1
56 Requires: jquery-cookie
57 #Requires: jquery-migrate
58 #Requires: jquery-ui >= 1.10.2
59 Requires: jquery-ui >= 1.8
60 Requires: lessphp >= 0.3.9
61 Requires: php(core) >= %{php_min_version}
62 Requires: php(session)
64 Requires: php-geshi >= 1.0.7.19
65 Requires: php-seclib >= 0.3.5
66 Requires: php-simplepie >= 1.0.1
68 Requires: webserver(access)
69 Requires: webserver(alias)
70 Requires: webserver(php)
71 Suggests: php-adldap >= 3.3.1
73 Obsoletes: dokuwiki-plugin-jquery
74 Conflicts: dokuwiki-plugin-icalevents < 20120909
75 # can use gz compression to store attic pages
78 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
80 %define _webapps /etc/webapps
81 %define _webapp %{name}
82 %define _sysconfdir %{_webapps}/%{_webapp}
83 %define _appdir %{_datadir}/%{_webapp}
84 %define _localstatedir /var/lib/%{name}
85 %define _cachedir /var/cache/%{name}
86 %define find_lang %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
89 %define _noautopear pear./usr/share/php/geshi.php pear./usr/share/php/adLDAP.php
91 # exclude optional php dependencies
92 %define _noautophp php-bzip2 php-bcmath php-zip php-date php-ftp php-hash php-ldap php-mbstring php-mysql php-pgsql php-tokenizer
94 %define _noautoreq %{_noautophp} %{_noautopear}
97 DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at
98 creating documentation of any kind. It is targeted at developer teams,
99 workgroups and small companies. It has a simple but powerful syntax
100 which makes sure the datafiles remain readable outside the Wiki and
101 eases the creation of structured texts. All data is stored in plain
102 text files - no database is required.
104 %description -l pl.UTF-8
105 DokuWiki to zgodne ze standardami i proste w użyciu Wiki, przeznaczone
106 głównie do tworzenia dokumentów wszelkiego rodzaju. Jest przeznaczone
107 dla zespołów programistów, grup roboczych i małych firm. Ma prostą,
108 ale mającą duże możliwości składnię, dzięki której pliki danych
109 pozostają czytelne poza Wiki, a także ułatwiającą tworzenie tekstów
110 strukturalnych. Wszystkie dane są przechowywane w plikach tekstowych -
111 nie jest wymagana baza danych.
114 Summary: DokuWiki setup package
115 Summary(pl.UTF-8): Pakiet do wstępnej konfiguracji DokuWiki
116 Group: Applications/WWW
117 Requires: %{name} = %{version}-%{release}
120 Install this package to configure initial DokuWiki installation. You
121 should uninstall this package when you're done, as it considered
122 insecure to keep the setup files in place.
124 %description setup -l pl.UTF-8
125 Ten pakiet należy zainstalować w celu wstępnej konfiguracji DokuWiki
126 po pierwszej instalacji. Potem należy go odinstalować, jako że
127 pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
130 %setup -q -n %{name}-%{?rc_:rc}%{subver} %{?snap:-c}
133 test -e VERSION || echo %{subver}-git > VERSION
134 install -d data/pages/playground
135 touch data/pages/playground/playground.txt
159 # package as basenames, upgrade overwrite protected with .rpmnew
160 mv conf/local.php{.dist,}
161 mv conf/acl.auth.php{.dist,}
162 mv conf/users.auth.php{.dist,}
163 mv conf/mysql.conf.php{.example,}
165 find -name _dummy | xargs %{__rm}
166 %{__rm} lib/index.html lib/plugins/index.html lib/images/index.html
167 %{__rm} {conf,inc,bin,data,inc/lang}/.htaccess
169 # we just don't package deleted files, these get removed automatically on rpm upgrades
170 %{__rm} data/deleted.files
171 # source for security.png
172 %{__rm} data/security.xcf
174 # use system geshi package
175 %{__rm} inc/geshi.php
178 # use system adldap package
179 %{__rm} -r lib/plugins/authad/adLDAP
181 # use system simplepie package
182 %{__rm} inc/SimplePie.php
184 # use system lessphp package
185 %{__rm} inc/lessc.inc.php
188 %{__rm} -r inc/phpseclib
190 # flash source on git tarballs
191 rm -rf lib/plugins/testing
192 rm -rf lib/plugins/*/_test
194 # use system packages
195 %{__rm} lib/scripts/jquery/update.sh
196 %{__rm} lib/scripts/jquery/jquery-ui.js
197 %{__rm} lib/scripts/jquery/jquery-ui.min.js
198 %{__rm} lib/scripts/jquery/jquery.cookie.js
199 %{__rm} lib/scripts/jquery/jquery.js
200 %{__rm} lib/scripts/jquery/jquery.min.js
201 %{__rm} lib/scripts/jquery/jquery-migrate.js
202 %{__rm} lib/scripts/jquery/jquery-migrate.min.js
203 %{__rm} -r lib/scripts/jquery/jquery-ui-theme
205 # cleanup backups after patching
206 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
209 md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
210 if ! grep $md5 install.php; then
211 : update %{name}-config.patch -- it is outdated
216 rm -rf $RPM_BUILD_ROOT
217 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}/{bin,inc,lib}}
220 cp -al VERSION $RPM_BUILD_ROOT%{_appdir} 2>/dev/null && l=l
222 cp -a$l *.php $RPM_BUILD_ROOT%{_appdir}
223 cp -p$l VERSION $RPM_BUILD_ROOT%{_appdir}
224 cp -a$l bin/* $RPM_BUILD_ROOT%{_appdir}/bin
225 cp -a$l inc/* $RPM_BUILD_ROOT%{_appdir}/inc
226 cp -a$l lib/* $RPM_BUILD_ROOT%{_appdir}/lib
227 cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
228 cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
229 touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
230 touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
231 touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
232 touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
233 touch $RPM_BUILD_ROOT%{_sysconfdir}/plugins.local.php
234 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
235 touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
236 touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
237 touch $RPM_BUILD_ROOT%{_sysconfdir}/userscript.js
238 touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
240 ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
241 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
242 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
243 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
244 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
245 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
247 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
248 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
250 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/dokuwiki/images/button-pld.png
252 # hardlink identical icons.
253 findup -m $RPM_BUILD_ROOT
255 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
256 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
257 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
260 %find_lang %{name}.lang
263 rm -rf $RPM_BUILD_ROOT
266 chmod 770 %{_sysconfdir}
267 chmod 660 %{_sysconfdir}/local.php
268 chmod 660 %{_sysconfdir}/plugins.local.php
271 if [ "$1" = "0" ]; then
272 if [ -f %{_sysconfdir}/dokuwiki.php ]; then
273 chmod 750 %{_sysconfdir}
274 chmod 640 %{_sysconfdir}/local.php
275 chmod 640 %{_sysconfdir}/plugins.local.php
279 %triggerin -- apache1 < 1.3.37-3, apache1-base
280 %webapp_register apache %{_webapp}
282 %triggerun -- apache1 < 1.3.37-3, apache1-base
283 %webapp_unregister apache %{_webapp}
285 %triggerin -- apache < 2.2.0, apache-base
286 %webapp_register httpd %{_webapp}
288 %triggerun -- apache < 2.2.0, apache-base
289 %webapp_unregister httpd %{_webapp}
291 %triggerin -- lighttpd
292 %webapp_register lighttpd %{_webapp}
294 %triggerun -- lighttpd
295 %webapp_unregister lighttpd %{_webapp}
298 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
299 mv -f %{_appdir}/data/* %{_localstatedir}
300 rm -rf %{_appdir}/data
302 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
303 mv -f %{_appdir}/conf/* %{_sysconfdir}
304 rm -rf %{_appdir}/conf
306 if [ -d %{_localstatedir}/cache ]; then
307 rm -rf %{_localstatedir}/cache
311 %files -f %{name}.lang
312 %defattr(644,root,root,755)
314 %dir %attr(750,root,http) %verify(not mode) %{_sysconfdir}
315 %dir %attr(750,root,http) %{_sysconfdir}/lang
316 %dir %attr(750,root,http) %{_sysconfdir}/plugin_lang
317 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
318 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
319 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
321 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
322 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.php
323 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
325 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acl.auth.php
326 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
327 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
328 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
329 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
330 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
331 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
332 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
333 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userscript.js
334 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
335 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/users.auth.php
336 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql.conf.php
338 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/local.php
339 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/plugins.local.php
341 # use local.php, local.protected.php, etc for local changes
342 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
343 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
344 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
345 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
346 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
347 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/wordblock.conf
349 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
350 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
351 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/plugins.required.php
359 %attr(755,root,root) %{_appdir}/bin/dwpage.php
360 %attr(755,root,root) %{_appdir}/bin/gittool.php
361 %attr(755,root,root) %{_appdir}/bin/indexer.php
362 %attr(755,root,root) %{_appdir}/bin/render.php
363 %attr(755,root,root) %{_appdir}/bin/striplangs.php
364 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
368 %{_appdir}/inc/preload.php.dist
369 %{_appdir}/inc/parser
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
375 %{_appdir}/lib/plugins/*.php
376 %dir %{_appdir}/lib/plugins/acl
377 %{_appdir}/lib/plugins/acl/*.*
378 %{_appdir}/lib/plugins/acl/pix
379 %dir %{_appdir}/lib/plugins/authad
380 %{_appdir}/lib/plugins/authad/*.php
381 %{_appdir}/lib/plugins/authad/*.txt
382 %{_appdir}/lib/plugins/authad/conf
383 %dir %{_appdir}/lib/plugins/authldap
384 %{_appdir}/lib/plugins/authldap/*.php
385 %{_appdir}/lib/plugins/authldap/*.txt
386 %{_appdir}/lib/plugins/authldap/conf
387 %dir %{_appdir}/lib/plugins/authmysql
388 %{_appdir}/lib/plugins/authmysql/*.php
389 %{_appdir}/lib/plugins/authmysql/*.txt
390 %{_appdir}/lib/plugins/authmysql/conf
391 %{_appdir}/lib/plugins/authpgsql/*.php
392 %{_appdir}/lib/plugins/authpgsql/conf
393 %{_appdir}/lib/plugins/authpgsql/*.txt
394 %dir %{_appdir}/lib/plugins/authpgsql
395 %dir %{_appdir}/lib/plugins/authplain
396 %{_appdir}/lib/plugins/authplain/*.php
397 %{_appdir}/lib/plugins/authplain/*.txt
398 %dir %{_appdir}/lib/plugins/config
399 %{_appdir}/lib/plugins/config/*.*
400 %{_appdir}/lib/plugins/config/images
401 %{_appdir}/lib/plugins/config/settings
402 %dir %{_appdir}/lib/plugins/extension
403 %{_appdir}/lib/plugins/extension/*.*
404 %{_appdir}/lib/plugins/extension/helper
405 %{_appdir}/lib/plugins/extension/images
406 %dir %{_appdir}/lib/plugins/revert
407 %{_appdir}/lib/plugins/revert/*.*
408 %dir %{_appdir}/lib/plugins/safefnrecode
409 %{_appdir}/lib/plugins/safefnrecode/*.*
410 %dir %{_appdir}/lib/plugins/usermanager
411 %{_appdir}/lib/plugins/usermanager/*.*
412 %{_appdir}/lib/plugins/usermanager/images
413 %dir %{_appdir}/lib/plugins/info
414 %{_appdir}/lib/plugins/info/*.*
415 %dir %{_appdir}/lib/plugins/popularity
416 %{_appdir}/lib/plugins/popularity/*.*
418 %{_appdir}/lib/images
419 %{_appdir}/lib/scripts
420 %{_appdir}/lib/styles
424 %dir %attr(770,root,http) %{_localstatedir}
425 %dir %attr(770,root,http) %{_localstatedir}/attic
426 %dir %attr(770,root,http) %{_localstatedir}/index
427 %dir %attr(770,root,http) %{_localstatedir}/locks
428 %dir %attr(770,root,http) %{_localstatedir}/media
429 %dir %attr(770,root,http) %{_localstatedir}/media_attic
430 %dir %attr(770,root,http) %{_localstatedir}/media_meta
431 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
432 %dir %attr(770,root,http) %{_localstatedir}/meta
433 %dir %attr(770,root,http) %{_localstatedir}/pages
434 %dir %attr(770,root,http) %{_localstatedir}/pages/playground
435 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
436 %dir %attr(770,root,http) %{_localstatedir}/tmp
438 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
439 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
440 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
441 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/welcome.txt
442 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
443 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.png
445 %dir %attr(770,root,http) %{_cachedir}
448 %defattr(644,root,root,755)
449 %{_appdir}/install.php