]> git.pld-linux.org Git - packages/dokuwiki-plugin-data.git/blame - dokuwiki-plugin-data.spec
update patches
[packages/dokuwiki-plugin-data.git] / dokuwiki-plugin-data.spec
CommitLineData
3c32c275
ER
1%define subver 2016-03-11
2%define ver %(echo %{subver} | tr -d -)
d045a0a5 3%define plugin data
3c32c275 4%define php_min_version 5.3.0
4f0d4331 5%include /usr/lib/rpm/macros.php
d045a0a5
ER
6Summary: DokuWiki Structured Data Plugin
7Name: dokuwiki-plugin-%{plugin}
3c32c275
ER
8Version: %{ver}
9Release: 0.1
d045a0a5
ER
10License: GPL v2
11Group: Applications/WWW
3c32c275
ER
12# using master snapshot, upstream doesn't tag their code
13# https://github.com/splitbrain/dokuwiki-plugin-data/issues/206
14Source0: https://github.com/splitbrain/dokuwiki-plugin-%{plugin}/archive/master/%{plugin}-%{subver}.tar.gz
15# Source0-md5: eea5c5398f01db4f2b4f22c71d601aea
16URL: https://www.dokuwiki.org/plugin:data
58e46b85 17Patch2: separator-style.patch
ce3f39eb 18Patch3: separate-rpmdb.patch
147d6c0c 19Patch4: cache-enable.patch
dca91af3 20BuildRequires: rpm-php-pearprov
d045a0a5 21BuildRequires: rpmbuild(macros) >= 1.520
272501f6 22Requires: php(core) >= %{php_min_version}
860b9ced 23Requires(triggerun): sqlite
0b4d4d8b 24Requires(triggerun): sqlite3
87d1921d 25Requires: dokuwiki >= 20090214b-5
58185fea 26Requires: dokuwiki-plugin-sqlite >= 20120619
f4bb0314 27Requires: php(pcre)
d045a0a5
ER
28BuildArch: noarch
29BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
30
31%define dokuconf /etc/webapps/dokuwiki
69e06802 32%define dokudir /usr/share/dokuwiki
860b9ced 33%define metadir /var/lib/dokuwiki/meta
d045a0a5 34%define plugindir %{dokudir}/lib/plugins/%{plugin}
711f0ba6 35%define find_lang %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
d045a0a5 36
4f0d4331
ER
37# no pear deps
38%define _noautopear pear
39
40# sqlite is dokuwiki-plugin-sqlite dep, not ours
41%define _noautophp php-sqlite
42
43# put it together for rpmbuild
44%define _noautoreq %{?_noautophp} %{?_noautopear}
45
d045a0a5
ER
46%description
47This plugin allows you to add structured data to any DokuWiki page.
48Think about this data as additional named attributes. Those attributes
49can then be queried and aggregated. The plugin is similar to what was
50done here for the repository plugin but its internals are very
51different to the repository plugin.
52
53%prep
860b9ced
ER
54%setup -qc
55mv *-%{plugin}-*/* .
58e46b85 56%patch2 -p1
ce3f39eb 57%patch3 -p1
a4d4cd54 58%patch4 -p1
4978bd8e 59
1d83f60d
ER
60# nothing to do with tests
61rm -rf _test
62
ab0be40f
ER
63# cleanup backups after patching
64find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
65
a4d4cd54
ER
66%build
67version=$(awk '/date/{print $2}' plugin.info.txt)
68if [ $(echo "$version" | tr -d -) != %{version} ]; then
69 : %%{version} mismatch
70 exit 1
71fi
72
d045a0a5
ER
73%install
74rm -rf $RPM_BUILD_ROOT
860b9ced 75install -d $RPM_BUILD_ROOT{%{plugindir},%{metadir}}
d045a0a5 76cp -a . $RPM_BUILD_ROOT%{plugindir}
58185fea 77%{__rm} $RPM_BUILD_ROOT%{plugindir}/README
0b4d4d8b 78# sqlite2: php-sqlite
860b9ced 79touch $RPM_BUILD_ROOT%{metadir}/data.sqlite
0b4d4d8b
ER
80# sqlite3: php-pdo-sqlite
81touch $RPM_BUILD_ROOT%{metadir}/data.sqlite3
69e06802 82
d045a0a5
ER
83# find locales
84%find_lang %{name}.lang
85
86%clean
87rm -rf $RPM_BUILD_ROOT
88
89%post
90# force css cache refresh
91if [ -f %{dokuconf}/local.php ]; then
92 touch %{dokuconf}/local.php
93fi
94
860b9ced
ER
95%triggerun -- %{name} < 20100322-0.5
96# move to new location
97mv /var/lib/dokuwiki/cache/dataplugin.sqlite %{metadir}/data.sqlite
98
99# perform new indexes add manually
100sqlite %{metadir}/data.sqlite <<'EOF'
101CREATE TABLE opts (opt,val);
102CREATE UNIQUE INDEX idx_opt ON opts(opt);
103INSERT INTO opts VALUES ('dbversion', 1);
104EOF
105chown root:http %{metadir}/data.sqlite
106chmod 660 %{metadir}/data.sqlite
107
cf948c6d
ER
108%triggerun -- %{name} < 20120716-3
109if [ -f %{metadir}/data.sqlite3 ]; then
110 # already migrated
111 exit 0
112fi
ca427950 113# perform sqlite2 -> sqlite3 migration of both tools present
cf948c6d 114if [ ! -x /usr/bin/sqlite ] || [ ! -x /usr/bin/sqlite3 ]; then
ca427950
ER
115 echo >&2 "data plugin: To migrate db from sqlite2 to sqlite3 you need to install 'sqlite' and 'sqlite3' packages"
116 exit 0
117fi
118
119sqlite %{metadir}/data.sqlite .dump > %{metadir}/data.dump
120sqlite3 %{metadir}/data.dump.new < %{metadir}/data.dump
121mv %{metadir}/data.sqlite3{.new,}
122chown root:http %{metadir}/data.sqlite3
123chmod 660 %{metadir}/data.sqlite3
124
d045a0a5
ER
125%files -f %{name}.lang
126%defattr(644,root,root,755)
58185fea 127%doc README
d045a0a5 128%dir %{plugindir}
b0216a62 129%{plugindir}/admin
d045a0a5 130%{plugindir}/syntax
860b9ced
ER
131%{plugindir}/conf
132%{plugindir}/db
133%{plugindir}/*.js
d045a0a5 134%{plugindir}/*.php
ab0be40f 135%{plugindir}/*.txt
d045a0a5 136%{plugindir}/*.css
860b9ced 137%attr(660,http,http) %ghost %{metadir}/data.sqlite
0b4d4d8b 138%attr(660,http,http) %ghost %{metadir}/data.sqlite3
This page took 0.137876 seconds and 4 git commands to generate.