1 %define subver 2016-03-11
2 %define ver %(echo %{subver} | tr -d -)
4 %define php_min_version 5.3.0
5 %include /usr/lib/rpm/macros.php
6 Summary: DokuWiki Structured Data Plugin
7 Name: dokuwiki-plugin-%{plugin}
11 Group: Applications/WWW
12 # using master snapshot, upstream doesn't tag their code
13 # https://github.com/splitbrain/dokuwiki-plugin-data/issues/206
14 Source0: https://github.com/splitbrain/dokuwiki-plugin-%{plugin}/archive/master/%{plugin}-%{subver}.tar.gz
15 # Source0-md5: eea5c5398f01db4f2b4f22c71d601aea
16 URL: https://www.dokuwiki.org/plugin:data
17 Patch2: separator-style.patch
18 Patch3: separate-rpmdb.patch
19 Patch4: cache-enable.patch
20 BuildRequires: rpm-php-pearprov
21 BuildRequires: rpmbuild(macros) >= 1.520
22 Requires: php(core) >= %{php_min_version}
23 Requires(triggerun): sqlite
24 Requires(triggerun): sqlite3
25 Requires: dokuwiki >= 20090214b-5
26 Requires: dokuwiki-plugin-sqlite >= 20120619
29 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
31 %define dokuconf /etc/webapps/dokuwiki
32 %define dokudir /usr/share/dokuwiki
33 %define metadir /var/lib/dokuwiki/meta
34 %define plugindir %{dokudir}/lib/plugins/%{plugin}
35 %define find_lang %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
38 %define _noautopear pear
40 # sqlite is dokuwiki-plugin-sqlite dep, not ours
41 %define _noautophp php-sqlite
43 # put it together for rpmbuild
44 %define _noautoreq %{?_noautophp} %{?_noautopear}
47 This plugin allows you to add structured data to any DokuWiki page.
48 Think about this data as additional named attributes. Those attributes
49 can then be queried and aggregated. The plugin is similar to what was
50 done here for the repository plugin but its internals are very
51 different to the repository plugin.
60 # nothing to do with tests
63 # cleanup backups after patching
64 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
67 version=$(awk '/date/{print $2}' plugin.info.txt)
68 if [ $(echo "$version" | tr -d -) != %{version} ]; then
69 : %%{version} mismatch
74 rm -rf $RPM_BUILD_ROOT
75 install -d $RPM_BUILD_ROOT{%{plugindir},%{metadir}}
76 cp -a . $RPM_BUILD_ROOT%{plugindir}
77 %{__rm} $RPM_BUILD_ROOT%{plugindir}/README
79 touch $RPM_BUILD_ROOT%{metadir}/data.sqlite
80 # sqlite3: php-pdo-sqlite
81 touch $RPM_BUILD_ROOT%{metadir}/data.sqlite3
84 %find_lang %{name}.lang
87 rm -rf $RPM_BUILD_ROOT
90 # force css cache refresh
91 if [ -f %{dokuconf}/local.php ]; then
92 touch %{dokuconf}/local.php
95 %triggerun -- %{name} < 20100322-0.5
96 # move to new location
97 mv /var/lib/dokuwiki/cache/dataplugin.sqlite %{metadir}/data.sqlite
99 # perform new indexes add manually
100 sqlite %{metadir}/data.sqlite <<'EOF'
101 CREATE TABLE opts (opt,val);
102 CREATE UNIQUE INDEX idx_opt ON opts(opt);
103 INSERT INTO opts VALUES ('dbversion', 1);
105 chown root:http %{metadir}/data.sqlite
106 chmod 660 %{metadir}/data.sqlite
108 %triggerun -- %{name} < 20120716-3
109 if [ -f %{metadir}/data.sqlite3 ]; then
113 # perform sqlite2 -> sqlite3 migration of both tools present
114 if [ ! -x /usr/bin/sqlite ] || [ ! -x /usr/bin/sqlite3 ]; then
115 echo >&2 "data plugin: To migrate db from sqlite2 to sqlite3 you need to install 'sqlite' and 'sqlite3' packages"
119 sqlite %{metadir}/data.sqlite .dump > %{metadir}/data.dump
120 sqlite3 %{metadir}/data.dump.new < %{metadir}/data.dump
121 mv %{metadir}/data.sqlite3{.new,}
122 chown root:http %{metadir}/data.sqlite3
123 chmod 660 %{metadir}/data.sqlite3
125 %files -f %{name}.lang
126 %defattr(644,root,root,755)
137 %attr(660,http,http) %ghost %{metadir}/data.sqlite
138 %attr(660,http,http) %ghost %{metadir}/data.sqlite3