]> git.pld-linux.org Git - packages/dokuwiki.git/blame_incremental - dokuwiki.spec
uses adldap 4.0.4 internally
[packages/dokuwiki.git] / dokuwiki.spec
... / ...
CommitLineData
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
7Summary: PHP-based Wiki webapplication
8Summary(pl.UTF-8): Aplikacja WWW Wiki oparta na PHP
9Name: dokuwiki
10Version: %{ver}
11Release: 1
12License: GPL v2
13Group: Applications/WWW
14# Source0Download: http://download.dokuwiki.org/archive
15Source0: http://download.dokuwiki.org/src/dokuwiki/%{name}-%{subver}.tgz
16# Source0-md5: 2bf2d6c242c00e9c97f0647e71583375
17Source1: %{name}-apache.conf
18Source2: %{name}-lighttpd.conf
19Source3: http://glen.alkohol.ee/pld/jude.png
20# Source3-md5: 623344128960e18f86097dfee213ad4a
21Source4: eventum.gif
22Source6: pld_button.png
23# Source6-md5: 185afa921e81bd726b9f0f9f0909dc6e
24Source7: cacti.gif
25Source8: nagios.gif
26Source9: http://trac.edgewall.org/export/9404/trunk/doc/trac_icon_16x16.png
27# Source9-md5: 0c19ed35bf677f33f6bea14b3a8a2e10
28Source10: pld.gif
29Source11: http://glen.alkohol.ee/pld/astah.png
30# Source11-md5: b1c999e6988440c9e2af6a12e9a56451
31Patch66: %{name}-config.patch
32Patch0: %{name}-paths.patch
33Patch1: system-jquery.patch
34Patch2: style-width.patch
35Patch3: undeprecate.patch
36Patch4: %{name}-geshi.patch
37Patch5: %{name}-http_auth-option.patch
38Patch6: %{name}-nice_exit.patch
39Patch8: %{name}-notify-respect-minor.patch
40Patch10: %{name}-mailtext.patch
41Patch11: %{name}-notifyns.patch
42Patch14: interwiki-outputonly.patch
43Patch15: simplepie.patch
44Patch19: pld-branding.patch
45Patch20: fixprivilegeescalationbug.diff
46Patch21: task-1821.patch
47Patch22: adldap.patch
48Patch24: more-buttons.patch
49Patch25: system-phpseclib.patch
50Patch26: system-lessphp.patch
51URL: https://www.dokuwiki.org/
52BuildRequires: fslint
53BuildRequires: rpm-php-pearprov >= 4.4.2-11
54BuildRequires: rpmbuild(macros) >= 1.693
55Requires: jquery >= 1.8
56#Requires: jquery >= 1.9.1
57Requires: jquery-cookie
58#Requires: jquery-migrate
59#Requires: jquery-ui >= 1.10.2
60Requires: jquery-ui >= 1.8
61Requires: lessphp >= 0.3.9
62Requires: php(core) >= %{php_min_version}
63Requires: php(session)
64Requires: php(xml)
65Requires: php-geshi >= 1.0.7.19
66Requires: php-seclib >= 0.3.5
67Requires: php-simplepie >= 1.0.1
68Requires: webapps
69Requires: webserver(access)
70Requires: webserver(alias)
71Requires: webserver(php)
72Suggests: php-adldap >= 4.0.4
73Suggests: php-gd
74Obsoletes: dokuwiki-plugin-jquery
75Conflicts: dokuwiki-plugin-icalevents < 20120909
76# can use gz compression to store attic pages
77Suggests: php-zlib
78BuildArch: noarch
79BuildRoot: %{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
98DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at
99creating documentation of any kind. It is targeted at developer teams,
100workgroups and small companies. It has a simple but powerful syntax
101which makes sure the datafiles remain readable outside the Wiki and
102eases the creation of structured texts. All data is stored in plain
103text files - no database is required.
104
105%description -l pl.UTF-8
106DokuWiki to zgodne ze standardami i proste w użyciu Wiki, przeznaczone
107głównie do tworzenia dokumentów wszelkiego rodzaju. Jest przeznaczone
108dla zespołów programistów, grup roboczych i małych firm. Ma prostą,
109ale mającą duże możliwości składnię, dzięki której pliki danych
110pozostają czytelne poza Wiki, a także ułatwiającą tworzenie tekstów
111strukturalnych. Wszystkie dane są przechowywane w plikach tekstowych -
112nie jest wymagana baza danych.
113
114%package setup
115Summary: DokuWiki setup package
116Summary(pl.UTF-8): Pakiet do wstępnej konfiguracji DokuWiki
117Group: Applications/WWW
118Requires: %{name} = %{version}-%{release}
119
120%description setup
121Install this package to configure initial DokuWiki installation. You
122should uninstall this package when you're done, as it considered
123insecure to keep the setup files in place.
124
125%description setup -l pl.UTF-8
126Ten pakiet należy zainstalować w celu wstępnej konfiguracji DokuWiki
127po pierwszej instalacji. Potem należy go odinstalować, jako że
128pozostawienie 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}
133mv *-dokuwiki-*/* .
134test -e VERSION || echo %{subver}-git > VERSION
135%endif
136install -d data/pages/playground
137test -e data/pages/playground/playground.txt || \
138echo '====== 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
163mv conf/local.php{.dist,}
164mv conf/acl.auth.php{.dist,}
165mv conf/users.auth.php{.dist,}
166mv conf/mysql.conf.php{.example,}
167
168find -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
194rm -rf lib/plugins/testing
195rm -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
209find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
210
211%build
212md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
213if ! grep $md5 install.php; then
214 : update %{name}-config.patch -- it is outdated
215 exit 1
216fi
217
218%install
219rm -rf $RPM_BUILD_ROOT
220install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}/{bin,inc,lib}}
221
222# hardlink test
223cp -al VERSION $RPM_BUILD_ROOT%{_appdir} 2>/dev/null && l=l
224
225cp -a$l *.php $RPM_BUILD_ROOT%{_appdir}
226cp -p$l VERSION $RPM_BUILD_ROOT%{_appdir}
227cp -a$l bin/* $RPM_BUILD_ROOT%{_appdir}/bin
228cp -a$l inc/* $RPM_BUILD_ROOT%{_appdir}/inc
229cp -a$l lib/* $RPM_BUILD_ROOT%{_appdir}/lib
230cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
231cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
232touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
233touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
234touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
235touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
236touch $RPM_BUILD_ROOT%{_sysconfdir}/plugins.local.php
237touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
238touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
239touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
240touch $RPM_BUILD_ROOT%{_sysconfdir}/userscript.js
241touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
242
243ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
244cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
245cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
246cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
247cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
248cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
249
250cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
251cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
252
253cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/dokuwiki/images/button-pld.png
254
255# hardlink identical icons.
256findup -m $RPM_BUILD_ROOT
257
258cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
259cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
260cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
261
262# find locales
263%find_lang %{name}.lang
264
265%clean
266rm -rf $RPM_BUILD_ROOT
267
268%post setup
269chmod 770 %{_sysconfdir}
270chmod 660 %{_sysconfdir}/local.php
271chmod 660 %{_sysconfdir}/plugins.local.php
272
273%postun setup
274if [ "$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
280fi
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
301if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
302 mv -f %{_appdir}/data/* %{_localstatedir}
303 rm -rf %{_appdir}/data
304fi
305if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
306 mv -f %{_appdir}/conf/* %{_sysconfdir}
307 rm -rf %{_appdir}/conf
308fi
309if [ -d %{_localstatedir}/cache ]; then
310 rm -rf %{_localstatedir}/cache
311fi
312exit 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.123991 seconds and 4 git commands to generate.