CKM: Read ckm data dir location from tzplatform_config
[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(libprivilege-control)
15 BuildRequires: pkgconfig(security-server)
16 BuildRequires: pkgconfig(security-manager)
17 BuildRequires: pkgconfig(key-manager)
18 BuildRequires: pkgconfig(dlog)
19 BuildRequires: pkgconfig(glib-2.0)
20 BuildRequires: pkgconfig(dbus-1)
21 BuildRequires: pkgconfig(libpcrecpp)
22 BuildRequires: pkgconfig(libxml-2.0)
23 BuildRequires: pkgconfig(libiri)
24 BuildRequires: pkgconfig(sqlite3)
25 BuildRequires: pkgconfig(libwebappenc)
26 BuildRequires: cynara-devel
27 BuildRequires: pkgconfig(libtzplatform-config)
28 BuildRequires: boost-devel
29 BuildRequires: pkgconfig(vconf)
30 BuildRequires: pkgconfig(libgum) >= 1.0.5
31 Requires: perf
32 Requires: gdb
33 Requires: key-manager-listener
34
35 %global ckm_test_dir %{?TZ_SYS_SHARE:%TZ_SYS_SHARE/ckm-test/}%{!?TZ_SYS_SHARE:/usr/share/ckm-test/}
36 %global ckm_rw_data_dir %{?TZ_SYS_DATA:%TZ_SYS_DATA/ckm/}%{!?TZ_SYS_DATA:/opt/data/ckm/}
37
38 %description
39 Security tests repository - for tests that can't be kept together with code.
40
41 %prep
42 %setup -q
43 cp %{SOURCE1} .
44
45 %build
46 export LDFLAGS+="-Wl,--rpath=%{_prefix}/lib"
47
48 cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \
49         -DDPL_LOG="ON"                    \
50         -DVERSION=%{version}              \
51         -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:DEBUG} \
52 %if "%{sec_product_feature_security_mdfpp_enable}" == "1"
53         -DSECURITY_MDFPP_STATE_ENABLE=1 \
54 %endif
55         -DCMAKE_VERBOSE_MAKEFILE=ON       \
56         -DCYNARA_DB_DIR=%{_localstatedir}/cynara/db \
57         -DAPP_USER="security_test_user" \
58         -DCKM_TEST_DIR=%{ckm_test_dir} \
59         -DCKM_RW_DATA_DIR=%{ckm_rw_data_dir}
60 make %{?jobs:-j%jobs}
61
62 %install
63 %make_install
64 ln -sf /etc/smack/test_smack_rules %{buildroot}/etc/smack/test_smack_rules_lnk
65
66 %post
67 find /etc/smack/test_privilege_control_DIR/ -type f -name exec -exec chmod 0755 {} +
68
69 # Load permissions templates
70 api_feature_loader --verbose
71
72 # Set vconf key for cc-mode testing if vconf key isn't there.
73 #%if "%{sec_product_feature_security_mdfpp_enable}" != "1"
74 #    echo "Install vconf key (file/security_mdpp/security_mdpp_state) for testing key-manager"
75 #    vconftool set -t string file/security_mdpp/security_mdpp_state "Unset"
76 #%endif
77
78 id -u  security_test_user 1>/dev/null 2>&1 || \
79     useradd -r -g users -s /sbin/nologin -c "for tests only" security_test_user
80
81 echo "security-tests postinst done ..."
82
83 %files
84 %manifest %{name}.manifest
85 %defattr(-, root, root, -)
86 /usr/bin/security-tests.sh
87 /usr/bin/security-tests-all.sh
88 /usr/bin/test-performance-check.sh
89
90 /etc/dbus-1/system.d/security-tests.conf
91
92 /usr/bin/libsmack-test
93 /usr/bin/smack-dbus-tests
94 /usr/bin/libprivilege-control-test
95 /usr/bin/security-server-tests-client-smack
96 /usr/bin/security-server-tests-server
97 /usr/bin/security-server-tests-password
98 /usr/bin/security-server-tests-privilege
99 /usr/bin/security-server-tests-stress
100 /etc/smack/test_smack_rules_full
101 /etc/smack/test_smack_rules2
102 /etc/smack/test_smack_rules3
103 /etc/smack/test_smack_rules4
104 /usr/bin/security-server-tests-mt
105 /usr/bin/security-server-tests-api-speed
106 /usr/bin/security-manager-tests
107 /etc/smack/test_smack_rules
108 /etc/smack/test_smack_rules_lnk
109 /usr/share/privilege-control/*
110 /etc/smack/test_privilege_control_DIR/*
111 /usr/apps/*
112 /usr/bin/test-app-efl
113 /usr/bin/test-app-osp
114 /usr/bin/test-app-wgt
115 /usr/bin/cynara-test
116 /usr/bin/ckm-tests
117 /usr/bin/ckm-integration-tests
118 %{ckm_test_dir}/*
119 /etc/security-tests
120 /usr/lib/security-tests/cynara-tests/plugins/single-policy/*
121 /usr/lib/security-tests/cynara-tests/plugins/multiple-policy/*
122 /usr/lib/security-tests/cynara-tests/plugins/test-agent/*
123 /usr/bin/security-tests-inner-test
124 /usr/bin/libwebappenc-tests
125
126 %postun
127 id -u security_test_user  1>/dev/null 2>&1 && userdel security_test_user