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