X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=dokuwiki.spec;h=aab6e59dc832ed6ebc341ec14174b9a4388cd518;hb=1078c4d719f34e3388438341450a88b75a4c03f0;hp=799a6ec538d8e6d2ddf65a3b46d287332278961c;hpb=9e409dbc81a3ceeb5f144f033e1948b9d40150be;p=packages%2Fdokuwiki.git diff --git a/dokuwiki.spec b/dokuwiki.spec index 799a6ec..aab6e59 100644 --- a/dokuwiki.spec +++ b/dokuwiki.spec @@ -1,28 +1,76 @@ +%define subver 2012-07-08 +%define ver %(echo %{subver} | tr -d -) +%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: 20070626b -Release: 0.26 +Version: %{ver} +Release: 0.12 License: GPL v2 Group: Applications/WWW -Source0: http://www.splitbrain.org/_media/projects/dokuwiki/%{name}-2007-06-26b.tgz -# Source0-md5: 84e9b5e8e617658bb0264aa3836f23b3 +#Source0: http://www.splitbrain.org/_media/projects/dokuwiki/%{name}-%{subver}.tgz +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 +# Source3-md5: 623344128960e18f86097dfee213ad4a +Source4: eventum.gif +Source5: http://forum.skype.com/style_emoticons/skype/skype.png +# Source5-md5: 25c355be038267dc9fdb724b628000b9 +Source6: pld_button.png +# Source6-md5: 185afa921e81bd726b9f0f9f0909dc6e +Source7: cacti.gif +Source8: nagios.gif +Source9: http://trac.edgewall.org/export/9404/trunk/doc/trac_icon_16x16.png +# Source9-md5: 0c19ed35bf677f33f6bea14b3a8a2e10 +Source10: pld.gif +Source11: http://glen.alkohol.ee/pld/astah.png +# Source11-md5: b1c999e6988440c9e2af6a12e9a56451 +Patch66: %{name}-config.patch Patch0: %{name}-paths.patch -Patch1: %{name}-config.patch -Patch2: %{name}-mysqlauth.patch +Patch1: system-jquery.patch Patch3: %{name}-config-allow-require.patch Patch4: %{name}-geshi.patch Patch5: %{name}-http_auth-option.patch -URL: http://wiki.splitbrain.org/wiki:dokuwiki -BuildRequires: rpmbuild(macros) >= 1.268 -Requires: geshi >= 1.0.7.19 -Requires: php(xml) +Patch6: %{name}-nice_exit.patch +Patch8: %{name}-notify-respect-minor.patch +Patch10: %{name}-mailtext.patch +Patch11: %{name}-notifyns.patch +Patch12: %{name}-mailthreads.patch +Patch13: %{name}-media-directlink.patch +Patch14: interwiki-outputonly.patch +Patch15: simplepie.patch +Patch18: install.patch +Patch19: pld-branding.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: php-simplepie >= 1.0.1 +Requires: php-xml Requires: webapps +Requires: webserver(access) Requires: webserver(alias) -Requires: webserver(php) >= 4.3.3 -Suggests: php(gd) +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 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -31,7 +79,16 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _sysconfdir %{_webapps}/%{_webapp} %define _appdir %{_datadir}/%{_webapp} %define _localstatedir /var/lib/%{name} -%define _phpdir /usr/share/php +%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) + +# 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 + +%define _noautoreq %{_noautophp} %{_noautopear} %description DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at @@ -51,65 +108,151 @@ strukturalnych. Wszystkie dane są przechowywane w plikach tekstowych - nie jest wymagana baza danych. %package setup -Summary: Dokuwiki setup package -Summary(pl.UTF-8): Pakiet do wstępnej konfiguracji Dokuwiki +Summary: DokuWiki setup package +Summary(pl.UTF-8): Pakiet do wstępnej konfiguracji DokuWiki Group: Applications/WWW Requires: %{name} = %{version}-%{release} %description setup -Install this package to configure initial Dokuwiki installation. You +Install this package to configure initial DokuWiki installation. You should uninstall this package when you're done, as it considered insecure to keep the setup files in place. %description setup -l pl.UTF-8 -Ten pakiet należy zainstalować w celu wstępnej konfiguracji Dokuwiki +Ten pakiet należy zainstalować w celu wstępnej konfiguracji DokuWiki po pierwszej instalacji. Potem należy go odinstalować, jako że pozostawienie plików instalacyjnych mogłoby być niebezpieczne. %prep -%setup -q -n %{name}-2007-06-26b +%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 -%patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 +%patch8 -p1 +%patch10 -p1 +%patch11 -p1 +#%patch12 -p1 UPDATE to new mailer class +%patch13 -p1 +%patch14 -p1 +%patch15 -p1 +%patch18 -p1 +%patch19 -p1 +%patch20 -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,} -# safe file -mv conf/words.aspell{.dist,} +find -name _dummy | xargs rm +%{__rm} lib/index.html lib/plugins/index.html inc/lang/.htaccess + +# we just don't package deleted files, these get removed automatically on rpm upgrades +%{__rm} data/deleted.files +# source for security.png +%{__rm} data/security.xcf # use system geshi package -rm -f inc/geshi.php -rm -rf inc/geshi +%{__rm} inc/geshi.php +%{__rm} -r inc/geshi + +# use system adldap package +%{__rm} inc/adLDAP.php + +# use system simplepie package +%{__rm} inc/SimplePie.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 + +%build +md5=$(md5sum -b conf/dokuwiki.php | awk '{print $1}') +if ! grep $md5 install.php; then + : update %{name}-config.patch -- it is outdated + exit 1 +fi %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_localstatedir},%{_appdir}/{bin,inc,lib}} - -cp -a *.php $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} -install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf -install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf -install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf - -ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,issue}.gif +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}/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 -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 -p %{SOURCE3} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/jude.png +cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_appdir}/lib/images/fileicons/asta.png + +cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_appdir}/lib/tpl/default/images/button-pld.png + +# hardlink identical icons. +findup -m $RPM_BUILD_ROOT + +# find locales +%find_lang %{name}.lang %clean rm -rf $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 - chmod 750 %{_sysconfdir} - chmod 640 %{_sysconfdir}/dokuwiki.php + if [ -f %{_sysconfdir}/dokuwiki.php ]; then + chmod 750 %{_sysconfdir} + chmod 640 %{_sysconfdir}/local.php + chmod 640 %{_sysconfdir}/plugins.local.php + fi fi %triggerin -- apache1 < 1.3.37-3, apache1-base @@ -139,66 +282,120 @@ if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then mv -f %{_appdir}/conf/* %{_sysconfdir} rm -rf %{_appdir}/conf fi +if [ -d %{_localstatedir}/cache ]; then + rm -rf %{_localstatedir}/cache +fi exit 0 -%files +%files -f %{name}.lang %defattr(644,root,root,755) -%doc README VERSION -%dir %attr(750,root,http) %{_sysconfdir} +%doc README +%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}/httpd.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}/acronyms.conf -%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/entities.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}/mime.conf -%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/msg -%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/smileys.conf -%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/words.aspell +%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 -# use local.php for local changes -%attr(640,root,http) %config %verify(not md5 mtime size) %{_sysconfdir}/dokuwiki.php -# use interwiki.local.conf for local changes +%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}/license.local.php +%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(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}/entities.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) %{_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 +%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 %dir %{_appdir} +%{_appdir}/VERSION +%{_appdir}/doku.php +%{_appdir}/feed.php +%{_appdir}/index.php %dir %{_appdir}/bin %attr(755,root,root) %{_appdir}/bin/dwpage.php %attr(755,root,root) %{_appdir}/bin/indexer.php +%attr(755,root,root) %{_appdir}/bin/render.php %attr(755,root,root) %{_appdir}/bin/wantedpages.php -%{_appdir}/inc -%{_appdir}/lib -%{_appdir}/doku.php -%{_appdir}/feed.php -%{_appdir}/index.php +%attr(755,root,root) %{_appdir}/bin/striplangs.php + +%dir %{_appdir}/inc +%{_appdir}/inc/*.php +%{_appdir}/inc/auth +%{_appdir}/inc/parser + +%dir %{_appdir}/lib +%dir %{_appdir}/lib/plugins +%dir %{_appdir}/lib/plugins/acl +%{_appdir}/lib/plugins/acl/*.* +%{_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/safefnrecode +%{_appdir}/lib/plugins/safefnrecode/*.* +%dir %{_appdir}/lib/plugins/usermanager +%{_appdir}/lib/plugins/usermanager/*.* +%{_appdir}/lib/plugins/usermanager/images +%dir %{_appdir}/lib/plugins/info +%{_appdir}/lib/plugins/info/*.* +%dir %{_appdir}/lib/plugins/popularity +%{_appdir}/lib/plugins/popularity/*.* +%{_appdir}/lib/plugins/*.php +%{_appdir}/lib/images +%{_appdir}/lib/scripts +%{_appdir}/lib/styles +%{_appdir}/lib/tpl +%{_appdir}/lib/exe %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 +%dir %attr(770,root,http) %{_localstatedir}/media_attic +%dir %attr(770,root,http) %{_localstatedir}/media_meta %dir %attr(770,root,http) %{_localstatedir}/media/wiki %dir %attr(770,root,http) %{_localstatedir}/meta %dir %attr(770,root,http) %{_localstatedir}/pages %dir %attr(770,root,http) %{_localstatedir}/pages/playground %dir %attr(770,root,http) %{_localstatedir}/pages/wiki -%attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/attic/_dummy -%attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/cache/_dummy -%attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/index/_dummy -%attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/locks/_dummy +%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}/meta/_dummy -%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}/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 +%attr(660,root,http) %config(noreplace,missingok) %verify(not md5 mtime size) %{_localstatedir}/security.png + +%dir %attr(770,root,http) %{_cachedir} %files setup %defattr(644,root,root,755)