Version upgrade to 2.0.3
[platform/core/security/cert-svc.git] / packaging / cert-svc.spec
1 %define certsvc_test_build 0
2
3 Name:    cert-svc
4 Summary: Certification service
5 Version: 2.0.3
6 Release: 0
7 Group:   Security/Libraries
8 License: Apache-2.0
9 Source0: %{name}-%{version}.tar.gz
10 Source1001: %{name}.manifest
11 BuildRequires: cmake
12 BuildRequires: findutils
13 BuildRequires: openssl
14 BuildRequires: pkgconfig(dlog)
15 BuildRequires: pkgconfig(openssl)
16 BuildRequires: pkgconfig(libpcrecpp)
17 BuildRequires: pkgconfig(xmlsec1)
18 BuildRequires: pkgconfig(libxml-2.0)
19 BuildRequires: pkgconfig(libxslt)
20 BuildRequires: pkgconfig(db-util)
21 BuildRequires: pkgconfig(libsystemd-daemon)
22 BuildRequires: pkgconfig(key-manager)
23 BuildRequires: pkgconfig(libtzplatform-config)
24 BuildRequires: pkgconfig(libsystemd-journal)
25 BuildRequires: pkgconfig(sqlite3)
26 BuildRequires: ca-certificates-tizen
27 BuildRequires: ca-certificates-mozilla
28
29 %description
30 Certification service
31
32 %package devel
33 Summary:    Certification service (development files)
34 Group:      Development/Libraries
35 Requires:   %{name} = %{version}-%{release}
36
37 %description devel
38 Certification service (development files)
39
40 %if 0%{?certsvc_test_build}
41 %package test
42 Summary:  Certification service (tests)
43 Group:    Security/Testing
44 Requires: ca-certificates-tizen
45 Requires: %{name} = %{version}-%{release}
46
47 %description test
48 Certification service (tests)
49 %endif
50
51 %prep
52 %setup -q
53 cp -a %SOURCE1001 .
54
55 %build
56 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
57 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
58 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
59
60 export CFLAGS="$CFLAGS -DTIZEN_ENGINEER_MODE"
61 export CXXFLAGS="$CXXFLAGS -DTIZEN_ENGINEER_MODE"
62 export FFLAGS="$FFLAGS -DTIZEN_ENGINEER_MODE"
63
64 %ifarch %{ix86}
65 export CFLAGS="$CFLAGS -DTIZEN_EMULATOR_MODE"
66 export CXXFLAGS="$CXXFLAGS -DTIZEN_EMULATOR_MODE"
67 export FFLAGS="$FFLAGS -DTIZEN_EMULATOR_MODE"
68 %endif
69
70 # concatenated cert path defined in ca-certificates package
71 %define SYS_CONCATENATED_CERT /var/lib/ca-certificates/ca-bundle.pem
72 %define SYS_CERTS %TZ_SYS_ETC/ssl/certs
73
74 %{!?build_type:%define build_type "Release"}
75 %cmake . -DVERSION=%version \
76         -DINCLUDEDIR=%_includedir \
77         -DTZ_SYS_SHARE=%TZ_SYS_SHARE \
78         -DTZ_SYS_BIN=%TZ_SYS_BIN \
79         -DTZ_SYS_CERTS=%SYS_CERTS \
80         -DTZ_SYS_CONCATENATED_CERT=%SYS_CONCATENATED_CERT \
81 %if 0%{?certsvc_test_build}
82         -DCERTSVC_TEST_BUILD=1 \
83         -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
84 %endif
85         -DCMAKE_BUILD_TYPE=%build_type \
86         -DSYSTEMD_UNIT_DIR=%_unitdir
87
88 make %{?_smp_mflags}
89
90 %install
91 %make_install
92 %install_service multi-user.target.wants cert-server.service
93 %install_service sockets.target.wants cert-server.socket
94
95 mkdir -p %buildroot%TZ_SYS_SHARE/cert-svc/pkcs12
96 mkdir -p %buildroot%TZ_SYS_SHARE/cert-svc/dbspace
97 ln -s %SYS_CONCATENATED_CERT %buildroot%TZ_SYS_SHARE/cert-svc/ca-certificate.crt
98
99 %preun
100 # erase
101 if [ $1 = 0 ]; then
102     systemctl stop cert-server.service
103 fi
104
105 %post
106 /sbin/ldconfig
107 systemctl daemon-reload
108 # install
109 if [ $1 = 1 ]; then
110     systemctl start cert-server.service
111 fi
112 # upgrade / reinstall
113 if [ $1 = 2 ]; then
114     systemctl restart cert-server.service
115 fi
116
117 %postun -p /sbin/ldconfig
118
119 %files
120 %manifest %name.manifest
121 %license LICENSE
122 %_unitdir/cert-server.service
123 %_unitdir/cert-server.socket
124 %_unitdir/multi-user.target.wants/cert-server.service
125 %_unitdir/sockets.target.wants/cert-server.socket
126 %_libdir/libcert-svc-vcore.so.*
127 %TZ_SYS_BIN/cert-server
128 %attr(-, system, system) %TZ_SYS_SHARE/cert-svc
129
130 %files devel
131 %_includedir/*
132 %_libdir/pkgconfig/*
133 %_libdir/libcert-svc-vcore.so
134
135 %if 0%{?certsvc_test_build}
136 %files test
137 %TZ_SYS_BIN/cert-svc-test*
138 %TZ_SYS_RO_APP/cert-svc-tests
139 %TZ_SYS_SHARE/ca-certificates/tizen/root_cacert0.pem
140 %_libdir/libcert-svc-validator-plugin.so
141 %endif