First implementation of ckm-listener-daemon.
[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.3
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 libkey-manager-client
26 Summary:    Central Key Manager (client)
27 Group:      Development/Libraries
28 Requires:   key-manager = %{version}-%{release}
29 Requires(post): /sbin/ldconfig
30 Requires(postun): /sbin/ldconfig
31
32 %description -n libkey-manager-client
33 Central Key Manager package (client)
34
35 %package -n libkey-manager-client-devel
36 Summary:    Central Key Manager (client-devel)
37 Group:      Development/Libraries
38 BuildRequires: pkgconfig(capi-base-common)
39 Requires:   pkgconfig(capi-base-common)
40 Requires:   libkey-manager-client = %{version}-%{release}
41
42 %description -n libkey-manager-client-devel
43 Central Key Manager package (client-devel)
44
45 %package -n key-manager-tests
46 Summary:    internal test for key-manager
47 Group:      Development
48 Requires:   key-manager = %{version}-%{release}
49
50 %description -n key-manager-tests
51 Internal test for key-manager
52
53 %prep
54 %setup -q
55
56
57 %build
58 %if 0%{?sec_build_binary_debug_enable}
59     export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
60     export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
61     export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
62 %endif
63
64
65 export LDFLAGS+="-Wl,--rpath=%{_libdir} "
66
67 %cmake . -DVERSION=%{version} \
68         -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:RELEASE} \
69         -DCMAKE_VERBOSE_MAKEFILE=ON 
70 make %{?jobs:-j%jobs}
71
72 %install
73 rm -rf %{buildroot}
74 mkdir -p %{buildroot}/usr/share/license
75 cp LICENSE %{buildroot}/usr/share/license/%{name}
76 cp LICENSE %{buildroot}/usr/share/license/libkey-manager-client
77 cp LICENSE %{buildroot}/usr/share/license/libkey-manager-control-client
78 mkdir -p %{buildroot}/etc/security/
79
80 %make_install
81 mkdir -p %{buildroot}/usr/lib/systemd/system/multi-user.target.wants
82 mkdir -p %{buildroot}/usr/lib/systemd/system/sockets.target.wants
83 ln -s ../central-key-manager.service %{buildroot}/usr/lib/systemd/system/multi-user.target.wants/central-key-manager.service
84 ln -s ../central-key-manager-echo.socket %{buildroot}/usr/lib/systemd/system/sockets.target.wants/central-key-manager-echo.socket
85 ln -s ../central-key-manager-api-control.socket %{buildroot}/usr/lib/systemd/system/sockets.target.wants/central-key-manager-api-control.socket
86 ln -s ../central-key-manager-api-storage.socket %{buildroot}/usr/lib/systemd/system/sockets.target.wants/central-key-manager-api-storage.socket
87 ln -s ../central-key-manager-api-ocsp.socket %{buildroot}/usr/lib/systemd/system/sockets.target.wants/central-key-manager-api-ocsp.socket
88
89 %clean
90 rm -rf %{buildroot}
91
92 %post
93 %if "%{sec_product_feature_security_mdfpp_enable}" == "1"
94 rm %{_libdir}/libkey-manager-key-provider.so.1.0.0
95 ln -s %{_libdir}/libskmm.so %{_libdir}/libkey-manager-key-provider.so.1.0.0
96 %endif
97 systemctl daemon-reload
98 if [ $1 = 1 ]; then
99     # installation
100     systemctl start central-key-manager.service
101 fi
102
103 if [ $1 = 2 ]; then
104     # update
105     systemctl restart central-key-manager.service
106 fi
107
108
109 %preun
110 if [ $1 = 0 ]; then
111     # unistall
112     systemctl stop central-key-manager.service
113 fi
114
115 %postun
116 if [ $1 = 0 ]; then
117     # unistall
118     systemctl daemon-reload
119 fi
120
121 %post -n libkey-manager-client -p /sbin/ldconfig
122
123 %postun -n libkey-manager-client -p /sbin/ldconfig
124
125 %files -n key-manager
126 %manifest %{_datadir}/key-manager.manifest
127 %attr(755,root,root) /usr/bin/key-manager
128 %attr(755,root,root) /usr/bin/key-manager-listener
129 %{_libdir}/libkey-manager-commons.so*
130 %{_libdir}/libkey-manager-key-provider.so*
131 %attr(-,root,root) /usr/lib/systemd/system/multi-user.target.wants/central-key-manager.service
132 %attr(-,root,root) /usr/lib/systemd/system/central-key-manager.service
133 %attr(-,root,root) /usr/lib/systemd/system/central-key-manager.target
134 %attr(-,root,root) /usr/lib/systemd/system/sockets.target.wants/central-key-manager-echo.socket
135 %attr(-,root,root) /usr/lib/systemd/system/central-key-manager-echo.socket
136 %attr(-,root,root) /usr/lib/systemd/system/sockets.target.wants/central-key-manager-api-control.socket
137 %attr(-,root,root) /usr/lib/systemd/system/central-key-manager-api-control.socket
138 %attr(-,root,root) /usr/lib/systemd/system/sockets.target.wants/central-key-manager-api-storage.socket
139 %attr(-,root,root) /usr/lib/systemd/system/central-key-manager-api-storage.socket
140 %attr(-,root,root) /usr/lib/systemd/system/sockets.target.wants/central-key-manager-api-ocsp.socket
141 %attr(-,root,root) /usr/lib/systemd/system/central-key-manager-api-ocsp.socket
142 %{_datadir}/license/%{name}
143
144 %files -n libkey-manager-client
145 %manifest %{_datadir}/libkey-manager-client.manifest
146 %manifest %{_datadir}/libkey-manager-control-client.manifest
147 %defattr(-,root,root,-)
148 %{_libdir}/libkey-manager-client.so.*
149 %{_libdir}/libkey-manager-control-client.so.*
150 %{_datadir}/license/libkey-manager-client
151 %{_datadir}/license/libkey-manager-control-client
152
153
154 %files -n libkey-manager-client-devel
155 %defattr(-,root,root,-)
156 %{_libdir}/libkey-manager-client.so
157 %{_libdir}/libkey-manager-control-client.so
158 %{_includedir}/ckm/ckm/ckm-manager.h
159 %{_includedir}/ckm/ckm/ckm-certificate.h
160 %{_includedir}/ckm/ckm/ckm-control.h
161 %{_includedir}/ckm/ckm/ckm-error.h
162 %{_includedir}/ckm/ckm/ckm-echo.h
163 %{_includedir}/ckm/ckm/ckm-key.h
164 %{_includedir}/ckm/ckm/ckm-password.h
165 %{_includedir}/ckm/ckm/ckm-raw-buffer.h
166 %{_includedir}/ckm/ckm/ckm-type.h
167 %{_includedir}/ckm/ckmc/ckmc-manager.h
168 %{_includedir}/ckm/ckmc/ckmc-control.h
169 %{_includedir}/ckm/ckmc/ckmc-error.h
170 %{_includedir}/ckm/ckmc/ckmc-type.h
171 %{_libdir}/pkgconfig/*.pc
172
173 %files -n key-manager-tests
174 %defattr(-,root,root,-)
175 %{_bindir}/ckm-tests-internal