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