]> git.pld-linux.org Git - packages/dokuwiki.git/blob - dokuwiki.spec
21405d11782210c7af3494324ad2975c38df893f
[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:        2
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 Patch100:       git-fixes.patch
33 Patch66:        %{name}-config.patch
34 Patch0:         %{name}-paths.patch
35 Patch1:         system-jquery.patch
36 Patch2:         style-width.patch
37 Patch3:         undeprecate.patch
38 Patch4:         %{name}-geshi.patch
39 Patch5:         %{name}-http_auth-option.patch
40 Patch6:         %{name}-nice_exit.patch
41 Patch8:         %{name}-notify-respect-minor.patch
42 Patch10:        %{name}-mailtext.patch
43 Patch11:        %{name}-notifyns.patch
44 Patch14:        interwiki-outputonly.patch
45 Patch15:        simplepie.patch
46 Patch19:        pld-branding.patch
47 Patch20:        fixprivilegeescalationbug.diff
48 Patch21:        task-1821.patch
49 Patch22:        adldap.patch
50 Patch23:        backlink-rightside.patch
51 Patch24:        more-buttons.patch
52 URL:            https://www.dokuwiki.org/
53 BuildRequires:  fslint
54 BuildRequires:  rpm-php-pearprov >= 4.4.2-11
55 BuildRequires:  rpmbuild(macros) >= 1.520
56 Requires:       jquery >= 1.8
57 #Requires:      jquery >= 1.9.1
58 Requires:       jquery-cookie
59 #Requires:      jquery-migrate
60 #Requires:      jquery-ui >= 1.10.2
61 Requires:       jquery-ui >= 1.8
62 Requires:       php(core) >= %{php_min_version}
63 Requires:       php(session)
64 Requires:       php(xml)
65 Requires:       php-geshi >= 1.0.7.19
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}%{subver} %{?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 %patch100 -p1
138 %patch0 -p1
139 %patch1 -p1
140 %patch2 -p1
141 %patch3 -p1
142 %patch4 -p1
143 %patch5 -p1
144 %patch6 -p1
145 %patch8 -p1
146 %patch10 -p1
147 %patch11 -p1
148 %patch14 -p1
149 %patch15 -p1
150 %patch19 -p1
151 %patch20 -p1
152 %patch21 -p1
153 %patch22 -p1
154 %patch23 -p1
155 %patch24 -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 # flash source on git tarballs
185 rm -rf lib/_fla
186 rm -rf lib/plugins/testing
187 rm -rf lib/plugins/config/_test
188
189 # use system packages
190 %{__rm} lib/scripts/jquery/update.sh
191 %{__rm} lib/scripts/jquery/jquery-ui.js
192 %{__rm} lib/scripts/jquery/jquery-ui.min.js
193 %{__rm} lib/scripts/jquery/jquery.cookie.js
194 %{__rm} lib/scripts/jquery/jquery.js
195 %{__rm} lib/scripts/jquery/jquery.min.js
196 %{__rm} lib/scripts/jquery/jquery-migrate.js
197 %{__rm} lib/scripts/jquery/jquery-migrate.min.js
198 %{__rm} -r lib/scripts/jquery/jquery-ui-theme
199
200 # cleanup backups after patching
201 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
202
203 %build
204 md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
205 if ! grep $md5 install.php; then
206         : update %{name}-config.patch -- it is outdated
207         exit 1
208 fi
209
210 %install
211 rm -rf $RPM_BUILD_ROOT
212 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}/{bin,inc,lib}}
213
214 # hardlink test
215 cp -al VERSION $RPM_BUILD_ROOT%{_appdir} 2>/dev/null && l=l
216
217 cp -a$l *.php $RPM_BUILD_ROOT%{_appdir}
218 cp -p$l VERSION $RPM_BUILD_ROOT%{_appdir}
219 cp -a$l bin/* $RPM_BUILD_ROOT%{_appdir}/bin
220 cp -a$l inc/* $RPM_BUILD_ROOT%{_appdir}/inc
221 cp -a$l lib/* $RPM_BUILD_ROOT%{_appdir}/lib
222 cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
223 cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
224 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
225 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
226 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
227 touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
228 touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
229 touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
230 touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
231 touch $RPM_BUILD_ROOT%{_sysconfdir}/plugins.local.php
232 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
233 touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
234 touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
235 touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
236
237 ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
238 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
239 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
240 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
241 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
242 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
243
244 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
245 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
246
247 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/dokuwiki/images/button-pld.png
248 ln $RPM_BUILD_ROOT%{_appdir}/lib/tpl/{dokuwiki,default}/images/button-pld.png
249
250 # hardlink identical icons.
251 findup -m $RPM_BUILD_ROOT
252
253 # find locales
254 %find_lang %{name}.lang
255
256 %clean
257 rm -rf $RPM_BUILD_ROOT
258
259 %post setup
260 chmod 770 %{_sysconfdir}
261 chmod 660 %{_sysconfdir}/local.php
262 chmod 660 %{_sysconfdir}/plugins.local.php
263
264 %postun setup
265 if [ "$1" = "0" ]; then
266         if [ -f %{_sysconfdir}/dokuwiki.php ]; then
267                 chmod 750 %{_sysconfdir}
268                 chmod 640 %{_sysconfdir}/local.php
269                 chmod 640 %{_sysconfdir}/plugins.local.php
270         fi
271 fi
272
273 %triggerin -- apache1 < 1.3.37-3, apache1-base
274 %webapp_register apache %{_webapp}
275
276 %triggerun -- apache1 < 1.3.37-3, apache1-base
277 %webapp_unregister apache %{_webapp}
278
279 %triggerin -- apache < 2.2.0, apache-base
280 %webapp_register httpd %{_webapp}
281
282 %triggerun -- apache < 2.2.0, apache-base
283 %webapp_unregister httpd %{_webapp}
284
285 %triggerin -- lighttpd
286 %webapp_register lighttpd %{_webapp}
287
288 %triggerun -- lighttpd
289 %webapp_unregister lighttpd %{_webapp}
290
291 %pretrans
292 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
293         mv -f %{_appdir}/data/* %{_localstatedir}
294         rm -rf %{_appdir}/data
295 fi
296 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
297         mv -f %{_appdir}/conf/* %{_sysconfdir}
298         rm -rf %{_appdir}/conf
299 fi
300 if [ -d %{_localstatedir}/cache ]; then
301         rm -rf %{_localstatedir}/cache
302 fi
303 exit 0
304
305 %files -f %{name}.lang
306 %defattr(644,root,root,755)
307 %doc README
308 %dir %attr(750,root,http) %verify(not mode) %{_sysconfdir}
309 %dir %attr(750,root,http) %{_sysconfdir}/lang
310 %dir %attr(750,root,http) %{_sysconfdir}/plugin_lang
311 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
312 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
313 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
314
315 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
316 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.php
317 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
318
319 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acl.auth.php
320 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
321 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
322 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
323 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
324 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
325 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
326 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
327 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
328 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/users.auth.php
329 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql.conf.php
330
331 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/local.php
332 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/plugins.local.php
333
334 # use local.php, local.protected.php, etc for local changes
335 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
336 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
337 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
338 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
339 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
340 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/wordblock.conf
341
342 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
343 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
344 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/plugins.required.php
345
346 %dir %{_appdir}
347 %{_appdir}/VERSION
348 %{_appdir}/doku.php
349 %{_appdir}/feed.php
350 %{_appdir}/index.php
351 %dir %{_appdir}/bin
352 %attr(755,root,root) %{_appdir}/bin/dwpage.php
353 %attr(755,root,root) %{_appdir}/bin/indexer.php
354 %attr(755,root,root) %{_appdir}/bin/render.php
355 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
356 %attr(755,root,root) %{_appdir}/bin/striplangs.php
357
358 %dir %{_appdir}/inc
359 %{_appdir}/inc/*.php
360 %{_appdir}/inc/preload.php.dist
361 %{_appdir}/inc/parser
362
363 %dir %{_appdir}/lib
364 # allow plugins dir permission change to allow installation of plugins from admin
365 # however does not work with rpm 4.5
366 %dir %config %verify(not group mode) %{_appdir}/lib/plugins
367 %dir %{_appdir}/lib/plugins/acl
368 %{_appdir}/lib/plugins/acl/*.*
369 %{_appdir}/lib/plugins/acl/pix
370 %dir %{_appdir}/lib/plugins/authad
371 %{_appdir}/lib/plugins/authad/*.php
372 %{_appdir}/lib/plugins/authad/*.txt
373 %{_appdir}/lib/plugins/authad/conf
374 %dir %{_appdir}/lib/plugins/authldap
375 %{_appdir}/lib/plugins/authldap/*.php
376 %{_appdir}/lib/plugins/authldap/*.txt
377 %{_appdir}/lib/plugins/authldap/conf
378 %dir %{_appdir}/lib/plugins/authmysql
379 %{_appdir}/lib/plugins/authmysql/*.php
380 %{_appdir}/lib/plugins/authmysql/*.txt
381 %{_appdir}/lib/plugins/authmysql/conf
382 %{_appdir}/lib/plugins/authpgsql/*.php
383 %{_appdir}/lib/plugins/authpgsql/conf
384 %{_appdir}/lib/plugins/authpgsql/*.txt
385 %dir %{_appdir}/lib/plugins/authpgsql
386 %dir %{_appdir}/lib/plugins/authplain
387 %{_appdir}/lib/plugins/authplain/*.php
388 %{_appdir}/lib/plugins/authplain/*.txt
389 %dir %{_appdir}/lib/plugins/config
390 %{_appdir}/lib/plugins/config/*.*
391 %{_appdir}/lib/plugins/config/images
392 %{_appdir}/lib/plugins/config/settings
393 %dir %{_appdir}/lib/plugins/plugin
394 %{_appdir}/lib/plugins/plugin/*.*
395 %{_appdir}/lib/plugins/plugin/classes
396 %dir %{_appdir}/lib/plugins/revert
397 %{_appdir}/lib/plugins/revert/*.*
398 %dir %{_appdir}/lib/plugins/safefnrecode
399 %{_appdir}/lib/plugins/safefnrecode/*.*
400 %dir %{_appdir}/lib/plugins/usermanager
401 %{_appdir}/lib/plugins/usermanager/*.*
402 %{_appdir}/lib/plugins/usermanager/images
403 %dir %{_appdir}/lib/plugins/info
404 %{_appdir}/lib/plugins/info/*.*
405 %dir %{_appdir}/lib/plugins/popularity
406 %{_appdir}/lib/plugins/popularity/*.*
407 %{_appdir}/lib/plugins/*.php
408
409 %{_appdir}/lib/images
410 %{_appdir}/lib/scripts
411 %{_appdir}/lib/styles
412 %{_appdir}/lib/tpl
413 %{_appdir}/lib/exe
414
415 %dir %attr(770,root,http) %{_localstatedir}
416 %dir %attr(770,root,http) %{_localstatedir}/attic
417 %dir %attr(770,root,http) %{_localstatedir}/index
418 %dir %attr(770,root,http) %{_localstatedir}/locks
419 %dir %attr(770,root,http) %{_localstatedir}/media
420 %dir %attr(770,root,http) %{_localstatedir}/media_attic
421 %dir %attr(770,root,http) %{_localstatedir}/media_meta
422 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
423 %dir %attr(770,root,http) %{_localstatedir}/meta
424 %dir %attr(770,root,http) %{_localstatedir}/pages
425 %dir %attr(770,root,http) %{_localstatedir}/pages/playground
426 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
427 %dir %attr(770,root,http) %{_localstatedir}/tmp
428
429 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
430 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
431 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
432 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/welcome.txt
433 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
434 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.png
435
436 %dir %attr(770,root,http) %{_cachedir}
437
438 %files setup
439 %defattr(644,root,root,755)
440 %{_appdir}/install.php
This page took 0.054139 seconds and 2 git commands to generate.