]> git.pld-linux.org Git - packages/dokuwiki.git/blob - dokuwiki.spec
83d5dfa5bcd59741f2d1b5d7dc54abaa20c339b5
[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 Patch21:        task-1821.patch
45 URL:            http://www.dokuwiki.org/dokuwiki
46 BuildRequires:  rpm-php-pearprov >= 4.4.2-11
47 BuildRequires:  rpmbuild(macros) >= 1.520
48 Requires:       php-common >= 4:%{php_min_version}
49 Requires:       php-geshi >= 1.0.7.19
50 Requires:       php-simplepie >= 1.0.1
51 Requires:       php-xml
52 Requires:       webapps
53 Requires:       webserver(access)
54 Requires:       webserver(alias)
55 Requires:       webserver(php)
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)'
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
135 %patch66 -p1
136
137 find -name _dummy | xargs rm
138 rm lib/index.html lib/plugins/index.html inc/lang/.htaccess
139
140 # safe file
141 mv conf/words.aspell{.dist,}
142
143 # use system geshi package
144 rm -f inc/geshi.php
145 rm -rf inc/geshi
146
147 # use system simplepie package
148 rm -f inc/SimplePie.php
149
150 # our plugins dir is not writable anyway, nothing to convert
151 rm -rf lib/plugins/upgradeplugindirectory
152
153 # flash source
154 rm -rf lib/_fla
155
156 # cleanup backups after patching
157 find . '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
158
159 %build
160 md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
161 if ! grep $md5 install.php; then
162         : update %{name}-config.patch oudated
163         exit 1
164 fi
165
166 %install
167 rm -rf $RPM_BUILD_ROOT
168 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_localstatedir},%{_appdir}/{bin,inc,lib}}
169
170 cp -a *.php $RPM_BUILD_ROOT%{_appdir}
171 cp -a bin/* $RPM_BUILD_ROOT%{_appdir}/bin
172 cp -a inc/* $RPM_BUILD_ROOT%{_appdir}/inc
173 cp -a lib/* $RPM_BUILD_ROOT%{_appdir}/lib
174 cp -a conf/* $RPM_BUILD_ROOT%{_sysconfdir}
175 cp -a data/* $RPM_BUILD_ROOT%{_localstatedir}
176 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
177 cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
178 cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
179 touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
180 touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
181 touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
182 touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
183 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.php
184 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
185 touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
186 touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
187 touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
188
189 ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
190 cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jide.png
191 cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
192 cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/skype.gif
193 cp -a %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/default/images/button-pld.png
194
195 # find locales
196 %find_lang %{name}.lang
197
198 # make inc/lang/en/edit.txt as %config
199 %{__sed} -i -e '
200 /%%lang([^)]\+) \/usr\/share\/dokuwiki\/inc\/lang\/[^/]\+/{
201         # make entry as %%dir
202         s/^/%%dir /; p
203
204         # add files inside the %dir
205         s/^%%dir /%%config(noreplace) %%verify(not md5 mtime size) /; s/$/\/*.*/
206 }' %{name}.lang
207
208 %clean
209 rm -rf $RPM_BUILD_ROOT
210
211 %post setup
212 chmod 770 %{_sysconfdir}
213 chmod 660 %{_sysconfdir}/dokuwiki.php
214
215 %postun setup
216 if [ "$1" = "0" ]; then
217         if [ -f %{_sysconfdir}/dokuwiki.php ]; then
218                 chmod 750 %{_sysconfdir}
219                 chmod 640 %{_sysconfdir}/dokuwiki.php
220         fi
221 fi
222
223 %triggerin -- apache1 < 1.3.37-3, apache1-base
224 %webapp_register apache %{_webapp}
225
226 %triggerun -- apache1 < 1.3.37-3, apache1-base
227 %webapp_unregister apache %{_webapp}
228
229 %triggerin -- apache < 2.2.0, apache-base
230 %webapp_register httpd %{_webapp}
231
232 %triggerun -- apache < 2.2.0, apache-base
233 %webapp_unregister httpd %{_webapp}
234
235 %triggerin -- lighttpd
236 %webapp_register lighttpd %{_webapp}
237
238 %triggerun -- lighttpd
239 %webapp_unregister lighttpd %{_webapp}
240
241 %pretrans
242 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
243         mv -f %{_appdir}/data/* %{_localstatedir}
244         rm -rf %{_appdir}/data
245 fi
246 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
247         mv -f %{_appdir}/conf/* %{_sysconfdir}
248         rm -rf %{_appdir}/conf
249 fi
250 exit 0
251
252 %files -f %{name}.lang
253 %defattr(644,root,root,755)
254 %doc README
255 %dir %attr(750,root,http) %{_sysconfdir}
256 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
257 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
258 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
259
260 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
261 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/msg
262 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/words.aspell
263 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
264
265 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
266 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
267 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
268 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
269 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
270 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
271 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
272 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
273 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.php
274
275 # use local.php,local.protected.php, etc for local changes
276 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
277 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
278 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
279 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
280 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
281 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
282 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
283
284 # samples. perhaps move to %doc instead?
285 %attr(640,root,http) %{_sysconfdir}/mysql.conf.php.example
286 %attr(640,root,http) %{_sysconfdir}/acl.auth.php.dist
287 %attr(640,root,http) %{_sysconfdir}/wordblock.conf
288 %attr(640,root,http) %{_sysconfdir}/local.php.dist
289 %attr(640,root,http) %{_sysconfdir}/users.auth.php.dist
290
291 %dir %{_appdir}
292 %{_appdir}/doku.php
293 %{_appdir}/feed.php
294 %{_appdir}/index.php
295 %dir %{_appdir}/bin
296 %attr(755,root,root) %{_appdir}/bin/dwpage.php
297 %attr(755,root,root) %{_appdir}/bin/indexer.php
298 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
299
300 %dir %{_appdir}/inc
301 %{_appdir}/inc/*.php
302 %{_appdir}/inc/auth
303 %{_appdir}/inc/parser
304
305 %dir %{_appdir}/lib
306 %dir %{_appdir}/lib/plugins
307 %dir %{_appdir}/lib/plugins/acl
308 %{_appdir}/lib/plugins/acl/*.*
309 %{_appdir}/lib/plugins/acl/pix
310 %dir %{_appdir}/lib/plugins/config
311 %{_appdir}/lib/plugins/config/*.*
312 %{_appdir}/lib/plugins/config/images
313 %{_appdir}/lib/plugins/config/settings
314 %dir %{_appdir}/lib/plugins/plugin
315 %{_appdir}/lib/plugins/plugin/*.*
316 %{_appdir}/lib/plugins/plugin/classes
317 %dir %{_appdir}/lib/plugins/revert
318 %{_appdir}/lib/plugins/revert/*.*
319 %dir %{_appdir}/lib/plugins/usermanager
320 %{_appdir}/lib/plugins/usermanager/*.*
321 %{_appdir}/lib/plugins/usermanager/images
322 %{_appdir}/lib/plugins/info
323 %dir %{_appdir}/lib/plugins/popularity
324 %{_appdir}/lib/plugins/popularity/*.*
325 %{_appdir}/lib/plugins/*.php
326 %{_appdir}/lib/images
327 %{_appdir}/lib/scripts
328 %{_appdir}/lib/styles
329 %{_appdir}/lib/tpl
330 %{_appdir}/lib/exe
331
332 %dir %attr(770,root,http) %{_localstatedir}
333 %dir %attr(770,root,http) %{_localstatedir}/attic
334 %dir %attr(770,root,http) %{_localstatedir}/cache
335 %dir %attr(770,root,http) %{_localstatedir}/index
336 %dir %attr(770,root,http) %{_localstatedir}/locks
337 %dir %attr(770,root,http) %{_localstatedir}/media
338 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
339 %dir %attr(770,root,http) %{_localstatedir}/meta
340 %dir %attr(770,root,http) %{_localstatedir}/pages
341 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
342 %dir %attr(770,root,http) %{_localstatedir}/tmp
343 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
344 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
345 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
346 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
347
348 %files setup
349 %defattr(644,root,root,755)
350 %{_appdir}/install.php
This page took 0.14764 seconds and 3 git commands to generate.