]> git.pld-linux.org Git - packages/dokuwiki-plugin-data.git/blob - dokuwiki-plugin-data.spec
c6e9a75b423629dea513e93e0923faa9969ca493
[packages/dokuwiki-plugin-data.git] / dokuwiki-plugin-data.spec
1 %define         subver  2016-03-11
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
6 Summary:        DokuWiki Structured Data Plugin
7 Name:           dokuwiki-plugin-%{plugin}
8 Version:        %{ver}
9 Release:        0.1
10 License:        GPL v2
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
27 Requires:       php(pcre)
28 BuildArch:      noarch
29 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
30
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}
36
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
46 %description
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.
52
53 %prep
54 %setup -qc
55 mv *-%{plugin}-*/* .
56 %patch2 -p1
57 %patch3 -p1
58 %patch4 -p1
59
60 # nothing to do with tests
61 rm -rf _test
62
63 # cleanup backups after patching
64 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
65
66 %build
67 version=$(awk '/date/{print $2}' plugin.info.txt)
68 if [ $(echo "$version" | tr -d -) != %{version} ]; then
69         : %%{version} mismatch
70         exit 1
71 fi
72
73 %install
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
78 # sqlite2: php-sqlite
79 touch $RPM_BUILD_ROOT%{metadir}/data.sqlite
80 # sqlite3: php-pdo-sqlite
81 touch $RPM_BUILD_ROOT%{metadir}/data.sqlite3
82
83 # find locales
84 %find_lang %{name}.lang
85
86 %clean
87 rm -rf $RPM_BUILD_ROOT
88
89 %post
90 # force css cache refresh
91 if [ -f %{dokuconf}/local.php ]; then
92         touch %{dokuconf}/local.php
93 fi
94
95 %triggerun -- %{name} < 20100322-0.5
96 # move to new location
97 mv /var/lib/dokuwiki/cache/dataplugin.sqlite %{metadir}/data.sqlite
98
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);
104 EOF
105 chown root:http %{metadir}/data.sqlite
106 chmod 660 %{metadir}/data.sqlite
107
108 %triggerun -- %{name} < 20120716-3
109 if [ -f %{metadir}/data.sqlite3 ]; then
110         # already migrated
111         exit 0
112 fi
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"
116         exit 0
117 fi
118
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
124
125 %files -f %{name}.lang
126 %defattr(644,root,root,755)
127 %doc README
128 %dir %{plugindir}
129 %{plugindir}/admin
130 %{plugindir}/syntax
131 %{plugindir}/conf
132 %{plugindir}/db
133 %{plugindir}/*.js
134 %{plugindir}/*.php
135 %{plugindir}/*.txt
136 %{plugindir}/*.css
137 %attr(660,http,http) %ghost %{metadir}/data.sqlite
138 %attr(660,http,http) %ghost %{metadir}/data.sqlite3
This page took 0.101126 seconds and 3 git commands to generate.