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