Bump for #372259
authorPatrick Lauer <patrick@gentoo.org>
Fri, 29 Jul 2011 22:41:29 +0000 (22:41 +0000)
committerPatrick Lauer <patrick@gentoo.org>
Fri, 29 Jul 2011 22:41:29 +0000 (22:41 +0000)
Package-Manager: portage-2.2.0_alpha47/cvs/Linux x86_64

app-emulation/xen-tools/ChangeLog
app-emulation/xen-tools/xen-tools-4.1.1.ebuild [new file with mode: 0644]
app-emulation/xen/ChangeLog
app-emulation/xen/xen-4.1.1.ebuild [new file with mode: 0644]

index 4bb318e908236c2fdd28a4e2e9f49e8de2370cc5..dd7d627b5b2f422f80a7af015262106f4184175e 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for app-emulation/xen-tools
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/ChangeLog,v 1.75 2011/07/29 11:50:11 patrick Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/ChangeLog,v 1.76 2011/07/29 22:39:16 patrick Exp $
+
+*xen-tools-4.1.1 (29 Jul 2011)
+
+  29 Jul 2011; Patrick Lauer <patrick@gentoo.org> +xen-tools-4.1.1.ebuild:
+  Bump for #372259
 
   29 Jul 2011; Patrick Lauer <patrick@gentoo.org> xen-tools-4.1.0-r1.ebuild:
   Dep fix for #363139
