1 %define subver 2012-09-10
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: 603aa49cbf046b7431467e4dcefae17f
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 Patch66: %{name}-config.patch
31 Patch0: %{name}-paths.patch
32 Patch1: system-jquery.patch
33 Patch2: style-width.patch
34 Patch4: %{name}-geshi.patch
35 Patch5: %{name}-http_auth-option.patch
36 Patch6: %{name}-nice_exit.patch
37 Patch8: %{name}-notify-respect-minor.patch
38 Patch10: %{name}-mailtext.patch
39 Patch11: %{name}-notifyns.patch
40 Patch12: %{name}-mailthreads.patch
41 Patch14: interwiki-outputonly.patch
42 Patch15: simplepie.patch
43 Patch19: pld-branding.patch
44 Patch20: fixprivilegeescalationbug.diff
45 Patch21: task-1821.patch
47 Patch23: backlink-rightside.patch
48 Patch24: more-buttons.patch
49 URL: http://www.dokuwiki.org/dokuwiki
51 BuildRequires: rpm-php-pearprov >= 4.4.2-11
52 BuildRequires: rpmbuild(macros) >= 1.520
53 Requires: jquery >= 1.6
54 Requires: jquery-cookie
56 Requires: php(core) >= %{php_min_version}
57 Requires: php(session)
59 Requires: php-geshi >= 1.0.7.19
60 Requires: php-simplepie >= 1.0.1
62 Requires: webserver(access)
63 Requires: webserver(alias)
64 Requires: webserver(php)
65 Suggests: php-adldap >= 3.3.1
67 Obsoletes: dokuwiki-plugin-jquery
68 Conflicts: dokuwiki-plugin-icalevents < 20120909
69 # can use gz compression to store attic pages
72 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
74 %define _webapps /etc/webapps
75 %define _webapp %{name}
76 %define _sysconfdir %{_webapps}/%{_webapp}
77 %define _appdir %{_datadir}/%{_webapp}
78 %define _localstatedir /var/lib/%{name}
79 %define _cachedir /var/cache/%{name}
80 %define find_lang %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
83 %define _noautopear pear(/usr/share/php/geshi.php) pear(/usr/share/php/adLDAP.php)
85 # exclude optional php dependencies
86 %define _noautophp php-bzip2 php-bcmath php-zip php-date php-ftp php-hash php-ldap php-mbstring php-mysql php-pgsql php-tokenizer
88 %define _noautoreq %{_noautophp} %{_noautopear}
91 DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at
92 creating documentation of any kind. It is targeted at developer teams,
93 workgroups and small companies. It has a simple but powerful syntax
94 which makes sure the datafiles remain readable outside the Wiki and
95 eases the creation of structured texts. All data is stored in plain
96 text files - no database is required.
98 %description -l pl.UTF-8
99 DokuWiki to zgodne ze standardami i proste w użyciu Wiki, przeznaczone
100 głównie do tworzenia dokumentów wszelkiego rodzaju. Jest przeznaczone
101 dla zespołów programistów, grup roboczych i małych firm. Ma prostą,
102 ale mającą duże możliwości składnię, dzięki której pliki danych
103 pozostają czytelne poza Wiki, a także ułatwiającą tworzenie tekstów
104 strukturalnych. Wszystkie dane są przechowywane w plikach tekstowych -
105 nie jest wymagana baza danych.
108 Summary: DokuWiki setup package
109 Summary(pl.UTF-8): Pakiet do wstępnej konfiguracji DokuWiki
110 Group: Applications/WWW
111 Requires: %{name} = %{version}-%{release}
114 Install this package to configure initial DokuWiki installation. You
115 should uninstall this package when you're done, as it considered
116 insecure to keep the setup files in place.
118 %description setup -l pl.UTF-8
119 Ten pakiet należy zainstalować w celu wstępnej konfiguracji DokuWiki
120 po pierwszej instalacji. Potem należy go odinstalować, jako że
121 pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
124 %setup -q -n %{name}-%{subver} %{?snap:-c}
127 test -e VERSION || echo %{subver}-git > VERSION
128 install -d data/pages/playground
129 touch data/pages/playground/playground.txt
152 # package as basenames, upgrade overwrite protected with .rpmnew
153 mv conf/local.php{.dist,}
154 mv conf/acl.auth.php{.dist,}
155 mv conf/users.auth.php{.dist,}
156 mv conf/mysql.conf.php{.example,}
158 find -name _dummy | xargs rm
159 %{__rm} lib/index.html lib/plugins/index.html inc/lang/.htaccess
161 # we just don't package deleted files, these get removed automatically on rpm upgrades
162 %{__rm} data/deleted.files
163 # source for security.png
164 %{__rm} data/security.xcf
166 # use system geshi package
167 %{__rm} inc/geshi.php
170 # use system adldap package
171 %{__rm} inc/adLDAP.php
173 # use system simplepie package
174 %{__rm} inc/SimplePie.php
176 # flash source on git tarballs
178 rm -rf lib/plugins/testing
180 # cleanup backups after patching
181 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
184 md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
185 if ! grep $md5 install.php; then
186 : update %{name}-config.patch -- it is outdated
191 rm -rf $RPM_BUILD_ROOT
192 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}/{bin,inc,lib}}
195 cp -al VERSION $RPM_BUILD_ROOT%{_appdir} 2>/dev/null && l=l
197 cp -a$l *.php $RPM_BUILD_ROOT%{_appdir}
198 cp -p$l VERSION $RPM_BUILD_ROOT%{_appdir}
199 cp -a$l bin/* $RPM_BUILD_ROOT%{_appdir}/bin
200 cp -a$l inc/* $RPM_BUILD_ROOT%{_appdir}/inc
201 cp -a$l lib/* $RPM_BUILD_ROOT%{_appdir}/lib
202 cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
203 cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
204 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
205 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
206 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
207 touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
208 touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
209 touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
210 touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
211 touch $RPM_BUILD_ROOT%{_sysconfdir}/plugins.local.php
212 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
213 touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
214 touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
215 touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
217 ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
218 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
219 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
220 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
221 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
222 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
224 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
225 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
227 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/default/images/button-pld.png
229 # hardlink identical icons.
230 findup -m $RPM_BUILD_ROOT
233 %find_lang %{name}.lang
236 rm -rf $RPM_BUILD_ROOT
239 chmod 770 %{_sysconfdir}
240 chmod 660 %{_sysconfdir}/local.php
241 chmod 660 %{_sysconfdir}/plugins.local.php
244 if [ "$1" = "0" ]; then
245 if [ -f %{_sysconfdir}/dokuwiki.php ]; then
246 chmod 750 %{_sysconfdir}
247 chmod 640 %{_sysconfdir}/local.php
248 chmod 640 %{_sysconfdir}/plugins.local.php
252 %triggerin -- apache1 < 1.3.37-3, apache1-base
253 %webapp_register apache %{_webapp}
255 %triggerun -- apache1 < 1.3.37-3, apache1-base
256 %webapp_unregister apache %{_webapp}
258 %triggerin -- apache < 2.2.0, apache-base
259 %webapp_register httpd %{_webapp}
261 %triggerun -- apache < 2.2.0, apache-base
262 %webapp_unregister httpd %{_webapp}
264 %triggerin -- lighttpd
265 %webapp_register lighttpd %{_webapp}
267 %triggerun -- lighttpd
268 %webapp_unregister lighttpd %{_webapp}
271 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
272 mv -f %{_appdir}/data/* %{_localstatedir}
273 rm -rf %{_appdir}/data
275 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
276 mv -f %{_appdir}/conf/* %{_sysconfdir}
277 rm -rf %{_appdir}/conf
279 if [ -d %{_localstatedir}/cache ]; then
280 rm -rf %{_localstatedir}/cache
284 %files -f %{name}.lang
285 %defattr(644,root,root,755)
287 %dir %attr(750,root,http) %verify(not mode) %{_sysconfdir}
288 %dir %attr(750,root,http) %{_sysconfdir}/lang
289 %dir %attr(750,root,http) %{_sysconfdir}/plugin_lang
290 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
291 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
292 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
294 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
295 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.php
296 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
298 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acl.auth.php
299 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
300 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
301 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
302 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
303 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
304 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
305 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
306 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
307 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/users.auth.php
308 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql.conf.php
310 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/local.php
311 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/plugins.local.php
313 # use local.php, local.protected.php, etc for local changes
314 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
315 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
316 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
317 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
318 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
319 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/wordblock.conf
321 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
322 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
323 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/plugins.required.php
331 %attr(755,root,root) %{_appdir}/bin/dwpage.php
332 %attr(755,root,root) %{_appdir}/bin/indexer.php
333 %attr(755,root,root) %{_appdir}/bin/render.php
334 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
335 %attr(755,root,root) %{_appdir}/bin/striplangs.php
339 %{_appdir}/inc/preload.php.dist
341 %{_appdir}/inc/parser
344 # allow plugins dir permission change to allow installation of plugins from admin
345 # however does not work with rpm 4.5
346 %dir %config %verify(not group mode) %{_appdir}/lib/plugins
347 %dir %{_appdir}/lib/plugins/acl
348 %{_appdir}/lib/plugins/acl/*.*
349 %{_appdir}/lib/plugins/acl/pix
350 %dir %{_appdir}/lib/plugins/config
351 %{_appdir}/lib/plugins/config/*.*
352 %{_appdir}/lib/plugins/config/images
353 %{_appdir}/lib/plugins/config/settings
354 %dir %{_appdir}/lib/plugins/plugin
355 %{_appdir}/lib/plugins/plugin/*.*
356 %{_appdir}/lib/plugins/plugin/classes
357 %dir %{_appdir}/lib/plugins/revert
358 %{_appdir}/lib/plugins/revert/*.*
359 %dir %{_appdir}/lib/plugins/safefnrecode
360 %{_appdir}/lib/plugins/safefnrecode/*.*
361 %dir %{_appdir}/lib/plugins/usermanager
362 %{_appdir}/lib/plugins/usermanager/*.*
363 %{_appdir}/lib/plugins/usermanager/images
364 %dir %{_appdir}/lib/plugins/info
365 %{_appdir}/lib/plugins/info/*.*
366 %dir %{_appdir}/lib/plugins/popularity
367 %{_appdir}/lib/plugins/popularity/*.*
368 %{_appdir}/lib/plugins/*.php
369 %{_appdir}/lib/images
370 %{_appdir}/lib/scripts
371 %{_appdir}/lib/styles
375 %dir %attr(770,root,http) %{_localstatedir}
376 %dir %attr(770,root,http) %{_localstatedir}/attic
377 %dir %attr(770,root,http) %{_localstatedir}/index
378 %dir %attr(770,root,http) %{_localstatedir}/locks
379 %dir %attr(770,root,http) %{_localstatedir}/media
380 %dir %attr(770,root,http) %{_localstatedir}/media_attic
381 %dir %attr(770,root,http) %{_localstatedir}/media_meta
382 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
383 %dir %attr(770,root,http) %{_localstatedir}/meta
384 %dir %attr(770,root,http) %{_localstatedir}/pages
385 %dir %attr(770,root,http) %{_localstatedir}/pages/playground
386 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
387 %dir %attr(770,root,http) %{_localstatedir}/tmp
389 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
390 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
391 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
392 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
393 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.png
395 %dir %attr(770,root,http) %{_cachedir}
398 %defattr(644,root,root,755)
399 %{_appdir}/install.php