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 Patch66: %{name}-config.patch
33 Patch0: %{name}-paths.patch
34 Patch1: system-jquery.patch
35 Patch2: style-width.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 Patch12: %{name}-mailthreads.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.9
56 Requires: jquery-cookie
58 Requires: php(core) >= %{php_min_version}
59 Requires: php(session)
61 Requires: php-geshi >= 1.0.7.19
62 Requires: php-simplepie >= 1.0.1
64 Requires: webserver(access)
65 Requires: webserver(alias)
66 Requires: webserver(php)
67 Suggests: php-adldap >= 3.3.1
69 Obsoletes: dokuwiki-plugin-jquery
70 Conflicts: dokuwiki-plugin-icalevents < 20120909
71 # can use gz compression to store attic pages
74 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
76 %define _webapps /etc/webapps
77 %define _webapp %{name}
78 %define _sysconfdir %{_webapps}/%{_webapp}
79 %define _appdir %{_datadir}/%{_webapp}
80 %define _localstatedir /var/lib/%{name}
81 %define _cachedir /var/cache/%{name}
82 %define find_lang %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
85 %define _noautopear pear./usr/share/php/geshi.php pear./usr/share/php/adLDAP.php
87 # exclude optional php dependencies
88 %define _noautophp php-bzip2 php-bcmath php-zip php-date php-ftp php-hash php-ldap php-mbstring php-mysql php-pgsql php-tokenizer
90 %define _noautoreq %{_noautophp} %{_noautopear}
93 DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at
94 creating documentation of any kind. It is targeted at developer teams,
95 workgroups and small companies. It has a simple but powerful syntax
96 which makes sure the datafiles remain readable outside the Wiki and
97 eases the creation of structured texts. All data is stored in plain
98 text files - no database is required.
100 %description -l pl.UTF-8
101 DokuWiki to zgodne ze standardami i proste w użyciu Wiki, przeznaczone
102 głównie do tworzenia dokumentów wszelkiego rodzaju. Jest przeznaczone
103 dla zespołów programistów, grup roboczych i małych firm. Ma prostą,
104 ale mającą duże możliwości składnię, dzięki której pliki danych
105 pozostają czytelne poza Wiki, a także ułatwiającą tworzenie tekstów
106 strukturalnych. Wszystkie dane są przechowywane w plikach tekstowych -
107 nie jest wymagana baza danych.
110 Summary: DokuWiki setup package
111 Summary(pl.UTF-8): Pakiet do wstępnej konfiguracji DokuWiki
112 Group: Applications/WWW
113 Requires: %{name} = %{version}-%{release}
116 Install this package to configure initial DokuWiki installation. You
117 should uninstall this package when you're done, as it considered
118 insecure to keep the setup files in place.
120 %description setup -l pl.UTF-8
121 Ten pakiet należy zainstalować w celu wstępnej konfiguracji DokuWiki
122 po pierwszej instalacji. Potem należy go odinstalować, jako że
123 pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
126 %setup -q -n %{name}-%{?rc_:rc}%{subver} %{?snap:-c}
129 test -e VERSION || echo %{subver}-git > VERSION
130 install -d data/pages/playground
131 touch data/pages/playground/playground.txt
142 #%patch12 -p1 OUTDATED?
147 #%%patch21 -p1 CHECKME
154 # package as basenames, upgrade overwrite protected with .rpmnew
155 mv conf/local.php{.dist,}
156 mv conf/acl.auth.php{.dist,}
157 mv conf/users.auth.php{.dist,}
158 mv conf/mysql.conf.php{.example,}
160 find -name _dummy | xargs rm
161 %{__rm} lib/index.html lib/plugins/index.html lib/images/index.html inc/lang/.htaccess
163 # we just don't package deleted files, these get removed automatically on rpm upgrades
164 %{__rm} data/deleted.files
165 # source for security.png
166 %{__rm} data/security.xcf
168 # use system geshi package
169 %{__rm} inc/geshi.php
172 # use system adldap package
173 %{__rm} -r lib/plugins/authad/adLDAP
175 # use system simplepie package
176 %{__rm} inc/SimplePie.php
178 # flash source on git tarballs
180 rm -rf lib/plugins/testing
181 rm -rf lib/plugins/config/_test
183 # use system packages
184 %{__rm} lib/scripts/jquery/update.sh
185 #%{__rm} lib/scripts/jquery/jquery-ui.js
186 #%{__rm} lib/scripts/jquery/jquery-ui.min.js
187 %{__rm} lib/scripts/jquery/jquery.cookie.js
188 #%{__rm} lib/scripts/jquery/jquery.js
189 #%{__rm} lib/scripts/jquery/jquery.min.js
190 #%{__rm} -r lib/scripts/jquery/jquery-ui-theme
192 # cleanup backups after patching
193 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
196 md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
197 if ! grep $md5 install.php; then
198 : update %{name}-config.patch -- it is outdated
203 rm -rf $RPM_BUILD_ROOT
204 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}/{bin,inc,lib}}
207 cp -al VERSION $RPM_BUILD_ROOT%{_appdir} 2>/dev/null && l=l
209 cp -a$l *.php $RPM_BUILD_ROOT%{_appdir}
210 cp -p$l VERSION $RPM_BUILD_ROOT%{_appdir}
211 cp -a$l bin/* $RPM_BUILD_ROOT%{_appdir}/bin
212 cp -a$l inc/* $RPM_BUILD_ROOT%{_appdir}/inc
213 cp -a$l lib/* $RPM_BUILD_ROOT%{_appdir}/lib
214 cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
215 cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
216 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
217 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
218 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
219 touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
220 touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
221 touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
222 touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
223 touch $RPM_BUILD_ROOT%{_sysconfdir}/plugins.local.php
224 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
225 touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
226 touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
227 touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
229 ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
230 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
231 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
232 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
233 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
234 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
236 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
237 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
239 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/dokuwiki/images/button-pld.png
240 ln $RPM_BUILD_ROOT%{_appdir}/lib/tpl/{dokuwiki,default}/images/button-pld.png
242 # hardlink identical icons.
243 findup -m $RPM_BUILD_ROOT
246 %find_lang %{name}.lang
249 rm -rf $RPM_BUILD_ROOT
252 chmod 770 %{_sysconfdir}
253 chmod 660 %{_sysconfdir}/local.php
254 chmod 660 %{_sysconfdir}/plugins.local.php
257 if [ "$1" = "0" ]; then
258 if [ -f %{_sysconfdir}/dokuwiki.php ]; then
259 chmod 750 %{_sysconfdir}
260 chmod 640 %{_sysconfdir}/local.php
261 chmod 640 %{_sysconfdir}/plugins.local.php
265 %triggerin -- apache1 < 1.3.37-3, apache1-base
266 %webapp_register apache %{_webapp}
268 %triggerun -- apache1 < 1.3.37-3, apache1-base
269 %webapp_unregister apache %{_webapp}
271 %triggerin -- apache < 2.2.0, apache-base
272 %webapp_register httpd %{_webapp}
274 %triggerun -- apache < 2.2.0, apache-base
275 %webapp_unregister httpd %{_webapp}
277 %triggerin -- lighttpd
278 %webapp_register lighttpd %{_webapp}
280 %triggerun -- lighttpd
281 %webapp_unregister lighttpd %{_webapp}
284 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
285 mv -f %{_appdir}/data/* %{_localstatedir}
286 rm -rf %{_appdir}/data
288 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
289 mv -f %{_appdir}/conf/* %{_sysconfdir}
290 rm -rf %{_appdir}/conf
292 if [ -d %{_localstatedir}/cache ]; then
293 rm -rf %{_localstatedir}/cache
297 %files -f %{name}.lang
298 %defattr(644,root,root,755)
300 %dir %attr(750,root,http) %verify(not mode) %{_sysconfdir}
301 %dir %attr(750,root,http) %{_sysconfdir}/lang
302 %dir %attr(750,root,http) %{_sysconfdir}/plugin_lang
303 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
304 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
305 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
307 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
308 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.php
309 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
311 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acl.auth.php
312 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
313 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
314 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
315 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
316 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
317 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
318 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
319 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
320 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/users.auth.php
321 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql.conf.php
323 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/local.php
324 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/plugins.local.php
326 # use local.php, local.protected.php, etc for local changes
327 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
328 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
329 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
330 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
331 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
332 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/wordblock.conf
334 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
335 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
336 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/plugins.required.php
344 %attr(755,root,root) %{_appdir}/bin/dwpage.php
345 %attr(755,root,root) %{_appdir}/bin/indexer.php
346 %attr(755,root,root) %{_appdir}/bin/render.php
347 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
348 %attr(755,root,root) %{_appdir}/bin/striplangs.php
352 %{_appdir}/inc/preload.php.dist
353 %{_appdir}/inc/parser
356 # allow plugins dir permission change to allow installation of plugins from admin
357 # however does not work with rpm 4.5
358 %dir %config %verify(not group mode) %{_appdir}/lib/plugins
359 %dir %{_appdir}/lib/plugins/acl
360 %{_appdir}/lib/plugins/acl/*.*
361 %{_appdir}/lib/plugins/acl/pix
362 %dir %{_appdir}/lib/plugins/authad
363 %{_appdir}/lib/plugins/authad/*.php
364 %{_appdir}/lib/plugins/authad/*.txt
365 %{_appdir}/lib/plugins/authad/conf
366 %dir %{_appdir}/lib/plugins/authldap
367 %{_appdir}/lib/plugins/authldap/*.php
368 %{_appdir}/lib/plugins/authldap/*.txt
369 %{_appdir}/lib/plugins/authldap/conf
370 %dir %{_appdir}/lib/plugins/authmysql
371 %{_appdir}/lib/plugins/authmysql/*.php
372 %{_appdir}/lib/plugins/authmysql/*.txt
373 %{_appdir}/lib/plugins/authmysql/conf
374 %{_appdir}/lib/plugins/authpgsql/*.php
375 %{_appdir}/lib/plugins/authpgsql/conf
376 %{_appdir}/lib/plugins/authpgsql/*.txt
377 %dir %{_appdir}/lib/plugins/authpgsql
378 %dir %{_appdir}/lib/plugins/authplain
379 %{_appdir}/lib/plugins/authplain/*.php
380 %{_appdir}/lib/plugins/authplain/*.txt
381 %dir %{_appdir}/lib/plugins/config
382 %{_appdir}/lib/plugins/config/*.*
383 %{_appdir}/lib/plugins/config/images
384 %{_appdir}/lib/plugins/config/settings
385 %dir %{_appdir}/lib/plugins/plugin
386 %{_appdir}/lib/plugins/plugin/*.*
387 %{_appdir}/lib/plugins/plugin/classes
388 %dir %{_appdir}/lib/plugins/revert
389 %{_appdir}/lib/plugins/revert/*.*
390 %dir %{_appdir}/lib/plugins/safefnrecode
391 %{_appdir}/lib/plugins/safefnrecode/*.*
392 %dir %{_appdir}/lib/plugins/usermanager
393 %{_appdir}/lib/plugins/usermanager/*.*
394 %{_appdir}/lib/plugins/usermanager/images
395 %dir %{_appdir}/lib/plugins/info
396 %{_appdir}/lib/plugins/info/*.*
397 %dir %{_appdir}/lib/plugins/popularity
398 %{_appdir}/lib/plugins/popularity/*.*
399 %{_appdir}/lib/plugins/*.php
401 %{_appdir}/lib/images
402 %{_appdir}/lib/scripts
403 %{_appdir}/lib/styles
407 %dir %attr(770,root,http) %{_localstatedir}
408 %dir %attr(770,root,http) %{_localstatedir}/attic
409 %dir %attr(770,root,http) %{_localstatedir}/index
410 %dir %attr(770,root,http) %{_localstatedir}/locks
411 %dir %attr(770,root,http) %{_localstatedir}/media
412 %dir %attr(770,root,http) %{_localstatedir}/media_attic
413 %dir %attr(770,root,http) %{_localstatedir}/media_meta
414 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
415 %dir %attr(770,root,http) %{_localstatedir}/meta
416 %dir %attr(770,root,http) %{_localstatedir}/pages
417 %dir %attr(770,root,http) %{_localstatedir}/pages/playground
418 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
419 %dir %attr(770,root,http) %{_localstatedir}/tmp
421 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
422 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
423 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
424 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/welcome.txt
425 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
426 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.png
428 %dir %attr(770,root,http) %{_cachedir}
431 %defattr(644,root,root,755)
432 %{_appdir}/install.php