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