Merge "Use define macro for ca-certificates resource path" into tizen
[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-devel
27 BuildRequires: ca-certificates-tizen
28 BuildRequires: ca-certificates-mozilla
29
30 %description
31 Certification service
32
33 %package devel
34 Summary:    Certification service (development files)
35 Group:      Development/Libraries
36 Requires:   %{name} = %{version}-%{release}
37
38 %description devel
39 Certification service (development files)
40
41 %if 0%{?certsvc_test_build}
42 %package test
43 Summary:  Certification service (tests)
44 Group:    Security/Testing
45 Requires: ca-certificates-tizen
46 Requires: %{name} = %{version}-%{release}
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 %{!?build_type:%define build_type "Release"}
72 %cmake . -DVERSION=%version \
73         -DINCLUDEDIR=%_includedir \
74         -DTZ_SYS_SHARE=%TZ_SYS_SHARE \
75         -DTZ_SYS_BIN=%TZ_SYS_BIN \
76         -DTZ_SYS_CA_CERTS=%TZ_SYS_CA_CERTS \
77         -DTZ_SYS_CA_CERTS_ORIG=%TZ_SYS_CA_CERTS_ORIG \
78         -DTZ_SYS_CA_BUNDLE_RW=%TZ_SYS_CA_BUNDLE_RW \
79 %if 0%{?certsvc_test_build}
80         -DCERTSVC_TEST_BUILD=1 \
81         -DTZ_SYS_RO_APP=%TZ_SYS_RO_APP \
82 %endif
83         -DCMAKE_BUILD_TYPE=%build_type \
84         -DSYSTEMD_UNIT_DIR=%_unitdir
85
86 make %{?_smp_mflags}
87
88 %install
89 %make_install
90 %install_service multi-user.target.wants cert-server.service
91 %install_service sockets.target.wants cert-server.socket
92
93 mkdir -p %buildroot%TZ_SYS_SHARE/cert-svc/pkcs12
94 mkdir -p %buildroot%TZ_SYS_SHARE/cert-svc/dbspace
95 ln -s %TZ_SYS_CA_BUNDLE_RW %buildroot%TZ_SYS_SHARE/cert-svc/ca-certificate.crt
96
97 %preun
98 # erase
99 if [ $1 = 0 ]; then
100     systemctl stop cert-server.service
101 fi
102
103 %post
104 /sbin/ldconfig
105 systemctl daemon-reload
106 # install
107 if [ $1 = 1 ]; then
108     systemctl start cert-server.service
109 fi
110 # upgrade / reinstall
111 if [ $1 = 2 ]; then
112     systemctl restart cert-server.service
113 fi
114
115 %postun -p /sbin/ldconfig
116
117 %files
118 %manifest %name.manifest
119 %license LICENSE
120 %_unitdir/cert-server.service
121 %_unitdir/cert-server.socket
122 %_unitdir/multi-user.target.wants/cert-server.service
123 %_unitdir/sockets.target.wants/cert-server.socket
124 %_libdir/libcert-svc-vcore.so.*
125 %TZ_SYS_BIN/cert-server
126 %attr(-, system, system) %TZ_SYS_SHARE/cert-svc
127
128 %files devel
129 %_includedir/*
130 %_libdir/pkgconfig/*
131 %_libdir/libcert-svc-vcore.so
132
133 %if 0%{?certsvc_test_build}
134 %files test
135 %TZ_SYS_BIN/cert-svc-test*
136 %TZ_SYS_RO_APP/cert-svc-tests
137 %TZ_SYS_SHARE/ca-certificates/tizen/root_cacert0.pem
138 %_libdir/libcert-svc-validator-plugin.so
139 %endif