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