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 Patch3: undeprecate.patch
37 Patch4: %{name}-geshi.patch
38 Patch5: %{name}-http_auth-option.patch
39 Patch6: %{name}-nice_exit.patch
40 Patch8: %{name}-notify-respect-minor.patch
41 Patch10: %{name}-mailtext.patch
42 Patch11: %{name}-notifyns.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.8
56 #Requires: jquery >= 1.9.1
57 Requires: jquery-cookie
58 #Requires: jquery-migrate
59 #Requires: jquery-ui >= 1.10.2
60 Requires: jquery-ui >= 1.8
61 Requires: php(core) >= %{php_min_version}
62 Requires: php(session)
64 Requires: php-geshi >= 1.0.7.19
65 Requires: php-simplepie >= 1.0.1
67 Requires: webserver(access)
68 Requires: webserver(alias)
69 Requires: webserver(php)
70 Suggests: php-adldap >= 3.3.1
72 Obsoletes: dokuwiki-plugin-jquery
73 Conflicts: dokuwiki-plugin-icalevents < 20120909
74 # can use gz compression to store attic pages
77 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
79 %define _webapps /etc/webapps
80 %define _webapp %{name}
81 %define _sysconfdir %{_webapps}/%{_webapp}
82 %define _appdir %{_datadir}/%{_webapp}
83 %define _localstatedir /var/lib/%{name}
84 %define _cachedir /var/cache/%{name}
85 %define find_lang %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
88 %define _noautopear pear./usr/share/php/geshi.php pear./usr/share/php/adLDAP.php
90 # exclude optional php dependencies
91 %define _noautophp php-bzip2 php-bcmath php-zip php-date php-ftp php-hash php-ldap php-mbstring php-mysql php-pgsql php-tokenizer
93 %define _noautoreq %{_noautophp} %{_noautopear}
96 DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at
97 creating documentation of any kind. It is targeted at developer teams,
98 workgroups and small companies. It has a simple but powerful syntax
99 which makes sure the datafiles remain readable outside the Wiki and
100 eases the creation of structured texts. All data is stored in plain
101 text files - no database is required.
103 %description -l pl.UTF-8
104 DokuWiki to zgodne ze standardami i proste w użyciu Wiki, przeznaczone
105 głównie do tworzenia dokumentów wszelkiego rodzaju. Jest przeznaczone
106 dla zespołów programistów, grup roboczych i małych firm. Ma prostą,
107 ale mającą duże możliwości składnię, dzięki której pliki danych
108 pozostają czytelne poza Wiki, a także ułatwiającą tworzenie tekstów
109 strukturalnych. Wszystkie dane są przechowywane w plikach tekstowych -
110 nie jest wymagana baza danych.
113 Summary: DokuWiki setup package
114 Summary(pl.UTF-8): Pakiet do wstępnej konfiguracji DokuWiki
115 Group: Applications/WWW
116 Requires: %{name} = %{version}-%{release}
119 Install this package to configure initial DokuWiki installation. You
120 should uninstall this package when you're done, as it considered
121 insecure to keep the setup files in place.
123 %description setup -l pl.UTF-8
124 Ten pakiet należy zainstalować w celu wstępnej konfiguracji DokuWiki
125 po pierwszej instalacji. Potem należy go odinstalować, jako że
126 pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
129 %setup -q -n %{name}-%{?rc_:rc}%{subver} %{?snap:-c}
132 test -e VERSION || echo %{subver}-git > VERSION
133 install -d data/pages/playground
134 touch data/pages/playground/playground.txt
157 # package as basenames, upgrade overwrite protected with .rpmnew
158 mv conf/local.php{.dist,}
159 mv conf/acl.auth.php{.dist,}
160 mv conf/users.auth.php{.dist,}
161 mv conf/mysql.conf.php{.example,}
163 find -name _dummy | xargs rm
164 %{__rm} lib/index.html lib/plugins/index.html lib/images/index.html inc/lang/.htaccess conf/.htaccess
166 # we just don't package deleted files, these get removed automatically on rpm upgrades
167 %{__rm} data/deleted.files
168 # source for security.png
169 %{__rm} data/security.xcf
171 # use system geshi package
172 %{__rm} inc/geshi.php
175 # use system adldap package
176 %{__rm} -r lib/plugins/authad/adLDAP
178 # use system simplepie package
179 %{__rm} inc/SimplePie.php
181 # flash source on git tarballs
183 rm -rf lib/plugins/testing
184 rm -rf lib/plugins/config/_test
186 # use system packages
187 %{__rm} lib/scripts/jquery/update.sh
188 %{__rm} lib/scripts/jquery/jquery-ui.js
189 %{__rm} lib/scripts/jquery/jquery-ui.min.js
190 %{__rm} lib/scripts/jquery/jquery.cookie.js
191 %{__rm} lib/scripts/jquery/jquery.js
192 %{__rm} lib/scripts/jquery/jquery.min.js
193 %{__rm} lib/scripts/jquery/jquery-migrate.js
194 %{__rm} lib/scripts/jquery/jquery-migrate.min.js
195 %{__rm} -r lib/scripts/jquery/jquery-ui-theme
197 # cleanup backups after patching
198 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
201 md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
202 if ! grep $md5 install.php; then
203 : update %{name}-config.patch -- it is outdated
208 rm -rf $RPM_BUILD_ROOT
209 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}/{bin,inc,lib}}
212 cp -al VERSION $RPM_BUILD_ROOT%{_appdir} 2>/dev/null && l=l
214 cp -a$l *.php $RPM_BUILD_ROOT%{_appdir}
215 cp -p$l VERSION $RPM_BUILD_ROOT%{_appdir}
216 cp -a$l bin/* $RPM_BUILD_ROOT%{_appdir}/bin
217 cp -a$l inc/* $RPM_BUILD_ROOT%{_appdir}/inc
218 cp -a$l lib/* $RPM_BUILD_ROOT%{_appdir}/lib
219 cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
220 cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
221 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
222 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
223 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
224 touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
225 touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
226 touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
227 touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
228 touch $RPM_BUILD_ROOT%{_sysconfdir}/plugins.local.php
229 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
230 touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
231 touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
232 touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
234 ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
235 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
236 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
237 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
238 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
239 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
241 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
242 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
244 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/dokuwiki/images/button-pld.png
245 ln $RPM_BUILD_ROOT%{_appdir}/lib/tpl/{dokuwiki,default}/images/button-pld.png
247 # hardlink identical icons.
248 findup -m $RPM_BUILD_ROOT
251 %find_lang %{name}.lang
254 rm -rf $RPM_BUILD_ROOT
257 chmod 770 %{_sysconfdir}
258 chmod 660 %{_sysconfdir}/local.php
259 chmod 660 %{_sysconfdir}/plugins.local.php
262 if [ "$1" = "0" ]; then
263 if [ -f %{_sysconfdir}/dokuwiki.php ]; then
264 chmod 750 %{_sysconfdir}
265 chmod 640 %{_sysconfdir}/local.php
266 chmod 640 %{_sysconfdir}/plugins.local.php
270 %triggerin -- apache1 < 1.3.37-3, apache1-base
271 %webapp_register apache %{_webapp}
273 %triggerun -- apache1 < 1.3.37-3, apache1-base
274 %webapp_unregister apache %{_webapp}
276 %triggerin -- apache < 2.2.0, apache-base
277 %webapp_register httpd %{_webapp}
279 %triggerun -- apache < 2.2.0, apache-base
280 %webapp_unregister httpd %{_webapp}
282 %triggerin -- lighttpd
283 %webapp_register lighttpd %{_webapp}
285 %triggerun -- lighttpd
286 %webapp_unregister lighttpd %{_webapp}
289 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
290 mv -f %{_appdir}/data/* %{_localstatedir}
291 rm -rf %{_appdir}/data
293 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
294 mv -f %{_appdir}/conf/* %{_sysconfdir}
295 rm -rf %{_appdir}/conf
297 if [ -d %{_localstatedir}/cache ]; then
298 rm -rf %{_localstatedir}/cache
302 %files -f %{name}.lang
303 %defattr(644,root,root,755)
305 %dir %attr(750,root,http) %verify(not mode) %{_sysconfdir}
306 %dir %attr(750,root,http) %{_sysconfdir}/lang
307 %dir %attr(750,root,http) %{_sysconfdir}/plugin_lang
308 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
309 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
310 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
312 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
313 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.php
314 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
316 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acl.auth.php
317 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
318 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
319 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
320 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
321 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
322 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
323 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
324 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
325 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/users.auth.php
326 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql.conf.php
328 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/local.php
329 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/plugins.local.php
331 # use local.php, local.protected.php, etc for local changes
332 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
333 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
334 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
335 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
336 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
337 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/wordblock.conf
339 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
340 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
341 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/plugins.required.php
349 %attr(755,root,root) %{_appdir}/bin/dwpage.php
350 %attr(755,root,root) %{_appdir}/bin/indexer.php
351 %attr(755,root,root) %{_appdir}/bin/render.php
352 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
353 %attr(755,root,root) %{_appdir}/bin/striplangs.php
357 %{_appdir}/inc/preload.php.dist
358 %{_appdir}/inc/parser
361 # allow plugins dir permission change to allow installation of plugins from admin
362 # however does not work with rpm 4.5
363 %dir %config %verify(not group mode) %{_appdir}/lib/plugins
364 %dir %{_appdir}/lib/plugins/acl
365 %{_appdir}/lib/plugins/acl/*.*
366 %{_appdir}/lib/plugins/acl/pix
367 %dir %{_appdir}/lib/plugins/authad
368 %{_appdir}/lib/plugins/authad/*.php
369 %{_appdir}/lib/plugins/authad/*.txt
370 %{_appdir}/lib/plugins/authad/conf
371 %dir %{_appdir}/lib/plugins/authldap
372 %{_appdir}/lib/plugins/authldap/*.php
373 %{_appdir}/lib/plugins/authldap/*.txt
374 %{_appdir}/lib/plugins/authldap/conf
375 %dir %{_appdir}/lib/plugins/authmysql
376 %{_appdir}/lib/plugins/authmysql/*.php
377 %{_appdir}/lib/plugins/authmysql/*.txt
378 %{_appdir}/lib/plugins/authmysql/conf
379 %{_appdir}/lib/plugins/authpgsql/*.php
380 %{_appdir}/lib/plugins/authpgsql/conf
381 %{_appdir}/lib/plugins/authpgsql/*.txt
382 %dir %{_appdir}/lib/plugins/authpgsql
383 %dir %{_appdir}/lib/plugins/authplain
384 %{_appdir}/lib/plugins/authplain/*.php
385 %{_appdir}/lib/plugins/authplain/*.txt
386 %dir %{_appdir}/lib/plugins/config
387 %{_appdir}/lib/plugins/config/*.*
388 %{_appdir}/lib/plugins/config/images
389 %{_appdir}/lib/plugins/config/settings
390 %dir %{_appdir}/lib/plugins/plugin
391 %{_appdir}/lib/plugins/plugin/*.*
392 %{_appdir}/lib/plugins/plugin/classes
393 %dir %{_appdir}/lib/plugins/revert
394 %{_appdir}/lib/plugins/revert/*.*
395 %dir %{_appdir}/lib/plugins/safefnrecode
396 %{_appdir}/lib/plugins/safefnrecode/*.*
397 %dir %{_appdir}/lib/plugins/usermanager
398 %{_appdir}/lib/plugins/usermanager/*.*
399 %{_appdir}/lib/plugins/usermanager/images
400 %dir %{_appdir}/lib/plugins/info
401 %{_appdir}/lib/plugins/info/*.*
402 %dir %{_appdir}/lib/plugins/popularity
403 %{_appdir}/lib/plugins/popularity/*.*
404 %{_appdir}/lib/plugins/*.php
406 %{_appdir}/lib/images
407 %{_appdir}/lib/scripts
408 %{_appdir}/lib/styles
412 %dir %attr(770,root,http) %{_localstatedir}
413 %dir %attr(770,root,http) %{_localstatedir}/attic
414 %dir %attr(770,root,http) %{_localstatedir}/index
415 %dir %attr(770,root,http) %{_localstatedir}/locks
416 %dir %attr(770,root,http) %{_localstatedir}/media
417 %dir %attr(770,root,http) %{_localstatedir}/media_attic
418 %dir %attr(770,root,http) %{_localstatedir}/media_meta
419 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
420 %dir %attr(770,root,http) %{_localstatedir}/meta
421 %dir %attr(770,root,http) %{_localstatedir}/pages
422 %dir %attr(770,root,http) %{_localstatedir}/pages/playground
423 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
424 %dir %attr(770,root,http) %{_localstatedir}/tmp
426 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
427 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
428 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
429 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/welcome.txt
430 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
431 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.png
433 %dir %attr(770,root,http) %{_cachedir}
436 %defattr(644,root,root,755)
437 %{_appdir}/install.php