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