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