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