Use %license macro to copy license file.
[platform/core/security/privilege-checker.git] / packaging / privilege-checker.spec
1 Name:    privilege-checker
2 Summary: Privilege Management
3 Version: 0.0.5
4 Release: 3
5 Group:   System/Libraries
6 License: Apache-2.0
7 Source0: %{name}-%{version}.tar.gz
8 Source1000: privilege-checker.ini
9 BuildRequires: cmake
10 BuildRequires: pkgconfig(dlog)
11 BuildRequires: pkgconfig(iniparser)
12 Requires(post): /sbin/ldconfig
13 Requires(postun): /sbin/ldconfig
14
15 %if !%{defined build_type}
16 %define build_type RELEASE
17 %endif
18
19 %description
20 Pakcage for Privilege Management
21
22 %package -n privilege-checker-devel
23 summary: Package for Privilege Management (DEV)
24 Group: Development/Libraries
25 Requires: privilege-checker = %{version}-%{release}
26
27 %description -n privilege-checker-devel
28 Package for Privilege Management (DEV)
29
30 %package -n security-privilege-manager
31 Summary:    Privilege Manager API
32 BuildRequires:  cmake
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}
43
44 %description -n security-privilege-manager
45 The Privilege Manager API provides functions to verify privilege information of packages to be installed.
46
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.
55
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.
64
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.
73
74 %package  -n security-privilege-manager-devel
75 Summary:  Privilege Manager API (Development)
76 Requires: security-privilege-manager
77
78 %description -n security-privilege-manager-devel
79 The Privilege Manager API provides functions to verify privilege information of packages to be installed.(DEV)
80
81 %package  -n tc-privilege-checker
82 Summary:  Internal TC for privilege-checker
83
84 %description -n tc-privilege-checker
85 Internal TC for privilege-checker APIs
86
87 %package -n privilege-verifier
88 Summary:    Privilege Verification Utility
89 BuildRequires: pkgconfig(sqlite3)
90 BuildRequires:  pkgconfig(glib-2.0)
91
92 %description -n privilege-verifier
93 The Privilege Verifier Utility provides functions to verify privilege information of packages to be installed.
94
95 %prep
96 %setup -q
97 cp %{SOURCE1000} .
98
99 %build
100 %if "%{asan}" == "1"
101 %restore_fcommon
102 %endif
103
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"
108 %endif
109 export FFLAGS="$FFLAGS -DTIZEN_ENGINEER_MODE"
110
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} \
117         -DDPL_LOG="ON" \
118         -DDATADIR=%{_datadir} \
119         -DTZ_SYS_DB=%TZ_SYS_DB \
120         -DTZ_SYS_SHARE=%TZ_SYS_SHARE
121
122 cmake . -DPREFIX=%{_prefix} \
123         -DEXEC_PREFIX=%{_exec_prefix} \
124         -DLIBDIR=%{_libdir} \
125         -DINCLUDEDIR=%{_includedir} \
126         -DCMAKE_BUILD_TYPE=%{build_type} \
127         -DVERSION=%{version} \
128         -DDPL_LOG="ON" \
129         -DDATADIR=%{_datadir} \
130         -DTZ_SYS_DB=%TZ_SYS_DB \
131         -DTZ_SYS_SHARE=%TZ_SYS_SHARE
132
133 make %{?jobs:-j%jobs}
134
135 %install
136 rm -rf %{buildroot}
137 %if "%{?build_type}" != "NO_DB"
138 mkdir -p %{buildroot}%{_datadir}/privilege-manager
139 mkdir -p %{buildroot}/%{TZ_SYS_DB}
140 %endif
141 %make_install
142
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
148
149
150
151 %if "%{?build_type}" != "NO_DB"
152 mv %{buildroot}%{_datadir}/privilege-manager/.core_privilege_info.mobile.db %{buildroot}%{_datadir}/privilege-manager/.core_privilege_info.db
153 mv %{buildroot}%{_datadir}/privilege-manager/.core_privilege_mapping.mobile.db %{buildroot}%{_datadir}/privilege-manager/.core_privilege_mapping.db
154 mv %{buildroot}%{_datadir}/privilege-manager/.wrt_privilege_info.mobile.db %{buildroot}%{_datadir}/privilege-manager/.wrt_privilege_info.db
155 mv %{buildroot}%{_datadir}/privilege-manager/.wrt_privilege_mapping.mobile.db %{buildroot}%{_datadir}/privilege-manager/.wrt_privilege_mapping.db
156 mv %{buildroot}/%{TZ_SYS_DB}/.policy.mobile.db %{buildroot}/%{TZ_SYS_DB}/.policy.db
157 mv %{buildroot}/%{TZ_SYS_DB}/.policy.mobile.db-journal %{buildroot}/%{TZ_SYS_DB}/.policy.db-journal
158 %endif
159
160 %find_lang privilege
161
162 %post -n security-privilege-manager
163 /sbin/ldconfig
164 %if "%{?build_type}" != "NO_DB"
165 chsmack -a System %{TZ_SYS_DB}/.policy.db
166 chsmack -a System %{TZ_SYS_DB}/.policy.db-journal
167 %endif
168 %{_datadir}/privilege-manager/policy_db_updater.sh
169
170 %postun -n security-privilege-manager -p /sbin/ldconfig
171
172 %files -n privilege-checker
173 %manifest packaging/privilege-checker.manifest
174 %license LICENSE.APLv2
175
176 %files -n security-privilege-manager -f privilege.lang
177 %{_libdir}/libsecurity-privilege-manager.so*
178 %if "%{?build_type}" != "NO_DB"
179 %{_datadir}/privilege-manager/.core_privilege_info.db
180 %{_datadir}/privilege-manager/.core_privilege_mapping.db
181 %{_datadir}/privilege-manager/.wrt_privilege_info.db
182 %{_datadir}/privilege-manager/.wrt_privilege_mapping.db
183 %attr(700,root,root) %{_datadir}/privilege-manager/policy_db_updater.sh
184 %config(noreplace) %attr(0660, root, security_fw) /%{TZ_SYS_DB}/.policy.db
185 %config(noreplace) %attr(0660, root, security_fw) /%{TZ_SYS_DB}/.policy.db-journal
186 %endif
187 %manifest packaging/security-privilege-manager.manifest
188 %license LICENSE.APLv2
189 %{_sysconfdir}/privilege-checker.ini
190
191 %post -n security-privilege-manager-extension-mobile
192 mv %{_sysconfdir}/privilege-checker.ini.mobile %{_sysconfdir}/privilege-checker.ini
193 %files -n security-privilege-manager-extension-mobile
194 %license LICENSE.APLv2
195 %{_sysconfdir}/privilege-checker.ini.mobile
196
197 %post -n security-privilege-manager-extension-tv
198 %if "%{?build_type}" != "NO_DB"
199 mv %{_datadir}/privilege-manager/.core_privilege_info.tv.db %{_datadir}/privilege-manager/.core_privilege_info.db
200 mv %{_datadir}/privilege-manager/.core_privilege_mapping.tv.db %{_datadir}/privilege-manager/.core_privilege_mapping.db
201 mv %{_datadir}/privilege-manager/.wrt_privilege_info.tv.db %{_datadir}/privilege-manager/.wrt_privilege_info.db
202 mv %{_datadir}/privilege-manager/.wrt_privilege_mapping.tv.db %{_datadir}/privilege-manager/.wrt_privilege_mapping.db
203 mv /%{TZ_SYS_DB}/.policy.tv.db /%{TZ_SYS_DB}/.policy.db
204 mv /%{TZ_SYS_DB}/.policy.tv.db-journal /%{TZ_SYS_DB}/.policy.db-journal
205
206 chsmack -a System %{TZ_SYS_DB}/.policy.db
207 chsmack -a System %{TZ_SYS_DB}/.policy.db-journal
208 %endif
209 mv %{_sysconfdir}/privilege-checker.ini.tv %{_sysconfdir}/privilege-checker.ini
210
211 %files -n security-privilege-manager-extension-tv
212 %if "%{?build_type}" != "NO_DB"
213 %{_datadir}/privilege-manager/.core_privilege_info.tv.db
214 %{_datadir}/privilege-manager/.core_privilege_mapping.tv.db
215 %{_datadir}/privilege-manager/.wrt_privilege_info.tv.db
216 %{_datadir}/privilege-manager/.wrt_privilege_mapping.tv.db
217 %config(noreplace) %attr(0660, root, security_fw) /%{TZ_SYS_DB}/.policy.tv.db
218 %config(noreplace) %attr(0660, root, security_fw) /%{TZ_SYS_DB}/.policy.tv.db-journal
219 %endif
220 %manifest packaging/security-privilege-manager.manifest
221 %license LICENSE.APLv2
222 %{_sysconfdir}/privilege-checker.ini.tv
223
224 %post -n security-privilege-manager-extension-wearable
225 %if "%{?build_type}" != "NO_DB"
226 mv %{_datadir}/privilege-manager/.core_privilege_info.wearable.db %{_datadir}/privilege-manager/.core_privilege_info.db
227 mv %{_datadir}/privilege-manager/.core_privilege_mapping.wearable.db %{_datadir}/privilege-manager/.core_privilege_mapping.db
228 mv %{_datadir}/privilege-manager/.wrt_privilege_info.wearable.db %{_datadir}/privilege-manager/.wrt_privilege_info.db
229 mv %{_datadir}/privilege-manager/.wrt_privilege_mapping.wearable.db %{_datadir}/privilege-manager/.wrt_privilege_mapping.db
230 mv /%{TZ_SYS_DB}/.policy.wearable.db /%{TZ_SYS_DB}/.policy.db
231 mv /%{TZ_SYS_DB}/.policy.wearable.db-journal /%{TZ_SYS_DB}/.policy.db-journal
232
233 chsmack -a System %{TZ_SYS_DB}/.policy.db
234 chsmack -a System %{TZ_SYS_DB}/.policy.db-journal
235 %endif
236 mv %{_sysconfdir}/privilege-checker.ini.wearable %{_sysconfdir}/privilege-checker.ini
237
238 %files -n security-privilege-manager-extension-wearable
239 %if "%{?build_type}" != "NO_DB"
240 %{_datadir}/privilege-manager/.core_privilege_info.wearable.db
241 %{_datadir}/privilege-manager/.core_privilege_mapping.wearable.db
242 %{_datadir}/privilege-manager/.wrt_privilege_info.wearable.db
243 %{_datadir}/privilege-manager/.wrt_privilege_mapping.wearable.db
244 %config(noreplace) %attr(0660, root, security_fw) /%{TZ_SYS_DB}/.policy.wearable.db
245 %config(noreplace) %attr(0660, root, security_fw) /%{TZ_SYS_DB}/.policy.wearable.db-journal
246 %endif
247 %manifest packaging/security-privilege-manager.manifest
248 %license LICENSE.APLv2
249 %{_sysconfdir}/privilege-checker.ini.wearable
250
251 %files -n security-privilege-manager-devel
252 %{_includedir}/privilegemgr/*.h
253 %{_libdir}/pkgconfig/security-privilege-manager.pc
254
255 %files -n tc-privilege-checker
256 %{_bindir}/tc-privilege-db-manager
257 %{_bindir}/tc-privilege-manager
258 %{_bindir}/tc-privilege-info
259 %{_bindir}/tc-privilege-black-list
260
261 %files -n privilege-verifier
262 %license LICENSE.APLv2
263 %{_bindir}/privilege-verifier
264
265 %clean
266 rm -rf %{buildroot}
267