]> git.pld-linux.org Git - packages/dokuwiki.git/blob - dokuwiki.spec
be3ef0b236c710c80c44b321b3ea3da69c842590
[packages/dokuwiki.git] / dokuwiki.spec
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
7 Name:           dokuwiki
8 Version:        %{ver}
9 Release:        9
10 License:        GPL v2
11 Group:          Applications/WWW
12 Source0:        http://www.splitbrain.org/_media/projects/dokuwiki/%{name}-%{subver}c.tgz
13 # Source0-md5:  2649b6fecbcb273374f5be8f0a2edf02
14 Source1:        %{name}-apache.conf
15 Source2:        %{name}-lighttpd.conf
16 Source3:        jude.png
17 # Source3-md5:  623344128960e18f86097dfee213ad4a
18 Source4:        eventum.gif
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 Source7:        cacti.gif
24 Source8:        nagios.gif
25 Source9:        http://trac.edgewall.org/export/9404/trunk/doc/trac_icon_16x16.png
26 Source10:       pld.gif
27 # Source9-md5:  0c19ed35bf677f33f6bea14b3a8a2e10
28 Patch66:        %{name}-config.patch
29 Patch0:         %{name}-paths.patch
30 Patch2:         %{name}-mysqlauth.patch
31 Patch3:         %{name}-config-allow-require.patch
32 Patch4:         %{name}-geshi.patch
33 Patch5:         %{name}-http_auth-option.patch
34 Patch6:         %{name}-nice_exit.patch
35 Patch7:         %{name}-mail-headerencodequotes.patch
36 Patch8:         %{name}-notify-respect-minor.patch
37 Patch9:         %{name}-media-userinfo.patch
38 Patch10:        %{name}-mailtext.patch
39 Patch11:        %{name}-notifyns.patch
40 Patch12:        %{name}-mailthreads.patch
41 Patch13:        %{name}-media-directlink.patch
42 Patch14:        interwiki-outputonly.patch
43 Patch15:        simplepie.patch
44 Patch18:        install.patch
45 Patch19:        pld-branding.patch
46 Patch20:        fixprivilegeescalationbug.diff
47 Patch21:        task-1821.patch
48 Patch22:        adldap.patch
49 Patch23:        smblink.patch
50 URL:            http://www.dokuwiki.org/dokuwiki
51 BuildRequires:  rpm-php-pearprov >= 4.4.2-11
52 BuildRequires:  rpmbuild(macros) >= 1.520
53 Requires:       php-common >= 4:%{php_min_version}
54 Requires:       php-geshi >= 1.0.7.19
55 Requires:       php-simplepie >= 1.0.1
56 Requires:       php-xml
57 Requires:       webapps
58 Requires:       webserver(access)
59 Requires:       webserver(alias)
60 Requires:       webserver(php)
61 Suggests:       php-adldap >= 3.3.1
62 Suggests:       php-gd
63 # can use gz compression to store attic pages
64 Suggests:       php-zlib
65 BuildArch:      noarch
66 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
67
68 %define         _webapps        /etc/webapps
69 %define         _webapp         %{name}
70 %define         _sysconfdir     %{_webapps}/%{_webapp}
71 %define         _appdir         %{_datadir}/%{_webapp}
72 %define         _localstatedir  /var/lib/%{name}
73 %define         find_lang       %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
74
75 # bad depsolver
76 %define         _noautopear     'pear(/usr/share/php/geshi.php)' 'pear(/usr/share/php/adLDAP.php)'
77
78 # exclude optional php dependencies
79 %define         _noautophp      php-bzip2 php-bcmath php-zip php-date php-ftp php-hash php-ldap php-mbstring php-mysql php-pgsql php-tokenizer
80
81 %define         _noautoreq      %{_noautophp} %{_noautopear}
82
83 %description
84 DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at
85 creating documentation of any kind. It is targeted at developer teams,
86 workgroups and small companies. It has a simple but powerful syntax
87 which makes sure the datafiles remain readable outside the Wiki and
88 eases the creation of structured texts. All data is stored in plain
89 text files - no database is required.
90
91 %description -l pl.UTF-8
92 DokuWiki to zgodne ze standardami i proste w użyciu Wiki, przeznaczone
93 głównie do tworzenia dokumentów wszelkiego rodzaju. Jest przeznaczone
94 dla zespołów programistów, grup roboczych i małych firm. Ma prostą,
95 ale mającą duże możliwości składnię, dzięki której pliki danych
96 pozostają czytelne poza Wiki, a także ułatwiającą tworzenie tekstów
97 strukturalnych. Wszystkie dane są przechowywane w plikach tekstowych -
98 nie jest wymagana baza danych.
99
100 %package setup
101 Summary:        DokuWiki setup package
102 Summary(pl.UTF-8):      Pakiet do wstępnej konfiguracji DokuWiki
103 Group:          Applications/WWW
104 Requires:       %{name} = %{version}-%{release}
105
106 %description setup
107 Install this package to configure initial DokuWiki installation. You
108 should uninstall this package when you're done, as it considered
109 insecure to keep the setup files in place.
110
111 %description setup -l pl.UTF-8
112 Ten pakiet należy zainstalować w celu wstępnej konfiguracji DokuWiki
113 po pierwszej instalacji. Potem należy go odinstalować, jako że
114 pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
115
116 %prep
117 %setup -q -n %{name}-%{subver}
118 %patch0 -p1
119 %patch2 -p1
120 %patch3 -p1
121 %patch4 -p1
122 %patch5 -p1
123 %patch6 -p1
124 %patch7 -p1
125 %patch8 -p1
126 %patch9 -p1
127 %patch10 -p1
128 %patch11 -p1
129 %patch12 -p1
130 %patch13 -p1
131 %patch14 -p1
132 %patch15 -p1
133 %patch18 -p1
134 %patch19 -p1
135 %patch20 -p1
136 %patch21 -p1
137 %patch22 -p1
138 %patch23 -p1
139
140 %patch66 -p1
141
142 find -name _dummy | xargs rm
143 rm lib/index.html lib/plugins/index.html inc/lang/.htaccess
144
145 # safe file
146 mv conf/words.aspell{.dist,}
147
148 # use system geshi package
149 rm -f inc/geshi.php
150 rm -rf inc/geshi
151
152 # use system adldap package
153 rm -f inc/adLDAP.php
154
155 # use system simplepie package
156 rm -f inc/SimplePie.php
157
158 # our plugins dir is not writable anyway, nothing to convert
159 rm -rf lib/plugins/upgradeplugindirectory
160
161 # flash source
162 rm -rf lib/_fla
163
164 # cleanup backups after patching
165 find . '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
166
167 %build
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
171         exit 1
172 fi
173
174 %install
175 rm -rf $RPM_BUILD_ROOT
176 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_localstatedir},%{_appdir}/{bin,inc,lib}}
177
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
197
198 ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
199 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
200 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
201 cp -a %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
202 cp -a %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
203 cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/skype.png
204 cp -a %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
205 cp -a %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
206 cp -a %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/default/images/button-pld.png
207
208 # find locales
209 %find_lang %{name}.lang
210
211 # make inc/lang/en/edit.txt as %config
212 %{__sed} -i -e '
213 /%%lang([^)]\+) \/usr\/share\/dokuwiki\/inc\/lang\/[^/]\+/{
214         # make entry as %%dir
215         s/^/%%dir /; p
216
217         # add files inside the %dir
218         s/^%%dir /%%config(noreplace) %%verify(not md5 mtime size) /; s/$/\/*.*/
219 }' %{name}.lang
220
221 %clean
222 rm -rf $RPM_BUILD_ROOT
223
224 %post setup
225 chmod 770 %{_sysconfdir}
226 chmod 660 %{_sysconfdir}/dokuwiki.php
227
228 %postun setup
229 if [ "$1" = "0" ]; then
230         if [ -f %{_sysconfdir}/dokuwiki.php ]; then
231                 chmod 750 %{_sysconfdir}
232                 chmod 640 %{_sysconfdir}/dokuwiki.php
233         fi
234 fi
235
236 %triggerin -- apache1 < 1.3.37-3, apache1-base
237 %webapp_register apache %{_webapp}
238
239 %triggerun -- apache1 < 1.3.37-3, apache1-base
240 %webapp_unregister apache %{_webapp}
241
242 %triggerin -- apache < 2.2.0, apache-base
243 %webapp_register httpd %{_webapp}
244
245 %triggerun -- apache < 2.2.0, apache-base
246 %webapp_unregister httpd %{_webapp}
247
248 %triggerin -- lighttpd
249 %webapp_register lighttpd %{_webapp}
250
251 %triggerun -- lighttpd
252 %webapp_unregister lighttpd %{_webapp}
253
254 %pretrans
255 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
256         mv -f %{_appdir}/data/* %{_localstatedir}
257         rm -rf %{_appdir}/data
258 fi
259 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
260         mv -f %{_appdir}/conf/* %{_sysconfdir}
261         rm -rf %{_appdir}/conf
262 fi
263 exit 0
264
265 %files -f %{name}.lang
266 %defattr(644,root,root,755)
267 %doc README
268 %dir %attr(750,root,http) %{_sysconfdir}
269 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
270 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
271 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
272
273 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
274 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/msg
275 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/words.aspell
276 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
277
278 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
279 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
280 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
281 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
282 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
283 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
284 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
285 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
286 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.php
287
288 # use local.php,local.protected.php, etc for local changes
289 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
290 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
291 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
292 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
293 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
294 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
295 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
296
297 # samples. perhaps move to %doc instead?
298 %attr(640,root,http) %{_sysconfdir}/mysql.conf.php.example
299 %attr(640,root,http) %{_sysconfdir}/acl.auth.php.dist
300 %attr(640,root,http) %{_sysconfdir}/wordblock.conf
301 %attr(640,root,http) %{_sysconfdir}/local.php.dist
302 %attr(640,root,http) %{_sysconfdir}/users.auth.php.dist
303
304 %dir %{_appdir}
305 %{_appdir}/VERSION
306 %{_appdir}/doku.php
307 %{_appdir}/feed.php
308 %{_appdir}/index.php
309 %dir %{_appdir}/bin
310 %attr(755,root,root) %{_appdir}/bin/dwpage.php
311 %attr(755,root,root) %{_appdir}/bin/indexer.php
312 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
313
314 %dir %{_appdir}/inc
315 %{_appdir}/inc/*.php
316 %{_appdir}/inc/auth
317 %{_appdir}/inc/parser
318
319 %dir %{_appdir}/lib
320 %dir %{_appdir}/lib/plugins
321 %dir %{_appdir}/lib/plugins/acl
322 %{_appdir}/lib/plugins/acl/*.*
323 %{_appdir}/lib/plugins/acl/pix
324 %dir %{_appdir}/lib/plugins/config
325 %{_appdir}/lib/plugins/config/*.*
326 %{_appdir}/lib/plugins/config/images
327 %{_appdir}/lib/plugins/config/settings
328 %dir %{_appdir}/lib/plugins/plugin
329 %{_appdir}/lib/plugins/plugin/*.*
330 %{_appdir}/lib/plugins/plugin/classes
331 %dir %{_appdir}/lib/plugins/revert
332 %{_appdir}/lib/plugins/revert/*.*
333 %dir %{_appdir}/lib/plugins/usermanager
334 %{_appdir}/lib/plugins/usermanager/*.*
335 %{_appdir}/lib/plugins/usermanager/images
336 %{_appdir}/lib/plugins/info
337 %dir %{_appdir}/lib/plugins/popularity
338 %{_appdir}/lib/plugins/popularity/*.*
339 %{_appdir}/lib/plugins/*.php
340 %{_appdir}/lib/images
341 %{_appdir}/lib/scripts
342 %{_appdir}/lib/styles
343 %{_appdir}/lib/tpl
344 %{_appdir}/lib/exe
345
346 %dir %attr(770,root,http) %{_localstatedir}
347 %dir %attr(770,root,http) %{_localstatedir}/attic
348 %dir %attr(770,root,http) %{_localstatedir}/cache
349 %dir %attr(770,root,http) %{_localstatedir}/index
350 %dir %attr(770,root,http) %{_localstatedir}/locks
351 %dir %attr(770,root,http) %{_localstatedir}/media
352 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
353 %dir %attr(770,root,http) %{_localstatedir}/meta
354 %dir %attr(770,root,http) %{_localstatedir}/pages
355 %dir %attr(770,root,http) %{_localstatedir}/pages/playground
356 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
357 %dir %attr(770,root,http) %{_localstatedir}/tmp
358 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
359 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
360 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
361 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
362
363 %files setup
364 %defattr(644,root,root,755)
365 %{_appdir}/install.php
This page took 0.064111 seconds and 3 git commands to generate.