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