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