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