]> git.pld-linux.org Git - packages/dokuwiki.git/blob - dokuwiki.spec
update noautoreq deps
[packages/dokuwiki.git] / dokuwiki.spec
1 %define         subver  2015-08-10
2 %define         ver             %(echo %{subver} | tr -d -)
3 #define         snap    1
4 #define         rc_     1
5 %define         php_min_version 5.3.3
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.1
12 License:        GPL v2
13 Group:          Applications/WWW
14 # Source0Download: http://download.dokuwiki.org/archive
15 Source0:        http://download.dokuwiki.org/src/dokuwiki/%{name}-%{subver}.tgz
16 # Source0-md5:  675594518c378f43b32204c4b9073ffd
17 Source1:        %{name}-apache.conf
18 Source2:        %{name}-lighttpd.conf
19 Source3:        http://glen.alkohol.ee/pld/jude.png
20 # Source3-md5:  623344128960e18f86097dfee213ad4a
21 Source4:        eventum.gif
22 Source6:        pld_button.png
23 # Source6-md5:  185afa921e81bd726b9f0f9f0909dc6e
24 Source7:        cacti.gif
25 Source8:        nagios.gif
26 Source9:        http://trac.edgewall.org/export/9404/trunk/doc/trac_icon_16x16.png
27 # Source9-md5:  0c19ed35bf677f33f6bea14b3a8a2e10
28 Source10:       pld.gif
29 Source11:       http://glen.alkohol.ee/pld/astah.png
30 # Source11-md5: b1c999e6988440c9e2af6a12e9a56451
31 Patch66:        %{name}-config.patch
32 Patch0:         %{name}-paths.patch
33 Patch1:         system-jquery.patch
34 Patch2:         style-width.patch
35 Patch4:         %{name}-geshi.patch
36 Patch5:         %{name}-http_auth-option.patch
37 Patch8:         %{name}-notify-respect-minor.patch
38 Patch10:        %{name}-mailtext.patch
39 Patch11:        %{name}-notifyns.patch
40 Patch15:        simplepie.patch
41 Patch19:        pld-branding.patch
42 Patch20:        fixprivilegeescalationbug.diff
43 Patch21:        task-1821.patch
44 Patch22:        adldap.patch
45 Patch24:        more-buttons.patch
46 Patch25:        system-phpseclib.patch
47 Patch26:        system-lessphp.patch
48 Patch27:        iconsizes-dump.patch
49 URL:            https://www.dokuwiki.org/
50 BuildRequires:  fslint
51 BuildRequires:  rpm-php-pearprov >= 4.4.2-11
52 BuildRequires:  rpmbuild(macros) >= 1.693
53 Requires:       jquery >= 1.8
54 #Requires:      jquery >= 1.9.1
55 Requires:       jquery-cookie
56 #Requires:      jquery-migrate
57 #Requires:      jquery-ui >= 1.10.2
58 Requires:       jquery-ui >= 1.8
59 Requires:       lessphp >= 0.3.9
60 Requires:       php(core) >= %{php_min_version}
61 Requires:       php(session)
62 Requires:       php(xml)
63 Requires:       php-geshi >= 1.0.7.19
64 Requires:       php-seclib >= 0.3.5
65 Requires:       php-simplepie >= 1.0.1
66 Requires:       webapps
67 Requires:       webserver(access)
68 Requires:       webserver(alias)
69 Requires:       webserver(php)
70 Suggests:       php(gd)
71 Suggests:       php-adldap >= 4.0.4
72 Obsoletes:      dokuwiki-plugin-jquery
73 Conflicts:      dokuwiki-plugin-icalevents < 20120909
74 # can use gz compression to store attic pages
75 Suggests:       php(zlib)
76 BuildArch:      noarch
77 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
78
79 %define         _webapps        /etc/webapps
80 %define         _webapp         %{name}
81 %define         _sysconfdir     %{_webapps}/%{_webapp}
82 %define         _appdir         %{_datadir}/%{_webapp}
83 %define         _localstatedir  /var/lib/%{name}
84 %define         _cachedir               /var/cache/%{name}
85 %define         find_lang       %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
86
87 %define         _noautoreq_pear /usr/share/php/geshi.php /usr/share/php/adLDAP/.*
88
89 # exclude optional php dependencies
90 %define         _noautophp      php-bzip2 php-bcmath php-zip php-date php-ftp php-hash php-ldap php-mbstring php-mysql php-pgsql php-tokenizer
91
92 %define         _noautoreq      %{_noautophp}
93
94 %description
95 DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at
96 creating documentation of any kind. It is targeted at developer teams,
97 workgroups and small companies. It has a simple but powerful syntax
98 which makes sure the datafiles remain readable outside the Wiki and
99 eases the creation of structured texts. All data is stored in plain
100 text files - no database is required.
101
102 %description -l pl.UTF-8
103 DokuWiki to zgodne ze standardami i proste w użyciu Wiki, przeznaczone
104 głównie do tworzenia dokumentów wszelkiego rodzaju. Jest przeznaczone
105 dla zespołów programistów, grup roboczych i małych firm. Ma prostą,
106 ale mającą duże możliwości składnię, dzięki której pliki danych
107 pozostają czytelne poza Wiki, a także ułatwiającą tworzenie tekstów
108 strukturalnych. Wszystkie dane są przechowywane w plikach tekstowych -
109 nie jest wymagana baza danych.
110
111 %package setup
112 Summary:        DokuWiki setup package
113 Summary(pl.UTF-8):      Pakiet do wstępnej konfiguracji DokuWiki
114 Group:          Applications/WWW
115 Requires:       %{name} = %{version}-%{release}
116
117 %description setup
118 Install this package to configure initial DokuWiki installation. You
119 should uninstall this package when you're done, as it considered
120 insecure to keep the setup files in place.
121
122 %description setup -l pl.UTF-8
123 Ten pakiet należy zainstalować w celu wstępnej konfiguracji DokuWiki
124 po pierwszej instalacji. Potem należy go odinstalować, jako że
125 pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
126
127 %prep
128 %setup -q -n %{name}-%{?rc_:rc}%{subver} %{?snap:-c}
129 %if 0%{?snap:1}
130 mv *-dokuwiki-*/* .
131 test -e VERSION || echo %{subver}-git > VERSION
132 %endif
133 install -d data/pages/playground
134 test -e data/pages/playground/playground.txt || \
135 echo '====== PlayGround ======' >  data/pages/playground/playground.txt
136
137 %patch0 -p1
138 %patch1 -p1
139 %patch2 -p1
140 %patch4 -p1
141 %patch5 -p1
142 %patch8 -p1
143 %patch10 -p1
144 %patch11 -p1
145 %patch15 -p1
146 %patch19 -p1
147 %patch20 -p1
148 %patch21 -p1
149 %patch22 -p1
150 %patch24 -p1
151 %patch25 -p1
152 %patch26 -p1
153 %patch27 -p1
154
155 %patch66 -p1
156
157 # package as basenames, upgrade overwrite protected with .rpmnew
158 mv conf/local.php{.dist,}
159 mv conf/acl.auth.php{.dist,}
160 mv conf/users.auth.php{.dist,}
161 mv conf/mysql.conf.php{.example,}
162
163 find -name _dummy | xargs %{__rm}
164 %{__rm} lib/index.html lib/plugins/index.html lib/images/index.html
165 %{__rm} {conf,inc,bin,data,inc/lang}/.htaccess
166
167 # we just don't package deleted files, these get removed automatically on rpm upgrades
168 %{__rm} data/deleted.files
169 # source for security.png
170 %{__rm} data/security.xcf
171
172 # use system geshi package
173 %{__rm} -r vendor/easybook/geshi
174 rmdir vendor/easybook
175
176 # use system adldap package
177 %{__rm} -r lib/plugins/authad/adLDAP
178
179 # use system simplepie package
180 %{__rm} inc/SimplePie.php
181
182 # use system lessphp package
183 %{__rm} inc/lessc.inc.php
184
185 # use system lib
186 %{__rm} -r inc/phpseclib
187
188 # flash source on git tarballs
189 rm -rf lib/plugins/testing
190 rm -rf lib/plugins/*/_test
191
192 # use system packages
193 %{__rm} lib/scripts/jquery/update.sh
194 %{__rm} lib/scripts/jquery/jquery-ui.js
195 %{__rm} lib/scripts/jquery/jquery-ui.min.js
196 %{__rm} lib/scripts/jquery/jquery.cookie.js
197 %{__rm} lib/scripts/jquery/jquery.js
198 %{__rm} lib/scripts/jquery/jquery.min.js
199 %{__rm} lib/scripts/jquery/jquery-migrate.js
200 %{__rm} lib/scripts/jquery/jquery-migrate.min.js
201 %{__rm} -r lib/scripts/jquery/jquery-ui-theme
202
203 # cleanup backups after patching
204 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
205
206 %build
207 md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
208 if ! grep $md5 install.php; then
209         : update %{name}-config.patch -- it is outdated
210         exit 1
211 fi
212
213 %install
214 rm -rf $RPM_BUILD_ROOT
215 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}/{bin,inc,lib}}
216
217 # hardlink test
218 cp -al VERSION $RPM_BUILD_ROOT%{_appdir} 2>/dev/null && l=l
219
220 cp -a$l *.php $RPM_BUILD_ROOT%{_appdir}
221 cp -p$l VERSION $RPM_BUILD_ROOT%{_appdir}
222 cp -a$l bin/* $RPM_BUILD_ROOT%{_appdir}/bin
223 cp -a$l inc/* $RPM_BUILD_ROOT%{_appdir}/inc
224 cp -a$l lib/* $RPM_BUILD_ROOT%{_appdir}/lib
225 cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
226 cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
227 touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
228 touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
229 touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
230 touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
231 touch $RPM_BUILD_ROOT%{_sysconfdir}/plugins.local.php
232 touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
233 touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
234 touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
235 touch $RPM_BUILD_ROOT%{_sysconfdir}/userscript.js
236 touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
237
238 # https://github.com/splitbrain/dokuwiki/pull/1247
239 #ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
240 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
241 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
242 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
243 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
244 cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
245
246 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
247 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
248
249 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/dokuwiki/images/button-pld.png
250
251 # hardlink identical icons.
252 findup -m $RPM_BUILD_ROOT
253
254 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
255 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
256 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
257
258 # find locales
259 %find_lang %{name}.lang
260
261 %clean
262 rm -rf $RPM_BUILD_ROOT
263
264 %post setup
265 chmod 770 %{_sysconfdir}
266 chmod 660 %{_sysconfdir}/local.php
267 chmod 660 %{_sysconfdir}/plugins.local.php
268
269 %postun setup
270 if [ "$1" = "0" ]; then
271         if [ -f %{_sysconfdir}/dokuwiki.php ]; then
272                 chmod 750 %{_sysconfdir}
273                 chmod 640 %{_sysconfdir}/local.php
274                 chmod 640 %{_sysconfdir}/plugins.local.php
275         fi
276 fi
277
278 %triggerin -- apache1 < 1.3.37-3, apache1-base
279 %webapp_register apache %{_webapp}
280
281 %triggerun -- apache1 < 1.3.37-3, apache1-base
282 %webapp_unregister apache %{_webapp}
283
284 %triggerin -- apache < 2.2.0, apache-base
285 %webapp_register httpd %{_webapp}
286
287 %triggerun -- apache < 2.2.0, apache-base
288 %webapp_unregister httpd %{_webapp}
289
290 %triggerin -- lighttpd
291 %webapp_register lighttpd %{_webapp}
292
293 %triggerun -- lighttpd
294 %webapp_unregister lighttpd %{_webapp}
295
296 %pretrans
297 if [ -d %{_appdir}/data -a ! -L %{_appdir}/data ]; then
298         mv -f %{_appdir}/data/* %{_localstatedir}
299         rm -rf %{_appdir}/data
300 fi
301 if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
302         mv -f %{_appdir}/conf/* %{_sysconfdir}
303         rm -rf %{_appdir}/conf
304 fi
305 if [ -d %{_localstatedir}/cache ]; then
306         rm -rf %{_localstatedir}/cache
307 fi
308 exit 0
309
310 %files -f %{name}.lang
311 %defattr(644,root,root,755)
312 %doc README
313 %dir %attr(750,root,http) %verify(not mode) %{_sysconfdir}
314 %dir %attr(750,root,http) %{_sysconfdir}/lang
315 %dir %attr(750,root,http) %{_sysconfdir}/plugin_lang
316 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
317 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf
318 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
319
320 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
321 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.php
322 %attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
323
324 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acl.auth.php
325 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
326 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
327 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
328 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/license.local.php
329 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
330 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
331 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
332 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userscript.js
333 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
334 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/users.auth.php
335 %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql.conf.php
336
337 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/local.php
338 %attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/plugins.local.php
339
340 # use local.php, local.protected.php, etc for local changes
341 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
342 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/entities.conf
343 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
344 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
345 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
346 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/wordblock.conf
347
348 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
349 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
350 %attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/plugins.required.php
351
352 %dir %{_appdir}
353 %{_appdir}/VERSION
354 %{_appdir}/doku.php
355 %{_appdir}/feed.php
356 %{_appdir}/index.php
357 %dir %{_appdir}/bin
358 %attr(755,root,root) %{_appdir}/bin/dwpage.php
359 %attr(755,root,root) %{_appdir}/bin/gittool.php
360 %attr(755,root,root) %{_appdir}/bin/indexer.php
361 %attr(755,root,root) %{_appdir}/bin/render.php
362 %attr(755,root,root) %{_appdir}/bin/striplangs.php
363 %attr(755,root,root) %{_appdir}/bin/wantedpages.php
364
365 %dir %{_appdir}/inc
366 %{_appdir}/inc/*.php
367 %{_appdir}/inc/preload.php.dist
368 %{_appdir}/inc/Form
369 %{_appdir}/inc/parser
370
371 %dir %{_appdir}/lib
372 # allow plugins dir permission change to allow installation of plugins from admin
373 # however does not work with rpm 4.5
374 %dir %config %verify(not group mode) %{_appdir}/lib/plugins
375
376 %{_appdir}/lib/plugins/*.php
377 %dir %{_appdir}/lib/plugins/acl
378 %{_appdir}/lib/plugins/acl/*.*
379 %{_appdir}/lib/plugins/acl/pix
380 %dir %{_appdir}/lib/plugins/authad
381 %{_appdir}/lib/plugins/authad/*.php
382 %{_appdir}/lib/plugins/authad/*.txt
383 %{_appdir}/lib/plugins/authad/conf
384 %dir %{_appdir}/lib/plugins/authldap
385 %{_appdir}/lib/plugins/authldap/*.php
386 %{_appdir}/lib/plugins/authldap/*.txt
387 %{_appdir}/lib/plugins/authldap/conf
388 %dir %{_appdir}/lib/plugins/authmysql
389 %{_appdir}/lib/plugins/authmysql/*.php
390 %{_appdir}/lib/plugins/authmysql/*.txt
391 %{_appdir}/lib/plugins/authmysql/conf
392 %{_appdir}/lib/plugins/authpgsql/*.php
393 %{_appdir}/lib/plugins/authpgsql/conf
394 %{_appdir}/lib/plugins/authpgsql/*.txt
395 %dir %{_appdir}/lib/plugins/authpgsql
396 %dir %{_appdir}/lib/plugins/authplain
397 %{_appdir}/lib/plugins/authplain/*.php
398 %{_appdir}/lib/plugins/authplain/*.txt
399 %dir %{_appdir}/lib/plugins/config
400 %{_appdir}/lib/plugins/config/*.*
401 %{_appdir}/lib/plugins/config/images
402 %{_appdir}/lib/plugins/config/settings
403 %dir %{_appdir}/lib/plugins/extension
404 %{_appdir}/lib/plugins/extension/*.*
405 %{_appdir}/lib/plugins/extension/helper
406 %{_appdir}/lib/plugins/extension/images
407 %dir %{_appdir}/lib/plugins/revert
408 %{_appdir}/lib/plugins/revert/*.*
409 %dir %{_appdir}/lib/plugins/safefnrecode
410 %{_appdir}/lib/plugins/safefnrecode/*.*
411 %dir %{_appdir}/lib/plugins/usermanager
412 %{_appdir}/lib/plugins/usermanager/*.*
413 %{_appdir}/lib/plugins/usermanager/images
414 %dir %{_appdir}/lib/plugins/info
415 %{_appdir}/lib/plugins/info/*.*
416 %dir %{_appdir}/lib/plugins/popularity
417 %{_appdir}/lib/plugins/popularity/*.*
418 %dir %{_appdir}/lib/plugins/styling
419 %{_appdir}/lib/plugins/styling/README
420 %{_appdir}/lib/plugins/styling/*.*
421
422 %{_appdir}/lib/images
423 %{_appdir}/lib/scripts
424 %{_appdir}/lib/styles
425 # TODO: fix langs for templates (duplicate files otherwise)
426 %{_appdir}/lib/tpl
427 %{_appdir}/lib/exe
428
429 %dir %attr(770,root,http) %{_localstatedir}
430 %dir %attr(770,root,http) %{_localstatedir}/attic
431 %dir %attr(770,root,http) %{_localstatedir}/index
432 %dir %attr(770,root,http) %{_localstatedir}/locks
433 %dir %attr(770,root,http) %{_localstatedir}/media
434 %dir %attr(770,root,http) %{_localstatedir}/media_attic
435 %dir %attr(770,root,http) %{_localstatedir}/media_meta
436 %dir %attr(770,root,http) %{_localstatedir}/media/wiki
437 %dir %attr(770,root,http) %{_localstatedir}/meta
438 %dir %attr(770,root,http) %{_localstatedir}/pages
439 %dir %attr(770,root,http) %{_localstatedir}/pages/playground
440 %dir %attr(770,root,http) %{_localstatedir}/pages/wiki
441 %dir %attr(770,root,http) %{_localstatedir}/tmp
442
443 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
444 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
445 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
446 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/welcome.txt
447 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
448 %attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.png
449
450 %dir %attr(770,root,http) %{_cachedir}
451
452 %files setup
453 %defattr(644,root,root,755)
454 %{_appdir}/install.php
This page took 0.098362 seconds and 3 git commands to generate.