blob: a18876c4573ba3bc96a791114f7d65c01a721574 (
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-cluster/util-vserver/util-vserver-0.30.210-r17.ebuild,v 1.1 2006/07/24 08:20:57 hollow Exp $
inherit autotools eutils toolchain-funcs bash-completion
DESCRIPTION="Linux-VServer admin utilities"
HOMEPAGE="http://www.nongnu.org/util-vserver/"
SRC_URI="http://www.13thfloor.at/~ensc/util-vserver/files/alpha/${P}.tar.bz2
http://dev.gentoo.org/~hollow/distfiles/${P}-patches-${PR}.tar.bz2
http://dev.gentoo.org/~phreak/distfiles/${P}-patches-${PR}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86"
IUSE="legacy"
DEPEND=">=dev-libs/dietlibc-0.28
dev-libs/beecrypt
net-firewall/iptables
net-misc/vconfig
sys-apps/iproute2
sys-process/procps"
RDEPEND="sys-apps/iproute2
net-misc/vconfig
net-firewall/iptables
dev-libs/beecrypt
sys-process/procps"
pkg_setup() {
# Check if dev-libs/dietlibc is built with USE=pie
if built_with_use dev-libs/dietlibc pie ; then
die "Please remerge dev-libs/dietlibc without the pie useflag"
echo
fi
if ! use legacy ; then
echo
einfo "From now on, we'll disable legacy support by default!"
einfo "If you still need it, remerge this package with"
einfo "USE=legacy. This feature may disappear in the future!"
epause 5
fi
if [[ -z "${VDIRBASE}" ]]; then
echo
einfo "You can change the default vserver base directory (/vservers)"
einfo "by setting the VDIRBASE environment variable."
fi
: ${VDIRBASE:=/vservers}
einfo
einfo "Using \"${VDIRBASE}\" as vserver base directory"
einfo
}
src_unpack() {
unpack ${A} || die
cd "${S}" || die
cp "${WORKDIR}"/tools/* scripts/ || die "failed to copy gentoo tools"
epatch "${WORKDIR}"/patches/*.patch
AT_M4DIR="-I m4" \
eautoreconf
}
src_compile() {
local myconf="--localstatedir=/var --with-initrddir=/etc/init.d"
# try to work around UPSTREAM's stupid logic (NOLEGACY = legacy enabled)
use legacy && myconf="${myconf} --enable-apis=NOLEGACY"
econf ${myconf} \
--with-vrootdir="${VDIRBASE}" || die "econf failed"
emake || die "emake failed"
}
src_install() {
make DESTDIR="${D}" install || die "install failed"
# keep dirs
keepdir /var/run/vservers
keepdir /var/run/vservers.rev
keepdir /var/run/vshelper
keepdir /var/lock/vservers
keepdir /var/cache/vservers
keepdir "${VDIRBASE}"
fperms 000 "${VDIRBASE}"
# remove the non-gentoo init-scripts:
rm -f "${D}"/etc/init.d/*
# and install gentoo'ized ones:
doinitd "${WORKDIR}"/init.d/vservers
doconfd "${WORKDIR}"/conf.d/vservers
dodoc README ChangeLog NEWS AUTHORS THANKS util-vserver.spec
}
pkg_postinst() {
einfo
einfo "You have to run the vprocunhide command after every reboot"
einfo "in order to setup /proc permissions correctly for vserver"
einfo "use. An init script has been installed by this package."
einfo "To use it you should add it to a runlevel:"
einfo
einfo " rc-update add vservers default"
einfo
einfo "This init script will also help you to start/stop your vservers"
einfo "on reboot. See ${ROOT}etc/conf.d/vserver for details"
ewarn
ewarn "You should definitly fix up the barrier of your vserver"
ewarn "base directory by using the following command in a root shell:"
ewarn
ewarn " setattr --barrier ${VDIRBASE}"
ewarn
ewarn "IMPORTANT UPGRADE WARNING:"
ewarn
ewarn "Since 0.30.208-r3 the vprocunhide init-script has been merged"
ewarn "with the vservers init script. The following steps are"
ewarn "required to keep current behaviour:"
ewarn
ewarn " rc-update del vprocunhide"
ewarn " rc-update add vservers default"
ewarn
}
|