Add gbs option to enable the TZ backend support
[platform/core/test/security-tests.git] / packaging / security-tests.spec
index 0769110..6b4955e 100644 (file)
@@ -13,24 +13,30 @@ BuildRequires: pkgconfig(libcap)
 BuildRequires: pkgconfig(libsmack)
 BuildRequires: pkgconfig(security-manager)
 BuildRequires: pkgconfig(key-manager)
+BuildRequires: pkgconfig(yaca)
 BuildRequires: pkgconfig(dlog)
 BuildRequires: pkgconfig(glib-2.0)
 BuildRequires: pkgconfig(dbus-1)
 BuildRequires: pkgconfig(libpcrecpp)
 BuildRequires: pkgconfig(libxml-2.0)
-BuildRequires: pkgconfig(libiri)
 BuildRequires: pkgconfig(sqlite3)
 BuildRequires: pkgconfig(libwebappenc)
+BuildRequires: pkgconfig(openssl)
 BuildRequires: cynara-devel
+BuildRequires: libcynara-creds-dbus-devel
+BuildRequires: libcynara-creds-gdbus-devel
 BuildRequires: pkgconfig(libtzplatform-config)
 BuildRequires: boost-devel
 BuildRequires: pkgconfig(vconf)
 BuildRequires: pkgconfig(libgum) >= 1.0.5
+BuildRequires: pkgconfig(security-privilege-manager)
 Requires: perf
 Requires: gdb
+Requires: diffutils
 
 %global ckm_test_dir %{?TZ_SYS_SHARE:%TZ_SYS_SHARE/ckm-test/}%{!?TZ_SYS_SHARE:/usr/share/ckm-test/}
 %global ckm_rw_data_dir %{?TZ_SYS_DATA:%TZ_SYS_DATA/ckm/}%{!?TZ_SYS_DATA:/opt/data/ckm/}
+%global tz_backend_enabled %{?tz_backend:%tz_backend}%{!?tz_backend:OFF}
 
 %description
 Security tests repository - for tests that can't be kept together with code.
@@ -43,7 +49,11 @@ cp %{SOURCE1} .
 export LDFLAGS+="-Wl,--rpath=%{_prefix}/lib"
 
 cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \
+%if %{tz_backend_enabled} == ON
+        -DTZ_BACKEND="ON"                 \
+%endif
         -DDPL_LOG="ON"                    \
+        -DDPL_WITH_DLOG="ON"              \
         -DVERSION=%{version}              \
         -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:DEBUG} \
 %if "%{sec_product_feature_security_mdfpp_enable}" == "1"
@@ -53,7 +63,9 @@ cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \
         -DCYNARA_DB_DIR=%{_localstatedir}/cynara/db \
         -DAPP_USER="security_test_user" \
         -DCKM_TEST_DIR=%{ckm_test_dir} \
-        -DCKM_RW_DATA_DIR=%{ckm_rw_data_dir}
+        -DCKM_RW_DATA_DIR=%{ckm_rw_data_dir} \
+        -DGLOBAL_APP_DIR=%{TZ_SYS_RW_APP} \
+        -DLOCAL_APP_DIR="%{TZ_SYS_HOME}/security_test_user/apps_rw"
 make %{?jobs:-j%jobs}
 
 %install
@@ -62,7 +74,10 @@ ln -sf /etc/smack/test_smack_rules %{buildroot}/etc/smack/test_smack_rules_lnk
 
 %post
 id -u  security_test_user 1>/dev/null 2>&1 || \
-    useradd -r -g users -s /sbin/nologin -c "for tests only" security_test_user
+    gum-utils -o -a --username=security_test_user --usertype=normal
+
+# Reload dbus daemon to apply newly installed configuration
+systemctl reload dbus
 
 echo "security-tests postinst done ..."
 
@@ -83,17 +98,27 @@ echo "security-tests postinst done ..."
 /usr/bin/security-manager-tests
 /etc/smack/test_smack_rules
 /etc/smack/test_smack_rules_lnk
-/usr/apps/*
+%{TZ_SYS_RW_APP}*
+%{TZ_SYS_HOME}/security_test_user/apps_rw/*
 /usr/bin/cynara-test
 /usr/bin/ckm-tests
+/usr/bin/ckm-privileged-tests
+/usr/bin/ckm-tests-on-onlycap.sh
 /usr/bin/ckm-integration-tests
+/usr/bin/yaca-test
 %{ckm_test_dir}/*
 /etc/security-tests
 /usr/lib/security-tests/cynara-tests/plugins/single-policy/*
 /usr/lib/security-tests/cynara-tests/plugins/multiple-policy/*
 /usr/lib/security-tests/cynara-tests/plugins/test-agent/*
 /usr/bin/security-tests-inner-test
+/usr/bin/security-tests-cleanup-test
+/usr/bin/cleanup_test.sh
 /usr/bin/libwebappenc-tests
+%{_prefix}/share/yaca-test
+%dir %{_prefix}/share/security-tests-cleanup-test
+%{_prefix}/share/security-tests-cleanup-test/*
+/opt/data/ckm/initial_values/test.xml
 
 %postun
-id -u security_test_user  1>/dev/null 2>&1 && userdel security_test_user
+id -u security_test_user 1>/dev/null 2>&1 && gum-utils -o -d --uid=`id -u security_test_user`