Release version 1.3.1
[platform/core/security/privilege-checker.git] / packaging / privilege-checker.spec
1 %{!?build_type:%global build_type RELEASE}
2
3 Name:    privilege-checker
4 Summary: Privilege Management
5 Version: 1.3.1
6 Release: 0
7 Group:   System/Libraries
8 License: Apache-2.0
9 Source0: %{name}-%{version}.tar.gz
10 Source1000: privilege-checker.ini
11
12 %description
13 Package for Privilege Management
14
15 %package -n security-privilege-manager
16 Summary:    Privilege Manager API
17 BuildRequires: cmake
18 BuildRequires: pkgconfig(dlog)
19 BuildRequires: pkgconfig(iniparser)
20 BuildRequires: gettext-tools
21 BuildRequires: pkgconfig(pkgmgr-info)
22 BuildRequires: pkgconfig(glib-2.0)
23 BuildRequires: pkgconfig(sqlite3)
24 BuildRequires: pkgconfig(libtzplatform-config)
25 %if "%{build_type}" == "COVERAGE"
26 BuildRequires: lcov
27 %endif
28 Requires: security-config
29 Requires: tizen-platform-config
30 Requires: pkgmgr
31 Requires: tizen-locale
32 Requires(post): /sbin/ldconfig
33 Requires(postun): /sbin/ldconfig
34 Provides: security-privilege-manager-profile_common = %{version}-%{release}
35 Provides: security-privilege-manager-profile_ivi = %{version}-%{release}
36
37 %description -n security-privilege-manager
38 The Privilege Manager API provides functions to verify privilege information of packages to be installed.
39
40 %package -n security-privilege-manager-extension-mobile
41 Summary:    Privilege Manager API extension for Tizen Mobile profile
42 Provides:   security-privilege-manager-profile_mobile = %{version}-%{release}
43 Requires:   security-privilege-manager = %{version}-%{release}
44 Conflicts:  security-privliege-manager-extension-wearable
45 Conflicts:  security-privliege-manager-extension-tv
46 Conflicts:  security-privilege-manager-extension-iot
47
48 %description -n security-privilege-manager-extension-mobile
49 The Privilege Manager API provides functions to verify privilege information of packages to be installed.
50 This is an extension for privilege manager for Tizen Mobile profile,
51 which requires security-profile-manger to be installed before this.
52
53 %package -n security-privilege-manager-extension-tv
54 Summary:    Privilege Manager API extension for Tizen TV profile
55 Provides:   security-privilege-manager-profile_tv = %{version}-%{release}
56 Requires:   security-privilege-manager = %{version}-%{release}
57 Conflicts:  security-privliege-manager-extension-wearable
58 Conflicts:  security-privliege-manager-extension-mobile
59 Conflicts:  security-privilege-manager-extension-iot
60
61 %description -n security-privilege-manager-extension-tv
62 The Privilege Manager API provides functions to verify privilege information of packages to be installed.
63 This is an extension for privilege manager for Tizen TV profile,
64 which requires security-profile-manger to be installed before this.
65
66 %package -n security-privilege-manager-extension-wearable
67 Summary:    Privilege Manager API extension for Tizen Wearable profile
68 Provides:   security-privilege-manager-profile_wearable = %{version}-%{release}
69 Requires:   security-privilege-manager = %{version}-%{release}
70 Conflicts:  security-privliege-manager-extension-tv
71 Conflicts:  security-privliege-manager-extension-mobile
72 Conflicts:  security-privilege-manager-extension-iot
73
74 %description -n security-privilege-manager-extension-wearable
75 The Privilege Manager API provides functions to verify privilege information of packages to be installed.
76 This is an extension for privilege manager for Tizen Wearable profile,
77 which requires security-profile-manger to be installed before this.
78
79 %package -n security-privilege-manager-extension-iot
80 Summary:    Privilege Manager API extension for Tizen IoT profile
81 Provides:   security-privilege-manager-profile_iot = %{version}-%{release}
82 Requires:   security-privilege-manager = %{version}-%{release}
83 Conflicts:  security-privilege-manager-extension-tv
84 Conflicts:  security-privilege-manager-extension-mobile
85 Conflicts:  security-privilege-manager-extension-wearable
86
87 %description -n security-privilege-manager-extension-iot
88 The Privilege Manager API provides functions to verify privilege information of packages to be installed.
89 This is an extension for privilege manager for Tizen IoT profile,
90 which requires security-profile-manger to be installed before this.
91
92 %package -n security-privilege-manager-devel
93 Summary:    Privilege Manager API (Development)
94 Requires:   security-privilege-manager = %{version}-%{release}
95
96 %description -n security-privilege-manager-devel
97 The Privilege Manager API provides functions to verify privilege information of packages to be installed.
98
99 %package -n security-privilege-manager-tests
100 Summary:    Internal TC for privilege-checker
101
102 %description -n security-privilege-manager-tests
103 Internal TC for privilege-checker APIs
104
105 %if "%{build_type}" == "COVERAGE"
106
107 %package -n security-privilege-manager-coverage
108 Summary: Privilege Checker code coverage data
109 Requires: security-privilege-manager-tests = %{version}-%{release}
110 Requires: privilege-checker-debugsource = %{version}-%{release}
111 Requires: lcov
112 Requires: gcc
113
114 %description -n security-privilege-manager-coverage
115 Privilege Checker code coverage data
116
117 %endif
118
119 %package -n privilege-verifier
120 Summary:    Privilege Verification Utility
121 BuildRequires: pkgconfig(sqlite3)
122 BuildRequires: pkgconfig(glib-2.0)
123 BuildRequires: pkgconfig(iniparser)
124
125 %description -n privilege-verifier
126 The Privilege Verifier Utility provides functions to verify privilege information of packages to be installed.
127
128 %prep
129 %setup -q
130 cp %{SOURCE1000} .
131
132 %build
133
134 %global coverage_dir %{_datadir}/privilege-checker-coverage
135
136 %cmake . -DCMAKE_BUILD_TYPE=%{build_type} \
137         -DTZ_SYS_DB=%TZ_SYS_DB \
138         -DTZ_SYS_SHARE=%TZ_SYS_SHARE \
139         -DCOVERAGE_DIR=%{coverage_dir}
140
141 make %{?jobs:-j%jobs}
142
143 %install
144 rm -rf %{buildroot}
145 mkdir -p %{buildroot}%{_datadir}/privilege-manager
146 mkdir -p %{buildroot}/%{TZ_SYS_DB}
147 %make_install
148
149 mkdir -p %{buildroot}%{_sysconfdir}
150 sed "s|@PROFILE@|common|" privilege-checker.ini > %{buildroot}%{_sysconfdir}/privilege-checker.ini
151 sed "s|@PROFILE@|tv|" privilege-checker.ini > %{buildroot}%{_sysconfdir}/privilege-checker.ini.tv
152 sed "s|@PROFILE@|wearable|" privilege-checker.ini > %{buildroot}%{_sysconfdir}/privilege-checker.ini.wearable
153 sed "s|@PROFILE@|mobile|" privilege-checker.ini > %{buildroot}%{_sysconfdir}/privilege-checker.ini.mobile
154 sed "s|@PROFILE@|iot|" privilege-checker.ini > %{buildroot}%{_sysconfdir}/privilege-checker.ini.iot
155
156 mv %{buildroot}%{_datadir}/privilege-manager/.privilege.mobile.db %{buildroot}%{_datadir}/privilege-manager/.privilege.db
157
158 %clean
159 rm -rf %{buildroot}
160
161 %post -n security-privilege-manager
162 /sbin/ldconfig
163 chsmack -a System %{TZ_SYS_DB}/.policy.db
164 chsmack -a System %{TZ_SYS_DB}/.policy.db-journal
165 chsmack -a System::Shared %{TZ_SYS_DB}/.privacy.db
166 chsmack -a System::Shared %{TZ_SYS_DB}/.privacy.db-journal
167 %{_datadir}/privilege-manager/policy_db_updater.sh
168
169 %postun -n security-privilege-manager
170 /sbin/ldconfig
171
172 %files -n security-privilege-manager
173 %license LICENSE.APLv2
174 %manifest packaging/security-privilege-manager.manifest
175 %{_libdir}/libsecurity-privilege-manager.so*
176 %{_datadir}/locale/*
177 %{_datadir}/privilege-manager/.privilege.db
178 %attr(700,root,root) %{_datadir}/privilege-manager/policy_db_updater.sh
179 %attr(700,root,root) %{_bindir}/privilege-db-update
180 %config(noreplace) %attr(0660, root, security_fw) /%{TZ_SYS_DB}/.policy.db
181 %config(noreplace) %attr(0660, root, security_fw) /%{TZ_SYS_DB}/.policy.db-journal
182 %config(noreplace) %attr(0664, root, app_fw) /%{TZ_SYS_DB}/.privacy.db
183 %config(noreplace) %attr(0664, root, app_fw) /%{TZ_SYS_DB}/.privacy.db-journal
184 %{_sysconfdir}/privilege-checker.ini
185
186 %post -n security-privilege-manager-extension-mobile
187 mv %{_sysconfdir}/privilege-checker.ini.mobile %{_sysconfdir}/privilege-checker.ini
188
189 %files -n security-privilege-manager-extension-mobile
190 %license LICENSE.APLv2
191 %manifest packaging/security-privilege-manager.manifest
192 %{_sysconfdir}/privilege-checker.ini.mobile
193
194 %post -n security-privilege-manager-extension-tv
195 mv %{_datadir}/privilege-manager/.privilege.tv.db %{_datadir}/privilege-manager/.privilege.db
196 mv %{_sysconfdir}/privilege-checker.ini.tv %{_sysconfdir}/privilege-checker.ini
197
198 %files -n security-privilege-manager-extension-tv
199 %license LICENSE.APLv2
200 %manifest packaging/security-privilege-manager.manifest
201 %{_datadir}/privilege-manager/.privilege.tv.db
202 %{_sysconfdir}/privilege-checker.ini.tv
203
204 %post -n security-privilege-manager-extension-wearable
205 mv %{_datadir}/privilege-manager/.privilege.wearable.db %{_datadir}/privilege-manager/.privilege.db
206 mv %{_sysconfdir}/privilege-checker.ini.wearable %{_sysconfdir}/privilege-checker.ini
207
208 %files -n security-privilege-manager-extension-wearable
209 %license LICENSE.APLv2
210 %manifest packaging/security-privilege-manager.manifest
211 %{_datadir}/privilege-manager/.privilege.wearable.db
212 %{_sysconfdir}/privilege-checker.ini.wearable
213
214 %post -n security-privilege-manager-extension-iot
215 mv %{_datadir}/privilege-manager/.privilege.iot.db %{_datadir}/privilege-manager/.privilege.db
216 mv %{_sysconfdir}/privilege-checker.ini.iot %{_sysconfdir}/privilege-checker.ini
217
218 %files -n security-privilege-manager-extension-iot
219 %license LICENSE.APLv2
220 %manifest packaging/security-privilege-manager.manifest
221 %{_datadir}/privilege-manager/.privilege.iot.db
222 %{_sysconfdir}/privilege-checker.ini.iot
223
224 %files -n security-privilege-manager-devel
225 %{_includedir}/privilegemgr/*.h
226 %{_libdir}/pkgconfig/security-privilege-manager.pc
227
228 %files -n security-privilege-manager-tests
229 %{_bindir}/privilege-checker-tests
230
231 %if "%{build_type}" == "COVERAGE"
232
233 %files -n security-privilege-manager-coverage
234 %{_bindir}/privilege-checker-coverage.sh
235 %coverage_dir
236
237 %endif
238
239 %files -n privilege-verifier
240 %license LICENSE.APLv2
241 %{_bindir}/privilege-verifier
242
243 %files -n privilege-checker
244 %license LICENSE.APLv2