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(post): /sbin/ldconfig
40 Requires(postun): /sbin/ldconfig
41 Provides: security-privilege-manager-profile_common = %{version}-%{release}
42 Provides: security-privilege-manager-profile_ivi = %{version}-%{release}
44 %description -n security-privilege-manager
45 The Privilege Manager API provides functions to verify privilege information of packages to be installed.
47 %package -n security-privilege-manager-extension-mobile
48 Summary: Privilege Manager API extension for Tizen Mobile profile
49 Provides: security-privilege-manager-profile_mobile = %{version}-%{release}
50 Requires: security-privilege-manager = %{version}-%{release}
51 Conflicts: security-privliege-manager-extension-wearable
52 Conflicts: security-privliege-manager-extension-tv
53 %description -n security-privilege-manager-extension-mobile
54 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.
56 %package -n security-privilege-manager-extension-tv
57 Summary: Privilege Manager API extension for Tizen TV profile
58 Provides: security-privilege-manager-profile_tv = %{version}-%{release}
59 Requires: security-privilege-manager = %{version}-%{release}
60 Conflicts: security-privliege-manager-extension-wearable
61 Conflicts: security-privliege-manager-extension-mobile
62 %description -n security-privilege-manager-extension-tv
63 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.
65 %package -n security-privilege-manager-extension-wearable
66 Summary: Privilege Manager API extension for Tizen Wearable profile
67 Provides: security-privilege-manager-profile_wearable = %{version}-%{release}
68 Requires: security-privilege-manager = %{version}-%{release}
69 Conflicts: security-privliege-manager-extension-tv
70 Conflicts: security-privliege-manager-extension-mobile
71 %description -n security-privilege-manager-extension-wearable
72 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.
74 %package -n security-privilege-manager-devel
75 Summary: Privilege Manager API (Development)
76 Requires: security-privilege-manager
78 %description -n security-privilege-manager-devel
79 The Privilege Manager API provides functions to verify privilege information of packages to be installed.(DEV)
81 %package -n tc-privilege-checker
82 Summary: Internal TC for privilege-checker
84 %description -n tc-privilege-checker
85 Internal TC for privilege-checker APIs
87 %package -n privilege-verifier
88 Summary: Privilege Verification Utility
89 BuildRequires: pkgconfig(sqlite3)
90 BuildRequires: pkgconfig(glib-2.0)
92 %description -n privilege-verifier
93 The Privilege Verifier Utility provides functions to verify privilege information of packages to be installed.
104 export CFLAGS="$CFLAGS -DTIZEN_ENGINEER_MODE "
105 export CXXFLAGS="$CXXFLAGS -DTIZEN_ENGINEER_MODE "
106 %if %{?build_type} == "DEBUG"
107 export CFLAGS="$CFLAGS -Wp,-U_FORTIFY_SOURCE"
109 export FFLAGS="$FFLAGS -DTIZEN_ENGINEER_MODE"
111 echo cmake . -DPREFIX=%{_prefix} \
112 -DEXEC_PREFIX=%{_exec_prefix} \
113 -DLIBDIR=%{_libdir} \
114 -DINCLUDEDIR=%{_includedir} \
115 -DCMAKE_BUILD_TYPE=%{build_type} \
116 -DVERSION=%{version} \
118 -DDATADIR=%{_datadir} \
119 -DTZ_SYS_DB=%TZ_SYS_DB \
120 -DTZ_SYS_SHARE=%TZ_SYS_SHARE
122 cmake . -DPREFIX=%{_prefix} \
123 -DEXEC_PREFIX=%{_exec_prefix} \
124 -DLIBDIR=%{_libdir} \
125 -DINCLUDEDIR=%{_includedir} \
126 -DCMAKE_BUILD_TYPE=%{build_type} \
127 -DVERSION=%{version} \
129 -DDATADIR=%{_datadir} \
130 -DTZ_SYS_DB=%TZ_SYS_DB \
131 -DTZ_SYS_SHARE=%TZ_SYS_SHARE
133 make %{?jobs:-j%jobs}
137 %if "%{?build_type}" != "NO_DB"
138 mkdir -p %{buildroot}%{_datadir}/privilege-manager
139 mkdir -p %{buildroot}/%{TZ_SYS_DB}
143 mkdir -p %{buildroot}%{_sysconfdir}
144 sed "s|@PROFILE@|common|" privilege-checker.ini > %{buildroot}%{_sysconfdir}/privilege-checker.ini
145 sed "s|@PROFILE@|tv|" privilege-checker.ini > %{buildroot}%{_sysconfdir}/privilege-checker.ini.tv
146 sed "s|@PROFILE@|wearable|" privilege-checker.ini > %{buildroot}%{_sysconfdir}/privilege-checker.ini.wearable
147 sed "s|@PROFILE@|mobile|" privilege-checker.ini > %{buildroot}%{_sysconfdir}/privilege-checker.ini.mobile
149 %if "%{?build_type}" != "NO_DB"
150 mv %{buildroot}%{_datadir}/privilege-manager/.privilege.mobile.db %{buildroot}%{_datadir}/privilege-manager/.privilege.db
153 %post -n security-privilege-manager
155 %if "%{?build_type}" != "NO_DB"
156 chsmack -a System %{TZ_SYS_DB}/.policy.db
157 chsmack -a System %{TZ_SYS_DB}/.policy.db-journal
158 chsmack -a System::Shared %{TZ_SYS_DB}/.privacy.db
159 chsmack -a System::Shared %{TZ_SYS_DB}/.privacy.db-journal
161 %{_datadir}/privilege-manager/policy_db_updater.sh
163 %postun -n security-privilege-manager -p /sbin/ldconfig
165 %files -n privilege-checker
166 %manifest packaging/privilege-checker.manifest
167 %license LICENSE.APLv2
169 %files -n security-privilege-manager
170 %{_libdir}/libsecurity-privilege-manager.so*
172 %if "%{?build_type}" != "NO_DB"
173 %{_datadir}/privilege-manager/.privilege.db
174 %attr(700,root,root) %{_datadir}/privilege-manager/policy_db_updater.sh
175 %attr(700,root,root) %{_bindir}/privilege-db-update
176 %config(noreplace) %attr(0660, root, security_fw) /%{TZ_SYS_DB}/.policy.db
177 %config(noreplace) %attr(0660, root, security_fw) /%{TZ_SYS_DB}/.policy.db-journal
178 %config(noreplace) %attr(0664, root, app_fw) /%{TZ_SYS_DB}/.privacy.db
179 %config(noreplace) %attr(0664, root, app_fw) /%{TZ_SYS_DB}/.privacy.db-journal
181 %manifest packaging/security-privilege-manager.manifest
182 %license LICENSE.APLv2
183 %{_sysconfdir}/privilege-checker.ini
185 %post -n security-privilege-manager-extension-mobile
186 mv %{_sysconfdir}/privilege-checker.ini.mobile %{_sysconfdir}/privilege-checker.ini
188 %files -n security-privilege-manager-extension-mobile
189 %license LICENSE.APLv2
190 %{_sysconfdir}/privilege-checker.ini.mobile
192 %post -n security-privilege-manager-extension-tv
193 %if "%{?build_type}" != "NO_DB"
194 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 %if "%{?build_type}" != "NO_DB"
200 %{_datadir}/privilege-manager/.privilege.tv.db
202 %manifest packaging/security-privilege-manager.manifest
203 %license LICENSE.APLv2
204 %{_sysconfdir}/privilege-checker.ini.tv
206 %post -n security-privilege-manager-extension-wearable
207 %if "%{?build_type}" != "NO_DB"
208 mv %{_datadir}/privilege-manager/.privilege.wearable.db %{_datadir}/privilege-manager/.privilege.db
210 mv %{_sysconfdir}/privilege-checker.ini.wearable %{_sysconfdir}/privilege-checker.ini
212 %files -n security-privilege-manager-extension-wearable
213 %if "%{?build_type}" != "NO_DB"
214 %{_datadir}/privilege-manager/.privilege.wearable.db
216 %manifest packaging/security-privilege-manager.manifest
217 %license LICENSE.APLv2
218 %{_sysconfdir}/privilege-checker.ini.wearable
220 %files -n security-privilege-manager-devel
221 %{_includedir}/privilegemgr/*.h
222 %{_libdir}/pkgconfig/security-privilege-manager.pc
224 %files -n tc-privilege-checker
225 %{_bindir}/tc-privilege-db-manager
226 %{_bindir}/tc-privilege-manager
227 %{_bindir}/tc-privilege-info
228 %{_bindir}/tc-privilege-black-list
229 %{_bindir}/tc-privilege-package-info
231 %files -n privilege-verifier
232 %license LICENSE.APLv2
233 %{_bindir}/privilege-verifier