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