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 Requires: lib%{name}-common = %{version}-%{release}
21 General purpose content screening and reputation solution. Can scan
22 file contents and checking url to prevent malicious items.
24 %global service_user system
25 %global service_group system
26 %global service_name csr
27 %global bin_dir %{_bindir}
28 %global sbin_dir /sbin
29 %global ro_data_dir %{_datadir}
30 %global rw_data_dir /opt/share
31 %global ro_db_dir %{ro_data_dir}/%{service_name}/dbspace
32 %global rw_db_dir %{rw_data_dir}/%{service_name}/dbspace
33 %global sample_engine_ro_res_dir %{ro_data_dir}/%{service_name}/engine
34 %global sample_engine_rw_working_dir %{rw_data_dir}/%{service_name}/engine
35 %global sample_engine_dir %{_libdir}
36 %global test_dir %{rw_data_dir}/%{service_name}-test
38 %package -n lib%{name}-common
39 Summary: Common library package for %{name}
41 Group: Security/Libraries
42 Requires: %{sbin_dir}/ldconfig
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
55 Requires: %{sbin_dir}/ldconfig
57 %description -n lib%{name}-client
58 csr-framework client library package.
61 Summary: Development files for %{name}
63 Group: Security/Development
64 BuildRequires: pkgconfig(capi-base-common)
65 Requires: %{name} = %{version}-%{release}
68 csr-framework developemnt files including headers and pkgconfig file.
71 Summary: test program for %{name}
72 License: Apache-2.0 and BSL-1.0
73 Group: Security/Testing
74 BuildRequires: boost-devel
75 BuildRequires: pkgconfig(pkgmgr-info)
76 Requires: %{name} = %{version}
79 test program of csr-framework
86 -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:RELEASE} \
87 -DCMAKE_VERBOSE_MAKEFILE=ON \
88 -DCMAKE_INSTALL_PREFIX=%{_prefix} \
89 -DSERVICE_USER=%{service_user} \
90 -DSERVICE_GROUP=%{service_group} \
91 -DSERVICE_NAME=%{service_name} \
92 -DVERSION=%{version} \
93 -DINCLUDE_INSTALL_DIR:PATH=%{_includedir} \
94 -DBIN_DIR:PATH=%{bin_dir} \
95 -DSYSTEMD_UNIT_DIR=%{_unitdir} \
96 -DSYSTEMD_UNIT_USER_DIR=%{_unitdir_user} \
97 -DRO_DBSPACE:PATH=%{ro_db_dir} \
98 -DRW_DBSPACE:PATH=%{rw_db_dir} \
99 -DSAMPLE_ENGINE_RO_RES_DIR:PATH=%{sample_engine_ro_res_dir} \
100 -DSAMPLE_ENGINE_RW_WORKING_DIR:PATH=%{sample_engine_rw_working_dir} \
101 -DSAMPLE_ENGINE_DIR:PATH=%{sample_engine_dir} \
102 -DTEST_DIR:PATH=%{test_dir}
104 make %{?jobs:-j%jobs}
108 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
109 mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
110 ln -s ../%{service_name}.service %{buildroot}%{_unitdir}/multi-user.target.wants/%{service_name}.service
111 ln -s ../%{service_name}.socket %{buildroot}%{_unitdir}/sockets.target.wants/%{service_name}.socket
112 ln -s ../%{service_name}-popup.socket %{buildroot}%{_unitdir}/sockets.target.wants/%{service_name}-popup.socket
114 mkdir -p %{buildroot}%{ro_data_dir}/license
115 cp LICENSE %{buildroot}%{ro_data_dir}/license/%{name}
116 cp LICENSE.BSL-1.0 %{buildroot}%{ro_data_dir}/license/%{name}.BSL-1.0
117 cp LICENSE %{buildroot}%{ro_data_dir}/license/lib%{name}-client
118 cp LICENSE %{buildroot}%{ro_data_dir}/license/lib%{name}-common
119 cp LICENSE %{buildroot}%{ro_data_dir}/license/%{name}-test
120 cp LICENSE.BSL-1.0 %{buildroot}%{ro_data_dir}/license/%{name}-test.BSL-1.0
122 mkdir -p %{buildroot}%{ro_db_dir}
123 mkdir -p %{buildroot}%{rw_db_dir}
124 mkdir -p %{buildroot}%{sample_engine_ro_res_dir}
125 cp data/scripts/*.sql %{buildroot}%{ro_db_dir}
128 systemctl daemon-reload
130 systemctl start %{service_name}.socket
131 systemctl start %{service_name}.service
132 systemctl start %{service_name}-popup.socket
136 systemctl restart %{service_name}.socket
137 systemctl restart %{service_name}.service
138 systemctl restart %{service_name}-popup.socket
143 systemctl stop %{service_name}.service
144 systemctl stop %{service_name}.socket
145 systemctl stop %{service_name}-popup.socket
150 systemctl daemon-reload
153 %post -n lib%{name}-common -p %{sbin_dir}/ldconfig
154 %post -n lib%{name}-client -p %{sbin_dir}/ldconfig
155 %postun -n lib%{name}-common -p %{sbin_dir}/ldconfig
156 %postun -n lib%{name}-client -p %{sbin_dir}/ldconfig
159 %defattr(-,root,root,-)
160 %manifest %{service_name}.manifest
161 %{ro_data_dir}/license/%{name}
162 %{ro_data_dir}/license/%{name}.BSL-1.0
163 %{bin_dir}/%{service_name}-server
164 %{bin_dir}/%{service_name}-popup
165 %{_unitdir}/multi-user.target.wants/%{service_name}.service
166 %{_unitdir}/%{service_name}.service
167 %{_unitdir}/sockets.target.wants/%{service_name}.socket
168 %{_unitdir}/%{service_name}.socket
169 %{_unitdir}/%{service_name}-popup.service
170 %{_unitdir}/sockets.target.wants/%{service_name}-popup.socket
171 %{_unitdir}/%{service_name}-popup.socket
173 %dir %{ro_data_dir}/%{service_name}
174 %dir %attr(-, %{service_user}, %{service_group}) %{rw_data_dir}/%{service_name}
176 %dir %attr(-, %{service_user}, %{service_group}) %{rw_db_dir}
177 %attr(444, %{service_user}, %{service_group}) %{ro_db_dir}/*.sql
179 # sample engine related files
180 %dir %{sample_engine_dir}
181 %dir %{sample_engine_ro_res_dir}
182 %dir %attr(775, %{service_user}, %{service_group}) %{sample_engine_rw_working_dir}
183 %{sample_engine_dir}/lib%{service_name}-cs-engine.so
184 %{sample_engine_dir}/lib%{service_name}-wp-engine.so
185 %attr(-, %{service_user}, %{service_group}) %{sample_engine_rw_working_dir}/*
187 %files -n lib%{name}-common
188 %defattr(-,root,root,-)
189 %manifest %{service_name}-common.manifest
190 %{ro_data_dir}/license/lib%{name}-common
191 %{_libdir}/lib%{service_name}-common.so.*
193 %files -n lib%{name}-client
194 %defattr(-,root,root,-)
195 %manifest %{service_name}-client.manifest
196 %{ro_data_dir}/license/lib%{name}-client
197 %{_libdir}/lib%{service_name}-client.so.*
200 %defattr(-,root,root,-)
201 %{_includedir}/csr/content-screening.h
202 %{_includedir}/csr/content-screening-types.h
203 %{_includedir}/csr/web-protection.h
204 %{_includedir}/csr/web-protection-types.h
205 %{_includedir}/csr/error.h
206 %{_includedir}/csr/engine-manager.h
207 %{_libdir}/pkgconfig/%{service_name}.pc
208 %{_libdir}/lib%{service_name}-client.so
209 %{_libdir}/lib%{service_name}-common.so
212 %defattr(-,root,root,-)
213 %manifest %{service_name}-test.manifest
214 %{ro_data_dir}/license/%{name}-test
215 %{ro_data_dir}/license/%{name}-test.BSL-1.0
216 %{bin_dir}/%{service_name}-test
217 %{bin_dir}/%{service_name}-internal-test
218 %{bin_dir}/%{service_name}-popup-test
219 %{bin_dir}/%{service_name}-threadpool-test