]> git.pld-linux.org Git - packages/dokuwiki.git/blob - dokuwiki.spec
- up to 2011-04-22 rc1
[packages/dokuwiki.git] / dokuwiki.spec
1 # TODO
2 # - remove %config from lang files: https://github.com/splitbrain/dokuwiki/commit/e6cecb0872ef457f44529edbc736aba3dc3ac258
3 %define         subver  2011-04-22
4 %define         ver             %(echo %{subver} | tr -d -)
5 %define         php_min_version 5.1.2
6 %include        /usr/lib/rpm/macros.php
7 Summary:        PHP-based Wiki webapplication
8 Summary(pl.UTF-8):      Aplikacja WWW Wiki oparta na PHP
9 Name:           dokuwiki
10 Version:        %{ver}
11 Release:        0.4
12 License:        GPL v2
13 Group:          Applications/WWW
14 #Source0:       http://www.splitbrain.org/_media/projects/dokuwiki/%{name}-%{subver}.tgz
15 #Source0:       https://github.com/splitbrain/dokuwiki/tarball/master#/%{name}.tgz
16 Source0:        http://www.splitbrain.org/_media/projects/dokuwiki/%{name}-rc%{subver}.tgz
17 # Source0-md5:  a6230a2f626d26aed7fa61370789d0a5
18 Source1:        %{name}-apache.conf
19 Source2:        %{name}-lighttpd.conf
20 Source3:        http://glen.alkohol.ee/pld/jude.png
21 # Source3-md5:  623344128960e18f86097dfee213ad4a
22 Source4:        eventum.gif
23 Source5:        http://forum.skype.com/style_emoticons/skype/skype.png
24 # Source5-md5:  25c355be038267dc9fdb724b628000b9
25 Source6:        pld_button.png
26 # Source6-md5:  185afa921e81bd726b9f0f9f0909dc6e
27 Source7:        cacti.gif
28 Source8:        nagios.gif
29 Source9:        http://trac.edgewall.org/export/9404/trunk/doc/trac_icon_16x16.png
30 # Source9-md5:  0c19ed35bf677f33f6bea14b3a8a2e10
31 Source10:       pld.gif
32 Source11:       http://glen.alkohol.ee/pld/astah.png
33 # Source11-md5: b1c999e6988440c9e2af6a12e9a56451
34 Patch66:        %{name}-config.patch
35 Patch0:         %{name}-paths.patch
36 Patch3:         %{name}-config-allow-require.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 Patch12:        %{name}-mailthreads.patch
44 Patch13:        %{name}-media-directlink.patch
45 Patch14:        interwiki-outputonly.patch
46 Patch15:        simplepie.patch
47 Patch18:        install.patch
48 Patch19:        pld-branding.patch
49 Patch20:        fixprivilegeescalationbug.diff
50 Patch21:        task-1821.patch
51 Patch22:        adldap.patch
52 URL:            http://www.dokuwiki.org/dokuwiki
53 BuildRequires:  fslint
54 BuildRequires:  rpm-php-pearprov >= 4.4.2-11
55 BuildRequires:  rpmbuild(macros) >= 1.520
56 Requires:       php-common >= 4:%{php_min_version}
57 Requires:       php-geshi >= 1.0.7.19
58 Requires:       php-session
59 Requires:       php-simplepie >= 1.0.1
60 Requires:       php-xml
61 Requires:       webapps
62 Requires:       webserver(access)
63 Requires:       webserver(alias)
64 Requires:       webserver(php)
65 Suggests:       php-adldap >= 3.3.1
66 Suggests:       php-gd
67 # can use gz compression to store attic pages
68 Suggests:       php-zlib
69 BuildArch:      noarch
70 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
71
72 %define         _webapps        /etc/webapps
73 %define         _webapp         %{name}
74 %define         _sysconfdir     %{_webapps}/%{_webapp}
75 %define         _appdir         %{_datadir}/%{_webapp}
76 %define         _localstatedir  /var/lib/%{name}
77 %define         find_lang       %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
78
79 # bad depsolver
80 %define         _noautopear     'pear(/usr/share/php/geshi.php)' 'pear(/usr/share/php/adLDAP.php)'
81
82 # exclude optional php dependencies
83 %define         _noautophp      php-bzip2 php-bcmath php-zip php-date php-ftp php-hash php-ldap php-mbstring php-mysql php-pgsql php-tokenizer
84
85 %define         _noautoreq      %{_noautophp} %{_noautopear}
86
87 %description
88 DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at
89 creating documentation of any kind. It is targeted at developer teams,
90 workgroups and small companies. It has a simple but powerful syntax
91 which makes sure the datafiles remain readable outside the Wiki and
92 eases the creation of structured texts. All data is stored in plain
93 text files - no database is required.
94
95 %description -l pl.UTF-8
96 DokuWiki to zgodne ze standardami i proste w użyciu Wiki, przeznaczone
97 głównie do tworzenia dokumentów wszelkiego rodzaju. Jest przeznaczone
98 dla zespołów programistów, grup roboczych i małych firm. Ma prostą,
99 ale mającą duże możliwości składnię, dzięki której pliki danych
100 pozostają czytelne poza Wiki, a także ułatwiającą tworzenie tekstów
101 strukturalnych. Wszystkie dane są przechowywane w plikach tekstowych -
102 nie jest wymagana baza danych.
103
104 %package setup
105 Summary:        DokuWiki setup package
106 Summary(pl.UTF-8):      Pakiet do wstępnej konfiguracji DokuWiki
107 Group:          Applications/WWW
108 Requires:       %{name} = %{version}-%{release}
109
110 %description setup
111 Install this package to configure initial DokuWiki installation. You
112 should uninstall this package when you're done, as it considered
113 insecure to keep the setup files in place.
114
115 %description setup -l pl.UTF-8
116 Ten pakiet należy zainstalować w celu wstępnej konfiguracji DokuWiki
117 po pierwszej instalacji. Potem należy go odinstalować, jako że
118 pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
119
120 %prep
121 %setup -q -n %{name}-rc%{subver}
122 %patch0 -p1
123 %patch3 -p1
124 %patch4 -p1
125 %patch5 -p1
126 %patch6 -p1
127 %patch8 -p1
128 %patch10 -p1
129 %patch11 -p1
130 %patch12 -p1
131 %patch13 -p1
132 %patch14 -p1
133 %patch15 -p1
134 %patch18 -p1
135 %patch19 -p1
136 %patch20 -p1
137 %patch21 -p1
138 %patch22 -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 # we just don't package deleted files, so these get removed automatically on rpm upgrades
146 %{__rm} data/deleted.files
147
148 # safe file
149 #mv conf/words.aspell{.dist,}
150
151 # use system geshi package
152 %{__rm} inc/geshi.php
153 %{__rm} -r inc/geshi
154
155 # use system adldap package
156 %{__rm} inc/adLDAP.php
157
158 # use system simplepie package
159 %{__rm} inc/SimplePie.php
160
161 # flash source on git tarballs
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 -p 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 %{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
205
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
208
209 cp -a %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/default/images/button-pld.png
210
211 # hardlink identical icons.
212 findup -m $RPM_BUILD_ROOT
213
214 # find locales
215 %find_lang %{name}.lang
216
217 # make inc/lang/en/edit.txt as %config
218 %{__sed} -i -e '
219 /%%lang([^)]\+) \/usr\/share\/dokuwiki\/inc\/lang\/[^/]\+/{
220         # make entry as %%dir
221         s/^/%%dir /; p
222
223         # add files inside the %dir
224         s/^%%dir /%%config(noreplace) %%verify(not md5 mtime size) /; s/$/\/*.*/
225 }' %{name}.lang
226
227 %clean
228 rm -rf $RPM_BUILD_ROOT
229
230 %post setup
231 chmod 770 %{_sysconfdir}
232 chmod 660 %{_sysconfdir}/dokuwiki.php
233
234 %postun setup
235 if [ "$1" = "0" ]; then
236         if [ -f %{_sysconfdir}/dokuwiki.php ]; then
237                 chmod 750 %{_sysconfdir}
238                 chmod 640 %{_sysconfdir}/dokuwiki.php
239         fi
240 fi
241
242 %triggerin -- apache1 < 1.3.37-3, apache1-base
243 %webapp_register apache %{_webapp}
244
245 %triggerun -- apache1 < 1.3.37-3, apache1-base
246 %webapp_unregister apache %{_webapp}
247
248 %triggerin -- apache < 2.2.0, apache-base
249 %webapp_register httpd %{_webapp}
250
251 %triggerun -- apache < 2.2.0, apache-base
252 %webapp_unregister httpd %{_webapp}
253
254 %triggerin -- lighttpd
255 %webapp_register lighttpd %{_webapp}
256
257 %triggerun -- lighttpd
258 %webapp_unregister lighttpd %{_webapp}
259
260 %pretrans
261 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
262         mv -f %{_appdir}/data/* %{_localstatedir}
263         rm -rf %{_appdir}/data
264 fi
265 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
266         mv -f %{_appdir}/conf/* %{_sysconfdir}
267         rm -rf %{_appdir}/conf
268 fi
269 exit 0
270
271 %files -f %{name}.lang
272 %defattr(644,root,root,755)
273 %doc README
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
278
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
282
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
292
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
301
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
308
309 %dir %{_appdir}
310 %{_appdir}/VERSION
311 %{_appdir}/doku.php
312 %{_appdir}/feed.php
313 %{_appdir}/index.php
314 %dir %{_appdir}/bin
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
319 %attr(755,root,root) %{_appdir}/bin/striplangs.php
320
321 %dir %{_appdir}/inc
322 %{_appdir}/inc/*.php
323 %{_appdir}/inc/auth
324 %{_appdir}/inc/parser
325
326 %dir %{_appdir}/lib
327 %dir %{_appdir}/lib/plugins
328 %dir %{_appdir}/lib/plugins/acl
329 %{_appdir}/lib/plugins/acl/*.*
330 %{_appdir}/lib/plugins/acl/pix
331 %dir %{_appdir}/lib/plugins/config
332 %{_appdir}/lib/plugins/config/*.*
333 %{_appdir}/lib/plugins/config/images
334 %{_appdir}/lib/plugins/config/settings
335 %dir %{_appdir}/lib/plugins/plugin
336 %{_appdir}/lib/plugins/plugin/*.*
337 %{_appdir}/lib/plugins/plugin/classes
338 %dir %{_appdir}/lib/plugins/revert
339 %{_appdir}/lib/plugins/revert/*.*
340 %dir %{_appdir}/lib/plugins/safefnrecode
341 %{_appdir}/lib/plugins/safefnrecode/*.*
342 %dir %{_appdir}/lib/plugins/usermanager
343 %{_appdir}/lib/plugins/usermanager/*.*
344 %{_appdir}/lib/plugins/usermanager/images
345 %dir %{_appdir}/lib/plugins/info
346 %{_appdir}/lib/plugins/info/*.*
347 %dir %{_appdir}/lib/plugins/popularity
348 %{_appdir}/lib/plugins/popularity/*.*
349 %{_appdir}/lib/plugins/*.php
350 %{_appdir}/lib/images
351 %{_appdir}/lib/scripts
352 %{_appdir}/lib/styles
353 %{_appdir}/lib/tpl
354 %{_appdir}/lib/exe
355
356 %dir %attr(770,root,http) %{_localstatedir}
357 %dir %attr(770,root,http) %{_localstatedir}/attic
358 %dir %attr(770,root,http) %{_localstatedir}/cache
359 %dir %attr(770,root,http) %{_localstatedir}/index
360 %dir %attr(770,root,http) %{_localstatedir}/locks
361 %dir %attr(770,root,http) %{_localstatedir}/media
362 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
363 %dir %attr(770,root,http) %{_localstatedir}/meta
364 %dir %attr(770,root,http) %{_localstatedir}/pages
365 %dir %attr(770,root,http) %{_localstatedir}/pages/playground
366 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
367 %dir %attr(770,root,http) %{_localstatedir}/tmp
368 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
369 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
370 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
371 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
372 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.png
373 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.xcf
374
375 %files setup
376 %defattr(644,root,root,755)
377 %{_appdir}/install.php
This page took 0.127192 seconds and 4 git commands to generate.