summaryrefslogtreecommitdiff
blob: cf76a4cbc47bcc33ef1228200dff2d9af1c811c8 (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
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/checkpolicy/checkpolicy-1.20.ebuild,v 1.2 2005/02/14 00:29:22 pebenito Exp $

IUSE="mls"

inherit eutils

DESCRIPTION="SELinux policy compiler"
HOMEPAGE="http://www.nsa.gov/selinux"
SRC_URI="http://www.nsa.gov/selinux/archives/${P}.tgz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="x86 ppc sparc amd64"

DEPEND=">=sys-libs/libsepol-1.2
	sys-devel/flex
	sys-devel/bison"

RDEPEND="sec-policy/selinux-base-policy"

src_unpack() {
	unpack ${A}
	cd ${S}

	sed -i -e "s:-Wall:-Wall ${CFLAGS}:g" -e 's/$(LIBS)/$(LIBS) $(LDFLAGS)/' ${S}/Makefile
	sed -i -e '/^lex\.yy\.c/s/\.l/\.l y\.tab\.c/' ${S}/Makefile

	epatch ${FILESDIR}/checkpolicy-1.16-no-netlink-warn.diff

	# MLS support is experimental!
	if use mls; then
		sed -i -e '/^MLS/s/n/y/' ${S}/Makefile \
			|| die "MLS config failed."
		sed -i -e 's/-mls (/ (mls /' ${S}/checkpolicy.c \
			|| die "MLS output failed."
	fi
}

src_compile() {
	cd ${S}
	emake YACC="bison -y" || die
}

src_install() {
	make DESTDIR="${D}" install
}

pkg_postinst() {
	einfo "This checkpolicy can compile version `checkpolicy -V |cut -f 1 -d ' '` policy."
}