]> git.pld-linux.org Git - packages/dokuwiki.git/blob - dokuwiki.spec
up to 2014-05-05 "Ponder Stibbons"
[packages/dokuwiki.git] / dokuwiki.spec
1 %define         subver  2014-05-05
2 %define         ver             %(echo %{subver} | tr -d -)
3 #define         snap    1
4 #define         rc_     1
5 %define         php_min_version 5.2.4
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:        1
12 License:        GPL v2
13 Group:          Applications/WWW
14 Source0:        http://download.dokuwiki.org/src/dokuwiki/%{name}-%{subver}.tgz
15 # Source0-md5:  9bc798f823f1907664d769f3d1f588b7
16 Source1:        %{name}-apache.conf
17 Source2:        %{name}-lighttpd.conf
18 Source3:        http://glen.alkohol.ee/pld/jude.png
19 # Source3-md5:  623344128960e18f86097dfee213ad4a
20 Source4:        eventum.gif
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 # Source9-md5:  0c19ed35bf677f33f6bea14b3a8a2e10
27 Source10:       pld.gif
28 Source11:       http://glen.alkohol.ee/pld/astah.png
29 # Source11-md5: b1c999e6988440c9e2af6a12e9a56451
30 Patch66:        %{name}-config.patch
31 Patch0:         %{name}-paths.patch
32 Patch1:         system-jquery.patch
33 Patch2:         style-width.patch
34 Patch3:         undeprecate.patch
35 Patch4:         %{name}-geshi.patch
36 Patch5:         %{name}-http_auth-option.patch
37 Patch6:         %{name}-nice_exit.patch
38 Patch8:         %{name}-notify-respect-minor.patch
39 Patch10:        %{name}-mailtext.patch
40 Patch11:        %{name}-notifyns.patch
41 Patch14:        interwiki-outputonly.patch
42 Patch15:        simplepie.patch
43 Patch19:        pld-branding.patch
44 Patch20:        fixprivilegeescalationbug.diff
45 Patch21:        task-1821.patch
46 Patch22:        adldap.patch
47 Patch24:        more-buttons.patch
48 Patch25:        system-phpseclib.patch
49 Patch26:        system-lessphp.patch
50 URL:            https://www.dokuwiki.org/
51 BuildRequires:  fslint
52 BuildRequires:  rpm-php-pearprov >= 4.4.2-11
53 BuildRequires:  rpmbuild(macros) >= 1.693
54 Requires:       jquery >= 1.8
55 #Requires:      jquery >= 1.9.1
56 Requires:       jquery-cookie
57 #Requires:      jquery-migrate
58 #Requires:      jquery-ui >= 1.10.2
59 Requires:       jquery-ui >= 1.8
60 Requires:       lessphp >= 0.3.9
61 Requires:       php(core) >= %{php_min_version}
62 Requires:       php(session)
63 Requires:       php(xml)
64 Requires:       php-geshi >= 1.0.7.19
65 Requires:       php-seclib >= 0.3.5
66 Requires:       php-simplepie >= 1.0.1
67 Requires:       webapps
68 Requires:       webserver(access)
69 Requires:       webserver(alias)
70 Requires:       webserver(php)
71 Suggests:       php-adldap >= 3.3.1
72 Suggests:       php-gd
73 Obsoletes:      dokuwiki-plugin-jquery
74 Conflicts:      dokuwiki-plugin-icalevents < 20120909
75 # can use gz compression to store attic pages
76 Suggests:       php-zlib
77 BuildArch:      noarch
78 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
79
80 %define         _webapps        /etc/webapps
81 %define         _webapp         %{name}
82 %define         _sysconfdir     %{_webapps}/%{_webapp}
83 %define         _appdir         %{_datadir}/%{_webapp}
84 %define         _localstatedir  /var/lib/%{name}
85 %define         _cachedir               /var/cache/%{name}
86 %define         find_lang       %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
87
88 # bad depsolver
89 %define         _noautopear     pear./usr/share/php/geshi.php pear./usr/share/php/adLDAP.php
90
91 # exclude optional php dependencies
92 %define         _noautophp      php-bzip2 php-bcmath php-zip php-date php-ftp php-hash php-ldap php-mbstring php-mysql php-pgsql php-tokenizer
93
94 %define         _noautoreq      %{_noautophp} %{_noautopear}
95
96 %description
97 DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at
98 creating documentation of any kind. It is targeted at developer teams,
99 workgroups and small companies. It has a simple but powerful syntax
100 which makes sure the datafiles remain readable outside the Wiki and
101 eases the creation of structured texts. All data is stored in plain
102 text files - no database is required.
103
104 %description -l pl.UTF-8
105 DokuWiki to zgodne ze standardami i proste w użyciu Wiki, przeznaczone
106 głównie do tworzenia dokumentów wszelkiego rodzaju. Jest przeznaczone
107 dla zespołów programistów, grup roboczych i małych firm. Ma prostą,
108 ale mającą duże możliwości składnię, dzięki której pliki danych
109 pozostają czytelne poza Wiki, a także ułatwiającą tworzenie tekstów
110 strukturalnych. Wszystkie dane są przechowywane w plikach tekstowych -
111 nie jest wymagana baza danych.
112
113 %package setup
114 Summary:        DokuWiki setup package
115 Summary(pl.UTF-8):      Pakiet do wstępnej konfiguracji DokuWiki
116 Group:          Applications/WWW
117 Requires:       %{name} = %{version}-%{release}
118
119 %description setup
120 Install this package to configure initial DokuWiki installation. You
121 should uninstall this package when you're done, as it considered
122 insecure to keep the setup files in place.
123
124 %description setup -l pl.UTF-8
125 Ten pakiet należy zainstalować w celu wstępnej konfiguracji DokuWiki
126 po pierwszej instalacji. Potem należy go odinstalować, jako że
127 pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
128
129 %prep
130 %setup -q -n %{name}-%{?rc_:rc}2014-05-06 %{?snap:-c}
131 %if 0%{?snap:1}
132 mv *-dokuwiki-*/* .
133 test -e VERSION || echo %{subver}-git > VERSION
134 install -d data/pages/playground
135 touch data/pages/playground/playground.txt
136 %endif
137 %patch0 -p1
138 %patch1 -p1
139 %patch2 -p1
140 %patch3 -p1
141 %patch4 -p1
142 %patch5 -p1
143 %patch6 -p1
144 %patch8 -p1
145 %patch10 -p1
146 %patch11 -p1
147 %patch14 -p1
148 %patch15 -p1
149 %patch19 -p1
150 %patch20 -p1
151 %patch21 -p1
152 %patch22 -p1
153 %patch24 -p1
154 %patch25 -p1
155 %patch26 -p1
156
157 %patch66 -p1
158
159 # package as basenames, upgrade overwrite protected with .rpmnew
160 mv conf/local.php{.dist,}
161 mv conf/acl.auth.php{.dist,}
162 mv conf/users.auth.php{.dist,}
163 mv conf/mysql.conf.php{.example,}
164
165 find -name _dummy | xargs %{__rm}
166 %{__rm} lib/index.html lib/plugins/index.html lib/images/index.html
167 %{__rm} {conf,inc,bin,data,inc/lang}/.htaccess
168
169 # we just don't package deleted files, these get removed automatically on rpm upgrades
170 %{__rm} data/deleted.files
171 # source for security.png
172 %{__rm} data/security.xcf
173
174 # use system geshi package
175 %{__rm} inc/geshi.php
176 %{__rm} -r inc/geshi
177
178 # use system adldap package
179 %{__rm} -r lib/plugins/authad/adLDAP
180
181 # use system simplepie package
182 %{__rm} inc/SimplePie.php
183
184 # use system lessphp package
185 %{__rm} inc/lessc.inc.php
186
187 # use system lib
188 %{__rm} -r inc/phpseclib
189
190 # flash source on git tarballs
191 rm -rf lib/_fla
192 rm -rf lib/plugins/testing
193 rm -r lib/plugins/*/_test
194
195 # use system packages
196 %{__rm} lib/scripts/jquery/update.sh
197 %{__rm} lib/scripts/jquery/jquery-ui.js
198 %{__rm} lib/scripts/jquery/jquery-ui.min.js
199 %{__rm} lib/scripts/jquery/jquery.cookie.js
200 %{__rm} lib/scripts/jquery/jquery.js
201 %{__rm} lib/scripts/jquery/jquery.min.js
202 %{__rm} lib/scripts/jquery/jquery-migrate.js
203 %{__rm} lib/scripts/jquery/jquery-migrate.min.js
204 %{__rm} -r lib/scripts/jquery/jquery-ui-theme
205
206 # cleanup backups after patching
207 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
208
209 %build
210 md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
211 if ! grep $md5 install.php; then
212         : update %{name}-config.patch -- it is outdated
213         exit 1
214 fi
215
216 %install
217 rm -rf $RPM_BUILD_ROOT
218 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}/{bin,inc,lib}}
219
220 # hardlink test
221 cp -al VERSION $RPM_BUILD_ROOT%{_appdir} 2>/dev/null && l=l
222
223 cp -a$l *.php $RPM_BUILD_ROOT%{_appdir}
224 cp -p$l VERSION $RPM_BUILD_ROOT%{_appdir}
225 cp -a$l bin/* $RPM_BUILD_ROOT%{_appdir}/bin
226 cp -a$l inc/* $RPM_BUILD_ROOT%{_appdir}/inc
227 cp -a$l lib/* $RPM_BUILD_ROOT%{_appdir}/lib
228 cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
229 cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
230 touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
231 touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
232 touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
233 touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
234 touch $RPM_BUILD_ROOT%{_sysconfdir}/plugins.local.php
235 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
236 touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
237 touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
238 touch $RPM_BUILD_ROOT%{_sysconfdir}/userscript.js
239 touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
240
241 ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
242 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
243 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
244 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
245 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
246 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
247
248 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
249 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
250
251 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/dokuwiki/images/button-pld.png
252
253 # hardlink identical icons.
254 findup -m $RPM_BUILD_ROOT
255
256 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
257 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
258 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
259
260 # find locales
261 %find_lang %{name}.lang
262
263 %clean
264 rm -rf $RPM_BUILD_ROOT
265
266 %post setup
267 chmod 770 %{_sysconfdir}
268 chmod 660 %{_sysconfdir}/local.php
269 chmod 660 %{_sysconfdir}/plugins.local.php
270
271 %postun setup
272 if [ "$1" = "0" ]; then
273         if [ -f %{_sysconfdir}/dokuwiki.php ]; then
274                 chmod 750 %{_sysconfdir}
275                 chmod 640 %{_sysconfdir}/local.php
276                 chmod 640 %{_sysconfdir}/plugins.local.php
277         fi
278 fi
279
280 %triggerin -- apache1 < 1.3.37-3, apache1-base
281 %webapp_register apache %{_webapp}
282
283 %triggerun -- apache1 < 1.3.37-3, apache1-base
284 %webapp_unregister apache %{_webapp}
285
286 %triggerin -- apache < 2.2.0, apache-base
287 %webapp_register httpd %{_webapp}
288
289 %triggerun -- apache < 2.2.0, apache-base
290 %webapp_unregister httpd %{_webapp}
291
292 %triggerin -- lighttpd
293 %webapp_register lighttpd %{_webapp}
294
295 %triggerun -- lighttpd
296 %webapp_unregister lighttpd %{_webapp}
297
298 %pretrans
299 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
300         mv -f %{_appdir}/data/* %{_localstatedir}
301         rm -rf %{_appdir}/data
302 fi
303 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
304         mv -f %{_appdir}/conf/* %{_sysconfdir}
305         rm -rf %{_appdir}/conf
306 fi
307 if [ -d %{_localstatedir}/cache ]; then
308         rm -rf %{_localstatedir}/cache
309 fi
310 exit 0
311
312 %files -f %{name}.lang
313 %defattr(644,root,root,755)
314 %doc README
315 %dir %attr(750,root,http) %verify(not mode) %{_sysconfdir}
316 %dir %attr(750,root,http) %{_sysconfdir}/lang
317 %dir %attr(750,root,http) %{_sysconfdir}/plugin_lang
318 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
319 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
320 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
321
322 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
323 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.php
324 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
325
326 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acl.auth.php
327 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
328 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
329 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
330 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
331 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
332 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
333 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
334 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userscript.js
335 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
336 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/users.auth.php
337 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql.conf.php
338
339 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/local.php
340 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/plugins.local.php
341
342 # use local.php, local.protected.php, etc for local changes
343 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
344 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
345 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
346 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
347 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
348 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/wordblock.conf
349
350 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
351 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
352 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/plugins.required.php
353
354 %dir %{_appdir}
355 %{_appdir}/VERSION
356 %{_appdir}/doku.php
357 %{_appdir}/feed.php
358 %{_appdir}/index.php
359 %dir %{_appdir}/bin
360 %attr(755,root,root) %{_appdir}/bin/dwpage.php
361 %attr(755,root,root) %{_appdir}/bin/gittool.php
362 %attr(755,root,root) %{_appdir}/bin/indexer.php
363 %attr(755,root,root) %{_appdir}/bin/render.php
364 %attr(755,root,root) %{_appdir}/bin/striplangs.php
365 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
366
367 %dir %{_appdir}/inc
368 %{_appdir}/inc/*.php
369 %{_appdir}/inc/preload.php.dist
370 %{_appdir}/inc/parser
371
372 %dir %{_appdir}/lib
373 # allow plugins dir permission change to allow installation of plugins from admin
374 # however does not work with rpm 4.5
375 %dir %config %verify(not group mode) %{_appdir}/lib/plugins
376 %{_appdir}/lib/plugins/*.php
377 %dir %{_appdir}/lib/plugins/acl
378 %{_appdir}/lib/plugins/acl/*.*
379 %{_appdir}/lib/plugins/acl/pix
380 %dir %{_appdir}/lib/plugins/authad
381 %{_appdir}/lib/plugins/authad/*.php
382 %{_appdir}/lib/plugins/authad/*.txt
383 %{_appdir}/lib/plugins/authad/conf
384 %dir %{_appdir}/lib/plugins/authldap
385 %{_appdir}/lib/plugins/authldap/*.php
386 %{_appdir}/lib/plugins/authldap/*.txt
387 %{_appdir}/lib/plugins/authldap/conf
388 %dir %{_appdir}/lib/plugins/authmysql
389 %{_appdir}/lib/plugins/authmysql/*.php
390 %{_appdir}/lib/plugins/authmysql/*.txt
391 %{_appdir}/lib/plugins/authmysql/conf
392 %{_appdir}/lib/plugins/authpgsql/*.php
393 %{_appdir}/lib/plugins/authpgsql/conf
394 %{_appdir}/lib/plugins/authpgsql/*.txt
395 %dir %{_appdir}/lib/plugins/authpgsql
396 %dir %{_appdir}/lib/plugins/authplain
397 %{_appdir}/lib/plugins/authplain/*.php
398 %{_appdir}/lib/plugins/authplain/*.txt
399 %dir %{_appdir}/lib/plugins/config
400 %{_appdir}/lib/plugins/config/*.*
401 %{_appdir}/lib/plugins/config/images
402 %{_appdir}/lib/plugins/config/settings
403 %dir %{_appdir}/lib/plugins/extension
404 %{_appdir}/lib/plugins/extension/*.*
405 %{_appdir}/lib/plugins/extension/helper
406 %{_appdir}/lib/plugins/extension/images
407 %dir %{_appdir}/lib/plugins/revert
408 %{_appdir}/lib/plugins/revert/*.*
409 %dir %{_appdir}/lib/plugins/safefnrecode
410 %{_appdir}/lib/plugins/safefnrecode/*.*
411 %dir %{_appdir}/lib/plugins/usermanager
412 %{_appdir}/lib/plugins/usermanager/*.*
413 %{_appdir}/lib/plugins/usermanager/images
414 %dir %{_appdir}/lib/plugins/info
415 %{_appdir}/lib/plugins/info/*.*
416 %dir %{_appdir}/lib/plugins/popularity
417 %{_appdir}/lib/plugins/popularity/*.*
418
419 %{_appdir}/lib/images
420 %{_appdir}/lib/scripts
421 %{_appdir}/lib/styles
422 %{_appdir}/lib/tpl
423 %{_appdir}/lib/exe
424
425 %dir %attr(770,root,http) %{_localstatedir}
426 %dir %attr(770,root,http) %{_localstatedir}/attic
427 %dir %attr(770,root,http) %{_localstatedir}/index
428 %dir %attr(770,root,http) %{_localstatedir}/locks
429 %dir %attr(770,root,http) %{_localstatedir}/media
430 %dir %attr(770,root,http) %{_localstatedir}/media_attic
431 %dir %attr(770,root,http) %{_localstatedir}/media_meta
432 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
433 %dir %attr(770,root,http) %{_localstatedir}/meta
434 %dir %attr(770,root,http) %{_localstatedir}/pages
435 %dir %attr(770,root,http) %{_localstatedir}/pages/playground
436 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
437 %dir %attr(770,root,http) %{_localstatedir}/tmp
438
439 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
440 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
441 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
442 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/welcome.txt
443 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
444 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.png
445
446 %dir %attr(770,root,http) %{_cachedir}
447
448 %files setup
449 %defattr(644,root,root,755)
450 %{_appdir}/install.php
This page took 0.068296 seconds and 3 git commands to generate.