1 %define subver 2012-07-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}.tgz
15 # Source0-md5: d7afe9a8a4a73637d4620017f16f4b6a
16 Source1: %{name}-apache.conf
17 Source2: %{name}-lighttpd.conf
18 Source3: http://glen.alkohol.ee/pld/jude.png
19 # Source3-md5: 623344128960e18f86097dfee213ad4a
21 Source5: http://forum.skype.com/style_emoticons/skype/skype.png
22 # Source5-md5: 25c355be038267dc9fdb724b628000b9
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 Patch3: %{name}-config-allow-require.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 Patch13: %{name}-media-directlink.patch
44 Patch14: interwiki-outputonly.patch
45 Patch15: simplepie.patch
46 Patch18: install.patch
47 Patch19: pld-branding.patch
48 Patch20: fixprivilegeescalationbug.diff
49 Patch21: task-1821.patch
51 Patch23: backlink-rightside.patch
52 Patch24: more-buttons.patch
53 URL: http://www.dokuwiki.org/dokuwiki
55 BuildRequires: rpm-php-pearprov >= 4.4.2-11
56 BuildRequires: rpmbuild(macros) >= 1.520
57 Requires: jquery >= 1.6
58 Requires: jquery-cookie
60 Requires: php-common >= 4:%{php_min_version}
61 Requires: php-geshi >= 1.0.7.19
63 Requires: php-simplepie >= 1.0.1
66 Requires: webserver(access)
67 Requires: webserver(alias)
68 Requires: webserver(php)
69 Suggests: php-adldap >= 3.3.1
71 Obsoletes: dokuwiki-plugin-jquery
72 # can use gz compression to store attic pages
75 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
77 %define _webapps /etc/webapps
78 %define _webapp %{name}
79 %define _sysconfdir %{_webapps}/%{_webapp}
80 %define _appdir %{_datadir}/%{_webapp}
81 %define _localstatedir /var/lib/%{name}
82 %define _cachedir /var/cache/%{name}
83 %define find_lang %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
86 %define _noautopear pear(/usr/share/php/geshi.php) pear(/usr/share/php/adLDAP.php)
88 # exclude optional php dependencies
89 %define _noautophp php-bzip2 php-bcmath php-zip php-date php-ftp php-hash php-ldap php-mbstring php-mysql php-pgsql php-tokenizer
91 %define _noautoreq %{_noautophp} %{_noautopear}
94 DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at
95 creating documentation of any kind. It is targeted at developer teams,
96 workgroups and small companies. It has a simple but powerful syntax
97 which makes sure the datafiles remain readable outside the Wiki and
98 eases the creation of structured texts. All data is stored in plain
99 text files - no database is required.
101 %description -l pl.UTF-8
102 DokuWiki to zgodne ze standardami i proste w użyciu Wiki, przeznaczone
103 głównie do tworzenia dokumentów wszelkiego rodzaju. Jest przeznaczone
104 dla zespołów programistów, grup roboczych i małych firm. Ma prostą,
105 ale mającą duże możliwości składnię, dzięki której pliki danych
106 pozostają czytelne poza Wiki, a także ułatwiającą tworzenie tekstów
107 strukturalnych. Wszystkie dane są przechowywane w plikach tekstowych -
108 nie jest wymagana baza danych.
111 Summary: DokuWiki setup package
112 Summary(pl.UTF-8): Pakiet do wstępnej konfiguracji DokuWiki
113 Group: Applications/WWW
114 Requires: %{name} = %{version}-%{release}
117 Install this package to configure initial DokuWiki installation. You
118 should uninstall this package when you're done, as it considered
119 insecure to keep the setup files in place.
121 %description setup -l pl.UTF-8
122 Ten pakiet należy zainstalować w celu wstępnej konfiguracji DokuWiki
123 po pierwszej instalacji. Potem należy go odinstalować, jako że
124 pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
127 %setup -q -n %{name}-%{subver} %{?snap:-c}
130 test -e VERSION || echo %{subver}-git > VERSION
131 install -d data/pages/playground
132 touch data/pages/playground/playground.txt
143 #%patch12 -p1 UPDATE to new mailer class
150 #%patch21 -p1 UPDATE to new mailer class
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 inc/lang/.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} inc/adLDAP.php
178 # use system simplepie package
179 %{__rm} inc/SimplePie.php
181 # flash source on git tarballs
183 rm -rf lib/plugins/testing
185 # cleanup backups after patching
186 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
189 md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
190 if ! grep $md5 install.php; then
191 : update %{name}-config.patch -- it is outdated
196 rm -rf $RPM_BUILD_ROOT
197 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}/{bin,inc,lib}}
200 cp -al VERSION $RPM_BUILD_ROOT%{_appdir} 2>/dev/null && l=l
202 cp -a$l *.php $RPM_BUILD_ROOT%{_appdir}
203 cp -p$l VERSION $RPM_BUILD_ROOT%{_appdir}
204 cp -a$l bin/* $RPM_BUILD_ROOT%{_appdir}/bin
205 cp -a$l inc/* $RPM_BUILD_ROOT%{_appdir}/inc
206 cp -a$l lib/* $RPM_BUILD_ROOT%{_appdir}/lib
207 cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
208 cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
209 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
210 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
211 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
212 touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
213 touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
214 touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
215 touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
216 touch $RPM_BUILD_ROOT%{_sysconfdir}/plugins.local.php
217 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
218 touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
219 touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
220 touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
222 ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
223 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
224 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
225 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
226 cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/skype.png
227 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
228 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
230 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
231 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
233 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/default/images/button-pld.png
235 # hardlink identical icons.
236 findup -m $RPM_BUILD_ROOT
239 %find_lang %{name}.lang
242 rm -rf $RPM_BUILD_ROOT
245 chmod 770 %{_sysconfdir}
246 chmod 660 %{_sysconfdir}/local.php
247 chmod 660 %{_sysconfdir}/plugins.local.php
250 if [ "$1" = "0" ]; then
251 if [ -f %{_sysconfdir}/dokuwiki.php ]; then
252 chmod 750 %{_sysconfdir}
253 chmod 640 %{_sysconfdir}/local.php
254 chmod 640 %{_sysconfdir}/plugins.local.php
258 %triggerin -- apache1 < 1.3.37-3, apache1-base
259 %webapp_register apache %{_webapp}
261 %triggerun -- apache1 < 1.3.37-3, apache1-base
262 %webapp_unregister apache %{_webapp}
264 %triggerin -- apache < 2.2.0, apache-base
265 %webapp_register httpd %{_webapp}
267 %triggerun -- apache < 2.2.0, apache-base
268 %webapp_unregister httpd %{_webapp}
270 %triggerin -- lighttpd
271 %webapp_register lighttpd %{_webapp}
273 %triggerun -- lighttpd
274 %webapp_unregister lighttpd %{_webapp}
277 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
278 mv -f %{_appdir}/data/* %{_localstatedir}
279 rm -rf %{_appdir}/data
281 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
282 mv -f %{_appdir}/conf/* %{_sysconfdir}
283 rm -rf %{_appdir}/conf
285 if [ -d %{_localstatedir}/cache ]; then
286 rm -rf %{_localstatedir}/cache
290 %files -f %{name}.lang
291 %defattr(644,root,root,755)
293 %dir %attr(750,root,http) %verify(not mode) %{_sysconfdir}
294 %dir %attr(750,root,http) %{_sysconfdir}/lang
295 %dir %attr(750,root,http) %{_sysconfdir}/plugin_lang
296 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
297 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
298 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
300 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
301 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.php
302 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
304 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acl.auth.php
305 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
306 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
307 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
308 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
309 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
310 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
311 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
312 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
313 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/users.auth.php
314 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql.conf.php
316 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/local.php
317 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/plugins.local.php
319 # use local.php, local.protected.php, etc for local changes
320 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
321 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
322 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
323 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
324 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
325 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/wordblock.conf
327 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
328 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
329 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/plugins.required.php
337 %attr(755,root,root) %{_appdir}/bin/dwpage.php
338 %attr(755,root,root) %{_appdir}/bin/indexer.php
339 %attr(755,root,root) %{_appdir}/bin/render.php
340 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
341 %attr(755,root,root) %{_appdir}/bin/striplangs.php
346 %{_appdir}/inc/parser
349 %dir %{_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