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