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