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