diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2014-06-22 02:06:59 +0000 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2014-06-22 02:06:59 +0000 |
commit | 8796043427c0a8e4a0ea92151b7e37ab57dbafea (patch) | |
tree | 589545cf693de89c6e2086b8c7c5e93bfba229e4 /app-emulation | |
parent | openstack-guest-agents-unix and xe-guest-utilities coming because infra needs... (diff) | |
download | gentoo-2-8796043427c0a8e4a0ea92151b7e37ab57dbafea.tar.gz gentoo-2-8796043427c0a8e4a0ea92151b7e37ab57dbafea.tar.bz2 gentoo-2-8796043427c0a8e4a0ea92151b7e37ab57dbafea.zip |
New packages for infra use, in package.mask because not fully baked yet, upstream does QA-horrible things like copy parts of system /lib to a subdir. Initial ebuild from alunduil's overlay
(Portage version: 2.2.10/cvs/Linux x86_64, unsigned Manifest commit)
Diffstat (limited to 'app-emulation')
6 files changed, 440 insertions, 0 deletions
diff --git a/app-emulation/openstack-guest-agents-unix/ChangeLog b/app-emulation/openstack-guest-agents-unix/ChangeLog new file mode 100644 index 000000000000..045053ab3317 --- /dev/null +++ b/app-emulation/openstack-guest-agents-unix/ChangeLog @@ -0,0 +1,15 @@ +# ChangeLog for app-emulation/openstack-guest-agents-unix +# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/openstack-guest-agents-unix/ChangeLog,v 1.1 2014/06/22 02:06:59 robbat2 Exp $ + +*openstack-guest-agents-unix-1.39.0 (22 Jun 2014) +*openstack-guest-agents-unix-1.39.0-r1 (22 Jun 2014) + + 22 Jun 2014; Robin H. Johnson <robbat2@gentoo.org> + +files/openstack-guest-agents-unix-1.39.0-python2.patch, + +files/patches-1.39.0-20140621.patch, +metadata.xml, + +openstack-guest-agents-unix-1.39.0-r1.ebuild, + +openstack-guest-agents-unix-1.39.0.ebuild: + New packages for infra use, in package.mask because not fully baked yet, + upstream does QA-horrible things like copy parts of system /lib to a subdir. + Initial ebuild from alunduil's overlay diff --git a/app-emulation/openstack-guest-agents-unix/files/openstack-guest-agents-unix-1.39.0-python2.patch b/app-emulation/openstack-guest-agents-unix/files/openstack-guest-agents-unix-1.39.0-python2.patch new file mode 100644 index 000000000000..0010e9ea5eae --- /dev/null +++ b/app-emulation/openstack-guest-agents-unix/files/openstack-guest-agents-unix-1.39.0-python2.patch @@ -0,0 +1,15 @@ +diff -Nuar openstack-guest-agents-unix-1.39.0.orig/scripts/gentoo/nova-agent.in openstack-guest-agents-unix-1.39.0/scripts/gentoo/nova-agent.in +--- openstack-guest-agents-unix-1.39.0.orig/scripts/gentoo/nova-agent.in 2013-12-31 02:02:57.000000000 -0800 ++++ openstack-guest-agents-unix-1.39.0/scripts/gentoo/nova-agent.in 2014-06-21 17:20:01.527148493 -0700 +@@ -35,8 +35,9 @@ + NOVA_PYTHONPATH="${reallibdir}/${NOVA_PYTHONPATH}" + NOVA_PYTHONPATH="${NOVA_PYTHONPATH}:${NOVA_PYTHONPATH}/site-packages" + +-if [ `which python > /dev/null 2>&1 ; echo $?` -eq 0 ]; then +- PYTHONPATH="$(python -c 'import sys; print ":".join(sys.path)')" ++PYTHON=python2 ++if [ `which $PYTHON > /dev/null 2>&1 ; echo $?` -eq 0 ]; then ++ PYTHONPATH="$($PYTHON -c 'import sys; print ":".join(sys.path)')" + fi + export PYTHONPATH="$NOVA_PYTHONPATH:$PYTHONPATH" + export PYTHONHOME="$NOVA_PYTHONPATH:$PYTHONPATH" diff --git a/app-emulation/openstack-guest-agents-unix/files/patches-1.39.0-20140621.patch b/app-emulation/openstack-guest-agents-unix/files/patches-1.39.0-20140621.patch new file mode 100644 index 000000000000..fd11f980d4f0 --- /dev/null +++ b/app-emulation/openstack-guest-agents-unix/files/patches-1.39.0-20140621.patch @@ -0,0 +1,323 @@ +commit fc8c9fe076e321ff98cc6717abbb21ee57808c52 +Merge: eaaae09 1ecec49 +Author: teran-mckinney <teran.mckinney@rackspace.com> +Date: Wed Apr 30 15:33:43 2014 +0000 + + Merge pull request #43 from gtmanfred/master + + sbindir changes to exec_prefix + +commit eaaae09c27a33998374a8d63702c75b04ab3e5c2 +Merge: 773e431 1505a5a +Author: teran-mckinney <teran.mckinney@rackspace.com> +Date: Tue Apr 29 18:21:27 2014 +0000 + + Merge pull request #45 from leader716/master + + Added addditional logic to deterine if the hardware address for and inte... + +commit 1505a5a8e180910c3307bf04ccfc4eed09c0f40a +Author: John Ward <john.ward@rackspace.com> +Date: Tue Apr 29 14:28:34 2014 +0000 + + Added addditional logic to deterine if the hardware address for and interface is 0x0 if so go to the next interface. + I put this into place to handle tun adapters that have a hardware address of 0x0 which was causing the agent to + segfault when it encounterd this type of adapter. + +commit 1ecec499d5bea73980a8aec992b394339acc83c7 +Author: Daniel Wallace <danielwallace@gtmanfred.com> +Date: Fri Apr 25 20:38:35 2014 -0500 + + sbindir changes to exec_prefix + + Systemd requires a full path for the start of the command, and there + isn't one that isn't a nice way to change this. + +commit 773e431997a6612cbda9f11ec9d57f5685a29eea +Merge: 1ca2056 12c0294 +Author: teran-mckinney <teran.mckinney@rackspace.com> +Date: Fri Apr 25 18:41:56 2014 +0000 + + Merge pull request #39 from Camisa/master + + nova-agent should replace the Slice or Image ID rather than append + +commit 1ca2056a455f8075ed951f0a82b92820c0b33b54 +Merge: 1b05c75 f9a365e +Author: teran-mckinney <teran.mckinney@rackspace.com> +Date: Fri Apr 25 18:40:29 2014 +0000 + + Merge pull request #42 from gtmanfred/master + + Do not add static routes that are the default route, if a default gateway already exists. + + Courtesy of gtmanfred. Thank you! + +commit f9a365e7a9543d407ca9d75164688faa0ff53528 +Author: Daniel Wallace <danielwallace@gtmanfred.com> +Date: Fri Apr 25 10:54:29 2014 -0500 + + remove extra and from debian network.py + +commit 387d4e77695598a07be9e4593c5b236b81a1aeea +Author: Daniel Wallace <danielwallace@gtmanfred.com> +Date: Fri Apr 25 09:31:15 2014 -0500 + + Do not add static routes that are the default route + +commit 1b05c75530c8b4cbf5347e84815e275ee0bbacd4 +Author: teran-mckinney <teran.mckinney@rackspace.com> +Date: Thu Feb 13 19:26:36 2014 +0000 + + Fix nova-agent not starting on some systems + + data/host existing could cause a fault on xs_handle.mkdir(self.request_path) if request_path (data/host) already existed. Wrap it in a try/except clause to ignore the fault as if the directory already exists, there's no reason to throw an exception while trying to create it. + + Workaround without this patch is to xenstore-rm data/host from affected VMs, or to do it from dom0 with the full path. + +commit 12c02941ef02dc6645e6d4700e8a028decbf0c19 +Author: Christopher J. Camisa <cjc@operator.host> +Date: Thu Jan 30 03:11:51 2014 -0600 + + nova-agent should replace the Slice or Image ID rather than append + +commit ce388bf600136736fdb790edef58a57aad8adfc1 +Author: AbhishekKr <abhikumar163@gmail.com> +Date: Tue Jan 21 17:22:23 2014 +0530 + + shebang fixed for installer.sh and bintar script; gitignore updated + +commit 91fe7d0262fe8ad685a287df291b504250b1184c +Author: AbhishekKr <abhikumar163@gmail.com> +Date: Fri Jan 3 16:51:54 2014 +0530 + + FreeBSD changed ports, so bintar creation script need to +diff --git a/.gitignore b/.gitignore +index ae1ae1b..6bdeda8 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -55,3 +55,4 @@ unix/scripts/generic/nova-agent + unix/scripts/gentoo/nova-agent + unix/scripts/freebsd/nova-agent + .idea/* ++**/.venv +diff --git a/commands/arch/network.py b/commands/arch/network.py +index 1d698ca..2bc0aff 100644 +--- a/commands/arch/network.py ++++ b/commands/arch/network.py +@@ -373,6 +373,11 @@ def _update_rc_conf_legacy(infile, interfaces): + ifaces.append((ifname.replace(':', '_'), ' '.join(line))) + + for i, route in enumerate(interface['routes']): ++ if route['network'] == '0.0.0.0' and \ ++ route['netmask'] == '0.0.0.0' and \ ++ route['gateway'] == gateway4: ++ continue ++ + line = "-net %(network)s netmask %(netmask)s gw %(gateway)s" % \ + route + +@@ -499,7 +504,10 @@ def _get_file_data_netctl(ifname, interface): + print >>outfile, 'Gateway6=%s' % gateway6 + + routes = ['%(network)s/%(netmask)s via %(gateway)s' % route +- for route in interface['routes']] ++ for route in interface['routes'] if not ++ route['network'] == '0.0.0.0' and not ++ route['netmask'] == '0.0.0.0' and not ++ route['gateway'] == gateway4] + + if routes: + print >>outfile, 'Routes=(\'%s\')' % '\' \''.join(routes) +@@ -552,7 +560,10 @@ def _get_file_data_netcfg(ifname, interface): + print >>outfile, 'GATEWAY6="%s"' % gateway6 + + routes = ['"%(network)s/%(netmask)s via %(gateway)s"' % route +- for route in interface['routes']] ++ for route in interface['routes'] if not ++ route['network'] == '0.0.0.0' and not ++ route['netmask'] == '0.0.0.0' and not ++ route['gateway'] == gateway4] + + if routes: + print >>outfile, 'ROUTES=(%s)' % ' '.join(routes) +diff --git a/commands/debian/network.py b/commands/debian/network.py +index d91d602..3b82d97 100644 +--- a/commands/debian/network.py ++++ b/commands/debian/network.py +@@ -234,6 +234,11 @@ def _get_file_data(interfaces): + ifname_suffix_num += 1 + + for route in interface['routes']: ++ if route['network'] == '0.0.0.0' \ ++ and route['netmask'] == '0.0.0.0'\ ++ and 'gateway4' in interface \ ++ and route['gateway'] == interface['gateway4']: ++ continue + file_data += " post-up route add -net %(network)s " \ + "netmask %(netmask)s gw %(gateway)s || true\n" % route + file_data += " pre-down route del -net %(network)s " \ +diff --git a/commands/freebsd/network.py b/commands/freebsd/network.py +index 2d5d7f1..87e5e9e 100644 +--- a/commands/freebsd/network.py ++++ b/commands/freebsd/network.py +@@ -211,6 +211,10 @@ def _create_rcconf_file(infile, interfaces, hostname): + ifname_suffix_num += 1 + + for route in interface['routes']: ++ if route['network'] == '0.0.0.0' and \ ++ route['netmask'] == '0.0.0.0' and \ ++ route['gateway'] == gateway4: ++ continue + if ':' in route['network']: + # ipv6 + fmt = '-net %(network)s/%(netmask)s %(gateway)s' +diff --git a/commands/gentoo/network.py b/commands/gentoo/network.py +index f3ceff5..f3e5251 100644 +--- a/commands/gentoo/network.py ++++ b/commands/gentoo/network.py +@@ -199,7 +199,11 @@ def _confd_net_file(interfaces): + lines.extend([ " {0}/{1} via {2}".format(route['network'], + commands.network.NETMASK_TO_PREFIXLEN[route['netmask']], + route['gateway'] +- ) for route in interface['routes'] ]) ++ ) for route in interface['routes'] if not ++ route['network'] == '0.0.0.0' and not ++ route['netmask'] == '0.0.0.0' and ++ 'gateway4' in interface and not ++ route['gateway'] == interface['gateway4']]) + if 'gateway4' in interface and interface['gateway4']: + lines.append(" default via {0}".format(interface['gateway4'])) + if 'gateway6' in interface and interface['gateway6']: +@@ -247,7 +251,11 @@ def _confd_net_file_legacy(interfaces): + lines.append("routes_{0}=(".format(name)) + lines.extend([ " \"{0} netmask {1} gw {2}\"".format( + route['network'], route['netmask'], route['gateway'] +- ) for route in interface['routes'] ]) ++ ) for route in interface['routes'] if not ++ route['network'] == '0.0.0.0' and not ++ route['netmask'] == '0.0.0.0' and ++ 'gateway4' in interface and not ++ route['gateway'] == interface['gateway4'] ]) + if 'gateway4' in interface and interface['gateway4']: + lines.append(" \"default via {0}\"".format(interface['gateway4'])) + if 'gateway6' in interface and interface['gateway6']: +diff --git a/commands/redhat/network.py b/commands/redhat/network.py +index a85ed6b..e853fbd 100644 +--- a/commands/redhat/network.py ++++ b/commands/redhat/network.py +@@ -202,6 +202,11 @@ def _get_file_data(ifname_prefix, interface): + + route_data = '' + for i, route in enumerate(interface['routes']): ++ if route['network'] == '0.0.0.0' and \ ++ route['netmask'] == '0.0.0.0' and \ ++ 'gateway4' in interface and \ ++ route['gateway'] == interface['gateway4']: ++ continue + route_data += "ADDRESS%d=%s\n" % (i, route['network']) + route_data += "NETMASK%d=%s\n" % (i, route['netmask']) + route_data += "GATEWAY%d=%s\n" % (i, route['gateway']) +diff --git a/commands/suse/network.py b/commands/suse/network.py +index 2947974..baad7b2 100644 +--- a/commands/suse/network.py ++++ b/commands/suse/network.py +@@ -191,6 +191,10 @@ def _get_file_data(ifname, interface): + + route_data = '' + for route in interface['routes']: ++ if route['network'] == '0.0.0.0' and \ ++ route['netmask'] == '0.0.0.0' and \ ++ route['gateway'] == gateway4: ++ continue + network = route['network'] + netmask = route['netmask'] + gateway = route['gateway'] +diff --git a/lib/agentlib.c b/lib/agentlib.c +index ccba6e3..cced430 100644 +--- a/lib/agentlib.c ++++ b/lib/agentlib.c +@@ -73,7 +73,10 @@ static PyObject *_agentlib_get_interfaces(PyObject *self, PyObject *args) + goto next; + + #if defined(__linux__) +- if (ifa->ifa_addr->sa_family != PF_PACKET) ++ if (ifa->ifa_addr == NULL) ++ goto next; ++ ++ if (ifa->ifa_addr->sa_family != PF_PACKET) + goto next; + + struct sockaddr_ll *sll = (struct sockaddr_ll *)ifa->ifa_addr; +diff --git a/plugins/xscomm.py b/plugins/xscomm.py +index e3faa2e..9b8a33b 100644 +--- a/plugins/xscomm.py ++++ b/plugins/xscomm.py +@@ -41,7 +41,11 @@ class XSComm(object): + XENSTORE_RESPONSE_PATH) + + self.xs_handle = pyxenstore.Handle() +- self.xs_handle.mkdir(self.request_path) ++ try: ++ self.xs_handle.mkdir(self.request_path) ++ except: ++ pass ++ + self.requests = [] + + def _check_handle(self): +diff --git a/scripts/gentoo/nova-agent.in b/scripts/gentoo/nova-agent.in +index a043394..7f2687e 100755 +--- a/scripts/gentoo/nova-agent.in ++++ b/scripts/gentoo/nova-agent.in +@@ -59,7 +59,7 @@ start() { + /usr/bin/xenstore write data/host/system-init '{"name":"resetnetwork","value":""}' + /usr/bin/xenstore watch -n 1 data/guest/system-init >/dev/null + [ "$(/usr/bin/xenstore read data/guest/system-init | wc -l)" -gt "0" ] || eend 1 +- echo "UUID=\"$(/usr/bin/xenstore read name)\"" >> /etc/conf.d/nova-agent ++ echo "UUID=\"$(/usr/bin/xenstore read name)\"" > /etc/conf.d/nova-agent + fi + + eend $RET +diff --git a/scripts/installer.sh.in b/scripts/installer.sh.in +index 8ef793d..3fbf352 100755 +--- a/scripts/installer.sh.in ++++ b/scripts/installer.sh.in +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + + # vim: tabstop=4 shiftwidth=4 softtabstop=4 + # +diff --git a/scripts/systemd/nova-agent.service.in b/scripts/systemd/nova-agent.service.in +index 9d8a4a7..b73ebbe 100644 +--- a/scripts/systemd/nova-agent.service.in ++++ b/scripts/systemd/nova-agent.service.in +@@ -4,7 +4,7 @@ Description=nova-agent service + [Service] + Environment=LD_LIBRARY_PATH=@prefix@/share/@PACKAGE@/@PACKAGE_VERSION@/lib + EnvironmentFile=-/etc/nova-agent.env +-ExecStart=@sbindir@/nova-agent -n -l info @prefix@/share/@PACKAGE@/nova-agent.py ++ExecStart=@prefix@/sbin/nova-agent -n -l info @prefix@/share/@PACKAGE@/nova-agent.py + + + [Install] +diff --git a/tools/nova-agent-builder.sh b/tools/nova-agent-builder.sh +index 1823639..fcaa7c7 100755 +--- a/tools/nova-agent-builder.sh ++++ b/tools/nova-agent-builder.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + ##### NOVA AGENT BUILDER + ##### how_to:$ sh nova-agent-builder.sh help + ##### W.I.P. works fine for most of cases, +@@ -202,7 +202,7 @@ install_pre_requisite_freebsd(){ + export INSTALL_D="" + uname -a + +- pkg_add -r git autogen automake wget bash ++ pkg_add -r git autogen automake wget bash libtool + pkg_add -r py27-unittest2 py27-cryptkit py27-pycrypto py27-mox + + # re-install xen-tool :: required for pyxenstore install diff --git a/app-emulation/openstack-guest-agents-unix/metadata.xml b/app-emulation/openstack-guest-agents-unix/metadata.xml new file mode 100644 index 000000000000..e6bc527c4abe --- /dev/null +++ b/app-emulation/openstack-guest-agents-unix/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer> + <email>robbat2@gentoo.org</email> +</maintainer> +<maintainer> + <email>alunduil@gentoo.org</email> +</maintainer> +</pkgmetadata> + diff --git a/app-emulation/openstack-guest-agents-unix/openstack-guest-agents-unix-1.39.0-r1.ebuild b/app-emulation/openstack-guest-agents-unix/openstack-guest-agents-unix-1.39.0-r1.ebuild new file mode 100644 index 000000000000..ac01f22532bc --- /dev/null +++ b/app-emulation/openstack-guest-agents-unix/openstack-guest-agents-unix-1.39.0-r1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/openstack-guest-agents-unix/openstack-guest-agents-unix-1.39.0-r1.ebuild,v 1.1 2014/06/22 02:06:59 robbat2 Exp $ + +EAPI=5 +PYTHON_COMPAT=( python2_7 ) # does not work with py3 yet + +inherit autotools eutils vcs-snapshot python-single-r1 + +DESCRIPTION="Openstack Unix Guest Agent" +HOMEPAGE="http://github.com/rackerlabs/openstack-guest-agents-unix" +SRC_URI="https://github.com/rackerlabs/${PN}/tarball/v${PV} -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +RDEPEND="dev-util/patchelf + dev-python/pycrypto[${PYTHON_USEDEP}] + dev-python/pyxenstore[${PYTHON_USEDEP}]" + +# Fails to build if python2.5/python2.6 are present +DEPEND="${RDEPEND} + !dev-lang/python:2.5 + !dev-lang/python:2.6 + ${PYTHON_DEPS}" + +pkg_setup() { + python-single-r1_pkg_setup +} + +src_prepare() { + epatch \ + "${FILESDIR}"/patches-1.39.0-20140621.patch \ + "${FILESDIR}"/openstack-guest-agents-unix-1.39.0-python2.patch + eautoreconf +} + +src_install() { + emake DESTDIR="${D}" install + doinitd scripts/gentoo/nova-agent +} diff --git a/app-emulation/openstack-guest-agents-unix/openstack-guest-agents-unix-1.39.0.ebuild b/app-emulation/openstack-guest-agents-unix/openstack-guest-agents-unix-1.39.0.ebuild new file mode 100644 index 000000000000..68ec1d801bf7 --- /dev/null +++ b/app-emulation/openstack-guest-agents-unix/openstack-guest-agents-unix-1.39.0.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/openstack-guest-agents-unix/openstack-guest-agents-unix-1.39.0.ebuild,v 1.1 2014/06/22 02:06:59 robbat2 Exp $ + +EAPI=5 + +inherit autotools eutils vcs-snapshot + +DESCRIPTION="Openstack Unix Guest Agent" +HOMEPAGE="http://github.com/rackerlabs/openstack-guest-agents-unix" +SRC_URI="https://github.com/rackerlabs/${PN}-unix/tarball/v${PV} -> ${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +DEPEND=" + dev-util/patchelf + dev-python/pycrypto + dev-python/pyxenstore + " +RDEPEND="${DEPEND}" + +src_prepare() { + eautoreconf +} + +src_install() { + emake DESTDIR="${D}" install + + doinitd scripts/gentoo/nova-agent +} |