1 %define subver 2013-03-06
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://www.splitbrain.org/_media/projects/dokuwiki/%{name}-rc%{subver}.tgz
16 # Source0-md5: a7a290858cb0c624ab83a894417b6686
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 # cleanup backups after patching
184 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
187 md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
188 if ! grep $md5 install.php; then
189 : update %{name}-config.patch -- it is outdated
194 rm -rf $RPM_BUILD_ROOT
195 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}/{bin,inc,lib}}
198 cp -al VERSION $RPM_BUILD_ROOT%{_appdir} 2>/dev/null && l=l
200 cp -a$l *.php $RPM_BUILD_ROOT%{_appdir}
201 cp -p$l VERSION $RPM_BUILD_ROOT%{_appdir}
202 cp -a$l bin/* $RPM_BUILD_ROOT%{_appdir}/bin
203 cp -a$l inc/* $RPM_BUILD_ROOT%{_appdir}/inc
204 cp -a$l lib/* $RPM_BUILD_ROOT%{_appdir}/lib
205 cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
206 cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
207 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
208 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
209 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
210 touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
211 touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
212 touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
213 touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
214 touch $RPM_BUILD_ROOT%{_sysconfdir}/plugins.local.php
215 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
216 touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
217 touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
218 touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
220 ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
221 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
222 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
223 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
224 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
225 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
227 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
228 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
230 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/dokuwiki/images/button-pld.png
231 ln $RPM_BUILD_ROOT%{_appdir}/lib/tpl/{dokuwiki,default}/images/button-pld.png
233 # hardlink identical icons.
234 findup -m $RPM_BUILD_ROOT
237 %find_lang %{name}.lang
240 rm -rf $RPM_BUILD_ROOT
243 chmod 770 %{_sysconfdir}
244 chmod 660 %{_sysconfdir}/local.php
245 chmod 660 %{_sysconfdir}/plugins.local.php
248 if [ "$1" = "0" ]; then
249 if [ -f %{_sysconfdir}/dokuwiki.php ]; then
250 chmod 750 %{_sysconfdir}
251 chmod 640 %{_sysconfdir}/local.php
252 chmod 640 %{_sysconfdir}/plugins.local.php
256 %triggerin -- apache1 < 1.3.37-3, apache1-base
257 %webapp_register apache %{_webapp}
259 %triggerun -- apache1 < 1.3.37-3, apache1-base
260 %webapp_unregister apache %{_webapp}
262 %triggerin -- apache < 2.2.0, apache-base
263 %webapp_register httpd %{_webapp}
265 %triggerun -- apache < 2.2.0, apache-base
266 %webapp_unregister httpd %{_webapp}
268 %triggerin -- lighttpd
269 %webapp_register lighttpd %{_webapp}
271 %triggerun -- lighttpd
272 %webapp_unregister lighttpd %{_webapp}
275 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
276 mv -f %{_appdir}/data/* %{_localstatedir}
277 rm -rf %{_appdir}/data
279 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
280 mv -f %{_appdir}/conf/* %{_sysconfdir}
281 rm -rf %{_appdir}/conf
283 if [ -d %{_localstatedir}/cache ]; then
284 rm -rf %{_localstatedir}/cache
288 %files -f %{name}.lang
289 %defattr(644,root,root,755)
291 %dir %attr(750,root,http) %verify(not mode) %{_sysconfdir}
292 %dir %attr(750,root,http) %{_sysconfdir}/lang
293 %dir %attr(750,root,http) %{_sysconfdir}/plugin_lang
294 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
295 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
296 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
298 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
299 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.php
300 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
302 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acl.auth.php
303 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
304 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
305 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
306 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
307 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
308 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
309 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
310 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
311 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/users.auth.php
312 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql.conf.php
314 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/local.php
315 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/plugins.local.php
317 # use local.php, local.protected.php, etc for local changes
318 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
319 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
320 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
321 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
322 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
323 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/wordblock.conf
325 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
326 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
327 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/plugins.required.php
335 %attr(755,root,root) %{_appdir}/bin/dwpage.php
336 %attr(755,root,root) %{_appdir}/bin/indexer.php
337 %attr(755,root,root) %{_appdir}/bin/render.php
338 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
339 %attr(755,root,root) %{_appdir}/bin/striplangs.php
343 %{_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
374 %{_appdir}/lib/plugins/authad
375 %{_appdir}/lib/plugins/authldap
376 %{_appdir}/lib/plugins/authmysql
377 %{_appdir}/lib/plugins/authpgsql
378 %{_appdir}/lib/plugins/authplain
380 %{_appdir}/lib/images
381 %{_appdir}/lib/scripts
382 %{_appdir}/lib/styles
386 %dir %attr(770,root,http) %{_localstatedir}
387 %dir %attr(770,root,http) %{_localstatedir}/attic
388 %dir %attr(770,root,http) %{_localstatedir}/index
389 %dir %attr(770,root,http) %{_localstatedir}/locks
390 %dir %attr(770,root,http) %{_localstatedir}/media
391 %dir %attr(770,root,http) %{_localstatedir}/media_attic
392 %dir %attr(770,root,http) %{_localstatedir}/media_meta
393 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
394 %dir %attr(770,root,http) %{_localstatedir}/meta
395 %dir %attr(770,root,http) %{_localstatedir}/pages
396 %dir %attr(770,root,http) %{_localstatedir}/pages/playground
397 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
398 %dir %attr(770,root,http) %{_localstatedir}/tmp
400 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
401 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
402 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
403 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/welcome.txt
404 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
405 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.png
407 %dir %attr(770,root,http) %{_cachedir}
410 %defattr(644,root,root,755)
411 %{_appdir}/install.php