1 %{!?build_type:%global build_type RELEASE}
3 Name: privilege-checker
4 Summary: Privilege Management
7 Group: System/Libraries
9 Source0: %{name}-%{version}.tar.gz
10 Source1000: privilege-checker.ini
13 Package for Privilege Management
15 %package -n security-privilege-manager
16 Summary: Privilege Manager API
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"
28 Requires: security-config
29 Requires: tizen-platform-config
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}
37 %description -n security-privilege-manager
38 The Privilege Manager API provides functions to verify privilege information of packages to be installed.
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
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.
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
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.
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
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.
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
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.
92 %package -n security-privilege-manager-devel
93 Summary: Privilege Manager API (Development)
94 Requires: security-privilege-manager = %{version}-%{release}
96 %description -n security-privilege-manager-devel
97 The Privilege Manager API provides functions to verify privilege information of packages to be installed.
99 %package -n security-privilege-manager-tests
100 Summary: Internal TC for privilege-checker
102 %description -n security-privilege-manager-tests
103 Internal TC for privilege-checker APIs
105 %if "%{build_type}" == "COVERAGE"
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}
114 %description -n security-privilege-manager-coverage
115 Privilege Checker code coverage data
119 %package -n privilege-verifier
120 Summary: Privilege Verification Utility
121 BuildRequires: pkgconfig(sqlite3)
122 BuildRequires: pkgconfig(glib-2.0)
123 BuildRequires: pkgconfig(iniparser)
125 %description -n privilege-verifier
126 The Privilege Verifier Utility provides functions to verify privilege information of packages to be installed.
134 %global coverage_dir %{_datadir}/privilege-checker-coverage
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}
141 make %{?jobs:-j%jobs}
145 mkdir -p %{buildroot}%{_datadir}/privilege-manager
146 mkdir -p %{buildroot}/%{TZ_SYS_DB}
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
156 mv %{buildroot}%{_datadir}/privilege-manager/.privilege.mobile.db %{buildroot}%{_datadir}/privilege-manager/.privilege.db
161 %post -n security-privilege-manager
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
169 %postun -n security-privilege-manager
172 %files -n security-privilege-manager
173 %license LICENSE.APLv2
174 %manifest packaging/security-privilege-manager.manifest
175 %{_libdir}/libsecurity-privilege-manager.so*
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
186 %post -n security-privilege-manager-extension-mobile
187 mv %{_sysconfdir}/privilege-checker.ini.mobile %{_sysconfdir}/privilege-checker.ini
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
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
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
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
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
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
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
224 %files -n security-privilege-manager-devel
225 %{_includedir}/privilegemgr/*.h
226 %{_libdir}/pkgconfig/security-privilege-manager.pc
228 %files -n security-privilege-manager-tests
229 %{_bindir}/privilege-checker-tests
231 %if "%{build_type}" == "COVERAGE"
233 %files -n security-privilege-manager-coverage
234 %{_bindir}/privilege-checker-coverage.sh
239 %files -n privilege-verifier
240 %license LICENSE.APLv2
241 %{_bindir}/privilege-verifier
243 %files -n privilege-checker
244 %license LICENSE.APLv2