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