]> git.pld-linux.org Git - packages/dokuwiki.git/blob - dokuwiki.spec
still old deprecated wrappers, some plugins still have addInitEvent() calls
[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:        0.9
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 Patch12:        %{name}-mailthreads.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 %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 UPDATE
147 #%patch12 -p1 OUTDATED?
148 %patch14 -p1
149 %patch15 -p1
150 %patch19 -p1
151 %patch20 -p1
152 #%%patch21 -p1 CHECKME
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 inc/lang/.htaccess conf/.htaccess
167
168 # we just don't package deleted files, these get removed automatically on rpm upgrades
169 %{__rm} data/deleted.files
170 # source for security.png
171 %{__rm} data/security.xcf
172
173 # use system geshi package
174 %{__rm} inc/geshi.php
175 %{__rm} -r inc/geshi
176
177 # use system adldap package
178 %{__rm} -r lib/plugins/authad/adLDAP
179
180 # use system simplepie package
181 %{__rm} inc/SimplePie.php
182
183 # flash source on git tarballs
184 rm -rf lib/_fla
185 rm -rf lib/plugins/testing
186 rm -rf lib/plugins/config/_test
187
188 # use system packages
189 %{__rm} lib/scripts/jquery/update.sh
190 %{__rm} lib/scripts/jquery/jquery-ui.js
191 %{__rm} lib/scripts/jquery/jquery-ui.min.js
192 %{__rm} lib/scripts/jquery/jquery.cookie.js
193 %{__rm} lib/scripts/jquery/jquery.js
194 %{__rm} lib/scripts/jquery/jquery.min.js
195 %{__rm} lib/scripts/jquery/jquery-migrate.js
196 %{__rm} lib/scripts/jquery/jquery-migrate.min.js
197 %{__rm} -r lib/scripts/jquery/jquery-ui-theme
198
199 # cleanup backups after patching
200 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
201
202 %build
203 md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
204 if ! grep $md5 install.php; then
205         : update %{name}-config.patch -- it is outdated
206         exit 1
207 fi
208
209 %install
210 rm -rf $RPM_BUILD_ROOT
211 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}/{bin,inc,lib}}
212
213 # hardlink test
214 cp -al VERSION $RPM_BUILD_ROOT%{_appdir} 2>/dev/null && l=l
215
216 cp -a$l *.php $RPM_BUILD_ROOT%{_appdir}
217 cp -p$l VERSION $RPM_BUILD_ROOT%{_appdir}
218 cp -a$l bin/* $RPM_BUILD_ROOT%{_appdir}/bin
219 cp -a$l inc/* $RPM_BUILD_ROOT%{_appdir}/inc
220 cp -a$l lib/* $RPM_BUILD_ROOT%{_appdir}/lib
221 cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
222 cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
223 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
224 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
225 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
226 touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
227 touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
228 touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
229 touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
230 touch $RPM_BUILD_ROOT%{_sysconfdir}/plugins.local.php
231 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
232 touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
233 touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
234 touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
235
236 ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
237 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
238 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
239 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
240 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
241 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
242
243 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
244 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
245
246 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/dokuwiki/images/button-pld.png
247 ln $RPM_BUILD_ROOT%{_appdir}/lib/tpl/{dokuwiki,default}/images/button-pld.png
248
249 # hardlink identical icons.
250 findup -m $RPM_BUILD_ROOT
251
252 # find locales
253 %find_lang %{name}.lang
254
255 %clean
256 rm -rf $RPM_BUILD_ROOT
257
258 %post setup
259 chmod 770 %{_sysconfdir}
260 chmod 660 %{_sysconfdir}/local.php
261 chmod 660 %{_sysconfdir}/plugins.local.php
262
263 %postun setup
264 if [ "$1" = "0" ]; then
265         if [ -f %{_sysconfdir}/dokuwiki.php ]; then
266                 chmod 750 %{_sysconfdir}
267                 chmod 640 %{_sysconfdir}/local.php
268                 chmod 640 %{_sysconfdir}/plugins.local.php
269         fi
270 fi
271
272 %triggerin -- apache1 < 1.3.37-3, apache1-base
273 %webapp_register apache %{_webapp}
274
275 %triggerun -- apache1 < 1.3.37-3, apache1-base
276 %webapp_unregister apache %{_webapp}
277
278 %triggerin -- apache < 2.2.0, apache-base
279 %webapp_register httpd %{_webapp}
280
281 %triggerun -- apache < 2.2.0, apache-base
282 %webapp_unregister httpd %{_webapp}
283
284 %triggerin -- lighttpd
285 %webapp_register lighttpd %{_webapp}
286
287 %triggerun -- lighttpd
288 %webapp_unregister lighttpd %{_webapp}
289
290 %pretrans
291 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
292         mv -f %{_appdir}/data/* %{_localstatedir}
293         rm -rf %{_appdir}/data
294 fi
295 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
296         mv -f %{_appdir}/conf/* %{_sysconfdir}
297         rm -rf %{_appdir}/conf
298 fi
299 if [ -d %{_localstatedir}/cache ]; then
300         rm -rf %{_localstatedir}/cache
301 fi
302 exit 0
303
304 %files -f %{name}.lang
305 %defattr(644,root,root,755)
306 %doc README
307 %dir %attr(750,root,http) %verify(not mode) %{_sysconfdir}
308 %dir %attr(750,root,http) %{_sysconfdir}/lang
309 %dir %attr(750,root,http) %{_sysconfdir}/plugin_lang
310 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
311 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
312 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
313
314 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
315 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.php
316 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
317
318 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acl.auth.php
319 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
320 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
321 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
322 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
323 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
324 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
325 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
326 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
327 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/users.auth.php
328 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql.conf.php
329
330 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/local.php
331 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/plugins.local.php
332
333 # use local.php, local.protected.php, etc for local changes
334 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
335 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
336 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
337 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
338 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
339 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/wordblock.conf
340
341 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
342 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
343 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/plugins.required.php
344
345 %dir %{_appdir}
346 %{_appdir}/VERSION
347 %{_appdir}/doku.php
348 %{_appdir}/feed.php
349 %{_appdir}/index.php
350 %dir %{_appdir}/bin
351 %attr(755,root,root) %{_appdir}/bin/dwpage.php
352 %attr(755,root,root) %{_appdir}/bin/indexer.php
353 %attr(755,root,root) %{_appdir}/bin/render.php
354 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
355 %attr(755,root,root) %{_appdir}/bin/striplangs.php
356
357 %dir %{_appdir}/inc
358 %{_appdir}/inc/*.php
359 %{_appdir}/inc/preload.php.dist
360 %{_appdir}/inc/parser
361
362 %dir %{_appdir}/lib
363 # allow plugins dir permission change to allow installation of plugins from admin
364 # however does not work with rpm 4.5
365 %dir %config %verify(not group mode) %{_appdir}/lib/plugins
366 %dir %{_appdir}/lib/plugins/acl
367 %{_appdir}/lib/plugins/acl/*.*
368 %{_appdir}/lib/plugins/acl/pix
369 %dir %{_appdir}/lib/plugins/authad
370 %{_appdir}/lib/plugins/authad/*.php
371 %{_appdir}/lib/plugins/authad/*.txt
372 %{_appdir}/lib/plugins/authad/conf
373 %dir %{_appdir}/lib/plugins/authldap
374 %{_appdir}/lib/plugins/authldap/*.php
375 %{_appdir}/lib/plugins/authldap/*.txt
376 %{_appdir}/lib/plugins/authldap/conf
377 %dir %{_appdir}/lib/plugins/authmysql
378 %{_appdir}/lib/plugins/authmysql/*.php
379 %{_appdir}/lib/plugins/authmysql/*.txt
380 %{_appdir}/lib/plugins/authmysql/conf
381 %{_appdir}/lib/plugins/authpgsql/*.php
382 %{_appdir}/lib/plugins/authpgsql/conf
383 %{_appdir}/lib/plugins/authpgsql/*.txt
384 %dir %{_appdir}/lib/plugins/authpgsql
385 %dir %{_appdir}/lib/plugins/authplain
386 %{_appdir}/lib/plugins/authplain/*.php
387 %{_appdir}/lib/plugins/authplain/*.txt
388 %dir %{_appdir}/lib/plugins/config
389 %{_appdir}/lib/plugins/config/*.*
390 %{_appdir}/lib/plugins/config/images
391 %{_appdir}/lib/plugins/config/settings
392 %dir %{_appdir}/lib/plugins/plugin
393 %{_appdir}/lib/plugins/plugin/*.*
394 %{_appdir}/lib/plugins/plugin/classes
395 %dir %{_appdir}/lib/plugins/revert
396 %{_appdir}/lib/plugins/revert/*.*
397 %dir %{_appdir}/lib/plugins/safefnrecode
398 %{_appdir}/lib/plugins/safefnrecode/*.*
399 %dir %{_appdir}/lib/plugins/usermanager
400 %{_appdir}/lib/plugins/usermanager/*.*
401 %{_appdir}/lib/plugins/usermanager/images
402 %dir %{_appdir}/lib/plugins/info
403 %{_appdir}/lib/plugins/info/*.*
404 %dir %{_appdir}/lib/plugins/popularity
405 %{_appdir}/lib/plugins/popularity/*.*
406 %{_appdir}/lib/plugins/*.php
407
408 %{_appdir}/lib/images
409 %{_appdir}/lib/scripts
410 %{_appdir}/lib/styles
411 %{_appdir}/lib/tpl
412 %{_appdir}/lib/exe
413
414 %dir %attr(770,root,http) %{_localstatedir}
415 %dir %attr(770,root,http) %{_localstatedir}/attic
416 %dir %attr(770,root,http) %{_localstatedir}/index
417 %dir %attr(770,root,http) %{_localstatedir}/locks
418 %dir %attr(770,root,http) %{_localstatedir}/media
419 %dir %attr(770,root,http) %{_localstatedir}/media_attic
420 %dir %attr(770,root,http) %{_localstatedir}/media_meta
421 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
422 %dir %attr(770,root,http) %{_localstatedir}/meta
423 %dir %attr(770,root,http) %{_localstatedir}/pages
424 %dir %attr(770,root,http) %{_localstatedir}/pages/playground
425 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
426 %dir %attr(770,root,http) %{_localstatedir}/tmp
427
428 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
429 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
430 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
431 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/welcome.txt
432 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
433 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.png
434
435 %dir %attr(770,root,http) %{_cachedir}
436
437 %files setup
438 %defattr(644,root,root,755)
439 %{_appdir}/install.php
This page took 0.074859 seconds and 3 git commands to generate.