1 %define subver 2013-05-10a
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://www.splitbrain.org/_media/projects/dokuwiki/%{name}-%{subver}.tgz
15 # Source0-md5: 4d6330ec652d7ed706a6b555a0b8adb8
16 #Source0: http://www.splitbrain.org/_media/projects/dokuwiki/%{name}-rc%{subver}.tgz
17 #Source0: http://github.com/splitbrain/dokuwiki/tarball/master/%{name}-%{subver}.tgz
18 Source1: %{name}-apache.conf
19 Source2: %{name}-lighttpd.conf
20 Source3: http://glen.alkohol.ee/pld/jude.png
21 # Source3-md5: 623344128960e18f86097dfee213ad4a
23 Source6: pld_button.png
24 # Source6-md5: 185afa921e81bd726b9f0f9f0909dc6e
27 Source9: http://trac.edgewall.org/export/9404/trunk/doc/trac_icon_16x16.png
28 # Source9-md5: 0c19ed35bf677f33f6bea14b3a8a2e10
30 Source11: http://glen.alkohol.ee/pld/astah.png
31 # Source11-md5: b1c999e6988440c9e2af6a12e9a56451
32 Patch66: %{name}-config.patch
33 Patch0: %{name}-paths.patch
34 Patch1: system-jquery.patch
35 Patch2: style-width.patch
36 Patch3: undeprecate.patch
37 Patch4: %{name}-geshi.patch
38 Patch5: %{name}-http_auth-option.patch
39 Patch6: %{name}-nice_exit.patch
40 Patch8: %{name}-notify-respect-minor.patch
41 Patch10: %{name}-mailtext.patch
42 Patch11: %{name}-notifyns.patch
43 Patch14: interwiki-outputonly.patch
44 Patch15: simplepie.patch
45 Patch19: pld-branding.patch
46 Patch20: fixprivilegeescalationbug.diff
47 Patch21: task-1821.patch
49 Patch23: backlink-rightside.patch
50 Patch24: more-buttons.patch
51 URL: https://www.dokuwiki.org/
53 BuildRequires: rpm-php-pearprov >= 4.4.2-11
54 BuildRequires: rpmbuild(macros) >= 1.520
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: php(core) >= %{php_min_version}
62 Requires: php(session)
64 Requires: php-geshi >= 1.0.7.19
65 Requires: php-simplepie >= 1.0.1
67 Requires: webserver(access)
68 Requires: webserver(alias)
69 Requires: webserver(php)
70 Suggests: php-adldap >= 3.3.1
72 Obsoletes: dokuwiki-plugin-jquery
73 Conflicts: dokuwiki-plugin-icalevents < 20120909
74 # can use gz compression to store attic pages
77 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
79 %define _webapps /etc/webapps
80 %define _webapp %{name}
81 %define _sysconfdir %{_webapps}/%{_webapp}
82 %define _appdir %{_datadir}/%{_webapp}
83 %define _localstatedir /var/lib/%{name}
84 %define _cachedir /var/cache/%{name}
85 %define find_lang %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
88 %define _noautopear pear./usr/share/php/geshi.php pear./usr/share/php/adLDAP.php
90 # exclude optional php dependencies
91 %define _noautophp php-bzip2 php-bcmath php-zip php-date php-ftp php-hash php-ldap php-mbstring php-mysql php-pgsql php-tokenizer
93 %define _noautoreq %{_noautophp} %{_noautopear}
96 DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at
97 creating documentation of any kind. It is targeted at developer teams,
98 workgroups and small companies. It has a simple but powerful syntax
99 which makes sure the datafiles remain readable outside the Wiki and
100 eases the creation of structured texts. All data is stored in plain
101 text files - no database is required.
103 %description -l pl.UTF-8
104 DokuWiki to zgodne ze standardami i proste w użyciu Wiki, przeznaczone
105 głównie do tworzenia dokumentów wszelkiego rodzaju. Jest przeznaczone
106 dla zespołów programistów, grup roboczych i małych firm. Ma prostą,
107 ale mającą duże możliwości składnię, dzięki której pliki danych
108 pozostają czytelne poza Wiki, a także ułatwiającą tworzenie tekstów
109 strukturalnych. Wszystkie dane są przechowywane w plikach tekstowych -
110 nie jest wymagana baza danych.
113 Summary: DokuWiki setup package
114 Summary(pl.UTF-8): Pakiet do wstępnej konfiguracji DokuWiki
115 Group: Applications/WWW
116 Requires: %{name} = %{version}-%{release}
119 Install this package to configure initial DokuWiki installation. You
120 should uninstall this package when you're done, as it considered
121 insecure to keep the setup files in place.
123 %description setup -l pl.UTF-8
124 Ten pakiet należy zainstalować w celu wstępnej konfiguracji DokuWiki
125 po pierwszej instalacji. Potem należy go odinstalować, jako że
126 pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
129 %setup -q -n %{name}-%{?rc_:rc}%{subver} %{?snap:-c}
132 test -e VERSION || echo %{subver}-git > VERSION
133 install -d data/pages/playground
134 touch data/pages/playground/playground.txt
157 # package as basenames, upgrade overwrite protected with .rpmnew
158 mv conf/local.php{.dist,}
159 mv conf/acl.auth.php{.dist,}
160 mv conf/users.auth.php{.dist,}
161 mv conf/mysql.conf.php{.example,}
163 find -name _dummy | xargs %{__rm}
164 %{__rm} lib/index.html lib/plugins/index.html lib/images/index.html
165 %{__rm} {conf,inc,bin,data,inc/lang}/.htaccess
167 # we just don't package deleted files, these get removed automatically on rpm upgrades
168 %{__rm} data/deleted.files
169 # source for security.png
170 %{__rm} data/security.xcf
172 # use system geshi package
173 %{__rm} inc/geshi.php
176 # use system adldap package
177 %{__rm} -r lib/plugins/authad/adLDAP
179 # use system simplepie package
180 %{__rm} inc/SimplePie.php
182 # flash source on git tarballs
184 rm -rf lib/plugins/testing
185 rm -rf lib/plugins/config/_test
187 # use system packages
188 %{__rm} lib/scripts/jquery/update.sh
189 %{__rm} lib/scripts/jquery/jquery-ui.js
190 %{__rm} lib/scripts/jquery/jquery-ui.min.js
191 %{__rm} lib/scripts/jquery/jquery.cookie.js
192 %{__rm} lib/scripts/jquery/jquery.js
193 %{__rm} lib/scripts/jquery/jquery.min.js
194 %{__rm} lib/scripts/jquery/jquery-migrate.js
195 %{__rm} lib/scripts/jquery/jquery-migrate.min.js
196 %{__rm} -r lib/scripts/jquery/jquery-ui-theme
198 # cleanup backups after patching
199 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
202 md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
203 if ! grep $md5 install.php; then
204 : update %{name}-config.patch -- it is outdated
209 rm -rf $RPM_BUILD_ROOT
210 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}/{bin,inc,lib}}
213 cp -al VERSION $RPM_BUILD_ROOT%{_appdir} 2>/dev/null && l=l
215 cp -a$l *.php $RPM_BUILD_ROOT%{_appdir}
216 cp -p$l VERSION $RPM_BUILD_ROOT%{_appdir}
217 cp -a$l bin/* $RPM_BUILD_ROOT%{_appdir}/bin
218 cp -a$l inc/* $RPM_BUILD_ROOT%{_appdir}/inc
219 cp -a$l lib/* $RPM_BUILD_ROOT%{_appdir}/lib
220 cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
221 cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
222 touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
223 touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
224 touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
225 touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
226 touch $RPM_BUILD_ROOT%{_sysconfdir}/plugins.local.php
227 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
228 touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
229 touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
230 touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
232 ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
233 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
234 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
235 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
236 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
237 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
239 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
240 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
242 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/dokuwiki/images/button-pld.png
243 ln $RPM_BUILD_ROOT%{_appdir}/lib/tpl/{dokuwiki,default}/images/button-pld.png
245 # hardlink identical icons.
246 findup -m $RPM_BUILD_ROOT
248 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
249 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
250 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
253 %find_lang %{name}.lang
256 rm -rf $RPM_BUILD_ROOT
259 chmod 770 %{_sysconfdir}
260 chmod 660 %{_sysconfdir}/local.php
261 chmod 660 %{_sysconfdir}/plugins.local.php
264 if [ "$1" = "0" ]; then
265 if [ -f %{_sysconfdir}/dokuwiki.php ]; then
266 chmod 750 %{_sysconfdir}
267 chmod 640 %{_sysconfdir}/local.php
268 chmod 640 %{_sysconfdir}/plugins.local.php
272 %triggerin -- apache1 < 1.3.37-3, apache1-base
273 %webapp_register apache %{_webapp}
275 %triggerun -- apache1 < 1.3.37-3, apache1-base
276 %webapp_unregister apache %{_webapp}
278 %triggerin -- apache < 2.2.0, apache-base
279 %webapp_register httpd %{_webapp}
281 %triggerun -- apache < 2.2.0, apache-base
282 %webapp_unregister httpd %{_webapp}
284 %triggerin -- lighttpd
285 %webapp_register lighttpd %{_webapp}
287 %triggerun -- lighttpd
288 %webapp_unregister lighttpd %{_webapp}
291 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
292 mv -f %{_appdir}/data/* %{_localstatedir}
293 rm -rf %{_appdir}/data
295 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
296 mv -f %{_appdir}/conf/* %{_sysconfdir}
297 rm -rf %{_appdir}/conf
299 if [ -d %{_localstatedir}/cache ]; then
300 rm -rf %{_localstatedir}/cache
304 %files -f %{name}.lang
305 %defattr(644,root,root,755)
307 %dir %attr(750,root,http) %verify(not mode) %{_sysconfdir}
308 %dir %attr(750,root,http) %{_sysconfdir}/lang
309 %dir %attr(750,root,http) %{_sysconfdir}/plugin_lang
310 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
311 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
312 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
314 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
315 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.php
316 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
318 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acl.auth.php
319 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
320 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
321 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
322 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
323 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
324 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
325 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
326 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
327 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/users.auth.php
328 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql.conf.php
330 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/local.php
331 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/plugins.local.php
333 # use local.php, local.protected.php, etc for local changes
334 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
335 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
336 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
337 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
338 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
339 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/wordblock.conf
341 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
342 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
343 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/plugins.required.php
351 %attr(755,root,root) %{_appdir}/bin/dwpage.php
352 %attr(755,root,root) %{_appdir}/bin/indexer.php
353 %attr(755,root,root) %{_appdir}/bin/render.php
354 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
355 %attr(755,root,root) %{_appdir}/bin/striplangs.php
359 %{_appdir}/inc/preload.php.dist
360 %{_appdir}/inc/parser
363 # allow plugins dir permission change to allow installation of plugins from admin
364 # however does not work with rpm 4.5
365 %dir %config %verify(not group mode) %{_appdir}/lib/plugins
366 %dir %{_appdir}/lib/plugins/acl
367 %{_appdir}/lib/plugins/acl/*.*
368 %{_appdir}/lib/plugins/acl/pix
369 %dir %{_appdir}/lib/plugins/authad
370 %{_appdir}/lib/plugins/authad/*.php
371 %{_appdir}/lib/plugins/authad/*.txt
372 %{_appdir}/lib/plugins/authad/conf
373 %dir %{_appdir}/lib/plugins/authldap
374 %{_appdir}/lib/plugins/authldap/*.php
375 %{_appdir}/lib/plugins/authldap/*.txt
376 %{_appdir}/lib/plugins/authldap/conf
377 %dir %{_appdir}/lib/plugins/authmysql
378 %{_appdir}/lib/plugins/authmysql/*.php
379 %{_appdir}/lib/plugins/authmysql/*.txt
380 %{_appdir}/lib/plugins/authmysql/conf
381 %{_appdir}/lib/plugins/authpgsql/*.php
382 %{_appdir}/lib/plugins/authpgsql/conf
383 %{_appdir}/lib/plugins/authpgsql/*.txt
384 %dir %{_appdir}/lib/plugins/authpgsql
385 %dir %{_appdir}/lib/plugins/authplain
386 %{_appdir}/lib/plugins/authplain/*.php
387 %{_appdir}/lib/plugins/authplain/*.txt
388 %dir %{_appdir}/lib/plugins/config
389 %{_appdir}/lib/plugins/config/*.*
390 %{_appdir}/lib/plugins/config/images
391 %{_appdir}/lib/plugins/config/settings
392 %dir %{_appdir}/lib/plugins/plugin
393 %{_appdir}/lib/plugins/plugin/*.*
394 %{_appdir}/lib/plugins/plugin/classes
395 %dir %{_appdir}/lib/plugins/revert
396 %{_appdir}/lib/plugins/revert/*.*
397 %dir %{_appdir}/lib/plugins/safefnrecode
398 %{_appdir}/lib/plugins/safefnrecode/*.*
399 %dir %{_appdir}/lib/plugins/usermanager
400 %{_appdir}/lib/plugins/usermanager/*.*
401 %{_appdir}/lib/plugins/usermanager/images
402 %dir %{_appdir}/lib/plugins/info
403 %{_appdir}/lib/plugins/info/*.*
404 %dir %{_appdir}/lib/plugins/popularity
405 %{_appdir}/lib/plugins/popularity/*.*
406 %{_appdir}/lib/plugins/*.php
408 %{_appdir}/lib/images
409 %{_appdir}/lib/scripts
410 %{_appdir}/lib/styles
414 %dir %attr(770,root,http) %{_localstatedir}
415 %dir %attr(770,root,http) %{_localstatedir}/attic
416 %dir %attr(770,root,http) %{_localstatedir}/index
417 %dir %attr(770,root,http) %{_localstatedir}/locks
418 %dir %attr(770,root,http) %{_localstatedir}/media
419 %dir %attr(770,root,http) %{_localstatedir}/media_attic
420 %dir %attr(770,root,http) %{_localstatedir}/media_meta
421 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
422 %dir %attr(770,root,http) %{_localstatedir}/meta
423 %dir %attr(770,root,http) %{_localstatedir}/pages
424 %dir %attr(770,root,http) %{_localstatedir}/pages/playground
425 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
426 %dir %attr(770,root,http) %{_localstatedir}/tmp
428 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
429 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
430 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
431 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/welcome.txt
432 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
433 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.png
435 %dir %attr(770,root,http) %{_cachedir}
438 %defattr(644,root,root,755)
439 %{_appdir}/install.php