+%define subver 2017-02-08
+%define ver %(echo %{subver} | tr -d -)
%define plugin data
-%define php_min_version 5.0.0
+%define php_min_version 5.3.0
%include /usr/lib/rpm/macros.php
Summary: DokuWiki Structured Data Plugin
Name: dokuwiki-plugin-%{plugin}
-Version: 20110615
-Release: 1
+Version: %{ver}
+Release: 0.1
License: GPL v2
Group: Applications/WWW
-Source0: http://github.com/splitbrain/dokuwiki-plugin-%{plugin}/zipball/master#/%{plugin}-%{version}.zip
-# Source0-md5: da92dbb3e7ccf8b960aef716251ca642
-URL: http://wiki.splitbrain.org/plugin:data
+Source0: https://github.com/splitbrain/dokuwiki-plugin-%{plugin}/archive/%{subver}/%{plugin}-%{subver}.tar.gz
+# Source0-md5: 0ec0720f8b4430377b66db1c9f57b9ea
+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(macros) >= 1.520
-BuildRequires: unzip
-Requires: php-common >= 4:%{php_min_version}
+Requires: php(core) >= %{php_min_version}
Requires(triggerun): sqlite
+Requires(triggerun): sqlite3
Requires: dokuwiki >= 20090214b-5
-Requires: dokuwiki-plugin-sqlite
-Requires: php-pcre
+Requires: dokuwiki-plugin-sqlite >= 20130508
+Requires: php(pcre)
BuildArch: noarch
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%prep
%setup -qc
-mv *-%{plugin}-*/* .
+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
+ 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},%{metadir}}
cp -a . $RPM_BUILD_ROOT%{plugindir}
+%{__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
chown root:http %{metadir}/data.sqlite
chmod 660 %{metadir}/data.sqlite
+%triggerun -- %{name} < 20120716-3
+if [ -f %{metadir}/data.sqlite3 ]; then
+ # already migrated
+ exit 0
+fi
+# perform sqlite2 -> sqlite3 migration of both tools present
+if [ ! -x /usr/bin/sqlite ] || [ ! -x /usr/bin/sqlite3 ]; then
+ echo >&2 "data plugin: To migrate db from sqlite2 to sqlite3 you need to install 'sqlite' and 'sqlite3' packages"
+ exit 0
+fi
+
+sqlite %{metadir}/data.sqlite .dump > %{metadir}/data.dump
+sqlite3 %{metadir}/data.dump.new < %{metadir}/data.dump
+mv %{metadir}/data.sqlite3{.new,}
+chown root:http %{metadir}/data.sqlite3
+chmod 660 %{metadir}/data.sqlite3
+
%files -f %{name}.lang
%defattr(644,root,root,755)
+%doc README
%dir %{plugindir}
-%{plugindir}/admin
-%{plugindir}/syntax
-%{plugindir}/conf
-%{plugindir}/db
%{plugindir}/*.js
%{plugindir}/*.php
%{plugindir}/*.txt
%{plugindir}/*.css
+%{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