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