]> git.pld-linux.org Git - packages/dokuwiki.git/blobdiff - dokuwiki.spec
- export to pdf also for dw2pdf plugin
[packages/dokuwiki.git] / dokuwiki.spec
index 799a6ec538d8e6d2ddf65a3b46d287332278961c..25da9a73312a5e1ba4847b85eb650b22b1e3dafb 100644 (file)
@@ -1,28 +1,70 @@
+%define                subver  2012-01-25
+%define                ver             %(echo %{subver} | tr -d -)
+%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:       2
 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-md5: da7ec30fc51c48035adc48dc0535a317
 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
 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:      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 +73,15 @@ 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                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 +101,138 @@ 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}
 %patch0 -p1
-%patch1 -p1
-%patch2 -p1
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
+%patch6 -p1
+%patch8 -p1
+%patch10 -p1
+%patch11 -p1
+%patch12 -p1
+%patch13 -p1
+%patch14 -p1
+%patch15 -p1
+%patch18 -p1
+%patch19 -p1
+%patch20 -p1
+%patch21 -p1
+%patch22 -p1
+%patch23 -p1
+%patch24 -p1
+
+%patch66 -p1
+
+find -name _dummy | xargs rm
+%{__rm} lib/index.html lib/plugins/index.html inc/lang/.htaccess
 
-# safe file
-mv conf/words.aspell{.dist,}
+# we just don't package deleted files, so 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
+
+# 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},%{_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.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
@@ -141,27 +264,42 @@ if [ -d %{_appdir}/conf -a ! -L %{_appdir}/conf ]; then
 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(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}/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 mode) %{_sysconfdir}/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 mode) %{_sysconfdir}/plugins.local.php
+%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
+
+# 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}/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
@@ -169,15 +307,51 @@ exit 0
 %attr(640,root,http) %{_sysconfdir}/users.auth.php.dist
 
 %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
@@ -185,20 +359,20 @@ exit 0
 %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
 
 %files setup
 %defattr(644,root,root,755)
This page took 0.106333 seconds and 4 git commands to generate.