]> git.pld-linux.org Git - packages/dokuwiki.git/blame - dokuwiki.spec
use virtual php extension deps (to be independant of php version)
[packages/dokuwiki.git] / dokuwiki.spec
CommitLineData
b7e0f86f 1%define subver 2012-07-30
b54d08c7 2%define ver %(echo %{subver} | tr -d -)
566f6bd4 3%define snap 1
982e1b45 4%define php_min_version 5.2.4
ffad6420 5%include /usr/lib/rpm/macros.php
d73655e0 6Summary: PHP-based Wiki webapplication
b9cde090 7Summary(pl.UTF-8): Aplikacja WWW Wiki oparta na PHP
d73655e0 8Name: dokuwiki
988b16db 9Version: %{ver}
db49b41a 10Release: 0.12
d73655e0
SP
11License: GPL v2
12Group: Applications/WWW
566f6bd4 13#Source0: http://www.splitbrain.org/_media/projects/dokuwiki/%{name}-%{subver}.tgz
883cc49a 14Source0: http://github.com/splitbrain/dokuwiki/tarball/master/%{name}-%{subver}.tgz
b7e0f86f 15# Source0-md5: fbe020fa8a4929d3376db23d195548a8
99646b81
ER
16Source1: %{name}-apache.conf
17Source2: %{name}-lighttpd.conf
89510765 18Source3: http://glen.alkohol.ee/pld/jude.png
db16581c
ER
19# Source3-md5: 623344128960e18f86097dfee213ad4a
20Source4: eventum.gif
dff16d0a
ER
21Source6: pld_button.png
22# Source6-md5: 185afa921e81bd726b9f0f9f0909dc6e
00c44498
ER
23Source7: cacti.gif
24Source8: nagios.gif
a154f52b
ER
25Source9: http://trac.edgewall.org/export/9404/trunk/doc/trac_icon_16x16.png
26# Source9-md5: 0c19ed35bf677f33f6bea14b3a8a2e10
c4df8b0c 27Source10: pld.gif
89510765
ER
28Source11: http://glen.alkohol.ee/pld/astah.png
29# Source11-md5: b1c999e6988440c9e2af6a12e9a56451
107aba6f 30Patch66: %{name}-config.patch
641b29cc 31Patch0: %{name}-paths.patch
1ea0db3c 32Patch1: system-jquery.patch
48993817 33Patch4: %{name}-geshi.patch
9e409dbc 34Patch5: %{name}-http_auth-option.patch
ff1d703f 35Patch6: %{name}-nice_exit.patch
e79c8784 36Patch8: %{name}-notify-respect-minor.patch
aea2faa7 37Patch10: %{name}-mailtext.patch
1bf63c70 38Patch11: %{name}-notifyns.patch
e21b2065 39Patch12: %{name}-mailthreads.patch
e5ce8ca9 40Patch14: interwiki-outputonly.patch
ae5a5f57 41Patch15: simplepie.patch
dff16d0a 42Patch19: pld-branding.patch
a3e2b241 43Patch20: fixprivilegeescalationbug.diff
638afb06 44Patch21: task-1821.patch
259e9b01 45Patch22: adldap.patch
3f3ad11a 46Patch23: backlink-rightside.patch
d056ce86 47Patch24: more-buttons.patch
3aa37b5a 48URL: http://www.dokuwiki.org/dokuwiki
89510765 49BuildRequires: fslint
067355f7 50BuildRequires: rpm-php-pearprov >= 4.4.2-11
db16581c 51BuildRequires: rpmbuild(macros) >= 1.520
1ea0db3c
ER
52Requires: jquery >= 1.6
53Requires: jquery-cookie
54Requires: jquery-ui
204838be
ER
55Requires: php(session)
56Requires: php(xml)
1807986d
ER
57Requires: php-common >= 4:%{php_min_version}
58Requires: php-geshi >= 1.0.7.19
c4df8b0c 59Requires: php-simplepie >= 1.0.1
d73655e0 60Requires: webapps
105a71ba 61Requires: webserver(access)
24a3d556 62Requires: webserver(alias)
bd481dc8 63Requires: webserver(php)
259e9b01 64Suggests: php-adldap >= 3.3.1
bd481dc8 65Suggests: php-gd
58ad8de5 66Obsoletes: dokuwiki-plugin-jquery
083e173b 67# can use gz compression to store attic pages
bd481dc8 68Suggests: php-zlib
d73655e0
SP
69BuildArch: noarch
70BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
71
72%define _webapps /etc/webapps
73%define _webapp %{name}
74%define _sysconfdir %{_webapps}/%{_webapp}
75%define _appdir %{_datadir}/%{_webapp}
881190a4 76%define _localstatedir /var/lib/%{name}
566f6bd4 77%define _cachedir /var/cache/%{name}
db16581c 78%define find_lang %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
d73655e0 79
067355f7 80# bad depsolver
1ea0db3c 81%define _noautopear pear(/usr/share/php/geshi.php) pear(/usr/share/php/adLDAP.php)
1807986d
ER
82
83# exclude optional php dependencies
616a9f7a 84%define _noautophp php-bzip2 php-bcmath php-zip php-date php-ftp php-hash php-ldap php-mbstring php-mysql php-pgsql php-tokenizer
1807986d
ER
85
86%define _noautoreq %{_noautophp} %{_noautopear}
067355f7 87
d73655e0
SP
88%description
89DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at
90creating documentation of any kind. It is targeted at developer teams,
91workgroups and small companies. It has a simple but powerful syntax
92which makes sure the datafiles remain readable outside the Wiki and
93eases the creation of structured texts. All data is stored in plain
b9cde090
JB
94text files - no database is required.
95
96%description -l pl.UTF-8
97DokuWiki to zgodne ze standardami i proste w użyciu Wiki, przeznaczone
98głównie do tworzenia dokumentów wszelkiego rodzaju. Jest przeznaczone
99dla zespołów programistów, grup roboczych i małych firm. Ma prostą,
100ale mającą duże możliwości składnię, dzięki której pliki danych
101pozostają czytelne poza Wiki, a także ułatwiającą tworzenie tekstów
102strukturalnych. Wszystkie dane są przechowywane w plikach tekstowych -
103nie jest wymagana baza danych.
d73655e0 104
641b29cc 105%package setup
4c94baaa
JB
106Summary: DokuWiki setup package
107Summary(pl.UTF-8): Pakiet do wstępnej konfiguracji DokuWiki
641b29cc
ER
108Group: Applications/WWW
109Requires: %{name} = %{version}-%{release}
110
111%description setup
4c94baaa 112Install this package to configure initial DokuWiki installation. You
641b29cc
ER
113should uninstall this package when you're done, as it considered
114insecure to keep the setup files in place.
115
116%description setup -l pl.UTF-8
4c94baaa 117Ten pakiet należy zainstalować w celu wstępnej konfiguracji DokuWiki
641b29cc
ER
118po pierwszej instalacji. Potem należy go odinstalować, jako że
119pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
120
d73655e0 121%prep
566f6bd4
ER
122%setup -q -n %{name}-%{subver} %{?snap:-c}
123%if 0%{?snap:1}
124mv *-dokuwiki-*/* .
125test -e VERSION || echo %{subver}-git > VERSION
126install -d data/pages/playground
127touch data/pages/playground/playground.txt
128%endif
641b29cc 129%patch0 -p1
1ea0db3c 130%patch1 -p1
48993817 131%patch4 -p1
9e409dbc 132%patch5 -p1
ff1d703f 133%patch6 -p1
e79c8784 134%patch8 -p1
aea2faa7 135%patch10 -p1
1bf63c70 136%patch11 -p1
4e1fe290 137%patch12 -p1
e5ce8ca9 138%patch14 -p1
ae5a5f57 139%patch15 -p1
a3e2b241
ER
140%patch19 -p1
141%patch20 -p1
4e1fe290 142%patch21 -p1
259e9b01 143%patch22 -p1
3f3ad11a 144%patch23 -p1
d056ce86 145%patch24 -p1
d73655e0 146
107aba6f
ER
147%patch66 -p1
148
566f6bd4
ER
149# package as basenames, upgrade overwrite protected with .rpmnew
150mv conf/local.php{.dist,}
151mv conf/acl.auth.php{.dist,}
152mv conf/users.auth.php{.dist,}
153mv conf/mysql.conf.php{.example,}
154
7df7f76f 155find -name _dummy | xargs rm
84c485ca 156%{__rm} lib/index.html lib/plugins/index.html inc/lang/.htaccess
7df7f76f 157
566f6bd4 158# we just don't package deleted files, these get removed automatically on rpm upgrades
4b73b5a6 159%{__rm} data/deleted.files
58ad8de5
ER
160# source for security.png
161%{__rm} data/security.xcf
4b73b5a6 162
b3528e0c 163# use system geshi package
4b73b5a6
ER
164%{__rm} inc/geshi.php
165%{__rm} -r inc/geshi
b3528e0c 166
259e9b01 167# use system adldap package
4b73b5a6 168%{__rm} inc/adLDAP.php
259e9b01 169
ae5a5f57 170# use system simplepie package
4b73b5a6 171%{__rm} inc/SimplePie.php
7df7f76f 172
4b73b5a6 173# flash source on git tarballs
107aba6f 174rm -rf lib/_fla
566f6bd4 175rm -rf lib/plugins/testing
107aba6f 176
08b33253 177# cleanup backups after patching
566f6bd4 178find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
08b33253 179
107aba6f
ER
180%build
181md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
182if ! grep $md5 install.php; then
af5aefcd 183 : update %{name}-config.patch -- it is outdated
107aba6f
ER
184 exit 1
185fi
186
d73655e0
SP
187%install
188rm -rf $RPM_BUILD_ROOT
566f6bd4 189install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}/{bin,inc,lib}}
d73655e0 190
84c485ca
ER
191# hardlink test
192cp -al VERSION $RPM_BUILD_ROOT%{_appdir} 2>/dev/null && l=l
193
194cp -a$l *.php $RPM_BUILD_ROOT%{_appdir}
195cp -p$l VERSION $RPM_BUILD_ROOT%{_appdir}
196cp -a$l bin/* $RPM_BUILD_ROOT%{_appdir}/bin
197cp -a$l inc/* $RPM_BUILD_ROOT%{_appdir}/inc
198cp -a$l lib/* $RPM_BUILD_ROOT%{_appdir}/lib
199cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
200cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
201cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
202cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
203cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
a4053ed1
ER
204touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
205touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
206touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
7df7f76f 207touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
58ad8de5 208touch $RPM_BUILD_ROOT%{_sysconfdir}/plugins.local.php
7df7f76f 209touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
a4053ed1
ER
210touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
211touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
d6d39525 212touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
d73655e0 213
2d01b400 214ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
84c485ca
ER
215cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
216cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
217cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
84c485ca
ER
218cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
219cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
89510765 220
84c485ca
ER
221cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
222cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
89510765 223
84c485ca 224cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/default/images/button-pld.png
2d01b400 225
89510765
ER
226# hardlink identical icons.
227findup -m $RPM_BUILD_ROOT
228
fe631b5b 229# find locales
db16581c 230%find_lang %{name}.lang
fe631b5b 231
d73655e0
SP
232%clean
233rm -rf $RPM_BUILD_ROOT
234
641b29cc
ER
235%post setup
236chmod 770 %{_sysconfdir}
58ad8de5
ER
237chmod 660 %{_sysconfdir}/local.php
238chmod 660 %{_sysconfdir}/plugins.local.php
641b29cc
ER
239
240%postun setup
241if [ "$1" = "0" ]; then
1bf63c70
ER
242 if [ -f %{_sysconfdir}/dokuwiki.php ]; then
243 chmod 750 %{_sysconfdir}
58ad8de5
ER
244 chmod 640 %{_sysconfdir}/local.php
245 chmod 640 %{_sysconfdir}/plugins.local.php
1bf63c70 246 fi
641b29cc
ER
247fi
248
d73655e0
SP
249%triggerin -- apache1 < 1.3.37-3, apache1-base
250%webapp_register apache %{_webapp}
251
252%triggerun -- apache1 < 1.3.37-3, apache1-base
253%webapp_unregister apache %{_webapp}
254
255%triggerin -- apache < 2.2.0, apache-base
256%webapp_register httpd %{_webapp}
257
258%triggerun -- apache < 2.2.0, apache-base
259%webapp_unregister httpd %{_webapp}
260
99646b81
ER
261%triggerin -- lighttpd
262%webapp_register lighttpd %{_webapp}
263
264%triggerun -- lighttpd
265%webapp_unregister lighttpd %{_webapp}
266
881190a4
ER
267%pretrans
268if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
269 mv -f %{_appdir}/data/* %{_localstatedir}
270 rm -rf %{_appdir}/data
271fi
272if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
273 mv -f %{_appdir}/conf/* %{_sysconfdir}
274 rm -rf %{_appdir}/conf
275fi
566f6bd4
ER
276if [ -d %{_localstatedir}/cache ]; then
277 rm -rf %{_localstatedir}/cache
278fi
881190a4
ER
279exit 0
280
fe631b5b 281%files -f %{name}.lang
d73655e0 282%defattr(644,root,root,755)
08b33253 283%doc README
58ad8de5 284%dir %attr(750,root,http) %verify(not mode) %{_sysconfdir}
d6b12d40
ER
285%dir %attr(750,root,http) %{_sysconfdir}/lang
286%dir %attr(750,root,http) %{_sysconfdir}/plugin_lang
d73655e0
SP
287%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
288%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
99646b81
ER
289%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
290
881190a4 291%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
566f6bd4 292%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.php
7df7f76f 293%attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
a4053ed1 294
566f6bd4 295%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acl.auth.php
a4053ed1
ER
296%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
297%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
298%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
7df7f76f
ER
299%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
300%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
a4053ed1
ER
301%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
302%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
d6d39525 303%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
566f6bd4
ER
304%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/users.auth.php
305%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql.conf.php
306
1ea0db3c
ER
307%attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/local.php
308%attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/plugins.local.php
2d01b400 309
26e4ef5b 310# use local.php, local.protected.php, etc for local changes
a4053ed1
ER
311%attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
312%attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
fc7417e4 313%attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
a4053ed1
ER
314%attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
315%attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
566f6bd4 316%attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/wordblock.conf
b9fff555 317
26e4ef5b
ER
318%attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
319%attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
320%attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/plugins.required.php
321
641b29cc 322%dir %{_appdir}
afdae6ca 323%{_appdir}/VERSION
fe631b5b
ER
324%{_appdir}/doku.php
325%{_appdir}/feed.php
326%{_appdir}/index.php
641b29cc
ER
327%dir %{_appdir}/bin
328%attr(755,root,root) %{_appdir}/bin/dwpage.php
329%attr(755,root,root) %{_appdir}/bin/indexer.php
c4df8b0c 330%attr(755,root,root) %{_appdir}/bin/render.php
641b29cc 331%attr(755,root,root) %{_appdir}/bin/wantedpages.php
4b73b5a6 332%attr(755,root,root) %{_appdir}/bin/striplangs.php
fe631b5b
ER
333
334%dir %{_appdir}/inc
335%{_appdir}/inc/*.php
883cc49a 336%{_appdir}/inc/preload.php.dist
fe631b5b
ER
337%{_appdir}/inc/auth
338%{_appdir}/inc/parser
339
340%dir %{_appdir}/lib
341%dir %{_appdir}/lib/plugins
342%dir %{_appdir}/lib/plugins/acl
343%{_appdir}/lib/plugins/acl/*.*
08b33253 344%{_appdir}/lib/plugins/acl/pix
fe631b5b
ER
345%dir %{_appdir}/lib/plugins/config
346%{_appdir}/lib/plugins/config/*.*
107aba6f 347%{_appdir}/lib/plugins/config/images
fe631b5b
ER
348%{_appdir}/lib/plugins/config/settings
349%dir %{_appdir}/lib/plugins/plugin
350%{_appdir}/lib/plugins/plugin/*.*
107aba6f 351%{_appdir}/lib/plugins/plugin/classes
fe631b5b
ER
352%dir %{_appdir}/lib/plugins/revert
353%{_appdir}/lib/plugins/revert/*.*
4b73b5a6
ER
354%dir %{_appdir}/lib/plugins/safefnrecode
355%{_appdir}/lib/plugins/safefnrecode/*.*
fe631b5b
ER
356%dir %{_appdir}/lib/plugins/usermanager
357%{_appdir}/lib/plugins/usermanager/*.*
358%{_appdir}/lib/plugins/usermanager/images
4b73b5a6
ER
359%dir %{_appdir}/lib/plugins/info
360%{_appdir}/lib/plugins/info/*.*
08b33253
ER
361%dir %{_appdir}/lib/plugins/popularity
362%{_appdir}/lib/plugins/popularity/*.*
fe631b5b
ER
363%{_appdir}/lib/plugins/*.php
364%{_appdir}/lib/images
365%{_appdir}/lib/scripts
366%{_appdir}/lib/styles
367%{_appdir}/lib/tpl
368%{_appdir}/lib/exe
881190a4
ER
369
370%dir %attr(770,root,http) %{_localstatedir}
371%dir %attr(770,root,http) %{_localstatedir}/attic
881190a4
ER
372%dir %attr(770,root,http) %{_localstatedir}/index
373%dir %attr(770,root,http) %{_localstatedir}/locks
374%dir %attr(770,root,http) %{_localstatedir}/media
26e4ef5b
ER
375%dir %attr(770,root,http) %{_localstatedir}/media_attic
376%dir %attr(770,root,http) %{_localstatedir}/media_meta
881190a4
ER
377%dir %attr(770,root,http) %{_localstatedir}/media/wiki
378%dir %attr(770,root,http) %{_localstatedir}/meta
379%dir %attr(770,root,http) %{_localstatedir}/pages
af5aefcd 380%dir %attr(770,root,http) %{_localstatedir}/pages/playground
881190a4 381%dir %attr(770,root,http) %{_localstatedir}/pages/wiki
08b33253 382%dir %attr(770,root,http) %{_localstatedir}/tmp
26e4ef5b 383
b9fff555 384%attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
b9fff555
ER
385%attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
386%attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
8e4e22ac 387%attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
c4df8b0c 388%attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.png
641b29cc 389
566f6bd4
ER
390%dir %attr(770,root,http) %{_cachedir}
391
641b29cc
ER
392%files setup
393%defattr(644,root,root,755)
394%{_appdir}/install.php
This page took 0.188145 seconds and 4 git commands to generate.