1 %define subver 2013-10-28
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: http://download.dokuwiki.org/src/dokuwiki/%{name}-rc%{subver}.tgz
16 # Source0-md5: f476b54a3679d35cdd8746db57c9c6a3
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 Patch24: more-buttons.patch
50 Patch25: system-phpseclib.patch
51 Patch26: system-lessphp.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: lessphp >= 0.3.9
63 Requires: php(core) >= %{php_min_version}
64 Requires: php(session)
66 Requires: php-geshi >= 1.0.7.19
67 Requires: php-seclib >= 0.3.5
68 Requires: php-simplepie >= 1.0.1
70 Requires: webserver(access)
71 Requires: webserver(alias)
72 Requires: webserver(php)
73 Suggests: php-adldap >= 3.3.1
75 Obsoletes: dokuwiki-plugin-jquery
76 Conflicts: dokuwiki-plugin-icalevents < 20120909
77 # can use gz compression to store attic pages
80 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
82 %define _webapps /etc/webapps
83 %define _webapp %{name}
84 %define _sysconfdir %{_webapps}/%{_webapp}
85 %define _appdir %{_datadir}/%{_webapp}
86 %define _localstatedir /var/lib/%{name}
87 %define _cachedir /var/cache/%{name}
88 %define find_lang %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
91 %define _noautopear pear./usr/share/php/geshi.php pear./usr/share/php/adLDAP.php
93 # exclude optional php dependencies
94 %define _noautophp php-bzip2 php-bcmath php-zip php-date php-ftp php-hash php-ldap php-mbstring php-mysql php-pgsql php-tokenizer
96 %define _noautoreq %{_noautophp} %{_noautopear}
99 DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at
100 creating documentation of any kind. It is targeted at developer teams,
101 workgroups and small companies. It has a simple but powerful syntax
102 which makes sure the datafiles remain readable outside the Wiki and
103 eases the creation of structured texts. All data is stored in plain
104 text files - no database is required.
106 %description -l pl.UTF-8
107 DokuWiki to zgodne ze standardami i proste w użyciu Wiki, przeznaczone
108 głównie do tworzenia dokumentów wszelkiego rodzaju. Jest przeznaczone
109 dla zespołów programistów, grup roboczych i małych firm. Ma prostą,
110 ale mającą duże możliwości składnię, dzięki której pliki danych
111 pozostają czytelne poza Wiki, a także ułatwiającą tworzenie tekstów
112 strukturalnych. Wszystkie dane są przechowywane w plikach tekstowych -
113 nie jest wymagana baza danych.
116 Summary: DokuWiki setup package
117 Summary(pl.UTF-8): Pakiet do wstępnej konfiguracji DokuWiki
118 Group: Applications/WWW
119 Requires: %{name} = %{version}-%{release}
122 Install this package to configure initial DokuWiki installation. You
123 should uninstall this package when you're done, as it considered
124 insecure to keep the setup files in place.
126 %description setup -l pl.UTF-8
127 Ten pakiet należy zainstalować w celu wstępnej konfiguracji DokuWiki
128 po pierwszej instalacji. Potem należy go odinstalować, jako że
129 pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
132 %setup -q -n %{name}-%{?rc_:rc}%{subver} %{?snap:-c}
135 test -e VERSION || echo %{subver}-git > VERSION
136 install -d data/pages/playground
137 touch data/pages/playground/playground.txt
161 # package as basenames, upgrade overwrite protected with .rpmnew
162 mv conf/local.php{.dist,}
163 mv conf/acl.auth.php{.dist,}
164 mv conf/users.auth.php{.dist,}
165 mv conf/mysql.conf.php{.example,}
167 find -name _dummy | xargs %{__rm}
168 %{__rm} lib/index.html lib/plugins/index.html lib/images/index.html
169 %{__rm} {conf,inc,bin,data,inc/lang}/.htaccess
171 # we just don't package deleted files, these get removed automatically on rpm upgrades
172 %{__rm} data/deleted.files
173 # source for security.png
174 %{__rm} data/security.xcf
176 # use system geshi package
177 %{__rm} inc/geshi.php
180 # use system adldap package
181 %{__rm} -r lib/plugins/authad/adLDAP
183 # use system simplepie package
184 %{__rm} inc/SimplePie.php
186 # use system lessphp package
187 %{__rm} inc/lessc.inc.php
190 %{__rm} -r inc/phpseclib
192 # flash source on git tarballs
194 rm -rf lib/plugins/testing
195 rm -rf lib/plugins/config/_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}/userstyle.css
242 ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
243 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
244 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
245 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
246 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
247 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
249 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
250 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
252 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/dokuwiki/images/button-pld.png
254 # hardlink identical icons.
255 findup -m $RPM_BUILD_ROOT
257 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
258 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
259 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
262 %find_lang %{name}.lang
265 rm -rf $RPM_BUILD_ROOT
268 chmod 770 %{_sysconfdir}
269 chmod 660 %{_sysconfdir}/local.php
270 chmod 660 %{_sysconfdir}/plugins.local.php
273 if [ "$1" = "0" ]; then
274 if [ -f %{_sysconfdir}/dokuwiki.php ]; then
275 chmod 750 %{_sysconfdir}
276 chmod 640 %{_sysconfdir}/local.php
277 chmod 640 %{_sysconfdir}/plugins.local.php
281 %triggerin -- apache1 < 1.3.37-3, apache1-base
282 %webapp_register apache %{_webapp}
284 %triggerun -- apache1 < 1.3.37-3, apache1-base
285 %webapp_unregister apache %{_webapp}
287 %triggerin -- apache < 2.2.0, apache-base
288 %webapp_register httpd %{_webapp}
290 %triggerun -- apache < 2.2.0, apache-base
291 %webapp_unregister httpd %{_webapp}
293 %triggerin -- lighttpd
294 %webapp_register lighttpd %{_webapp}
296 %triggerun -- lighttpd
297 %webapp_unregister lighttpd %{_webapp}
300 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
301 mv -f %{_appdir}/data/* %{_localstatedir}
302 rm -rf %{_appdir}/data
304 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
305 mv -f %{_appdir}/conf/* %{_sysconfdir}
306 rm -rf %{_appdir}/conf
308 if [ -d %{_localstatedir}/cache ]; then
309 rm -rf %{_localstatedir}/cache
313 %files -f %{name}.lang
314 %defattr(644,root,root,755)
316 %dir %attr(750,root,http) %verify(not mode) %{_sysconfdir}
317 %dir %attr(750,root,http) %{_sysconfdir}/lang
318 %dir %attr(750,root,http) %{_sysconfdir}/plugin_lang
319 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
320 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
321 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
323 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
324 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.php
325 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
327 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acl.auth.php
328 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
329 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
330 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
331 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
332 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
333 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
334 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
335 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
336 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/users.auth.php
337 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql.conf.php
339 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/local.php
340 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/plugins.local.php
342 # use local.php, local.protected.php, etc for local changes
343 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
344 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
345 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
346 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
347 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
348 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/wordblock.conf
350 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
351 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
352 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/plugins.required.php
360 %attr(755,root,root) %{_appdir}/bin/dwpage.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/wantedpages.php
364 %attr(755,root,root) %{_appdir}/bin/striplangs.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 %dir %{_appdir}/lib/plugins/acl
376 %{_appdir}/lib/plugins/acl/*.*
377 %{_appdir}/lib/plugins/acl/pix
378 %dir %{_appdir}/lib/plugins/authad
379 %{_appdir}/lib/plugins/authad/*.php
380 %{_appdir}/lib/plugins/authad/*.txt
381 %{_appdir}/lib/plugins/authad/conf
382 %dir %{_appdir}/lib/plugins/authldap
383 %{_appdir}/lib/plugins/authldap/*.php
384 %{_appdir}/lib/plugins/authldap/*.txt
385 %{_appdir}/lib/plugins/authldap/conf
386 %dir %{_appdir}/lib/plugins/authmysql
387 %{_appdir}/lib/plugins/authmysql/*.php
388 %{_appdir}/lib/plugins/authmysql/*.txt
389 %{_appdir}/lib/plugins/authmysql/conf
390 %{_appdir}/lib/plugins/authpgsql/*.php
391 %{_appdir}/lib/plugins/authpgsql/conf
392 %{_appdir}/lib/plugins/authpgsql/*.txt
393 %dir %{_appdir}/lib/plugins/authpgsql
394 %dir %{_appdir}/lib/plugins/authplain
395 %{_appdir}/lib/plugins/authplain/*.php
396 %{_appdir}/lib/plugins/authplain/*.txt
397 %dir %{_appdir}/lib/plugins/config
398 %{_appdir}/lib/plugins/config/*.*
399 %{_appdir}/lib/plugins/config/images
400 %{_appdir}/lib/plugins/config/settings
401 %dir %{_appdir}/lib/plugins/plugin
402 %{_appdir}/lib/plugins/plugin/*.*
403 %{_appdir}/lib/plugins/plugin/classes
404 %dir %{_appdir}/lib/plugins/revert
405 %{_appdir}/lib/plugins/revert/*.*
406 %dir %{_appdir}/lib/plugins/safefnrecode
407 %{_appdir}/lib/plugins/safefnrecode/*.*
408 %dir %{_appdir}/lib/plugins/usermanager
409 %{_appdir}/lib/plugins/usermanager/*.*
410 %{_appdir}/lib/plugins/usermanager/images
411 %dir %{_appdir}/lib/plugins/info
412 %{_appdir}/lib/plugins/info/*.*
413 %dir %{_appdir}/lib/plugins/popularity
414 %{_appdir}/lib/plugins/popularity/*.*
415 %{_appdir}/lib/plugins/*.php
417 %{_appdir}/lib/images
418 %{_appdir}/lib/scripts
419 %{_appdir}/lib/styles
423 %dir %attr(770,root,http) %{_localstatedir}
424 %dir %attr(770,root,http) %{_localstatedir}/attic
425 %dir %attr(770,root,http) %{_localstatedir}/index
426 %dir %attr(770,root,http) %{_localstatedir}/locks
427 %dir %attr(770,root,http) %{_localstatedir}/media
428 %dir %attr(770,root,http) %{_localstatedir}/media_attic
429 %dir %attr(770,root,http) %{_localstatedir}/media_meta
430 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
431 %dir %attr(770,root,http) %{_localstatedir}/meta
432 %dir %attr(770,root,http) %{_localstatedir}/pages
433 %dir %attr(770,root,http) %{_localstatedir}/pages/playground
434 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
435 %dir %attr(770,root,http) %{_localstatedir}/tmp
437 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
438 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
439 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
440 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/welcome.txt
441 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
442 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.png
444 %dir %attr(770,root,http) %{_cachedir}
447 %defattr(644,root,root,755)
448 %{_appdir}/install.php