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