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