-%define subver 2011-11-10
+%define subver 2012-07-08
%define ver %(echo %{subver} | tr -d -)
-%define php_min_version 5.1.2
+%define snap 1
+%define php_min_version 5.2.4
%include /usr/lib/rpm/macros.php
Summary: PHP-based Wiki webapplication
Summary(pl.UTF-8): Aplikacja WWW Wiki oparta na PHP
Name: dokuwiki
Version: %{ver}
-Release: 0.2
+Release: 0.12
License: GPL v2
Group: Applications/WWW
-#Source0: https://github.com/splitbrain/dokuwiki/tarball/master#/%{name}.tgz
#Source0: http://www.splitbrain.org/_media/projects/dokuwiki/%{name}-%{subver}.tgz
-Source0: http://www.splitbrain.org/_media/projects/dokuwiki/%{name}-rc%{subver}.tgz
-# Source0-md5: 6faf2f586cadbfc23d3b53745a00a482
+Source0: http://github.com/splitbrain/dokuwiki/tarball/master/%{name}.tgz
+# Source0-md5: d7afe9a8a4a73637d4620017f16f4b6a
Source1: %{name}-apache.conf
Source2: %{name}-lighttpd.conf
Source3: http://glen.alkohol.ee/pld/jude.png
# Source11-md5: b1c999e6988440c9e2af6a12e9a56451
Patch66: %{name}-config.patch
Patch0: %{name}-paths.patch
+Patch1: system-jquery.patch
Patch3: %{name}-config-allow-require.patch
Patch4: %{name}-geshi.patch
Patch5: %{name}-http_auth-option.patch
Patch20: fixprivilegeescalationbug.diff
Patch21: task-1821.patch
Patch22: adldap.patch
+Patch23: backlink-rightside.patch
+Patch24: more-buttons.patch
URL: http://www.dokuwiki.org/dokuwiki
BuildRequires: fslint
BuildRequires: rpm-php-pearprov >= 4.4.2-11
BuildRequires: rpmbuild(macros) >= 1.520
+Requires: jquery >= 1.6
+Requires: jquery-cookie
+Requires: jquery-ui
Requires: php-common >= 4:%{php_min_version}
Requires: php-geshi >= 1.0.7.19
Requires: php-session
Requires: webserver(php)
Suggests: php-adldap >= 3.3.1
Suggests: php-gd
+Obsoletes: dokuwiki-plugin-jquery
# can use gz compression to store attic pages
Suggests: php-zlib
BuildArch: noarch
%define _sysconfdir %{_webapps}/%{_webapp}
%define _appdir %{_datadir}/%{_webapp}
%define _localstatedir /var/lib/%{name}
+%define _cachedir /var/cache/%{name}
%define find_lang %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
# bad depsolver
-%define _noautopear 'pear(/usr/share/php/geshi.php)' 'pear(/usr/share/php/adLDAP.php)'
+%define _noautopear pear(/usr/share/php/geshi.php) pear(/usr/share/php/adLDAP.php)
# exclude optional php dependencies
%define _noautophp php-bzip2 php-bcmath php-zip php-date php-ftp php-hash php-ldap php-mbstring php-mysql php-pgsql php-tokenizer
pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
%prep
-%setup -q -n %{name}-rc%{subver}
+%setup -q -n %{name}-%{subver} %{?snap:-c}
+%if 0%{?snap:1}
+mv *-dokuwiki-*/* .
+test -e VERSION || echo %{subver}-git > VERSION
+install -d data/pages/playground
+touch data/pages/playground/playground.txt
+%endif
%patch0 -p1
+%patch1 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch8 -p1
%patch10 -p1
%patch11 -p1
-%patch12 -p1
+#%patch12 -p1 UPDATE to new mailer class
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
-%patch21 -p1
+#%patch21 -p1 UPDATE to new mailer class
%patch22 -p1
+%patch23 -p1
+%patch24 -p1
%patch66 -p1
+# package as basenames, upgrade overwrite protected with .rpmnew
+mv conf/local.php{.dist,}
+mv conf/acl.auth.php{.dist,}
+mv conf/users.auth.php{.dist,}
+mv conf/mysql.conf.php{.example,}
+
find -name _dummy | xargs rm
-rm lib/index.html lib/plugins/index.html inc/lang/.htaccess
+%{__rm} lib/index.html lib/plugins/index.html inc/lang/.htaccess
-# we just don't package deleted files, so these get removed automatically on rpm upgrades
+# we just don't package deleted files, these get removed automatically on rpm upgrades
%{__rm} data/deleted.files
-
-# safe file
-#mv conf/words.aspell{.dist,}
+# source for security.png
+%{__rm} data/security.xcf
# use system geshi package
%{__rm} inc/geshi.php
# flash source on git tarballs
rm -rf lib/_fla
+rm -rf lib/plugins/testing
# cleanup backups after patching
-find . '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
+find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
%build
md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_appdir}/{bin,inc,lib}}
-
-cp -a *.php $RPM_BUILD_ROOT%{_appdir}
-cp -p VERSION $RPM_BUILD_ROOT%{_appdir}
-cp -a bin/* $RPM_BUILD_ROOT%{_appdir}/bin
-cp -a inc/* $RPM_BUILD_ROOT%{_appdir}/inc
-cp -a lib/* $RPM_BUILD_ROOT%{_appdir}/lib
-cp -a conf/* $RPM_BUILD_ROOT%{_sysconfdir}
-cp -a data/* $RPM_BUILD_ROOT%{_localstatedir}
-cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
-cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
-cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
+install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}/{bin,inc,lib}}
+
+# hardlink test
+cp -al VERSION $RPM_BUILD_ROOT%{_appdir} 2>/dev/null && l=l
+
+cp -a$l *.php $RPM_BUILD_ROOT%{_appdir}
+cp -p$l VERSION $RPM_BUILD_ROOT%{_appdir}
+cp -a$l bin/* $RPM_BUILD_ROOT%{_appdir}/bin
+cp -a$l inc/* $RPM_BUILD_ROOT%{_appdir}/inc
+cp -a$l lib/* $RPM_BUILD_ROOT%{_appdir}/lib
+cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
+cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
+cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.local.conf
touch $RPM_BUILD_ROOT%{_sysconfdir}/entities.local.conf
touch $RPM_BUILD_ROOT%{_sysconfdir}/interwiki.local.conf
touch $RPM_BUILD_ROOT%{_sysconfdir}/license.local.php
-touch $RPM_BUILD_ROOT%{_sysconfdir}/local.php
+touch $RPM_BUILD_ROOT%{_sysconfdir}/plugins.local.php
touch $RPM_BUILD_ROOT%{_sysconfdir}/local.protected.php
touch $RPM_BUILD_ROOT%{_sysconfdir}/mime.local.conf
touch $RPM_BUILD_ROOT%{_sysconfdir}/smileys.local.conf
touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
-cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
-cp -a %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
-cp -a %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
-cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/skype.png
-cp -a %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
-cp -a %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
+cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
+cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/cacti.gif
+cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/nagios.gif
+cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/skype.png
+cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
+cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
-cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
-cp -a %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
+cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png
+cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png
-cp -a %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/default/images/button-pld.png
+cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/default/images/button-pld.png
# hardlink identical icons.
findup -m $RPM_BUILD_ROOT
%post setup
chmod 770 %{_sysconfdir}
-chmod 660 %{_sysconfdir}/dokuwiki.php
+chmod 660 %{_sysconfdir}/local.php
+chmod 660 %{_sysconfdir}/plugins.local.php
%postun setup
if [ "$1" = "0" ]; then
if [ -f %{_sysconfdir}/dokuwiki.php ]; then
chmod 750 %{_sysconfdir}
- chmod 640 %{_sysconfdir}/dokuwiki.php
+ chmod 640 %{_sysconfdir}/local.php
+ chmod 640 %{_sysconfdir}/plugins.local.php
fi
fi
mv -f %{_appdir}/conf/* %{_sysconfdir}
rm -rf %{_appdir}/conf
fi
+if [ -d %{_localstatedir}/cache ]; then
+ rm -rf %{_localstatedir}/cache
+fi
exit 0
%files -f %{name}.lang
%defattr(644,root,root,755)
%doc README
-%dir %attr(750,root,http) %{_sysconfdir}
+%dir %attr(750,root,http) %verify(not mode) %{_sysconfdir}
%dir %attr(750,root,http) %{_sysconfdir}/lang
%dir %attr(750,root,http) %{_sysconfdir}/plugin_lang
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/lighttpd.conf
%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mediameta.php
+%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/plugins.php
%attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/scheme.conf
+%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acl.auth.php
%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/acronyms.local.conf
%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.local.conf
%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/interwiki.local.conf
%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mime.local.conf
%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.local.conf
%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/userstyle.css
-%attr(660,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.php
+%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/users.auth.php
+%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql.conf.php
+
+%attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/local.php
+%attr(640,root,http) %config(noreplace) %verify(not md5 mode mtime size) %{_sysconfdir}/plugins.local.php
# use local.php, local.protected.php, etc for local changes
%attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/acronyms.conf
%attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/interwiki.conf
%attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/mime.conf
%attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf
+%attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/wordblock.conf
%attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php
%attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/license.php
%attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/plugins.required.php
-# samples. perhaps move to %doc instead?
-%attr(640,root,http) %{_sysconfdir}/mysql.conf.php.example
-%attr(640,root,http) %{_sysconfdir}/acl.auth.php.dist
-%attr(640,root,http) %{_sysconfdir}/wordblock.conf
-%attr(640,root,http) %{_sysconfdir}/local.php.dist
-%attr(640,root,http) %{_sysconfdir}/users.auth.php.dist
-
%dir %{_appdir}
%{_appdir}/VERSION
%{_appdir}/doku.php
%dir %attr(770,root,http) %{_localstatedir}
%dir %attr(770,root,http) %{_localstatedir}/attic
-%dir %attr(770,root,http) %{_localstatedir}/cache
%dir %attr(770,root,http) %{_localstatedir}/index
%dir %attr(770,root,http) %{_localstatedir}/locks
%dir %attr(770,root,http) %{_localstatedir}/media
%attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/syntax.txt
%attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/playground/playground.txt
%attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.png
-%attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.xcf
+
+%dir %attr(770,root,http) %{_cachedir}
%files setup
%defattr(644,root,root,755)