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