Fix rules updating after permissions reloading.
[platform/core/security/libprivilege-control.git] / packaging / libprivilege-control.spec
1 Name:       libprivilege-control
2 Summary:    Library to control privilege of application
3 Version:    0.0.43.TIZEN
4 Release:    1
5 Group:      Security/Access Control
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source1001:    %{name}.manifest
9 BuildRequires: cmake
10 BuildRequires: libcap-devel
11 BuildRequires: pkgconfig(libsmack)
12 BuildRequires: pkgconfig(dlog)
13 BuildRequires: pkgconfig(libiri)
14 BuildRequires: pkgconfig(sqlite3)
15 BuildRequires: pkgconfig(libtzplatform-config)
16
17 %description
18 development package of library to control privilege of in-house application
19
20 %package devel
21 Summary:    Control privilege of application (devel)
22 Requires:   %{name} = %{version}-%{release}
23
24 %description devel
25 Library to control privilege of application (devel)
26
27 %package conf
28 Summary:    Control privilege of application files
29 Requires:   %{name} = %{version}-%{release}
30
31 %description conf
32 Library to control privilege of application files
33
34
35 %prep
36 %setup -q
37 cp %{SOURCE1001} .
38
39 %build
40 %if 0%{?sec_build_binary_debug_enable}
41 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
42 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
43 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
44 %endif
45
46 export CFLAGS="${CFLAGS} -Wno-implicit-function-declaration"
47 %cmake . -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:RELEASE} \
48          -DCMAKE_VERBOSE_MAKEFILE=ON \
49          -DTZ_SYS_DB=%TZ_SYS_DB \
50          -DTZ_SYS_HOME=%TZ_SYS_HOME \
51          -DTZ_SYS_ETC=%TZ_SYS_ETC
52
53 VERBOSE=1 make %{?jobs:-j%jobs}
54
55 %install
56 %make_install
57 mkdir -p %{buildroot}%{_datadir}/privilege-control/
58
59 mkdir -p %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants
60 ln -sf %{_libdir}/systemd/system/smack-rules.service %{buildroot}%{_libdir}/systemd/system/multi-user.target.wants/smack-rules.service
61 mkdir -p %{buildroot}%{TZ_SYS_DB}
62
63 sed -i 's|TZ_SYS_DB|%{TZ_SYS_DB}|g' %{SOURCE1001}
64
65 %post
66 /sbin/ldconfig
67
68 %{_datadir}/privilege-control/db/updater.sh
69 chsmack -a 'System' %{TZ_SYS_DB}/.rules-db.db3*
70
71 %postun -p /sbin/ldconfig
72
73 api_feature_loader --verbose --dir=%{_datadir}/privilege-control/
74
75 %check
76 ./db/updater.sh --check-files %{buildroot}
77
78 %files
79 %manifest %{name}.manifest
80 %license LICENSE
81 %{_libdir}/*.so.*
82 %{_libdir}/librules-db-sql-udf.so
83 #systemd service
84 %{_libdir}/systemd/system/smack-rules.service
85 %{_bindir}/api_feature_loader
86 #link to activate systemd service
87 %{_libdir}/systemd/system/multi-user.target.wants/smack-rules.service
88 %{_datadir}/privilege-control/db/rules-db.sql
89 %{_datadir}/privilege-control/db/rules-db-data.sql
90 %{_datadir}/privilege-control/db/updater.sh
91 %{_datadir}/privilege-control/db/updates/*
92 %{_datadir}/privilege-control/db/load-rules-db.sql
93 %{TZ_SYS_ETC}/opt/upgrade/220.libprivilege-updater.patch.sh
94 %attr(755, root, root) %dir %{TZ_SYS_DB}
95
96 %files conf
97 %manifest %{name}.manifest
98 %{TZ_SYS_DB}/.privilege_control*.db
99
100 %files devel
101 %manifest %{name}.manifest
102 %{_includedir}/*.h
103 %{_libdir}/*.so
104 %{_libdir}/pkgconfig/*.pc