]> git.pld-linux.org Git - packages/dokuwiki-plugin-data.git/blame_incremental - dokuwiki-plugin-data.spec
up to 2017-02-08
[packages/dokuwiki-plugin-data.git] / dokuwiki-plugin-data.spec
... / ...
CommitLineData
1%define subver 2017-02-08
2%define ver %(echo %{subver} | tr -d -)
3%define plugin data
4%define php_min_version 5.3.0
5%include /usr/lib/rpm/macros.php
6Summary: DokuWiki Structured Data Plugin
7Name: dokuwiki-plugin-%{plugin}
8Version: %{ver}
9Release: 0.1
10License: GPL v2
11Group: Applications/WWW
12Source0: https://github.com/splitbrain/dokuwiki-plugin-%{plugin}/archive/%{subver}/%{plugin}-%{subver}.tar.gz
13# Source0-md5: 0ec0720f8b4430377b66db1c9f57b9ea
14URL: https://www.dokuwiki.org/plugin:data
15Patch2: separator-style.patch
16Patch3: separate-rpmdb.patch
17Patch4: cache-enable.patch
18BuildRequires: rpm-php-pearprov
19BuildRequires: rpmbuild(macros) >= 1.520
20Requires: php(core) >= %{php_min_version}
21Requires(triggerun): sqlite
22Requires(triggerun): sqlite3
23Requires: dokuwiki >= 20090214b-5
24Requires: dokuwiki-plugin-sqlite >= 20130508
25Requires: php(pcre)
26BuildArch: noarch
27BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
28
29%define dokuconf /etc/webapps/dokuwiki
30%define dokudir /usr/share/dokuwiki
31%define metadir /var/lib/dokuwiki/meta
32%define plugindir %{dokudir}/lib/plugins/%{plugin}
33%define find_lang %{_usrlibrpm}/dokuwiki-find-lang.sh %{buildroot}
34
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
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
52%setup -qc
53mv *-%{plugin}-*/{.??*,*} .
54%patch2 -p1
55%patch3 -p1
56%patch4 -p1
57
58# nothing to do with tests
59rm -rf _test
60rm .travis.yml
61
62# cleanup backups after patching
63find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
64
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
72%install
73rm -rf $RPM_BUILD_ROOT
74install -d $RPM_BUILD_ROOT{%{plugindir},%{metadir}}
75cp -a . $RPM_BUILD_ROOT%{plugindir}
76%{__rm} $RPM_BUILD_ROOT%{plugindir}/README
77# sqlite2: php-sqlite
78touch $RPM_BUILD_ROOT%{metadir}/data.sqlite
79# sqlite3: php-pdo-sqlite
80touch $RPM_BUILD_ROOT%{metadir}/data.sqlite3
81
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
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
107%triggerun -- %{name} < 20120716-3
108if [ -f %{metadir}/data.sqlite3 ]; then
109 # already migrated
110 exit 0
111fi
112# perform sqlite2 -> sqlite3 migration of both tools present
113if [ ! -x /usr/bin/sqlite ] || [ ! -x /usr/bin/sqlite3 ]; then
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
124%files -f %{name}.lang
125%defattr(644,root,root,755)
126%doc README
127%dir %{plugindir}
128%{plugindir}/*.js
129%{plugindir}/*.php
130%{plugindir}/*.txt
131%{plugindir}/*.css
132%{plugindir}/admin
133%{plugindir}/conf
134%{plugindir}/db
135%{plugindir}/helper
136%{plugindir}/syntax
137%attr(660,http,http) %ghost %{metadir}/data.sqlite
138%attr(660,http,http) %ghost %{metadir}/data.sqlite3
This page took 0.042979 seconds and 4 git commands to generate.