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