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