]> git.pld-linux.org Git - packages/dokuwiki.git/blob - dokuwiki.spec
be sure to have recent enough php-seclib
[packages/dokuwiki.git] / dokuwiki.spec
1 %define         subver  2013-10-28
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.1
12 License:        GPL v2
13 Group:          Applications/WWW
14 #Source0:       http://www.splitbrain.org/_media/projects/dokuwiki/%{name}-%{subver}.tgz
15 Source0:        http://download.dokuwiki.org/src/dokuwiki/%{name}-rc%{subver}.tgz
16 # Source0-md5:  f476b54a3679d35cdd8746db57c9c6a3
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 Patch24:        more-buttons.patch
50 Patch25:        system-phpseclib.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-seclib >= 0.3.5
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
147 %patch14 -p1
148 %patch15 -p1
149 %patch19 -p1
150 %patch20 -p1
151 %patch21 -p1
152 %patch22 -p1
153 %patch24 -p1
154 %patch25 -p1
155
156 %patch66 -p1
157
158 # package as basenames, upgrade overwrite protected with .rpmnew
159 mv conf/local.php{.dist,}
160 mv conf/acl.auth.php{.dist,}
161 mv conf/users.auth.php{.dist,}
162 mv conf/mysql.conf.php{.example,}
163
164 find -name _dummy | xargs %{__rm}
165 %{__rm} lib/index.html lib/plugins/index.html lib/images/index.html
166 %{__rm} {conf,inc,bin,data,inc/lang}/.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 # use system lib
184 %{__rm} -r inc/phpseclib
185
186 # flash source on git tarballs
187 rm -rf lib/_fla
188 rm -rf lib/plugins/testing
189 rm -rf lib/plugins/config/_test
190
191 # use system packages
192 %{__rm} lib/scripts/jquery/update.sh
193 %{__rm} lib/scripts/jquery/jquery-ui.js
194 %{__rm} lib/scripts/jquery/jquery-ui.min.js
195 %{__rm} lib/scripts/jquery/jquery.cookie.js
196 %{__rm} lib/scripts/jquery/jquery.js
197 %{__rm} lib/scripts/jquery/jquery.min.js
198 %{__rm} lib/scripts/jquery/jquery-migrate.js
199 %{__rm} lib/scripts/jquery/jquery-migrate.min.js
200 %{__rm} -r lib/scripts/jquery/jquery-ui-theme
201
202 # cleanup backups after patching
203 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
204
205 %build
206 md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
207 if ! grep $md5 install.php; then
208         : update %{name}-config.patch -- it is outdated
209         exit 1
210 fi
211
212 %install
213 rm -rf $RPM_BUILD_ROOT
214 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}/{bin,inc,lib}}
215
216 # hardlink test
217 cp -al VERSION $RPM_BUILD_ROOT%{_appdir} 2>/dev/null && l=l
218
219 cp -a$l *.php $RPM_BUILD_ROOT%{_appdir}
220 cp -p$l VERSION $RPM_BUILD_ROOT%{_appdir}
221 cp -a$l bin/* $RPM_BUILD_ROOT%{_appdir}/bin
222 cp -a$l inc/* $RPM_BUILD_ROOT%{_appdir}/inc
223 cp -a$l lib/* $RPM_BUILD_ROOT%{_appdir}/lib
224 cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
225 cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
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
248 # hardlink identical icons.
249 findup -m $RPM_BUILD_ROOT
250
251 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
252 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
253 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
254
255 # find locales
256 %find_lang %{name}.lang
257
258 %clean
259 rm -rf $RPM_BUILD_ROOT
260
261 %post setup
262 chmod 770 %{_sysconfdir}
263 chmod 660 %{_sysconfdir}/local.php
264 chmod 660 %{_sysconfdir}/plugins.local.php
265
266 %postun setup
267 if [ "$1" = "0" ]; then
268         if [ -f %{_sysconfdir}/dokuwiki.php ]; then
269                 chmod 750 %{_sysconfdir}
270                 chmod 640 %{_sysconfdir}/local.php
271                 chmod 640 %{_sysconfdir}/plugins.local.php
272         fi
273 fi
274
275 %triggerin -- apache1 < 1.3.37-3, apache1-base
276 %webapp_register apache %{_webapp}
277
278 %triggerun -- apache1 < 1.3.37-3, apache1-base
279 %webapp_unregister apache %{_webapp}
280
281 %triggerin -- apache < 2.2.0, apache-base
282 %webapp_register httpd %{_webapp}
283
284 %triggerun -- apache < 2.2.0, apache-base
285 %webapp_unregister httpd %{_webapp}
286
287 %triggerin -- lighttpd
288 %webapp_register lighttpd %{_webapp}
289
290 %triggerun -- lighttpd
291 %webapp_unregister lighttpd %{_webapp}
292
293 %pretrans
294 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
295         mv -f %{_appdir}/data/* %{_localstatedir}
296         rm -rf %{_appdir}/data
297 fi
298 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
299         mv -f %{_appdir}/conf/* %{_sysconfdir}
300         rm -rf %{_appdir}/conf
301 fi
302 if [ -d %{_localstatedir}/cache ]; then
303         rm -rf %{_localstatedir}/cache
304 fi
305 exit 0
306
307 %files -f %{name}.lang
308 %defattr(644,root,root,755)
309 %doc README
310 %dir %attr(750,root,http) %verify(not mode) %{_sysconfdir}
311 %dir %attr(750,root,http) %{_sysconfdir}/lang
312 %dir %attr(750,root,http) %{_sysconfdir}/plugin_lang
313 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
314 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
315 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
316
317 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
318 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.php
319 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
320
321 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acl.auth.php
322 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
323 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
324 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
325 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
326 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
327 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
328 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
329 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
330 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/users.auth.php
331 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql.conf.php
332
333 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/local.php
334 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/plugins.local.php
335
336 # use local.php, local.protected.php, etc for local changes
337 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
338 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
339 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
340 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
341 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
342 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/wordblock.conf
343
344 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
345 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
346 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/plugins.required.php
347
348 %dir %{_appdir}
349 %{_appdir}/VERSION
350 %{_appdir}/doku.php
351 %{_appdir}/feed.php
352 %{_appdir}/index.php
353 %dir %{_appdir}/bin
354 %attr(755,root,root) %{_appdir}/bin/dwpage.php
355 %attr(755,root,root) %{_appdir}/bin/indexer.php
356 %attr(755,root,root) %{_appdir}/bin/render.php
357 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
358 %attr(755,root,root) %{_appdir}/bin/striplangs.php
359
360 %dir %{_appdir}/inc
361 %{_appdir}/inc/*.php
362 %{_appdir}/inc/preload.php.dist
363 %{_appdir}/inc/parser
364
365 %dir %{_appdir}/lib
366 # allow plugins dir permission change to allow installation of plugins from admin
367 # however does not work with rpm 4.5
368 %dir %config %verify(not group mode) %{_appdir}/lib/plugins
369 %dir %{_appdir}/lib/plugins/acl
370 %{_appdir}/lib/plugins/acl/*.*
371 %{_appdir}/lib/plugins/acl/pix
372 %dir %{_appdir}/lib/plugins/authad
373 %{_appdir}/lib/plugins/authad/*.php
374 %{_appdir}/lib/plugins/authad/*.txt
375 %{_appdir}/lib/plugins/authad/conf
376 %dir %{_appdir}/lib/plugins/authldap
377 %{_appdir}/lib/plugins/authldap/*.php
378 %{_appdir}/lib/plugins/authldap/*.txt
379 %{_appdir}/lib/plugins/authldap/conf
380 %dir %{_appdir}/lib/plugins/authmysql
381 %{_appdir}/lib/plugins/authmysql/*.php
382 %{_appdir}/lib/plugins/authmysql/*.txt
383 %{_appdir}/lib/plugins/authmysql/conf
384 %{_appdir}/lib/plugins/authpgsql/*.php
385 %{_appdir}/lib/plugins/authpgsql/conf
386 %{_appdir}/lib/plugins/authpgsql/*.txt
387 %dir %{_appdir}/lib/plugins/authpgsql
388 %dir %{_appdir}/lib/plugins/authplain
389 %{_appdir}/lib/plugins/authplain/*.php
390 %{_appdir}/lib/plugins/authplain/*.txt
391 %dir %{_appdir}/lib/plugins/config
392 %{_appdir}/lib/plugins/config/*.*
393 %{_appdir}/lib/plugins/config/images
394 %{_appdir}/lib/plugins/config/settings
395 %dir %{_appdir}/lib/plugins/plugin
396 %{_appdir}/lib/plugins/plugin/*.*
397 %{_appdir}/lib/plugins/plugin/classes
398 %dir %{_appdir}/lib/plugins/revert
399 %{_appdir}/lib/plugins/revert/*.*
400 %dir %{_appdir}/lib/plugins/safefnrecode
401 %{_appdir}/lib/plugins/safefnrecode/*.*
402 %dir %{_appdir}/lib/plugins/usermanager
403 %{_appdir}/lib/plugins/usermanager/*.*
404 %{_appdir}/lib/plugins/usermanager/images
405 %dir %{_appdir}/lib/plugins/info
406 %{_appdir}/lib/plugins/info/*.*
407 %dir %{_appdir}/lib/plugins/popularity
408 %{_appdir}/lib/plugins/popularity/*.*
409 %{_appdir}/lib/plugins/*.php
410
411 %{_appdir}/lib/images
412 %{_appdir}/lib/scripts
413 %{_appdir}/lib/styles
414 %{_appdir}/lib/tpl
415 %{_appdir}/lib/exe
416
417 %dir %attr(770,root,http) %{_localstatedir}
418 %dir %attr(770,root,http) %{_localstatedir}/attic
419 %dir %attr(770,root,http) %{_localstatedir}/index
420 %dir %attr(770,root,http) %{_localstatedir}/locks
421 %dir %attr(770,root,http) %{_localstatedir}/media
422 %dir %attr(770,root,http) %{_localstatedir}/media_attic
423 %dir %attr(770,root,http) %{_localstatedir}/media_meta
424 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
425 %dir %attr(770,root,http) %{_localstatedir}/meta
426 %dir %attr(770,root,http) %{_localstatedir}/pages
427 %dir %attr(770,root,http) %{_localstatedir}/pages/playground
428 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
429 %dir %attr(770,root,http) %{_localstatedir}/tmp
430
431 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
432 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
433 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
434 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/welcome.txt
435 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
436 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.png
437
438 %dir %attr(770,root,http) %{_cachedir}
439
440 %files setup
441 %defattr(644,root,root,755)
442 %{_appdir}/install.php
This page took 0.542916 seconds and 3 git commands to generate.