blob: dd292838bf46f05d71a667362a14a24007032b89 (
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
|
# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-libs/libcap/libcap-1.10.ebuild,v 1.17 2004/02/24 07:17:46 rajiv Exp $
inherit base flag-o-matic
DESCRIPTION="POSIX 1003.1e capabilities"
HOMEPAGE="http://www.kernel.org/pub/linux/libs/security/linux-privs/"
SRC_URI="http://www.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.4/${P}.tar.bz2"
LICENSE="GPL-2 BSD"
SLOT="0"
KEYWORDS="x86 ppc sparc alpha mips hppa amd64"
IUSE="python"
#patch is in recent 2.2 kernels so it works there
DEPEND="virtual/glibc
virtual/os-headers
python? ( >=virtual/python-2.2.1 >=dev-lang/swig-1.3.10 )"
RDEPEND="python? ( >=virtual/python-2.2.1 )"
src_unpack() {
unpack ${A}
cd ${S}
# hardened-gcc needs this PIC patch to remove .TEXT relocations from the libcap library
has_version "sys-devel/hardened-gcc" && epatch ${FILESDIR}/${PF}-syscall.patch
epatch ${FILESDIR}/${PF}-python.patch
}
src_compile() {
PYTHONVER="`python -V 2>&1 | sed 's/^Python //'|sed 's/\([0-9]*\.[0-9]*\).*/\1/'`"
# filter-flags the PIC option only if hcc is not found active
# and thats way the syscall removal patch will not be applied
if ! has_version sys-devel/hardened-gcc
then
filter-flags -fPIC
fi
local myflags=""
if [ `use python` ]; then
myflags="${myflags} PYTHON=1 PYTHONMODDIR=/usr/lib/python${PYTHONVER}/site-packages"
append-flags -I/usr/include/python${PYTHONVER}
fi
# http://www.gentoo.org/proj/en/hardened/etdyn-ssp.xml or #gentoo-hardened/irc.freenode
has_version "sys-devel/hardened-gcc" && append-flags "-yet_exec"
emake COPTFLAG="${CFLAGS}" DEBUG="" ${myflags} || die
}
src_install() {
PYTHONVER="`python -V 2>&1 | sed 's/^Python //'|sed 's/\([0-9]*\.[0-9]*\).*/\1/'`"
local myflags=""
if [ `use python` ]; then
myflags="${myflags} PYTHON=1 PYTHONMODDIR=${D}/usr/lib/python${PYTHONVER}/site-packages"
fi
make install FAKEROOT="${D}" man_prefix=/usr/share ${myflags} || die
dodoc CHANGELOG README License pgp.keys.asc doc/capability.notes
}
|