1 Name: privilege-checker
2 Summary: Privilege Management
5 Group: System/Libraries
7 Source0: %{name}-%{version}.tar.gz
8 Source1000: privilege-checker.ini
10 BuildRequires: pkgconfig(dlog)
11 BuildRequires: pkgconfig(iniparser)
12 Requires(post): /sbin/ldconfig
13 Requires(postun): /sbin/ldconfig
15 %if !%{defined build_type}
16 %define build_type RELEASE
20 Pakcage for Privilege Management
22 %package -n privilege-checker-devel
23 summary: Package for Privilege Management (DEV)
24 Group: Development/Libraries
25 Requires: privilege-checker = %{version}-%{release}
27 %description -n privilege-checker-devel
28 Package for Privilege Management (DEV)
30 %package -n security-privilege-manager
31 Summary: Privilege Manager API
33 BuildRequires: pkgconfig(dlog)
34 BuildRequires: gettext-tools
35 BuildRequires: pkgconfig(pkgmgr-info)
36 BuildRequires: pkgconfig(glib-2.0)
37 BuildRequires: pkgconfig(sqlite3)
38 BuildRequires: pkgconfig(libtzplatform-config)
39 Requires: security-config
40 Requires: tizen-platform-config
42 Requires(post): /sbin/ldconfig
43 Requires(postun): /sbin/ldconfig
44 Provides: security-privilege-manager-profile_common = %{version}-%{release}
45 Provides: security-privilege-manager-profile_ivi = %{version}-%{release}
47 %description -n security-privilege-manager
48 The Privilege Manager API provides functions to verify privilege information of packages to be installed.
50 %package -n security-privilege-manager-extension-mobile
51 Summary: Privilege Manager API extension for Tizen Mobile profile
52 Provides: security-privilege-manager-profile_mobile = %{version}-%{release}
53 Requires: security-privilege-manager = %{version}-%{release}
54 Conflicts: security-privliege-manager-extension-wearable
55 Conflicts: security-privliege-manager-extension-tv
56 %description -n security-privilege-manager-extension-mobile
57 The Privilege Manager API provides functions to verify privilege information of packages to be installed. This is an extension for privilege manager for Tizen Mobile profile, which requires security-profile-manger to be installed before this.
59 %package -n security-privilege-manager-extension-tv
60 Summary: Privilege Manager API extension for Tizen TV profile
61 Provides: security-privilege-manager-profile_tv = %{version}-%{release}
62 Requires: security-privilege-manager = %{version}-%{release}
63 Conflicts: security-privliege-manager-extension-wearable
64 Conflicts: security-privliege-manager-extension-mobile
65 %description -n security-privilege-manager-extension-tv
66 The Privilege Manager API provides functions to verify privilege information of packages to be installed. This is an extension for privilege manager for Tizen TV profile, which requires security-profile-manger to be installed before this.
68 %package -n security-privilege-manager-extension-wearable
69 Summary: Privilege Manager API extension for Tizen Wearable profile
70 Provides: security-privilege-manager-profile_wearable = %{version}-%{release}
71 Requires: security-privilege-manager = %{version}-%{release}
72 Conflicts: security-privliege-manager-extension-tv
73 Conflicts: security-privliege-manager-extension-mobile
74 %description -n security-privilege-manager-extension-wearable
75 The Privilege Manager API provides functions to verify privilege information of packages to be installed. This is an extension for privilege manager for Tizen Wearable profile, which requires security-profile-manger to be installed before this.
77 %package -n security-privilege-manager-devel
78 Summary: Privilege Manager API (Development)
79 Requires: security-privilege-manager
81 %description -n security-privilege-manager-devel
82 The Privilege Manager API provides functions to verify privilege information of packages to be installed.(DEV)
84 %package -n tc-privilege-checker
85 Summary: Internal TC for privilege-checker
87 %description -n tc-privilege-checker
88 Internal TC for privilege-checker APIs
90 %package -n privilege-verifier
91 Summary: Privilege Verification Utility
92 BuildRequires: pkgconfig(sqlite3)
93 BuildRequires: pkgconfig(glib-2.0)
95 %description -n privilege-verifier
96 The Privilege Verifier Utility provides functions to verify privilege information of packages to be installed.
107 export CFLAGS="$CFLAGS -DTIZEN_ENGINEER_MODE "
108 export CXXFLAGS="$CXXFLAGS -DTIZEN_ENGINEER_MODE "
109 %if %{?build_type} == "DEBUG"
110 export CFLAGS="$CFLAGS -Wp,-U_FORTIFY_SOURCE"
112 export FFLAGS="$FFLAGS -DTIZEN_ENGINEER_MODE"
114 echo cmake . -DPREFIX=%{_prefix} \
115 -DEXEC_PREFIX=%{_exec_prefix} \
116 -DLIBDIR=%{_libdir} \
117 -DINCLUDEDIR=%{_includedir} \
118 -DCMAKE_BUILD_TYPE=%{build_type} \
119 -DVERSION=%{version} \
121 -DDATADIR=%{_datadir} \
122 -DTZ_SYS_DB=%TZ_SYS_DB \
123 -DTZ_SYS_SHARE=%TZ_SYS_SHARE
125 cmake . -DPREFIX=%{_prefix} \
126 -DEXEC_PREFIX=%{_exec_prefix} \
127 -DLIBDIR=%{_libdir} \
128 -DINCLUDEDIR=%{_includedir} \
129 -DCMAKE_BUILD_TYPE=%{build_type} \
130 -DVERSION=%{version} \
132 -DDATADIR=%{_datadir} \
133 -DTZ_SYS_DB=%TZ_SYS_DB \
134 -DTZ_SYS_SHARE=%TZ_SYS_SHARE
136 make %{?jobs:-j%jobs}
140 %if "%{?build_type}" != "NO_DB"
141 mkdir -p %{buildroot}%{_datadir}/privilege-manager
142 mkdir -p %{buildroot}/%{TZ_SYS_DB}
146 mkdir -p %{buildroot}%{_sysconfdir}
147 sed "s|@PROFILE@|common|" privilege-checker.ini > %{buildroot}%{_sysconfdir}/privilege-checker.ini
148 sed "s|@PROFILE@|tv|" privilege-checker.ini > %{buildroot}%{_sysconfdir}/privilege-checker.ini.tv
149 sed "s|@PROFILE@|wearable|" privilege-checker.ini > %{buildroot}%{_sysconfdir}/privilege-checker.ini.wearable
150 sed "s|@PROFILE@|mobile|" privilege-checker.ini > %{buildroot}%{_sysconfdir}/privilege-checker.ini.mobile
152 %if "%{?build_type}" != "NO_DB"
153 mv %{buildroot}%{_datadir}/privilege-manager/.privilege.mobile.db %{buildroot}%{_datadir}/privilege-manager/.privilege.db
156 %post -n security-privilege-manager
158 %if "%{?build_type}" != "NO_DB"
159 chsmack -a System %{TZ_SYS_DB}/.policy.db
160 chsmack -a System %{TZ_SYS_DB}/.policy.db-journal
161 chsmack -a System::Shared %{TZ_SYS_DB}/.privacy.db
162 chsmack -a System::Shared %{TZ_SYS_DB}/.privacy.db-journal
164 %{_datadir}/privilege-manager/policy_db_updater.sh
166 %postun -n security-privilege-manager -p /sbin/ldconfig
168 %files -n privilege-checker
169 %manifest packaging/privilege-checker.manifest
170 %license LICENSE.APLv2
172 %files -n security-privilege-manager
173 %{_libdir}/libsecurity-privilege-manager.so*
175 %if "%{?build_type}" != "NO_DB"
176 %{_datadir}/privilege-manager/.privilege.db
177 %attr(700,root,root) %{_datadir}/privilege-manager/policy_db_updater.sh
178 %attr(700,root,root) %{_bindir}/privilege-db-update
179 %config(noreplace) %attr(0660, root, security_fw) /%{TZ_SYS_DB}/.policy.db
180 %config(noreplace) %attr(0660, root, security_fw) /%{TZ_SYS_DB}/.policy.db-journal
181 %config(noreplace) %attr(0664, root, app_fw) /%{TZ_SYS_DB}/.privacy.db
182 %config(noreplace) %attr(0664, root, app_fw) /%{TZ_SYS_DB}/.privacy.db-journal
184 %manifest packaging/security-privilege-manager.manifest
185 %license LICENSE.APLv2
186 %{_sysconfdir}/privilege-checker.ini
188 %post -n security-privilege-manager-extension-mobile
189 mv %{_sysconfdir}/privilege-checker.ini.mobile %{_sysconfdir}/privilege-checker.ini
191 %files -n security-privilege-manager-extension-mobile
192 %license LICENSE.APLv2
193 %{_sysconfdir}/privilege-checker.ini.mobile
195 %post -n security-privilege-manager-extension-tv
196 %if "%{?build_type}" != "NO_DB"
197 mv %{_datadir}/privilege-manager/.privilege.tv.db %{_datadir}/privilege-manager/.privilege.db
199 mv %{_sysconfdir}/privilege-checker.ini.tv %{_sysconfdir}/privilege-checker.ini
201 %files -n security-privilege-manager-extension-tv
202 %if "%{?build_type}" != "NO_DB"
203 %{_datadir}/privilege-manager/.privilege.tv.db
205 %manifest packaging/security-privilege-manager.manifest
206 %license LICENSE.APLv2
207 %{_sysconfdir}/privilege-checker.ini.tv
209 %post -n security-privilege-manager-extension-wearable
210 %if "%{?build_type}" != "NO_DB"
211 mv %{_datadir}/privilege-manager/.privilege.wearable.db %{_datadir}/privilege-manager/.privilege.db
213 mv %{_sysconfdir}/privilege-checker.ini.wearable %{_sysconfdir}/privilege-checker.ini
215 %files -n security-privilege-manager-extension-wearable
216 %if "%{?build_type}" != "NO_DB"
217 %{_datadir}/privilege-manager/.privilege.wearable.db
219 %manifest packaging/security-privilege-manager.manifest
220 %license LICENSE.APLv2
221 %{_sysconfdir}/privilege-checker.ini.wearable
223 %files -n security-privilege-manager-devel
224 %{_includedir}/privilegemgr/*.h
225 %{_libdir}/pkgconfig/security-privilege-manager.pc
227 %files -n tc-privilege-checker
228 %{_bindir}/tc-privilege-db-manager
229 %{_bindir}/tc-privilege-manager
230 %{_bindir}/tc-privilege-info
231 %{_bindir}/tc-privilege-black-list
232 %{_bindir}/tc-privilege-package-info
234 %files -n privilege-verifier
235 %license LICENSE.APLv2
236 %{_bindir}/privilege-verifier