diff --git a/app-emulation/xen-tools/xen-tools-4.1.1.ebuild b/app-emulation/xen-tools/xen-tools-4.1.1.ebuild
new file mode 100644 (file)
index 0000000..b0a9cce
--- /dev/null
@@ -0,0 +1,270 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/xen-tools-4.1.1.ebuild,v 1.1 2011/07/29 22:39:16 patrick Exp $
+
+EAPI="3"
+
+inherit flag-o-matic eutils multilib python
+
+DESCRIPTION="Xend daemon and tools"
+HOMEPAGE="http://xen.org/"
+SRC_URI="http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz"
+S="${WORKDIR}/xen-${PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc debug screen custom-cflags pygrub hvm api acm flask ioemu"
+
+CDEPEND="dev-lang/python
+       dev-python/lxml
+       sys-libs/zlib
+       hvm? ( media-libs/libsdl
+               sys-power/iasl )
+       acm? ( dev-libs/libxml2 )
+       api? ( dev-libs/libxml2 net-misc/curl )"
+
+DEPEND="${CDEPEND}
+       sys-devel/gcc
+       dev-lang/perl
+       app-misc/pax-utils
+       dev-ml/findlib
+       doc? (
+               app-doc/doxygen
+               dev-tex/latex2html
+               media-gfx/transfig
+               media-gfx/graphviz
+       )
+       hvm? (
+               x11-proto/xproto
+               sys-devel/dev86
+       )"
+
+RDEPEND="${CDEPEND}
+       sys-apps/iproute2
+       net-misc/bridge-utils
+       dev-python/pyxml
+       screen? (
+               app-misc/screen
+               app-admin/logrotate
+       )
+       || ( sys-fs/udev sys-apps/hotplug )"
+
+# hvmloader is used to bootstrap a fully virtualized kernel
+# Approved by QA team in bug #144032
+QA_WX_LOAD="usr/lib/xen/boot/hvmloader"
+QA_EXECSTACK="usr/share/xen/qemu/openbios-sparc32
+       usr/share/xen/qemu/openbios-sparc64"
+
+pkg_setup() {
+       export "CONFIG_LOMOUNT=y"
+
+       if use ioemu; then
+               export "CONFIG_IOEMU=y"
+       else
+               export "CONFIG_IOEMU=n"
+       fi
+
+       if ! use x86 && ! has x86 $(get_all_abis) && use hvm; then
+               eerror "HVM (VT-x and AMD-v) cannot be built on this system. An x86 or"
+               eerror "an amd64 multilib profile is required. Remove the hvm use flag"
+               eerror "to build xen-tools on your current profile."
+               die "USE=hvm is unsupported on this system."
+       fi
+
+       if [[ -z ${XEN_TARGET_ARCH} ]] ; then
+               if use x86 && use amd64; then
+                       die "Confusion! Both x86 and amd64 are set in your use flags!"
+               elif 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
+
+       if use doc && ! has_version "dev-tex/latex2html[png,gif]"; then
+               # die early instead of later
+               eerror "USE=doc requires latex2html with image support. Please add"
+               eerror "'png' and/or 'gif' to your use flags and re-emerge latex2html"
+               die "latex2html missing both png and gif flags"
+       fi
+
+       if use pygrub && ! has_version "dev-lang/python[ncurses]"; then
+               eerror "USE=pygrub requires python to be built with ncurses support. Please add"
+               eerror "'ncurses' to your use flags and re-emerge python"
+               die "python is missing ncurses flags"
+       fi
+
+       if ! has_version "dev-lang/python[threads]"; then
+               eerror "Python is required to be built with threading support. Please add"
+               eerror "'threads' to your use flags and re-emerge python"
+               die "python is missing threads flags"
+       fi
+
+       use api     && export "LIBXENAPI_BINDINGS=y"
+       use acm     && export "ACM_SECURITY=y"
+       use flask   && export "FLASK_ENABLE=y"
+}
+
+src_prepare() {
+       sed -e 's/-Wall//' -i Config.mk || die "Couldn't sanitize CFLAGS"
+       # Drop .config
+       sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
+       # 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
+
+       # Disable hvm support on systems that don't support x86_32 binaries.
+       if ! use hvm; then
+               chmod 644 tools/check/check_x11_devel
+               sed -e '/^CONFIG_IOEMU := y$/d' -i config/*.mk
+               sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile
+       fi
+
+       if ! use pygrub; then
+               sed -e '/^SUBDIRS-$(PYTHON_TOOLS) += pygrub$/d' -i tools/Makefile
+       fi
+       # Don't bother with ioemu, only needed for fully virtualised guests
+       if ! use ioemu; then
+               sed -e "/^CONFIG_IOEMU := y$/d" -i config/*.mk
+               sed -e "s:install-tools\: tools/ioemu-dir:install-tools\: :g" \
+                       -i Makefile
+       fi
+
+       # Fix build for gcc-4.6
+       sed -e "s:-Werror::g" -i  tools/xenstat/xentop/Makefile
+       # Fix network broadcast on bridged networks
+       epatch "${FILESDIR}/${PN}-3.4.0-network-bridge-broadcast.patch"
+
+       # Do not strip binaries
+       epatch "${FILESDIR}/${PN}-3.3.0-nostrip.patch"
+}
+
+src_compile() {
+       export VARTEXFONTS="${T}/fonts"
+       local myopt
+       use debug && myopt="${myopt} debug=y"
+
+       use custom-cflags || unset CFLAGS
+       if test-flag-CC -fno-strict-overflow; then
+               append-flags -fno-strict-overflow
+       fi
+
+       unset LDFLAGS
+       emake -C tools ${myopt} || die "compile failed"
+
+       if use doc; then
+               sh ./docs/check_pkgs || die "package check failed"
+               emake docs || die "compiling docs failed"
+               emake dev-docs || die "make dev-docs failed"
+       fi
+
+       emake -C docs man-pages || die "make man-pages failed"
+}
+
+src_install() {
+       make DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" XEN_PYTHON_NATIVE_INSTALL=y install-tools  \
+               || die "install failed"
+
+       # Remove RedHat-specific stuff
+       rm -r "${D}"/etc/default "${D}"/etc/init.d/xen* || die
+
+       dodoc README docs/README.xen-bugtool docs/ChangeLog
+       if use doc; then
+               emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs \
+                       || die "install docs failed"
+
+               dohtml -r docs/api/
+               docinto pdf
+               dodoc docs/api/tools/python/latex/refman.pdf
+
+               [ -d "${D}"/usr/share/doc/xen ] && mv "${D}"/usr/share/doc/xen/* "${D}"/usr/share/doc/${PF}/html
+       fi
+       rm -rf "${D}"/usr/share/doc/xen/
+
+       doman docs/man?/*
+
+       newinitd "${FILESDIR}"/xend.initd-r2 xend \
+               || die "Couldn't install xen.initd"
+       newconfd "${FILESDIR}"/xendomains.confd xendomains \
+               || die "Couldn't install xendomains.confd"
+       newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains \
+               || die "Couldn't install xendomains.initd"
+       newinitd "${FILESDIR}"/xenstored.initd xenstored \
+               || die "Couldn't install xenstored.initd"
+       newconfd "${FILESDIR}"/xenstored.confd xenstored \
+               || die "Couldn't install xenstored.confd"
+       newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled \
+               || die "Couldn't install xenconsoled.initd"
+       newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled \
+               || die "Couldn't install xenconsoled.confd"
+
+       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
+
+       # for xendomains
+       keepdir /etc/xen/auto
+}
+
+pkg_postinst() {
+       elog "Official Xen Guide and the unoffical wiki page:"
+       elog " http://www.gentoo.org/doc/en/xen-guide.xml"
+       elog " http://gentoo-wiki.com/HOWTO_Xen_and_Gentoo"
+
+       if [[ "$(scanelf -s __guard -q $(type -P python))" ]] ; then
+               echo
+               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"
+               ewarn "This probablem may be resolved as of Xen 3.0.4, if not post in the bug."
+       fi
+
+       if ! has_version "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 has_version "sys-apps/iproute2[minimal]"; then
+               echo
+               ewarn "Your sys-apps/iproute2 is built with USE=minimal. Networking"
+               ewarn "will not work until you rebuild iproute2 without USE=minimal."
+       fi
+
+       if ! use hvm; then
+               echo
+               elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
+               elog "support enable the hvm use flag."
+               elog "An x86 or amd64 multilib system is required to build HVM support."
+               echo
+               elog "The ioemu use flag has been removed and replaced with hvm."
+       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
+
+       python_mod_optimize $(use pygrub && echo grub) xen
+}
+
+pkg_postrm() {
+       python_mod_cleanup $(use pygrub && echo grub) xen
+}
index 61e77f0450f69916baa83f5e54b373e13a95d735..9338be2cc5adee0ad2db89582cd4f957bd31cbe7 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for app-emulation/xen
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/ChangeLog,v 1.75 2011/04/06 22:15:50 alexxy Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/ChangeLog,v 1.76 2011/07/29 22:41:29 patrick Exp $
+
+*xen-4.1.1 (29 Jul 2011)
+
+  29 Jul 2011; Patrick Lauer <patrick@gentoo.org> +xen-4.1.1.ebuild:
+  Bump for #372259
 
 *xen-9999 (06 Apr 2011)
 
diff --git a/app-emulation/xen/xen-4.1.1.ebuild b/app-emulation/xen/xen-4.1.1.ebuild
new file mode 100644 (file)
index 0000000..bbe6acb
--- /dev/null
@@ -0,0 +1,103 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/xen-4.1.1.ebuild,v 1.1 2011/07/29 22:41:29 patrick Exp $
+
+EAPI="3"
+
+inherit mount-boot flag-o-matic toolchain-funcs
+
+DESCRIPTION="The Xen virtual machine monitor"
+HOMEPAGE="http://xen.org/"
+SRC_URI="http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug custom-cflags pae acm flask xsm"
+
+RDEPEND="|| ( sys-boot/grub
+               sys-boot/grub-static )"
+PDEPEND="~app-emulation/xen-tools-${PV}"
+
+RESTRICT="test"
+
+# Approved by QA team in bug #144032
+QA_WX_LOAD="boot/xen-syms-${PV}"
+
+pkg_setup() {
+       if [[ -z ${XEN_TARGET_ARCH} ]]; then
+               if use x86 && use amd64; then
+                       die "Confusion! Both x86 and amd64 are set in your use flags!"
+               elif 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
+
+       if use xsm ; then
+               export "XSM_ENABLE=y"
+               use acm && export "ACM_SECURITY=y"
+               if use flask ; then
+                       ! use acm  && export "FLASK_ENABLE=y"
+                         use acm  && ewarn "Both acm and flask XSM specified, defaulting to acm."
+               fi
+       elif use acm || use flask ; then
+               ewarn "acm and flask require USE=xsm to be set, dropping use flags"
+       fi
+}
+
+src_prepare() {
+       # Drop .config
+       sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
+       # 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
+}
+
+src_configure() {
+       use debug && myopt="${myopt} debug=y"
+       use pae && myopt="${myopt} pae=y"
+
+       if use custom-cflags; then
+               filter-flags -fPIE -fstack-protector
+               replace-flags -O3 -O2
+       else
+               unset CFLAGS
+       fi
+}
+
+src_compile() {
+       # Send raw LDFLAGS so that --as-needed works
+       emake CC="$(tc-getCC)" 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"
+
+       emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install || die "install failed"
+}
+
+pkg_postinst() {
+       elog "Official Xen Guide and the unoffical wiki page:"
+       elog " http://www.gentoo.org/doc/en/xen-guide.xml"
+       elog " http://en.gentoo-wiki.com/wiki/Xen/"
+
+       if use pae; then
+               echo
+               ewarn "This is a PAE build of Xen. It will *only* boot PAE kernels!"
+       fi
+}