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