new Xen 3.1 ebuilds
This commit is contained in:
36
app-emulation/xen-tools/Manifest
Normal file
36
app-emulation/xen-tools/Manifest
Normal file
@@ -0,0 +1,36 @@
|
||||
AUX python-path.patch 902 RMD160 3bbe2344eda8db9dd7cd9670dcf975fadd3b4360 SHA1 ed55a72fec3cf79f182892ec63cbba07552d588f SHA256 36fc8f80cd8f72d10653750ae8e828f78e1d4ab3fe9ca33bd4acf3cc6e8e94f5
|
||||
MD5 6a279b56c208243a6d3e5a59286b5c2a files/python-path.patch 902
|
||||
RMD160 3bbe2344eda8db9dd7cd9670dcf975fadd3b4360 files/python-path.patch 902
|
||||
SHA256 36fc8f80cd8f72d10653750ae8e828f78e1d4ab3fe9ca33bd4acf3cc6e8e94f5 files/python-path.patch 902
|
||||
AUX xen-consoles.logrotate 63 RMD160 035bd8baf1ba68a5525bab4379c0c4e350001a74 SHA1 6f88a4da3349aade6070dfc5c4465e2c00f3e68c SHA256 0da87a4b9094f934e3de937e8ef8d3afc752e76793aa3d730182d0241e118b19
|
||||
MD5 9df68ac65dc3f372f5d61183abdc83ff files/xen-consoles.logrotate 63
|
||||
RMD160 035bd8baf1ba68a5525bab4379c0c4e350001a74 files/xen-consoles.logrotate 63
|
||||
SHA256 0da87a4b9094f934e3de937e8ef8d3afc752e76793aa3d730182d0241e118b19 files/xen-consoles.logrotate 63
|
||||
AUX xend-init 854 RMD160 e19cc95563c3e128255f3575297bc0d35786b5a4 SHA1 820fa00ddea6ba4c42c8d089b61c48b7a37bba80 SHA256 3991a74268dd4bc8b6fe53ed784f3cd764eb7112844dee34f3115bcd15d33377
|
||||
MD5 b8d59e2eba1f6b245eb22e39c01df78c files/xend-init 854
|
||||
RMD160 e19cc95563c3e128255f3575297bc0d35786b5a4 files/xend-init 854
|
||||
SHA256 3991a74268dd4bc8b6fe53ed784f3cd764eb7112844dee34f3115bcd15d33377 files/xend-init 854
|
||||
AUX xend.initd 1291 RMD160 96659d237688d0c42e5c30491ad883d4af0f1c0f SHA1 2ffe2b29df7014d1dbf69f850a23a95e1b294288 SHA256 41ae7f38565a477abc1fb8ac5af9d6285bf90d171b922c6413aa8aefe5b00889
|
||||
MD5 7f0fd3d9e324921b0ffabfb2b6e17945 files/xend.initd 1291
|
||||
RMD160 96659d237688d0c42e5c30491ad883d4af0f1c0f files/xend.initd 1291
|
||||
SHA256 41ae7f38565a477abc1fb8ac5af9d6285bf90d171b922c6413aa8aefe5b00889 files/xend.initd 1291
|
||||
AUX xendomains-screen.confd 594 RMD160 79c7a3546cf1d3f8558c2120d6e8c93c753e66b9 SHA1 7f9ed2986495d5fa4a6f8b050cd632fde6a19994 SHA256 c4d7ffcdbeccc5e93460e2abbf70d642a78a363d79ccbbce0407f50cace54e0a
|
||||
MD5 65a57a4fae5a300aed8b84c24cdeee42 files/xendomains-screen.confd 594
|
||||
RMD160 79c7a3546cf1d3f8558c2120d6e8c93c753e66b9 files/xendomains-screen.confd 594
|
||||
SHA256 c4d7ffcdbeccc5e93460e2abbf70d642a78a363d79ccbbce0407f50cace54e0a files/xendomains-screen.confd 594
|
||||
AUX xendomains.confd 163 RMD160 4bbf857cdfe7c15b5e3eac437020f4d9ac7dd837 SHA1 bf9a43a4812947189c9bedbf0f1b457f39f50893 SHA256 980eca0fe5723ac9941b28227818c430a16d63786f499f621cf62ddcc99f9aef
|
||||
MD5 b9420a9887a4b4ca6749006f5586f130 files/xendomains.confd 163
|
||||
RMD160 4bbf857cdfe7c15b5e3eac437020f4d9ac7dd837 files/xendomains.confd 163
|
||||
SHA256 980eca0fe5723ac9941b28227818c430a16d63786f499f621cf62ddcc99f9aef files/xendomains.confd 163
|
||||
AUX xendomains.initd 2278 RMD160 797b4db93fc54d217d7db98d2c408b03f993c47c SHA1 4f23d42b6d400cf9b9915fdccf0f7dd86a67629a SHA256 b0dd6c8e588ce76026488243dbe8d6adf9af7d8276fb268fcb439ba1ce59f756
|
||||
MD5 db13a7909792459b70348702453c3df4 files/xendomains.initd 2278
|
||||
RMD160 797b4db93fc54d217d7db98d2c408b03f993c47c files/xendomains.initd 2278
|
||||
SHA256 b0dd6c8e588ce76026488243dbe8d6adf9af7d8276fb268fcb439ba1ce59f756 files/xendomains.initd 2278
|
||||
DIST xen-3.1.0-src.tgz 6831094 RMD160 2fd65a3b81e522d0ed2d62fd11e5977167f1ceb3 SHA1 fa4b54c36626f2cce9b15dc99cafda0b42c54777 SHA256 b5d7cea6deeee1439e8883fed4b3f1a8e4f675b4af8148178721f99bd76676b7
|
||||
EBUILD xen-tools-3.1.0.ebuild 5421 RMD160 08c1dc416756addbadd4b9ce4db840ab1e516b2e SHA1 7920a1348b6b4afcccb505a4c2aa29a14b077f1b SHA256 d56e99d74c104a035b988575a32646ada943f4cb6d397b8fe9837edfbfeeb87f
|
||||
MD5 2baeef27e98d0bba1320748dd695b9a5 xen-tools-3.1.0.ebuild 5421
|
||||
RMD160 08c1dc416756addbadd4b9ce4db840ab1e516b2e xen-tools-3.1.0.ebuild 5421
|
||||
SHA256 d56e99d74c104a035b988575a32646ada943f4cb6d397b8fe9837edfbfeeb87f xen-tools-3.1.0.ebuild 5421
|
||||
MD5 b2e86effae6681cbbecdbf864b193b4a files/digest-xen-tools-3.1.0 235
|
||||
RMD160 2366b7298f0125f11d41aca0c6088c20863dbed1 files/digest-xen-tools-3.1.0 235
|
||||
SHA256 12c130912c624791e6855ebeb932368fc8889371876db396055b02ac9a3b9892 files/digest-xen-tools-3.1.0 235
|
3
app-emulation/xen-tools/files/digest-xen-tools-3.1.0
Normal file
3
app-emulation/xen-tools/files/digest-xen-tools-3.1.0
Normal file
@@ -0,0 +1,3 @@
|
||||
MD5 b7ae1f652b071862ae4c90b72d549627 xen-3.1.0-src.tgz 6831094
|
||||
RMD160 2fd65a3b81e522d0ed2d62fd11e5977167f1ceb3 xen-3.1.0-src.tgz 6831094
|
||||
SHA256 b5d7cea6deeee1439e8883fed4b3f1a8e4f675b4af8148178721f99bd76676b7 xen-3.1.0-src.tgz 6831094
|
22
app-emulation/xen-tools/files/python-path.patch
Normal file
22
app-emulation/xen-tools/files/python-path.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
--- xen-3.1.0-src/tools/misc/xen-python-path 2007-05-18 16:45:21.000000000 +0200
|
||||
+++ xen-3.1.0-src/tools/misc/xen-python-path.new 2007-05-21 14:24:56.000000000 +0200
|
||||
@@ -30,12 +30,13 @@
|
||||
|
||||
for p in ['python%s' % sys.version[:3], 'python']:
|
||||
for l in ['/usr/lib64', '/usr/lib']:
|
||||
- d = os.path.join(l, p)
|
||||
- if os.path.exists(os.path.join(d, AUXBIN)):
|
||||
- sys.path.append(d)
|
||||
- import xen.util.auxbin
|
||||
- print os.path.join(xen.util.auxbin.libpath(), p)
|
||||
- sys.exit(0)
|
||||
+ for k in ['', 'site-packages/']:
|
||||
+ d = os.path.join(l, p, k)
|
||||
+ if os.path.exists(os.path.join(d, AUXBIN)):
|
||||
+ sys.path.append(d)
|
||||
+ import xen.util.auxbin
|
||||
+ print os.path.join(xen.util.auxbin.libpath(), p)
|
||||
+ sys.exit(0)
|
||||
|
||||
print >>sys.stderr, "Cannot find Xen Python modules."
|
||||
sys.exit(1)
|
5
app-emulation/xen-tools/files/xen-consoles.logrotate
Normal file
5
app-emulation/xen-tools/files/xen-consoles.logrotate
Normal file
@@ -0,0 +1,5 @@
|
||||
/var/log/xen-consoles/*.log {
|
||||
rotate 7
|
||||
missingok
|
||||
compress
|
||||
}
|
42
app-emulation/xen-tools/files/xend-init
Normal file
42
app-emulation/xen-tools/files/xend-init
Normal file
@@ -0,0 +1,42 @@
|
||||
#!/sbin/runscript
|
||||
# Copyright 1999-2005 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/files/xend-init,v 1.1 2006/03/24 23:55:01 agriffis Exp $
|
||||
|
||||
opts="start stop status restart"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
before xendomains sshd ntpd nfs nfsmount rsyncd portmap dhcp
|
||||
}
|
||||
|
||||
await_daemons_up() {
|
||||
for ((i=0; i<5; i++)); do
|
||||
sleep 1
|
||||
/usr/sbin/xend status && return 0
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting Xen control daemon"
|
||||
/usr/sbin/xend start
|
||||
/usr/sbin/xend status || await_daemons_up
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
if [ "$(xm list | wc -l)" -gt 2 ]; then
|
||||
ebegin " Stopping all domains"
|
||||
/usr/sbin/xm shutdown --all --wait >/dev/null
|
||||
eend $?
|
||||
fi
|
||||
|
||||
ebegin "Stopping Xen control daemon"
|
||||
/usr/sbin/xend stop
|
||||
eend $?
|
||||
}
|
||||
|
||||
status() {
|
||||
/usr/sbin/xend status
|
||||
}
|
61
app-emulation/xen-tools/files/xend.initd
Normal file
61
app-emulation/xen-tools/files/xend.initd
Normal file
@@ -0,0 +1,61 @@
|
||||
#!/sbin/runscript
|
||||
# Copyright 1999-2005 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/files/xend.initd,v 1.1 2007/05/02 04:10:04 marineam Exp $
|
||||
|
||||
opts="start stop status restart"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
before xendomains sshd ntp-client ntpd nfs nfsmount rsyncd portmap dhcp
|
||||
}
|
||||
|
||||
await_daemons_up() {
|
||||
for ((i=0; i<5; i++)); do
|
||||
sleep 1
|
||||
/usr/sbin/xend status && return 0
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
is_privileged_domain() {
|
||||
grep -qsE '^control_d$' /proc/xen/capabilities
|
||||
return $?
|
||||
}
|
||||
|
||||
start() {
|
||||
if is_privileged_domain ; then
|
||||
ebegin "Starting Xen control daemon"
|
||||
/usr/sbin/xend start
|
||||
/usr/sbin/xend status || await_daemons_up
|
||||
eend $?
|
||||
else
|
||||
eerror "Can't start xend - this is not a privileged domain."
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
stop() {
|
||||
if [ "$(xm list | wc -l)" -gt 2 ]; then
|
||||
ebegin " Stopping all domains"
|
||||
/usr/sbin/xm shutdown --all --wait >/dev/null
|
||||
eend $?
|
||||
fi
|
||||
|
||||
ebegin "Stopping Xen control daemon"
|
||||
/usr/sbin/xend stop
|
||||
eend $?
|
||||
|
||||
# This needs more testing (bug #149321)
|
||||
#ebegin "Stopping xenconsoled"
|
||||
#kill $(</var/run/xenconsoled.pid)
|
||||
#eend $?
|
||||
|
||||
#ebegin "Stopping xenstored"
|
||||
#kill $(</var/run/xenstore.pid)
|
||||
#eend $?
|
||||
}
|
||||
|
||||
status() {
|
||||
is_privileged_domain && /usr/sbin/xend status
|
||||
}
|
15
app-emulation/xen-tools/files/xendomains-screen.confd
Normal file
15
app-emulation/xen-tools/files/xendomains-screen.confd
Normal file
@@ -0,0 +1,15 @@
|
||||
# When SCREEN="yes", domains in AUTODIR have their consoles connected to a
|
||||
# screen session named SCREEN_NAME, with output logged to individual files
|
||||
# named after each domain and written to /var/log/xen-consoles/ . These files
|
||||
# are rotated (using app-admin/logrotate) every time xendomains is started.
|
||||
|
||||
SCREEN="yes"
|
||||
SCREEN_NAME="xen"
|
||||
|
||||
# Number of seconds between writes to screen's logfiles.
|
||||
#
|
||||
# Lower values mean more disk activity and hence a possible performance
|
||||
# impact, but higher values mean a greater chance of loosing some output
|
||||
# in the event of a crash.
|
||||
|
||||
SCREEN_LOG_INTERVAL="1"
|
7
app-emulation/xen-tools/files/xendomains.confd
Normal file
7
app-emulation/xen-tools/files/xendomains.confd
Normal file
@@ -0,0 +1,7 @@
|
||||
# /etc/conf.d/xendomains
|
||||
|
||||
# Directory of domains to boot. AUTODIR should contain one or more symlinks
|
||||
# to domain config files in /etc/xen
|
||||
|
||||
AUTODIR=/etc/xen/auto
|
||||
|
96
app-emulation/xen-tools/files/xendomains.initd
Executable file
96
app-emulation/xen-tools/files/xendomains.initd
Executable file
@@ -0,0 +1,96 @@
|
||||
#!/sbin/runscript
|
||||
# Copyright 1999-2006 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/files/xendomains.initd,v 1.2 2007/05/02 04:10:04 marineam Exp $
|
||||
|
||||
opts="start stop status restart"
|
||||
|
||||
depend() {
|
||||
need xend
|
||||
after dhcp
|
||||
}
|
||||
|
||||
get_domname() {
|
||||
local name_from_file=$(sed -rn 's/^name\W*=\W*\"?([[:alnum:]_\.-]+)\"?\W*;?/\1/p' "${1}" | tail -n 1)
|
||||
|
||||
if [[ -z ${name_from_file} ]] ; then
|
||||
basename "${1}"
|
||||
else
|
||||
echo ${name_from_file}
|
||||
fi
|
||||
}
|
||||
|
||||
is_running() {
|
||||
/usr/sbin/xm list "${1}" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
using_screen() {
|
||||
[[ "${SCREEN}" == "yes" || "${SCREEN}" == "YES" ]]
|
||||
}
|
||||
|
||||
set_screen_cmd() {
|
||||
screen_cmd="screen -q -r ${SCREEN_NAME:=xen} -X"
|
||||
}
|
||||
|
||||
start() {
|
||||
set_screen_cmd
|
||||
|
||||
einfo "Starting Xen domains from ${AUTODIR:=/etc/xen/auto}"
|
||||
if using_screen ; then
|
||||
ebegin "Creating screen session to hold domain consoles"
|
||||
( screen -d -m -S ${SCREEN_NAME} -t dom0 \
|
||||
&& ${screen_cmd} zombie dr \
|
||||
&& logrotate -f /etc/xen/xen-consoles.logrotate \
|
||||
&& ${screen_cmd} logfile /var/log/xen-consoles/%t.log \
|
||||
&& ${screen_cmd} logfile flush ${SCREEN_LOG_INTERVAL:-1} \
|
||||
&& ${screen_cmd} log on \
|
||||
&& ${screen_cmd} deflog on ) >/dev/null
|
||||
if [[ $? -ne 0 ]] ; then
|
||||
eend 1
|
||||
return 1
|
||||
else
|
||||
eend
|
||||
fi
|
||||
fi
|
||||
# Create all domains with config files in AUTODIR.
|
||||
for dom in $(ls "${AUTODIR}/"* 2>/dev/null); do
|
||||
name=$(get_domname ${dom})
|
||||
if ! is_running ${name} ; then
|
||||
ebegin " Starting domain ${name}"
|
||||
if using_screen ; then
|
||||
${screen_cmd} screen -t ${name} xm create ${dom} -c
|
||||
else
|
||||
xm create --quiet ${dom}
|
||||
fi
|
||||
eend $?
|
||||
else
|
||||
einfo " Not starting domain ${name} - already running"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
stop() {
|
||||
set_screen_cmd
|
||||
|
||||
einfo "Shutting down Xen domains from ${AUTODIR:=/etc/xen/auto}"
|
||||
# Stop all domains with config files in AUTODIR.
|
||||
for dom in $(ls "${AUTODIR}/"* 2>/dev/null); do
|
||||
name=$(get_domname ${dom})
|
||||
if is_running ${name} ; then
|
||||
ebegin " Stopping domain ${name}"
|
||||
xm shutdown --wait ${name} >/dev/null
|
||||
eend $?
|
||||
else
|
||||
einfo " Not stopping domain ${name} - not running"
|
||||
fi
|
||||
done
|
||||
if using_screen ; then
|
||||
ebegin "Closing screen session ${SCREEN_NAME}"
|
||||
${screen_cmd} quit
|
||||
eend $?
|
||||
fi
|
||||
}
|
||||
|
||||
status() {
|
||||
/usr/sbin/xm list
|
||||
}
|
185
app-emulation/xen-tools/xen-tools-3.1.0.ebuild
Normal file
185
app-emulation/xen-tools/xen-tools-3.1.0.ebuild
Normal file
@@ -0,0 +1,185 @@
|
||||
# Copyright 1999-2007 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/xen-tools-3.0.4_p1.ebuild,v 1.2 2007/05/16 00:57:34 marineam Exp $
|
||||
|
||||
inherit flag-o-matic distutils eutils multilib
|
||||
|
||||
DESCRIPTION="Xend daemon and tools"
|
||||
HOMEPAGE="http://www.xensource.com/xen/xen/"
|
||||
MY_PV=${PV/_p/_}
|
||||
SRC_URI="http://bits.xensource.com/oss-xen/release/${MY_PV/_/-}/src.tgz/xen-${MY_PV}-src.tgz"
|
||||
S="${WORKDIR}/xen-${MY_PV}-src"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="doc debug screen custom-cflags pygrub ioemu"
|
||||
|
||||
CDEPEND="dev-lang/python
|
||||
sys-libs/zlib
|
||||
ioemu? ( media-libs/libsdl )"
|
||||
|
||||
DEPEND="${CDEPEND}
|
||||
sys-devel/gcc
|
||||
dev-lang/perl
|
||||
sys-devel/dev86
|
||||
app-misc/pax-utils
|
||||
doc? (
|
||||
dev-tex/latex2html
|
||||
media-gfx/transfig
|
||||
)
|
||||
ioemu? (
|
||||
x11-proto/xproto
|
||||
net-libs/libvncserver
|
||||
)"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
sys-apps/iproute2
|
||||
net-misc/bridge-utils
|
||||
screen? (
|
||||
app-misc/screen
|
||||
app-admin/logrotate
|
||||
)
|
||||
|| ( sys-fs/udev sys-apps/hotplug )"
|
||||
|
||||
PYTHON_MODNAME="xen grub"
|
||||
|
||||
# hvmloader is used to bootstrap a fully virtualized kernel
|
||||
# Approved by QA team in bug #144032
|
||||
QA_WX_LOAD="usr/lib/xen/boot/hvmloader"
|
||||
|
||||
pkg_setup() {
|
||||
if [[ "$(scanelf -s __guard -q `which python`)" ]] ; then
|
||||
ewarn "xend may not work when python is built with stack smashing protection (ssp)."
|
||||
ewarn "If 'xm create' fails with '<ProtocolError for /RPC2: -1 >', see bug #141866"
|
||||
fi
|
||||
|
||||
if [[ -z ${XEN_TARGET_ARCH} ]] ; then
|
||||
if use x86 ; then
|
||||
export XEN_TARGET_ARCH="x86_32"
|
||||
elif use amd64 ; then
|
||||
export XEN_TARGET_ARCH="x86_64"
|
||||
else
|
||||
die "Unsupported architecture!"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
cd "${S}"
|
||||
|
||||
epatch "${FILESDIR}/python-path.patch"
|
||||
|
||||
# if the user *really* wants to use their own custom-cflags, let them
|
||||
if use custom-cflags; then
|
||||
einfo "User wants their own CFLAGS - removing defaults"
|
||||
# try and remove all the default custom-cflags
|
||||
find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-i {} \;
|
||||
fi
|
||||
|
||||
# xen tries to be smart and filter out CFLAGs not supported by gcc.
|
||||
# It doesn't handle no* flags though, but flag-o-matic's test-flag-CC does.
|
||||
for FLAG in -nopie -fno-stack-protector -fno-stack-protector-all; do
|
||||
test-flag-CC ${FLAG} && HARDFLAGS="${HARDFLAGS} ${FLAG}"
|
||||
done
|
||||
sed -i "s/^CFLAGS :=$/& ${HARDFLAGS}/" \
|
||||
"${S}"/tools/firmware/{hvmloader,vmxassist}/Makefile
|
||||
|
||||
|
||||
# Disable the 32bit-only vmxassist if we are not on x86 and we don't
|
||||
# support the x86 ABI. Also disable hvmloader, since it requires vmxassist.
|
||||
if ! use x86 && ! has x86 $(get_all_abis); then
|
||||
sed -i -e "/SUBDIRS += vmxassist/d" "${S}"/tools/firmware/Makefile
|
||||
sed -i -e "/SUBDIRS += hvmloader/d" "${S}"/tools/firmware/Makefile
|
||||
fi
|
||||
|
||||
if ! use pygrub; then
|
||||
sed -i -e "/^SUBDIRS-y += pygrub$/d" "${S}"/tools/Makefile
|
||||
fi
|
||||
|
||||
# Don't bother with ioemu, only needed for fully virtualised guests
|
||||
if ! use ioemu; then
|
||||
chmod 644 tools/check/check_x11_devel
|
||||
sed -i -e "/^CONFIG_IOEMU := y$/d" "${S}"/config/*.mk
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local myopt myconf
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
|
||||
use custom-cflags || unset CFLAGS
|
||||
gcc-specs-ssp && append-flags -fno-stack-protector -fno-stack-protector-all
|
||||
|
||||
if use ioemu; then
|
||||
myconf="${myconf} --disable-system --disable-user"
|
||||
(cd tools/ioemu && econf ${myconf}) || die "configure failured"
|
||||
fi
|
||||
|
||||
emake -C tools ${myopt} || die "compile failed"
|
||||
|
||||
if use doc; then
|
||||
sh ./docs/check_pkgs || die "package check failed"
|
||||
emake -C docs || die "compiling docs failed"
|
||||
fi
|
||||
|
||||
emake -C docs man-pages || die "make man-pages failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local myopt="XEN_PYTHON_NATIVE_INSTALL=1"
|
||||
|
||||
make DESTDIR="${D}" ${myopt} install-tools \
|
||||
|| die "install failed"
|
||||
|
||||
# Remove RedHat-specific stuff
|
||||
rm -rf "${D}"/etc/sysconfig
|
||||
|
||||
if use doc; then
|
||||
make DESTDIR="${D}" -C docs install || die "install docs failed"
|
||||
# Rename doc/xen to the Gentoo-style doc/xen-x.y
|
||||
mv "${D}"/usr/share/doc/{${PN},${PF}}
|
||||
fi
|
||||
|
||||
doman docs/man?/*
|
||||
|
||||
newinitd "${FILESDIR}"/xend.initd xend \
|
||||
|| die "Couldn't install xen.initd"
|
||||
newconfd "${FILESDIR}"/xendomains.confd xendomains \
|
||||
|| die "Couldn't install xendomains.confd"
|
||||
newinitd "${FILESDIR}"/xendomains.initd xendomains \
|
||||
|| die "Couldn't install xendomains.initd"
|
||||
|
||||
if use screen; then
|
||||
cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains
|
||||
cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/
|
||||
keepdir /var/log/xen-consoles
|
||||
fi
|
||||
|
||||
# xend expects these to exist
|
||||
keepdir /var/run/xenstored /var/lib/xenstored /var/xen/dump /var/lib/xen /var/log/xen
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Please visit the Xen and Gentoo wiki:"
|
||||
elog "http://gentoo-wiki.com/HOWTO_Xen_and_Gentoo"
|
||||
|
||||
if ! built_with_use dev-lang/python ncurses; then
|
||||
echo
|
||||
ewarn "NB: Your dev-lang/python is built without USE=ncurses."
|
||||
ewarn "Please rebuild python with USE=ncurses to make use of xenmon.py."
|
||||
fi
|
||||
|
||||
if grep -qsF XENSV= "${ROOT}/etc/conf.d/xend"; then
|
||||
echo
|
||||
elog "xensv is broken upstream (Gentoo bug #142011)."
|
||||
elog "Please remove '${ROOT%/}/etc/conf.d/xend', as it is no longer needed."
|
||||
fi
|
||||
}
|
8
app-emulation/xen/Manifest
Normal file
8
app-emulation/xen/Manifest
Normal file
@@ -0,0 +1,8 @@
|
||||
DIST xen-3.1.0-src.tgz 6831094 RMD160 2fd65a3b81e522d0ed2d62fd11e5977167f1ceb3 SHA1 fa4b54c36626f2cce9b15dc99cafda0b42c54777 SHA256 b5d7cea6deeee1439e8883fed4b3f1a8e4f675b4af8148178721f99bd76676b7
|
||||
EBUILD xen-3.1.0.ebuild 2796 RMD160 0c2a45746d3cf025060b28f572eef421c32d78c0 SHA1 3f003a4e7171ab55ef04bbd1e52a02490bc0d869 SHA256 2fb8e663c340740fa3ecf596c96a501db501543c7e972417783bb3391f7cd0b2
|
||||
MD5 a798487075f8e32a77f6a4f3f1305219 xen-3.1.0.ebuild 2796
|
||||
RMD160 0c2a45746d3cf025060b28f572eef421c32d78c0 xen-3.1.0.ebuild 2796
|
||||
SHA256 2fb8e663c340740fa3ecf596c96a501db501543c7e972417783bb3391f7cd0b2 xen-3.1.0.ebuild 2796
|
||||
MD5 b2e86effae6681cbbecdbf864b193b4a files/digest-xen-3.1.0 235
|
||||
RMD160 2366b7298f0125f11d41aca0c6088c20863dbed1 files/digest-xen-3.1.0 235
|
||||
SHA256 12c130912c624791e6855ebeb932368fc8889371876db396055b02ac9a3b9892 files/digest-xen-3.1.0 235
|
3
app-emulation/xen/files/digest-xen-3.1.0
Normal file
3
app-emulation/xen/files/digest-xen-3.1.0
Normal file
@@ -0,0 +1,3 @@
|
||||
MD5 b7ae1f652b071862ae4c90b72d549627 xen-3.1.0-src.tgz 6831094
|
||||
RMD160 2fd65a3b81e522d0ed2d62fd11e5977167f1ceb3 xen-3.1.0-src.tgz 6831094
|
||||
SHA256 b5d7cea6deeee1439e8883fed4b3f1a8e4f675b4af8148178721f99bd76676b7 xen-3.1.0-src.tgz 6831094
|
98
app-emulation/xen/xen-3.1.0.ebuild
Normal file
98
app-emulation/xen/xen-3.1.0.ebuild
Normal file
@@ -0,0 +1,98 @@
|
||||
# Copyright 1999-2007 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/xen-3.0.4_p1.ebuild,v 1.1 2007/05/02 04:27:24 marineam Exp $
|
||||
|
||||
inherit mount-boot flag-o-matic
|
||||
|
||||
DESCRIPTION="The Xen virtual machine monitor"
|
||||
HOMEPAGE="http://www.xensource.com/xen/xen/"
|
||||
MY_PV=${PV/_p/_}
|
||||
SRC_URI="http://bits.xensource.com/oss-xen/release/${MY_PV/_/-}/src.tgz/xen-${MY_PV}-src.tgz"
|
||||
S="${WORKDIR}/xen-${MY_PV}-src"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="debug custom-cflags pae"
|
||||
|
||||
RDEPEND="|| ( sys-boot/grub
|
||||
sys-boot/grub-static )
|
||||
>=sys-kernel/xen-sources-2.6.16.33"
|
||||
PDEPEND="~app-emulation/xen-tools-${PV}"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
# Approved by QA team in bug #144032
|
||||
QA_WX_LOAD="boot/xen-syms-${MY_PV/_/-}"
|
||||
|
||||
pkg_setup() {
|
||||
if [[ -z ${XEN_TARGET_ARCH} ]]; then
|
||||
if use x86; then
|
||||
export XEN_TARGET_ARCH="x86_32"
|
||||
elif use amd64; then
|
||||
export XEN_TARGET_ARCH="x86_64"
|
||||
else
|
||||
die "Unsupported architecture!"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
# if the user *really* wants to use their own custom-cflags, let them
|
||||
if use custom-cflags; then
|
||||
einfo "User wants their own CFLAGS - removing defaults"
|
||||
# try and remove all the default custom-cflags
|
||||
find "${S}" -name Makefile -o -name Rules.mk -o -name Config.mk -exec sed \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-i {} \;
|
||||
fi
|
||||
|
||||
# xen tries to be smart and filter out CFLAGs not supported by gcc.
|
||||
# It doesn't handle no* flags though, but flag-o-matic's test-flag-CC does.
|
||||
for FLAG in -nopie -fno-stack-protector -fno-stack-protector-all; do
|
||||
test-flag-CC ${FLAG} && HARDFLAGS="${HARDFLAGS} ${FLAG}"
|
||||
done
|
||||
sed -i "s/^CFLAGS-y.*__XEN__.*$/& ${HARDFLAGS}/" \
|
||||
"${S}"/xen/Rules.mk
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local myopt
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
use pae && myopt="${myopt} pae=y"
|
||||
|
||||
if use custom-cflags; then
|
||||
filter-flags -fPIE -fstack-protector
|
||||
else
|
||||
unset CFLAGS
|
||||
fi
|
||||
|
||||
# Send raw LDFLAGS so that --as-needed works
|
||||
emake LDFLAGS="$(raw-ldflags)" -C xen ${myopt} || die "compile failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local myopt
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
use pae && myopt="${myopt} pae=y"
|
||||
|
||||
make DESTDIR="${D}" ${myopt} install-xen || die "install failed"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Please visit the Xen and Gentoo wiki:"
|
||||
elog "http://gentoo-wiki.com/HOWTO_Xen_and_Gentoo"
|
||||
|
||||
echo
|
||||
elog "Note: xen tools have been moved to app-emulation/xen-tools"
|
||||
|
||||
if use pae; then
|
||||
echo
|
||||
ewarn "This is a PAE build of Xen. It will *only* boot PAE kernels!"
|
||||
fi
|
||||
}
|
Reference in New Issue
Block a user