SM: Use TzPlatformConfig for global app dir
[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 BuildRequires: pkgconfig(key-manager)
16 BuildRequires: pkgconfig(dlog)
17 BuildRequires: pkgconfig(glib-2.0)
18 BuildRequires: pkgconfig(dbus-1)
19 BuildRequires: pkgconfig(libpcrecpp)
20 BuildRequires: pkgconfig(libxml-2.0)
21 BuildRequires: pkgconfig(sqlite3)
22 BuildRequires: pkgconfig(libwebappenc)
23 BuildRequires: cynara-devel
24 BuildRequires: pkgconfig(libtzplatform-config)
25 BuildRequires: boost-devel
26 BuildRequires: pkgconfig(vconf)
27 BuildRequires: pkgconfig(libgum) >= 1.0.5
28 Requires: perf
29 Requires: gdb
30
31 %global ckm_test_dir %{?TZ_SYS_SHARE:%TZ_SYS_SHARE/ckm-test/}%{!?TZ_SYS_SHARE:/usr/share/ckm-test/}
32 %global ckm_rw_data_dir %{?TZ_SYS_DATA:%TZ_SYS_DATA/ckm/}%{!?TZ_SYS_DATA:/opt/data/ckm/}
33
34 %description
35 Security tests repository - for tests that can't be kept together with code.
36
37 %prep
38 %setup -q
39 cp %{SOURCE1} .
40
41 %build
42 export LDFLAGS+="-Wl,--rpath=%{_prefix}/lib"
43
44 cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} \
45         -DDPL_LOG="ON"                    \
46         -DDPL_WITH_DLOG="ON"              \
47         -DVERSION=%{version}              \
48         -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:DEBUG} \
49 %if "%{sec_product_feature_security_mdfpp_enable}" == "1"
50         -DSECURITY_MDFPP_STATE_ENABLE=1 \
51 %endif
52         -DCMAKE_VERBOSE_MAKEFILE=ON       \
53         -DCYNARA_DB_DIR=%{_localstatedir}/cynara/db \
54         -DAPP_USER="security_test_user" \
55         -DCKM_TEST_DIR=%{ckm_test_dir} \
56         -DCKM_RW_DATA_DIR=%{ckm_rw_data_dir} \
57         -DGLOBAL_APP_DIR=%{TZ_SYS_RW_APP}
58 make %{?jobs:-j%jobs}
59
60 %install
61 %make_install
62 ln -sf /etc/smack/test_smack_rules %{buildroot}/etc/smack/test_smack_rules_lnk
63
64 %post
65 id -u  security_test_user 1>/dev/null 2>&1 || \
66     useradd -r -g users -s /sbin/nologin -c "for tests only" security_test_user
67
68 echo "security-tests postinst done ..."
69
70 %files
71 %manifest %{name}.manifest
72 %defattr(-, root, root, -)
73 /usr/bin/security-tests.sh
74 /usr/bin/security-tests-all.sh
75 /usr/bin/test-performance-check.sh
76
77 /etc/dbus-1/system.d/security-tests.conf
78
79 /usr/bin/libsmack-test
80 /etc/smack/test_smack_rules_full
81 /etc/smack/test_smack_rules2
82 /etc/smack/test_smack_rules3
83 /etc/smack/test_smack_rules4
84 /usr/bin/security-manager-tests
85 /etc/smack/test_smack_rules
86 /etc/smack/test_smack_rules_lnk
87 %{TZ_SYS_RW_APP}*
88 /usr/bin/cynara-test
89 /usr/bin/ckm-tests
90 /usr/bin/ckm-integration-tests
91 %{ckm_test_dir}/*
92 /etc/security-tests
93 /usr/lib/security-tests/cynara-tests/plugins/single-policy/*
94 /usr/lib/security-tests/cynara-tests/plugins/multiple-policy/*
95 /usr/lib/security-tests/cynara-tests/plugins/test-agent/*
96 /usr/bin/security-tests-inner-test
97 /usr/bin/libwebappenc-tests
98
99 %postun
100 id -u security_test_user  1>/dev/null 2>&1 && userdel security_test_user