-%define subver 2015-08-10
+%define subver 2022-07-31a
%define ver %(echo %{subver} | tr -d -)
#define snap 1
#define rc_ 1
-%define php_min_version 5.3.3
-%include /usr/lib/rpm/macros.php
+%define php_min_version 7.2
Summary: PHP-based Wiki webapplication
Summary(pl.UTF-8): Aplikacja WWW Wiki oparta na PHP
Name: dokuwiki
Version: %{ver}
-Release: 0.1
+Release: 1
License: GPL v2
Group: Applications/WWW
-# Source0Download: http://download.dokuwiki.org/archive
-Source0: http://download.dokuwiki.org/src/dokuwiki/%{name}-%{subver}.tgz
-# Source0-md5: 675594518c378f43b32204c4b9073ffd
+# Source0Download: https://download.dokuwiki.org/archive
+Source0: https://download.dokuwiki.org/src/dokuwiki/%{name}-%{subver}.tgz
+# Source0-md5: 4459ea99e3a4ce2b767482f505724dcc
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
+Patch1: autoload.patch
Patch2: style-width.patch
Patch4: %{name}-geshi.patch
Patch5: %{name}-http_auth-option.patch
Patch8: %{name}-notify-respect-minor.patch
Patch10: %{name}-mailtext.patch
Patch11: %{name}-notifyns.patch
-Patch15: simplepie.patch
Patch19: pld-branding.patch
-Patch20: fixprivilegeescalationbug.diff
Patch21: task-1821.patch
-Patch22: adldap.patch
Patch24: more-buttons.patch
-Patch25: system-phpseclib.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(find_lang) >= 1.41
BuildRequires: rpmbuild(macros) >= 1.693
-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
-Requires: lessphp >= 0.3.9
Requires: php(core) >= %{php_min_version}
Requires: php(session)
Requires: php(xml)
Requires: webserver(alias)
Requires: webserver(php)
Suggests: php(gd)
-Suggests: php-adldap >= 4.0.4
Obsoletes: dokuwiki-plugin-jquery
+Obsoletes: dokuwiki-plugin-showlogin2
+Conflicts: dokuwiki-plugin-gallery < 20161222
Conflicts: dokuwiki-plugin-icalevents < 20120909
+Conflicts: dokuwiki-plugin-include < 20181129
+Conflicts: dokuwiki-plugin-odt < 20170218
# can use gz compression to store attic pages
Suggests: php(zlib)
BuildArch: noarch
%define _appdir %{_datadir}/%{_webapp}
%define _localstatedir /var/lib/%{name}
%define _cachedir /var/cache/%{name}
-%define find_lang %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
-%define _noautoreq_pear /usr/share/php/geshi.php /usr/share/php/adLDAP/.*
+%define _noautoreq_pear /usr/share/php/geshi.php lib/byte_safe_strings.php lib/cast_to_int.php lib/error_polyfill.php lib/random.php other/ide_stubs/libsodium.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
%patch8 -p1
%patch10 -p1
%patch11 -p1
-%patch15 -p1
%patch19 -p1
-%patch20 -p1
-%patch21 -p1
-%patch22 -p1
-%patch24 -p1
-%patch25 -p1
-%patch26 -p1
+#%patch21 -p1
+#%patch24 -p1
%patch27 -p1
-
%patch66 -p1
# package as basenames, upgrade overwrite protected with .rpmnew
find -name _dummy | xargs %{__rm}
%{__rm} lib/index.html lib/plugins/index.html lib/images/index.html
-%{__rm} {conf,inc,bin,data,inc/lang}/.htaccess
+%{__rm} {conf,inc,bin,data}/.htaccess
+%{__rm} vendor/.htaccess
+%{__rm} lib/plugins/styling/.travis.yml
+%{__rm} -r lib/plugins/testing
+%{__rm} -r lib/plugins/*/_test
# 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
+# source for dont-panic-if-you-see-this-in-your-logs-it-means-your-directory-permissions-are-correct.png
+%{__rm} data/dont-panic-if-you-see-this-in-your-logs-it-means-your-directory-permissions-are-correct.xcf
-# use system geshi package
-%{__rm} -r vendor/easybook/geshi
-rmdir vendor/easybook
+%{__rm} lib/scripts/jquery/update.sh
-# use system adldap package
-%{__rm} -r lib/plugins/authad/adLDAP
+# use system geshi package
+%{__rm} -r vendor/geshi/geshi
+rmdir vendor/geshi
# use system simplepie package
-%{__rm} inc/SimplePie.php
+#%{__rm} inc/SimplePie.php
-# use system lessphp package
-%{__rm} inc/lessc.inc.php
+# pagetools - tools for development
+%{__rm} -r lib/tpl/dokuwiki/images/pagetools
+%{__rm} lib/tpl/dokuwiki/images/pagetools-build*
-# use system lib
-%{__rm} -r inc/phpseclib
-
-# flash source on git tarballs
-rm -rf lib/plugins/testing
-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
+%{__sed} -i -e '1 s,#!.*php,#!/usr/bin/php,' bin/*.php
# 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}/{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
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
cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf
# find locales
-%find_lang %{name}.lang
+%find_lang %{name}.lang --with-dokuwiki
%clean
rm -rf $RPM_BUILD_ROOT
%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}/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}/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}/mysql.conf.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}/users.auth.php
%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
%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
%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}/manifest.json
%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(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/plugin.php
%attr(755,root,root) %{_appdir}/bin/render.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/Action
+%{_appdir}/inc/Cache
+%{_appdir}/inc/ChangeLog
+%{_appdir}/inc/Debug
+%{_appdir}/inc/Exception
+%{_appdir}/inc/Extension
+%{_appdir}/inc/File
%{_appdir}/inc/Form
+%{_appdir}/inc/HTTP
+%{_appdir}/inc/Input
+%{_appdir}/inc/Menu
+%{_appdir}/inc/Parsing
+%{_appdir}/inc/Remote
+%{_appdir}/inc/Search
+%{_appdir}/inc/Sitemap
+%{_appdir}/inc/Subscriptions
+%{_appdir}/inc/Ui
+%{_appdir}/inc/Utf8
%{_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/aziraphale
+%dir %{_appdir}/vendor/kissifrot
+%dir %{_appdir}/vendor/marcusschwarz
+%dir %{_appdir}/vendor/openpsa
+%dir %{_appdir}/vendor/phpseclib
+%dir %{_appdir}/vendor/simplepie
+%dir %{_appdir}/vendor/splitbrain
+%{_appdir}/vendor/aziraphale/email-address-validator
+%{_appdir}/vendor/kissifrot/php-ixr
+%{_appdir}/vendor/marcusschwarz/lesserphp
+%{_appdir}/vendor/openpsa/universalfeedcreator
+%{_appdir}/vendor/phpseclib/phpseclib
+%{_appdir}/vendor/simplepie/simplepie
+%{_appdir}/vendor/splitbrain/php-archive
+%{_appdir}/vendor/splitbrain/php-cli
+%{_appdir}/vendor/splitbrain/slika
+
%dir %{_appdir}/lib
# allow plugins dir permission change to allow installation of plugins from admin
# however does not work with rpm 4.5
%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/authldap/*.txt
%{_appdir}/lib/plugins/authldap/conf
-%dir %{_appdir}/lib/plugins/authmysql
-%{_appdir}/lib/plugins/authmysql/*.php
-%{_appdir}/lib/plugins/authmysql/*.txt
-%{_appdir}/lib/plugins/authmysql/conf
-%{_appdir}/lib/plugins/authpgsql/*.php
-%{_appdir}/lib/plugins/authpgsql/conf
-%{_appdir}/lib/plugins/authpgsql/*.txt
-%dir %{_appdir}/lib/plugins/authpgsql
+%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
%dir %{_appdir}/lib/plugins/authplain
%{_appdir}/lib/plugins/authplain/*.php
%{_appdir}/lib/plugins/authplain/*.txt
%dir %{_appdir}/lib/plugins/config
%{_appdir}/lib/plugins/config/*.*
+%{_appdir}/lib/plugins/config/core
%{_appdir}/lib/plugins/config/images
%{_appdir}/lib/plugins/config/settings
%dir %{_appdir}/lib/plugins/extension
%{_appdir}/lib/plugins/extension/*.*
%{_appdir}/lib/plugins/extension/helper
%{_appdir}/lib/plugins/extension/images
+%dir %{_appdir}/lib/plugins/logviewer
+%{_appdir}/lib/plugins/logviewer/*.*
%dir %{_appdir}/lib/plugins/revert
%{_appdir}/lib/plugins/revert/*.*
%dir %{_appdir}/lib/plugins/safefnrecode
%{_appdir}/lib/images
%{_appdir}/lib/scripts
%{_appdir}/lib/styles
-# TODO: fix langs for templates (duplicate files otherwise)
-%{_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
%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}/media/wiki/dokuwiki.svg
%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/wiki/welcome.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}/dont-panic-if-you-see-this-in-your-logs-it-means-your-directory-permissions-are-correct.png
%dir %attr(770,root,http) %{_cachedir}