898bb3e7537e17654f8a2dd9e0eb547532418011
[platform/core/security/suspicious-activity-monitor.git] / packaging / sam.spec
1 Name:       sam
2 Version:    1.0.0
3 Release:    9
4 Summary:    TODO
5
6 License:    Apache
7 Source0:    %{name}-%{version}.tar.gz
8
9 BuildRequires: cmake
10 BuildRequires: pkgconfig(capi-system-info)
11 BuildRequires: pkgconfig(glib-2.0)
12 BuildRequires: pkgconfig(libcurl)
13 BuildRequires: pkgconfig(dpm)
14 BuildRequires: pkgconfig(dlog)
15 BuildRequires: pkgconfig(boost)
16 BuildRequires: pkgconfig(systemd)
17 BuildRequires: pkgconfig(jsoncpp)
18 BuildRequires: pkgconfig(audit)
19 BuildRequires: pkgconfig(audit-trail)
20 BuildRequires: pkgconfig(libtzplatform-config)
21 BuildRequires: pkgconfig(gmock)
22 BuildRequires: pkgconfig(vconf)
23
24 %define _project_name sam
25 %define _app_name %{_project_name}-agent
26 %define _app_dir /usr/apps/%{_project_name}
27 %define _manifestdir /usr/share/packages
28 %define _service_dir /usr/lib/systemd/system
29 %define _service_symlink_dir /etc/systemd/system/multi-user.target.wants
30 %define _conf_dir /etc/%{_project_name}
31 %define _conf_file %{_project_name}.conf
32 %define _data_dir /opt/data/%{_project_name}
33
34 %description
35 Suspicious Activity Monitor
36
37 %prep
38 %setup -q
39
40 %build
41 %{!?build_type:%define build_type "RELEASE"}
42
43 cmake -H./ -B./build-gbs \
44     -DLIB_INSTALL_DIR=%{_libdir} \
45     -DMANIFESTDIR=%{_manifestdir} \
46     -DBIN_DIR=%{_app_dir} \
47     -DSERVICE_INSTALL_DIR=%{_service_dir} \
48     -DDAEMON_CONFIG_FILE=%{_conf_file} \
49     -DDAEMON_CONFIG_DIR=%{_conf_dir} \
50     -DDAEMON_APP_NAME=%{_app_name} \
51     -DCMAKE_BUILD_TYPE=%{build_type} \
52     -DDAEMON_NAME=%{_app_name} \
53     -DDATA_DIR=%{_data_dir} \
54     #eol
55
56 %install
57 cd build-gbs
58 %make_install
59
60 %clean
61 %if %{build_type} == "CCOV"
62     cd build-gbs/
63     make runtests && make coverage
64 %endif
65 rm -rf %{buildroot}
66
67 ##############################################
68 # Suspicious Activity Monitor
69 ##############################################
70
71 %package agent
72 Summary: Suspicious Activity Monitor
73 Provides: sam-agent
74 Requires: dpm
75 Requires: libaudit
76 Requires: libaudit-trail
77 %description agent
78 Suspicious Activity Monitor daemon
79
80
81 %post agent
82 vconftool set -f -t bool db/sam/enable 1
83 mkdir -p %{_data_dir}
84 ln -sf %{_service_dir}/%{_project_name}.service %{_service_symlink_dir}/%{_project_name}.service
85 systemctl daemon-reload
86 dpm-admin-cli -r %{_app_name} -u owner
87 dpm-admin-cli -r %{_app_dir}/%{_app_name} -u owner
88 systemctl restart device-policy-manager
89 systemctl restart %{_project_name}
90
91 %postun agent
92 systemctl stop %{_project_name}
93 rm -r %{_data_dir}
94
95 %files agent
96 %manifest %{_manifestdir}/%{_app_name}.manifest
97 %attr(0755,root,root) %{_app_dir}/%{_app_name}
98 %attr(0664,root,root) %{_service_dir}/%{_project_name}.service
99 %attr(0664,root,root) %{_conf_dir}/%{_conf_file}
100 %attr(0664,root,root) %{_manifestdir}/sam.xml
101
102
103 ##############################################
104 # Unit tests
105 ##############################################
106
107 %package test
108 Summary: Unit tests
109 %description test
110 Google tests
111
112 %files test
113 %manifest %{_manifestdir}/tests.manifest
114 %attr(0755,root,root) %{_app_dir}/utest