Add test case for certificate rewriter
[platform/core/security/device-certificate-manager.git] / packaging / device-certificate-manager.spec
1 Name: device-certificate-manager
2 Summary: Device Certificate Manager daemon and libraries
3 Version: 0.1
4 Release: 1
5 Group: Security/Secure Storage
6 License: Apache-2.0
7 Source0: %{name}-%{version}.tar.gz
8 Source1001: device-certificate-manager.manifest
9 Source1002: device-certificate-manager-devel.manifest
10 BuildRequires: cmake
11 BuildRequires: pkgconfig(dlog)
12 BuildRequires: pkgconfig(libsystemd-daemon)
13 BuildRequires: pkgconfig(libtzplatform-config)
14 BuildRequires: pkgconfig(iotivity)
15 BuildRequires: pkgconfig(protobuf)
16 BuildRequires: pkgconfig(cynara-client)
17 BuildRequires: pkgconfig(cynara-creds-socket)
18 BuildRequires: pkgconfig(cynara-session)
19 BuildRequires: boost-devel
20 BuildRequires: openssl
21 Summary:        Device Certificate Manager
22 Group:          Security/Libraries
23 Requires(post): /sbin/ldconfig
24 Requires(postun): /sbin/ldconfig
25 %{?systemd_requires}
26
27 %global user_name               security_fw
28 %global group_name              security_fw
29 %global service_name            device-certificate-manager
30 %global smack_domain_name       System
31
32 %description
33 Device Certificate Manager provides cryptography services
34 for the Iotivity framework.
35
36 %package -n device-certificate-manager-devel
37 Summary:        Device Certificate Manager (development)
38 Group:          Security/Development
39 Requires:       pkgconfig(iotivity)
40 Requires:       device-certificate-manager = %{version}-%{release}
41
42 %description -n device-certificate-manager-devel
43 Device Certificate Manager development headers and libraries
44
45 %package -n device-certificate-manager-tests
46 Summary:        Internal tests for Device Certificate Manager
47 Group:          Security/Testing
48 Requires:       device-certificate-manager = %{version}-%{release}
49 Requires(post): /sbin/ldconfig
50 Requires(postun): /sbin/ldconfig
51
52 %description -n device-certificate-manager-tests
53 Internal tests for Device Certificate Manager
54
55 %prep
56 %setup -q
57 cp -a %{SOURCE1001} .
58 cp -a %{SOURCE1002} .
59
60 %build
61
62 %cmake . -DVERSION=%{version} \
63         -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:Release} \
64         -DSYSTEMD_UNIT_DIR=%{_unitdir} \
65         -DSERVICE_NAME=%{service_name} \
66         -DUSER_NAME=%{user_name} \
67         -DGROUP_NAME=%{group_name} \
68         -DSMACK_DOMAIN_NAME=%{smack_domain_name}
69
70 make %{?jobs:-j%jobs}
71
72 %install
73 %make_install
74 %install_service multi-user.target.wants device-certificate-manager.service
75 %install_service sockets.target.wants device-certificate-manager-control.socket
76
77 %post
78
79 systemctl daemon-reload
80 if [ $1 = 1 ]; then
81     # installation
82     systemctl start device-certificate-manager.service
83 fi
84
85 %preun
86 if [ $1 = 0 ]; then
87     # unistall
88     systemctl stop device-certificate-manager.service
89 fi
90
91 %postun
92 if [ $1 = 0 ]; then
93     # unistall
94     systemctl daemon-reload
95 fi
96
97 %files
98 %manifest device-certificate-manager.manifest
99 %license LICENSE
100 %{_bindir}/device-certificate-managerd
101 %{_libdir}/libdevice-certificate-manager.so.1.0
102 %{_unitdir}/multi-user.target.wants/device-certificate-manager.service
103 %{_unitdir}/device-certificate-manager.service
104 %{_unitdir}/device-certificate-manager.target
105 %{_unitdir}/sockets.target.wants/device-certificate-manager-control.socket
106 %{_unitdir}/device-certificate-manager-control.socket
107
108 %files -n device-certificate-manager-devel
109 %manifest device-certificate-manager-devel.manifest
110 %license LICENSE
111 %{_libdir}/libdevice-certificate-manager.so
112 %{_includedir}/device-certificate-manager/*.h
113 %{_libdir}/pkgconfig/*.pc
114
115 %files -n device-certificate-manager-tests
116 %manifest device-certificate-manager-tests.manifest
117 %license LICENSE
118 %{_bindir}/dcm_example_client
119 %{_bindir}/dcm_hw_api_test
120 %{_bindir}/dcm_test_cert_rewriter