]> git.pld-linux.org Git - packages/dokuwiki-plugin-data.git/blobdiff - dokuwiki-plugin-data.spec
up to 2017-02-08
[packages/dokuwiki-plugin-data.git] / dokuwiki-plugin-data.spec
index 97172ec17fb1574a4ec718ea86845cc33c05e642..d448f59bd6dc18ab34b27661c9704599701fb13a 100644 (file)
@@ -1,25 +1,46 @@
+%define                subver  2017-02-08
+%define                ver             %(echo %{subver} | tr -d -)
 %define                plugin          data
+%define                php_min_version 5.3.0
+%include       /usr/lib/rpm/macros.php
 Summary:       DokuWiki Structured Data Plugin
 Name:          dokuwiki-plugin-%{plugin}
-Version:       20090213
-Release:       0.2
+Version:       %{ver}
+Release:       0.1
 License:       GPL v2
 Group:         Applications/WWW
-Source0:       http://dev.splitbrain.org/download/snapshots/data-plugin-latest.tgz
-# Source0-md5: 6a3ee212496a60a343b62246e8002957
-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
-Requires:      dokuwiki >= 20071221
-Requires:      php(sqlite)
+Requires:      php(core) >= %{php_min_version}
+Requires(triggerun):   sqlite
+Requires(triggerun):   sqlite3
+Requires:      dokuwiki >= 20090214b-5
+Requires:      dokuwiki-plugin-sqlite >= 20130508
+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.
 Think about this data as additional named attributes. Those attributes
@@ -28,14 +49,35 @@ done here for the repository plugin but its internals are very
 different to the repository plugin.
 
 %prep
-%setup -q -n %{plugin}
+%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
 
 %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
@@ -49,11 +91,48 @@ if [ -f %{dokuconf}/local.php ]; then
        touch %{dokuconf}/local.php
 fi
 
+%triggerun -- %{name} < 20100322-0.5
+# move to new location
+mv /var/lib/dokuwiki/cache/dataplugin.sqlite %{metadir}/data.sqlite
+
+# perform new indexes add manually
+sqlite %{metadir}/data.sqlite <<'EOF'
+CREATE TABLE opts (opt,val);
+CREATE UNIQUE INDEX idx_opt ON opts(opt);
+INSERT INTO opts VALUES ('dbversion', 1);
+EOF
+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}/syntax
+%{plugindir}/*.js
 %{plugindir}/*.php
+%{plugindir}/*.txt
 %{plugindir}/*.css
-%{plugindir}/*.sql
-%ghost %attr(660,http,http) %{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
This page took 0.112983 seconds and 4 git commands to generate.