]> git.pld-linux.org Git - packages/dokuwiki.git/blob - dokuwiki.spec
- migrate to apache 2.4
[packages/dokuwiki.git] / dokuwiki.spec
1 %define         subver  2012-10-13
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:        3
11 License:        GPL v2
12 Group:          Applications/WWW
13 Source0:        http://www.splitbrain.org/_media/projects/dokuwiki/%{name}-%{subver}.tgz
14 # Source0-md5:  a910ebb2fcca13c0337ed672304c4ad4
15 #Source0:       http://github.com/splitbrain/dokuwiki/tarball/master/%{name}-%{subver}.tgz
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 Source12:       %{name}-httpd.conf
31 Patch66:        %{name}-config.patch
32 Patch0:         %{name}-paths.patch
33 Patch1:         system-jquery.patch
34 Patch2:         style-width.patch
35 Patch4:         %{name}-geshi.patch
36 Patch5:         %{name}-http_auth-option.patch
37 Patch6:         %{name}-nice_exit.patch
38 Patch8:         %{name}-notify-respect-minor.patch
39 Patch10:        %{name}-mailtext.patch
40 Patch11:        %{name}-notifyns.patch
41 Patch12:        %{name}-mailthreads.patch
42 Patch14:        interwiki-outputonly.patch
43 Patch15:        simplepie.patch
44 Patch19:        pld-branding.patch
45 Patch20:        fixprivilegeescalationbug.diff
46 Patch21:        task-1821.patch
47 Patch22:        adldap.patch
48 Patch23:        backlink-rightside.patch
49 Patch24:        more-buttons.patch
50 URL:            https://www.dokuwiki.org/
51 BuildRequires:  fslint
52 BuildRequires:  rpm-php-pearprov >= 4.4.2-11
53 BuildRequires:  rpmbuild(macros) >= 1.520
54 Requires:       jquery >= 1.6
55 Requires:       jquery-cookie
56 Requires:       jquery-ui
57 Requires:       php(core) >= %{php_min_version}
58 Requires:       php(session)
59 Requires:       php(xml)
60 Requires:       php-geshi >= 1.0.7.19
61 Requires:       php-simplepie >= 1.0.1
62 Requires:       webapps
63 Requires:       webserver(access)
64 Requires:       webserver(alias)
65 Requires:       webserver(php)
66 Suggests:       php-adldap >= 3.3.1
67 Suggests:       php-gd
68 Obsoletes:      dokuwiki-plugin-jquery
69 Conflicts:      apache-base < 2.4.0-1
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}-%{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
142 %patch12 -p1
143 %patch14 -p1
144 %patch15 -p1
145 %patch19 -p1
146 %patch20 -p1
147 %patch21 -p1
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} inc/adLDAP.php
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
182 # cleanup backups after patching
183 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
184
185 %build
186 md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
187 if ! grep $md5 install.php; then
188         : update %{name}-config.patch -- it is outdated
189         exit 1
190 fi
191
192 %install
193 rm -rf $RPM_BUILD_ROOT
194 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}/{bin,inc,lib}}
195
196 # hardlink test
197 cp -al VERSION $RPM_BUILD_ROOT%{_appdir} 2>/dev/null && l=l
198
199 cp -a$l *.php $RPM_BUILD_ROOT%{_appdir}
200 cp -p$l VERSION $RPM_BUILD_ROOT%{_appdir}
201 cp -a$l bin/* $RPM_BUILD_ROOT%{_appdir}/bin
202 cp -a$l inc/* $RPM_BUILD_ROOT%{_appdir}/inc
203 cp -a$l lib/* $RPM_BUILD_ROOT%{_appdir}/lib
204 cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
205 cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
206 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
207 cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
208 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
209 touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
210 touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
211 touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
212 touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
213 touch $RPM_BUILD_ROOT%{_sysconfdir}/plugins.local.php
214 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
215 touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
216 touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
217 touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
218
219 ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
220 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
221 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
222 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
223 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
224 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
225
226 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
227 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
228
229 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/dokuwiki/images/button-pld.png
230 ln $RPM_BUILD_ROOT%{_appdir}/lib/tpl/{dokuwiki,default}/images/button-pld.png
231
232 # hardlink identical icons.
233 findup -m $RPM_BUILD_ROOT
234
235 # find locales
236 %find_lang %{name}.lang
237
238 %clean
239 rm -rf $RPM_BUILD_ROOT
240
241 %post setup
242 chmod 770 %{_sysconfdir}
243 chmod 660 %{_sysconfdir}/local.php
244 chmod 660 %{_sysconfdir}/plugins.local.php
245
246 %postun setup
247 if [ "$1" = "0" ]; then
248         if [ -f %{_sysconfdir}/dokuwiki.php ]; then
249                 chmod 750 %{_sysconfdir}
250                 chmod 640 %{_sysconfdir}/local.php
251                 chmod 640 %{_sysconfdir}/plugins.local.php
252         fi
253 fi
254
255 %triggerin -- apache1 < 1.3.37-3, apache1-base
256 %webapp_register apache %{_webapp}
257
258 %triggerun -- apache1 < 1.3.37-3, apache1-base
259 %webapp_unregister apache %{_webapp}
260
261 %triggerin -- apache-base
262 %webapp_register httpd %{_webapp}
263
264 %triggerun -- apache-base
265 %webapp_unregister httpd %{_webapp}
266
267 %triggerin -- lighttpd
268 %webapp_register lighttpd %{_webapp}
269
270 %triggerun -- lighttpd
271 %webapp_unregister lighttpd %{_webapp}
272
273 %pretrans
274 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
275         mv -f %{_appdir}/data/* %{_localstatedir}
276         rm -rf %{_appdir}/data
277 fi
278 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
279         mv -f %{_appdir}/conf/* %{_sysconfdir}
280         rm -rf %{_appdir}/conf
281 fi
282 if [ -d %{_localstatedir}/cache ]; then
283         rm -rf %{_localstatedir}/cache
284 fi
285 exit 0
286
287 %files -f %{name}.lang
288 %defattr(644,root,root,755)
289 %doc README
290 %dir %attr(750,root,http) %verify(not mode) %{_sysconfdir}
291 %dir %attr(750,root,http) %{_sysconfdir}/lang
292 %dir %attr(750,root,http) %{_sysconfdir}/plugin_lang
293 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
294 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
295 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
296
297 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
298 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.php
299 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
300
301 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acl.auth.php
302 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
303 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
304 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
305 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
306 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
307 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
308 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
309 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
310 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/users.auth.php
311 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql.conf.php
312
313 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/local.php
314 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/plugins.local.php
315
316 # use local.php, local.protected.php, etc for local changes
317 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
318 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
319 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
320 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
321 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
322 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/wordblock.conf
323
324 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
325 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
326 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/plugins.required.php
327
328 %dir %{_appdir}
329 %{_appdir}/VERSION
330 %{_appdir}/doku.php
331 %{_appdir}/feed.php
332 %{_appdir}/index.php
333 %dir %{_appdir}/bin
334 %attr(755,root,root) %{_appdir}/bin/dwpage.php
335 %attr(755,root,root) %{_appdir}/bin/indexer.php
336 %attr(755,root,root) %{_appdir}/bin/render.php
337 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
338 %attr(755,root,root) %{_appdir}/bin/striplangs.php
339
340 %dir %{_appdir}/inc
341 %{_appdir}/inc/*.php
342 %{_appdir}/inc/preload.php.dist
343 %{_appdir}/inc/auth
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 %{_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.095786 seconds and 3 git commands to generate.