Version 0.1.4
[platform/core/security/key-manager.git] / packaging / key-manager.spec
1 Name:       key-manager
2 Summary:    Central Key Manager and utilities
3 Version:    0.1.4
4 Release:    1
5 Group:      System/Security
6 License:    Apache License, Version 2.0
7 Source0:    %{name}-%{version}.tar.gz
8 BuildRequires: cmake
9 BuildRequires: zip
10 BuildRequires: pkgconfig(dlog)
11 BuildRequires: pkgconfig(openssl)
12 BuildRequires: libattr-devel
13 BuildRequires: pkgconfig(libsmack)
14 BuildRequires: pkgconfig(libsystemd-daemon)
15 BuildRequires: pkgconfig(db-util)
16 BuildRequires: pkgconfig(capi-appfw-package-manager)
17 BuildRequires: pkgconfig(glib-2.0)
18 BuildRequires: boost-devel
19 Requires: boost-test
20 %{?systemd_requires}
21
22 %description
23 Central Key Manager and utilities
24
25 %package -n key-manager-listener
26 Summary:    Package with listener daemon
27 Group:      System/Security
28 Requires:   libkey-manager-client = %{version}-%{release}
29
30 %description -n key-manager-listener
31 Listener for central key manager. This daemon is responsible for
32 receive notification from dbus about uninstall application
33 and notify central key manager about it.
34
35 %package -n libkey-manager-client
36 Summary:    Central Key Manager (client)
37 Group:      Development/Libraries
38 Requires:   key-manager = %{version}-%{release}
39 Requires(post): /sbin/ldconfig
40 Requires(postun): /sbin/ldconfig
41
42 %description -n libkey-manager-client
43 Central Key Manager package (client)
44
45 %package -n libkey-manager-client-devel
46 Summary:    Central Key Manager (client-devel)
47 Group:      Development/Libraries
48 BuildRequires: pkgconfig(capi-base-common)
49 Requires:   pkgconfig(capi-base-common)
50 Requires:   libkey-manager-client = %{version}-%{release}
51
52 %description -n libkey-manager-client-devel
53 Central Key Manager package (client-devel)
54
55 %package -n key-manager-tests
56 Summary:    internal test for key-manager
57 Group:      Development
58 Requires:   key-manager = %{version}-%{release}
59
60 %description -n key-manager-tests
61 Internal test for key-manager
62
63 %prep
64 %setup -q
65
66
67 %build
68 %if 0%{?sec_build_binary_debug_enable}
69     export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
70     export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
71     export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
72 %endif
73
74
75 export LDFLAGS+="-Wl,--rpath=%{_libdir} "
76
77 %cmake . -DVERSION=%{version} \
78         -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:RELEASE} \
79         -DCMAKE_VERBOSE_MAKEFILE=ON 
80 make %{?jobs:-j%jobs}
81
82 %install
83 rm -rf %{buildroot}
84 mkdir -p %{buildroot}/usr/share/license
85 cp LICENSE %{buildroot}/usr/share/license/%{name}
86 cp LICENSE %{buildroot}/usr/share/license/libkey-manager-client
87 cp LICENSE %{buildroot}/usr/share/license/libkey-manager-control-client
88 mkdir -p %{buildroot}/etc/security/
89
90 %make_install
91 mkdir -p %{buildroot}/usr/lib/systemd/system/multi-user.target.wants
92 mkdir -p %{buildroot}/usr/lib/systemd/system/sockets.target.wants
93 ln -s ../central-key-manager.service %{buildroot}/usr/lib/systemd/system/multi-user.target.wants/central-key-manager.service
94 ln -s ../central-key-manager-listener.service %{buildroot}/usr/lib/systemd/system/multi-user.target.wants/central-key-manager-listener.service
95 ln -s ../central-key-manager-api-control.socket %{buildroot}/usr/lib/systemd/system/sockets.target.wants/central-key-manager-api-control.socket
96 ln -s ../central-key-manager-api-storage.socket %{buildroot}/usr/lib/systemd/system/sockets.target.wants/central-key-manager-api-storage.socket
97 ln -s ../central-key-manager-api-ocsp.socket %{buildroot}/usr/lib/systemd/system/sockets.target.wants/central-key-manager-api-ocsp.socket
98
99 %clean
100 rm -rf %{buildroot}
101
102 %post
103 %if "%{sec_product_feature_security_mdfpp_enable}" == "1"
104 rm %{_libdir}/libkey-manager-key-provider.so.1.0.0
105 ln -s %{_libdir}/libskmm.so %{_libdir}/libkey-manager-key-provider.so.1.0.0
106 %endif
107 systemctl daemon-reload
108 if [ $1 = 1 ]; then
109     # installation
110     systemctl start central-key-manager.service
111 fi
112
113 if [ $1 = 2 ]; then
114     # update
115     systemctl restart central-key-manager.service
116 fi
117
118
119 %preun
120 if [ $1 = 0 ]; then
121     # unistall
122     systemctl stop central-key-manager.service
123 fi
124
125 %postun
126 if [ $1 = 0 ]; then
127     # unistall
128     systemctl daemon-reload
129 fi
130
131 %post -n libkey-manager-client -p /sbin/ldconfig
132
133 %postun -n libkey-manager-client -p /sbin/ldconfig
134
135 %post -n key-manager-listener
136 systemctl daemon-reload
137 if [ $1 = 1 ]; then
138     # installation
139     systemctl start central-key-manager-listener.service
140 fi
141 if [ $1 = 2 ]; then
142     # update
143     systemctl restart central-key-manager-listener.service
144 fi
145
146 %preun -n key-manager-listener
147 if [ $1 = 0 ]; then
148     # unistall
149     systemctl stop central-key-manager-listener.service
150 fi
151
152 %postun -n key-manager-listener
153 if [ $1 = 0 ]; then
154     # unistall
155     systemctl daemon-reload
156 fi
157
158 %files -n key-manager
159 %manifest %{_datadir}/key-manager.manifest
160 %attr(755,root,root) /usr/bin/key-manager
161 %{_libdir}/libkey-manager-commons.so*
162 %{_libdir}/libkey-manager-key-provider.so*
163 %attr(-,root,root) /usr/lib/systemd/system/multi-user.target.wants/central-key-manager.service
164 %attr(-,root,root) /usr/lib/systemd/system/central-key-manager.service
165 %attr(-,root,root) /usr/lib/systemd/system/central-key-manager.target
166 %attr(-,root,root) /usr/lib/systemd/system/sockets.target.wants/central-key-manager-api-control.socket
167 %attr(-,root,root) /usr/lib/systemd/system/central-key-manager-api-control.socket
168 %attr(-,root,root) /usr/lib/systemd/system/sockets.target.wants/central-key-manager-api-storage.socket
169 %attr(-,root,root) /usr/lib/systemd/system/central-key-manager-api-storage.socket
170 %attr(-,root,root) /usr/lib/systemd/system/sockets.target.wants/central-key-manager-api-ocsp.socket
171 %attr(-,root,root) /usr/lib/systemd/system/central-key-manager-api-ocsp.socket
172 %{_datadir}/license/%{name}
173
174 %files -n key-manager-listener
175 %manifest %{_datadir}/key-manager-listener.manifest
176 %attr(755,root,root) /usr/bin/key-manager-listener
177 %attr(-,root,root) /usr/lib/systemd/system/multi-user.target.wants/central-key-manager-listener.service
178 %attr(-,root,root) /usr/lib/systemd/system/central-key-manager-listener.service
179
180 %files -n libkey-manager-client
181 %manifest %{_datadir}/libkey-manager-client.manifest
182 %manifest %{_datadir}/libkey-manager-control-client.manifest
183 %defattr(-,root,root,-)
184 %{_libdir}/libkey-manager-client.so.*
185 %{_libdir}/libkey-manager-control-client.so.*
186 %{_datadir}/license/libkey-manager-client
187 %{_datadir}/license/libkey-manager-control-client
188
189
190 %files -n libkey-manager-client-devel
191 %defattr(-,root,root,-)
192 %{_libdir}/libkey-manager-client.so
193 %{_libdir}/libkey-manager-control-client.so
194 %{_includedir}/ckm/ckm/ckm-manager.h
195 %{_includedir}/ckm/ckm/ckm-certificate.h
196 %{_includedir}/ckm/ckm/ckm-control.h
197 %{_includedir}/ckm/ckm/ckm-error.h
198 %{_includedir}/ckm/ckm/ckm-key.h
199 %{_includedir}/ckm/ckm/ckm-password.h
200 %{_includedir}/ckm/ckm/ckm-pkcs12.h
201 %{_includedir}/ckm/ckm/ckm-raw-buffer.h
202 %{_includedir}/ckm/ckm/ckm-type.h
203 %{_includedir}/ckm/ckmc/ckmc-manager.h
204 %{_includedir}/ckm/ckmc/ckmc-control.h
205 %{_includedir}/ckm/ckmc/ckmc-error.h
206 %{_includedir}/ckm/ckmc/ckmc-type.h
207 %{_libdir}/pkgconfig/*.pc
208
209 %files -n key-manager-tests
210 %defattr(-,root,root,-)
211 %{_bindir}/ckm-tests-internal