Popup service initial commit
[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 BuildRequires: pkgconfig(vconf)
13 BuildRequires: pkgconfig(elementary)
14 Requires:      lib%{name}-common = %{version}-%{release}
15 %{?systemd_requires}
16
17 %description
18 General purpose content screening and reputation solution. Can scan
19 file contents and checking url to prevent malicious items.
20
21 %global service_name              csr
22 %global bin_dir                   %{_bindir}
23 %global sbin_dir                  /sbin
24 %global ro_data_dir               %{_datadir}
25 %global sample_engine_working_dir /opt/share/%{service_name}/engine
26 %global sample_engine_dir         %{_libdir}
27 %global test_dir                  /opt/share/%{service_name}-test
28
29 %package -n lib%{name}-common
30 Summary: Common library package for %{name}
31 License: Apache-2.0
32 Group:   Security/Libraries
33 Requires: %{sbin_dir}/ldconfig
34 Requires: %{sbin_dir}/ldconfig
35
36 %description -n lib%{name}-common
37 csr-framework common library package.
38
39 %package -n lib%{name}-client
40 Summary: Client library package for %{name}
41 License: Apache-2.0
42 Group:   Security/Libraries
43 BuildRequires: pkgconfig(capi-base-common)
44 Requires: %{name} = %{version}-%{release}
45 Requires: %{sbin_dir}/ldconfig
46 Requires: %{sbin_dir}/ldconfig
47
48 %description -n lib%{name}-client
49 csr-framework client library package.
50
51 %package devel
52 Summary: Development files for %{name}
53 LICENSE: Apache-2.0
54 Group:   Security/Development
55 BuildRequires: pkgconfig(capi-base-common)
56 Requires:      %{name} = %{version}-%{release}
57
58 %description devel
59 csr-framework developemnt files including headers and pkgconfig file.
60
61 %package test
62 Summary: test program for %{name}
63 License: Apache-2.0 and BSL-1.0
64 Group:   Security/Testing
65 BuildRequires: boost-devel
66 Requires:      %{name} = %{version}
67
68 %description test
69 test program of csr-framework
70
71 %prep
72 %setup -q
73
74 %build
75 %cmake . \
76     -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:RELEASE} \
77     -DCMAKE_VERBOSE_MAKEFILE=ON \
78     -DCMAKE_INSTALL_PREFIX=%{_prefix} \
79     -DSERVICE_NAME=%{service_name} \
80     -DVERSION=%{version} \
81     -DINCLUDE_INSTALL_DIR:PATH=%{_includedir} \
82     -DBIN_DIR:PATH=%{bin_dir} \
83     -DSYSTEMD_UNIT_DIR=%{_unitdir} \
84     -DSYSTEMD_UNIT_USER_DIR=%{_unitdir_user} \
85     -DSAMPLE_ENGINE_WORKING_DIR:PATH=%{sample_engine_working_dir} \
86     -DSAMPLE_ENGINE_DIR:PATH=%{sample_engine_dir} \
87     -DTEST_DIR:PATH=%{test_dir}
88
89 make %{?jobs:-j%jobs}
90
91 %install
92 %make_install
93 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
94 mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
95 ln -s ../%{service_name}.service %{buildroot}%{_unitdir}/multi-user.target.wants/%{service_name}.service
96 ln -s ../%{service_name}.socket %{buildroot}%{_unitdir}/sockets.target.wants/%{service_name}.socket
97
98 mkdir -p %{buildroot}%{_unitdir}/default.target.wants
99 mkdir -p %{buildroot}%{_unitdir}/sockets.target.wants
100 ln -s ../%{service_name}-popup.service %{buildroot}%{_unitdir}/default.target.wants/%{service_name}-popup.service
101 ln -s ../%{service_name}-popup.socket %{buildroot}%{_unitdir}/sockets.target.wants/%{service_name}-popup.socket
102
103 mkdir -p %{buildroot}%{ro_data_dir}/license
104 cp LICENSE %{buildroot}%{ro_data_dir}/license/%{name}
105 cp LICENSE.BSL-1.0 %{buildroot}%{ro_data_dir}/license/%{name}.BSL-1.0
106 cp LICENSE %{buildroot}%{ro_data_dir}/license/lib%{name}-client
107 cp LICENSE %{buildroot}%{ro_data_dir}/license/lib%{name}-common
108 cp LICENSE %{buildroot}%{ro_data_dir}/license/%{name}-test
109 cp LICENSE.BSL-1.0 %{buildroot}%{ro_data_dir}/license/%{name}-test.BSL-1.0
110
111 %post
112 systemctl daemon-reload
113 if [ $1 = 1 ]; then
114     systemctl start %{service_name}.socket
115     systemctl start %{service_name}.service
116     systemctl start %{service_name}-popup.socket
117 fi
118
119 if [ $1 = 2 ]; then
120     systemctl restart %{service_name}.socket
121     systemctl restart %{service_name}.service
122     systemctl restart %{service_name}-popup.socket
123 fi
124
125 %preun
126 if [ $1 = 0 ]; then
127     systemctl stop %{service_name}.service
128     systemctl stop %{service_name}.socket
129     systemctl stop %{service_name}-popup.socket
130 fi
131
132 %postun
133 if [ $1 = 0 ]; then
134     systemctl daemon-reload
135 fi
136
137 %post -n lib%{name}-common -p %{sbin_dir}/ldconfig
138 %post -n lib%{name}-client -p %{sbin_dir}/ldconfig
139 %postun -n lib%{name}-common -p %{sbin_dir}/ldconfig
140 %postun -n lib%{name}-client -p %{sbin_dir}/ldconfig
141
142 %files
143 %defattr(-,root,root,-)
144 %manifest %{service_name}.manifest
145 %{ro_data_dir}/license/%{name}
146 %{ro_data_dir}/license/%{name}.BSL-1.0
147 %{bin_dir}/%{service_name}-server
148 %{bin_dir}/%{service_name}-popup
149 %{_unitdir}/multi-user.target.wants/%{service_name}.service
150 %{_unitdir}/%{service_name}.service
151 %{_unitdir}/sockets.target.wants/%{service_name}.socket
152 %{_unitdir}/%{service_name}.socket
153 %{_unitdir}/default.target.wants/%{service_name}-popup.service
154 %{_unitdir}/%{service_name}-popup.service
155 %{_unitdir}/sockets.target.wants/%{service_name}-popup.socket
156 %{_unitdir}/%{service_name}-popup.socket
157
158 # sample engine related files
159 %{sample_engine_dir}/lib%{service_name}-cs-engine.so
160 %{sample_engine_dir}/lib%{service_name}-wp-engine.so
161 %{sample_engine_working_dir}
162
163 %files -n lib%{name}-common
164 %defattr(-,root,root,-)
165 %manifest %{service_name}-common.manifest
166 %{ro_data_dir}/license/lib%{name}-common
167 %{_libdir}/lib%{service_name}-common.so.*
168
169 %files -n lib%{name}-client
170 %defattr(-,root,root,-)
171 %manifest %{service_name}-client.manifest
172 %{ro_data_dir}/license/lib%{name}-client
173 %{_libdir}/lib%{service_name}-client.so.*
174
175 %files devel
176 %defattr(-,root,root,-)
177 %{_includedir}/csr/csr/content-screening.h
178 %{_includedir}/csr/csr/content-screening-types.h
179 %{_includedir}/csr/csr/web-protection.h
180 %{_includedir}/csr/csr/web-protection-types.h
181 %{_includedir}/csr/csr/error.h
182 %{_includedir}/csr/csr/engine-manager.h
183 %{_libdir}/pkgconfig/%{service_name}.pc
184 %{_libdir}/lib%{service_name}-client.so
185 %{_libdir}/lib%{service_name}-common.so
186
187 %files test
188 %defattr(-,root,root,-)
189 %manifest %{service_name}-test.manifest
190 %{ro_data_dir}/license/%{name}-test
191 %{ro_data_dir}/license/%{name}-test.BSL-1.0
192 %{bin_dir}/%{service_name}-test
193 %{bin_dir}/%{service_name}-popup-test
194 # test resources
195 %{test_dir}