+%define subver 2020-09-18
+%define ver %(echo %{subver} | tr -d -)
%define plugin data
+%define php_min_version 5.6.0
Summary: DokuWiki Structured Data Plugin
Name: dokuwiki-plugin-%{plugin}
-Version: 20100125
-Release: 1
+Version: %{ver}
+Release: 2
License: GPL v2
Group: Applications/WWW
-Source0: http://download.github.com/splitbrain-dokuwiki-plugin-data-1e1e56a.zip
-# Source0-md5: 2f1fbc2c8c88e846d5fd52c8500c0294
-URL: http://wiki.splitbrain.org/plugin:data
-Patch0: interwiki.patch
-Patch1: helper-map.patch
+Source0: https://github.com/splitbrain/dokuwiki-plugin-%{plugin}/archive/%{subver}/%{plugin}-%{subver}.tar.gz
+# Source0-md5: c0add7d6b24f97f9f1ac18b4f82835bc
+URL: https://www.dokuwiki.org/plugin:data
+Patch2: separator-style.patch
+Patch3: separate-rpmdb.patch
+Patch4: cache-enable.patch
+BuildRequires: rpm-php-pearprov
+BuildRequires: rpmbuild(find_lang) >= 1.41
BuildRequires: rpmbuild(macros) >= 1.520
Requires: dokuwiki >= 20090214b-5
-Requires: php(sqlite)
+Requires: dokuwiki-plugin-sqlite >= 20130508
+Requires: php(core) >= %{php_min_version}
+Requires: php(pcre)
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define dokuconf /etc/webapps/dokuwiki
%define dokudir /usr/share/dokuwiki
-%define cachedir /var/lib/dokuwiki/cache
+%define metadir /var/lib/dokuwiki/meta
%define plugindir %{dokudir}/lib/plugins/%{plugin}
-%define find_lang %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
+
+# no pear deps
+%define _noautopear pear
+
+# sqlite is dokuwiki-plugin-sqlite dep, not ours
+%define _noautophp php-sqlite
+
+# put it together for rpmbuild
+%define _noautoreq %{?_noautophp} %{?_noautopear}
%description
This plugin allows you to add structured data to any DokuWiki page.
different to the repository plugin.
%prep
-%setup -qc -n %{plugin}
-mv splitbrain-dokuwiki-plugin-data-*/* .
-%patch0 -p1
-%patch1 -p1
+%setup -qc
+mv *-%{plugin}-*/{.??*,*} .
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+
+# nothing to do with tests
+rm -rf _test
+rm .travis.yml
+# cleanup backups after patching
+find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
+
+%build
version=$(awk '/date/{print $2}' plugin.info.txt)
if [ $(echo "$version" | tr -d -) != %{version} ]; then
: %%{version} mismatch
exit 1
fi
-# 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{%{plugindir},%{cachedir}}
+install -d $RPM_BUILD_ROOT{%{plugindir},%{metadir}}
cp -a . $RPM_BUILD_ROOT%{plugindir}
-
-touch $RPM_BUILD_ROOT%{cachedir}/dataplugin.sqlite
+%{__rm} $RPM_BUILD_ROOT%{plugindir}/README
+# sqlite2: php-sqlite
+touch $RPM_BUILD_ROOT%{metadir}/data.sqlite
+# sqlite3: php-pdo-sqlite
+touch $RPM_BUILD_ROOT%{metadir}/data.sqlite3
# find locales
-%find_lang %{name}.lang
+%find_lang %{name}.lang --with-dokuwiki
%clean
rm -rf $RPM_BUILD_ROOT
%files -f %{name}.lang
%defattr(644,root,root,755)
+%doc README
%dir %{plugindir}
-%{plugindir}/syntax
+%{plugindir}/*.css
+%{plugindir}/*.js
%{plugindir}/*.php
+%{plugindir}/*.svg
%{plugindir}/*.txt
-%{plugindir}/*.css
-%{plugindir}/*.sql
-%attr(660,http,http) %ghost %{cachedir}/dataplugin.sqlite
+%{plugindir}/admin
+%{plugindir}/conf
+%{plugindir}/db
+%{plugindir}/helper
+%{plugindir}/syntax
+%attr(660,http,http) %ghost %{metadir}/data.sqlite
+%attr(660,http,http) %ghost %{metadir}/data.sqlite3