1 %define subver 2012-10-13
2 %define ver %(echo %{subver} | tr -d -)
4 %define php_min_version 5.2.4
5 %include /usr/lib/rpm/macros.php
6 Summary: PHP-based Wiki webapplication
7 Summary(pl.UTF-8): Aplikacja WWW Wiki oparta na PHP
12 Group: Applications/WWW
13 Source0: http://www.splitbrain.org/_media/projects/dokuwiki/%{name}-%{subver}.tgz
14 # Source0-md5: a910ebb2fcca13c0337ed672304c4ad4
15 #Source0: http://github.com/splitbrain/dokuwiki/tarball/master/%{name}-%{subver}.tgz
16 Source1: %{name}-apache.conf
17 Source2: %{name}-lighttpd.conf
18 Source3: http://glen.alkohol.ee/pld/jude.png
19 # Source3-md5: 623344128960e18f86097dfee213ad4a
21 Source6: pld_button.png
22 # Source6-md5: 185afa921e81bd726b9f0f9f0909dc6e
25 Source9: http://trac.edgewall.org/export/9404/trunk/doc/trac_icon_16x16.png
26 # Source9-md5: 0c19ed35bf677f33f6bea14b3a8a2e10
28 Source11: http://glen.alkohol.ee/pld/astah.png
29 # Source11-md5: b1c999e6988440c9e2af6a12e9a56451
30 Source12: %{name}-httpd.conf
31 Patch66: %{name}-config.patch
32 Patch0: %{name}-paths.patch
33 Patch1: system-jquery.patch
34 Patch2: style-width.patch
35 Patch4: %{name}-geshi.patch
36 Patch5: %{name}-http_auth-option.patch
37 Patch6: %{name}-nice_exit.patch
38 Patch8: %{name}-notify-respect-minor.patch
39 Patch10: %{name}-mailtext.patch
40 Patch11: %{name}-notifyns.patch
41 Patch12: %{name}-mailthreads.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 Patch23: backlink-rightside.patch
49 Patch24: more-buttons.patch
50 URL: https://www.dokuwiki.org/
52 BuildRequires: rpm-php-pearprov >= 4.4.2-11
53 BuildRequires: rpmbuild(macros) >= 1.520
54 Requires: jquery >= 1.6
55 Requires: jquery-cookie
57 Requires: php(core) >= %{php_min_version}
58 Requires: php(session)
60 Requires: php-geshi >= 1.0.7.19
61 Requires: php-simplepie >= 1.0.1
63 Requires: webserver(access)
64 Requires: webserver(alias)
65 Requires: webserver(php)
66 Suggests: php-adldap >= 3.3.1
68 Obsoletes: dokuwiki-plugin-jquery
69 Conflicts: apache-base < 2.4.0-1
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}-%{subver} %{?snap:-c}
129 test -e VERSION || echo %{subver}-git > VERSION
130 install -d data/pages/playground
131 touch data/pages/playground/playground.txt
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} inc/adLDAP.php
175 # use system simplepie package
176 %{__rm} inc/SimplePie.php
178 # flash source on git tarballs
180 rm -rf lib/plugins/testing
182 # cleanup backups after patching
183 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
186 md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
187 if ! grep $md5 install.php; then
188 : update %{name}-config.patch -- it is outdated
193 rm -rf $RPM_BUILD_ROOT
194 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}/{bin,inc,lib}}
197 cp -al VERSION $RPM_BUILD_ROOT%{_appdir} 2>/dev/null && l=l
199 cp -a$l *.php $RPM_BUILD_ROOT%{_appdir}
200 cp -p$l VERSION $RPM_BUILD_ROOT%{_appdir}
201 cp -a$l bin/* $RPM_BUILD_ROOT%{_appdir}/bin
202 cp -a$l inc/* $RPM_BUILD_ROOT%{_appdir}/inc
203 cp -a$l lib/* $RPM_BUILD_ROOT%{_appdir}/lib
204 cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
205 cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
206 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
207 cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
208 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
209 touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
210 touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
211 touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
212 touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
213 touch $RPM_BUILD_ROOT%{_sysconfdir}/plugins.local.php
214 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
215 touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
216 touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
217 touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
219 ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
220 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
221 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
222 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
223 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
224 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
226 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
227 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
229 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/dokuwiki/images/button-pld.png
230 ln $RPM_BUILD_ROOT%{_appdir}/lib/tpl/{dokuwiki,default}/images/button-pld.png
232 # hardlink identical icons.
233 findup -m $RPM_BUILD_ROOT
236 %find_lang %{name}.lang
239 rm -rf $RPM_BUILD_ROOT
242 chmod 770 %{_sysconfdir}
243 chmod 660 %{_sysconfdir}/local.php
244 chmod 660 %{_sysconfdir}/plugins.local.php
247 if [ "$1" = "0" ]; then
248 if [ -f %{_sysconfdir}/dokuwiki.php ]; then
249 chmod 750 %{_sysconfdir}
250 chmod 640 %{_sysconfdir}/local.php
251 chmod 640 %{_sysconfdir}/plugins.local.php
255 %triggerin -- apache1 < 1.3.37-3, apache1-base
256 %webapp_register apache %{_webapp}
258 %triggerun -- apache1 < 1.3.37-3, apache1-base
259 %webapp_unregister apache %{_webapp}
261 %triggerin -- apache-base
262 %webapp_register httpd %{_webapp}
264 %triggerun -- apache-base
265 %webapp_unregister httpd %{_webapp}
267 %triggerin -- lighttpd
268 %webapp_register lighttpd %{_webapp}
270 %triggerun -- lighttpd
271 %webapp_unregister lighttpd %{_webapp}
274 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
275 mv -f %{_appdir}/data/* %{_localstatedir}
276 rm -rf %{_appdir}/data
278 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
279 mv -f %{_appdir}/conf/* %{_sysconfdir}
280 rm -rf %{_appdir}/conf
282 if [ -d %{_localstatedir}/cache ]; then
283 rm -rf %{_localstatedir}/cache
287 %files -f %{name}.lang
288 %defattr(644,root,root,755)
290 %dir %attr(750,root,http) %verify(not mode) %{_sysconfdir}
291 %dir %attr(750,root,http) %{_sysconfdir}/lang
292 %dir %attr(750,root,http) %{_sysconfdir}/plugin_lang
293 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
294 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
295 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
297 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
298 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.php
299 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
301 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acl.auth.php
302 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
303 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
304 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
305 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
306 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
307 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
308 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
309 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
310 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/users.auth.php
311 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql.conf.php
313 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/local.php
314 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/plugins.local.php
316 # use local.php, local.protected.php, etc for local changes
317 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
318 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
319 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
320 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
321 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
322 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/wordblock.conf
324 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
325 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
326 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/plugins.required.php
334 %attr(755,root,root) %{_appdir}/bin/dwpage.php
335 %attr(755,root,root) %{_appdir}/bin/indexer.php
336 %attr(755,root,root) %{_appdir}/bin/render.php
337 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
338 %attr(755,root,root) %{_appdir}/bin/striplangs.php
342 %{_appdir}/inc/preload.php.dist
344 %{_appdir}/inc/parser
347 # allow plugins dir permission change to allow installation of plugins from admin
348 # however does not work with rpm 4.5
349 %dir %config %verify(not group mode) %{_appdir}/lib/plugins
350 %dir %{_appdir}/lib/plugins/acl
351 %{_appdir}/lib/plugins/acl/*.*
352 %{_appdir}/lib/plugins/acl/pix
353 %dir %{_appdir}/lib/plugins/config
354 %{_appdir}/lib/plugins/config/*.*
355 %{_appdir}/lib/plugins/config/images
356 %{_appdir}/lib/plugins/config/settings
357 %dir %{_appdir}/lib/plugins/plugin
358 %{_appdir}/lib/plugins/plugin/*.*
359 %{_appdir}/lib/plugins/plugin/classes
360 %dir %{_appdir}/lib/plugins/revert
361 %{_appdir}/lib/plugins/revert/*.*
362 %dir %{_appdir}/lib/plugins/safefnrecode
363 %{_appdir}/lib/plugins/safefnrecode/*.*
364 %dir %{_appdir}/lib/plugins/usermanager
365 %{_appdir}/lib/plugins/usermanager/*.*
366 %{_appdir}/lib/plugins/usermanager/images
367 %dir %{_appdir}/lib/plugins/info
368 %{_appdir}/lib/plugins/info/*.*
369 %dir %{_appdir}/lib/plugins/popularity
370 %{_appdir}/lib/plugins/popularity/*.*
371 %{_appdir}/lib/plugins/*.php
372 %{_appdir}/lib/images
373 %{_appdir}/lib/scripts
374 %{_appdir}/lib/styles
378 %dir %attr(770,root,http) %{_localstatedir}
379 %dir %attr(770,root,http) %{_localstatedir}/attic
380 %dir %attr(770,root,http) %{_localstatedir}/index
381 %dir %attr(770,root,http) %{_localstatedir}/locks
382 %dir %attr(770,root,http) %{_localstatedir}/media
383 %dir %attr(770,root,http) %{_localstatedir}/media_attic
384 %dir %attr(770,root,http) %{_localstatedir}/media_meta
385 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
386 %dir %attr(770,root,http) %{_localstatedir}/meta
387 %dir %attr(770,root,http) %{_localstatedir}/pages
388 %dir %attr(770,root,http) %{_localstatedir}/pages/playground
389 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
390 %dir %attr(770,root,http) %{_localstatedir}/tmp
392 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
393 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
394 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
395 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
396 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.png
398 %dir %attr(770,root,http) %{_cachedir}
401 %defattr(644,root,root,755)
402 %{_appdir}/install.php