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