E2EE: OCF API implementation
[platform/core/test/security-tests.git] / packaging / security-tests.spec
1 Name:       security-tests
2 Summary:    Security repository for holding tests.
3 Version:    0.0.45
4 Release:    1
5 Group:      Security/Testing
6 License:    Apache License, Version 2.0
7 URL:        N/A
8 Source0:    %{name}-%{version}.tar.gz
9 Source1:    %{name}.manifest
10 BuildRequires: cmake
11 BuildRequires: libattr-devel
12 BuildRequires: pkgconfig(libcap)
13 BuildRequires: pkgconfig(libsmack)
14 BuildRequires: pkgconfig(security-manager)
15  # TODO: BuildRequires: pkgconfig(key-manager) >=0.1.48
16 BuildRequires: pkgconfig(key-manager)
17 BuildRequires: key-manager-initial-values
18 BuildRequires: util-linux
19 BuildRequires: pkgconfig(yaca)
20 BuildRequires: pkgconfig(ode)
21 BuildRequires: pkgconfig(dlog)
22 BuildRequires: pkgconfig(glib-2.0)
23 BuildRequires: pkgconfig(dbus-1)
24 BuildRequires: pkgconfig(libpcrecpp)
25 BuildRequires: pkgconfig(libxml-2.0)
26 BuildRequires: pkgconfig(sqlite3)
27 BuildRequires: pkgconfig(libwebappenc)
28 BuildRequires: pkgconfig(openssl1.1)
29 BuildRequires: cynara-devel
30 BuildRequires: libcynara-creds-dbus-devel
31 BuildRequires: libcynara-creds-gdbus-devel
32 BuildRequires: libcynara-creds-sd-bus-devel
33 BuildRequires: pkgconfig(libtzplatform-config)
34 BuildRequires: pkgconfig(boost)
35 BuildRequires: pkgconfig(vconf)
36 BuildRequires: pkgconfig(libgum) >= 1.0.5
37 BuildRequires: pkgconfig(security-privilege-manager)
38 BuildRequires: pkgconfig(libsystemd)
39 BuildRequires: pkgconfig(device-certificate-manager) >= 2.1
40 BuildRequires: openssl1.1
41 Requires: perf
42 Requires: gdb
43 Requires: diffutils
44 Requires: iproute2
45 Requires: toybox-symlinks-ping
46
47 %global ckm_test_dir %{?TZ_SYS_SHARE:%TZ_SYS_SHARE/ckm-test/}%{!?TZ_SYS_SHARE:/usr/share/ckm-test/}
48 %global ckm_rw_data_dir %{?TZ_SYS_DATA:%TZ_SYS_DATA/ckm/}%{!?TZ_SYS_DATA:/opt/data/ckm/}
49 %global tz_backend_enabled %{?tz_backend:%tz_backend}%{!?tz_backend:OFF}
50 %global sm_test_dir %{?TZ_SYS_SHARE:%TZ_SYS_SHARE/security-manager-test}%{!?TZ_SYS_SHARE:/usr/share/security-manager-test}
51
52 %description
53 Security tests repository - for tests that can't be kept together with code.
54
55 %prep
56 %setup -q
57
58 %build
59 export LDFLAGS+="-Wl,--rpath=%{_prefix}/lib"
60
61 cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \
62 %if "%{_with_emulator}" == "1"
63         -DEMULATOR="ON"                   \
64 %endif
65 %if %{tz_backend_enabled} == ON
66         -DTZ_BACKEND="ON"                 \
67 %endif
68         -DDPL_LOG="ON"                    \
69         -DDPL_WITH_DLOG="ON"              \
70         -DVERSION=%{version}              \
71         -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:DEBUG} \
72 %if "%{sec_product_feature_security_mdfpp_enable}" == "1"
73         -DSECURITY_MDFPP_STATE_ENABLE=1 \
74 %endif
75         -DCMAKE_VERBOSE_MAKEFILE=ON       \
76         -DCYNARA_DB_DIR=%{_localstatedir}/cynara/db \
77         -DAPP_USER="security_test_user" \
78         -DCKM_TEST_DIR=%{ckm_test_dir} \
79         -DCKM_RW_DATA_DIR=%{ckm_rw_data_dir} \
80         -DGLOBAL_APP_DIR=%{TZ_SYS_RW_APP} \
81         -DLOCAL_APP_DIR="%{TZ_SYS_HOME}/security_test_user/apps_rw" \
82         -DSM_TEST_DIR="%{sm_test_dir}"
83 make %{?jobs:-j%jobs}
84
85 %pre
86 id -u  security_test_user 1>/dev/null 2>&1 || \
87     gum-utils -o -a --username=security_test_user --usertype=normal
88
89 %install
90 %make_install
91 cp -a %{SOURCE1} %{buildroot}%{_datadir}/
92
93 %post
94 # Reload dbus daemon to apply newly installed configuration
95 systemctl reload dbus
96
97 echo "security-tests postinst done ..."
98
99 %files
100 %manifest %{_datadir}/%{name}.manifest
101 %defattr(-, root, root, -)
102 /usr/bin/security-tests.sh
103 /usr/bin/security-tests-all.sh
104 /usr/bin/test-performance-check.sh
105 /usr/bin/setup-nether-tests-nns.sh
106 /usr/bin/teardown-nether-tests-nns.sh
107 /usr/bin/setup-nether-tests-dns.sh
108 /usr/bin/teardown-nether-tests-dns.sh
109
110 /etc/dbus-1/system.d/security-tests.conf
111
112 /usr/bin/security-manager-tests
113 %{TZ_SYS_RW_APP}*
114 %attr(755, security_test_user,users) %{TZ_SYS_HOME}/security_test_user/apps_rw/*
115 /usr/bin/cynara-test
116 /usr/bin/ckm-tests
117 %caps(cap_mac_admin=ep) /usr/bin/ckm-privileged-tests
118 %caps(cap_mac_admin=ep) /usr/bin/ckm-integration-tests
119 /usr/bin/yaca-test
120 /usr/bin/nether-tests
121 /usr/bin/ode-tests
122 /usr/bin/e2ee-tests
123 %{ckm_test_dir}/*
124 /etc/security-tests
125 /usr/lib/security-tests/cynara-tests/plugins/single-policy/*
126 /usr/lib/security-tests/cynara-tests/plugins/multiple-policy/*
127 /usr/lib/security-tests/cynara-tests/plugins/test-agent/*
128 /usr/bin/security-tests-inner-test
129 /usr/bin/security-tests-cleanup-test
130 /usr/bin/cleanup_test.sh
131 /usr/bin/libwebappenc-tests
132 %{_prefix}/share/yaca-test
133 %dir %{_prefix}/share/security-tests-cleanup-test
134 %{_prefix}/share/security-tests-cleanup-test/*
135 %{sm_test_dir}
136
137 %postun
138 id -u security_test_user 1>/dev/null 2>&1 && gum-utils -o -d --uid=`id -u security_test_user`