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