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: pkgconfig(capi-system-info)
21 BuildRequires: boost-devel
22 %if "%{build_type}" == "COVERAGE"
25 Requires(post): /sbin/ldconfig
26 Requires(postun): /sbin/ldconfig
27 Requires: boost-system
30 %global user_name security_fw
31 %global group_name security_fw
32 %global smack_domain_name System
33 %global coverage_dir %{_datadir}/device-certificate-manager-coverage
36 Device Certificate Manager provides cryptography services for the Iotivity framework.
38 %package -n device-certificate-manager-devel
39 Summary: Device Certificate Manager (development)
40 Group: Security/Development
41 Requires: device-certificate-manager = %{version}-%{release}
43 %description -n device-certificate-manager-devel
44 Device Certificate Manager development headers and libraries
46 %package -n device-certificate-manager-ext-devel
47 Summary: Device Certificate Manager (development/extension API)
48 Group: Security/Development
49 Requires: device-certificate-manager = %{version}-%{release}
51 %description -n device-certificate-manager-ext-devel
52 Device Certificate Manager development headers and libraries only for extension of the API
54 %package -n device-certificate-manager-backend-devel
55 Summary: Device Certificate Manager backend (development)
56 Group: Security/Development
58 %description -n device-certificate-manager-backend-devel
59 Device Certificate Manager backend development header
61 %package -n device-certificate-manager-tests
62 Summary: Internal tests for Device Certificate Manager
63 Group: Security/Testing
64 Requires: device-certificate-manager = %{version}-%{release}
67 %description -n device-certificate-manager-tests
68 Internal tests for Device Certificate Manager
70 %if "%{build_type}" == "COVERAGE"
72 %package -n device-certificate-manager-coverage
73 Summary: Device Certificate Manager code coverage data
74 Group: Security/Testing
75 Requires: device-certificate-manager-tests = %{version}-%{release}
76 Requires: device-certificate-manager-debugsource = %{version}-%{release}
80 %description -n device-certificate-manager-coverage
81 Device Certificate Manager code coverage data
90 %cmake . -DCMAKE_BUILD_TYPE=%{build_type} \
91 -DSYSTEMD_UNIT_DIR=%{_unitdir} \
92 -DUSER_NAME=%{user_name} \
93 -DGROUP_NAME=%{group_name} \
94 -DSMACK_DOMAIN_NAME=%{smack_domain_name} \
95 -DRPM_DIR=%{_sysconfdir}/rpm \
96 -DCOVERAGE_DIR=%{coverage_dir}
102 %install_service sockets.target.wants device-certificate-manager.socket
103 ln -s lib%{name}.so.%{version} %{buildroot}%{_libdir}/lib%{name}.so.2.0
107 systemctl daemon-reload
110 systemctl start device-certificate-manager.socket device-certificate-manager.service
115 systemctl stop device-certificate-manager.service device-certificate-manager.socket
116 systemctl start device-certificate-manager.socket device-certificate-manager.service
122 systemctl stop device-certificate-manager.service device-certificate-manager.socket
129 systemctl daemon-reload
133 %manifest %{name}.manifest
135 %{_bindir}/device-certificate-managerd
136 %{_libdir}/libdevice-certificate-manager.so.*
137 %{_libdir}/libdevice-certificate-manager-ext.so.*
138 %{_unitdir}/device-certificate-manager.service
139 %{_unitdir}/sockets.target.wants/device-certificate-manager.socket
140 %{_unitdir}/device-certificate-manager.socket
143 %manifest %{name}.manifest
145 %{_libdir}/libdevice-certificate-manager.so
146 %{_includedir}/device-certificate-manager/device_certificate_manager.h
147 %{_libdir}/pkgconfig/device-certificate-manager.pc
150 %manifest %{name}.manifest
152 %{_libdir}/libdevice-certificate-manager-ext.so
153 %{_includedir}/device-certificate-manager/device_certificate_manager_ext.h
154 %{_includedir}/device-certificate-manager/device_certificate_manager_ext_types.h
155 %{_libdir}/pkgconfig/device-certificate-manager-ext.pc
158 %manifest %{name}.manifest
160 %{_includedir}/device-certificate-manager-backend/dcm-backend-api.h
161 %{_includedir}/device-certificate-manager-backend/dcm-ext-backend-api.h
162 %{_includedir}/device-certificate-manager-backend/dcm_support.pb.h
163 %{_libdir}/pkgconfig/device-certificate-manager-backend.pc
164 %{_sysconfdir}/rpm/macros.dcm-backend-api
167 %manifest %{name}.manifest
169 %{_bindir}/device-certificate-manager-tests
171 %if "%{build_type}" == "COVERAGE"
174 %manifest %{name}.manifest
176 %{_bindir}/device-certificate-manager-coverage.sh