1 %define subver 2009-12-25
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: 1428c896de83bd2a754efd18919d0594
14 Source1: %{name}-apache.conf
15 Source2: %{name}-lighttpd.conf
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
23 Patch66: %{name}-config.patch
24 Patch0: %{name}-paths.patch
25 Patch2: %{name}-mysqlauth.patch
26 Patch3: %{name}-config-allow-require.patch
27 Patch4: %{name}-geshi.patch
28 Patch5: %{name}-http_auth-option.patch
29 Patch6: %{name}-nice_exit.patch
30 Patch7: %{name}-mail-headerencodequotes.patch
31 Patch8: %{name}-notify-respect-minor.patch
32 Patch9: %{name}-media-userinfo.patch
33 Patch10: %{name}-mailtext.patch
34 Patch11: %{name}-notifyns.patch
35 Patch12: %{name}-mailthreads.patch
36 Patch13: %{name}-media-directlink.patch
37 Patch14: interwiki-outputonly.patch
38 Patch15: simplepie.patch
39 Patch18: install.patch
40 Patch19: pld-branding.patch
41 Patch20: fixprivilegeescalationbug.diff
42 Patch21: task-1821.patch
44 URL: http://www.dokuwiki.org/dokuwiki
45 BuildRequires: rpm-php-pearprov >= 4.4.2-11
46 BuildRequires: rpmbuild(macros) >= 1.520
47 Requires: php-common >= 4:%{php_min_version}
48 Requires: php-geshi >= 1.0.7.19
49 Requires: php-simplepie >= 1.0.1
52 Requires: webserver(access)
53 Requires: webserver(alias)
54 Requires: webserver(php)
55 Suggests: php-adldap >= 3.3.1
57 # can use gz compression to store attic pages
60 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
62 %define _webapps /etc/webapps
63 %define _webapp %{name}
64 %define _sysconfdir %{_webapps}/%{_webapp}
65 %define _appdir %{_datadir}/%{_webapp}
66 %define _localstatedir /var/lib/%{name}
67 %define find_lang %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
70 %define _noautopear 'pear(/usr/share/php/geshi.php)' 'pear(/usr/share/php/adLDAP.php)'
72 # exclude optional php dependencies
73 %define _noautophp php(bzip2) php(bcmath) php(zip) php(date) php(ftp) php(hash) php(ldap) php(mbstring) php(mysql) php(pgsql) php(tokenizer)
75 # we don't want php(xxx) being resolved to php-xxx
76 %define _noautoreqdep '^php(.*)'
78 %define _noautoreq %{_noautophp} %{_noautopear}
81 DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at
82 creating documentation of any kind. It is targeted at developer teams,
83 workgroups and small companies. It has a simple but powerful syntax
84 which makes sure the datafiles remain readable outside the Wiki and
85 eases the creation of structured texts. All data is stored in plain
86 text files - no database is required.
88 %description -l pl.UTF-8
89 DokuWiki to zgodne ze standardami i proste w użyciu Wiki, przeznaczone
90 głównie do tworzenia dokumentów wszelkiego rodzaju. Jest przeznaczone
91 dla zespołów programistów, grup roboczych i małych firm. Ma prostą,
92 ale mającą duże możliwości składnię, dzięki której pliki danych
93 pozostają czytelne poza Wiki, a także ułatwiającą tworzenie tekstów
94 strukturalnych. Wszystkie dane są przechowywane w plikach tekstowych -
95 nie jest wymagana baza danych.
98 Summary: DokuWiki setup package
99 Summary(pl.UTF-8): Pakiet do wstępnej konfiguracji DokuWiki
100 Group: Applications/WWW
101 Requires: %{name} = %{version}-%{release}
104 Install this package to configure initial DokuWiki installation. You
105 should uninstall this package when you're done, as it considered
106 insecure to keep the setup files in place.
108 %description setup -l pl.UTF-8
109 Ten pakiet należy zainstalować w celu wstępnej konfiguracji DokuWiki
110 po pierwszej instalacji. Potem należy go odinstalować, jako że
111 pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
114 %setup -q -n %{name}-%{subver}
138 find -name _dummy | xargs rm
139 rm lib/index.html lib/plugins/index.html inc/lang/.htaccess
142 mv conf/words.aspell{.dist,}
144 # use system geshi package
148 # use system adldap package
151 # use system simplepie package
152 rm -f inc/SimplePie.php
154 # our plugins dir is not writable anyway, nothing to convert
155 rm -rf lib/plugins/upgradeplugindirectory
160 # cleanup backups after patching
161 find . '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
164 md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
165 if ! grep $md5 install.php; then
166 : update %{name}-config.patch oudated
171 rm -rf $RPM_BUILD_ROOT
172 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_localstatedir},%{_appdir}/{bin,inc,lib}}
174 cp -a *.php $RPM_BUILD_ROOT%{_appdir}
175 cp -a bin/* $RPM_BUILD_ROOT%{_appdir}/bin
176 cp -a inc/* $RPM_BUILD_ROOT%{_appdir}/inc
177 cp -a lib/* $RPM_BUILD_ROOT%{_appdir}/lib
178 cp -a conf/* $RPM_BUILD_ROOT%{_sysconfdir}
179 cp -a data/* $RPM_BUILD_ROOT%{_localstatedir}
180 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
181 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
182 cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
183 touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
184 touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
185 touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
186 touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
187 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.php
188 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
189 touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
190 touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
191 touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
193 ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
194 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jide.png
195 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
196 cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/skype.gif
197 cp -a %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/default/images/button-pld.png
200 %find_lang %{name}.lang
202 # make inc/lang/en/edit.txt as %config
204 /%%lang([^)]\+) \/usr\/share\/dokuwiki\/inc\/lang\/[^/]\+/{
205 # make entry as %%dir
208 # add files inside the %dir
209 s/^%%dir /%%config(noreplace) %%verify(not md5 mtime size) /; s/$/\/*.*/
213 rm -rf $RPM_BUILD_ROOT
216 chmod 770 %{_sysconfdir}
217 chmod 660 %{_sysconfdir}/dokuwiki.php
220 if [ "$1" = "0" ]; then
221 if [ -f %{_sysconfdir}/dokuwiki.php ]; then
222 chmod 750 %{_sysconfdir}
223 chmod 640 %{_sysconfdir}/dokuwiki.php
227 %triggerin -- apache1 < 1.3.37-3, apache1-base
228 %webapp_register apache %{_webapp}
230 %triggerun -- apache1 < 1.3.37-3, apache1-base
231 %webapp_unregister apache %{_webapp}
233 %triggerin -- apache < 2.2.0, apache-base
234 %webapp_register httpd %{_webapp}
236 %triggerun -- apache < 2.2.0, apache-base
237 %webapp_unregister httpd %{_webapp}
239 %triggerin -- lighttpd
240 %webapp_register lighttpd %{_webapp}
242 %triggerun -- lighttpd
243 %webapp_unregister lighttpd %{_webapp}
246 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
247 mv -f %{_appdir}/data/* %{_localstatedir}
248 rm -rf %{_appdir}/data
250 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
251 mv -f %{_appdir}/conf/* %{_sysconfdir}
252 rm -rf %{_appdir}/conf
256 %files -f %{name}.lang
257 %defattr(644,root,root,755)
259 %dir %attr(750,root,http) %{_sysconfdir}
260 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
261 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
262 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
264 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
265 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/msg
266 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/words.aspell
267 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
269 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
270 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
271 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
272 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
273 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
274 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
275 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
276 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
277 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.php
279 # use local.php,local.protected.php, etc for local changes
280 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
281 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
282 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
283 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
284 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
285 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
286 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
288 # samples. perhaps move to %doc instead?
289 %attr(640,root,http) %{_sysconfdir}/mysql.conf.php.example
290 %attr(640,root,http) %{_sysconfdir}/acl.auth.php.dist
291 %attr(640,root,http) %{_sysconfdir}/wordblock.conf
292 %attr(640,root,http) %{_sysconfdir}/local.php.dist
293 %attr(640,root,http) %{_sysconfdir}/users.auth.php.dist
300 %attr(755,root,root) %{_appdir}/bin/dwpage.php
301 %attr(755,root,root) %{_appdir}/bin/indexer.php
302 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
307 %{_appdir}/inc/parser
310 %dir %{_appdir}/lib/plugins
311 %dir %{_appdir}/lib/plugins/acl
312 %{_appdir}/lib/plugins/acl/*.*
313 %{_appdir}/lib/plugins/acl/pix
314 %dir %{_appdir}/lib/plugins/config
315 %{_appdir}/lib/plugins/config/*.*
316 %{_appdir}/lib/plugins/config/images
317 %{_appdir}/lib/plugins/config/settings
318 %dir %{_appdir}/lib/plugins/plugin
319 %{_appdir}/lib/plugins/plugin/*.*
320 %{_appdir}/lib/plugins/plugin/classes
321 %dir %{_appdir}/lib/plugins/revert
322 %{_appdir}/lib/plugins/revert/*.*
323 %dir %{_appdir}/lib/plugins/usermanager
324 %{_appdir}/lib/plugins/usermanager/*.*
325 %{_appdir}/lib/plugins/usermanager/images
326 %{_appdir}/lib/plugins/info
327 %dir %{_appdir}/lib/plugins/popularity
328 %{_appdir}/lib/plugins/popularity/*.*
329 %{_appdir}/lib/plugins/*.php
330 %{_appdir}/lib/images
331 %{_appdir}/lib/scripts
332 %{_appdir}/lib/styles
336 %dir %attr(770,root,http) %{_localstatedir}
337 %dir %attr(770,root,http) %{_localstatedir}/attic
338 %dir %attr(770,root,http) %{_localstatedir}/cache
339 %dir %attr(770,root,http) %{_localstatedir}/index
340 %dir %attr(770,root,http) %{_localstatedir}/locks
341 %dir %attr(770,root,http) %{_localstatedir}/media
342 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
343 %dir %attr(770,root,http) %{_localstatedir}/meta
344 %dir %attr(770,root,http) %{_localstatedir}/pages
345 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
346 %dir %attr(770,root,http) %{_localstatedir}/tmp
347 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
348 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
349 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
350 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
353 %defattr(644,root,root,755)
354 %{_appdir}/install.php