1 %define subver 2010-11-07
2 %define ver %(echo %{subver} | tr -d -)
3 %define php_min_version 5.1.2
4 %include /usr/lib/rpm/macros.php
5 Summary: PHP-based Wiki webapplication
6 Summary(pl.UTF-8): Aplikacja WWW Wiki oparta na PHP
11 Group: Applications/WWW
12 Source0: http://www.splitbrain.org/_media/projects/dokuwiki/%{name}-%{subver}.tgz
13 # Source0-md5: b590c45049605e86bc2474a1d04fb4ba
14 Source1: %{name}-apache.conf
15 Source2: %{name}-lighttpd.conf
16 Source3: http://glen.alkohol.ee/pld/jude.png
17 # Source3-md5: 623344128960e18f86097dfee213ad4a
19 Source5: http://forum.skype.com/style_emoticons/skype/skype.png
20 # Source5-md5: 25c355be038267dc9fdb724b628000b9
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 Patch2: %{name}-mysqlauth.patch
33 Patch3: %{name}-config-allow-require.patch
34 Patch4: %{name}-geshi.patch
35 Patch5: %{name}-http_auth-option.patch
36 Patch6: %{name}-nice_exit.patch
37 Patch7: %{name}-mail-headerencodequotes.patch
38 Patch8: %{name}-notify-respect-minor.patch
39 Patch10: %{name}-mailtext.patch
40 Patch11: %{name}-notifyns.patch
41 Patch12: %{name}-mailthreads.patch
42 Patch13: %{name}-media-directlink.patch
43 Patch14: interwiki-outputonly.patch
44 Patch15: simplepie.patch
45 Patch18: install.patch
46 Patch19: pld-branding.patch
47 Patch20: fixprivilegeescalationbug.diff
48 Patch21: task-1821.patch
50 URL: http://www.dokuwiki.org/dokuwiki
52 BuildRequires: rpm-php-pearprov >= 4.4.2-11
53 BuildRequires: rpmbuild(macros) >= 1.520
54 Requires: php-common >= 4:%{php_min_version}
55 Requires: php-geshi >= 1.0.7.19
57 Requires: php-simplepie >= 1.0.1
60 Requires: webserver(access)
61 Requires: webserver(alias)
62 Requires: webserver(php)
63 Suggests: php-adldap >= 3.3.1
65 # can use gz compression to store attic pages
68 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
70 %define _webapps /etc/webapps
71 %define _webapp %{name}
72 %define _sysconfdir %{_webapps}/%{_webapp}
73 %define _appdir %{_datadir}/%{_webapp}
74 %define _localstatedir /var/lib/%{name}
75 %define find_lang %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
78 %define _noautopear 'pear(/usr/share/php/geshi.php)' 'pear(/usr/share/php/adLDAP.php)'
80 # exclude optional php dependencies
81 %define _noautophp php-bzip2 php-bcmath php-zip php-date php-ftp php-hash php-ldap php-mbstring php-mysql php-pgsql php-tokenizer
83 %define _noautoreq %{_noautophp} %{_noautopear}
86 DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at
87 creating documentation of any kind. It is targeted at developer teams,
88 workgroups and small companies. It has a simple but powerful syntax
89 which makes sure the datafiles remain readable outside the Wiki and
90 eases the creation of structured texts. All data is stored in plain
91 text files - no database is required.
93 %description -l pl.UTF-8
94 DokuWiki to zgodne ze standardami i proste w użyciu Wiki, przeznaczone
95 głównie do tworzenia dokumentów wszelkiego rodzaju. Jest przeznaczone
96 dla zespołów programistów, grup roboczych i małych firm. Ma prostą,
97 ale mającą duże możliwości składnię, dzięki której pliki danych
98 pozostają czytelne poza Wiki, a także ułatwiającą tworzenie tekstów
99 strukturalnych. Wszystkie dane są przechowywane w plikach tekstowych -
100 nie jest wymagana baza danych.
103 Summary: DokuWiki setup package
104 Summary(pl.UTF-8): Pakiet do wstępnej konfiguracji DokuWiki
105 Group: Applications/WWW
106 Requires: %{name} = %{version}-%{release}
109 Install this package to configure initial DokuWiki installation. You
110 should uninstall this package when you're done, as it considered
111 insecure to keep the setup files in place.
113 %description setup -l pl.UTF-8
114 Ten pakiet należy zainstalować w celu wstępnej konfiguracji DokuWiki
115 po pierwszej instalacji. Potem należy go odinstalować, jako że
116 pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
119 %setup -q -n %{name}-%{subver}
142 find -name _dummy | xargs rm
143 rm lib/index.html lib/plugins/index.html inc/lang/.htaccess
146 mv conf/words.aspell{.dist,}
148 # use system geshi package
152 # use system adldap package
155 # use system simplepie package
156 rm -f inc/SimplePie.php
158 # our plugins dir is not writable anyway, nothing to convert
159 rm -rf lib/plugins/upgradeplugindirectory
164 # cleanup backups after patching
165 find . '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
168 md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
169 if ! grep $md5 install.php; then
170 : update %{name}-config.patch -- it is outdated
175 rm -rf $RPM_BUILD_ROOT
176 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_localstatedir},%{_appdir}/{bin,inc,lib}}
178 cp -a *.php $RPM_BUILD_ROOT%{_appdir}
179 cp -a VERSION $RPM_BUILD_ROOT%{_appdir}
180 cp -a bin/* $RPM_BUILD_ROOT%{_appdir}/bin
181 cp -a inc/* $RPM_BUILD_ROOT%{_appdir}/inc
182 cp -a lib/* $RPM_BUILD_ROOT%{_appdir}/lib
183 cp -a conf/* $RPM_BUILD_ROOT%{_sysconfdir}
184 cp -a data/* $RPM_BUILD_ROOT%{_localstatedir}
185 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
186 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
187 cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
188 touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
189 touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
190 touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
191 touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
192 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.php
193 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
194 touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
195 touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
196 touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
198 ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
199 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
200 cp -a %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
201 cp -a %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
202 cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/skype.png
203 cp -a %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
204 cp -a %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
206 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
207 cp -a %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
209 cp -a %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/default/images/button-pld.png
211 # hardlink identical icons.
212 findup -m $RPM_BUILD_ROOT
215 %find_lang %{name}.lang
217 # make inc/lang/en/edit.txt as %config
219 /%%lang([^)]\+) \/usr\/share\/dokuwiki\/inc\/lang\/[^/]\+/{
220 # make entry as %%dir
223 # add files inside the %dir
224 s/^%%dir /%%config(noreplace) %%verify(not md5 mtime size) /; s/$/\/*.*/
228 rm -rf $RPM_BUILD_ROOT
231 chmod 770 %{_sysconfdir}
232 chmod 660 %{_sysconfdir}/dokuwiki.php
235 if [ "$1" = "0" ]; then
236 if [ -f %{_sysconfdir}/dokuwiki.php ]; then
237 chmod 750 %{_sysconfdir}
238 chmod 640 %{_sysconfdir}/dokuwiki.php
242 %triggerin -- apache1 < 1.3.37-3, apache1-base
243 %webapp_register apache %{_webapp}
245 %triggerun -- apache1 < 1.3.37-3, apache1-base
246 %webapp_unregister apache %{_webapp}
248 %triggerin -- apache < 2.2.0, apache-base
249 %webapp_register httpd %{_webapp}
251 %triggerun -- apache < 2.2.0, apache-base
252 %webapp_unregister httpd %{_webapp}
254 %triggerin -- lighttpd
255 %webapp_register lighttpd %{_webapp}
257 %triggerun -- lighttpd
258 %webapp_unregister lighttpd %{_webapp}
261 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
262 mv -f %{_appdir}/data/* %{_localstatedir}
263 rm -rf %{_appdir}/data
265 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
266 mv -f %{_appdir}/conf/* %{_sysconfdir}
267 rm -rf %{_appdir}/conf
271 %files -f %{name}.lang
272 %defattr(644,root,root,755)
274 %dir %attr(750,root,http) %{_sysconfdir}
275 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
276 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
277 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
279 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
280 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/words.aspell
281 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
283 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
284 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
285 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
286 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
287 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
288 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
289 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
290 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
291 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.php
293 # use local.php,local.protected.php, etc for local changes
294 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
295 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
296 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
297 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
298 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
299 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
300 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
302 # samples. perhaps move to %doc instead?
303 %attr(640,root,http) %{_sysconfdir}/mysql.conf.php.example
304 %attr(640,root,http) %{_sysconfdir}/acl.auth.php.dist
305 %attr(640,root,http) %{_sysconfdir}/wordblock.conf
306 %attr(640,root,http) %{_sysconfdir}/local.php.dist
307 %attr(640,root,http) %{_sysconfdir}/users.auth.php.dist
315 %attr(755,root,root) %{_appdir}/bin/dwpage.php
316 %attr(755,root,root) %{_appdir}/bin/indexer.php
317 %attr(755,root,root) %{_appdir}/bin/render.php
318 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
323 %{_appdir}/inc/parser
326 %dir %{_appdir}/lib/plugins
327 %dir %{_appdir}/lib/plugins/acl
328 %{_appdir}/lib/plugins/acl/*.*
329 %{_appdir}/lib/plugins/acl/pix
330 %dir %{_appdir}/lib/plugins/config
331 %{_appdir}/lib/plugins/config/*.*
332 %{_appdir}/lib/plugins/config/images
333 %{_appdir}/lib/plugins/config/settings
334 %dir %{_appdir}/lib/plugins/plugin
335 %{_appdir}/lib/plugins/plugin/*.*
336 %{_appdir}/lib/plugins/plugin/classes
337 %dir %{_appdir}/lib/plugins/revert
338 %{_appdir}/lib/plugins/revert/*.*
339 %dir %{_appdir}/lib/plugins/usermanager
340 %{_appdir}/lib/plugins/usermanager/*.*
341 %{_appdir}/lib/plugins/usermanager/images
342 %{_appdir}/lib/plugins/info
343 %dir %{_appdir}/lib/plugins/popularity
344 %{_appdir}/lib/plugins/popularity/*.*
345 %{_appdir}/lib/plugins/*.php
346 %{_appdir}/lib/images
347 %{_appdir}/lib/scripts
348 %{_appdir}/lib/styles
352 %dir %attr(770,root,http) %{_localstatedir}
353 %dir %attr(770,root,http) %{_localstatedir}/attic
354 %dir %attr(770,root,http) %{_localstatedir}/cache
355 %dir %attr(770,root,http) %{_localstatedir}/index
356 %dir %attr(770,root,http) %{_localstatedir}/locks
357 %dir %attr(770,root,http) %{_localstatedir}/media
358 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
359 %dir %attr(770,root,http) %{_localstatedir}/meta
360 %dir %attr(770,root,http) %{_localstatedir}/pages
361 %dir %attr(770,root,http) %{_localstatedir}/pages/playground
362 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
363 %dir %attr(770,root,http) %{_localstatedir}/tmp
364 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
365 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
366 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
367 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
368 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.png
369 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.xcf
372 %defattr(644,root,root,755)
373 %{_appdir}/install.php