-%define subver 2013-10-28
+%define subver 2017-02-19c
%define ver %(echo %{subver} | tr -d -)
#define snap 1
-%define rc_ 1
-%define php_min_version 5.2.4
+#define rc_ 1
+%define php_min_version 5.3.3
%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.1
+Release: 0.5
License: GPL v2
Group: Applications/WWW
-#Source0: http://www.splitbrain.org/_media/projects/dokuwiki/%{name}-%{subver}.tgz
-Source0: http://download.dokuwiki.org/src/dokuwiki/%{name}-rc%{subver}.tgz
-# Source0-md5: f476b54a3679d35cdd8746db57c9c6a3
-#Source0: http://github.com/splitbrain/dokuwiki/tarball/master/%{name}-%{subver}.tgz
+# Source0Download: https://download.dokuwiki.org/archive
+Source0: https://download.dokuwiki.org/src/dokuwiki/%{name}-%{subver}.tgz
+# Source0-md5: 324ae70a6322057604edc04b39c9b334
Source1: %{name}-apache.conf
Source2: %{name}-lighttpd.conf
Source3: http://glen.alkohol.ee/pld/jude.png
Source10: pld.gif
Source11: http://glen.alkohol.ee/pld/astah.png
# Source11-md5: b1c999e6988440c9e2af6a12e9a56451
+Source12: gitlab.png
+# Source12-md5: 619cec6f2b083269b1ec9cd50d9e6ef2
+Source13: http://mirrors.jenkins-ci.org/art/jenkins-logo/16x16/headshot.png?/jenkins.png
+# Source13-md5: ae892e4ca43ffab88f6e3dca951f3e8a
Patch66: %{name}-config.patch
Patch0: %{name}-paths.patch
-Patch1: system-jquery.patch
Patch2: style-width.patch
-Patch3: undeprecate.patch
Patch4: %{name}-geshi.patch
Patch5: %{name}-http_auth-option.patch
-Patch6: %{name}-nice_exit.patch
Patch8: %{name}-notify-respect-minor.patch
Patch10: %{name}-mailtext.patch
Patch11: %{name}-notifyns.patch
-Patch14: interwiki-outputonly.patch
-Patch15: simplepie.patch
Patch19: pld-branding.patch
Patch20: fixprivilegeescalationbug.diff
Patch21: task-1821.patch
-Patch22: adldap.patch
Patch24: more-buttons.patch
+Patch26: system-lessphp.patch
+Patch27: iconsizes-dump.patch
URL: https://www.dokuwiki.org/
BuildRequires: fslint
BuildRequires: rpm-php-pearprov >= 4.4.2-11
-BuildRequires: rpmbuild(macros) >= 1.520
-Requires: jquery >= 1.8
-#Requires: jquery >= 1.9.1
-Requires: jquery-cookie
-#Requires: jquery-migrate
-#Requires: jquery-ui >= 1.10.2
-Requires: jquery-ui >= 1.8
+BuildRequires: rpmbuild(macros) >= 1.693
+Requires: lessphp >= 0.3.9
Requires: php(core) >= %{php_min_version}
Requires: php(session)
Requires: php(xml)
Requires: php-geshi >= 1.0.7.19
+Requires: php-seclib >= 0.3.5
Requires: php-simplepie >= 1.0.1
Requires: webapps
Requires: webserver(access)
Requires: webserver(alias)
Requires: webserver(php)
-Suggests: php-adldap >= 3.3.1
-Suggests: php-gd
+Suggests: php(gd)
Obsoletes: dokuwiki-plugin-jquery
+Obsoletes: dokuwiki-plugin-showlogin2
+Conflicts: dokuwiki-plugin-gallery < 20161222
Conflicts: dokuwiki-plugin-icalevents < 20120909
+Conflicts: dokuwiki-plugin-odt < 20170218
# can use gz compression to store attic pages
-Suggests: php-zlib
+Suggests: php(zlib)
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%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 _noautoreq_pear /usr/share/php/geshi.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}
+%define _noautoreq %{_noautophp}
%description
DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at
%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
+install -d data/pages/playground
+test -e data/pages/playground/playground.txt || \
+echo '====== PlayGround ======' > data/pages/playground/playground.txt
+
%patch0 -p1
-%patch1 -p1
%patch2 -p1
-%patch3 -p1
%patch4 -p1
%patch5 -p1
-%patch6 -p1
%patch8 -p1
%patch10 -p1
%patch11 -p1
-%patch14 -p1
-%patch15 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
-%patch22 -p1
%patch24 -p1
+%patch26 -p1
+%patch27 -p1
%patch66 -p1
# source for security.png
%{__rm} data/security.xcf
-# use system geshi package
-%{__rm} inc/geshi.php
-%{__rm} -r inc/geshi
+%{__rm} lib/scripts/jquery/update.sh
-# use system adldap package
-%{__rm} -r lib/plugins/authad/adLDAP
+# use system geshi package
+%{__rm} -r vendor/easybook/geshi
+rmdir vendor/easybook
# use system simplepie package
-%{__rm} inc/SimplePie.php
+#%{__rm} inc/SimplePie.php
+
+# use system lessphp package
+%{__rm} inc/lessc.inc.php
# flash source on git tarballs
-rm -rf lib/_fla
rm -rf lib/plugins/testing
-rm -rf lib/plugins/config/_test
+rm -rf lib/plugins/*/_test
-# use system packages
-%{__rm} lib/scripts/jquery/update.sh
-%{__rm} lib/scripts/jquery/jquery-ui.js
-%{__rm} lib/scripts/jquery/jquery-ui.min.js
-%{__rm} lib/scripts/jquery/jquery.cookie.js
-%{__rm} lib/scripts/jquery/jquery.js
-%{__rm} lib/scripts/jquery/jquery.min.js
-%{__rm} lib/scripts/jquery/jquery-migrate.js
-%{__rm} lib/scripts/jquery/jquery-migrate.min.js
-%{__rm} -r lib/scripts/jquery/jquery-ui-theme
+# pagetools - tools for development
+%{__rm} -r lib/tpl/dokuwiki/images/pagetools
+%{__rm} lib/tpl/dokuwiki/images/pagetools-build*
# cleanup backups after patching
find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}/{bin,inc,lib}}
+install -d $RPM_BUILD_ROOT{%{_sysconfdir}/{lang,plugin_lang},%{_localstatedir},%{_cachedir},%{_appdir}}
# 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 bin $RPM_BUILD_ROOT%{_appdir}
+cp -a$l inc $RPM_BUILD_ROOT%{_appdir}
+cp -a$l lib $RPM_BUILD_ROOT%{_appdir}
+cp -a$l vendor $RPM_BUILD_ROOT%{_appdir}
cp -a$l conf/* $RPM_BUILD_ROOT%{_sysconfdir}
cp -a$l data/* $RPM_BUILD_ROOT%{_localstatedir}
touch $RPM_BUILD_ROOT%{_sysconfdir}/acronyms.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}/userscript.js
touch $RPM_BUILD_ROOT%{_sysconfdir}/userstyle.css
-ln $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/{dokubug,bug}.gif
+# https://github.com/splitbrain/dokuwiki/pull/1247
+#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 %{SOURCE9} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/trac.png
cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/pld.gif
+cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/gitlab.png
+cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_appdir}/lib/images/interwiki/jenkins.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
%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}/userscript.js
%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
%{_appdir}/index.php
%dir %{_appdir}/bin
%attr(755,root,root) %{_appdir}/bin/dwpage.php
+%attr(755,root,root) %{_appdir}/bin/gittool.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
%attr(755,root,root) %{_appdir}/bin/striplangs.php
+%attr(755,root,root) %{_appdir}/bin/wantedpages.php
%dir %{_appdir}/inc
%{_appdir}/inc/*.php
%{_appdir}/inc/preload.php.dist
+%{_appdir}/inc/Form
+%{_appdir}/inc/Ui
%{_appdir}/inc/parser
+# composer generated vendor autoload
+%dir %{_appdir}/vendor
+%{_appdir}/vendor/README
+%{_appdir}/vendor/autoload.php
+%{_appdir}/vendor/composer
+
+# bundled packages
+# verbose files to detect new addons
+%dir %{_appdir}/vendor/splitbrain
+%{_appdir}/vendor/splitbrain/php-archive
+
+%dir %{_appdir}/vendor/paragonie
+%{_appdir}/vendor/paragonie/random_compat
+
+%dir %{_appdir}/vendor/phpseclib
+%{_appdir}/vendor/phpseclib/phpseclib
+
+%dir %{_appdir}/vendor/simplepie
+%{_appdir}/vendor/simplepie/simplepie
+
%dir %{_appdir}/lib
# allow plugins dir permission change to allow installation of plugins from admin
# however does not work with rpm 4.5
%dir %config %verify(not group mode) %{_appdir}/lib/plugins
+
+%{_appdir}/lib/plugins/*.php
%dir %{_appdir}/lib/plugins/acl
%{_appdir}/lib/plugins/acl/*.*
%{_appdir}/lib/plugins/acl/pix
%dir %{_appdir}/lib/plugins/authad
%{_appdir}/lib/plugins/authad/*.php
%{_appdir}/lib/plugins/authad/*.txt
+%{_appdir}/lib/plugins/authad/adLDAP
%{_appdir}/lib/plugins/authad/conf
%dir %{_appdir}/lib/plugins/authldap
%{_appdir}/lib/plugins/authldap/*.php
%{_appdir}/lib/plugins/authmysql/*.php
%{_appdir}/lib/plugins/authmysql/*.txt
%{_appdir}/lib/plugins/authmysql/conf
+%dir %{_appdir}/lib/plugins/authpdo
+%{_appdir}/lib/plugins/authpdo/*.php
+%{_appdir}/lib/plugins/authpdo/*.txt
+%{_appdir}/lib/plugins/authpdo/README
+%{_appdir}/lib/plugins/authpdo/conf
%{_appdir}/lib/plugins/authpgsql/*.php
%{_appdir}/lib/plugins/authpgsql/conf
%{_appdir}/lib/plugins/authpgsql/*.txt
%{_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/extension
+%{_appdir}/lib/plugins/extension/*.*
+%{_appdir}/lib/plugins/extension/helper
+%{_appdir}/lib/plugins/extension/images
%dir %{_appdir}/lib/plugins/revert
%{_appdir}/lib/plugins/revert/*.*
%dir %{_appdir}/lib/plugins/safefnrecode
%{_appdir}/lib/plugins/info/*.*
%dir %{_appdir}/lib/plugins/popularity
%{_appdir}/lib/plugins/popularity/*.*
-%{_appdir}/lib/plugins/*.php
+%dir %{_appdir}/lib/plugins/styling
+%{_appdir}/lib/plugins/styling/README
+%{_appdir}/lib/plugins/styling/*.*
%{_appdir}/lib/images
%{_appdir}/lib/scripts
%{_appdir}/lib/styles
-%{_appdir}/lib/tpl
%{_appdir}/lib/exe
+%dir %{_appdir}/lib/tpl
+%{_appdir}/lib/tpl/index.php
+
+%dir %{_appdir}/lib/tpl/dokuwiki
+%{_appdir}/lib/tpl/dokuwiki/css
+%{_appdir}/lib/tpl/dokuwiki/images
+%{_appdir}/lib/tpl/dokuwiki/*.info.txt
+%{_appdir}/lib/tpl/dokuwiki/*.ini
+%{_appdir}/lib/tpl/dokuwiki/*.js
+%{_appdir}/lib/tpl/dokuwiki/*.php
+
%dir %attr(770,root,http) %{_localstatedir}
%dir %attr(770,root,http) %{_localstatedir}/attic
%dir %attr(770,root,http) %{_localstatedir}/index
%files setup
%defattr(644,root,root,755)
%{_appdir}/install.php
+
+