Integrate draft API header and internal test
[platform/upstream/csr-framework.git] / packaging / csr-framework.spec
1 Summary: A general purpose content screening and reputation solution
2 Name: csr-framework
3 Version: 2.0.0
4 Release: 0
5 Source: %{name}-%{version}.tar.gz
6 License: Apache-2.0 and BSL-1.0
7 Group: Security/Service
8 URL: http://tizen.org
9 BuildRequires: cmake
10 BuildRequires: pkgconfig(dlog)
11 BuildRequires: pkgconfig(libsystemd-daemon)
12 Requires:      lib%{name}-common = %{version}-%{release}
13 %{?systemd_requires}
14
15 %description
16 General purpose content screening and reputation solution. Can scan
17 file contents and checking url to prevent malicious items.
18
19 %global service_name csr
20 %global bin_dir      %{_bindir}
21 %global sbin_dir     /sbin
22 %global ro_data_dir  %{_datadir}
23
24 %package -n lib%{name}-common
25 Summary: Common library package for %{name}
26 License: Apache-2.0
27 Group:   Security/Libraries
28 Requires: %{sbin_dir}/ldconfig
29 Requires: %{sbin_dir}/ldconfig
30
31 %description -n lib%{name}-common
32 csr-framework common library package.
33
34 %package -n lib%{name}-client
35 Summary: Client library package for %{name}
36 License: Apache-2.0
37 Group:   Security/Libraries
38 BuildRequires: pkgconfig(capi-base-common)
39 Requires: %{name} = %{version}-%{release}
40 Requires: %{sbin_dir}/ldconfig
41 Requires: %{sbin_dir}/ldconfig
42
43 %description -n lib%{name}-client
44 csr-framework client library package.
45
46 %package devel
47 Summary: Development files for %{name}
48 LICENSE: Apache-2.0
49 Group:   Security/Development
50 BuildRequires: pkgconfig(capi-base-common)
51 Requires:      %{name} = %{version}-%{release}
52
53 %description devel
54 csr-framework developemnt files including headers and pkgconfig file.
55
56 %package test
57 Summary: test program for %{name}
58 License: Apache-2.0 and BSL-1.0
59 Group:   Security/Testing
60 BuildRequires: boost-devel
61 Requires:      %{name} = %{version}
62
63 %description test
64 test program of csr-framework
65
66 %prep
67 %setup -q
68
69 %build
70 %cmake . \
71     -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:RELEASE} \
72     -DCMAKE_VERBOSE_MAKEFILE=ON \
73     -DCMAKE_INSTALL_PREFIX=%{_prefix} \
74     -DSERVICE_NAME=%{service_name} \
75     -DVERSION=%{version} \
76     -DINCLUDE_INSTALL_DIR:PATH=%{_includedir} \
77     -DBIN_DIR:PATH=%{bin_dir} \
78     -DSYSTEMD_UNIT_DIR=%{_unitdir}
79
80 make %{?jobs:-j%jobs}
81
82 %install
83 %make_install
84 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
85 mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
86 ln -s ../%{service_name}.service %{buildroot}%{_unitdir}/multi-user.target.wants/%{service_name}.service
87 ln -s ../%{service_name}.socket %{buildroot}%{_unitdir}/sockets.target.wants/%{service_name}.socket
88
89 mkdir -p %{buildroot}%{ro_data_dir}/license
90 cp LICENSE %{buildroot}%{ro_data_dir}/license/%{name}
91 cp LICENSE.BSL-1.0 %{buildroot}%{ro_data_dir}/license/%{name}.BSL-1.0
92 cp LICENSE %{buildroot}%{ro_data_dir}/license/lib%{name}-client
93 cp LICENSE %{buildroot}%{ro_data_dir}/license/lib%{name}-common
94 cp LICENSE %{buildroot}%{ro_data_dir}/license/%{name}-test
95 cp LICENSE.BSL-1.0 %{buildroot}%{ro_data_dir}/license/%{name}-test.BSL-1.0
96
97 %post
98 systemctl daemon-reload
99 if [ $1 = 1 ]; then
100     systemctl start %{service_name}.socket
101     systemctl start %{service_name}.service
102 fi
103
104 if [ $1 = 2 ]; then
105     systemctl restart %{service_name}.socket
106     systemctl restart %{service_name}.service
107 fi
108
109 %preun
110 if [ $1 = 0 ]; then
111     systemctl stop %{service_name}.service
112     systemctl stop %{service_name}.socket
113 fi
114
115 %postun
116 if [ $1 = 0 ]; then
117     systemctl daemon-reload
118 fi
119
120 %post -n lib%{name}-common -p %{sbin_dir}/ldconfig
121 %post -n lib%{name}-client -p %{sbin_dir}/ldconfig
122 %postun -n lib%{name}-common -p %{sbin_dir}/ldconfig
123 %postun -n lib%{name}-client -p %{sbin_dir}/ldconfig
124
125 %files
126 %defattr(-,root,root,-)
127 %manifest %{service_name}.manifest
128 %{ro_data_dir}/license/%{name}
129 %{ro_data_dir}/license/%{name}.BSL-1.0
130 %{bin_dir}/%{service_name}-server
131 %{_unitdir}/multi-user.target.wants/%{service_name}.service
132 %{_unitdir}/%{service_name}.service
133 %{_unitdir}/sockets.target.wants/%{service_name}.socket
134 %{_unitdir}/%{service_name}.socket
135
136 %files -n lib%{name}-common
137 %defattr(-,root,root,-)
138 %manifest %{service_name}-common.manifest
139 %{ro_data_dir}/license/lib%{name}-common
140 %{_libdir}/lib%{service_name}-common.so.*
141
142 %files -n lib%{name}-client
143 %defattr(-,root,root,-)
144 %manifest %{service_name}-client.manifest
145 %{ro_data_dir}/license/lib%{name}-client
146 %{_libdir}/lib%{service_name}-client.so.*
147
148 %files devel
149 %defattr(-,root,root,-)
150 %{_includedir}/csr/csr/content-screening.h
151 %{_includedir}/csr/csr/content-screening-types.h
152 %{_includedir}/csr/csr/web-protection.h
153 %{_includedir}/csr/csr/web-protection-types.h
154 %{_includedir}/csr/csr/error.h
155 %{_includedir}/csr/csr/engine-manager.h
156 %{_libdir}/pkgconfig/%{service_name}.pc
157 %{_libdir}/lib%{service_name}-client.so
158 %{_libdir}/lib%{service_name}-common.so
159
160 %files test
161 %defattr(-,root,root,-)
162 %{ro_data_dir}/license/%{name}-test
163 %{ro_data_dir}/license/%{name}-test.BSL-1.0
164 %{bin_dir}/%{service_name}-test