1 %define subver 2013-05-10
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: 9cb5bb79c0445df849845b586e872677
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 Patch100: git-fixes.patch
33 Patch66: %{name}-config.patch
34 Patch0: %{name}-paths.patch
35 Patch1: system-jquery.patch
36 Patch2: style-width.patch
37 Patch3: undeprecate.patch
38 Patch4: %{name}-geshi.patch
39 Patch5: %{name}-http_auth-option.patch
40 Patch6: %{name}-nice_exit.patch
41 Patch8: %{name}-notify-respect-minor.patch
42 Patch10: %{name}-mailtext.patch
43 Patch11: %{name}-notifyns.patch
44 Patch14: interwiki-outputonly.patch
45 Patch15: simplepie.patch
46 Patch19: pld-branding.patch
47 Patch20: fixprivilegeescalationbug.diff
48 Patch21: task-1821.patch
50 Patch23: backlink-rightside.patch
51 Patch24: more-buttons.patch
52 URL: https://www.dokuwiki.org/
54 BuildRequires: rpm-php-pearprov >= 4.4.2-11
55 BuildRequires: rpmbuild(macros) >= 1.520
56 Requires: jquery >= 1.8
57 #Requires: jquery >= 1.9.1
58 Requires: jquery-cookie
59 #Requires: jquery-migrate
60 #Requires: jquery-ui >= 1.10.2
61 Requires: jquery-ui >= 1.8
62 Requires: php(core) >= %{php_min_version}
63 Requires: php(session)
65 Requires: php-geshi >= 1.0.7.19
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 # flash source on git tarballs
186 rm -rf lib/plugins/testing
187 rm -rf lib/plugins/config/_test
189 # use system packages
190 %{__rm} lib/scripts/jquery/update.sh
191 %{__rm} lib/scripts/jquery/jquery-ui.js
192 %{__rm} lib/scripts/jquery/jquery-ui.min.js
193 %{__rm} lib/scripts/jquery/jquery.cookie.js
194 %{__rm} lib/scripts/jquery/jquery.js
195 %{__rm} lib/scripts/jquery/jquery.min.js
196 %{__rm} lib/scripts/jquery/jquery-migrate.js
197 %{__rm} lib/scripts/jquery/jquery-migrate.min.js
198 %{__rm} -r lib/scripts/jquery/jquery-ui-theme
200 # cleanup backups after patching
201 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
204 md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
205 if ! grep $md5 install.php; then
206 : update %{name}-config.patch -- it is outdated
211 rm -rf $RPM_BUILD_ROOT
212 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}/{bin,inc,lib}}
215 cp -al VERSION $RPM_BUILD_ROOT%{_appdir} 2>/dev/null && l=l
217 cp -a$l *.php $RPM_BUILD_ROOT%{_appdir}
218 cp -p$l VERSION $RPM_BUILD_ROOT%{_appdir}
219 cp -a$l bin/* $RPM_BUILD_ROOT%{_appdir}/bin
220 cp -a$l inc/* $RPM_BUILD_ROOT%{_appdir}/inc
221 cp -a$l lib/* $RPM_BUILD_ROOT%{_appdir}/lib
222 cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
223 cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
224 touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
225 touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
226 touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
227 touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
228 touch $RPM_BUILD_ROOT%{_sysconfdir}/plugins.local.php
229 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
230 touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
231 touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
232 touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
234 ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
235 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
236 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
237 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
238 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
239 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
241 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
242 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
244 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/dokuwiki/images/button-pld.png
245 ln $RPM_BUILD_ROOT%{_appdir}/lib/tpl/{dokuwiki,default}/images/button-pld.png
247 # hardlink identical icons.
248 findup -m $RPM_BUILD_ROOT
250 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
251 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
252 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
255 %find_lang %{name}.lang
258 rm -rf $RPM_BUILD_ROOT
261 chmod 770 %{_sysconfdir}
262 chmod 660 %{_sysconfdir}/local.php
263 chmod 660 %{_sysconfdir}/plugins.local.php
266 if [ "$1" = "0" ]; then
267 if [ -f %{_sysconfdir}/dokuwiki.php ]; then
268 chmod 750 %{_sysconfdir}
269 chmod 640 %{_sysconfdir}/local.php
270 chmod 640 %{_sysconfdir}/plugins.local.php
274 %triggerin -- apache1 < 1.3.37-3, apache1-base
275 %webapp_register apache %{_webapp}
277 %triggerun -- apache1 < 1.3.37-3, apache1-base
278 %webapp_unregister apache %{_webapp}
280 %triggerin -- apache < 2.2.0, apache-base
281 %webapp_register httpd %{_webapp}
283 %triggerun -- apache < 2.2.0, apache-base
284 %webapp_unregister httpd %{_webapp}
286 %triggerin -- lighttpd
287 %webapp_register lighttpd %{_webapp}
289 %triggerun -- lighttpd
290 %webapp_unregister lighttpd %{_webapp}
293 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
294 mv -f %{_appdir}/data/* %{_localstatedir}
295 rm -rf %{_appdir}/data
297 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
298 mv -f %{_appdir}/conf/* %{_sysconfdir}
299 rm -rf %{_appdir}/conf
301 if [ -d %{_localstatedir}/cache ]; then
302 rm -rf %{_localstatedir}/cache
306 %files -f %{name}.lang
307 %defattr(644,root,root,755)
309 %dir %attr(750,root,http) %verify(not mode) %{_sysconfdir}
310 %dir %attr(750,root,http) %{_sysconfdir}/lang
311 %dir %attr(750,root,http) %{_sysconfdir}/plugin_lang
312 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
313 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
314 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
316 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
317 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.php
318 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
320 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acl.auth.php
321 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
322 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
323 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
324 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
325 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
326 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
327 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
328 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
329 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/users.auth.php
330 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql.conf.php
332 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/local.php
333 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/plugins.local.php
335 # use local.php, local.protected.php, etc for local changes
336 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
337 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
338 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
339 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
340 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
341 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/wordblock.conf
343 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
344 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
345 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/plugins.required.php
353 %attr(755,root,root) %{_appdir}/bin/dwpage.php
354 %attr(755,root,root) %{_appdir}/bin/indexer.php
355 %attr(755,root,root) %{_appdir}/bin/render.php
356 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
357 %attr(755,root,root) %{_appdir}/bin/striplangs.php
361 %{_appdir}/inc/preload.php.dist
362 %{_appdir}/inc/parser
365 # allow plugins dir permission change to allow installation of plugins from admin
366 # however does not work with rpm 4.5
367 %dir %config %verify(not group mode) %{_appdir}/lib/plugins
368 %dir %{_appdir}/lib/plugins/acl
369 %{_appdir}/lib/plugins/acl/*.*
370 %{_appdir}/lib/plugins/acl/pix
371 %dir %{_appdir}/lib/plugins/authad
372 %{_appdir}/lib/plugins/authad/*.php
373 %{_appdir}/lib/plugins/authad/*.txt
374 %{_appdir}/lib/plugins/authad/conf
375 %dir %{_appdir}/lib/plugins/authldap
376 %{_appdir}/lib/plugins/authldap/*.php
377 %{_appdir}/lib/plugins/authldap/*.txt
378 %{_appdir}/lib/plugins/authldap/conf
379 %dir %{_appdir}/lib/plugins/authmysql
380 %{_appdir}/lib/plugins/authmysql/*.php
381 %{_appdir}/lib/plugins/authmysql/*.txt
382 %{_appdir}/lib/plugins/authmysql/conf
383 %{_appdir}/lib/plugins/authpgsql/*.php
384 %{_appdir}/lib/plugins/authpgsql/conf
385 %{_appdir}/lib/plugins/authpgsql/*.txt
386 %dir %{_appdir}/lib/plugins/authpgsql
387 %dir %{_appdir}/lib/plugins/authplain
388 %{_appdir}/lib/plugins/authplain/*.php
389 %{_appdir}/lib/plugins/authplain/*.txt
390 %dir %{_appdir}/lib/plugins/config
391 %{_appdir}/lib/plugins/config/*.*
392 %{_appdir}/lib/plugins/config/images
393 %{_appdir}/lib/plugins/config/settings
394 %dir %{_appdir}/lib/plugins/plugin
395 %{_appdir}/lib/plugins/plugin/*.*
396 %{_appdir}/lib/plugins/plugin/classes
397 %dir %{_appdir}/lib/plugins/revert
398 %{_appdir}/lib/plugins/revert/*.*
399 %dir %{_appdir}/lib/plugins/safefnrecode
400 %{_appdir}/lib/plugins/safefnrecode/*.*
401 %dir %{_appdir}/lib/plugins/usermanager
402 %{_appdir}/lib/plugins/usermanager/*.*
403 %{_appdir}/lib/plugins/usermanager/images
404 %dir %{_appdir}/lib/plugins/info
405 %{_appdir}/lib/plugins/info/*.*
406 %dir %{_appdir}/lib/plugins/popularity
407 %{_appdir}/lib/plugins/popularity/*.*
408 %{_appdir}/lib/plugins/*.php
410 %{_appdir}/lib/images
411 %{_appdir}/lib/scripts
412 %{_appdir}/lib/styles
416 %dir %attr(770,root,http) %{_localstatedir}
417 %dir %attr(770,root,http) %{_localstatedir}/attic
418 %dir %attr(770,root,http) %{_localstatedir}/index
419 %dir %attr(770,root,http) %{_localstatedir}/locks
420 %dir %attr(770,root,http) %{_localstatedir}/media
421 %dir %attr(770,root,http) %{_localstatedir}/media_attic
422 %dir %attr(770,root,http) %{_localstatedir}/media_meta
423 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
424 %dir %attr(770,root,http) %{_localstatedir}/meta
425 %dir %attr(770,root,http) %{_localstatedir}/pages
426 %dir %attr(770,root,http) %{_localstatedir}/pages/playground
427 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
428 %dir %attr(770,root,http) %{_localstatedir}/tmp
430 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
431 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
432 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
433 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/welcome.txt
434 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
435 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.png
437 %dir %attr(770,root,http) %{_cachedir}
440 %defattr(644,root,root,755)
441 %{_appdir}/install.php