summaryrefslogtreecommitdiff
blob: 921376d3fb582ace3bd834f2517f7b14596969b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI="4"

inherit autotools eutils readme.gentoo

MY_PN="${PN}-full"
MY_P="${MY_PN}-${PV}"

DESCRIPTION="A testsuite for the linux kernel"
HOMEPAGE="http://ltp.sourceforge.net/"
SRC_URI="mirror://sourceforge/ltp/LTP%20Source/${P}/${MY_P}.tar.bz2 -> ${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"

KEYWORDS="~amd64 ~hppa ~ppc ~x86"
IUSE="expect perl pm open-posix python rt"

DEPEND="expect? ( dev-tcltk/expect )
	perl? ( dev-lang/perl )
	python? ( dev-lang/python )"

RESTRICT="test"

S="${WORKDIR}"/${MY_P}

pkg_setup() {
	# Don't create groups
	export CREATE=0

	DOC_CONTENTS="LTP requires root access to run the tests.
		The LTP root directory is located in /opt/${PN}.
		For more information please read the ltp-howto located in
		/usr/share/doc/${PF}"
}

src_prepare() {
	# regenerate
	AT_M4DIR="m4" eautoreconf
}

src_configure() {
	# FIXME: improve me
	local myconf=
	use open-posix && myconf+="--with-open-posix-testsuite "
	use pm && mytconf+="--with-power-management-testsuite "
	use rt && myconf+="--with-realtime-testsuite "
	use perl && myconf+="--with-perl "
	use python && myconf+="--with-python "
	use expect && myconf+="--with-expect "
	# Prevent any kernel stuff for now as it leads to sandbox violations
	myconf+="--without-modules --with-linux-dir=/dev/null"

	# Better put it into /opt/${PN} as everything needs to
	# be under the same directory..

	econf --prefix=/opt/${PN} ${myconf}
}

src_compile() {
	# Posix testsuite does not seem to build with -j>1
	# Is this maintained anymore?
	if use open-posix; then
		export MAKEOPTS="-j1"
	fi
	emake
}

src_install() {
	default
	dosym /usr/libexec/${PN}/runltp /usr/bin/runltp
	# install docs
	dodoc doc/MaintNotes
	for txt in doc/*.txt; do
		dodoc ${txt}
	done
	dodoc -r doc/testcases
	dohtml -r doc/automation-*.html
	doman doc/man1/*.1
	doman doc/man3/*.3
	readme.gentoo_create_doc
}