1 Summary: A general purpose content screening and reputation solution
5 Source: %{name}-%{version}.tar.gz
6 License: Apache-2.0 and BSL-1.0
7 Group: Security/Service
10 BuildRequires: pkgconfig(dlog)
11 BuildRequires: pkgconfig(libsystemd-daemon)
12 BuildRequires: pkgconfig(vconf)
13 BuildRequires: pkgconfig(elementary)
14 BuildRequires: pkgconfig(sqlite3)
15 BuildRequires: pkgconfig(pkgmgr)
16 BuildRequires: pkgconfig(glib-2.0)
17 BuildRequires: pkgconfig(libsmack)
18 Requires: lib%{name}-common = %{version}-%{release}
22 General purpose content screening and reputation solution. Can scan
23 file contents and checking url to prevent malicious items.
25 %global service_user system
26 %global service_group system
27 %global service_name csr
28 %global bin_dir %{_bindir}
29 %global sbin_dir /sbin
30 %global ro_data_dir %{_datadir}
31 %global rw_data_dir /opt/share
32 %global ro_db_dir %{ro_data_dir}/%{service_name}/dbspace
33 %global rw_db_dir %{rw_data_dir}/%{service_name}/dbspace
34 %global sample_engine_ro_res_dir %{ro_data_dir}/%{service_name}/engine
35 %global sample_engine_rw_working_dir %{rw_data_dir}/%{service_name}/engine
36 %global sample_engine_dir %{_libdir}
37 %global test_dir %{rw_data_dir}/%{service_name}-test
39 %package -n lib%{name}-common
40 Summary: Common library package for %{name}
42 Group: Security/Libraries
43 Requires: %{sbin_dir}/ldconfig
45 %description -n lib%{name}-common
46 csr-framework common library package.
48 %package -n lib%{name}-client
49 Summary: Client library package for %{name}
51 Group: Security/Libraries
52 BuildRequires: pkgconfig(capi-base-common)
53 Requires: %{name} = %{version}-%{release}
54 Requires: %{sbin_dir}/ldconfig
56 %description -n lib%{name}-client
57 csr-framework client library package.
60 Summary: Development files for %{name}
62 Group: Security/Development
63 BuildRequires: pkgconfig(capi-base-common)
64 Requires: %{name} = %{version}-%{release}
67 csr-framework development files including headers and pkgconfig file.
70 Summary: Development files for %{name} engine
72 Group: Security/Development
74 %description engine-devel
75 csr-framework engine development files including headers and pkgconfig file.
78 Summary: test program for %{name}
79 License: Apache-2.0 and BSL-1.0
80 Group: Security/Testing
81 BuildRequires: boost-devel
82 BuildRequires: pkgconfig(pkgmgr-info)
83 Requires: %{name} = %{version}
86 test program of csr-framework
93 -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:RELEASE} \
94 -DCMAKE_VERBOSE_MAKEFILE=ON \
95 -DCMAKE_INSTALL_PREFIX=%{_prefix} \
96 -DSERVICE_USER=%{service_user} \
97 -DSERVICE_GROUP=%{service_group} \
98 -DSERVICE_NAME=%{service_name} \
99 -DVERSION=%{version} \
100 -DINCLUDE_INSTALL_DIR:PATH=%{_includedir} \
101 -DBIN_DIR:PATH=%{bin_dir} \
102 -DSYSTEMD_UNIT_DIR=%{_unitdir} \
103 -DSYSTEMD_UNIT_USER_DIR=%{_unitdir_user} \
104 -DRO_DBSPACE:PATH=%{ro_db_dir} \
105 -DRW_DBSPACE:PATH=%{rw_db_dir} \
106 -DSAMPLE_ENGINE_RO_RES_DIR:PATH=%{sample_engine_ro_res_dir} \
107 -DSAMPLE_ENGINE_RW_WORKING_DIR:PATH=%{sample_engine_rw_working_dir} \
108 -DSAMPLE_ENGINE_DIR:PATH=%{sample_engine_dir} \
109 -DTEST_DIR:PATH=%{test_dir}
111 make %{?jobs:-j%jobs}
115 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
116 mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
117 ln -s ../%{service_name}.service %{buildroot}%{_unitdir}/multi-user.target.wants/%{service_name}.service
118 ln -s ../%{service_name}-cs.socket %{buildroot}%{_unitdir}/sockets.target.wants/%{service_name}-cs.socket
119 ln -s ../%{service_name}-wp.socket %{buildroot}%{_unitdir}/sockets.target.wants/%{service_name}-wp.socket
120 ln -s ../%{service_name}-admin.socket %{buildroot}%{_unitdir}/sockets.target.wants/%{service_name}-admin.socket
121 ln -s ../%{service_name}-popup.socket %{buildroot}%{_unitdir}/sockets.target.wants/%{service_name}-popup.socket
123 mkdir -p %{buildroot}%{ro_data_dir}/license
124 cp LICENSE %{buildroot}%{ro_data_dir}/license/%{name}
125 cp LICENSE.BSL-1.0 %{buildroot}%{ro_data_dir}/license/%{name}.BSL-1.0
126 cp LICENSE %{buildroot}%{ro_data_dir}/license/lib%{name}-client
127 cp LICENSE %{buildroot}%{ro_data_dir}/license/lib%{name}-common
128 cp LICENSE %{buildroot}%{ro_data_dir}/license/%{name}-test
129 cp LICENSE.BSL-1.0 %{buildroot}%{ro_data_dir}/license/%{name}-test.BSL-1.0
131 mkdir -p %{buildroot}%{ro_db_dir}
132 mkdir -p %{buildroot}%{rw_db_dir}
133 mkdir -p %{buildroot}%{sample_engine_ro_res_dir}
134 cp data/scripts/*.sql %{buildroot}%{ro_db_dir}
137 systemctl daemon-reload
139 systemctl start %{service_name}-cs.socket
140 systemctl start %{service_name}-wp.socket
141 systemctl start %{service_name}-admin.socket
142 systemctl start %{service_name}-popup.socket
143 systemctl start %{service_name}.service
147 systemctl restart %{service_name}-cs.socket
148 systemctl restart %{service_name}-wp.socket
149 systemctl restart %{service_name}-admin.socket
150 systemctl restart %{service_name}-popup.socket
151 systemctl restart %{service_name}.service
156 systemctl stop %{service_name}.service
157 systemctl stop %{service_name}-cs.socket
158 systemctl stop %{service_name}-wp.socket
159 systemctl stop %{service_name}-admin.socket
160 systemctl stop %{service_name}-popup.socket
165 systemctl daemon-reload
168 %post -n lib%{name}-common -p %{sbin_dir}/ldconfig
169 %post -n lib%{name}-client -p %{sbin_dir}/ldconfig
170 %postun -n lib%{name}-common -p %{sbin_dir}/ldconfig
171 %postun -n lib%{name}-client -p %{sbin_dir}/ldconfig
174 %defattr(-,root,root,-)
175 %manifest %{service_name}.manifest
176 %{ro_data_dir}/license/%{name}
177 %{ro_data_dir}/license/%{name}.BSL-1.0
178 %{bin_dir}/%{service_name}-server
179 %{bin_dir}/%{service_name}-popup
180 %{_unitdir}/multi-user.target.wants/%{service_name}.service
181 %{_unitdir}/%{service_name}.service
182 %{_unitdir}/%{service_name}-popup.service
183 %{_unitdir}/sockets.target.wants/%{service_name}-cs.socket
184 %{_unitdir}/sockets.target.wants/%{service_name}-wp.socket
185 %{_unitdir}/sockets.target.wants/%{service_name}-admin.socket
186 %{_unitdir}/sockets.target.wants/%{service_name}-popup.socket
187 %{_unitdir}/%{service_name}-cs.socket
188 %{_unitdir}/%{service_name}-wp.socket
189 %{_unitdir}/%{service_name}-admin.socket
190 %{_unitdir}/%{service_name}-popup.socket
192 %dir %{ro_data_dir}/%{service_name}
193 %dir %attr(-, %{service_user}, %{service_group}) %{rw_data_dir}/%{service_name}
195 %dir %attr(-, %{service_user}, %{service_group}) %{rw_db_dir}
196 %attr(444, %{service_user}, %{service_group}) %{ro_db_dir}/*.sql
198 # sample engine related files
199 %dir %{sample_engine_dir}
200 %dir %{sample_engine_ro_res_dir}
201 %dir %attr(775, %{service_user}, %{service_group}) %{sample_engine_rw_working_dir}
202 %{sample_engine_dir}/lib%{service_name}-cs-engine.so
203 %{sample_engine_dir}/lib%{service_name}-wp-engine.so
204 %attr(-, %{service_user}, %{service_group}) %{sample_engine_rw_working_dir}/*
206 %files -n lib%{name}-common
207 %defattr(-,root,root,-)
208 %manifest %{service_name}-common.manifest
209 %{ro_data_dir}/license/lib%{name}-common
210 %{_libdir}/lib%{service_name}-common.so.*
212 %files -n lib%{name}-client
213 %defattr(-,root,root,-)
214 %manifest %{service_name}-client.manifest
215 %{ro_data_dir}/license/lib%{name}-client
216 %{_libdir}/lib%{service_name}-client.so.*
219 %defattr(-,root,root,-)
220 %{_includedir}/csr/content-screening.h
221 %{_includedir}/csr/content-screening-types.h
222 %{_includedir}/csr/web-protection.h
223 %{_includedir}/csr/web-protection-types.h
224 %{_includedir}/csr/error.h
225 %{_includedir}/csr/engine-manager.h
226 %{_libdir}/pkgconfig/%{service_name}.pc
227 %{_libdir}/lib%{service_name}-client.so
228 %{_libdir}/lib%{service_name}-common.so
231 %defattr(-,root,root,-)
232 %{_includedir}/csre/content-screening-engine-info.h
233 %{_includedir}/csre/content-screening.h
234 %{_includedir}/csre/content-screening-types.h
235 %{_includedir}/csre/error.h
236 %{_includedir}/csre/web-protection-engine-info.h
237 %{_includedir}/csre/web-protection.h
238 %{_includedir}/csre/web-protection-types.h
239 %{_libdir}/pkgconfig/%{service_name}-engine.pc
242 %defattr(-,root,root,-)
243 %manifest %{service_name}-test.manifest
244 %{ro_data_dir}/license/%{name}-test
245 %{ro_data_dir}/license/%{name}-test.BSL-1.0
246 %attr(-, %{service_user}, %{service_group}) %{bin_dir}/%{service_name}-test
247 %attr(-, %{service_user}, %{service_group}) %{bin_dir}/%{service_name}-internal-test
248 %attr(-, %{service_user}, %{service_group}) %{bin_dir}/%{service_name}-popup-test
249 %attr(-, %{service_user}, %{service_group}) %{bin_dir}/%{service_name}-threadpool-test
251 %dir %attr(-, %{service_user}, %{service_group}) %{test_dir}
252 %attr(-, %{service_user}, %{service_group}) %{test_dir}/*