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