Version up to 2.0.0
[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.0
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 Conflicts: %name
47
48 %description test
49 Certification service (tests)
50 %endif
51
52 %prep
53 %setup -q
54 cp -a %SOURCE1001 .
55
56 %build
57 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
58 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
59 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
60
61 export CFLAGS="$CFLAGS -DTIZEN_ENGINEER_MODE"
62 export CXXFLAGS="$CXXFLAGS -DTIZEN_ENGINEER_MODE"
63 export FFLAGS="$FFLAGS -DTIZEN_ENGINEER_MODE"
64
65 %ifarch %{ix86}
66 export CFLAGS="$CFLAGS -DTIZEN_EMULATOR_MODE"
67 export CXXFLAGS="$CXXFLAGS -DTIZEN_EMULATOR_MODE"
68 export FFLAGS="$FFLAGS -DTIZEN_EMULATOR_MODE"
69 %endif
70
71 # concatenated cert path defined in ca-certificates package
72 %define SYS_CONCATENATED_CERT /var/lib/ca-certificates/ca-bundle.pem
73 %define SYS_CERTS %TZ_SYS_ETC/ssl/certs
74
75 %{!?build_type:%define build_type "Release"}
76 %cmake . -DVERSION=%version \
77         -DINCLUDEDIR=%_includedir \
78         -DTZ_SYS_SHARE=%TZ_SYS_SHARE \
79         -DTZ_SYS_BIN=%TZ_SYS_BIN \
80         -DTZ_SYS_CERTS=%SYS_CERTS \
81         -DTZ_SYS_CONCATENATED_CERT=%SYS_CONCATENATED_CERT \
82 %if 0%{?certsvc_test_build}
83         -DCERTSVC_TEST_BUILD=1 \
84         -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
85 %endif
86         -DCMAKE_BUILD_TYPE=%build_type \
87         -DSYSTEMD_UNIT_DIR=%_unitdir
88
89 make %{?_smp_mflags}
90
91 %install
92 %make_install
93 %install_service multi-user.target.wants cert-server.service
94 %install_service sockets.target.wants cert-server.socket
95
96 mkdir -p %buildroot%TZ_SYS_SHARE/cert-svc/pkcs12
97 mkdir -p %buildroot%TZ_SYS_SHARE/cert-svc/dbspace
98 ln -s %SYS_CONCATENATED_CERT %buildroot%TZ_SYS_SHARE/cert-svc/ca-certificate.crt
99
100 %preun
101 # erase
102 if [ $1 = 0 ]; then
103     systemctl stop cert-server.service
104 fi
105
106 %post
107 /sbin/ldconfig
108 systemctl daemon-reload
109 # install
110 if [ $1 = 1 ]; then
111     systemctl start cert-server.service
112 fi
113 # upgrade / reinstall
114 if [ $1 = 2 ]; then
115     systemctl restart cert-server.service
116 fi
117
118 %postun -p /sbin/ldconfig
119
120 %files
121 %manifest %name.manifest
122 %license LICENSE
123 %_unitdir/cert-server.service
124 %_unitdir/cert-server.socket
125 %_unitdir/multi-user.target.wants/cert-server.service
126 %_unitdir/sockets.target.wants/cert-server.socket
127 %_libdir/libcert-svc-vcore.so.*
128 %TZ_SYS_BIN/cert-server
129 %attr(-, system, system) %TZ_SYS_SHARE/cert-svc
130
131 %files devel
132 %_includedir/*
133 %_libdir/pkgconfig/*
134 %_libdir/libcert-svc-vcore.so
135
136 %if 0%{?certsvc_test_build}
137 %files test
138 %TZ_SYS_BIN/cert-svc-test*
139 %TZ_SYS_RO_APP/widget/tests
140 %TZ_SYS_SHARE/cert-svc/cert-type
141 %TZ_SYS_SHARE/cert-svc/tests
142 %TZ_SYS_SHARE/ca-certificates/tizen/root_cacert0.pem
143 %_libdir/libcert-svc-validator-plugin.so
144 %endif