f339a1556f50fc84fb1d2bf9f591327366da6eab
[platform/core/security/security-manager.git] / packaging / security-manager.spec
1 Name:       security-manager
2 Summary:    Security manager and utilities
3 Version:    0.1.0
4 Release:    1
5 Group:      Security/Service
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 Source1:    security-manager.manifest
9 Source3:    libsecurity-manager-client.manifest
10 BuildRequires: cmake
11 BuildRequires: zip
12 BuildRequires: pkgconfig(dlog)
13 BuildRequires: libattr-devel
14 BuildRequires: libcap-devel
15 BuildRequires: pkgconfig(libsmack)
16 BuildRequires: pkgconfig(libprivilege-control)
17 BuildRequires: pkgconfig(libsystemd-daemon)
18 BuildRequires: pkgconfig(sqlite3)
19 BuildRequires: pkgconfig(db-util)
20 BuildRequires: boost-devel
21 %{?systemd_requires}
22
23 %description
24 Tizen security manager and utilities
25
26 %package -n libsecurity-manager-client
27 Summary:    Security manager (client)
28 Group:      Security/Libraries
29 Requires:   security-manager = %{version}-%{release}
30 Requires(post): /sbin/ldconfig
31 Requires(postun): /sbin/ldconfig
32
33 %description -n libsecurity-manager-client
34 Tizen Security manager client library
35
36 %package -n libsecurity-manager-client-devel
37 Summary:    Security manager (client-devel)
38 Group:      Security/Development
39 Requires:   libsecurity-manager-client = %{version}-%{release}
40
41 %description -n libsecurity-manager-client-devel
42 Development files needed for using the security manager client
43
44 %prep
45 %setup -q
46 cp %{SOURCE1} .
47 cp %{SOURCE3} .
48
49 %build
50 %if 0%{?sec_build_binary_debug_enable}
51 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
52 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
53 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
54 %endif
55
56 export LDFLAGS+="-Wl,--rpath=%{_libdir}"
57
58 %cmake . -DVERSION=%{version} \
59         -DBIN_INSTALL_DIR=%{_bindir} \
60         -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:RELEASE} \
61         -DCMAKE_VERBOSE_MAKEFILE=ON
62 make %{?jobs:-j%jobs}
63
64 %install
65 rm -rf %{buildroot}
66 mkdir -p %{buildroot}/usr/share/license
67 cp LICENSE %{buildroot}/usr/share/license/%{name}
68 cp LICENSE %{buildroot}/usr/share/license/libsecurity-manager-client
69 mkdir -p %{buildroot}/etc/smack/
70 cp app-rules-template.smack %{buildroot}/etc/smack/
71 %make_install
72
73 mkdir -p %{buildroot}/%{_unitdir}/multi-user.target.wants
74 mkdir -p %{buildroot}/%{_unitdir}/sockets.target.wants
75 ln -s ../security-manager.service %{buildroot}/%{_unitdir}/multi-user.target.wants/security-manager.service
76 ln -s ../security-manager-installer.socket %{buildroot}/%{_unitdir}/sockets.target.wants/security-manager-installer.socket
77
78 %clean
79 rm -rf %{buildroot}
80
81 %post
82 systemctl daemon-reload
83 if [ $1 = 1 ]; then
84     # installation
85     systemctl start security-manager.service
86 fi
87
88 if [ $1 = 2 ]; then
89     # update
90     systemctl restart security-manager.service
91 fi
92
93 %preun
94 if [ $1 = 0 ]; then
95     # unistall
96     systemctl stop security-manager.service
97 fi
98
99 %postun
100 if [ $1 = 0 ]; then
101     # unistall
102     systemctl daemon-reload
103 fi
104
105 %post -n libsecurity-manager-client -p /sbin/ldconfig
106
107 %postun -n libsecurity-manager-client -p /sbin/ldconfig
108
109 %files -n security-manager
110 %manifest security-manager.manifest
111 %defattr(-,root,root,-)
112 %attr(755,root,root) %{_bindir}/security-manager
113 %{_libdir}/libsecurity-manager-commons.so.*
114 %attr(-,root,root) %{_unitdir}/multi-user.target.wants/security-manager.service
115 %attr(-,root,root) %{_unitdir}/security-manager.service
116 %attr(-,root,root) %{_unitdir}/security-manager.target
117 %attr(-,root,root) %{_unitdir}/sockets.target.wants/security-manager-installer.socket
118 %attr(-,root,root) %{_unitdir}/security-manager-installer.socket
119 %attr(-,root,root) /etc/smack/app-rules-template.smack
120 %{_datadir}/license/%{name}
121
122 %files -n libsecurity-manager-client
123 %manifest libsecurity-manager-client.manifest
124 %defattr(-,root,root,-)
125 %{_libdir}/libsecurity-manager-client.so.*
126 %{_datadir}/license/libsecurity-manager-client
127
128 %files -n libsecurity-manager-client-devel
129 %manifest %{name}.manifest
130 %defattr(-,root,root,-)
131 %{_libdir}/libsecurity-manager-client.so
132 %{_libdir}/libsecurity-manager-commons.so
133 %{_includedir}/security-manager/security-manager.h
134 %{_libdir}/pkgconfig/security-manager.pc