-%define subver 2009-01-26
-%define ver %(echo %{subver} | tr -d -)
Summary: PHP-based Wiki webapplication
Summary(pl.UTF-8): Aplikacja WWW Wiki oparta na PHP
Name: dokuwiki
-Version: %{ver}
-Release: 0.3
+Version: 20091110
+Release: 0.8
License: GPL v2
Group: Applications/WWW
-#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: 1d4f6cf1bf0062cf83a3d915c5b7077e
+Source0: http://dev.splitbrain.org/download/snapshots/dokuwiki-latest.tgz
+# Source0-md5: 9da3e5c3a7b40b5a229b38e52b6fcf70
Source1: %{name}-apache.conf
Source2: %{name}-lighttpd.conf
-Source3: %{name}-find-lang.sh
-Source4: jude.png
-# Source4-md5: 623344128960e18f86097dfee213ad4a
-Source5: eventum.gif
-# Source5-md5: cac3d0f82591a33eda2afa8ae5fe65cb
+Source3: jude.png
+# Source3-md5: 623344128960e18f86097dfee213ad4a
+Source4: eventum.gif
+# Source4-md5: cac3d0f82591a33eda2afa8ae5fe65cb
+Source5: http://forum.skype.com/style_emoticons/skype/skype.png
+# Source5-md5: 25c355be038267dc9fdb724b628000b9
+Source6: pld_button.png
+# Source6-md5: 185afa921e81bd726b9f0f9f0909dc6e
+Patch66: %{name}-config.patch
Patch0: %{name}-paths.patch
-Patch1: %{name}-config.patch
Patch2: %{name}-mysqlauth.patch
Patch3: %{name}-config-allow-require.patch
Patch4: %{name}-geshi.patch
Patch10: %{name}-mailtext.patch
Patch11: %{name}-notifyns.patch
Patch12: %{name}-mailthreads.patch
-URL: http://wiki.splitbrain.org/wiki:dokuwiki
-BuildRequires: rpmbuild(macros) >= 1.268
+Patch13: %{name}-media-directlink.patch
+Patch14: interwiki-outputonly.patch
+Patch15: simplepie.patch
+Patch18: install.patch
+Patch19: pld-branding.patch
+Patch20: fixprivilegeescalationbug.diff
+URL: http://www.dokuwiki.org/dokuwiki
+BuildRequires: rpmbuild(macros) >= 1.520
Requires: geshi >= 1.0.7.19
+Requires: php-simplepie >= 1.0.1
Requires: php(xml)
Requires: webapps
Requires: webserver(access)
%define _sysconfdir %{_webapps}/%{_webapp}
%define _appdir %{_datadir}/%{_webapp}
%define _localstatedir /var/lib/%{name}
+%define find_lang %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
%description
DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at
pozostawienie plików instalacyjnych mogłoby być niebezpieczne.
%prep
-%setup -q -n %{name}-rc%{subver}
+%setup -q -n %{name}
%patch0 -p1
-%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
+%patch13 -p1
+%patch14 -p1
+%patch15 -p1
+%patch18 -p1
+%patch19 -p1
+%patch20 -p1
+
+%patch66 -p1
find -name _dummy | xargs rm
-rm -f lib/index.html lib/plugins/index.html
+find -name '*-darcs-backup*' | xargs rm
+rm lib/index.html lib/plugins/index.html inc/lang/.htaccess
-rm -f inc/lang/.htaccess
# safe file
mv conf/words.aspell{.dist,}
rm -f inc/geshi.php
rm -rf inc/geshi
+# use system simplepie package
+rm -f inc/SimplePie.php
+
# our plugins dir is not writable anyway, nothing to convert
rm -rf lib/plugins/upgradeplugindirectory
+# flash source
+rm -rf lib/_fla
+
# cleanup backups after patching
find . '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
+%build
+md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}')
+if ! grep $md5 install.php; then
+ : update %{name}-config.patch oudated
+ exit 1
+fi
+
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_localstatedir},%{_appdir}/{bin,inc,lib}}
cp -a lib/* $RPM_BUILD_ROOT%{_appdir}/lib
cp -a conf/* $RPM_BUILD_ROOT%{_sysconfdir}
cp -a data/* $RPM_BUILD_ROOT%{_localstatedir}
-install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
-install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
-install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
+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
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}/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/fileicons
-cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
+cp -a %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jide.png
+cp -a %{SOURCE4} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/eventum.gif
+cp -a %{SOURCE5} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/skype.gif
+cp -a %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/default/images/button-pld.png
# find locales
-sh %{SOURCE3} %{name}.lang
+%find_lang %{name}.lang
+
+# make inc/lang/en/edit.txt as %config
+%{__sed} -i -e '
+/%%lang([^)]\+) \/usr\/share\/dokuwiki\/inc\/lang\/[^/]\+/{
+ # make entry as %%dir
+ s/^/%%dir /; p
+
+ # add files inside the %dir
+ s/^%%dir /%%config(noreplace) %%verify(not md5 mtime size) /; s/$/\/*.*/
+}' %{name}.lang
%clean
rm -rf $RPM_BUILD_ROOT
%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/local.protected.php
%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
# use local.php,local.protected.php, etc for local changes
%{_appdir}/lib/plugins/acl/pix
%dir %{_appdir}/lib/plugins/config
%{_appdir}/lib/plugins/config/*.*
+%{_appdir}/lib/plugins/config/images
%{_appdir}/lib/plugins/config/settings
%dir %{_appdir}/lib/plugins/plugin
%{_appdir}/lib/plugins/plugin/*.*
+%{_appdir}/lib/plugins/plugin/classes
%dir %{_appdir}/lib/plugins/revert
%{_appdir}/lib/plugins/revert/*.*
%dir %{_appdir}/lib/plugins/usermanager
%dir %attr(770,root,http) %{_localstatedir}/meta
%dir %attr(770,root,http) %{_localstatedir}/pages
%dir %attr(770,root,http) %{_localstatedir}/pages/wiki
-%dir %attr(770,root,http) %{_localstatedir}/pages/playground
%dir %attr(770,root,http) %{_localstatedir}/tmp
%attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/media/wiki/dokuwiki-128.png
%attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/pages/wiki/dokuwiki.txt
%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
%files setup
%defattr(644,root,root,755)