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