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