1 %{!?build_type:%global build_type RELEASE}
3 Name: device-certificate-manager
4 Summary: Device Certificate Manager daemon and libraries
7 Group: Security/Secure Storage
9 Source0: %{name}-%{version}.tar.gz
10 Source1001: device-certificate-manager.manifest
12 BuildRequires: pkgconfig(dlog)
13 BuildRequires: pkgconfig(libsmack)
14 BuildRequires: pkgconfig(libsystemd)
15 BuildRequires: pkgconfig(protobuf-lite)
16 BuildRequires: pkgconfig(cynara-client)
17 BuildRequires: pkgconfig(cynara-creds-socket)
18 BuildRequires: pkgconfig(cynara-session)
19 BuildRequires: pkgconfig(openssl1.1)
20 BuildRequires: boost-devel
21 %if "%{build_type}" == "COVERAGE"
24 Requires(post): /sbin/ldconfig
25 Requires(postun): /sbin/ldconfig
26 Requires: boost-system
29 %global user_name security_fw
30 %global group_name security_fw
31 %global smack_domain_name System
32 %global coverage_dir %{_datadir}/device-certificate-manager-coverage
35 Device Certificate Manager provides cryptography services for the Iotivity framework.
37 %package -n device-certificate-manager-devel
38 Summary: Device Certificate Manager (development)
39 Group: Security/Development
40 Requires: device-certificate-manager = %{version}-%{release}
42 %description -n device-certificate-manager-devel
43 Device Certificate Manager development headers and libraries
45 %package -n device-certificate-manager-ext-devel
46 Summary: Device Certificate Manager (development/extension API)
47 Group: Security/Development
48 Requires: device-certificate-manager = %{version}-%{release}
50 %description -n device-certificate-manager-ext-devel
51 Device Certificate Manager development headers and libraries only for extension of the API
53 %package -n device-certificate-manager-backend-devel
54 Summary: Device Certificate Manager backend (development)
55 Group: Security/Development
57 %description -n device-certificate-manager-backend-devel
58 Device Certificate Manager backend development header
60 %package -n device-certificate-manager-tests
61 Summary: Internal tests for Device Certificate Manager
62 Group: Security/Testing
63 Requires: device-certificate-manager = %{version}-%{release}
66 %description -n device-certificate-manager-tests
67 Internal tests for Device Certificate Manager
69 %if "%{build_type}" == "COVERAGE"
71 %package -n device-certificate-manager-coverage
72 Summary: Device Certificate Manager code coverage data
73 Group: Security/Testing
74 Requires: device-certificate-manager-tests = %{version}-%{release}
75 Requires: device-certificate-manager-debugsource = %{version}-%{release}
79 %description -n device-certificate-manager-coverage
80 Device Certificate Manager code coverage data
89 %cmake . -DCMAKE_BUILD_TYPE=%{build_type} \
90 -DSYSTEMD_UNIT_DIR=%{_unitdir} \
91 -DUSER_NAME=%{user_name} \
92 -DGROUP_NAME=%{group_name} \
93 -DSMACK_DOMAIN_NAME=%{smack_domain_name} \
94 -DRPM_DIR=%{_sysconfdir}/rpm \
95 -DCOVERAGE_DIR=%{coverage_dir}
101 %install_service sockets.target.wants device-certificate-manager.socket
102 ln -s lib%{name}.so.%{version} %{buildroot}%{_libdir}/lib%{name}.so.2.0
106 systemctl daemon-reload
109 systemctl start device-certificate-manager.socket device-certificate-manager.service
114 systemctl stop device-certificate-manager.service device-certificate-manager.socket
115 systemctl start device-certificate-manager.socket device-certificate-manager.service
121 systemctl stop device-certificate-manager.service device-certificate-manager.socket
128 systemctl daemon-reload
132 %manifest %{name}.manifest
134 %{_bindir}/device-certificate-managerd
135 %{_libdir}/libdevice-certificate-manager.so.*
136 %{_libdir}/libdevice-certificate-manager-ext.so.*
137 %{_unitdir}/device-certificate-manager.service
138 %{_unitdir}/sockets.target.wants/device-certificate-manager.socket
139 %{_unitdir}/device-certificate-manager.socket
142 %manifest %{name}.manifest
144 %{_libdir}/libdevice-certificate-manager.so
145 %{_includedir}/device-certificate-manager/device_certificate_manager.h
146 %{_libdir}/pkgconfig/device-certificate-manager.pc
149 %manifest %{name}.manifest
151 %{_libdir}/libdevice-certificate-manager-ext.so
152 %{_includedir}/device-certificate-manager/device_certificate_manager_ext.h
153 %{_includedir}/device-certificate-manager/device_certificate_manager_ext_types.h
154 %{_libdir}/pkgconfig/device-certificate-manager-ext.pc
157 %manifest %{name}.manifest
159 %{_includedir}/device-certificate-manager-backend/dcm-backend-api.h
160 %{_includedir}/device-certificate-manager-backend/dcm-ext-backend-api.h
161 %{_includedir}/device-certificate-manager-backend/dcm_support.pb.h
162 %{_libdir}/pkgconfig/device-certificate-manager-backend.pc
163 %{_sysconfdir}/rpm/macros.dcm-backend-api
166 %manifest %{name}.manifest
168 %{_bindir}/device-certificate-manager-tests
170 %if "%{build_type}" == "COVERAGE"
173 %manifest %{name}.manifest
175 %{_bindir}/device-certificate-manager-coverage.sh