import-layers: Drop meta-virtualization

Drop the unused meta-virtualization layer.

Change-Id: I14591d81f5d82cad7126921e5978a8707e2221d6
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/import-layers/meta-virtualization/.gitignore b/import-layers/meta-virtualization/.gitignore
deleted file mode 100644
index 65feb82..0000000
--- a/import-layers/meta-virtualization/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-build*/
-pyshtables.py
-*.swp
-*.orig
-*.rej
-*~
diff --git a/import-layers/meta-virtualization/COPYING.MIT b/import-layers/meta-virtualization/COPYING.MIT
deleted file mode 100644
index fb950dc..0000000
--- a/import-layers/meta-virtualization/COPYING.MIT
+++ /dev/null
@@ -1,17 +0,0 @@
-Permission is hereby granted, free of charge, to any person obtaining a copy 
-of this software and associated documentation files (the "Software"), to deal 
-in the Software without restriction, including without limitation the rights 
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
-copies of the Software, and to permit persons to whom the Software is 
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in 
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 
-THE SOFTWARE.
diff --git a/import-layers/meta-virtualization/README b/import-layers/meta-virtualization/README
deleted file mode 100644
index f13de08..0000000
--- a/import-layers/meta-virtualization/README
+++ /dev/null
@@ -1,79 +0,0 @@
-meta-virtualization
-===================
-
-This layer provides support for building Xen, KVM, Libvirt, and associated
-packages necessary for constructing OE-based virtualized solutions.
-
-The bbappend files for some recipes (e.g. linux-yocto) in this layer need to
-have 'virtualization' in DISTRO_FEATURES to have effect. To enable them, add
-in configuration file the following line.
-
-  DISTRO_FEATURES_append = " virtualization"
-
-If meta-virtualization is included, but virtualization is not enabled as a
-distro feature a warning is printed at parse time:
-
-    You have included the meta-virtualization layer, but
-    'virtualization' has not been enabled in your DISTRO_FEATURES. Some bbappend files
-    may not take effect. See the meta-virtualization README for details on enabling
-    virtualization support.
-
-If you know what you are doing, this warning can be disabled by setting the following
-variable in your configuration:
-
-  SKIP_META_VIRT_SANITY_CHECK = 1
-
-Depending on your use case, there are other distro features in meta-virtualization
-that may also be enabled:
-
- - xen: enables xen functionality in various packages (kernel, libvirt, etc)
- - kvm: enables KVM configurations in the kernel and autoloads modules
- - aufs: enables aufs support in docker and linux-yocto
- - x11: enable xen and libvirt functionality related to x11
- - selinux: enables functionality in libvirt and lxc
- - systemd: enable systemd services and unit files (for recipes for support)
- - sysvinit: enable sysvinit scripts (for recipes with support)
-
-Dependencies
-------------
-This layer depends on:
-
-URI: git://github.com/openembedded/openembedded-core.git
-branch: master
-revision: HEAD
-prio: default
-
-URI: git://github.com/openembedded/meta-openembedded.git
-branch: master
-revision: HEAD
-layers: meta-oe
-        meta-networking
-        meta-filesystems
-        meta-python
-
-BBFILE_PRIORITY_openembedded-layer = "4"
-
-Required for Xen XSM policy:
-URI: git://git.yoctoproject.org/meta-selinux
-branch: master
-revision: HEAD
-prio: default
-
-Maintenance
------------
-
-Send pull requests, patches, comments or questions to meta-virtualization@yoctoproject.org
-
-Maintainers: Raymond Danks <ray.danks@se-eng.com>
-             Bruce Ashfield <bruce.ashfield@gmail.com>
-
-When sending single patches, please using something like:
-$ git send-email -1 -M --to meta-virtualization@yoctoproject.org --subject-prefix='meta-virtualization][PATCH'
-
-License
--------
-
-All metadata is MIT licensed unless otherwise stated. Source code included
-in tree for individual recipes is under the LICENSE stated in each recipe
-(.bb file) unless otherwise stated.
-
diff --git a/import-layers/meta-virtualization/classes/sanity-meta-virt.bbclass b/import-layers/meta-virtualization/classes/sanity-meta-virt.bbclass
deleted file mode 100644
index b4ed082..0000000
--- a/import-layers/meta-virtualization/classes/sanity-meta-virt.bbclass
+++ /dev/null
@@ -1,10 +0,0 @@
-addhandler virt_bbappend_distrocheck
-virt_bbappend_distrocheck[eventmask] = "bb.event.SanityCheck"
-python virt_bbappend_distrocheck() {
-    skip_check = e.data.getVar('SKIP_META_VIRT_SANITY_CHECK') == "1"
-    if 'virtualization' not in e.data.getVar('DISTRO_FEATURES').split() and not skip_check:
-        bb.warn("You have included the meta-virtualization layer, but \
-'virtualization' has not been enabled in your DISTRO_FEATURES. Some bbappend files \
-may not take effect. See the meta-virtualization README for details on enabling \
-virtualization support.")
-}
diff --git a/import-layers/meta-virtualization/conf/distro/include/meta-virt-default-versions.inc b/import-layers/meta-virtualization/conf/distro/include/meta-virt-default-versions.inc
deleted file mode 100644
index 27e7b90..0000000
--- a/import-layers/meta-virtualization/conf/distro/include/meta-virt-default-versions.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-# Meta-virtuailization PREFERED_VERSION
-
-PREFERRED_VERSION_python-blinker = "1.3"
-PREFERRED_VERSION_python-gevent = "1.0.1"
-PREFERRED_VERSION_python-m2crypto = "0.22.3"
-PREFERRED_VERSION_python-pyyaml = "3.11"
-PREFERRED_VERSION_python-redis = "2.10.3"
-PREFERRED_VERSION_python-sqlalchemy = "1.1.5"
-PREFERRED_VERSION_python-werkzeug = "0.10.4"
diff --git a/import-layers/meta-virtualization/conf/distro/include/virt_security_flags.inc b/import-layers/meta-virtualization/conf/distro/include/virt_security_flags.inc
deleted file mode 100644
index f4c288b..0000000
--- a/import-layers/meta-virtualization/conf/distro/include/virt_security_flags.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-# Build errors with the pie options enabled
-SECURITY_CFLAGS_pn-libvirt = "${SECURITY_NO_PIE_CFLAGS}"
-
-# This has text relco errors with the pie options enabled
-SECURITY_CFLAGS_pn-lxc = "${SECURITY_NO_PIE_CFLAGS}"
diff --git a/import-layers/meta-virtualization/conf/layer.conf b/import-layers/meta-virtualization/conf/layer.conf
deleted file mode 100644
index fa2e015..0000000
--- a/import-layers/meta-virtualization/conf/layer.conf
+++ /dev/null
@@ -1,30 +0,0 @@
-# We have a conf and classes directory, append to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-# We have a recipes directory, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += "virtualization-layer"
-BBFILE_PATTERN_virtualization-layer := "^${LAYERDIR}/"
-BBFILE_PRIORITY_virtualization-layer = "8"
-
-# Custom licenses used by some packages in this layer
-LICENSE_PATH += "${LAYERDIR}/files/custom-licenses"
-
-# This should only be incremented on significant changes that will
-# cause compatibility issues with other layers
-LAYERVERSION_virtualization-layer = "1"
-LAYERSERIES_COMPAT_virtualization-layer = "sumo"
-LAYERDEPENDS_virtualization-layer = "core networking-layer"
-
-# Override security flags
-require conf/distro/include/virt_security_flags.inc
-
-PREFERRED_PROVIDER_virtual/runc ?= "runc-docker"
-PREFERRED_PROVIDER_virtual/containerd ?= "containerd-opencontainers"
-
-# Sanity check for meta-virtualization layer.
-# Setting SKIP_META_VIRT_SANITY_CHECK to "1" would skip the bbappend files check.
-INHERIT += "sanity-meta-virt"
-
-require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', 'meta-virt-default-versions.inc', '', d)}
diff --git a/import-layers/meta-virtualization/docs/00-INDEX b/import-layers/meta-virtualization/docs/00-INDEX
deleted file mode 100644
index a2ffd99..0000000
--- a/import-layers/meta-virtualization/docs/00-INDEX
+++ /dev/null
@@ -1,12 +0,0 @@
-This is a brief list of all the files in meta-virtualization/docs and what
-they contain. If you add a documentation file, please list it here in
-alphabetical order as well.
-
-00-INDEX
-        - this file.
-
-00-README
-        - info on the goals of meta-virtualization and this docs subdir
-
-openvswitch.txt
-	- example on how to setup openvswitch with qemu/kvm.
diff --git a/import-layers/meta-virtualization/docs/00-README b/import-layers/meta-virtualization/docs/00-README
deleted file mode 100644
index 6fea112..0000000
--- a/import-layers/meta-virtualization/docs/00-README
+++ /dev/null
@@ -1,6 +0,0 @@
-meta-virtualization: docs
-=========================
-
-The docs subdirectory is a holding tank for meta-virtualization related
-READMEs, documentation, testing information, configuration and other 
-notes that help the users of meta-virt.
diff --git a/import-layers/meta-virtualization/docs/openvswitch.txt b/import-layers/meta-virtualization/docs/openvswitch.txt
deleted file mode 100644
index 4410d27..0000000
--- a/import-layers/meta-virtualization/docs/openvswitch.txt
+++ /dev/null
@@ -1,96 +0,0 @@
-Simple setup for connecting openvswitch to qemu/kvm
-===================================================
-This example brings up openvswitch using a private network.
-
-Preliminary notes
-=================
-1. Make sure to build kernel support for openvswitch as a module.  The
-openvswitch init scripts expect to load a module and upon success
-continue to setup the switch.  If openvswitch is compiled
-statically, the init scripts not load the ovs-vswitchd daemon
-and none of the configured bridges will show up in the interfaces
-table (ifconfig).  You can get around this limiation by running the
-following by hand:
-	# ovs-vswitchd --pidfile --detach
-
-2. Verify that ovs-vswitchd is running before proceeding:
-	# /etc/init.d/openvswitch-switch status
-	ovsdb-server is running with pid 1867
-	ovs-vswitchd is running with pid 1877
-
-3. A kernel and rootfs is required for qemu bring up.
-
-Qemu Setup
-==========
-The host requires a /etc/qemu-ifup script to setup the bridging and tap
-devices.  Qemu will invoke this qemu-ifup script at startup.  Here is
-an example script:
-$ cat /etc/qemu-fup
-	#!/bin/sh
-	# the tap is dynamically assigned and passed into this script
-	# as a parameter
-	TAP=$1
-
-	# Note: if booting over NFS, once the $ETH0 device is added to the bridge,
-	# your host will be unusable.  In that case, setup networking
-	# init scripts appropriately and change the following to work
-	# with it.
-	ETH0="eth1"
-	NETMASK=255.255.255.0
-	IP=192.168.1.1
-	GATEWAY=
-	SWITCH=ovsbr0
-	if [ -n "$TAP" ];then
-		ifconfig $TAP up
-		ifconfig $SWITCH down &>/dev/null
-		ovs-vsctl del-br $SWITCH
-		ovs-vsctl add-br $SWITCH
-		ifconfig $ETH0 0.0.0.0
-		ifconfig $SWITCH $IP up netmask $NETMASK
-		#-- external access not required for this test.
-		#route add default gw $GATEWAY
-		ovs-vsctl add-port $SWITCH $ETH0
-		ovs-vsctl add-port $SWITCH $TAP
-		exit 0
-	else
-		echo "$0: No tap device"
-		exit 1
-	fi
-
-Start Qemu
-==========
-This example will bring up qemu with a tap network interface.
-Note: this command must be run as root due to the networking setup.
-
-	$ qemu-system-x86_64 -nographic -k en-us -m 1024  \
-		-net nic,macaddr=1a:46:0b:ca:bc:7a,model=virtio \
-		-net tap -enable-kvm\
-		-kernel /opt/dpdk-guest-kernel \
-		-append 'root=/dev/vda ro console=ttyS0' \
-		-drive file=/opt/intel-xeon-core-ovp-kvm-preempt-rt-dist.ext3,cache=none,if=virtio
-
-Once the guest OS is up and running, configure the quest network interface:
-	$ ifconfig eth0 192.168.1.10
-
-Ping the bridge:
-	$ ping 192.168.1.1
-
-From the host, view the bridged network:
-$ ovs-vsctl show
-c1212b96-ef49-4a8e-b598-09b05b854dd0
-    Bridge "ovsbr0"
-        Port "tap0"
-            Interface "tap0"
-        Port "eth1"
-            Interface "eth1"
-        Port "ovsbr0"
-            Interface "ovsbr0"
-                type: internal
-
-At this point, openvswitch is up and running.  If you want external
-network access, you need to set a GATEWAY in the qemu-ifup script and
-make sure the external device is part of the bridge.
-
-Note:
-Proper setup will require a /etc/qemu-ifdown script to tear down the
-bridge and interfaces. (not provided here).
diff --git a/import-layers/meta-virtualization/files/custom-licenses/Intel-ACPI b/import-layers/meta-virtualization/files/custom-licenses/Intel-ACPI
deleted file mode 100644
index df0d0bb..0000000
--- a/import-layers/meta-virtualization/files/custom-licenses/Intel-ACPI
+++ /dev/null
@@ -1,104 +0,0 @@
-1. Copyright Notice
-
-Some or all of this work - Copyright (c) 1999 - 2010, Intel Corp.
-All rights reserved.
-
-2. License
-
-2.1. This is your license from Intel Corp. under its intellectual property
-rights.  You may have additional license terms from the party that provided
-you this software, covering your right to use that party's intellectual
-property rights.
-
-2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
-copy of the source code appearing in this file ("Covered Code") an
-irrevocable, perpetual, worldwide license under Intel's copyrights in the
-base code distributed originally by Intel ("Original Intel Code") to copy,
-make derivatives, distribute, use and display any portion of the Covered
-Code in any form, with the right to sublicense such rights; and
-
-2.3. Intel grants Licensee a non-exclusive and non-transferable patent
-license (with the right to sublicense), under only those claims of Intel
-patents that are infringed by the Original Intel Code, to make, use, sell,
-offer to sell, and import the Covered Code and derivative works thereof
-solely to the minimum extent necessary to exercise the above copyright
-license, and in no event shall the patent license extend to any additions
-to or modifications of the Original Intel Code.  No other license or right
-is granted directly or by implication, estoppel or otherwise;
-
-The above copyright and patent license is granted only if the following
-conditions are met:
-
-3. Conditions
-
-3.1. Redistribution of Source with Rights to Further Distribute Source.
-Redistribution of source code of any substantial portion of the Covered
-Code or modification with rights to further distribute source must include
-the above Copyright Notice, the above License, this list of Conditions,
-and the following Disclaimer and Export Compliance provision.  In addition,
-Licensee must cause all Covered Code to which Licensee contributes to
-contain a file documenting the changes Licensee made to create that Covered
-Code and the date of any change.  Licensee must include in that file the
-documentation of any changes made by any predecessor Licensee.  Licensee
-must include a prominent statement that the modification is derived,
-directly or indirectly, from Original Intel Code.
-
-3.2. Redistribution of Source with no Rights to Further Distribute Source.
-Redistribution of source code of any substantial portion of the Covered
-Code or modification without rights to further distribute source must
-include the following Disclaimer and Export Compliance provision in the
-documentation and/or other materials provided with distribution.  In
-addition, Licensee may not authorize further sublicense of source of any
-portion of the Covered Code, and must include terms to the effect that the
-license from Licensee to its licensee is limited to the intellectual
-property embodied in the software Licensee provides to its licensee, and
-not to intellectual property embodied in modifications its licensee may
-make.
-
-3.3. Redistribution of Executable. Redistribution in executable form of any
-substantial portion of the Covered Code or modification must reproduce the
-above Copyright Notice, and the following Disclaimer and Export Compliance
-provision in the documentation and/or other materials provided with the
-distribution.
-
-3.4. Intel retains all right, title, and interest in and to the Original
-Intel Code.
-
-3.5. Neither the name Intel nor any other trademark owned or controlled by
-Intel shall be used in advertising or otherwise to promote the sale, use or
-other dealings in products derived from or relating to the Covered Code
-without prior written authorization from Intel.
-
-4. Disclaimer and Export Compliance
-
-4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
-HERE.  ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
-IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT,  ASSISTANCE,
-INSTALLATION, TRAINING OR OTHER SERVICES.  INTEL WILL NOT PROVIDE ANY
-UPDATES, ENHANCEMENTS OR EXTENSIONS.  INTEL SPECIFICALLY DISCLAIMS ANY
-IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
-PARTICULAR PURPOSE.
-
-4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
-OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
-COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
-SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
-CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
-HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.  THESE LIMITATIONS
-SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
-LIMITED REMEDY.
-
-4.3. Licensee shall not export, either directly or indirectly, any of this
-software or system incorporating such software without first obtaining any
-required license or other approval from the U. S. Department of Commerce or
-any other agency or department of the United States Government.  In the
-event Licensee exports any such software from the United States or
-re-exports any such software from a foreign destination, Licensee shall
-ensure that the distribution and export/re-export of the software is in
-compliance with all laws, regulations, orders, or other restrictions of the
-U.S. Export Administration Regulations. Licensee agrees that neither it nor
-any of its subsidiaries will export/re-export any technical data, process,
-software, or service, directly or indirectly, to any country for which the
-United States government or any agency thereof requires an export license,
-other governmental approval, or letter of assurance, without first obtaining
-such license, approval or letter.
diff --git a/import-layers/meta-virtualization/files/custom-licenses/NewRelic b/import-layers/meta-virtualization/files/custom-licenses/NewRelic
deleted file mode 100644
index 9c2e5e8..0000000
--- a/import-layers/meta-virtualization/files/custom-licenses/NewRelic
+++ /dev/null
@@ -1,33 +0,0 @@
-  Copyright (c) 2010-2014 New Relic, Inc. All rights reserved.
-
-Certain inventions disclosed in this file may be claimed within patents
-owned or patent applications filed by New Relic, Inc. or third parties.
-Subject to the terms of this notice, New Relic grants you a nonexclusive,
-nontransferable license, without the right to sublicense, to (a) install
-and execute one copy of these files on any number of workstations owned or
-controlled by you and (b) distribute verbatim copies of these files to
-third parties. As a condition to the foregoing grant, you must provide this
-notice along with each copy you distribute and you must not remove, alter,
-or obscure this notice.
-
-All other use, reproduction, modification, distribution, or other
-exploitation of these files is strictly prohibited, except as may be set
-forth in a separate written license agreement between you and New Relic.
-The terms of any such license agreement will control over this notice. The
-license stated above will be automatically terminated and revoked if you
-exceed its scope or violate any of the terms of this notice.
-
-This License does not grant permission to use the trade names, trademarks,
-service marks, or product names of New Relic, except as required for
-reasonable and customary use in describing the origin of this file and
-reproducing the content of this notice. You may not mark or brand this file
-with any trade name, trademarks, service marks, or product names other than
-the original brand (if any) provided by New Relic.
-
-Unless otherwise expressly agreed by New Relic in a separate written
-license agreement, these files are provided AS IS, WITHOUT WARRANTY OF ANY
-KIND, including without any implied warranties of MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE, TITLE, or NON-INFRINGEMENT. As a condition to
-your use of these files, you are solely responsible for such use. New Relic
-will have no liability to you for direct, indirect, consequential,
-incidental, special, or punitive damages or for lost profits or data.
diff --git a/import-layers/meta-virtualization/recipes-containers/cgroup-lite/cgroup-lite_1.11.bb b/import-layers/meta-virtualization/recipes-containers/cgroup-lite/cgroup-lite_1.11.bb
deleted file mode 100644
index 065d0ea..0000000
--- a/import-layers/meta-virtualization/recipes-containers/cgroup-lite/cgroup-lite_1.11.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SECTION = "devel"
-SUMMARY = "Light-weight package to set up cgroups at system boot."
-DESCRIPTION =  "Light-weight package to set up cgroups at system boot."
-HOMEPAGE = "http://packages.ubuntu.com/source/precise/cgroup-lite"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://debian/copyright;md5=5d5da4e0867cf06014f87102154d0102"
-SRC_URI = "https://launchpad.net/ubuntu/+archive/primary/+files/cgroup-lite_1.11.tar.xz"
-SRC_URI += "file://cgroups-init"
-SRC_URI[md5sum] = "b20976194ee8fdb61e6b55281fb6ead4"
-SRC_URI[sha256sum] = "a79ab9ae6fb3ff3ce0aa5539b055c0379eaffdc6c5f003af4010fcea683c1a45"
-
-inherit allarch
-inherit update-rc.d
-
-INITSCRIPT_NAME = "cgroups-init"
-INITSCRIPT_PARAMS = "start 8 2 3 4 5 . stop 20 0 1 6 ."
-do_install() {
-	install -d ${D}/bin
-	install -d ${D}${sysconfdir}/init.d
-	install -m 0755 ${S}/scripts/cgroups-mount ${D}/bin
-	install -m 0755 ${S}/scripts/cgroups-umount ${D}/bin
-	install -m 0755 ${WORKDIR}/cgroups-init ${D}${sysconfdir}/init.d/cgroups-init
-}
diff --git a/import-layers/meta-virtualization/recipes-containers/cgroup-lite/files/cgroups-init b/import-layers/meta-virtualization/recipes-containers/cgroup-lite/files/cgroups-init
deleted file mode 100755
index e504024..0000000
--- a/import-layers/meta-virtualization/recipes-containers/cgroup-lite/files/cgroups-init
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-### BEGIN INIT INFO
-# Provides:          cgroups mount
-# Required-Start:    $network $remote_fs
-# Required-Stop:     $network $remote_fs
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: mount/unmount cgroups
-### END INIT INFO
-
-# must start before libvirtd is run
-case "$1" in
-  start)
-        echo -n "Mounting cgroups..."
-		/bin/cgroups-mount
-        echo "Done"
-        ;;
-  stop)
-        echo -n "Unmounting cgroups..."
-		/bin/cgroups-umount
-        echo "Done"
-        ;;
-  *)
-        echo "Usage: /etc/init.d/cgroups-init {start|stop}"
-        exit 1
-        ;;
-esac
diff --git a/import-layers/meta-virtualization/recipes-containers/containerd/containerd-docker_git.bb b/import-layers/meta-virtualization/recipes-containers/containerd/containerd-docker_git.bb
deleted file mode 100644
index b18a9bb..0000000
--- a/import-layers/meta-virtualization/recipes-containers/containerd/containerd-docker_git.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SRCREV = "3addd840653146c90a254301d6c3a663c7fd6429"
-SRC_URI = "\
-	git://github.com/docker/containerd.git;branch=v0.2.x;destsuffix=git/src/github.com/containerd/containerd \
-	"
-
-include containerd.inc
-
-CONTAINERD_VERSION = "v0.2.x"
-S = "${WORKDIR}/git/src/github.com/containerd/containerd"
-
-PROVIDES += "virtual/containerd"
-RPROVIDES_${PN} = "virtual/containerd"
-
-DEPENDS += "btrfs-tools"
diff --git a/import-layers/meta-virtualization/recipes-containers/containerd/containerd-opencontainers_git.bb b/import-layers/meta-virtualization/recipes-containers/containerd/containerd-opencontainers_git.bb
deleted file mode 100644
index c6b4f5e..0000000
--- a/import-layers/meta-virtualization/recipes-containers/containerd/containerd-opencontainers_git.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-SRCREV = "cfd04396dc68220d1cecbe686a6cc3aa5ce3667c"
-SRC_URI = "git://github.com/containerd/containerd;nobranch=1 \
-           file://0001-build-use-oe-provided-GO-and-flags.patch \
-          "
-
-include containerd.inc
-
-CONTAINERD_VERSION = "v1.0.2"
-
-PROVIDES += "virtual/containerd"
-RPROVIDES_${PN} = "virtual/containerd"
diff --git a/import-layers/meta-virtualization/recipes-containers/containerd/containerd.inc b/import-layers/meta-virtualization/recipes-containers/containerd/containerd.inc
deleted file mode 100644
index eb47cc9..0000000
--- a/import-layers/meta-virtualization/recipes-containers/containerd/containerd.inc
+++ /dev/null
@@ -1,90 +0,0 @@
-HOMEPAGE = "https://github.com/docker/containerd"
-SUMMARY = "containerd is a daemon to control runC"
-DESCRIPTION = "containerd is a daemon to control runC, built for performance and density. \
-               containerd leverages runC's advanced features such as seccomp and user namespace \
-               support as well as checkpoint and restore for cloning and live migration of containers."
-
-# Apache-2.0 for containerd
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://src/import/LICENSE.code;md5=aadc30f9c14d876ded7bedc0afd2d3d7"
-
-SRC_URI += "file://containerd.service"
-
-S = "${WORKDIR}/git"
-
-PV = "${CONTAINERD_VERSION}+git${SRCREV}"
-
-inherit go
-inherit goarch
-
-GO_IMPORT = "import"
-
-RRECOMMENDS_${PN} = "lxc docker"
-CONTAINERD_PKG="github.com/containerd/containerd"
-
-INSANE_SKIP_${PN} += "ldflags"
-
-do_configure[noexec] = "1"
-
-do_compile() {
-    export GOARCH="${TARGET_GOARCH}"
-
-    # link fixups for compilation
-    rm -f ${S}/src/import/vendor/src
-    ln -sf ./ ${S}/src/import/vendor/src
-
-    mkdir -p ${S}/src/import/vendor/src/github.com/containerd/containerd/
-    # without this, the stress test parts of the build fail
-    cp ${S}/src/import/*.go ${S}/src/import/vendor/src/github.com/containerd/containerd
-
-    for c in content errdefs fs images mount snapshots linux api runtimes defaults progress \
-		     protobuf reference diff platforms runtime remotes version archive dialer gc metadata \
-		     metrics filters identifiers labels leases plugin server services \
-		     cmd cio containers namespaces oci events log reaper sys rootfs; do
-	ln -sfn ${S}/src/import/${c} ${S}/src/import/vendor/github.com/containerd/containerd/${c}
-    done
-
-    export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go"
-    export GOROOT="${STAGING_DIR_NATIVE}/${nonarch_libdir}/${HOST_SYS}/go"
-
-    # Pass the needed cflags/ldflags so that cgo
-    # can find the needed headers files and libraries
-    export CGO_ENABLED="1"
-    export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-    export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-    export BUILDTAGS="no_btrfs static_build netgo"
-    export CFLAGS="${CFLAGS}"
-    export LDFLAGS="${LDFLAGS}"
-
-    cd ${S}/src/import
-    oe_runmake binaries
-}
-
-# Note: disabled for now, since docker is launching containerd
-# inherit systemd
-# SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${PN}','',d)}"
-# SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','containerd.service','',d)}"
-
-do_install() {
-	mkdir -p ${D}/${bindir}
-
-	cp ${S}/src/import/bin/containerd ${D}/${bindir}/containerd
-	cp ${S}/src/import/bin/containerd-shim ${D}/${bindir}/containerd-shim
-	cp ${S}/src/import/bin/ctr ${D}/${bindir}/containerd-ctr
-	
-	ln -sf containerd ${D}/${bindir}/docker-containerd
-	ln -sf containerd-shim ${D}/${bindir}/docker-containerd-shim
-	ln -sf containerd-ctr ${D}/${bindir}/docker-containerd-ctr
-
-	if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-		install -d ${D}${systemd_unitdir}/system
-		install -m 644 ${WORKDIR}/containerd.service ${D}/${systemd_unitdir}/system
-	        # adjust from /usr/local/bin to /usr/bin/
-		sed -e "s:/usr/local/bin/containerd:${bindir}/docker-containerd:g" -i ${D}/${systemd_unitdir}/system/containerd.service
-	fi
-}
-
-FILES_${PN} += "${systemd_system_unitdir}/*"
-
-INHIBIT_PACKAGE_STRIP = "1"
-INSANE_SKIP_${PN} += "ldflags already-stripped"
diff --git a/import-layers/meta-virtualization/recipes-containers/containerd/files/0001-build-use-oe-provided-GO-and-flags.patch b/import-layers/meta-virtualization/recipes-containers/containerd/files/0001-build-use-oe-provided-GO-and-flags.patch
deleted file mode 100644
index 75a984b..0000000
--- a/import-layers/meta-virtualization/recipes-containers/containerd/files/0001-build-use-oe-provided-GO-and-flags.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From e31acef290181434efaf47e70db7ad0d92dbe300 Mon Sep 17 00:00:00 2001
-From: Bruce Ashfield <bruce.ashfield@windriver.com>
-Date: Thu, 19 Apr 2018 17:09:51 -0400
-Subject: [PATCH] build: use oe provided GO and flags
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/import/Makefile b/src/import/Makefile
-index 9d8cf8a18fbc..492d033fe2a7 100644
---- a/src/import/Makefile
-+++ b/src/import/Makefile
-@@ -134,7 +134,7 @@ bin/%: cmd/% FORCE
- 
- bin/containerd-shim: cmd/containerd-shim FORCE # set !cgo and omit pie for a static shim build: https://github.com/golang/go/issues/17789#issuecomment-258542220
- 	@echo "$(WHALE) bin/containerd-shim"
--	@CGO_ENABLED=0 go build -o bin/containerd-shim ${SHIM_GO_LDFLAGS} ${GO_TAGS} ./cmd/containerd-shim
-+	@$(GO) build -o bin/containerd-shim ${SHIM_GO_LDFLAGS} $(GOBUILDFLAGS) ${GO_TAGS} ./cmd/containerd-shim
- 
- binaries: $(BINARIES) ## build binaries
- 	@echo "$(WHALE) $@"
--- 
-2.4.0.53.g8440f74
-
diff --git a/import-layers/meta-virtualization/recipes-containers/containerd/files/containerd.service b/import-layers/meta-virtualization/recipes-containers/containerd/files/containerd.service
deleted file mode 100644
index 23633b0..0000000
--- a/import-layers/meta-virtualization/recipes-containers/containerd/files/containerd.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=containerd
-Documentation=https://containerd.tools
-After=network.target
-
-[Service]
-ExecStart=/usr/local/bin/containerd
-Delegate=yes
-
-[Install]
-WantedBy=multi-user.target
diff --git a/import-layers/meta-virtualization/recipes-containers/cri-o/cri-o_git.bb b/import-layers/meta-virtualization/recipes-containers/cri-o/cri-o_git.bb
deleted file mode 100644
index c14d54d..0000000
--- a/import-layers/meta-virtualization/recipes-containers/cri-o/cri-o_git.bb
+++ /dev/null
@@ -1,130 +0,0 @@
-HOMEPAGE = "https://github.com/kubernetes-incubator/cri-o"
-SUMMARY = "Open Container Initiative-based implementation of Kubernetes Container Runtime Interface"
-DESCRIPTION = "cri-o is meant to provide an integration path between OCI conformant \
-runtimes and the kubelet. Specifically, it implements the Kubelet Container Runtime \
-Interface (CRI) using OCI conformant runtimes. The scope of cri-o is tied to the scope of the CRI. \
-. \
-At a high level, we expect the scope of cri-o to be restricted to the following functionalities: \
-. \
- - Support multiple image formats including the existing Docker image format \
- - Support for multiple means to download images including trust & image verification \
- - Container image management (managing image layers, overlay filesystems, etc) \
- - Container process lifecycle management \
- - Monitoring and logging required to satisfy the CRI \
- - Resource isolation as required by the CRI \
- "
-
-SRCREV_cri-o = "65faae67828fb3eb3eac05b582aae9f9d1dea51c"
-SRC_URI = "\
-	git://github.com/kubernetes-incubator/cri-o.git;nobranch=1;name=cri-o \
-	file://0001-Makefile-force-symlinks.patch \
-        file://crio.conf \
-	"
-
-# Apache-2.0 for docker
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
-
-GO_IMPORT = "import"
-
-PV = "1.0.0-rc3-dev+git${SRCREV_cri-o}"
-
-DEPENDS = " \
-    glib-2.0 \
-    btrfs-tools \
-    gpgme \
-    ostree \
-    libdevmapper \
-    "
-RDEPENDS_${PN} = " \
-    cni \
-    "
-
-PACKAGES =+ "${PN}-config"
-
-RDEPENDS_${PN} += " virtual/containerd virtual/runc"
-RDEPENDS_${PN} += " e2fsprogs-mke2fs"
-
-inherit systemd
-inherit go
-inherit goarch
-inherit pkgconfig
-
-EXTRA_OEMAKE="BUILDTAGS=''"
-
-do_compile() {
-	export GOARCH="${TARGET_GOARCH}"
-	export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go"
-	export GOPATH="${S}/src/import:${S}/src/import/vendor"
-
-	# Pass the needed cflags/ldflags so that cgo
-	# can find the needed headers files and libraries
-	export CGO_ENABLED="1"
-	export CFLAGS=""
-	export LDFLAGS=""
-	export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-	export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-
-	# link fixups for compilation
-	rm -f ${S}/src/import/vendor/src
-	ln -sf ./ ${S}/src/import/vendor/src
-
-	mkdir -p ${S}/src/import/vendor/github.com/kubernetes-incubator/cri-o
-	ln -sf ../../../../cmd ${S}/src/import/vendor/github.com/kubernetes-incubator/cri-o/cmd
-	ln -sf ../../../../test ${S}/src/import/vendor/github.com/kubernetes-incubator/cri-o/test
-	ln -sf ../../../../oci ${S}/src/import/vendor/github.com/kubernetes-incubator/cri-o/oci
-	ln -sf ../../../../server ${S}/src/import/vendor/github.com/kubernetes-incubator/cri-o/server
-	ln -sf ../../../../pkg ${S}/src/import/vendor/github.com/kubernetes-incubator/cri-o/pkg
-	ln -sf ../../../../libpod ${S}/src/import/vendor/github.com/kubernetes-incubator/cri-o/libpod
-	ln -sf ../../../../libkpod ${S}/src/import/vendor/github.com/kubernetes-incubator/cri-o/libkpod
-	ln -sf ../../../../utils ${S}/src/import/vendor/github.com/kubernetes-incubator/cri-o/utils
-
-	export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go"
-	export GOROOT="${STAGING_DIR_NATIVE}/${nonarch_libdir}/${HOST_SYS}/go"
-
-	# Pass the needed cflags/ldflags so that cgo
-	# can find the needed headers files and libraries
-	export CGO_ENABLED="1"
-	export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-	export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-
-	cd ${S}/src/import
-
-	oe_runmake binaries
-}
-
-SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${PN}','',d)}"
-SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','crio.service','',d)}"
-SYSTEMD_AUTO_ENABLE_${PN} = "enable"
-
-do_install() {
-    localbindir="/usr/local/bin"
-
-    install -d ${D}${localbindir}
-    install -d ${D}/${libexecdir}/crio
-    install -d ${D}/${sysconfdir}/crio
-    install -d ${D}${systemd_unitdir}/system/
-
-    install ${WORKDIR}/crio.conf ${D}/${sysconfdir}/crio/crio.conf
-
-    # sample config files, they'll go in the ${PN}-config below
-    install -d ${D}/${sysconfdir}/crio/config/
-    install -m 755 -D ${S}/src/import/test/testdata/* ${D}/${sysconfdir}/crio/config/
-
-    install ${S}/src/import/crio ${D}/${localbindir}
-    install ${S}/src/import/crioctl ${D}/${localbindir}
-    install ${S}/src/import/kpod ${D}/${localbindir}
-
-    install ${S}/src/import/conmon/conmon ${D}/${libexecdir}/crio
-    install ${S}/src/import/pause/pause ${D}/${libexecdir}/crio
-
-    install -m 0644 ${S}/src/import/contrib/systemd/crio.service  ${D}${systemd_unitdir}/system/
-    install -m 0644 ${S}/src/import/contrib/systemd/crio-shutdown.service  ${D}${systemd_unitdir}/system/
-}
-
-FILES_${PN}-config = "${sysconfdir}/crio/config/*"
-FILES_${PN} += "${systemd_unitdir}/system/*"
-FILES_${PN} += "/usr/local/bin/*"
-
-INHIBIT_PACKAGE_STRIP = "1"
-INSANE_SKIP_${PN} += "ldflags already-stripped"
diff --git a/import-layers/meta-virtualization/recipes-containers/cri-o/files/0001-Makefile-force-symlinks.patch b/import-layers/meta-virtualization/recipes-containers/cri-o/files/0001-Makefile-force-symlinks.patch
deleted file mode 100644
index 320eac8..0000000
--- a/import-layers/meta-virtualization/recipes-containers/cri-o/files/0001-Makefile-force-symlinks.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From a4433978bf324525b4c260b0e9615ae27271fe55 Mon Sep 17 00:00:00 2001
-From: Bruce Ashfield <bruce.ashfield@windriver.com>
-Date: Wed, 20 Sep 2017 12:05:40 -0400
-Subject: [PATCH] Makefile: force symlinks
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/import/Makefile b/src/import/Makefile
-index e3e5050bb7f6..4ad3fb7ff0a9 100644
---- a/src/import/Makefile
-+++ b/src/import/Makefile
-@@ -53,7 +53,7 @@ help:
- .gopathok:
- ifeq ("$(wildcard $(GOPKGDIR))","")
- 	mkdir -p "$(GOPKGBASEDIR)"
--	ln -s "$(CURDIR)" "$(GOPKGBASEDIR)"
-+	ln -sf "$(CURDIR)" "$(GOPKGBASEDIR)"
- endif
- 	touch "$(GOPATH)/.gopathok"
- 
--- 
-2.4.0.53.g8440f74
-
diff --git a/import-layers/meta-virtualization/recipes-containers/cri-o/files/crio.conf b/import-layers/meta-virtualization/recipes-containers/cri-o/files/crio.conf
deleted file mode 100644
index 51d7f40..0000000
--- a/import-layers/meta-virtualization/recipes-containers/cri-o/files/crio.conf
+++ /dev/null
@@ -1,147 +0,0 @@
-# generated via: crio --config="" config --default
-
-# The "crio" table contains all of the server options.
-[crio]
-
-# root is a path to the "root directory". CRIO stores all of its data,
-# including container images, in this directory.
-root = "/var/lib/containers/storage"
-
-# run is a path to the "run directory". CRIO stores all of its state
-# in this directory.
-runroot = "/var/run/containers/storage"
-
-# storage_driver select which storage driver is used to manage storage
-# of images and containers.
-storage_driver = ""
-
-# storage_option is used to pass an option to the storage driver.
-storage_option = [
-]
-
-# The "crio.api" table contains settings for the kubelet/gRPC
-# interface (which is also used by crioctl).
-[crio.api]
-
-# listen is the path to the AF_LOCAL socket on which crio will listen.
-listen = "/var/run/crio.sock"
-
-# stream_address is the IP address on which the stream server will listen
-stream_address = ""
-
-# stream_port is the port on which the stream server will listen
-stream_port = "10010"
-
-# file_locking is whether file-based locking will be used instead of
-# in-memory locking
-file_locking = true
-
-# The "crio.runtime" table contains settings pertaining to the OCI
-# runtime used and options for how to set up and manage the OCI runtime.
-[crio.runtime]
-
-# runtime is the OCI compatible runtime used for trusted container workloads.
-# This is a mandatory setting as this runtime will be the default one
-# and will also be used for untrusted container workloads if
-# runtime_untrusted_workload is not set.
-runtime = "/usr/bin/runc"
-
-# runtime_untrusted_workload is the OCI compatible runtime used for untrusted
-# container workloads. This is an optional setting, except if
-# default_container_trust is set to "untrusted".
-runtime_untrusted_workload = ""
-
-# default_workload_trust is the default level of trust crio puts in container
-# workloads. It can either be "trusted" or "untrusted", and the default
-# is "trusted".
-# Containers can be run through different container runtimes, depending on
-# the trust hints we receive from kubelet:
-# - If kubelet tags a container workload as untrusted, crio will try first to
-# run it through the untrusted container workload runtime. If it is not set,
-# crio will use the trusted runtime.
-# - If kubelet does not provide any information about the container workload trust
-# level, the selected runtime will depend on the default_container_trust setting.
-# If it is set to "untrusted", then all containers except for the host privileged
-# ones, will be run by the runtime_untrusted_workload runtime. Host privileged
-# containers are by definition trusted and will always use the trusted container
-# runtime. If default_container_trust is set to "trusted", crio will use the trusted
-# container runtime for all containers.
-default_workload_trust = "trusted"
-
-# conmon is the path to conmon binary, used for managing the runtime.
-conmon = "/usr/libexec/crio/conmon"
-
-# conmon_env is the environment variable list for conmon process,
-# used for passing necessary environment variable to conmon or runtime.
-conmon_env = [
-	"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
-]
-
-# selinux indicates whether or not SELinux will be used for pod
-# separation on the host. If you enable this flag, SELinux must be running
-# on the host.
-selinux = false
-
-# seccomp_profile is the seccomp json profile path which is used as the
-# default for the runtime.
-seccomp_profile = "/etc/crio/seccomp.json"
-
-# apparmor_profile is the apparmor profile name which is used as the
-# default for the runtime.
-apparmor_profile = "crio-default"
-
-# cgroup_manager is the cgroup management implementation to be used
-# for the runtime.
-cgroup_manager = "cgroupfs"
-
-# hooks_dir_path is the oci hooks directory for automatically executed hooks
-hooks_dir_path = "/usr/share/containers/oci/hooks.d"
-
-# pids_limit is the number of processes allowed in a container
-pids_limit = 1024
-
-# The "crio.image" table contains settings pertaining to the
-# management of OCI images.
-[crio.image]
-
-# default_transport is the prefix we try prepending to an image name if the
-# image name as we receive it can't be parsed as a valid source reference
-default_transport = "docker://"
-
-# pause_image is the image which we use to instantiate infra containers.
-pause_image = "kubernetes/pause"
-
-# pause_command is the command to run in a pause_image to have a container just
-# sit there.  If the image contains the necessary information, this value need
-# not be specified.
-pause_command = "/pause"
-
-# signature_policy is the name of the file which decides what sort of policy we
-# use when deciding whether or not to trust an image that we've pulled.
-# Outside of testing situations, it is strongly advised that this be left
-# unspecified so that the default system-wide policy will be used.
-signature_policy = ""
-
-# image_volumes controls how image volumes are handled.
-# The valid values are mkdir and ignore.
-image_volumes = "mkdir"
-
-# insecure_registries is used to skip TLS verification when pulling images.
-insecure_registries = [
-]
-
-# registries is used to specify a comma separated list of registries to be used
-# when pulling an unqualified image (e.g. fedora:rawhide).
-registries = [
-]
-
-# The "crio.network" table contains settings pertaining to the
-# management of CNI plugins.
-[crio.network]
-
-# network_dir is is where CNI network configuration
-# files are stored.
-network_dir = "/etc/cni/net.d/"
-
-# plugin_dir is is where CNI plugin binaries are stored.
-plugin_dir = "/opt/cni/bin/"
diff --git a/import-layers/meta-virtualization/recipes-containers/criu/criu_git.bb b/import-layers/meta-virtualization/recipes-containers/criu/criu_git.bb
deleted file mode 100644
index 7d62f35..0000000
--- a/import-layers/meta-virtualization/recipes-containers/criu/criu_git.bb
+++ /dev/null
@@ -1,86 +0,0 @@
-SUMMARY = "CRIU"
-DESCRIPTION = "Checkpoint/Restore In Userspace, or CRIU, is a software tool for \
-Linux operating system. Using this tool, you can freeze a running application \
-(or part of it) and checkpoint it to a hard drive as a collection of files. \
-You can then use the files to restore and run the application from the point \
-it was frozen at. The distinctive feature of the CRIU project is that it is \
-mainly implemented in user space"
-HOMEPAGE = "http://criu.org"
-SECTION = "console/tools"
-LICENSE = "GPLv2"
-
-EXCLUDE_FROM_WORLD = "1"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=412de458544c1cb6a2b512cd399286e2"
-
-SRCREV = "a31c1854e10580a09621e539c3ec052b875a8e06"
-PV = "3.4+git${SRCPV}"
-
-SRC_URI = "git://github.com/xemul/criu.git;protocol=git \
-           file://0001-criu-Fix-toolchain-hardcode.patch \
-           file://0002-criu-Skip-documentation-install.patch \
-           file://0001-criu-Change-libraries-install-directory.patch \
-           file://lib-Makefile-overwrite-install-lib-to-allow-multiarc.patch \
-           file://fix-building-on-newest-glibc-and-kernel.patch \
-          "
-
-COMPATIBLE_HOST = "(x86_64|arm|aarch64).*-linux"
-
-DEPENDS += "libnl libcap protobuf-c-native protobuf-c util-linux-native libbsd libnet"
-RDEPENDS_${PN} = "bash"
-
-S = "${WORKDIR}/git"
-
-#
-# CRIU just can be built on ARMv7 and ARMv6, so the Makefile check
-# if the ARCH is ARMv7 or ARMv6.
-# ARM BSPs need set CRIU_BUILD_ARCH variable for building CRIU.
-#
-EXTRA_OEMAKE_arm += "ARCH=arm UNAME-M=${CRIU_BUILD_ARCH} WERROR=0"
-EXTRA_OEMAKE_x86-64 += "ARCH=x86 WERROR=0"
-EXTRA_OEMAKE_aarch64 += "ARCH=arm64 WERROR=0"
-
-EXTRA_OEMAKE_append += "SBINDIR=${sbindir} LIBDIR=${libdir} INCLUDEDIR=${includedir} PIEGEN=no"
-EXTRA_OEMAKE_append += "LOGROTATEDIR=${sysconfdir} SYSTEMDUNITDIR=${systemd_unitdir}"
-
-CFLAGS += "-D__USE_GNU -D_GNU_SOURCE " 
-
-CFLAGS += " -I${STAGING_INCDIR} -I${STAGING_INCDIR}/libnl3"
-
-# overide LDFLAGS to allow criu to build without: "x86_64-poky-linux-ld: unrecognized option '-Wl,-O1'"
-export LDFLAGS=""
-
-export BUILD_SYS
-export HOST_SYS
-
-inherit setuptools
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[selinux] = ",,libselinux"
-
-CLEANBROKEN = "1"
-
-do_compile_prepend() {
-    rm -rf ${S}/images/google/protobuf/descriptor.proto
-    ln -s  ${PKG_CONFIG_SYSROOT_DIR}/usr/include/google/protobuf/descriptor.proto ${S}/images/google/protobuf/descriptor.proto
-}
-
-do_compile () {
-	oe_runmake
-}
-
-do_install () {
-    export INSTALL_LIB="${libdir}/${PYTHON_DIR}/site-packages"
-    oe_runmake PREFIX=${exec_prefix} LIBDIR=${libdir} DESTDIR="${D}" install
-}
-
-FILES_${PN} += "${systemd_unitdir}/ \
-            ${libdir}/python2.7/site-packages/ \
-            ${libdir}/pycriu/ \
-            ${libdir}/crit-0.0.1-py2.7.egg-info \
-            "
-
-FILES_${PN}-staticdev += " \
-            ${libexecdir}/compel/std.lib.a \
-            ${libexecdir}/compel/fds.lib.a \
-            "
diff --git a/import-layers/meta-virtualization/recipes-containers/criu/files/0001-criu-Change-libraries-install-directory.patch b/import-layers/meta-virtualization/recipes-containers/criu/files/0001-criu-Change-libraries-install-directory.patch
deleted file mode 100644
index afb1332..0000000
--- a/import-layers/meta-virtualization/recipes-containers/criu/files/0001-criu-Change-libraries-install-directory.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From f64fbca70e6049dad3c404d871f2383d97725d2d Mon Sep 17 00:00:00 2001
-From: Mark Asselstine <mark.asselstine@windriver.com>
-Date: Fri, 8 Sep 2017 15:11:31 -0400
-Subject: [PATCH] criu: Change libraries install directory
-
-Install the libraries into /usr/lib(or /usr/lib64)
-
-Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com>
-Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
-
----
- Makefile.install | 13 -------------
- 1 file changed, 13 deletions(-)
-
-diff --git a/Makefile.install b/Makefile.install
-index 1def3cf..d020eef 100644
---- a/Makefile.install
-+++ b/Makefile.install
-@@ -9,19 +9,6 @@ LIBEXECDIR	?= $(PREFIX)/libexec
- RUNDIR		?= /run
- 
- #
--# For recent Debian/Ubuntu with multiarch support.
--DEB_HOST_MULTIARCH := $(shell dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null)
--ifneq "$(DEB_HOST_MULTIARCH)" ""
--        LIBDIR			?= $(PREFIX)/lib/$(DEB_HOST_MULTIARCH)
--else
--        #
--        # For most other systems
--        ifeq "$(shell uname -m)" "x86_64"
--                LIBDIR		?= $(PREFIX)/lib64
--        endif
--endif
--
--#
- # LIBDIR falls back to the standard path.
- LIBDIR ?= $(PREFIX)/lib
- 
diff --git a/import-layers/meta-virtualization/recipes-containers/criu/files/0001-criu-Fix-toolchain-hardcode.patch b/import-layers/meta-virtualization/recipes-containers/criu/files/0001-criu-Fix-toolchain-hardcode.patch
deleted file mode 100644
index d1f136c..0000000
--- a/import-layers/meta-virtualization/recipes-containers/criu/files/0001-criu-Fix-toolchain-hardcode.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From c005b7a4874f55df687ff22bc425551775581421 Mon Sep 17 00:00:00 2001
-From: Mark Asselstine <mark.asselstine@windriver.com>
-Date: Fri, 8 Sep 2017 15:02:14 -0400
-Subject: [PATCH] criu: Fix toolchain hardcode
-
-Replace ":=" to "?=" so that the toolchain used by bitbake build system will
-be taken.
-
-Signed-off-by: Yang Shi <yang.shi@windriver.com>
-Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com>
-Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
-
----
- Makefile                       |  2 +-
- scripts/nmk/scripts/include.mk |  2 +-
- scripts/nmk/scripts/tools.mk   | 40 ++++++++++++++++++++--------------------
- 3 files changed, 22 insertions(+), 22 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index f2583a2..d7f51e5 100644
---- a/Makefile
-+++ b/Makefile
-@@ -17,7 +17,7 @@ ifeq ($(origin HOSTCFLAGS), undefined)
-         HOSTCFLAGS := $(CFLAGS) $(USERCFLAGS)
- endif
- 
--UNAME-M := $(shell uname -m)
-+UNAME-M ?= $(shell uname -m)
- 
- #
- # Supported Architectures
-diff --git a/scripts/nmk/scripts/include.mk b/scripts/nmk/scripts/include.mk
-index 04ccb3a..0d63bc7 100644
---- a/scripts/nmk/scripts/include.mk
-+++ b/scripts/nmk/scripts/include.mk
-@@ -20,7 +20,7 @@ SUBARCH := $(shell uname -m | sed       \
-                 -e s/aarch64.*/aarch64/)
- 
- ARCH		?= $(SUBARCH)
--SRCARCH 	:= $(ARCH)
-+SRCARCH 	?= $(ARCH)
- 
- export SUBARCH ARCH SRCARCH
- 
-diff --git a/scripts/nmk/scripts/tools.mk b/scripts/nmk/scripts/tools.mk
-index 56dba84..1698821 100644
---- a/scripts/nmk/scripts/tools.mk
-+++ b/scripts/nmk/scripts/tools.mk
-@@ -2,30 +2,30 @@ ifndef ____nmk_defined__tools
- 
- #
- # System tools shorthands
--RM		:= rm -f
-+RM		?= rm -f
- HOSTLD		?= ld
--LD		:= $(CROSS_COMPILE)$(HOSTLD)
-+LD		?= $(CROSS_COMPILE)$(HOSTLD)
- HOSTCC		?= gcc
--CC		:= $(CROSS_COMPILE)$(HOSTCC)
--CPP		:= $(CC) -E
--AS		:= $(CROSS_COMPILE)as
--AR		:= $(CROSS_COMPILE)ar
--STRIP		:= $(CROSS_COMPILE)strip
--OBJCOPY		:= $(CROSS_COMPILE)objcopy
--OBJDUMP		:= $(CROSS_COMPILE)objdump
--NM		:= $(CROSS_COMPILE)nm
--MAKE		:= make
--MKDIR		:= mkdir -p
--AWK		:= awk
--PERL		:= perl
--PYTHON		:= python
--FIND		:= find
--SH		:= $(shell if [ -x "$$BASH" ]; then echo $$BASH;        \
-+CC		?= $(CROSS_COMPILE)$(HOSTCC)
-+CPP		?= $(CC) -E
-+AS		?= $(CROSS_COMPILE)as
-+AR		?= $(CROSS_COMPILE)ar
-+STRIP		?= $(CROSS_COMPILE)strip
-+OBJCOPY		?= $(CROSS_COMPILE)objcopy
-+OBJDUMP		?= $(CROSS_COMPILE)objdump
-+NM		?= $(CROSS_COMPILE)nm
-+MAKE		?= make
-+MKDIR		?= mkdir -p
-+AWK		?= awk
-+PERL		?= perl
-+PYTHON		?= python
-+FIND		?= find
-+SH		?= $(shell if [ -x "$$BASH" ]; then echo $$BASH;        \
-                         else if [ -x /bin/bash ]; then echo /bin/bash;  \
-                         else echo sh; fi ; fi)
--CSCOPE		:= cscope
--ETAGS		:= etags
--CTAGS		:= ctags
-+CSCOPE		?= cscope
-+ETAGS		?= etags
-+CTAGS		?= ctags
- 
- export RM HOSTLD LD HOSTCC CC CPP AS AR STRIP OBJCOPY OBJDUMP
- export NM SH MAKE MKDIR AWK PERL PYTHON SH CSCOPE
diff --git a/import-layers/meta-virtualization/recipes-containers/criu/files/0002-criu-Skip-documentation-install.patch b/import-layers/meta-virtualization/recipes-containers/criu/files/0002-criu-Skip-documentation-install.patch
deleted file mode 100644
index af45db7..0000000
--- a/import-layers/meta-virtualization/recipes-containers/criu/files/0002-criu-Skip-documentation-install.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 45d74ae8a314c481398ba91a3697ffbd074cd98b Mon Sep 17 00:00:00 2001
-From: Jianchuan Wang <jianchuan.wang@windriver.com>
-Date: Tue, 16 Aug 2016 09:42:24 +0800
-Subject: [PATCH] criu: Skip documentation install
-
-asciidoc is needed to generate CRIU documentation, so skip it in install.
-
-Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com>
-
----
- Makefile.install | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.install b/Makefile.install
-index 3987bcc..1def3cf 100644
---- a/Makefile.install
-+++ b/Makefile.install
-@@ -29,7 +29,7 @@ export PREFIX BINDIR SBINDIR MANDIR RUNDIR
- export LIBDIR INCLUDEDIR LIBEXECDIR
- 
- install-man:
--	$(Q) $(MAKE) -C Documentation install
-+#	$(Q) $(MAKE) -C Documentation install
- .PHONY: install-man
- 
- install-lib: lib
diff --git a/import-layers/meta-virtualization/recipes-containers/criu/files/fix-building-on-newest-glibc-and-kernel.patch b/import-layers/meta-virtualization/recipes-containers/criu/files/fix-building-on-newest-glibc-and-kernel.patch
deleted file mode 100644
index 9361adc..0000000
--- a/import-layers/meta-virtualization/recipes-containers/criu/files/fix-building-on-newest-glibc-and-kernel.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From b59947007362b53e9f41f1e5a33071dedf1c59ac Mon Sep 17 00:00:00 2001
-From: Adrian Reber <areber@redhat.com>
-Date: Thu, 28 Sep 2017 09:13:33 +0000
-Subject: [PATCH] fix building on newest glibc and kernel
-
-On Fedora rawhide with kernel-headers-4.14.0-0.rc2.git0.1.fc28.x86_64
-glibc-devel-2.26.90-15.fc28.x86_64 criu does not build any more:
-
-In file included from /usr/include/linux/aio_abi.h:31:0,
-                 from criu/cr-check.c:24:
-/usr/include/sys/mount.h:35:3: error: expected identifier before numeric constant
-   MS_RDONLY = 1,  /* Mount read-only.  */
-   ^
-make[2]: *** [/builddir/build/BUILD/criu-3.5/scripts/nmk/scripts/build.mk:111: criu/cr-check.o] Error 1
-make[1]: *** [criu/Makefile:73: criu/built-in.o] Error 2
-make: *** [Makefile:233: criu] Error 2
-
-This simple re-ordering of includes fixes it for me.
-
-Signed-off-by: Adrian Reber <areber@redhat.com>
-Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
-
-Upstream-Status: Backport
-[https://github.com/checkpoint-restore/criu/commit/f41e386d4d40e3e26b0cfdc85a812b7edb337f1d#diff-cc847b1cc975358c6582595be92d48db]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
-
----
- criu/cr-check.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/criu/cr-check.c b/criu/cr-check.c
-index 1dd887a..93df2ab 100644
---- a/criu/cr-check.c
-+++ b/criu/cr-check.c
-@@ -21,8 +21,8 @@
- #include <netinet/in.h>
- #include <sys/prctl.h>
- #include <sched.h>
--#include <linux/aio_abi.h>
- #include <sys/mount.h>
-+#include <linux/aio_abi.h>
- 
- #include "../soccr/soccr.h"
- 
diff --git a/import-layers/meta-virtualization/recipes-containers/criu/files/lib-Makefile-overwrite-install-lib-to-allow-multiarc.patch b/import-layers/meta-virtualization/recipes-containers/criu/files/lib-Makefile-overwrite-install-lib-to-allow-multiarc.patch
deleted file mode 100644
index 59e7bcb..0000000
--- a/import-layers/meta-virtualization/recipes-containers/criu/files/lib-Makefile-overwrite-install-lib-to-allow-multiarc.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 6caf90592d61c8c45b32cb7ff76709f9326030e2 Mon Sep 17 00:00:00 2001
-From: Mark Asselstine <mark.asselstine@windriver.com>
-Date: Fri, 8 Sep 2017 15:40:49 -0400
-Subject: [PATCH] lib/Makefile: overwrite install-lib, to allow multiarch
-
-I am not sure why Yocto installs python modules in arch specific
-/usr/libXX directories but it does. Allow the recipe to pass this via
-INSTALL_LIB.
-
-Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
-
----
- lib/Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/Makefile b/lib/Makefile
-index b1bb057..06f5c5d 100644
---- a/lib/Makefile
-+++ b/lib/Makefile
-@@ -56,7 +56,7 @@ install: lib-c lib-py crit/crit lib/c/criu.pc.in
- 	$(Q) sed -e 's,@version@,$(CRIU_VERSION),' -e 's,@libdir@,$(LIBDIR),' -e 's,@includedir@,$(dir $(INCLUDEDIR)/criu/),' lib/c/criu.pc.in > lib/c/criu.pc
- 	$(Q) install -m 644 lib/c/criu.pc $(DESTDIR)$(LIBDIR)/pkgconfig
- 	$(E) "  INSTALL " crit
--	$(Q) $(PYTHON_BIN) scripts/crit-setup.py install --prefix=$(DESTDIR)$(PREFIX) --record $(CRIT_SETUP_FILES)
-+	$(Q) $(PYTHON_BIN) scripts/crit-setup.py install --prefix=$(DESTDIR)$(PREFIX) --record $(CRIT_SETUP_FILES) --install-lib=$(DESTDIR)$(INSTALL_LIB)
- .PHONY: install
- 
- uninstall:
diff --git a/import-layers/meta-virtualization/recipes-containers/docker-compose/files/0001-Allow-newer-versions-of-requests.patch b/import-layers/meta-virtualization/recipes-containers/docker-compose/files/0001-Allow-newer-versions-of-requests.patch
deleted file mode 100644
index 6fc7bb4..0000000
--- a/import-layers/meta-virtualization/recipes-containers/docker-compose/files/0001-Allow-newer-versions-of-requests.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 15cf1a31f5af8f09531bb837b92bd6ea49bd1744 Mon Sep 17 00:00:00 2001
-From: Pascal Bach <pascal.bach@siemens.com>
-Date: Wed, 13 Sep 2017 08:41:21 +0200
-Subject: [PATCH] Allow newer versions of requests
-
-docker compose has strict requirements to use requests < 2.12
-
-However it works without issues with newer versions, so this patch removes the check.
-
-Upstream-Status: Pending
-
-Signed-off-by: Pascal Bach <pascal.bach@siemens.com>
----
- setup.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/setup.py b/setup.py
-index 192a0f6..f444757 100644
---- a/setup.py
-+++ b/setup.py
-@@ -33,7 +33,7 @@ install_requires = [
-     'cached-property >= 1.2.0, < 2',
-     'docopt >= 0.6.1, < 0.7',
-     'PyYAML >= 3.10, < 4',
--    'requests >= 2.6.1, != 2.11.0, < 2.12',
-+    'requests >= 2.6.1, != 2.11.0',
-     'texttable >= 0.9.0, < 0.10',
-     'websocket-client >= 0.32.0, < 1.0',
-     'docker >= 2.5.1, < 3.0',
--- 
-2.1.4
-
diff --git a/import-layers/meta-virtualization/recipes-containers/docker-compose/python3-docker-compose_1.16.1.bb b/import-layers/meta-virtualization/recipes-containers/docker-compose/python3-docker-compose_1.16.1.bb
deleted file mode 100644
index 851c251..0000000
--- a/import-layers/meta-virtualization/recipes-containers/docker-compose/python3-docker-compose_1.16.1.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-SUMMARY = "Multi-container orchestration for Docker"
-HOMEPAGE = "https://www.docker.com/"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=435b266b3899aa8a959f17d41c56def8"
-
-SRC_URI += "file://0001-Allow-newer-versions-of-requests.patch"
-
-inherit pypi setuptools3
-
-SRC_URI[md5sum] = "8dcadf09143600fcb573b43f446c8f9a"
-SRC_URI[sha256sum] = "fb46a6a2c4d193a3ff1e4d7208eea920b629c81dc92257c87f3f93095cfb0bdf"
-
-RDEPENDS_${PN} = "\
-  ${PYTHON_PN}-cached-property \
-  ${PYTHON_PN}-certifi \
-  ${PYTHON_PN}-chardet \
-  ${PYTHON_PN}-colorama \
-  ${PYTHON_PN}-docker \
-  ${PYTHON_PN}-docker-pycreds \
-  ${PYTHON_PN}-dockerpty \
-  ${PYTHON_PN}-docopt \
-  ${PYTHON_PN}-idna \
-  ${PYTHON_PN}-jsonschema \
-  ${PYTHON_PN}-pyyaml \
-  ${PYTHON_PN}-requests \
-  ${PYTHON_PN}-six \
-  ${PYTHON_PN}-terminal \
-  ${PYTHON_PN}-texttable \
-  ${PYTHON_PN}-urllib3 \
-  ${PYTHON_PN}-websocket-client \
-  "
diff --git a/import-layers/meta-virtualization/recipes-containers/docker-distribution/docker-distribution_git.bb b/import-layers/meta-virtualization/recipes-containers/docker-distribution/docker-distribution_git.bb
deleted file mode 100644
index add5ce1..0000000
--- a/import-layers/meta-virtualization/recipes-containers/docker-distribution/docker-distribution_git.bb
+++ /dev/null
@@ -1,68 +0,0 @@
-HOMEPAGE = "http://github.com/docker/distribution"
-SUMMARY = "The Docker toolset to pack, ship, store, and deliver content"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
-
-SRCREV_distribution="48294d928ced5dd9b378f7fd7c6f5da3ff3f2c89"
-SRC_URI = "git://github.com/docker/distribution.git;branch=release/2.6;name=distribution;destsuffix=git/src/github.com/docker/distribution \
-           file://docker-registry.service \
-          "
-
-PACKAGES =+ "docker-registry"
-
-PV = "v2.6.2"
-S = "${WORKDIR}/git/src/github.com/docker/distribution"
-
-GO_IMPORT = "import"
-
-inherit goarch
-inherit go
-
-# This disables seccomp and apparmor, which are on by default in the
-# go package. 
-EXTRA_OEMAKE="BUILDTAGS=''"
-
-do_compile() {
-	export GOARCH="${TARGET_GOARCH}"
-	export GOPATH="${WORKDIR}/git/"
-	export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go"
-	# Pass the needed cflags/ldflags so that cgo
-	# can find the needed headers files and libraries
-	export CGO_ENABLED="1"
-	export CFLAGS=""
-	export LDFLAGS=""
-	export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-	export GO_GCFLAGS=""
-	export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-
-	cd ${S}
-
-	oe_runmake binaries
-}
-
-do_install() {
-	install -d ${D}/${sbindir}
-	install ${S}/bin/registry ${D}/${sbindir}
-
-	if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-	    install -d ${D}${systemd_unitdir}/system
-	    install -m 644 ${WORKDIR}/docker-registry.service ${D}/${systemd_unitdir}/system
-	fi
-
-	install -d ${D}/${sysconfdir}/docker-distribution/registry/
-	install ${S}/cmd/registry/config-example.yml ${D}/${sysconfdir}/docker-distribution/registry/config.yml
-
-	# storage for the registry containers
-	install -d ${D}/${localstatedir}/lib/registry/
-}
-
-INSANE_SKIP_${PN} += "ldflags already-stripped"
-INSANE_SKIP_docker-registry += "ldflags already-stripped"
-
-FILES_docker-registry = "${sbindir}/*"
-FILES_docker-registry += "${systemd_unitdir}/system/docker-registry.service"
-FILES_docker-registry += "${sysconfdir}/docker-distribution/*"
-FILES_docker-registry += "${localstatedir}/lib/registry/"
-
-SYSTEMD_SERVICE_docker-registry = "${@bb.utils.contains('DISTRO_FEATURES','systemd','docker-registry.service','',d)}"
-SYSTEMD_AUTO_ENABLE_docker-registry = "enable"
diff --git a/import-layers/meta-virtualization/recipes-containers/docker-distribution/files/docker-registry.service b/import-layers/meta-virtualization/recipes-containers/docker-distribution/files/docker-registry.service
deleted file mode 100644
index 15460c7..0000000
--- a/import-layers/meta-virtualization/recipes-containers/docker-distribution/files/docker-registry.service
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=v2 Registry server for Docker
-
-[Service]
-Type=simple
-ExecStart=/usr/sbin/registry serve /etc/docker-distribution/registry/config.yml
-Restart=on-failure
-
-[Install]
-WantedBy=multi-user.target
diff --git a/import-layers/meta-virtualization/recipes-containers/docker/docker-ce_git.bb b/import-layers/meta-virtualization/recipes-containers/docker/docker-ce_git.bb
deleted file mode 100644
index 0dfda5f..0000000
--- a/import-layers/meta-virtualization/recipes-containers/docker/docker-ce_git.bb
+++ /dev/null
@@ -1,172 +0,0 @@
-HOMEPAGE = "http://www.docker.com"
-SUMMARY = "Linux container runtime"
-DESCRIPTION = "Linux container runtime \
- Docker complements kernel namespacing with a high-level API which \
- operates at the process level. It runs unix processes with strong \
- guarantees of isolation and repeatability across servers. \
- . \
- Docker is a great building block for automating distributed systems: \
- large-scale web deployments, database clusters, continuous deployment \
- systems, private PaaS, service-oriented architectures, etc. \
- . \
- This package contains the daemon and client. Using docker.io is \
- officially supported on x86_64 and arm (32-bit) hosts. \
- Other architectures are considered experimental. \
- . \
- Also, note that kernel version 3.10 or above is required for proper \
- operation of the daemon process, and that any lower versions may have \
- subtle and/or glaring issues. \
- "
-
-SRCREV_docker = "0520e243029d1361649afb0706a1c5d9a1c012b8"
-SRCREV_libnetwork = "4cb38c2987c236dce03c868d99b57b1e28a4b81c"
-SRCREV_cli = "0f1bb353423e45e02315e985bd9ddebe6da18457"
-SRC_URI = "\
-	git://github.com/docker/docker-ce.git;nobranch=1;name=docker \
-	git://github.com/docker/libnetwork.git;branch=master;name=libnetwork;destsuffix=libnetwork \
-	git://github.com/docker/cli;branch=master;name=cli;destsuffix=cli \
-	file://docker.init \
-	file://hi.Dockerfile \
-	"
-
-# Apache-2.0 for docker
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://src/import/components/engine/LICENSE;md5=9740d093a080530b5c5c6573df9af45a"
-
-GO_IMPORT = "import"
-
-S = "${WORKDIR}/git"
-
-DOCKER_VERSION = "18.03.0-ce"
-PV = "${DOCKER_VERSION}+git${SRCREV_docker}"
-
-DEPENDS = " \
-    go-cli \
-    go-pty \
-    go-context \
-    go-mux \
-    go-patricia \
-    go-logrus \
-    go-fsnotify \
-    go-dbus \
-    go-capability \
-    go-systemd \
-    btrfs-tools \
-    sqlite3 \
-    go-distribution \
-    compose-file \
-    go-connections \
-    notary \
-    grpc-go \
-    libtool-native \
-    libtool \
-    "
-
-PACKAGES =+ "${PN}-contrib"
-
-DEPENDS_append_class-target = " lvm2"
-RDEPENDS_${PN} = "util-linux iptables \
-                  ${@bb.utils.contains('DISTRO_FEATURES', 'aufs', 'aufs-util', '', d)} \
-                  ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'cgroup-lite', d)} \
-                 "
-RDEPENDS_${PN} += "virtual/containerd virtual/runc"
-
-RRECOMMENDS_${PN} = "kernel-module-dm-thin-pool kernel-module-nf-nat"
-RSUGGESTS_${PN} = "lxc rt-tests"
-DOCKER_PKG="github.com/docker/docker"
-
-inherit systemd update-rc.d
-inherit go
-inherit goarch
-inherit pkgconfig
-
-do_configure[noexec] = "1"
-
-do_compile() {
-	# Set GOPATH. See 'PACKAGERS.md'. Don't rely on
-	# docker to download its dependencies but rather
-	# use dependencies packaged independently.
-	cd ${S}/src/import
-	rm -rf .gopath
-	mkdir -p .gopath/src/"$(dirname "${DOCKER_PKG}")"
-	ln -sf ../../../../components/engine/ .gopath/src/"${DOCKER_PKG}"
-
-	mkdir -p .gopath/src/github.com/docker
-	ln -sf ${WORKDIR}/libnetwork .gopath/src/github.com/docker/libnetwork
-	ln -sf ${WORKDIR}/cli .gopath/src/github.com/docker/cli
-
-	export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go"
-	export GOROOT="${STAGING_DIR_NATIVE}/${nonarch_libdir}/${HOST_SYS}/go"
-
-	# Pass the needed cflags/ldflags so that cgo
-	# can find the needed headers files and libraries
-	export GOARCH=${TARGET_GOARCH}
-	export CGO_ENABLED="1"
-	export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-	export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-	# in order to exclude devicemapper and btrfs - https://github.com/docker/docker/issues/14056
-	export DOCKER_BUILDTAGS='exclude_graphdriver_btrfs exclude_graphdriver_devicemapper'
-
-	export DISABLE_WARN_OUTSIDE_CONTAINER=1
-
-	cd ${S}/src/import/components/engine
-
-	# this is the unsupported built structure
-	# that doesn't rely on an existing docker
-	# to build this:
-	VERSION="${DOCKER_VERSION}" DOCKER_GITCOMMIT="${SRCREV_docker}" ./hack/make.sh dynbinary
-
-	# build the proxy
-	go build -o ${S}/src/import/docker-proxy github.com/docker/libnetwork/cmd/proxy
-
-        # build the cli
-	##go build -o ${S}/src/import/bundles/latest/dynbinary-client/docker github.com/docker/cli/cmd/docker
-	cd ${S}/src/import/.gopath/src/github.com/docker/cli
-	export CFLAGS=""
-	export LDFLAGS=""
-	export DOCKER_VERSION=${DOCKER_VERSION}
-	VERSION="${DOCKER_VERSION}" DOCKER_GITCOMMIT="${SRCREV_docker}" make dynbinary
-}
-
-SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${PN}','',d)}"
-SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','docker.service','',d)}"
-
-SYSTEMD_AUTO_ENABLE_${PN} = "enable"
-
-INITSCRIPT_PACKAGES += "${@bb.utils.contains('DISTRO_FEATURES','sysvinit','${PN}','',d)}"
-INITSCRIPT_NAME_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','sysvinit','docker.init','',d)}"
-INITSCRIPT_PARAMS_${PN} = "defaults"
-
-do_install() {
-	mkdir -p ${D}/${bindir}
-	cp ${WORKDIR}/cli/build/docker ${D}/${bindir}/docker
-	cp ${S}/src/import/components/engine/bundles/latest/dynbinary-daemon/dockerd ${D}/${bindir}/dockerd
-	cp ${S}/src/import/docker-proxy ${D}/${bindir}/docker-proxy
-
-	if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-		install -d ${D}${systemd_unitdir}/system
-		install -m 644 ${S}/src/import/components/engine/contrib/init/systemd/docker.* ${D}/${systemd_unitdir}/system
-		# replaces one copied from above with one that uses the local registry for a mirror
-		install -m 644 ${S}/src/import/components/engine/contrib/init/systemd/docker.service ${D}/${systemd_unitdir}/system
-	else
-		install -d ${D}${sysconfdir}/init.d
-		install -m 0755 ${WORKDIR}/docker.init ${D}${sysconfdir}/init.d/docker.init
-	fi
-
-	mkdir -p ${D}${datadir}/docker/
-	cp ${WORKDIR}/hi.Dockerfile ${D}${datadir}/docker/
-	install -m 0755 ${S}/src/import/components/engine/contrib/check-config.sh ${D}${datadir}/docker/
-}
-
-inherit useradd
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "-r docker"
-
-FILES_${PN} += "${systemd_unitdir}/system/*"
-
-FILES_${PN}-contrib += "${datadir}/docker/check-config.sh"
-RDEPENDS_${PN}-contrib += "bash"
-
-# DO NOT STRIP docker
-INHIBIT_PACKAGE_STRIP = "1"
-INSANE_SKIP_${PN} += "ldflags"
diff --git a/import-layers/meta-virtualization/recipes-containers/docker/docker_git.bb b/import-layers/meta-virtualization/recipes-containers/docker/docker_git.bb
deleted file mode 100644
index e055a4f..0000000
--- a/import-layers/meta-virtualization/recipes-containers/docker/docker_git.bb
+++ /dev/null
@@ -1,172 +0,0 @@
-HOMEPAGE = "http://www.docker.com"
-SUMMARY = "Linux container runtime"
-DESCRIPTION = "Linux container runtime \
- Docker complements kernel namespacing with a high-level API which \
- operates at the process level. It runs unix processes with strong \
- guarantees of isolation and repeatability across servers. \
- . \
- Docker is a great building block for automating distributed systems: \
- large-scale web deployments, database clusters, continuous deployment \
- systems, private PaaS, service-oriented architectures, etc. \
- . \
- This package contains the daemon and client. Using docker.io is \
- officially supported on x86_64 and arm (32-bit) hosts. \
- Other architectures are considered experimental. \
- . \
- Also, note that kernel version 3.10 or above is required for proper \
- operation of the daemon process, and that any lower versions may have \
- subtle and/or glaring issues. \
- "
-
-SRCREV_docker = "708b068d3095c6a6be939eb2da78c921d2e945e2"
-SRCREV_libnetwork = "4cb38c2987c236dce03c868d99b57b1e28a4b81c"
-SRCREV_cli = "0f1bb353423e45e02315e985bd9ddebe6da18457"
-SRC_URI = "\
-	git://github.com/moby/moby.git;nobranch=1;name=docker \
-	git://github.com/docker/libnetwork.git;branch=master;name=libnetwork;destsuffix=git/libnetwork \
-	git://github.com/docker/cli;branch=master;name=cli;destsuffix=git/cli \
-	file://docker.init \
-	file://hi.Dockerfile \
-        file://0001-libnetwork-use-GO-instead-of-go.patch \
-	"
-
-# Apache-2.0 for docker
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=9740d093a080530b5c5c6573df9af45a"
-
-GO_IMPORT = "import"
-
-S = "${WORKDIR}/git"
-
-DOCKER_VERSION = "18.03.0"
-PV = "${DOCKER_VERSION}+git${SRCREV_docker}"
-
-DEPENDS = " \
-    go-cli \
-    go-pty \
-    go-context \
-    go-mux \
-    go-patricia \
-    go-logrus \
-    go-fsnotify \
-    go-dbus \
-    go-capability \
-    go-systemd \
-    btrfs-tools \
-    sqlite3 \
-    go-distribution \
-    compose-file \
-    go-connections \
-    notary \
-    grpc-go \
-    libtool \
-    "
-
-PACKAGES =+ "${PN}-contrib"
-
-DEPENDS_append_class-target = " lvm2"
-RDEPENDS_${PN} = "util-linux iptables \
-                  ${@bb.utils.contains('DISTRO_FEATURES', 'aufs', 'aufs-util', '', d)} \
-                  ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'cgroup-lite', d)} \
-                 "
-RDEPENDS_${PN} += "virtual/containerd virtual/runc"
-
-RRECOMMENDS_${PN} = "kernel-module-dm-thin-pool kernel-module-nf-nat"
-RSUGGESTS_${PN} = "lxc rt-tests"
-DOCKER_PKG="github.com/docker/docker"
-
-inherit systemd update-rc.d
-inherit go
-inherit goarch
-inherit pkgconfig
-
-do_configure[noexec] = "1"
-
-do_compile() {
-	# Set GOPATH. See 'PACKAGERS.md'. Don't rely on
-	# docker to download its dependencies but rather
-	# use dependencies packaged independently.
-	cd ${S}/src/import
-	rm -rf .gopath
-	mkdir -p .gopath/src/"$(dirname "${DOCKER_PKG}")"
-	ln -sf ../../../.. .gopath/src/"${DOCKER_PKG}"
-
-	mkdir -p .gopath/src/github.com/docker
-	ln -sf ${WORKDIR}/git/libnetwork .gopath/src/github.com/docker/libnetwork
-	ln -sf ${WORKDIR}/git/cli .gopath/src/github.com/docker/cli
-
-	export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go"
-	export GOROOT="${STAGING_DIR_NATIVE}/${nonarch_libdir}/${HOST_SYS}/go"
-
-	# Pass the needed cflags/ldflags so that cgo
-	# can find the needed headers files and libraries
-	export GOARCH=${TARGET_GOARCH}
-	export CGO_ENABLED="1"
-	export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-	export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-	# in order to exclude devicemapper and btrfs - https://github.com/docker/docker/issues/14056
-	export DOCKER_BUILDTAGS='exclude_graphdriver_btrfs exclude_graphdriver_devicemapper'
-
-	export DISABLE_WARN_OUTSIDE_CONTAINER=1
-
-	cd ${S}/src/import/
-
-	# this is the unsupported built structure
-	# that doesn't rely on an existing docker
-	# to build this:
-	VERSION="${DOCKER_VERSION}" DOCKER_GITCOMMIT="${SRCREV_docker}" ./hack/make.sh dynbinary
-
-        # build the cli
-	cd ${S}/src/import/.gopath/src/github.com/docker/cli
-	export CFLAGS=""
-	export LDFLAGS=""
-	export DOCKER_VERSION=${DOCKER_VERSION}
-	VERSION="${DOCKER_VERSION}" DOCKER_GITCOMMIT="${SRCREV_docker}" make dynbinary
-
-	# build the proxy
-	cd ${S}/src/import/.gopath/src/github.com/docker/libnetwork
-	oe_runmake cross-local
-}
-
-SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${PN}','',d)}"
-SYSTEMD_SERVICE_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','systemd','docker.service','',d)}"
-
-SYSTEMD_AUTO_ENABLE_${PN} = "enable"
-
-INITSCRIPT_PACKAGES += "${@bb.utils.contains('DISTRO_FEATURES','sysvinit','${PN}','',d)}"
-INITSCRIPT_NAME_${PN} = "${@bb.utils.contains('DISTRO_FEATURES','sysvinit','docker.init','',d)}"
-INITSCRIPT_PARAMS_${PN} = "defaults"
-
-do_install() {
-	mkdir -p ${D}/${bindir}
-	cp ${WORKDIR}/git/cli/build/docker ${D}/${bindir}/docker
-	cp ${S}/src/import/bundles/latest/dynbinary-daemon/dockerd ${D}/${bindir}/dockerd
-	cp ${WORKDIR}/git/libnetwork/bin/docker-proxy* ${D}/${bindir}/docker-proxy
-
-	if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-		install -d ${D}${systemd_unitdir}/system
-		install -m 644 ${S}/src/import/contrib/init/systemd/docker.* ${D}/${systemd_unitdir}/system
-		# replaces one copied from above with one that uses the local registry for a mirror
-		install -m 644 ${S}/src/import/contrib/init/systemd/docker.service ${D}/${systemd_unitdir}/system
-	else
-		install -d ${D}${sysconfdir}/init.d
-		install -m 0755 ${WORKDIR}/docker.init ${D}${sysconfdir}/init.d/docker.init
-	fi
-
-	mkdir -p ${D}${datadir}/docker/
-	cp ${WORKDIR}/hi.Dockerfile ${D}${datadir}/docker/
-	install -m 0755 ${S}/src/import/contrib/check-config.sh ${D}${datadir}/docker/
-}
-
-inherit useradd
-USERADD_PACKAGES = "${PN}"
-GROUPADD_PARAM_${PN} = "-r docker"
-
-FILES_${PN} += "${systemd_unitdir}/system/*"
-
-FILES_${PN}-contrib += "${datadir}/docker/check-config.sh"
-RDEPENDS_${PN}-contrib += "bash"
-
-# DO NOT STRIP docker
-INHIBIT_PACKAGE_STRIP = "1"
-INSANE_SKIP_${PN} += "ldflags"
diff --git a/import-layers/meta-virtualization/recipes-containers/docker/files/0001-libnetwork-use-GO-instead-of-go.patch b/import-layers/meta-virtualization/recipes-containers/docker/files/0001-libnetwork-use-GO-instead-of-go.patch
deleted file mode 100644
index 61ddd26..0000000
--- a/import-layers/meta-virtualization/recipes-containers/docker/files/0001-libnetwork-use-GO-instead-of-go.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 04c07804930faad708218a3134c81de06a9c742a Mon Sep 17 00:00:00 2001
-From: Bruce Ashfield <bruce.ashfield@windriver.com>
-Date: Fri, 6 Apr 2018 23:58:22 -0400
-Subject: [PATCH] libnetwork: use $(GO) instead of go
-
-Ensure that the libnetwork makefile uses the go cross flags and
-utilities.
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
----
- Makefile | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/libnetwork/Makefile b/libnetwork/Makefile
-index 17060bc212c7..90cc7a72ef45 100644
---- a/libnetwork/Makefile
-+++ b/libnetwork/Makefile
-@@ -26,9 +26,9 @@ build: ${build_image}.created
- build-local:
- 	@echo "🐳 $@"
- 	@mkdir -p "bin"
--	go build -tags experimental -o "bin/dnet" ./cmd/dnet
--	go build -o "bin/docker-proxy" ./cmd/proxy
--	GOOS=linux go build -o "./cmd/diagnostic/diagnosticClient" ./cmd/diagnostic
-+	$(GO) build -tags experimental -o "bin/dnet" ./cmd/dnet
-+	$(GO) build -o "bin/proxy" ./cmd/proxy
-+	GOOS=linux $(GO) build -o "./cmd/diagnostic/diagnosticClient" ./cmd/diagnostic
- 
- clean:
- 	@echo "🐳 $@"
-@@ -51,8 +51,8 @@ cross: ${build_image}.created
- 
- cross-local:
- 	@echo "🐳 $@"
--	go build -o "bin/dnet-$$GOOS-$$GOARCH" ./cmd/dnet
--	go build -o "bin/docker-proxy-$$GOOS-$$GOARCH" ./cmd/proxy
-+	@$(GO) build -linkshared $(GOBUILDFLAGS) -o "bin/docker-proxy-$$GOOS-$$GOARCH" ./cmd/proxy
-+	@$(GO) build -linkshared $(GOBUILDFLAGS) -o "bin/dnet-$$GOOS-$$GOARCH" ./cmd/dnet
- 
- check: ${build_image}.created
- 	@${docker} ./wrapmake.sh check-local
-@@ -68,7 +68,7 @@ run-tests:
- 	if ls $$dir/*.go &> /dev/null; then \
- 		pushd . &> /dev/null ; \
- 		cd $$dir ; \
--		go test ${INSIDECONTAINER} -test.parallel 5 -test.v -covermode=count -coverprofile=./profile.tmp ; \
-+		$(GO) test ${INSIDECONTAINER} -test.parallel 5 -test.v -covermode=count -coverprofile=./profile.tmp ; \
- 		ret=$$? ;\
- 		if [ $$ret -ne 0 ]; then exit $$ret; fi ;\
- 		popd &> /dev/null; \
-@@ -94,7 +94,7 @@ coveralls:
- # Depends on binaries because vet will silently fail if it can not load compiled imports
- vet: ## run go vet
- 	@echo "🐳 $@"
--	@test -z "$$(go vet ${PACKAGES} 2>&1 | grep -v 'constant [0-9]* not a string in call to Errorf' | egrep -v '(timestamp_test.go|duration_test.go|exit status 1)' | tee /dev/stderr)"
-+	@test -z "$$($(GO) vet ${PACKAGES} 2>&1 | grep -v 'constant [0-9]* not a string in call to Errorf' | egrep -v '(timestamp_test.go|duration_test.go|exit status 1)' | tee /dev/stderr)"
- 
- misspell:
- 	@echo "🐳 $@"
--- 
-2.4.0.53.g8440f74
-
diff --git a/import-layers/meta-virtualization/recipes-containers/docker/files/docker-registry.service b/import-layers/meta-virtualization/recipes-containers/docker/files/docker-registry.service
deleted file mode 100644
index 7b4bc46..0000000
--- a/import-layers/meta-virtualization/recipes-containers/docker/files/docker-registry.service
+++ /dev/null
@@ -1,19 +0,0 @@
-[Unit]
-Description=docker private registry service
-After=docker.service
-
-[Service]
-ExecStartPre=-/usr/bin/docker kill registry
-ExecStartPre=-/usr/bin/docker rm registry
-ExecStart=/usr/bin/docker run --name registry -v /mirror/registry:/tmp/ -p 5000:5000 \
-                          -e "STANDALONE=true" \
-                          -e "MIRROR_SOURCE=https://registry-1.docker.io" \
-                          -e "MIRROR_SOURCE_INDEX=https://index.docker.io" \
-                          -e "SETTINGS_FLAVOR=local" \
-                          registry
-ExecStop=-/usr/bin/docker stop registry
-Restart=always
-RestartSec=10s
-
-[Install]
-WantedBy=multi-user.target
diff --git a/import-layers/meta-virtualization/recipes-containers/docker/files/docker.init b/import-layers/meta-virtualization/recipes-containers/docker/files/docker.init
deleted file mode 100644
index 2e8eb9e..0000000
--- a/import-layers/meta-virtualization/recipes-containers/docker/files/docker.init
+++ /dev/null
@@ -1,127 +0,0 @@
-#!/bin/sh
-#
-#       /etc/rc.d/init.d/docker
-#
-#       Daemon for docker.com
-#
-# chkconfig:   2345 95 95
-# description: Daemon for docker.com
-
-### BEGIN INIT INFO
-# Provides:       docker
-# Required-Start: $network cgconfig
-# Required-Stop:
-# Should-Start:
-# Should-Stop:
-# Default-Start: 2 3 4 5
-# Default-Stop:  0 1 6
-# Short-Description: start and stop docker
-# Description: Daemon for docker.com
-### END INIT INFO
-
-# Source function library.
-. /etc/init.d/functions
-
-prog="docker"
-unshare=/usr/bin/unshare
-exec="/usr/bin/$prog"
-pidfile="/var/run/$prog.pid"
-lockfile="/var/lock/subsys/$prog"
-logfile="/var/log/$prog"
-other_args="--registry-mirror=http://localhost:5000 --insecure-registry=http://localhost:5000 --raw-logs"
-
-[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
-
-start() {
-    [ -x $exec ] || exit 5
-
-    check_for_cleanup
-
-    if ! [ -f $pidfile ]; then
-        printf "Starting $prog:\t"
-        echo -e "\n$(date)\n" >> $logfile
-        "$unshare" -m -- $exec daemon $other_args &>> $logfile &
-        pid=$!
-        touch $lockfile
-        # wait up to 10 seconds for the pidfile to exist.  see
-        # https://github.com/docker/docker/issues/5359
-        tries=0
-        while [ ! -f $pidfile -a $tries -lt 10 ]; do
-            sleep 1
-            tries=$((tries + 1))
-        done
-        success
-        echo
-    else
-        failure
-        echo
-        printf "$pidfile still exists...\n"
-        exit 7
-    fi
-}
-
-stop() {
-    echo -n $"Stopping $prog: "
-    killproc $prog
-    retval=$?
-    echo
-    [ $retval -eq 0 ] && rm -f $lockfile
-    return $retval
-}
-
-restart() {
-    stop
-    start
-}
-
-reload() {
-    restart
-}
-
-force_reload() {
-    restart
-}
-
-rh_status() {
-    status -p $pidfile $prog
-}
-
-rh_status_q() {
-    rh_status >/dev/null 2>&1
-}
-
-
-check_for_cleanup() {
-    if [ -f ${pidfile} ]; then
-        /bin/ps -fp $(cat ${pidfile}) > /dev/null || rm ${pidfile}
-    fi
-}
-
-case "$1" in
-    start)
-        $1
-        ;;
-    stop)
-        $1
-        ;;
-    restart)
-        $1
-        ;;
-    reload)
-        $1
-        ;;
-    force-reload)
-        force_reload
-        ;;
-    status)
-        status
-        ;;
-    condrestart|try-restart)
-        restart
-        ;;
-    *)
-        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
-        exit 2
-esac
-
-exit $?
diff --git a/import-layers/meta-virtualization/recipes-containers/docker/files/docker.service b/import-layers/meta-virtualization/recipes-containers/docker/files/docker.service
deleted file mode 100644
index eaa3319..0000000
--- a/import-layers/meta-virtualization/recipes-containers/docker/files/docker.service
+++ /dev/null
@@ -1,15 +0,0 @@
-[Unit]
-Description=Docker Application Container Engine
-Documentation=http://docs.docker.com
-After=network.target docker.socket
-Requires=docker.socket
-
-[Service]
-ExecStart=/usr/bin/docker daemon -H fd:// --registry-mirror=http://localhost:5000 --insecure-registry=http://localhost:5000 --raw-logs
-MountFlags=slave
-LimitNOFILE=1048576
-LimitNPROC=1048576
-LimitCORE=infinity
-
-[Install]
-WantedBy=multi-user.target
diff --git a/import-layers/meta-virtualization/recipes-containers/docker/files/hi.Dockerfile b/import-layers/meta-virtualization/recipes-containers/docker/files/hi.Dockerfile
deleted file mode 100644
index 9af6805..0000000
--- a/import-layers/meta-virtualization/recipes-containers/docker/files/hi.Dockerfile
+++ /dev/null
@@ -1,7 +0,0 @@
-FROM debian
-
-MAINTAINER amy.fong@windriver.com
-
-RUN apt-get update && apt-get install figlet
-
-ENTRYPOINT [ "/usr/bin/figlet", "hi" ]
diff --git a/import-layers/meta-virtualization/recipes-containers/go-digest/go-digest_git.bb b/import-layers/meta-virtualization/recipes-containers/go-digest/go-digest_git.bb
deleted file mode 100644
index a2f8cd6..0000000
--- a/import-layers/meta-virtualization/recipes-containers/go-digest/go-digest_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-DESCRIPTION = "Common digest package used across the container ecosystem."
-HOMEPAGE = "https://github.com/opencontainers/go-digest.git"
-SECTION = "devel/go"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE.code;md5=9cd86830b557232ce55e2a6b47387471"
-
-SRCNAME = "go-digest"
-
-PKG_NAME = "github.com/opencontainers/${SRCNAME}"
-SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME}"
-
-SRCREV = "b6234c321f263c503268e3b205f3d9755f9d14ed"
-PV = "v1.0.0-rc0+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-# NO-OP the do compile rule because this recipe is source only.
-do_compile() {
-}
-
-do_install() {
-	install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-	for j in $(cd ${S} && find src/${PKG_NAME} -name "*.go"); do
-	    if [ ! -d ${D}${prefix}/local/go/$(dirname $j) ]; then
-	        mkdir -p ${D}${prefix}/local/go/$(dirname $j)
-	    fi
-	    cp $j ${D}${prefix}/local/go/$j
-	done
-	cp -r ${S}/src/${PKG_NAME}/LICENSE.code ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "go_digest_file_sysroot_preprocess"
-
-go_digest_file_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
-
-CLEANBROKEN = "1"
\ No newline at end of file
diff --git a/import-layers/meta-virtualization/recipes-containers/go-errors/go-errors_git.bb b/import-layers/meta-virtualization/recipes-containers/go-errors/go-errors_git.bb
deleted file mode 100644
index 3bb74a7..0000000
--- a/import-layers/meta-virtualization/recipes-containers/go-errors/go-errors_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-DESCRIPTION = "Simple error handling primitives"
-HOMEPAGE = "https://github.com/pkg/errors"
-SECTION = "devel/go"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=6fe682a02df52c6653f33bd0f7126b5a"
-
-SRCNAME = "errors"
-
-PKG_NAME = "github.com/pkg/${SRCNAME}"
-SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME}"
-
-SRCREV = "248dadf4e9068a0b3e79f02ed0a610d935de5302"
-PV = "v0.8.0+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-# NO-OP the do compile rule because this recipe is source only.
-do_compile() {
-}
-
-do_install() {
-	install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-	for j in $(cd ${S} && find src/${PKG_NAME} -name "*.go" -not -path "*/.tool/*"); do
-	    if [ ! -d ${D}${prefix}/local/go/$(dirname $j) ]; then
-	        mkdir -p ${D}${prefix}/local/go/$(dirname $j)
-	    fi
-	    cp $j ${D}${prefix}/local/go/$j
-	done
-	cp -r ${S}/src/${PKG_NAME}/LICENSE ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "go_errors_file_sysroot_preprocess"
-
-go_errors_file_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
-
-CLEANBROKEN = "1"
\ No newline at end of file
diff --git a/import-layers/meta-virtualization/recipes-containers/go-spf13-cobra/spf13-cobra_git.bb b/import-layers/meta-virtualization/recipes-containers/go-spf13-cobra/spf13-cobra_git.bb
deleted file mode 100644
index e942e4e..0000000
--- a/import-layers/meta-virtualization/recipes-containers/go-spf13-cobra/spf13-cobra_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-DESCRIPTION = "A Commander for modern Go CLI interactions"
-HOMEPAGE = "https://github.com/spf13/cobra"
-SECTION = "devel/go"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE.txt;md5=920d76114a32b0fb75b3f2718c5a91be"
-
-SRCNAME = "cobra"
-
-PKG_NAME = "github.com/spf13/${SRCNAME}"
-SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME}"
-
-SRCREV = "b5d8e8f46a2f829f755b6e33b454e25c61c935e1"
-PV = "v0.0.1+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-# NO-OP the do compile rule because this recipe is source only.
-do_compile() {
-}
-
-do_install() {
-	install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-	for j in $(cd ${S} && find src/${PKG_NAME} -name "*.go" -not -path "*/.tool/*"); do
-	    if [ ! -d ${D}${prefix}/local/go/$(dirname $j) ]; then
-	        mkdir -p ${D}${prefix}/local/go/$(dirname $j)
-	    fi
-	    cp $j ${D}${prefix}/local/go/$j
-	done
-	cp -r ${S}/src/${PKG_NAME}/LICENSE.txt ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "cobra_file_sysroot_preprocess"
-
-cobra_file_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
-
-CLEANBROKEN = "1"
\ No newline at end of file
diff --git a/import-layers/meta-virtualization/recipes-containers/go-spf13-pflag/spf13-pflag_git.bb b/import-layers/meta-virtualization/recipes-containers/go-spf13-pflag/spf13-pflag_git.bb
deleted file mode 100644
index 2fbcb43..0000000
--- a/import-layers/meta-virtualization/recipes-containers/go-spf13-pflag/spf13-pflag_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-DESCRIPTION = "Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags."
-HOMEPAGE = "https://github.com/spf13/pflag"
-SECTION = "devel/go"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=1e8b7dc8b906737639131047a590f21d"
-
-SRCNAME = "pflag"
-
-PKG_NAME = "github.com/spf13/${SRCNAME}"
-SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME}"
-
-SRCREV = "9ff6c6923cfffbcd502984b8e0c80539a94968b7"
-PV = "v1.0.0-rc4+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-# NO-OP the do compile rule because this recipe is source only.
-do_compile() {
-}
-
-do_install() {
-	install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-	for j in $(cd ${S} && find src/${PKG_NAME} -name "*.go" -not -path "*/.tool/*"); do
-	    if [ ! -d ${D}${prefix}/local/go/$(dirname $j) ]; then
-	        mkdir -p ${D}${prefix}/local/go/$(dirname $j)
-	    fi
-	    cp $j ${D}${prefix}/local/go/$j
-	done
-	cp -r ${S}/src/${PKG_NAME}/LICENSE ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "pflag_file_sysroot_preprocess"
-
-pflag_file_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
-
-CLEANBROKEN = "1"
\ No newline at end of file
diff --git a/import-layers/meta-virtualization/recipes-containers/kubernetes/kubernetes_git.bb b/import-layers/meta-virtualization/recipes-containers/kubernetes/kubernetes_git.bb
deleted file mode 100644
index 1677ff4..0000000
--- a/import-layers/meta-virtualization/recipes-containers/kubernetes/kubernetes_git.bb
+++ /dev/null
@@ -1,100 +0,0 @@
-HOMEPAGE = "git://github.com/kubernetes/kubernetes"
-SUMMARY = "Production-Grade Container Scheduling and Management"
-DESCRIPTION = "Kubernetes is an open source system for managing containerized \
-applications across multiple hosts, providing basic mechanisms for deployment, \
-maintenance, and scaling of applications. \
-"
-
-SRCREV_kubernetes = "fc32d2f3698e36b93322a3465f63a14e9f0eaead"
-SRC_URI = "git://github.com/kubernetes/kubernetes.git;nobranch=1;name=kubernetes \
-          "
-
-DEPENDS += "rsync-native \
-            coreutils-native \
-           "
-
-PACKAGES =+ "kubeadm"
-PACKAGES =+ "kubectl"
-PACKAGES =+ "kubelet"
-PACKAGES =+ "kube-proxy"
-
-ALLOW_EMPTY_${PN} = "1"
-
-# Note: we are explicitly *not* adding docker to the rdepends, since we allow
-#       backends like cri-o to be used.
-RDEPENDS_${PN} += "kubeadm \
-                   kubectl \
-                   kubelet \
-                   cni"
-
-RDEPENDS_kubeadm = "kubelet kubectl"
-RDEPENDS_kubelet = "iptables socat util-linux ethtool iproute2 ebtables iproute2-tc"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-GO_IMPORT = "import"
-
-PV = "1.10.0+git${SRCREV_kubernetes}"
-
-inherit systemd
-inherit go
-inherit goarch
-
-do_compile() {
-	export GOARCH="${TARGET_GOARCH}"
-	export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go"
-	export GOPATH="${S}/src/import:${S}/src/import/vendor"
-
-	# Pass the needed cflags/ldflags so that cgo
-	# can find the needed headers files and libraries
-	export CGO_ENABLED="1"
-	export CFLAGS=""
-	export LDFLAGS=""
-	export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-	export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-
-	# link fixups for compilation
-	rm -f ${S}/src/import/vendor/src
-	ln -sf ./ ${S}/src/import/vendor/src
-
-	export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go"
-	export GOROOT="${STAGING_DIR_NATIVE}/${nonarch_libdir}/${HOST_SYS}/go"
-
-	# Pass the needed cflags/ldflags so that cgo
-	# can find the needed headers files and libraries
-	export CGO_ENABLED="1"
-	export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-	export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-
-	cd ${S}/src/import
-	# to limit what is built, use 'WHAT', i.e. make WHAT=cmd/kubelet
-	make all
-}
-
-do_install() {
-    install -d ${D}${bindir}
-    install -d ${D}${systemd_unitdir}/system/
-    install -d ${D}${systemd_unitdir}/system/kubelet.service.d/
-
-    install -d ${D}${sysconfdir}/kubernetes/manifests/
-
-    install -m 755 -D ${S}/src/import/_output/bin/kube* ${D}/${bindir}
-
-    install -m 0644 ${S}/src/import/build/debs/kubelet.service  ${D}${systemd_unitdir}/system/
-    install -m 0644 ${S}/src/import/build/debs/10-kubeadm.conf  ${D}${systemd_unitdir}/system/kubelet.service.d/
-}
-
-SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES','systemd','kubelet','',d)}"
-SYSTEMD_SERVICE_kubelet = "${@bb.utils.contains('DISTRO_FEATURES','systemd','kubelet.service','',d)}"
-SYSTEMD_AUTO_ENABLE_kubelet = "enable"
-
-FILES_kubeadm = "${bindir}/kubeadm ${systemd_unitdir}/system/kubelet.service.d/*"
-FILES_kubectl = "${bindir}/kubectl"
-FILES_kube-proxy = "${bindir}/kube-proxy"
-FILES_kubelet = "${bindir}/kubelet ${systemd_unitdir}/system/kubelet.service ${sysconfdir}/kubernetes/manifests/"
-
-INHIBIT_PACKAGE_STRIP = "1"
-INSANE_SKIP_${PN} += "ldflags already-stripped"
-
-deltask compile_ptest_base
diff --git a/import-layers/meta-virtualization/recipes-containers/lxc/files/automake-ensure-VPATH-builds-correctly.patch b/import-layers/meta-virtualization/recipes-containers/lxc/files/automake-ensure-VPATH-builds-correctly.patch
deleted file mode 100644
index 61c0e29..0000000
--- a/import-layers/meta-virtualization/recipes-containers/lxc/files/automake-ensure-VPATH-builds-correctly.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From fe23085d9a40d6d78387d9ce8ddb65785fe8d6e5 Mon Sep 17 00:00:00 2001
-From: Bogdan Purcareata <bogdan.purcareata@freescale.com>
-Date: Thu, 2 Oct 2014 18:31:50 -0400
-Subject: [PATCH] automake: ensure VPATH builds correctly
-
-Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com>
----
- src/tests/Makefile.am |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am
-index d74c10d..6225f78 100644
---- a/src/tests/Makefile.am
-+++ b/src/tests/Makefile.am
-@@ -66,7 +66,7 @@ buildtest-TESTS: $(TESTS)
- install-ptest:
- 	install -d $(TEST_DIR)
- 	install -D ../lxc/.libs/liblxc.so $(TEST_DIR)/../lxc/liblxc.so
--	install -D ../../config/test-driver $(TEST_DIR)/../../config/test-driver
-+	install -D $(top_srcdir)/config/test-driver $(TEST_DIR)/../../config/test-driver
- 	cp Makefile $(TEST_DIR)
- 	@(for file in $(TESTS); do install $$file $(TEST_DIR);  done;)
- 	sed -i 's|^Makefile:|_Makefile:|' $(TEST_DIR)/Makefile
--- 
-1.7.10.4
-
diff --git a/import-layers/meta-virtualization/recipes-containers/lxc/files/cgroups-work-around-issue-in-gcc-7.patch b/import-layers/meta-virtualization/recipes-containers/lxc/files/cgroups-work-around-issue-in-gcc-7.patch
deleted file mode 100644
index 90740fb..0000000
--- a/import-layers/meta-virtualization/recipes-containers/lxc/files/cgroups-work-around-issue-in-gcc-7.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 58a2d817a82100d287c60c63315d81445cdba3f9 Mon Sep 17 00:00:00 2001
-From: Mark Asselstine <mark.asselstine@windriver.com>
-Date: Thu, 15 Jun 2017 15:12:08 -0400
-Subject: [PATCH] cgroups: work around issue in gcc 7
-
-This works around
-https://bugzilla.yoctoproject.org/show_bug.cgi?id=11672
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78969
-
-By removing a single cgroup entry. For the majority of usecases this
-loss of a single entry should not be an issue and once gcc 7 is fixed
-we can revert this.
-
-Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
----
- src/lxc/cgroups/cgfsng.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/lxc/cgroups/cgfsng.c b/src/lxc/cgroups/cgfsng.c
-index ebd548b..c520abd 100644
---- a/src/lxc/cgroups/cgfsng.c
-+++ b/src/lxc/cgroups/cgfsng.c
-@@ -1373,7 +1373,7 @@ static inline bool cgfsng_create(void *hdata)
- 	offset = cgname + len - 5;
- 
- again:
--	if (idx == 1000) {
-+	if (idx == 999) {
- 		ERROR("Too many conflicting cgroup names");
- 		goto out_free;
- 	}
--- 
-2.7.4
-
diff --git a/import-layers/meta-virtualization/recipes-containers/lxc/files/dnsmasq.conf b/import-layers/meta-virtualization/recipes-containers/lxc/files/dnsmasq.conf
deleted file mode 100644
index 124f7eb..0000000
--- a/import-layers/meta-virtualization/recipes-containers/lxc/files/dnsmasq.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-bind-interfaces
-except-interface=lxcbr0
diff --git a/import-layers/meta-virtualization/recipes-containers/lxc/files/logs-optionally-use-base-filenames-to-report-src-fil.patch b/import-layers/meta-virtualization/recipes-containers/lxc/files/logs-optionally-use-base-filenames-to-report-src-fil.patch
deleted file mode 100644
index 583b6f1..0000000
--- a/import-layers/meta-virtualization/recipes-containers/lxc/files/logs-optionally-use-base-filenames-to-report-src-fil.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 4729d0f4c4d1dacd150ddfd7061dda875eb94e34 Mon Sep 17 00:00:00 2001
-Message-Id: <4729d0f4c4d1dacd150ddfd7061dda875eb94e34.1443216870.git.Jim.Somerville@windriver.com>
-From: Jim Somerville <Jim.Somerville@windriver.com>
-Date: Fri, 25 Sep 2015 15:08:17 -0400
-Subject: [PATCH 1/1] logs: optionally use base filenames to report src files
-
-Problem:  Logs are nice in that they report the source file,
-routine, and line number where an issue occurs.  But the
-file is printed as the absolute filename.  Users do not
-need to see a long spew of path directory names where the package
-was built.  It just confuses things.
-
-Solution:  Optionally chop off all leading directories so that just
-the source filename ie. basename is printed.  This is done by
-setting a #ifdef LXC_LOG_USE_BASENAME check in the code.  That
-define is done via the optional --enable-log-src-basename provided
-at configure time.
-
-Using __BASE_FILE__ instead of __FILE__ did not work.  It
-refers to the file name as presented to the compile
-machinery, and that may still be the absolute pathname to
-the file.
-
-Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
----
- configure.ac  | 9 +++++++++
- src/lxc/log.h | 5 +++++
- 2 files changed, 14 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index deba90b..c1ed67b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -357,6 +357,15 @@ AM_COND_IF([ENABLE_PYTHON],
- 	PKG_CHECK_MODULES([PYTHONDEV], [python3 >= 3.2],[],[AC_MSG_ERROR([You must install python3-dev])])
- 	AC_DEFINE_UNQUOTED([ENABLE_PYTHON], 1, [Python3 is available])])
- 
-+# Enable basenames in the logs for source files
-+AC_ARG_ENABLE([log-src-basename],
-+	[AC_HELP_STRING([--enable-log-src-basename], [Use the shorter source file basename in the logs [default=no]])],
-+	[], [enable_log_src_basename=no])
-+
-+if test "x$enable_log_src_basename" = "xyes"; then
-+	AC_DEFINE([LXC_LOG_USE_BASENAME], 1, [Enabling shorter src filenames in the logs])
-+fi
-+
- # Enable dumping stack traces
- AC_ARG_ENABLE([mutex-debugging],
- 	[AC_HELP_STRING([--enable-mutex-debugging], [Makes mutexes to report error and provide stack trace [default=no]])],
-diff --git a/src/lxc/log.h b/src/lxc/log.h
-index 76bd4df..4365977 100644
---- a/src/lxc/log.h
-+++ b/src/lxc/log.h
-@@ -74,8 +74,13 @@ struct lxc_log_locinfo {
- 	int		line;
- };
- 
-+#ifdef LXC_LOG_USE_BASENAME
-+#define LXC_LOG_LOCINFO_INIT						\
-+	{ .file = (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__), .func = __func__, .line = __LINE__	}
-+#else
- #define LXC_LOG_LOCINFO_INIT						\
- 	{ .file = __FILE__, .func = __func__, .line = __LINE__	}
-+#endif
- 
- /* brief logging event object */
- struct lxc_log_event {
--- 
-1.8.3.2
-
diff --git a/import-layers/meta-virtualization/recipes-containers/lxc/files/lxc-1.0.0-disable-udhcp-from-busybox-template.patch b/import-layers/meta-virtualization/recipes-containers/lxc/files/lxc-1.0.0-disable-udhcp-from-busybox-template.patch
deleted file mode 100644
index 723be27..0000000
--- a/import-layers/meta-virtualization/recipes-containers/lxc/files/lxc-1.0.0-disable-udhcp-from-busybox-template.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From d7e07e7acb1cbad33806f49143a2a30b4468c369 Mon Sep 17 00:00:00 2001
-From: Bogdan Purcareata <bogdan.purcareata@freescale.com>
-Date: Mon, 8 Apr 2013 18:30:19 +0300
-Subject: [PATCH] lxc-0.9.0-disable-udhcp-from-busybox-template
-
----
- templates/lxc-busybox.in | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/templates/lxc-busybox.in b/templates/lxc-busybox.in
-index cb425ec..bb8c951 100644
---- a/templates/lxc-busybox.in
-+++ b/templates/lxc-busybox.in
-@@ -84,7 +84,6 @@ EOF
- #!/bin/sh
- /bin/syslogd
- /bin/mount -a
--/bin/udhcpc
- EOF
- 
-     # executable
--- 
-1.7.11.7
-
diff --git a/import-layers/meta-virtualization/recipes-containers/lxc/files/lxc-doc-upgrade-to-use-docbook-3.1-DTD.patch b/import-layers/meta-virtualization/recipes-containers/lxc/files/lxc-doc-upgrade-to-use-docbook-3.1-DTD.patch
deleted file mode 100644
index 5f9d771..0000000
--- a/import-layers/meta-virtualization/recipes-containers/lxc/files/lxc-doc-upgrade-to-use-docbook-3.1-DTD.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 4cf207ffd64c6f815e62ecbbf25b5a378e707182 Mon Sep 17 00:00:00 2001
-Message-Id: <4cf207ffd64c6f815e62ecbbf25b5a378e707182.1439319694.git.Jim.Somerville@windriver.com>
-From: Jim Somerville <Jim.Somerville@windriver.com>
-Date: Tue, 11 Aug 2015 14:05:00 -0400
-Subject: [PATCH 1/1] lxc: doc: upgrade to use docbook 3.1 DTD
-
-docbook2man fails to build the man pages in poky
-due to missing the ancient Davenport 3.0 DTD.
-Poky meta has the Oasis 3.1 version so upgrade
-to use that instead.
-
-Signed-off-by: Jim Somerville <Jim.Somerville@windriver.com>
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 4972803..2e67b5e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -179,7 +179,7 @@ AM_CONDITIONAL([ENABLE_DOCBOOK], [test "x$db2xman" != "x"])
- AM_CONDITIONAL([USE_DOCBOOK2X], [test "x$db2xman" != "xdocbook2man"])
- 
- if test "x$db2xman" = "xdocbook2man"; then
--	docdtd="\"-//Davenport//DTD DocBook V3.0//EN\""
-+	docdtd="\"-//OASIS//DTD DocBook V3.1//EN\""
- else
- 	docdtd="\"-//OASIS//DTD DocBook XML\" \"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd\""
- fi
--- 
-1.8.3.2
-
diff --git a/import-layers/meta-virtualization/recipes-containers/lxc/files/lxc-fix-B-S.patch b/import-layers/meta-virtualization/recipes-containers/lxc/files/lxc-fix-B-S.patch
deleted file mode 100644
index a776b4f..0000000
--- a/import-layers/meta-virtualization/recipes-containers/lxc/files/lxc-fix-B-S.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: lxc-2.0.0/config/init/upstart/Makefile.am
-===================================================================
---- lxc-2.0.0.orig/config/init/upstart/Makefile.am
-+++ lxc-2.0.0/config/init/upstart/Makefile.am
-@@ -3,9 +3,9 @@
- if INIT_SCRIPT_UPSTART
- install-upstart: lxc.conf lxc-instance.conf lxc-net.conf
- 	$(MKDIR_P) $(DESTDIR)$(sysconfdir)/init/
--	$(INSTALL_DATA) lxc.conf $(DESTDIR)$(sysconfdir)/init/
-+	$(INSTALL_DATA) $(srcdir)/lxc.conf $(DESTDIR)$(sysconfdir)/init/
- 	$(INSTALL_DATA) $(srcdir)/lxc-instance.conf $(DESTDIR)$(sysconfdir)/init/
--	$(INSTALL_DATA) lxc-net.conf $(DESTDIR)$(sysconfdir)/init/
-+	$(INSTALL_DATA) $(srcdir)/lxc-net.conf $(DESTDIR)$(sysconfdir)/init/
- 
- uninstall-upstart:
- 	rm -f $(DESTDIR)$(sysconfdir)/init/lxc.conf
diff --git a/import-layers/meta-virtualization/recipes-containers/lxc/files/run-ptest b/import-layers/meta-virtualization/recipes-containers/lxc/files/run-ptest
deleted file mode 100644
index 23a6256..0000000
--- a/import-layers/meta-virtualization/recipes-containers/lxc/files/run-ptest
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-make -C src/tests -k check-TESTS
-
diff --git a/import-layers/meta-virtualization/recipes-containers/lxc/files/runtest.patch b/import-layers/meta-virtualization/recipes-containers/lxc/files/runtest.patch
deleted file mode 100644
index 6572265..0000000
--- a/import-layers/meta-virtualization/recipes-containers/lxc/files/runtest.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Add install-ptest rule.
-
-Signed-off-by: Mihaela Sendrea <mihaela.sendrea@enea.com>
-Upstream-status: Pending
-
-diff -uNr a/src/tests/Makefile.am b/src/tests/Makefile.am
---- a/src/tests/Makefile.am	2014-04-07 16:25:59.246238815 +0300
-+++ b/src/tests/Makefile.am	2014-04-10 18:09:43.195772467 +0300
-@@ -54,6 +54,23 @@
- 
- endif
- 
-+TESTS = lxc-test-containertests lxc-test-locktests \
-+        lxc-test-getkeys lxc-test-lxcpath lxc-test-cgpath lxc-test-console \
-+        lxc-test-snapshot lxc-test-concurrent lxc-test-may-control \
-+        lxc-test-reboot lxc-test-list lxc-test-attach lxc-test-device-add-remove
-+
-+buildtest-TESTS: $(TESTS)
-+
-+install-ptest:
-+	install -d $(TEST_DIR)
-+	install -D ../lxc/.libs/liblxc.so $(TEST_DIR)/../lxc/liblxc.so
-+	install -D ../../config/test-driver $(TEST_DIR)/../../config/test-driver
-+	cp Makefile $(TEST_DIR)
-+	@(for file in $(TESTS); do install $$file $(TEST_DIR);  done;)
-+	sed -i 's|^Makefile:|_Makefile:|' $(TEST_DIR)/Makefile
-+	sed -i 's|^all-am:|_all-am:|' $(TEST_DIR)/Makefile
-+	sed -i -e 's|^\(.*\.log:\) \(.*EXEEXT.*\)|\1|g' $(TEST_DIR)/Makefile
-+
- EXTRA_DIST = \
- 	cgpath.c \
- 	clonetest.c \
diff --git a/import-layers/meta-virtualization/recipes-containers/lxc/lxc_2.0.8.bb b/import-layers/meta-virtualization/recipes-containers/lxc/lxc_2.0.8.bb
deleted file mode 100644
index c87b875..0000000
--- a/import-layers/meta-virtualization/recipes-containers/lxc/lxc_2.0.8.bb
+++ /dev/null
@@ -1,192 +0,0 @@
-DESCRIPTION = "lxc aims to use these new functionnalities to provide an userspace container object"
-SECTION = "console/utils"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
-DEPENDS = "libxml2 libcap"
-RDEPENDS_${PN} = " \
-		rsync \
-		gzip \
-		xz \
-		tar \
-		libcap-bin \
-		bridge-utils \
-		dnsmasq \
-		perl-module-strict \
-		perl-module-getopt-long \
-		perl-module-vars \
-		perl-module-warnings-register \
-		perl-module-exporter \
-		perl-module-constant \
-		perl-module-overload \
-		perl-module-exporter-heavy \
-		gmp \
-		libidn \
-		gnutls \
-		nettle \
-"
-
-RDEPENDS_${PN}_append_libc-glibc = " glibc-utils"
-
-RDEPENDS_${PN}-ptest += "file make gmp nettle gnutls bash"
-
-SRC_URI = "http://linuxcontainers.org/downloads/${BPN}-${PV}.tar.gz \
-	file://lxc-1.0.0-disable-udhcp-from-busybox-template.patch \
-	file://runtest.patch \
-	file://run-ptest \
-	file://automake-ensure-VPATH-builds-correctly.patch \
-	file://lxc-fix-B-S.patch \
-	file://lxc-doc-upgrade-to-use-docbook-3.1-DTD.patch \
-	file://logs-optionally-use-base-filenames-to-report-src-fil.patch \
-	file://cgroups-work-around-issue-in-gcc-7.patch \
-	file://dnsmasq.conf \
-	"
-
-SRC_URI[md5sum] = "7bfd95280522d7936c0979dfea92cdb5"
-SRC_URI[sha256sum] = "0d8e34b302cfe4c40c6c9ae5097096aa5cc2c1dfceea3f0f22e3e16c4a4e8494"
-
-S = "${WORKDIR}/${BPN}-${PV}"
-
-# Let's not configure for the host distro.
-#
-PTEST_CONF = "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '--enable-tests', '', d)}"
-EXTRA_OECONF += "--with-distro=${DISTRO} ${PTEST_CONF}"
-
-EXTRA_OECONF += "--with-init-script=\
-${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit,', '', d)}\
-${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
-
-EXTRA_OECONF += "--enable-log-src-basename"
-
-CFLAGS_append = " -Wno-error=deprecated-declarations"
-
-PACKAGECONFIG ??= "templates \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
-"
-PACKAGECONFIG[doc] = "--enable-doc --enable-api-docs,--disable-doc --disable-api-docs,,"
-PACKAGECONFIG[rpath] = "--enable-rpath,--disable-rpath,,"
-PACKAGECONFIG[apparmor] = "--enable-apparmor,--disable-apparmor,apparmor,apparmor"
-PACKAGECONFIG[templates] = ",,, ${PN}-templates"
-PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,libselinux"
-PACKAGECONFIG[seccomp] ="--enable-seccomp,--disable-seccomp,libseccomp,libseccomp"
-PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/,--without-systemdsystemunitdir,systemd,"
-PACKAGECONFIG[python] = "--enable-python,--disable-python,python3,python3-core"
-PACKAGECONFIG[lua] = "--enable-lua,--disable-lua,lua,lua"
-
-# required by python3 to run setup.py
-export BUILD_SYS
-export HOST_SYS
-export STAGING_INCDIR
-export STAGING_LIBDIR
-
-inherit autotools pkgconfig ptest update-rc.d systemd python3native
-
-SYSTEMD_PACKAGES = "${PN}-setup"
-SYSTEMD_SERVICE_${PN}-setup = "lxc.service"
-SYSTEMD_AUTO_ENABLE_${PN}-setup = "disable"
-
-INITSCRIPT_PACKAGES = "${PN}-setup"
-INITSCRIPT_NAME_{PN}-setup = "lxc"
-INITSCRIPT_PARAMS_${PN}-setup = "defaults"
-
-FILES_${PN}-doc = "${mandir} ${infodir}"
-# For LXC the docdir only contains example configuration files and should be included in the lxc package
-FILES_${PN} += "${docdir}"
-FILES_${PN} += "${libdir}/python3*"
-FILES_${PN} += "${datadir}/bash-completion"
-FILES_${PN}-dbg += "${libexecdir}/lxc/.debug"
-FILES_${PN}-dbg += "${libexecdir}/lxc/hooks/.debug"
-PACKAGES =+ "${PN}-templates ${PN}-setup ${PN}-networking ${PN}-lua"
-FILES_lua-${PN} = "${datadir}/lua ${libdir}/lua"
-FILES_lua-${PN}-dbg += "${libdir}/lua/lxc/.debug"
-FILES_${PN}-templates += "${datadir}/lxc/templates"
-RDEPENDS_${PN}-templates += "bash"
-
-ALLOW_EMPTY_${PN}-networking = "1"
-
-FILES_${PN}-setup += "/etc/tmpfiles.d"
-FILES_${PN}-setup += "/lib/systemd/system"
-FILES_${PN}-setup += "/usr/lib/systemd/system"
-FILES_${PN}-setup += "/etc/init.d"
-
-PRIVATE_LIBS_${PN}-ptest = "liblxc.so.1"
-
-CACHED_CONFIGUREVARS += " \
-    ac_cv_path_PYTHON='${STAGING_BINDIR_NATIVE}/python3-native/python3' \
-    am_cv_python_pyexecdir='${exec_prefix}/${libdir}/python3.5/site-packages' \
-    am_cv_python_pythondir='${prefix}/${libdir}/python3.5/site-packages' \
-"
-
-do_install_append() {
-	# The /var/cache/lxc directory created by the Makefile
-	# is wiped out in volatile, we need to create this at boot.
-	rm -rf ${D}${localstatedir}/cache
-	install -d ${D}${sysconfdir}/default/volatiles
-	echo "d root root 0755 ${localstatedir}/cache/lxc none" \
-	     > ${D}${sysconfdir}/default/volatiles/99_lxc
-
-	for i in `grep -l "#! */bin/bash" ${D}${datadir}/lxc/hooks/*`; do \
-	    sed -e 's|#! */bin/bash|#!/bin/sh|' -i $i; done
-
-	if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
-	    install -d ${D}${sysconfdir}/init.d
-	    install -m 755 config/init/sysvinit/lxc* ${D}${sysconfdir}/init.d
-	fi
-
-	# since python3-native is used for install location this will not be
-	# suitable for the target and we will have to correct the package install
-	if ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)}; then
-	    if [ -d ${D}${exec_prefix}/lib/python* ]; then mv ${D}${exec_prefix}/lib/python* ${D}${libdir}/; fi
-	    rmdir --ignore-fail-on-non-empty ${D}${exec_prefix}/lib
-	fi
-
-	# Force the main dnsmasq instance to bind only to specified interfaces and
-	# to not bind to virbr0. Libvirt will run its own instance on this interface.
-	install -d ${D}/${sysconfdir}/dnsmasq.d
-	install -m 644 ${WORKDIR}/dnsmasq.conf ${D}/${sysconfdir}/dnsmasq.d/lxc
-}
-
-EXTRA_OEMAKE += "TEST_DIR=${D}${PTEST_PATH}/src/tests"
-
-do_install_ptest() {
-	oe_runmake -C src/tests install-ptest
-}
-
-pkg_postinst_${PN}() {
-	if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
-		/etc/init.d/populate-volatile.sh update
-	fi
-}
-
-pkg_postinst_${PN}-networking() {
-	if [ "x$D" != "x" ]; then
-		exit 1
-	fi
-
-	# setup for our bridge
-        echo "lxc.network.link=lxcbr0" >> ${sysconfdir}/lxc/default.conf
-
-cat >> /etc/network/interfaces << EOF
-
-auto lxcbr0
-iface lxcbr0 inet dhcp
-	bridge_ports eth0
-	bridge_fd 0
-	bridge_maxwait 0
-EOF
-
-cat<<EOF>/etc/network/if-pre-up.d/lxcbr0
-#! /bin/sh
-
-if test "x\$IFACE" = xlxcbr0 ; then
-        brctl show |grep lxcbr0 > /dev/null 2>/dev/null
-        if [ \$? != 0 ] ; then
-                brctl addbr lxcbr0
-                brctl addif lxcbr0 eth0
-                ip addr flush eth0
-                ifconfig eth0 up
-        fi
-fi
-EOF
-chmod 755 /etc/network/if-pre-up.d/lxcbr0
-}
diff --git a/import-layers/meta-virtualization/recipes-containers/oci-image-spec/oci-image-spec_git.bb b/import-layers/meta-virtualization/recipes-containers/oci-image-spec/oci-image-spec_git.bb
deleted file mode 100644
index 92a8399..0000000
--- a/import-layers/meta-virtualization/recipes-containers/oci-image-spec/oci-image-spec_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-DESCRIPTION = "The OCI Image Format project creates and maintains the software shipping container image format spec"
-HOMEPAGE = "https://github.com/opencontainers/image-spec"
-SECTION = "devel/go"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=27ef03aa2da6e424307f102e8b42621d"
-
-SRCNAME = "image-spec"
-
-PKG_NAME = "github.com/opencontainers/${SRCNAME}"
-SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME}"
-
-SRCREV = "91d3eaabebcdc329edd9b4ff0f28f8f90022201f"
-PV = "v1.0.0-rc4+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-# NO-OP the do compile rule because this recipe is source only.
-do_compile() {
-}
-
-do_install() {
-	install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-	for j in $(cd ${S} && find src/${PKG_NAME} -name "*.go"); do
-	    if [ ! -d ${D}${prefix}/local/go/$(dirname $j) ]; then
-	        mkdir -p ${D}${prefix}/local/go/$(dirname $j)
-	    fi
-	    cp $j ${D}${prefix}/local/go/$j
-	done
-	cp -r ${S}/src/${PKG_NAME}/LICENSE ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "image_spec_file_sysroot_preprocess"
-
-image_spec_file_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
-
-CLEANBROKEN = "1"
\ No newline at end of file
diff --git a/import-layers/meta-virtualization/recipes-containers/oci-image-tools/files/0001-config-make-Config.User-mapping-errors-a-warning.patch b/import-layers/meta-virtualization/recipes-containers/oci-image-tools/files/0001-config-make-Config.User-mapping-errors-a-warning.patch
deleted file mode 100644
index 78d2b9d..0000000
--- a/import-layers/meta-virtualization/recipes-containers/oci-image-tools/files/0001-config-make-Config.User-mapping-errors-a-warning.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From fbd62eff9ff2f447c2eb4634398110609fbf9d59 Mon Sep 17 00:00:00 2001
-From: Bruce Ashfield <bruce.ashfield@windriver.com>
-Date: Thu, 16 Nov 2017 23:40:17 -0500
-Subject: [PATCH] config: make Config.User mapping errors a warning
-
-Rather than throwing an error if we can't map a user to a uid,
-output a warning. We aren't actually running the code, but are
-just extracting it .. so the user not existing isn't an issue.
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
----
- image/config.go | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/import/image/config.go b/src/import/image/config.go
-index d28b1bc4fe5f..37dfd1f14ef7 100644
---- a/src/import/image/config.go
-+++ b/src/import/image/config.go
-@@ -106,7 +106,7 @@ func (c *config) runtimeSpec(rootfs string) (*specs.Spec, error) {
- 		s.Process.User.UID = uint32(uid)
- 		s.Process.User.GID = uint32(gid)
- 	} else if c.Config.User != "" {
--		return nil, errors.New("config.User: unsupported format")
-+		fmt.Println("Warning: could not map UID for user:", c.Config.User)
- 	}
- 
- 	s.Linux = &specs.Linux{}
--- 
-2.4.0.53.g8440f74
-
diff --git a/import-layers/meta-virtualization/recipes-containers/oci-image-tools/files/0001-image-manifest-Recursively-remove-pre-existing-entri.patch b/import-layers/meta-virtualization/recipes-containers/oci-image-tools/files/0001-image-manifest-Recursively-remove-pre-existing-entri.patch
deleted file mode 100644
index 5594f97..0000000
--- a/import-layers/meta-virtualization/recipes-containers/oci-image-tools/files/0001-image-manifest-Recursively-remove-pre-existing-entri.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 1f205c0aec5ea9e983d61a64e7ce871ae416bebd Mon Sep 17 00:00:00 2001
-From: "W. Trevor King" <wking@tremily.us>
-Date: Tue, 18 Oct 2016 02:16:46 -0700
-Subject: [PATCH 1/2] image/manifest: Recursively remove pre-existing entries
- when unpacking
-
-Implementing the logic that is in-flight with [1], but using recursive
-removal [2].  GNU tar has a --recursive-unlink option that's not
-enabled by default, with the motivation being something like "folks
-would be mad if we blew away a full tree and replaced it with a broken
-symlink" [3].  That makes sense for working filesystems, but we're
-building the rootfs from scratch here so losing information is not a
-concern.  This commit always uses recursive removal to get that old
-thing off the filesystem (whatever it takes ;).
-
-The exception to the removal is if both the tar entry and existing
-path occupant are directories.  In this case we want to use GNU tar's
-default --overwrite-dir behavior, but unpackLayer's metadata handling
-is currently very weak so I've left it at "don't delete the old
-directory".
-
-The reworked directory case also fixes a minor bug from 44210d05
-(cmd/oci-image-tool: fix unpacking..., 2016-07-22, #177) where the:
-
-  if fi, err := os.Lstat(path); !(err == nil && fi.IsDir()) {
-
-block would not error out if the Lstat failed for a reason besides the
-acceptable IsNotExist.  Instead, it would attempt to call MkdirAll,
-which would probably fail for the same reason that Lstat failed
-(e.g. ENOTDIR).  But it's better to handle the Lstat errors directly.
-
-[1]: https://github.com/opencontainers/image-spec/pull/317
-[2]: https://github.com/opencontainers/image-spec/pull/317/files#r79214718
-[3]: https://www.gnu.org/software/tar/manual/html_node/Dealing-with-Old-Files.html
-
-Signed-off-by: W. Trevor King <wking@tremily.us>
----
- image/manifest.go | 22 +++++++++++++++++++---
- 1 file changed, 19 insertions(+), 3 deletions(-)
-
-diff --git a/image/manifest.go b/image/manifest.go
-index 8834c1e5f2f0..144bd4f62219 100644
---- a/src/import/image/manifest.go
-+++ b/src/import/image/manifest.go
-@@ -253,11 +253,27 @@ loop:
- 			continue loop
- 		}
- 
-+		if hdr.Typeflag != tar.TypeDir {
-+			err = os.RemoveAll(path)
-+			if err != nil && !os.IsNotExist(err) {
-+				return err
-+			}
-+		}
-+
- 		switch hdr.Typeflag {
- 		case tar.TypeDir:
--			if fi, err := os.Lstat(path); !(err == nil && fi.IsDir()) {
--				if err2 := os.MkdirAll(path, info.Mode()); err2 != nil {
--					return errors.Wrap(err2, "error creating directory")
-+			fi, err := os.Lstat(path)
-+			if err != nil && !os.IsNotExist(err) {
-+				return err
-+			}
-+			if os.IsNotExist(err) || !fi.IsDir() {
-+				err = os.RemoveAll(path)
-+				if err != nil && !os.IsNotExist(err) {
-+					return err
-+				}
-+				err = os.MkdirAll(path, info.Mode())
-+				if err != nil {
-+					return err
- 				}
- 			}
- 
--- 
-2.4.0.53.g8440f74
-
diff --git a/import-layers/meta-virtualization/recipes-containers/oci-image-tools/files/0002-image-manifest-Split-unpackLayerEntry-into-its-own-f.patch b/import-layers/meta-virtualization/recipes-containers/oci-image-tools/files/0002-image-manifest-Split-unpackLayerEntry-into-its-own-f.patch
deleted file mode 100644
index 69bdcdb..0000000
--- a/import-layers/meta-virtualization/recipes-containers/oci-image-tools/files/0002-image-manifest-Split-unpackLayerEntry-into-its-own-f.patch
+++ /dev/null
@@ -1,242 +0,0 @@
-From 1e55f2a83b1f644803b640b72171b4ae0d95217b Mon Sep 17 00:00:00 2001
-From: "W. Trevor King" <wking@tremily.us>
-Date: Thu, 20 Oct 2016 23:30:22 -0700
-Subject: [PATCH 2/2] image/manifest: Split unpackLayerEntry into its own
- function
-
-To help address:
-
-  $ make lint
-  checking lint
-  image/manifest.go:140::warning: cyclomatic complexity 39 of function unpackLayer() is high (> 35) (gocyclo)
-  ...
-
-Signed-off-by: W. Trevor King <wking@tremily.us>
----
- image/manifest.go | 185 +++++++++++++++++++++++++++++-------------------------
- 1 file changed, 100 insertions(+), 85 deletions(-)
-
-diff --git a/image/manifest.go b/image/manifest.go
-index 144bd4f62219..dfd5a83f70e4 100644
---- a/src/import/image/manifest.go
-+++ b/src/import/image/manifest.go
-@@ -218,116 +218,131 @@ loop:
- 			return errors.Wrapf(err, "error advancing tar stream")
- 		}
- 
--		hdr.Name = filepath.Clean(hdr.Name)
--		if !strings.HasSuffix(hdr.Name, string(os.PathSeparator)) {
--			// Not the root directory, ensure that the parent directory exists
--			parent := filepath.Dir(hdr.Name)
--			parentPath := filepath.Join(dest, parent)
--			if _, err2 := os.Lstat(parentPath); err2 != nil && os.IsNotExist(err2) {
--				if err3 := os.MkdirAll(parentPath, 0755); err3 != nil {
--					return err3
--				}
--			}
--		}
--		path := filepath.Join(dest, hdr.Name)
--		if entries[path] {
--			return fmt.Errorf("duplicate entry for %s", path)
--		}
--		entries[path] = true
--		rel, err := filepath.Rel(dest, path)
-+		var whiteout bool
-+		whiteout, err = unpackLayerEntry(dest, hdr, tr, &entries)
- 		if err != nil {
- 			return err
- 		}
--		info := hdr.FileInfo()
--		if strings.HasPrefix(rel, ".."+string(os.PathSeparator)) {
--			return fmt.Errorf("%q is outside of %q", hdr.Name, dest)
-+		if whiteout {
-+			continue loop
- 		}
- 
--		if strings.HasPrefix(info.Name(), ".wh.") {
--			path = strings.Replace(path, ".wh.", "", 1)
-+		// Directory mtimes must be handled at the end to avoid further
-+		// file creation in them to modify the directory mtime
-+		if hdr.Typeflag == tar.TypeDir {
-+			dirs = append(dirs, hdr)
-+		}
-+	}
-+	for _, hdr := range dirs {
-+		path := filepath.Join(dest, hdr.Name)
- 
--			if err := os.RemoveAll(path); err != nil {
--				return errors.Wrap(err, "unable to delete whiteout path")
-+		finfo := hdr.FileInfo()
-+		// I believe the old version was using time.Now().UTC() to overcome an
-+		// invalid error from chtimes.....but here we lose hdr.AccessTime like this...
-+		if err := os.Chtimes(path, time.Now().UTC(), finfo.ModTime()); err != nil {
-+			return errors.Wrap(err, "error changing time")
-+		}
-+	}
-+	return nil
-+}
-+
-+// unpackLayerEntry unpacks a single entry from a layer.
-+func unpackLayerEntry(dest string, header *tar.Header, reader io.Reader, entries *map[string]bool) (whiteout bool, err error) {
-+	header.Name = filepath.Clean(header.Name)
-+	if !strings.HasSuffix(header.Name, string(os.PathSeparator)) {
-+		// Not the root directory, ensure that the parent directory exists
-+		parent := filepath.Dir(header.Name)
-+		parentPath := filepath.Join(dest, parent)
-+		if _, err2 := os.Lstat(parentPath); err2 != nil && os.IsNotExist(err2) {
-+			if err3 := os.MkdirAll(parentPath, 0755); err3 != nil {
-+				return false, err3
- 			}
-+		}
-+	}
-+	path := filepath.Join(dest, header.Name)
-+	if (*entries)[path] {
-+		return false, fmt.Errorf("duplicate entry for %s", path)
-+	}
-+	(*entries)[path] = true
-+	rel, err := filepath.Rel(dest, path)
-+	if err != nil {
-+		return false, err
-+	}
-+	info := header.FileInfo()
-+	if strings.HasPrefix(rel, ".."+string(os.PathSeparator)) {
-+		return false, fmt.Errorf("%q is outside of %q", header.Name, dest)
-+	}
- 
--			continue loop
-+	if strings.HasPrefix(info.Name(), ".wh.") {
-+		path = strings.Replace(path, ".wh.", "", 1)
-+
-+		if err = os.RemoveAll(path); err != nil {
-+			return true, errors.Wrap(err, "unable to delete whiteout path")
- 		}
- 
--		if hdr.Typeflag != tar.TypeDir {
--			err = os.RemoveAll(path)
--			if err != nil && !os.IsNotExist(err) {
--				return err
--			}
-+		return true, nil
-+	}
-+
-+	if header.Typeflag != tar.TypeDir {
-+		err = os.RemoveAll(path)
-+		if err != nil && !os.IsNotExist(err) {
-+			return false, err
- 		}
-+	}
- 
--		switch hdr.Typeflag {
--		case tar.TypeDir:
--			fi, err := os.Lstat(path)
-+	switch header.Typeflag {
-+	case tar.TypeDir:
-+		fi, err := os.Lstat(path)
-+		if err != nil && !os.IsNotExist(err) {
-+			return false, err
-+		}
-+		if os.IsNotExist(err) || !fi.IsDir() {
-+			err = os.RemoveAll(path)
- 			if err != nil && !os.IsNotExist(err) {
--				return err
--			}
--			if os.IsNotExist(err) || !fi.IsDir() {
--				err = os.RemoveAll(path)
--				if err != nil && !os.IsNotExist(err) {
--					return err
--				}
--				err = os.MkdirAll(path, info.Mode())
--				if err != nil {
--					return err
--				}
-+				return false, err
- 			}
--
--		case tar.TypeReg, tar.TypeRegA:
--			f, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY, info.Mode())
-+			err = os.MkdirAll(path, info.Mode())
- 			if err != nil {
--				return errors.Wrap(err, "unable to open file")
-+				return false, err
- 			}
-+		}
- 
--			if _, err := io.Copy(f, tr); err != nil {
--				f.Close()
--				return errors.Wrap(err, "unable to copy")
--			}
--			f.Close()
-+	case tar.TypeReg, tar.TypeRegA:
-+		f, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY, info.Mode())
-+		if err != nil {
-+			return false, errors.Wrap(err, "unable to open file")
-+		}
- 
--		case tar.TypeLink:
--			target := filepath.Join(dest, hdr.Linkname)
-+		if _, err := io.Copy(f, reader); err != nil {
-+			f.Close()
-+			return false, errors.Wrap(err, "unable to copy")
-+		}
-+		f.Close()
- 
--			if !strings.HasPrefix(target, dest) {
--				return fmt.Errorf("invalid hardlink %q -> %q", target, hdr.Linkname)
--			}
-+	case tar.TypeLink:
-+		target := filepath.Join(dest, header.Linkname)
- 
--			if err := os.Link(target, path); err != nil {
--				return err
--			}
-+		if !strings.HasPrefix(target, dest) {
-+			return false, fmt.Errorf("invalid hardlink %q -> %q", target, header.Linkname)
-+		}
- 
--		case tar.TypeSymlink:
--			target := filepath.Join(filepath.Dir(path), hdr.Linkname)
-+		if err := os.Link(target, path); err != nil {
-+			return false, err
-+		}
- 
--			if !strings.HasPrefix(target, dest) {
--				return fmt.Errorf("invalid symlink %q -> %q", path, hdr.Linkname)
--			}
-+	case tar.TypeSymlink:
-+		target := filepath.Join(filepath.Dir(path), header.Linkname)
- 
--			if err := os.Symlink(hdr.Linkname, path); err != nil {
--				return err
--			}
--		case tar.TypeXGlobalHeader:
--			return nil
-+		if !strings.HasPrefix(target, dest) {
-+			return false, fmt.Errorf("invalid symlink %q -> %q", path, header.Linkname)
- 		}
--		// Directory mtimes must be handled at the end to avoid further
--		// file creation in them to modify the directory mtime
--		if hdr.Typeflag == tar.TypeDir {
--			dirs = append(dirs, hdr)
--		}
--	}
--	for _, hdr := range dirs {
--		path := filepath.Join(dest, hdr.Name)
- 
--		finfo := hdr.FileInfo()
--		// I believe the old version was using time.Now().UTC() to overcome an
--		// invalid error from chtimes.....but here we lose hdr.AccessTime like this...
--		if err := os.Chtimes(path, time.Now().UTC(), finfo.ModTime()); err != nil {
--			return errors.Wrap(err, "error changing time")
-+		if err := os.Symlink(header.Linkname, path); err != nil {
-+			return false, err
- 		}
-+	case tar.TypeXGlobalHeader:
-+		return false, nil
- 	}
--	return nil
-+
-+	return false, nil
- }
--- 
-2.4.0.53.g8440f74
-
diff --git a/import-layers/meta-virtualization/recipes-containers/oci-image-tools/oci-image-tools_git.bb b/import-layers/meta-virtualization/recipes-containers/oci-image-tools/oci-image-tools_git.bb
deleted file mode 100644
index 807ee26..0000000
--- a/import-layers/meta-virtualization/recipes-containers/oci-image-tools/oci-image-tools_git.bb
+++ /dev/null
@@ -1,64 +0,0 @@
-HOMEPAGE = "https://github.com/opencontainers/image-tools"
-SUMMARY = "A collection of tools for working with the OCI image format specification"
-LICENSE = "Apache-2"
-LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e"
-
-DEPENDS = "\
-           oci-image-spec \
-           oci-runtime-spec \
-           go-digest \
-           go-errors \
-           spf13-cobra \
-           spf13-pflag \
-          "
-
-SRC_URI = "git://github.com/opencontainers/image-tools.git \
-           file://0001-image-manifest-Recursively-remove-pre-existing-entri.patch \
-           file://0002-image-manifest-Split-unpackLayerEntry-into-its-own-f.patch \
-           file://0001-config-make-Config.User-mapping-errors-a-warning.patch"
-
-SRCREV = "4abe1a166f9be97e8e71b1bb4d7599cc29323011"
-PV = "0.2.0-dev+git${SRCPV}"
-GO_IMPORT = "import"
-
-inherit goarch
-inherit go
-
-# This disables seccomp and apparmor, which are on by default in the
-# go package. 
-EXTRA_OEMAKE="BUILDTAGS=''"
-
-do_compile() {
-	export GOARCH="${TARGET_GOARCH}"
-	export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go"
-	# Setup vendor directory so that it can be used in GOPATH.
-	#
-	# Go looks in a src directory under any directory in GOPATH but riddler
-	# uses 'vendor' instead of 'vendor/src'. We can fix this with a symlink.
-	#
-	# We also need to link in the ipallocator directory as that is not under
-	# a src directory.
-	ln -sfn . "${S}/src/import/vendor/src"
-	mkdir -p "${S}/src/import/vendor/src/github.com/opencontainers/image-tools/"
-	ln -sfn "${S}/src/import/image" "${S}/src/import/vendor/src/github.com/opencontainers/image-tools/image"
-	ln -sfn "${S}/src/import/version" "${S}/src/import/vendor/src/github.com/opencontainers/image-tools/version"
-	export GOPATH="${S}/src/import/vendor"
-
-	# Pass the needed cflags/ldflags so that cgo
-	# can find the needed headers files and libraries
-	export CGO_ENABLED="1"
-	export CFLAGS=""
-	export LDFLAGS=""
-	export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-	export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-	cd ${S}/src/import
-
-	oe_runmake tool
-}
-
-do_install() {
-	install -d ${D}/${sbindir}
-	install ${S}/src/import/oci-image-tool ${D}/${sbindir}/
-}
-
-INSANE_SKIP_${PN} += "ldflags"
diff --git a/import-layers/meta-virtualization/recipes-containers/oci-runtime-spec/oci-runtime-spec_git.bb b/import-layers/meta-virtualization/recipes-containers/oci-runtime-spec/oci-runtime-spec_git.bb
deleted file mode 100644
index deba7b3..0000000
--- a/import-layers/meta-virtualization/recipes-containers/oci-runtime-spec/oci-runtime-spec_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-DESCRIPTION = "The Open Container Initiative develops specifications for standards on Operating System process and application containers"
-HOMEPAGE = "https://github.com/opencontainers/runtime-spec"
-SECTION = "devel/go"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=b355a61a394a504dacde901c958f662c"
-
-SRCNAME = "runtime-spec"
-
-PKG_NAME = "github.com/opencontainers/${SRCNAME}"
-SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME}"
-
-SRCREV = "a39b1cd4fdf7743ab721cc9da58abbee2f8624d1"
-PV = "v1.0.0-rc6+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-# NO-OP the do compile rule because this recipe is source only.
-do_compile() {
-}
-
-do_install() {
-	install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-	for j in $(cd ${S} && find src/${PKG_NAME} -name "*.go" -not -path "*/.tool/*"); do
-	    if [ ! -d ${D}${prefix}/local/go/$(dirname $j) ]; then
-	        mkdir -p ${D}${prefix}/local/go/$(dirname $j)
-	    fi
-	    cp $j ${D}${prefix}/local/go/$j
-	done
-	cp -r ${S}/src/${PKG_NAME}/LICENSE ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "runtime_spec_file_sysroot_preprocess"
-
-runtime_spec_file_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
-
-CLEANBROKEN = "1"
diff --git a/import-layers/meta-virtualization/recipes-containers/oci-runtime-tools/files/0001-Revert-implement-add-set-function-for-hooks-items.patch b/import-layers/meta-virtualization/recipes-containers/oci-runtime-tools/files/0001-Revert-implement-add-set-function-for-hooks-items.patch
deleted file mode 100644
index 99a9310..0000000
--- a/import-layers/meta-virtualization/recipes-containers/oci-runtime-tools/files/0001-Revert-implement-add-set-function-for-hooks-items.patch
+++ /dev/null
@@ -1,202 +0,0 @@
-From 2911eaabab92ec2cdea2b173c3429db4a52bee2f Mon Sep 17 00:00:00 2001
-From: Bruce Ashfield <bruce.ashfield@windriver.com>
-Date: Wed, 20 Sep 2017 23:28:52 -0400
-Subject: [PATCH] Revert "implement add/set function for hooks items"
-
-This reverts commit df3a46feb971386f922c7c2c2822b88301f87cb0.
----
- cmd/oci-runtime-tool/generate.go | 12 ++++++------
- generate/generate.go             | 42 ++++++----------------------------------
- 2 files changed, 12 insertions(+), 42 deletions(-)
-
-diff --git a/src/import/cmd/oci-runtime-tool/generate.go b/src/import/cmd/oci-runtime-tool/generate.go
-index ed11fe8f3729..7121ce5fe07e 100644
---- a/src/import/cmd/oci-runtime-tool/generate.go
-+++ b/src/import/cmd/oci-runtime-tool/generate.go
-@@ -354,7 +354,7 @@ func setupSpec(g *generate.Generator, context *cli.Context) error {
- 		for _, postStartEnv := range postStartEnvs {
- 			path, env, err := parseHookEnv(postStartEnv)
- 			if err != nil {
--				return err
-+				return nil
- 			}
- 			g.AddPostStartHookEnv(path, env)
- 		}
-@@ -387,7 +387,7 @@ func setupSpec(g *generate.Generator, context *cli.Context) error {
- 		for _, postStopEnv := range postStopEnvs {
- 			path, env, err := parseHookEnv(postStopEnv)
- 			if err != nil {
--				return err
-+				return nil
- 			}
- 			g.AddPostStopHookEnv(path, env)
- 		}
-@@ -398,7 +398,7 @@ func setupSpec(g *generate.Generator, context *cli.Context) error {
- 		for _, postStopTimeout := range postStopTimeouts {
- 			path, timeout, err := parseHookTimeout(postStopTimeout)
- 			if err != nil {
--				return err
-+				return nil
- 			}
- 			g.AddPostStopHookTimeout(path, timeout)
- 		}
-@@ -409,7 +409,7 @@ func setupSpec(g *generate.Generator, context *cli.Context) error {
- 		for _, hook := range preStartHooks {
- 			path, args, err := parseHook(hook)
- 			if err != nil {
--				return err
-+				return nil
- 			}
- 			g.AddPreStartHook(path, args)
- 		}
-@@ -420,7 +420,7 @@ func setupSpec(g *generate.Generator, context *cli.Context) error {
- 		for _, preStartEnv := range preStartEnvs {
- 			path, env, err := parseHookEnv(preStartEnv)
- 			if err != nil {
--				return err
-+				return nil
- 			}
- 			g.AddPreStartHookEnv(path, env)
- 		}
-@@ -431,7 +431,7 @@ func setupSpec(g *generate.Generator, context *cli.Context) error {
- 		for _, preStartTimeout := range preStartTimeouts {
- 			path, timeout, err := parseHookTimeout(preStartTimeout)
- 			if err != nil {
--				return err
-+				return nil
- 			}
- 			g.AddPreStartHookTimeout(path, timeout)
- 		}
-diff --git a/src/import/generate/generate.go b/src/import/generate/generate.go
-index 84762c3cbd05..ef5d2cc95b3c 100644
---- a/src/import/generate/generate.go
-+++ b/src/import/generate/generate.go
-@@ -744,39 +744,29 @@ func (g *Generator) ClearPreStartHooks() {
- func (g *Generator) AddPreStartHook(path string, args []string) {
- 	g.initSpecHooks()
- 	hook := rspec.Hook{Path: path, Args: args}
--	for i, hook := range g.spec.Hooks.Prestart {
--		if hook.Path == path {
--			g.spec.Hooks.Prestart[i] = hook
--			return
--		}
--	}
- 	g.spec.Hooks.Prestart = append(g.spec.Hooks.Prestart, hook)
- }
- 
- // AddPreStartHookEnv adds envs of a prestart hook into g.spec.Hooks.Prestart.
- func (g *Generator) AddPreStartHookEnv(path string, envs []string) {
--	g.initSpecHooks()
-+	g.initSpec()
- 	for i, hook := range g.spec.Hooks.Prestart {
- 		if hook.Path == path {
- 			g.spec.Hooks.Prestart[i].Env = envs
- 			return
- 		}
- 	}
--	hook := rspec.Hook{Path: path, Env: envs}
--	g.spec.Hooks.Prestart = append(g.spec.Hooks.Prestart, hook)
- }
- 
- // AddPreStartHookTimeout adds timeout of a prestart hook into g.spec.Hooks.Prestart.
- func (g *Generator) AddPreStartHookTimeout(path string, timeout int) {
--	g.initSpecHooks()
-+	g.initSpec()
- 	for i, hook := range g.spec.Hooks.Prestart {
- 		if hook.Path == path {
- 			g.spec.Hooks.Prestart[i].Timeout = &timeout
- 			return
- 		}
- 	}
--	hook := rspec.Hook{Path: path, Timeout: &timeout}
--	g.spec.Hooks.Prestart = append(g.spec.Hooks.Prestart, hook)
- }
- 
- // ClearPostStopHooks clear g.spec.Hooks.Poststop.
-@@ -794,39 +784,29 @@ func (g *Generator) ClearPostStopHooks() {
- func (g *Generator) AddPostStopHook(path string, args []string) {
- 	g.initSpecHooks()
- 	hook := rspec.Hook{Path: path, Args: args}
--	for i, hook := range g.spec.Hooks.Poststop {
--		if hook.Path == path {
--			g.spec.Hooks.Poststop[i] = hook
--			return
--		}
--	}
- 	g.spec.Hooks.Poststop = append(g.spec.Hooks.Poststop, hook)
- }
- 
- // AddPostStopHookEnv adds envs of a poststop hook into g.spec.Hooks.Poststop.
- func (g *Generator) AddPostStopHookEnv(path string, envs []string) {
--	g.initSpecHooks()
-+	g.initSpec()
- 	for i, hook := range g.spec.Hooks.Poststop {
- 		if hook.Path == path {
- 			g.spec.Hooks.Poststop[i].Env = envs
- 			return
- 		}
- 	}
--	hook := rspec.Hook{Path: path, Env: envs}
--	g.spec.Hooks.Poststop = append(g.spec.Hooks.Poststop, hook)
- }
- 
- // AddPostStopHookTimeout adds timeout of a poststop hook into g.spec.Hooks.Poststop.
- func (g *Generator) AddPostStopHookTimeout(path string, timeout int) {
--	g.initSpecHooks()
-+	g.initSpec()
- 	for i, hook := range g.spec.Hooks.Poststop {
- 		if hook.Path == path {
- 			g.spec.Hooks.Poststop[i].Timeout = &timeout
- 			return
- 		}
- 	}
--	hook := rspec.Hook{Path: path, Timeout: &timeout}
--	g.spec.Hooks.Poststop = append(g.spec.Hooks.Poststop, hook)
- }
- 
- // ClearPostStartHooks clear g.spec.Hooks.Poststart.
-@@ -844,39 +824,29 @@ func (g *Generator) ClearPostStartHooks() {
- func (g *Generator) AddPostStartHook(path string, args []string) {
- 	g.initSpecHooks()
- 	hook := rspec.Hook{Path: path, Args: args}
--	for i, hook := range g.spec.Hooks.Poststart {
--		if hook.Path == path {
--			g.spec.Hooks.Poststart[i] = hook
--			return
--		}
--	}
- 	g.spec.Hooks.Poststart = append(g.spec.Hooks.Poststart, hook)
- }
- 
- // AddPostStartHookEnv adds envs of a poststart hook into g.spec.Hooks.Poststart.
- func (g *Generator) AddPostStartHookEnv(path string, envs []string) {
--	g.initSpecHooks()
-+	g.initSpec()
- 	for i, hook := range g.spec.Hooks.Poststart {
- 		if hook.Path == path {
- 			g.spec.Hooks.Poststart[i].Env = envs
- 			return
- 		}
- 	}
--	hook := rspec.Hook{Path: path, Env: envs}
--	g.spec.Hooks.Poststart = append(g.spec.Hooks.Poststart, hook)
- }
- 
- // AddPostStartHookTimeout adds timeout of a poststart hook into g.spec.Hooks.Poststart.
- func (g *Generator) AddPostStartHookTimeout(path string, timeout int) {
--	g.initSpecHooks()
-+	g.initSpec()
- 	for i, hook := range g.spec.Hooks.Poststart {
- 		if hook.Path == path {
- 			g.spec.Hooks.Poststart[i].Timeout = &timeout
- 			return
- 		}
- 	}
--	hook := rspec.Hook{Path: path, Timeout: &timeout}
--	g.spec.Hooks.Poststart = append(g.spec.Hooks.Poststart, hook)
- }
- 
- // AddTmpfsMount adds a tmpfs mount into g.spec.Mounts.
--- 
-2.4.0.53.g8440f74
-
diff --git a/import-layers/meta-virtualization/recipes-containers/oci-runtime-tools/oci-runtime-tools_git.bb b/import-layers/meta-virtualization/recipes-containers/oci-runtime-tools/oci-runtime-tools_git.bb
deleted file mode 100644
index 61b68b5..0000000
--- a/import-layers/meta-virtualization/recipes-containers/oci-runtime-tools/oci-runtime-tools_git.bb
+++ /dev/null
@@ -1,52 +0,0 @@
-HOMEPAGE = "https://github.com/opencontainers/runtime-tools"
-SUMMARY = "oci-runtime-tool is a collection of tools for working with the OCI runtime specification"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=b355a61a394a504dacde901c958f662c"
-
-SRC_URI = "git://github.com/opencontainers/runtime-tools.git \
-           file://0001-Revert-implement-add-set-function-for-hooks-items.patch \
-           "
-
-SRCREV = "6e7da8148f4de2c9e9c9d3b345576898d4f412cb"
-PV = "0.1.0+git${SRCPV}"
-GO_IMPORT = "import"
-
-INSANE_SKIP_${PN} += "ldflags"
-
-inherit goarch
-inherit go
-
-do_compile() {
-	export GOARCH="${TARGET_GOARCH}"
-	export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go"
-	export GOPATH="${S}/src/import:${S}/src/import/vendor"
-
-	# Pass the needed cflags/ldflags so that cgo
-	# can find the needed headers files and libraries
-	export CGO_ENABLED="1"
-	export CFLAGS=""
-	export LDFLAGS=""
-	export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-	export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-
-	# link fixups for compilation
-	rm -f ${S}/src/import/vendor/src
-	ln -sf ./ ${S}/src/import/vendor/src
-	mkdir -p ${S}/src/import/vendor/github.com/opencontainers/runtime-tools
-	ln -sf ../../../../generate ${S}/src/import/vendor/github.com/opencontainers/runtime-tools/generate
-	ln -sf ../../../../validate ${S}/src/import/vendor/github.com/opencontainers/runtime-tools/validate
-	ln -sf ../../../../cmd ${S}/src/import/vendor/github.com/opencontainers/runtime-tools/cmd
-	ln -sf ../../../../error ${S}/src/import/vendor/github.com/opencontainers/runtime-tools/error
-	ln -sf ../../../../specerror ${S}/src/import/vendor/github.com/opencontainers/runtime-tools/specerror
-	cd ${S}/src/import
-
-	oe_runmake
-}
-
-do_install() {
-	install -d ${D}/${sbindir}
-	install ${S}/src/import/oci-runtime-tool ${D}/${sbindir}/oci-runtime-tool
-}
-
-deltask compile_ptest_base
-
diff --git a/import-layers/meta-virtualization/recipes-containers/oci-systemd-hook/oci-systemd-hook/0001-Add-additional-cgroup-mounts-from-root-NS-automatica.patch b/import-layers/meta-virtualization/recipes-containers/oci-systemd-hook/oci-systemd-hook/0001-Add-additional-cgroup-mounts-from-root-NS-automatica.patch
deleted file mode 100644
index 753a77d..0000000
--- a/import-layers/meta-virtualization/recipes-containers/oci-systemd-hook/oci-systemd-hook/0001-Add-additional-cgroup-mounts-from-root-NS-automatica.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From f59cddcedd6535e0b809ec9b4e95672d34b41a16 Mon Sep 17 00:00:00 2001
-From: Jason Wessel <jason.wessel@windriver.com>
-Date: Tue, 14 Nov 2017 07:41:41 -0800
-Subject: [PATCH] Add additional cgroup mounts from root NS automatically
-
-Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
----
- src/systemdhook.c | 45 +++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 45 insertions(+)
-
-diff --git a/src/systemdhook.c b/src/systemdhook.c
-index 78575ef..f735484 100644
---- a/src/systemdhook.c
-+++ b/src/systemdhook.c
-@@ -238,6 +238,11 @@ static char *get_process_cgroup_subsystem_path(int pid, const char *subsystem) {
- static int mount_cgroup(const char *rootfs, const char *options, char *systemd_path)
- {
- 	_cleanup_free_ char *cgroup_path = NULL;
-+	char *spath, *dpath;
-+	DIR *dir;
-+	struct dirent *d;
-+	char link[80];
-+	int got;
- 
- 	if (asprintf(&cgroup_path, "%s/%s", rootfs, CGROUP_ROOT) < 0) {
- 		pr_perror("Failed to create path for %s", CGROUP_ROOT);
-@@ -256,6 +261,46 @@ static int mount_cgroup(const char *rootfs, const char *options, char *systemd_p
- 		pr_perror("Failed to mkdir new dest: %s", systemd_path);
- 		return -1;
- 	}
-+	/* Create all additional cgroup mounts which are in the root namespace */
-+	dir = opendir(CGROUP_ROOT);
-+	if (!dir) {
-+		pr_perror("Failed to open %s", CGROUP_ROOT);
-+		return -1;
-+	}
-+	/* Skip "." and ".." */
-+	readdir(dir);
-+	readdir(dir);
-+	while ((d = readdir(dir))) {
-+		/* Systemd is already handled above */
-+		if (strcmp(d->d_name, "systemd") == 0) {
-+			continue;
-+		}
-+		if (asprintf(&spath, "%s/%s", CGROUP_ROOT, d->d_name) < 0) {
-+			pr_perror("Failed to create path for %s", d->d_name);
-+			return -1;
-+		}
-+		if (asprintf(&dpath, "%s%s/%s", rootfs, CGROUP_ROOT, d->d_name) < 0) {
-+			pr_perror("Failed to create path for %s", d->d_name);
-+			return -1;
-+		}
-+		got = readlink(spath, link, sizeof(link) - 1);
-+		if (got > 0) {
-+			link[got] = '\0';
-+			symlink(link, dpath);
-+		} else {
-+			if ((makepath(dpath, 0755) == -1) && (errno != EEXIST)) {
-+				pr_perror("Failed to mkdir new dest: %s", dpath);
-+				return -1;
-+			}
-+			if (bind_mount(spath, dpath, false)) {
-+				pr_perror("Failed to bind mount %s on %s", spath, dpath);
-+				return -1;
-+			}
-+		}
-+		free(spath);
-+		free(dpath);
-+	}
-+	closedir(dir);
- 	if (mount(cgroup_path, cgroup_path, "bind", MS_REMOUNT|MS_BIND|MS_RDONLY, "") == -1) {
- 		pr_perror("Failed to remount %s readonly", cgroup_path);
- 		return -1;
--- 
-2.11.0
-
diff --git a/import-layers/meta-virtualization/recipes-containers/oci-systemd-hook/oci-systemd-hook/0001-configure-drop-selinux-support.patch b/import-layers/meta-virtualization/recipes-containers/oci-systemd-hook/oci-systemd-hook/0001-configure-drop-selinux-support.patch
deleted file mode 100644
index 510126e..0000000
--- a/import-layers/meta-virtualization/recipes-containers/oci-systemd-hook/oci-systemd-hook/0001-configure-drop-selinux-support.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 12c263703a0b0ae92566de7e5440fce7b59cd9be Mon Sep 17 00:00:00 2001
-From: Bruce Ashfield <bruce.ashfield@windriver.com>
-Date: Tue, 8 Nov 2016 13:16:19 -0500
-Subject: [PATCH] configure: drop selinux support
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
----
- configure.ac | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index c1275acb253d..eaba7fbb57e2 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -8,7 +8,6 @@ AC_USE_SYSTEM_EXTENSIONS
- AC_SYS_LARGEFILE
- 
- PKG_CHECK_MODULES([YAJL], [yajl >= 2.0.0])
--PKG_CHECK_MODULES([SELINUX], [libselinux >= 2.0.0])
- PKG_CHECK_MODULES([LIBMOUNT], [mount >= 2.23.0])
- 
- AC_MSG_CHECKING([whether to disable argument checking])
--- 
-2.4.0.53.g8440f74
-
diff --git a/import-layers/meta-virtualization/recipes-containers/oci-systemd-hook/oci-systemd-hook/0001-selinux-drop-selinux-support.patch b/import-layers/meta-virtualization/recipes-containers/oci-systemd-hook/oci-systemd-hook/0001-selinux-drop-selinux-support.patch
deleted file mode 100644
index 5016f6e..0000000
--- a/import-layers/meta-virtualization/recipes-containers/oci-systemd-hook/oci-systemd-hook/0001-selinux-drop-selinux-support.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 9b66394c712ec0d0fcb2052baa7f590621a53461 Mon Sep 17 00:00:00 2001
-From: Bruce Ashfield <bruce.ashfield@windriver.com>
-Date: Tue, 8 Nov 2016 13:15:46 -0500
-Subject: [PATCH] selinux: drop selinux support
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
----
- src/systemdhook.c |   12 ------------
- 1 file changed, 12 deletions(-)
-
---- a/src/systemdhook.c
-+++ b/src/systemdhook.c
-@@ -16,7 +16,6 @@
- #include <errno.h>
- #include <inttypes.h>
- #include <linux/limits.h>
--#include <selinux/selinux.h>
- #include <yajl/yajl_tree.h>
- #include <stdbool.h>
- 
-@@ -129,9 +128,6 @@ static int chperm(const char *path, cons
- 				closedir(dir);
- 				return -1;
- 			}
--			if (setfilecon (full_path, label) < 0) {
--				pr_perror("Failed to set context %s on %s", label, full_path);
--			}
- 
- 			if (doChown) {
- 				/* Change uid and gid to something the container can handle */
-@@ -496,14 +492,6 @@ static int prestart(const char *rootfs,
- 				return -1;
- 			}
- 		}
--
--		if (strcmp("", mount_label)) {
--			rc = setfilecon(journal_dir, (security_context_t)mount_label);
--			if (rc < 0) {
--				pr_perror("Failed to set journal dir selinux context");
--				return -1;
--			}
--		}
- 
- 		/* Attempt to creare /var/log/journal inside of rootfs,
- 		   if successful, or directory exists, mount tmpfs on top of
diff --git a/import-layers/meta-virtualization/recipes-containers/oci-systemd-hook/oci-systemd-hook_git.bb b/import-layers/meta-virtualization/recipes-containers/oci-systemd-hook/oci-systemd-hook_git.bb
deleted file mode 100644
index e07b741..0000000
--- a/import-layers/meta-virtualization/recipes-containers/oci-systemd-hook/oci-systemd-hook_git.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-DESCRIPTION = "OCI systemd hook enables users to run systemd in docker and OCI"
-SECTION = "console/utils"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504"
-PRIORITY = "optional"
-
-DEPENDS = "yajl util-linux"
-
-SRCREV = "1ac958a4197a9ea52174812fc7d7d036af8140d3"
-SRC_URI = "git://github.com/projectatomic/oci-systemd-hook \
-           file://0001-selinux-drop-selinux-support.patch \
-           file://0001-configure-drop-selinux-support.patch \
-           file://0001-Add-additional-cgroup-mounts-from-root-NS-automatica.patch \
-"
-
-PV = "0.0.1+git${SRCPV}"
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[selinux] = ",,libselinux"
-
-EXTRA_OECONF += "--libexecdir=${libexecdir}/oci/hooks.d"
-
-# nothing to compile, we do it all in the install task
-do_compile[noexec] = "1"
-
-do_install() {
-    # Avoid building docs, and other artifacts by surgically calling the
-    # semi-internal target of "install-exec-am"
-    oe_runmake 'DESTDIR=${D}' install-exec-am
-}
-
-FILES_${PN} += "${libexecdir}/oci/hooks.d/"
-
diff --git a/import-layers/meta-virtualization/recipes-containers/riddler/riddler_git.bb b/import-layers/meta-virtualization/recipes-containers/riddler/riddler_git.bb
deleted file mode 100644
index 9f7fe6b..0000000
--- a/import-layers/meta-virtualization/recipes-containers/riddler/riddler_git.bb
+++ /dev/null
@@ -1,50 +0,0 @@
-HOMEPAGE = "https://github.com/jfrazelle/riddler"
-SUMMARY = "Convert `docker inspect` to opencontainers (OCI compatible) runc spec."
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=20ce4c6a4f32d6ee4a68e3a7506db3f1"
-
-SRC_URI = "git://github.com/jfrazelle/riddler;branch=master"
-SRCREV = "23befa0b232877b5b502b828e24161d801bd67f6"
-PV = "0.1.0+git${SRCPV}"
-GO_IMPORT = "import"
-
-S = "${WORKDIR}/git"
-
-inherit goarch
-inherit go
-
-# This disables seccomp and apparmor, which are on by default in the
-# go package. 
-EXTRA_OEMAKE="BUILDTAGS=''"
-
-do_compile() {
-	export GOARCH="${TARGET_GOARCH}"
-	export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go"
-	# Setup vendor directory so that it can be used in GOPATH.
-	#
-	# Go looks in a src directory under any directory in GOPATH but riddler
-	# uses 'vendor' instead of 'vendor/src'. We can fix this with a symlink.
-	#
-	# We also need to link in the ipallocator directory as that is not under
-	# a src directory.
-	ln -sfn . "${S}/src/import/vendor/src"
-	mkdir -p "${S}/src/import/vendor/src/github.com/jessfraz/riddler"
-	ln -sfn "${S}/src/import/parse" "${S}/src/import/vendor/src/github.com/jessfraz/riddler/parse"
-	export GOPATH="${S}/src/import/vendor"
-
-	# Pass the needed cflags/ldflags so that cgo
-	# can find the needed headers files and libraries
-	export CGO_ENABLED="1"
-	export CFLAGS=""
-	export LDFLAGS=""
-	export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-	export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-	cd ${S}/src/import
-
-	oe_runmake static
-}
-
-do_install() {
-	install -d ${D}/${sbindir}
-	install ${S}/src/import/riddler ${D}/${sbindir}/riddler
-}
diff --git a/import-layers/meta-virtualization/recipes-containers/runc/runc-docker/0001-build-drop-recvtty-and-use-GOBUILDFLAGS.patch b/import-layers/meta-virtualization/recipes-containers/runc/runc-docker/0001-build-drop-recvtty-and-use-GOBUILDFLAGS.patch
deleted file mode 100644
index f885aaf..0000000
--- a/import-layers/meta-virtualization/recipes-containers/runc/runc-docker/0001-build-drop-recvtty-and-use-GOBUILDFLAGS.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From a9a2b9e72027d0b2357f6dfe8b154762aaa8dd02 Mon Sep 17 00:00:00 2001
-From: Bruce Ashfield <bruce.ashfield@windriver.com>
-Date: Thu, 19 Apr 2018 16:39:41 -0400
-Subject: [PATCH] build: drop recvtty and use GOBUILDFLAGS
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
----
- Makefile | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/src/import/Makefile b/src/import/Makefile
-index c6de11d..0e9bddb 100644
---- a/src/import/Makefile
-+++ b/src/import/Makefile
-@@ -39,8 +39,7 @@ contrib/cmd/recvtty/recvtty: $(SOURCES)
- 	$(GO) build -buildmode=pie $(EXTRA_FLAGS) -ldflags "-X main.gitCommit=${COMMIT} -X main.version=${VERSION} $(EXTRA_LDFLAGS)" -tags "$(BUILDTAGS)" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty
- 
- static: $(SOURCES)
--	CGO_ENABLED=1 $(GO) build $(EXTRA_FLAGS) -tags "$(BUILDTAGS) netgo cgo static_build" -installsuffix netgo -ldflags "-w -extldflags -static -X main.gitCommit=${COMMIT} -X main.version=${VERSION} $(EXTRA_LDFLAGS)" -o runc .
--	CGO_ENABLED=1 $(GO) build $(EXTRA_FLAGS) -tags "$(BUILDTAGS) netgo cgo static_build" -installsuffix netgo -ldflags "-w -extldflags -static -X main.gitCommit=${COMMIT} -X main.version=${VERSION} $(EXTRA_LDFLAGS)" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty
-+	CGO_ENABLED=1 $(GO) build -tags "$(BUILDTAGS) netgo cgo static_build" -installsuffix netgo -ldflags "-w -extldflags -static -X main.gitCommit=${COMMIT} -X main.version=${VERSION} $(EXTRA_LDFLAGS)" $(GOBUILDFLAGS) -o runc .
- 
- release:
- 	script/release.sh -r release/$(VERSION) -v $(VERSION)
--- 
-2.7.4
-
diff --git a/import-layers/meta-virtualization/recipes-containers/runc/runc-docker/0001-runc-Add-console-socket-dev-null.patch b/import-layers/meta-virtualization/recipes-containers/runc/runc-docker/0001-runc-Add-console-socket-dev-null.patch
deleted file mode 100644
index 48c1250..0000000
--- a/import-layers/meta-virtualization/recipes-containers/runc/runc-docker/0001-runc-Add-console-socket-dev-null.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 3fff2a3505fba1d1ff0074edff15708a77f6cfa9 Mon Sep 17 00:00:00 2001
-From: Jason Wessel <jason.wessel@windriver.com>
-Date: Wed, 12 Jul 2017 13:35:03 -0700
-Subject: [PATCH] runc: Add --console-socket=/dev/null
-
-This allows for setting up a detached session where you do not want to
-set the terminal to false in the config.json.  More or less this is a
-runtime override.
-
-Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
----
- utils_linux.go | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/utils_linux.go b/utils_linux.go
-index 8085f7fe..e6d31b35 100644
---- a/src/import/utils_linux.go
-+++ b/src/import/utils_linux.go
-@@ -227,6 +227,11 @@ type runner struct {
- }
- 
- func (r *runner) run(config *specs.Process) (int, error) {
-+	if (r.consoleSocket == "/dev/null") {
-+		r.detach = false
-+		r.consoleSocket = ""
-+		config.Terminal = false
-+	}
- 	if err := r.checkTerminal(config); err != nil {
- 		r.destroy()
- 		return -1, err
--- 
-2.11.0
-
diff --git a/import-layers/meta-virtualization/recipes-containers/runc/runc-docker/0001-runc-docker-SIGUSR1-daemonize.patch b/import-layers/meta-virtualization/recipes-containers/runc/runc-docker/0001-runc-docker-SIGUSR1-daemonize.patch
deleted file mode 100644
index 9ccbccb..0000000
--- a/import-layers/meta-virtualization/recipes-containers/runc/runc-docker/0001-runc-docker-SIGUSR1-daemonize.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From cd7d76a6d1ecb1856f6ed666fb5c30dc105aa94e Mon Sep 17 00:00:00 2001
-From: Jason Wessel <jason.wessel@windriver.com>
-Date: Tue, 5 Dec 2017 18:28:28 -0800
-Subject: [PATCH] runc-docker: Allow "run start ..." to daemonize with $SIGUSR1_PARENT_PID
-
-The runc-docker has all the code in it to properly run a stop hook if
-you use it in the foreground.  It doesn't work in the back ground
-because there is no way for a golang application to fork a child exit
-out of the parent process because all the golang threads stay with the
-parent.
-
-This patch has three parts that happen ONLY when $SIGUSR1_PARENT_PID
-is set.
-
-1) The code was copied which performs the normal the signal handling
-   block which is used for the foreground operation of runc.
-
-2) At the point where runc start would normally exit, it closes
-   stdin/stdout/stderr so it would be possible to daemonize "runc start ...".
-
-3) The code to send a SIGUSR1 to the parent process was added.  The
-   idea being that a parent process would simply exit at that point
-   because it was blocking until runc performed everything it was
-   required to perform.
-
-Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
----
- signals.go     | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++----
- utils_linux.go |  2 +-
- 2 files changed, 51 insertions(+), 5 deletions(-)
-
-Index: git/src/import/signals.go
-===================================================================
---- git.orig/src/import/signals.go
-+++ git/src/import/signals.go
-@@ -6,6 +6,7 @@
- 	"os"
- 	"os/signal"
- 	"syscall" // only for Signal
-+	"strconv"
- 
- 	"github.com/opencontainers/runc/libcontainer"
- 	"github.com/opencontainers/runc/libcontainer/system"
-@@ -56,9 +57,6 @@
- func (h *signalHandler) forward(process *libcontainer.Process, tty *tty, detach bool) (int, error) {
- 	// make sure we know the pid of our main process so that we can return
- 	// after it dies.
--	if detach && h.notifySocket == nil {
--		return 0, nil
--	}
- 
- 	pid1, err := process.Pid()
- 	if err != nil {
-@@ -68,12 +66,61 @@
- 	if h.notifySocket != nil {
- 		if detach {
- 			h.notifySocket.run(pid1)
--			return 0, nil
- 		} else {
- 			go h.notifySocket.run(0)
- 		}
- 	}
- 
-+	if (detach) {
-+		// This allows the parent process to daemonize this process
-+		// so long as stdin/stderr/stdout are closed
-+		if envVal := os.Getenv("SIGUSR1_PARENT_PID"); envVal != "" {
-+			// Close stdin/stdout/stderr
-+			os.Stdin.Close()
-+			os.Stdout.Close()
-+			os.Stderr.Close()
-+			// Notify parent to detach
-+			i, err := strconv.Atoi(envVal)
-+			if (err != nil) {
-+				return 0, nil
-+			}
-+			unix.Kill(i, unix.SIGUSR1)
-+			// Loop waiting on the child to signal or exit,
-+			// after which all stop hooks will be run
-+			for s := range h.signals {
-+				switch s {
-+				case unix.SIGCHLD:
-+					exits, err := h.reap()
-+					if err != nil {
-+						logrus.Error(err)
-+					}
-+					for _, e := range exits {
-+						logrus.WithFields(logrus.Fields{
-+							"pid":    e.pid,
-+							"status": e.status,
-+						}).Debug("process exited")
-+						if e.pid == pid1 {
-+							// call Wait() on the process even though we already have the exit
-+							// status because we must ensure that any of the go specific process
-+							// fun such as flushing pipes are complete before we return.
-+							process.Wait()
-+							if h.notifySocket != nil {
-+								h.notifySocket.Close()
-+							}
-+							return e.status, nil
-+						}
-+					}
-+				default:
-+					logrus.Debugf("sending signal to process %s", s)
-+					if err := unix.Kill(pid1, s.(syscall.Signal)); err != nil {
-+						logrus.Error(err)
-+					}
-+				}
-+			}
-+		}
-+		return 0, nil
-+	}
-+
- 	// Perform the initial tty resize. Always ignore errors resizing because
- 	// stdout might have disappeared (due to races with when SIGHUP is sent).
- 	_ = tty.resize()
-Index: git/src/import/utils_linux.go
-===================================================================
---- git.orig/src/import/utils_linux.go
-+++ git/src/import/utils_linux.go
-@@ -338,7 +338,7 @@
- 	if err != nil {
- 		r.terminate(process)
- 	}
--	if detach {
-+	if (detach && os.Getenv("SIGUSR1_PARENT_PID") == "") {
- 		return 0, nil
- 	}
- 	r.destroy()
diff --git a/import-layers/meta-virtualization/recipes-containers/runc/runc-docker_git.bb b/import-layers/meta-virtualization/recipes-containers/runc/runc-docker_git.bb
deleted file mode 100644
index 81e5a5d..0000000
--- a/import-layers/meta-virtualization/recipes-containers/runc/runc-docker_git.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-include runc.inc
-
-# Note: this rev is before the required protocol field, update when all components
-#       have been updated to match.
-SRCREV_runc-docker = "4fc53a81fb7c994640722ac585fa9ca548971871"
-SRC_URI = "git://github.com/opencontainers/runc;nobranch=1;name=runc-docker \
-           file://0001-runc-Add-console-socket-dev-null.patch \
-           file://0001-build-drop-recvtty-and-use-GOBUILDFLAGS.patch \
-           file://0001-runc-docker-SIGUSR1-daemonize.patch \
-          "
-
-RUNC_VERSION = "1.0.0-rc5"
diff --git a/import-layers/meta-virtualization/recipes-containers/runc/runc-opencontainers_git.bb b/import-layers/meta-virtualization/recipes-containers/runc/runc-opencontainers_git.bb
deleted file mode 100644
index ed48abf..0000000
--- a/import-layers/meta-virtualization/recipes-containers/runc/runc-opencontainers_git.bb
+++ /dev/null
@@ -1,7 +0,0 @@
-include runc.inc
-
-SRCREV = "58415b4b12650291f435db8770cea48207b78afe"
-SRC_URI = " \
-    git://github.com/opencontainers/runc;branch=master \
-    "
-RUNC_VERSION = "1.0.0-rc5"
diff --git a/import-layers/meta-virtualization/recipes-containers/runc/runc.inc b/import-layers/meta-virtualization/recipes-containers/runc/runc.inc
deleted file mode 100644
index 9199cef..0000000
--- a/import-layers/meta-virtualization/recipes-containers/runc/runc.inc
+++ /dev/null
@@ -1,64 +0,0 @@
-HOMEPAGE = "https://github.com/opencontainers/runc"
-SUMMARY = "runc container cli tools"
-DESCRIPTION = "runc is a CLI tool for spawning and running containers according to the OCI specification."
-
-# Apache-2.0 for containerd
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=435b266b3899aa8a959f17d41c56def8"
-
-S = "${WORKDIR}/git"
-
-PV = "${RUNC_VERSION}+git${SRCPV}"
-
-inherit go
-inherit goarch
-
-RRECOMMENDS_${PN} = "lxc docker"
-PROVIDES += "virtual/runc"
-RPROVIDES_${PN} = "virtual/runc"
-
-GO_IMPORT = "import"
-
-LIBCONTAINER_PACKAGE="github.com/opencontainers/runc/libcontainer"
-
-do_configure[noexec] = "1"
-EXTRA_OEMAKE="BUILDTAGS='' GO=${GO}"
-
-do_compile() {
-	# Set GOPATH. See 'PACKAGERS.md'. Don't rely on
-	# docker to download its dependencies but rather
-	# use dependencies packaged independently.
-	cd ${S}/src/import
-	rm -rf .gopath
-	dname=`dirname "${LIBCONTAINER_PACKAGE}"`
-	bname=`basename "${LIBCONTAINER_PACKAGE}"`
-	mkdir -p .gopath/src/${dname}
-
-	(cd .gopath/src/${dname}; ln -sf ../../../../../${bname} ${bname})
-	export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go"
-
-	# Fix up symlink for go-cross compiler
-	rm -f ${S}/src/import/vendor/src
-	ln -sf ./ ${S}/src/import/vendor/src
-
-	# Pass the needed cflags/ldflags so that cgo
-	# can find the needed headers files and libraries
-	export CGO_ENABLED="1"
-	export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-	export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-	export GO=${GO}
-
-	export CFLAGS=""
-	export LDFLAGS=""
-
-	oe_runmake static
-}
-
-do_install() {
-	mkdir -p ${D}/${bindir}
-
-	cp ${S}/src/import/runc ${D}/${bindir}/runc
-	ln -sf runc ${D}/${bindir}/docker-runc
-}
-
-INHIBIT_PACKAGE_STRIP = "1"
diff --git a/import-layers/meta-virtualization/recipes-containers/singularity/README b/import-layers/meta-virtualization/recipes-containers/singularity/README
deleted file mode 100644
index 582480f..0000000
--- a/import-layers/meta-virtualization/recipes-containers/singularity/README
+++ /dev/null
@@ -1,46 +0,0 @@
-Singularity is a container platform based on the principle of mobility of 
-compute, and it is designed for use within HPC clusters. For more info see
-singularity.lbl.gov.  
-
-To test whether the software functions correctly, you can use `singularity
-selftest`. This is what you would expect to see:
-
-~# singularity selftest
- + sh -c test -f /etc/singularity/singularity.conf                                     (retval=0) OK
- + test -u /usr/libexec/singularity/bin/action-suid                                    (retval=0) OK
- + test -u /usr/libexec/singularity/bin/create-suid                                    (retval=0) OK
- + test -u /usr/libexec/singularity/bin/expand-suid                                    (retval=0) OK
- + test -u /usr/libexec/singularity/bin/export-suid                                    (retval=0) OK
- + test -u /usr/libexec/singularity/bin/import-suid                                    (retval=0) OK
- + test -u /usr/libexec/singularity/bin/mount-suid                                     (retval=0) OK
-
-You can also pull a container from Docker Hub to prove full functionality
-(Test was performed on a Raspberry Pi 3, hence the arm32v7 part of the Docker
-link. Make sure you pull an image which is compatible with your hardware.) 
-For instance:
-
-~# singularity pull docker://arm32v7/debian:latest
-Initializing Singularity image subsystem
-Opening image file: debian-latest.img
-Creating 200MiB image
-Binding image to loop
-Creating file system within image
-Image is done: debian-latest.img
-Docker image path: index.docker.io/arm32v7/debian:latest
-Cache folder set to /home/root/.singularity/docker
-[1/1] |===================================| 100.0% 
-Importing: base Singularity environment
-Importing: /home/root/.singularity/docker/sha256:ed4f1f0d0a0457e7f76ffb25a8d6a193007709dd312b7647cb44fc6979ec4a53.tar.gz
-Importing: /home/root/.singularity/metadata/sha256:89997b2c16b29c5a3a316e314172ef21b36f67cc3200b1c4d95927f716dbee83.tar.gz
-Done. Container is at: debian-latest.img
-~# singularity shell debian-latest.img 
-Singularity: Invoking an interactive shell within container...
-
-Singularity debian-latest.img:~> echo "Hello from within the container!"
-Hello from within the container!
-Singularity debian-latest.img:~> ls /
-bin   dev  home  lost+found  mnt  proc	run   singularity  sys	usr
-boot  etc  lib	 media	     opt  root	sbin  srv	   tmp	var
-Singularity debian-latest.img:~> exit
-exit
-~# 
diff --git a/import-layers/meta-virtualization/recipes-containers/singularity/singularity_git.bb b/import-layers/meta-virtualization/recipes-containers/singularity/singularity_git.bb
deleted file mode 100644
index 6fee8f3..0000000
--- a/import-layers/meta-virtualization/recipes-containers/singularity/singularity_git.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-# Skip QA check for library symbolic links (core issue is a packaging problem within 
-# Singularity build / config: read up on the dev-so test for more info)
-INSANE_SKIP_${PN} += "dev-so"
-
-RDEPENDS_${PN} += "glibc python3 ca-certificates openssl bash e2fsprogs-mke2fs"
-# Singularity expects to find python3 under the name python, therefore both
-# cannot be installed at the same time.
-RCONFLICTS_${PN} = "python"
-
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYRIGHT.md;md5=be78c34e483dd7d8439358b1e024b294 \
-                    file://LICENSE-LBNL.md;md5=45a007b527e1a9507aa7fa869f8d7ede \
-                    file://LICENSE.md;md5=df4326b473db6424033f1d98a5645e30 \
-                    file://debian/copyright;md5=ed267cf386d9b75ab1f27f407e935b10"
-
-SRC_URI = "git://github.com/singularityware/singularity.git;protocol=https"
-PV = "2.3.1+git${SRCPV}"
-SRCREV = "e214d4ebf0a1274b1c63b095fd55ae61c7e92947"
-
-S = "${WORKDIR}/git"
-
-inherit pythonnative autotools-brokensep
-EXTRA_OECONF = "--prefix=/usr/local"
-
-pkg_postinst_${PN}() {
-    # Singularity requires "python" to resolve to "python3" within the commandline.
-    # This creates a symbolic link from python3 to python. A side-effect of this is
-    # that scripts which expect Python 2 may fail to run correctly.
-    ln -sr $D${bindir}/python3 $D${bindir}/python 
-
-    # python3 expects CA certificates to be installed in a different place to where
-    # they are actually installed. These lines link the two locations.
-    rm -r $D${libdir}/ssl-1.1/certs
-    ln -sr $D${sysconfdir}/ssl/certs $D${libdir}/ssl-1.1 
-}
diff --git a/import-layers/meta-virtualization/recipes-core/busybox/busybox/getopt.cfg b/import-layers/meta-virtualization/recipes-core/busybox/busybox/getopt.cfg
deleted file mode 100644
index 8dcd350..0000000
--- a/import-layers/meta-virtualization/recipes-core/busybox/busybox/getopt.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_GETOPT=y
-CONFIG_FEATURE_GETOPT_LONG=y
diff --git a/import-layers/meta-virtualization/recipes-core/busybox/busybox/lspci.cfg b/import-layers/meta-virtualization/recipes-core/busybox/busybox/lspci.cfg
deleted file mode 100644
index 6458af8..0000000
--- a/import-layers/meta-virtualization/recipes-core/busybox/busybox/lspci.cfg
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_LSPCI=y
diff --git a/import-layers/meta-virtualization/recipes-core/busybox/busybox/lsusb.cfg b/import-layers/meta-virtualization/recipes-core/busybox/busybox/lsusb.cfg
deleted file mode 100644
index 2aba6ef..0000000
--- a/import-layers/meta-virtualization/recipes-core/busybox/busybox/lsusb.cfg
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_LSUSB=y
diff --git a/import-layers/meta-virtualization/recipes-core/busybox/busybox/mdev.cfg b/import-layers/meta-virtualization/recipes-core/busybox/busybox/mdev.cfg
deleted file mode 100644
index f8d6da8..0000000
--- a/import-layers/meta-virtualization/recipes-core/busybox/busybox/mdev.cfg
+++ /dev/null
@@ -1,6 +0,0 @@
-CONFIG_MDEV=y
-CONFIG_FEATURE_MDEV_CONF=y
-CONFIG_FEATURE_MDEV_RENAME=y
-CONFIG_FEATURE_MDEV_RENAME_REGEXP=y
-CONFIG_FEATURE_MDEV_EXEC=y
-CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
diff --git a/import-layers/meta-virtualization/recipes-core/busybox/busybox/mount-cifs.cfg b/import-layers/meta-virtualization/recipes-core/busybox/busybox/mount-cifs.cfg
deleted file mode 100644
index 88f0404..0000000
--- a/import-layers/meta-virtualization/recipes-core/busybox/busybox/mount-cifs.cfg
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_FEATURE_MOUNT_CIFS=y
diff --git a/import-layers/meta-virtualization/recipes-core/busybox/busybox/ps-extras.cfg b/import-layers/meta-virtualization/recipes-core/busybox/busybox/ps-extras.cfg
deleted file mode 100644
index 7434635..0000000
--- a/import-layers/meta-virtualization/recipes-core/busybox/busybox/ps-extras.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-CONFIG_DESKTOP=y
-CONFIG_FEATURE_PS_TIME=y
-CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y
diff --git a/import-layers/meta-virtualization/recipes-core/busybox/busybox_%.bbappend b/import-layers/meta-virtualization/recipes-core/busybox/busybox_%.bbappend
deleted file mode 100644
index 617cacc..0000000
--- a/import-layers/meta-virtualization/recipes-core/busybox/busybox_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', '${BPN}_virtualization.inc', '', d)}
diff --git a/import-layers/meta-virtualization/recipes-core/busybox/busybox_virtualization.inc b/import-layers/meta-virtualization/recipes-core/busybox/busybox_virtualization.inc
deleted file mode 100644
index d9c4e67..0000000
--- a/import-layers/meta-virtualization/recipes-core/busybox/busybox_virtualization.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/busybox:"
-
-SRC_URI += " \
-	    file://lspci.cfg \
-	    file://lsusb.cfg \
-	    file://mdev.cfg \
-	    file://mount-cifs.cfg \
-	    file://ps-extras.cfg \
-	    file://getopt.cfg \
-           "
diff --git a/import-layers/meta-virtualization/recipes-core/initscripts/initscripts_1.%.bbappend b/import-layers/meta-virtualization/recipes-core/initscripts/initscripts_1.%.bbappend
deleted file mode 100644
index 0600ab2..0000000
--- a/import-layers/meta-virtualization/recipes-core/initscripts/initscripts_1.%.bbappend
+++ /dev/null
@@ -1,16 +0,0 @@
-do_install_append() {
-
-	echo                  >> ${D}${sysconfdir}/init.d/functions
-	echo success \(\) \{  >> ${D}${sysconfdir}/init.d/functions
-	echo \ \ \ \ echo \$* >> ${D}${sysconfdir}/init.d/functions
-	echo \}               >> ${D}${sysconfdir}/init.d/functions
-	echo failure \(\) \{  >> ${D}${sysconfdir}/init.d/functions
-	echo \ \ \ \ echo \$* >> ${D}${sysconfdir}/init.d/functions
-	echo \}               >> ${D}${sysconfdir}/init.d/functions
-	echo warning \(\) \{  >> ${D}${sysconfdir}/init.d/functions
-	echo \ \ \ \ echo \$* >> ${D}${sysconfdir}/init.d/functions
-	echo \}               >> ${D}${sysconfdir}/init.d/functions
-	echo begin \(\) \{  >> ${D}${sysconfdir}/init.d/functions
-	echo \ \ \ \ echo \$* >> ${D}${sysconfdir}/init.d/functions
-	echo \}               >> ${D}${sysconfdir}/init.d/functions
-}
diff --git a/import-layers/meta-virtualization/recipes-core/runv/runv_git.bb b/import-layers/meta-virtualization/recipes-core/runv/runv_git.bb
deleted file mode 100644
index 0301dd2..0000000
--- a/import-layers/meta-virtualization/recipes-core/runv/runv_git.bb
+++ /dev/null
@@ -1,82 +0,0 @@
-HOMEPAGE = "https://github.com/hyperhq/runv"
-SUMMARY = "Hypervisor-based Runtime for OCI"
-DESCRIPTION = "Hypervisor-based Runtime for OCI"
-
-SRCREV_runv = "b360a686abc6c6e896382990ef1b93ef07c7a677"
-SRC_URI = "\
-	git://github.com/hyperhq/runv.git;nobranch=1;name=runv \
-	"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=4106a50540bdec3b9734f9c70882d382"
-
-GO_IMPORT = "import"
-
-PV = "0.4.0+git${SRCREV_runv}"
-
-inherit go
-inherit goarch
-inherit pkgconfig
-inherit autotools-brokensep
-
-PACKAGECONFIG[xen] = "--with-xen,--without-xen,"
-AUTOTOOLS_SCRIPT_PATH = "${S}/src/import/"
-
-RDEPENDS_${PN} += " qemu hyperstart"
-
-do_compile() {
-	export GOARCH="${TARGET_GOARCH}"
-	export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go"
-	export GOPATH="${S}/src/import:${S}/src/import/vendor"
-
-	# Pass the needed cflags/ldflags so that cgo
-	# can find the needed headers files and libraries
-	export CGO_ENABLED="1"
-	export CFLAGS=""
-	export LDFLAGS=""
-	export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-	export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-
-	# link fixups for compilation
-	rm -f ${S}/src/import/vendor/src
-	ln -sf ./ ${S}/src/import/vendor/src
-
-	mkdir -p ${S}/src/import/vendor/github.com/hyperhq/runv
-
-	echo fff
-	pwd
-	ln -sf src/import/cli
-	ln -sf ../../../../api ${S}/src/import/vendor/github.com/hyperhq/runv/api
-	ln -sf ../../../../cli ${S}/src/import/vendor/github.com/hyperhq/runv/cli
-	ln -sf ../../../../lib ${S}/src/import/vendor/github.com/hyperhq/runv/lib
-	ln -sf ../../../../driverloader ${S}/src/import/vendor/github.com/hyperhq/runv/driverloader
-	ln -sf ../../../../factory ${S}/src/import/vendor/github.com/hyperhq/runv/factory
-	ln -sf ../../../../hyperstart ${S}/src/import/vendor/github.com/hyperhq/runv/hyperstart
-	ln -sf ../../../../hypervisor ${S}/src/import/vendor/github.com/hyperhq/runv/hypervisor
-	ln -sf ../../../../template ${S}/src/import/vendor/github.com/hyperhq/runv/template
-
-	export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go"
-	export GOROOT="${STAGING_DIR_NATIVE}/${nonarch_libdir}/${HOST_SYS}/go"
-
-	# Pass the needed cflags/ldflags so that cgo
-	# can find the needed headers files and libraries
-	export CGO_ENABLED="1"
-	export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-	export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-
-	oe_runmake build-runv
-}
-
-do_install() {
-    localbindir="/usr/local/bin"
-
-    install -d ${D}${localbindir}
-    install -m 755 ${S}/runv ${D}/${localbindir}
-}
-
-deltask compile_ptest_base
-
-FILES_${PN} += "/usr/local/bin/*"
-
-INHIBIT_PACKAGE_STRIP = "1"
-INSANE_SKIP_${PN} += "ldflags already-stripped"
diff --git a/import-layers/meta-virtualization/recipes-core/sysvinit/sysvinit-inittab_2.%.bbappend b/import-layers/meta-virtualization/recipes-core/sysvinit/sysvinit-inittab_2.%.bbappend
deleted file mode 100644
index 8c08832..0000000
--- a/import-layers/meta-virtualization/recipes-core/sysvinit/sysvinit-inittab_2.%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@bb.utils.contains('DISTRO_FEATURES', 'xen', 'sysvinit-inittab_xen.inc', '', d)}
diff --git a/import-layers/meta-virtualization/recipes-core/sysvinit/sysvinit-inittab_xen.inc b/import-layers/meta-virtualization/recipes-core/sysvinit/sysvinit-inittab_xen.inc
deleted file mode 100644
index 9d0589c..0000000
--- a/import-layers/meta-virtualization/recipes-core/sysvinit/sysvinit-inittab_xen.inc
+++ /dev/null
@@ -1,4 +0,0 @@
-do_install_append() {
-                echo "" >> ${D}${sysconfdir}/inittab
-                echo "X0:12345:respawn:/sbin/getty 115200 hvc0" >> ${D}${sysconfdir}/inittab
-}
diff --git a/import-layers/meta-virtualization/recipes-devtools/go/compose-file_git.bb b/import-layers/meta-virtualization/recipes-devtools/go/compose-file_git.bb
deleted file mode 100644
index bcf8c3d..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/go/compose-file_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-DESCRIPTION = "Parser for the Compose file format (version 3)"
-HOMEPAGE = "https://github.com/aanand/compose-file"
-SECTION = "devel/go"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=9cd86830b557232ce55e2a6b47387471"
-
-SRCNAME = "compose-file"
-
-PKG_NAME = "github.com/aanand/${SRCNAME}"
-SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME}"
-
-SRCREV = "a3e58764f50597b6217fec07e9bff7225c4a1719"
-PV = "3.0+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-# NO-OP the do compile rule because this recipe is source only.
-do_compile() {
-}
-
-do_install() {
-	install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-	for j in $(cd ${S} && find src/${PKG_NAME} -name "*.go"); do
-	    if [ ! -d ${D}${prefix}/local/go/$(dirname $j) ]; then
-	        mkdir -p ${D}${prefix}/local/go/$(dirname $j)
-	    fi
-	    cp $j ${D}${prefix}/local/go/$j
-	done
-	cp -r ${S}/src/${PKG_NAME}/LICENSE ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "go_compose_file_sysroot_preprocess"
-
-go_compose_file_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
-
-CLEANBROKEN = "1"
\ No newline at end of file
diff --git a/import-layers/meta-virtualization/recipes-devtools/go/go-capability_git.bb b/import-layers/meta-virtualization/recipes-devtools/go/go-capability_git.bb
deleted file mode 100644
index 8524af6..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/go/go-capability_git.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-DESCRIPTION = "Utilities for manipulating POSIX capabilities in Go."
-HOMEPAGE = "https://github.com/syndtr/gocapability"
-SECTION = "devel/go"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a7304f5073e7be4ba7bffabbf9f2bbca"
-
-SRCNAME = "gocapability"
-
-PKG_NAME = "github.com/syndtr/${SRCNAME}"
-SRC_URI = "git://${PKG_NAME}.git"
-
-SRCREV = "2c00daeb6c3b45114c80ac44119e7b8801fdd852"
-PV = "0.0+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-do_install() {
-	install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-	cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "go_capability_sysroot_preprocess"
-
-go_capability_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
diff --git a/import-layers/meta-virtualization/recipes-devtools/go/go-cli_git.bb b/import-layers/meta-virtualization/recipes-devtools/go/go-cli_git.bb
deleted file mode 100644
index 21d01ac..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/go/go-cli_git.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-DESCRIPTION = "A small package for building command line apps in Go"
-HOMEPAGE = "https://github.com/codegangsta/cli"
-SECTION = "devel/go"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=ed9b539ed65d73926f30ff1f1587dc44"
-
-SRCNAME = "cli"
-
-PKG_NAME = "github.com/codegangsta/${SRCNAME}"
-SRC_URI = "git://${PKG_NAME}.git"
-
-SRCREV = "27ecc97192df1bf053a22b04463f2b51b8b8373e"
-PV = "1.1.0+git${SRCREV}"
-
-S = "${WORKDIR}/git"
-
-do_install() {
-	install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-	cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "go_cli_sysroot_preprocess"
-
-go_cli_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
diff --git a/import-layers/meta-virtualization/recipes-devtools/go/go-connections_git.bb b/import-layers/meta-virtualization/recipes-devtools/go/go-connections_git.bb
deleted file mode 100644
index 5d071b0..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/go/go-connections_git.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-DESCRIPTION = "Utility package to work with network connections"
-HOMEPAGE = "https://github.com/docker/connections"
-SECTION = "devel/go"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=04424bc6f5a5be60691b9824d65c2ad8"
-
-SRCNAME = "go-connections"
-
-PKG_NAME = "github.com/docker/${SRCNAME}"
-SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME}"
-
-SRCREV = "4ccf312bf1d35e5dbda654e57a9be4c3f3cd0366"
-PV = "0.2.1+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-# NO-OP the do compile rule because this recipe is source only.
-do_compile() {
-}
-
-do_install() {
-	install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-	for j in $(cd ${S} && find src/${PKG_NAME} -name "*.go"); do
-	    if [ ! -d ${D}${prefix}/local/go/$(dirname $j) ]; then
-	        mkdir -p ${D}${prefix}/local/go/$(dirname $j)
-	    fi
-	    cp $j ${D}${prefix}/local/go/$j
-	done
-	cp -r ${S}/src/${PKG_NAME}/LICENSE ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "go_connections_sysroot_preprocess"
-
-go_connections_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
diff --git a/import-layers/meta-virtualization/recipes-devtools/go/go-context_git.bb b/import-layers/meta-virtualization/recipes-devtools/go/go-context_git.bb
deleted file mode 100644
index 15f6a8d..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/go/go-context_git.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-DESCRIPTION = "A golang registry for global request variables."
-HOMEPAGE = "https://github.com/gorilla/context"
-SECTION = "devel/go"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c50f6bd9c1e15ed0bad3bea18e3c1b7f"
-
-SRCNAME = "context"
-
-PKG_NAME = "github.com/gorilla/${SRCNAME}"
-SRC_URI = "git://${PKG_NAME}.git"
-
-SRCREV = "14f550f51af52180c2eefed15e5fd18d63c0a64a"
-
-S = "${WORKDIR}/git"
-
-do_install() {
-	install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-	cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "go_context_sysroot_preprocess"
-
-go_context_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
diff --git a/import-layers/meta-virtualization/recipes-devtools/go/go-dbus_git.bb b/import-layers/meta-virtualization/recipes-devtools/go/go-dbus_git.bb
deleted file mode 100644
index 9b206a1..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/go/go-dbus_git.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-DESCRIPTION = "Native Go bindings for D-Bus"
-HOMEPAGE = "https://github.com/godbus/dbus"
-SECTION = "devel/go"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=09042bd5c6c96a2b9e45ddf1bc517eed"
-
-SRCNAME = "dbus"
-
-PKG_NAME = "github.com/godbus/${SRCNAME}"
-SRC_URI = "git://${PKG_NAME}.git"
-
-SRCREV = "5f6efc7ef2759c81b7ba876593971bfce311eab3"
-PV = "4.0.0+git${SRCREV}"
-
-S = "${WORKDIR}/git"
-
-do_install() {
-	install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-	cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "go_dbus_sysroot_preprocess"
-
-go_dbus_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
diff --git a/import-layers/meta-virtualization/recipes-devtools/go/go-distribution_git.bb b/import-layers/meta-virtualization/recipes-devtools/go/go-distribution_git.bb
deleted file mode 100644
index 9e3f209..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/go/go-distribution_git.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-DESCRIPTION = "The Docker toolset to pack, ship, store, and deliver content"
-HOMEPAGE = "https://github.com/docker/distribution"
-SECTION = "devel/go"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=d2794c0df5b907fdace235a619d80314"
-
-SRCNAME = "distribution"
-
-PKG_NAME = "github.com/docker/${SRCNAME}"
-SRC_URI = "git://${PKG_NAME}.git;branch=docker/1.13;destsuffix=git/src/${PKG_NAME}"
-
-SRCREV = "28602af35aceda2f8d571bad7ca37a54cf0250bc"
-PV = "2.6.0+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-# NO-OP the do compile rule because this recipe is source only.
-do_compile() {
-}
-
-do_install() {
-	install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-	for j in $(cd ${S} && find src/${PKG_NAME} -name "*.go"); do
-	    if [ ! -d ${D}${prefix}/local/go/$(dirname $j) ]; then
-	        mkdir -p ${D}${prefix}/local/go/$(dirname $j)
-	    fi
-	    cp $j ${D}${prefix}/local/go/$j
-	done
-	cp -r ${S}/src/${PKG_NAME}/LICENSE ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "go_distribution_digeset_sysroot_preprocess"
-
-go_distribution_digeset_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
diff --git a/import-layers/meta-virtualization/recipes-devtools/go/go-fsnotify_git.bb b/import-layers/meta-virtualization/recipes-devtools/go/go-fsnotify_git.bb
deleted file mode 100644
index 1d9fbdc..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/go/go-fsnotify_git.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-DESCRIPTION = "A golang registry for global request variables."
-HOMEPAGE = "https://github.com/go-fsnotify/fsnotify"
-SECTION = "devel/go"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c38914c9a7ab03bb2b96d4baaee10769"
-
-SRCNAME = "fsnotify"
-
-PKG_NAME = "github.com/fsnotify/${SRCNAME}"
-SRC_URI = "git://${PKG_NAME}.git"
-
-SRCREV = "836bfd95fecc0f1511dd66bdbf2b5b61ab8b00b6"
-PV = "1.2.11+git${SRCREV}"
-
-S = "${WORKDIR}/git"
-
-do_install() {
-	install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-	cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "go_fsnotify_sysroot_preprocess"
-
-go_fsnotify_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
diff --git a/import-layers/meta-virtualization/recipes-devtools/go/go-libtrust_git.bb b/import-layers/meta-virtualization/recipes-devtools/go/go-libtrust_git.bb
deleted file mode 100644
index 5565946..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/go/go-libtrust_git.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-DESCRIPTION = "Primitives for identity and authorization"
-HOMEPAGE = "https://github.com/docker/libtrust"
-SECTION = "devel/go"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=435b266b3899aa8a959f17d41c56def8"
-
-SRCNAME = "libtrust"
-
-PKG_NAME = "github.com/docker/${SRCNAME}"
-SRC_URI = "git://${PKG_NAME}.git"
-
-SRCREV = "9cbd2a1374f46905c68a4eb3694a130610adc62a"
-PV = "0.0+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-do_install() {
-	install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-	cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "go_libtrust_sysroot_preprocess"
-
-go_libtrust_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
diff --git a/import-layers/meta-virtualization/recipes-devtools/go/go-logrus_git.bb b/import-layers/meta-virtualization/recipes-devtools/go/go-logrus_git.bb
deleted file mode 100644
index 5c0c359..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/go/go-logrus_git.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-DESCRIPTION = "A golang registry for global request variables."
-HOMEPAGE = "https://github.com/Sirupsen/logrus"
-SECTION = "devel/go"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8dadfef729c08ec4e631c4f6fc5d43a0"
-
-SRCNAME = "logrus"
-
-PKG_NAME = "github.com/Sirupsen/${SRCNAME}"
-SRC_URI = "git://${PKG_NAME}.git"
-
-SRCREV = "d26492970760ca5d33129d2d799e34be5c4782eb"
-PV = "0.11.0+git${SRCREV}"
-
-S = "${WORKDIR}/git"
-
-do_install() {
-	install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-	cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "go_logrus_sysroot_preprocess"
-
-go_logrus_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
diff --git a/import-layers/meta-virtualization/recipes-devtools/go/go-mux_git.bb b/import-layers/meta-virtualization/recipes-devtools/go/go-mux_git.bb
deleted file mode 100644
index 7a2025a..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/go/go-mux_git.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-DESCRIPTION = "A powerful URL router and dispatcher for golang."
-HOMEPAGE = "https://github.com/gorilla/mux"
-SECTION = "devel/go"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c50f6bd9c1e15ed0bad3bea18e3c1b7f"
-
-SRCNAME = "mux"
-
-PKG_NAME = "github.com/gorilla/${SRCNAME}"
-SRC_URI = "git://${PKG_NAME}.git"
-
-SRCREV = "136d54f81f00414c45c3c68dd47e98cc97519c5e"
-
-S = "${WORKDIR}/git"
-
-do_install() {
-	install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-	cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "go_mux_sysroot_preprocess"
-
-go_mux_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
diff --git a/import-layers/meta-virtualization/recipes-devtools/go/go-patricia_git.bb b/import-layers/meta-virtualization/recipes-devtools/go/go-patricia_git.bb
deleted file mode 100644
index 8c1e10d..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/go/go-patricia_git.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-DESCRIPTION = "A generic patricia trie (also called radix tree) implemented in Go (Golang)"
-HOMEPAGE = "https://github.com/gorilla/context"
-SECTION = "devel/go"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=9949b99212edd6b1e24ce702376c3baf"
-
-SRCNAME = "go-patricia"
-
-PKG_NAME = "github.com/tchap/${SRCNAME}"
-SRC_URI = "git://${PKG_NAME}.git"
-
-SRCREV = "666120de432aea38ab06bd5c818f04f4129882c9"
-PV = "2.2.6+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-do_install() {
-	install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-	cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "go_patricia_sysroot_preprocess"
-
-go_patricia_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
diff --git a/import-layers/meta-virtualization/recipes-devtools/go/go-pty_git.bb b/import-layers/meta-virtualization/recipes-devtools/go/go-pty_git.bb
deleted file mode 100644
index bc94b31..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/go/go-pty_git.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-DESCRIPTION = "PTY interface for Go"
-HOMEPAGE = "https://github.com/kr/pty"
-SECTION = "devel/go"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://License;md5=93958070863d769117fa33b129020050"
-
-SRCNAME = "pty"
-
-PKG_NAME = "github.com/kr/${SRCNAME}"
-SRC_URI = "git://${PKG_NAME}.git"
-
-SRCREV = "05017fcccf23c823bfdea560dcc958a136e54fb7"
-
-S = "${WORKDIR}/git"
-
-do_install() {
-	install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-	cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "go_pty_sysroot_preprocess"
-
-go_pty_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
diff --git a/import-layers/meta-virtualization/recipes-devtools/go/go-systemd_git.bb b/import-layers/meta-virtualization/recipes-devtools/go/go-systemd_git.bb
deleted file mode 100644
index b61c97a..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/go/go-systemd_git.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-DESCRIPTION = "Go bindings to systemd socket activation, journal, D-Bus, and unit files"
-HOMEPAGE = "https://github.com/coreos/go-systemd"
-SECTION = "devel/go"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=19cbd64715b51267a47bf3750cc6a8a5"
-
-SRCNAME = "systemd"
-
-PKG_NAME = "github.com/coreos/go-${SRCNAME}"
-SRC_URI = "git://${PKG_NAME}.git"
-
-SRCREV = "b4a58d95188dd092ae20072bac14cece0e67c388"
-PV = "4+git${SRCREV}"
-
-RDEPENDS_${PN} += "bash"
-
-S = "${WORKDIR}/git"
-
-do_install() {
-	install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-	cp -r ${S}/* ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "go_systemd_sysroot_preprocess"
-
-go_systemd_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
diff --git a/import-layers/meta-virtualization/recipes-devtools/go/grpc-go_git.bb b/import-layers/meta-virtualization/recipes-devtools/go/grpc-go_git.bb
deleted file mode 100644
index 48c4249..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/go/grpc-go_git.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-DESCRIPTION = "The Go language implementation of gRPC. HTTP/2 based RPC"
-HOMEPAGE = "https://github.com/grpc/grpc-go"
-SECTION = "devel/go"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=a4bad33881612090c6035d8393175996"
-
-SRCNAME = "grpc-go"
-
-PKG_NAME = "google.golang.org/grpc"
-SRC_URI = "git://github.com/grpc/${SRCNAME}.git;destsuffix=git/src/${PKG_NAME}"
-
-SRCREV = "777daa17ff9b5daef1cfdf915088a2ada3332bf0"
-PV = "1.4.0+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-# NO-OP the do compile rule because this recipe is source only.
-do_compile() {
-}
-
-do_install() {
-	install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-	for j in $(cd ${S} && find src/${PKG_NAME} -name "*.go"); do
-	    if [ ! -d ${D}${prefix}/local/go/$(dirname $j) ]; then
-	        mkdir -p ${D}${prefix}/local/go/$(dirname $j)
-	    fi
-	    cp $j ${D}${prefix}/local/go/$j
-	done
-	cp -r ${S}/src/${PKG_NAME}/LICENSE ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "go_grpc_sysroot_preprocess"
-
-go_grpc_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += " \
-    ${prefix}/local/go/src/${PKG_NAME}/* \
-"
diff --git a/import-layers/meta-virtualization/recipes-devtools/go/notary_git.bb b/import-layers/meta-virtualization/recipes-devtools/go/notary_git.bb
deleted file mode 100644
index d638dc1..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/go/notary_git.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-DESCRIPTION = "Notary is a Docker project that allows anyone to have trust over arbitrary collections of data"
-HOMEPAGE = "https://github.com/docker/notary"
-SECTION = "devel/go"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://src/${PKG_NAME}/LICENSE;md5=771ddb425ba03c8fab49e5bd9854a4a2"
-
-SRCNAME = "notary"
-
-PKG_NAME = "github.com/docker/${SRCNAME}"
-SRC_URI = "git://${PKG_NAME}.git;destsuffix=git/src/${PKG_NAME}"
-
-SRCREV = "c8aa8cf53cbcda2e92def0c9291e25d770493494"
-PV = "0.4.2+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-# NO-OP the do compile rule because this recipe is source only.
-do_compile() {
-}
-
-do_install() {
-	install -d ${D}${prefix}/local/go/src/${PKG_NAME}
-	for j in $(cd ${S} && find src/${PKG_NAME} -name "*.go"); do
-	    if [ ! -d ${D}${prefix}/local/go/$(dirname $j) ]; then
-	        mkdir -p ${D}${prefix}/local/go/$(dirname $j)
-	    fi
-	    cp $j ${D}${prefix}/local/go/$j
-	done
-	cp -r ${S}/src/${PKG_NAME}/LICENSE ${D}${prefix}/local/go/src/${PKG_NAME}/
-}
-
-SYSROOT_PREPROCESS_FUNCS += "go_notary_sysroot_preprocess"
-
-go_notary_sysroot_preprocess () {
-    install -d ${SYSROOT_DESTDIR}${prefix}/local/go/src/${PKG_NAME}
-    cp -r ${D}${prefix}/local/go/src/${PKG_NAME} ${SYSROOT_DESTDIR}${prefix}/local/go/src/$(dirname ${PKG_NAME})
-}
-
-FILES_${PN} += "${prefix}/local/go/src/${PKG_NAME}/*"
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/gunicorn_19.1.1.bb b/import-layers/meta-virtualization/recipes-devtools/python/gunicorn_19.1.1.bb
deleted file mode 100644
index 5c8ea48..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/gunicorn_19.1.1.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-SUMMARY = "WSGI HTTP Server for UNIX"
-DESCRIPTION = "\
-  Gunicorn ‘Green Unicorn’ is a Python WSGI HTTP Server for UNIX. It’s \
-  a pre-fork worker model ported from Ruby’s Unicorn project. The \
-  Gunicorn server is broadly compatible with various web frameworks, \
-  simply implemented, light on server resource usage, and fairly speedy. \
-  " 
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=19a2e253a273e390cd1b91d19b6ee236"
-
-SRC_URI = "https://pypi.python.org/packages/source/g/gunicorn/${BPN}-${PV}.tar.gz"
-SRC_URI[md5sum] = "eaa72bff5341c05169b76ce3dcbb8140"
-SRC_URI[sha256sum] = "82715511fb6246fad4ba66d812eb93416ae8371b464fa88bf3867c9c177daa14"
-
-inherit setuptools
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-backports-lzma/fix_paths.patch b/import-layers/meta-virtualization/recipes-devtools/python/python-backports-lzma/fix_paths.patch
deleted file mode 100644
index c2b374f..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-backports-lzma/fix_paths.patch
+++ /dev/null
@@ -1,17 +0,0 @@
----
- setup.py |    4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/setup.py
-+++ b/setup.py
-@@ -32,8 +32,8 @@
- extens = [Extension('backports/lzma/_lzma',
-                     ['backports/lzma/_lzmamodule.c'],
-                     libraries = ['lzma'],
--                    include_dirs = [os.path.join(home, 'include'), '/opt/local/include', '/usr/local/include'],
--                    library_dirs = [os.path.join(home, 'lib'), '/opt/local/lib', '/usr/local/lib']
-+                    include_dirs = [],
-+                    library_dirs = []
-                     )]
- 
- descr = "Backport of Python 3.3's 'lzma' module for XZ/LZMA compressed files."
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-backports-lzma_0.0.3.bb b/import-layers/meta-virtualization/recipes-devtools/python/python-backports-lzma_0.0.3.bb
deleted file mode 100644
index a3586c0..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-backports-lzma_0.0.3.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-HOMEPAGE = "https://github.com/peterjc/backports.lzma"
-SUMMARY = "\
-  Backport of Python 3.3's 'lzma' module for XZ/LZMA compressed files."
-DESCRIPTION = "\
-  This is a backport of the 'lzma' module included in Python 3.3 or later \
-  by Nadeem Vawda and Per Oyvind Karlsen, which provides a Python wrapper \
-  for XZ Utils (aka LZMA Utils v2) by Igor Pavlov. \
-  . \
-  In order to compile this, you will need to install XZ Utils from \
-  http://tukaani.org/xz/ \
-  "
-SECTION = "devel/python"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=db4345b3b9524aabc8fe8c65f235c6b2"
-
-SRC_URI[md5sum] = "c3d109746aefa86268e500c07d7e8e0f"
-SRC_URI[sha256sum] = "bac58aec8d39ac3d22250840fb24830d0e4a0ef05ad8f3f09172dc0cc80cdbca"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit setuptools
-
-DEPENDS += "xz"
-
-SRCNAME = "backports.lzma"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI = "\
-	https://pypi.python.org/packages/source/b/backports.lzma/${SRCNAME}-${PV}.tar.gz \
-	file://fix_paths.patch \
-	"
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-blinker_1.3.bb b/import-layers/meta-virtualization/recipes-devtools/python/python-blinker_1.3.bb
deleted file mode 100644
index 8abb9c0..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-blinker_1.3.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-HOMEPAGE = "https://pypi.python.org/pypi/blinker"
-SUMMARY = "Fast, simple object-to-object and broadcast signaling"
-DESCRIPTION = " \
-  Blinker provides a fast dispatching system that allows any number of \
-  interested parties to subscribe to events, or “signals”. \
-  . \
-  Signal receivers can subscribe to specific senders or receive signals \
-  sent by any sender. \
-  "
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=8baf1d53a00de619f60052e4752a89af"
-
-SRCNAME = "blinker"
-SRC_URI = "https://pypi.python.org/packages/source/b/blinker/${SRCNAME}-${PV}.tar.gz"
-SRC_URI[md5sum] = "66e9688f2d287593a0e698cd8a5fbc57"
-SRC_URI[sha256sum] = "6811010809262261e41ab7b92f3f6d23f35cf816fbec2bc05077992eebec6e2f"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-DEFAULT_PREFERENCE = "-1"
-
-inherit setuptools
-
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-boto_2.34.0.bb b/import-layers/meta-virtualization/recipes-devtools/python/python-boto_2.34.0.bb
deleted file mode 100644
index f94f324..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-boto_2.34.0.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-HOMEPAGE = "https://github.com/boto/boto"
-SUMMARY = "Amazon Web Services API"
-DESCRIPTION = "\
-  Boto is a Python package that provides interfaces to Amazon Web Services. \
-  Currently, all features work with Python 2.6 and 2.7. Work is under way to \
-  support Python 3.3+ in the same codebase. Modules are being ported one at \
-  a time with the help of the open source community, so please check below \
-  for compatibility with Python 3.3+. \
-  "
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://setup.py;md5=182ef81236d3fac2c6ed8e8d3c988ec8"
-
-PR = "r0"
-SRCNAME = "boto"
-
-SRC_URI = "https://pypi.python.org/packages/source/b/boto/${SRCNAME}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "5556223d2d0cc4d06dd4829e671dcecd"
-SRC_URI[sha256sum] = "33baab022ecb803414ad0d6cf4041d010cfc2755ff8acc3bea7b32e77ba98be0"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit setuptools
-
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-bugsnag_2.0.2.bb b/import-layers/meta-virtualization/recipes-devtools/python/python-bugsnag_2.0.2.bb
deleted file mode 100644
index edf880f..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-bugsnag_2.0.2.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-HOMEPAGE = "https://bugsnag.com/"
-SUMMARY = "Automatic error monitoring for django, flask, etc."
-DESCRIPTION = "\
-  The official Python notifier for `Bugsnag <https://bugsnag.com/>`_. \
-  Provides support for automatically capturing and sending exceptions \
-  in your Django and other Python apps to Bugsnag, to help you find \
-  and solve your bugs as fast as possible. \
-  "
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=f6df6ab9f1b615a140ebb2a48f61bddc"
-
-PR = "r0"
-SRCNAME = "bugsnag"
-
-SRC_URI = "https://pypi.python.org/packages/source/b/bugsnag/${SRCNAME}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "e16360d86979890892cd388635f213e7"
-SRC_URI[sha256sum] = "093934b3cd1d36ba2b89cfe1673b14ba59043417fe500a02dbf6de0df43ea962"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit setuptools
-
-DEPENDS += "python-webob python-flask python-blinker"
-
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-docker-registry-core_2.0.3.bb b/import-layers/meta-virtualization/recipes-devtools/python/python-docker-registry-core_2.0.3.bb
deleted file mode 100644
index 7aa6825..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-docker-registry-core_2.0.3.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-HOMEPAGE = "https://pypi.python.org/pypi/docker-registry-core"
-SUMMARY = "Docker registry core package"
-DESCRIPTION = "core package for docker-registry (drivers) developers"
-SECTION = "devel/python"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-SRCNAME = "docker-registry-core"
-
-SRC_URI = "https://pypi.python.org/packages/source/d/docker-registry-core/${SRCNAME}-${PV}.tar.gz"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-SRC_URI[md5sum] = "610ef9395f2e9a2f91c68d13325fce7b"
-SRC_URI[sha256sum] = "347e804f1f35b28dbe27bf8d7a0b630fca29d684032139bf26e3940572360360"
-
-inherit setuptools
-
-DEPENDS += "\
-	python-distribute \
-	python-boto (= 2.34.0) \
-	python-redis (= 2.10.3) \
-	python-simplejson (= 3.6.2) \
-	"
-
-# boto 2.34.0
-# redis 2.10.3
-# simplejson 3.6.2
-# setuptools 5.8
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-docopt.inc b/import-layers/meta-virtualization/recipes-devtools/python/python-docopt.inc
deleted file mode 100644
index 4f464c1..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-docopt.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Pythonic argument parser, that will make you smile"
-HOMEPAGE = "http://docopt.org/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE-MIT;md5=09b77fb74986791a3d4a0e746a37d88f"
-
-inherit pypi
-
-SRC_URI[md5sum] = "4bc74561b37fad5d3e7d037f82a4c3b1"
-SRC_URI[sha256sum] = "49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491"
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-flask-cors_1.10.3.bb b/import-layers/meta-virtualization/recipes-devtools/python/python-flask-cors_1.10.3.bb
deleted file mode 100644
index c39e9b2..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-flask-cors_1.10.3.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-HOMEPAGE = "https://pypi.python.org/pypi/Flask-Cors/1.10.3"
-SUMMARY = "A Flask extension adding a decorator for CORS support"
-DESCRIPTION = "\
-  A Flask extension for handling Cross Origin Resource Sharing (CORS), making cross-origin AJAX possible \
-  "
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4784781a5ee9fed9c50272e733e07685"
-
-DEPENDS += "python-six python-flask"
-
-PR = "r0"
-SRCNAME = "Flask-Cors"
-
-SRC_URI = "https://pypi.python.org/packages/source/F/Flask-Cors/${SRCNAME}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "4f3c75ace0f724d1de167bd73745c965"
-SRC_URI[sha256sum] = "9e6927aa0a46f314bca0ec63eb871cee898a162adfdd5b65224db7a008287423"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit setuptools
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-flask_0.10.1.bb b/import-layers/meta-virtualization/recipes-devtools/python/python-flask_0.10.1.bb
deleted file mode 100644
index 263e53d..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-flask_0.10.1.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "A microframework based on Werkzeug, Jinja2 and good intentions"
-HOMEPAGE = "https://pypi.python.org/pypi/Flask/"
-SECTION = "devel/python"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=79aa8b7bc4f781210d6b5c06d6424cb0"
-
-PR = "r0"
-SRCNAME = "Flask"
-
-SRC_URI = "https://pypi.python.org/packages/source/F/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "378670fe456957eb3c27ddaef60b2b24"
-SRC_URI[sha256sum] = "4c83829ff83d408b5e1d4995472265411d2c414112298f2eb4b359d9e4563373"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit setuptools
-
-CLEANBROKEN = "1"
-
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-gevent/gevent-allow-ssl-v2-or-v3-certificates.patch b/import-layers/meta-virtualization/recipes-devtools/python/python-gevent/gevent-allow-ssl-v2-or-v3-certificates.patch
deleted file mode 100644
index 623d04f..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-gevent/gevent-allow-ssl-v2-or-v3-certificates.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From c2dc97478fcc3757e09d5d2997391960a8351d53 Mon Sep 17 00:00:00 2001
-From: Bruce Ashfield <bruce.ashfield@windriver.com>
-Date: Sun, 29 Mar 2015 22:34:28 -0400
-Subject: [PATCH] gevent: allow ssl v2 or v3 certificates
-
-Work around an issue with python 2.7 not always having SSLv3 available
-by allowing v2 or v3 certificates.
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
----
- gevent/ssl.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gevent/ssl.py b/gevent/ssl.py
-index ce6434718d1b..93c0d642da5f 100644
---- a/gevent/ssl.py
-+++ b/gevent/ssl.py
-@@ -383,7 +383,7 @@ def wrap_socket(sock, keyfile=None, certfile=None,
-                      ciphers=ciphers)
- 
- 
--def get_server_certificate(addr, ssl_version=PROTOCOL_SSLv3, ca_certs=None):
-+def get_server_certificate(addr, ssl_version=PROTOCOL_SSLv23, ca_certs=None):
-     """Retrieve the certificate from the server at the specified address,
-     and return it as a PEM-encoded string.
-     If 'ca_certs' is specified, validate the server cert against it.
--- 
-1.9.1
-
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-gevent/libev-conf.patch b/import-layers/meta-virtualization/recipes-devtools/python/python-gevent/libev-conf.patch
deleted file mode 100644
index 283705f..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-gevent/libev-conf.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Due to differences in library locations, the cross compile test can fail because it can't run
-the conftest binary (dynamically linked). Building it statically instead.
-
-Signed-off-by: Amy Fong <amy.fong@windriver.com>
----
- libev/configure |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/libev/configure
-+++ b/libev/configure
-@@ -2730,7 +2730,7 @@
- ac_ext=c
- ac_cpp='$CPP $CPPFLAGS'
- ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
--ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-+ac_link='$CC -static -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
- ac_compiler_gnu=$ac_cv_c_compiler_gnu
- if test -n "$ac_tool_prefix"; then
-   # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-gevent_1.0.1.bb b/import-layers/meta-virtualization/recipes-devtools/python/python-gevent_1.0.1.bb
deleted file mode 100644
index 8cd1388..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-gevent_1.0.1.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-HOMEPAGE = "http://www.gevent.org"
-SUMMARY = "A coroutine-based Python networking library"
-DESCRIPTION = "\
-  gevent is a coroutine-based Python networking library that uses greenlet \
-  to provide a high-level synchronous API on top of the libevent event \
-  loop. \
-  " 
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=2dbb33d00e1fd31c7041460a81ac0bd2"
-DEPENDS += "python-greenlet libevent"
-RDEPENDS_${PN} += "python-greenlet python-mime python-pprint python-re"
-
-SRC_URI[md5sum] = "7b952591d1a0174d6eb6ac47bd975ab6"
-SRC_URI[sha256sum] = "4627e215d058f71d95e6b26d9e7be4c263788a4756bd2858a93775f6c072df43"
-
-inherit setuptools pypi
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-SRC_URI += "file://libev-conf.patch"
-SRC_URI += "file://gevent-allow-ssl-v2-or-v3-certificates.patch"
-
-# The python-gevent has no autoreconf ability
-# and the logic for detecting a cross compile is flawed
-# so always force a cross compile
-do_configure_append() {
-	sed -i -e 's/^cross_compiling=no/cross_compiling=yes/' ${S}/libev/configure
-}
-
-DEFAULT_PREFERENCE = "-1"
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-m2crypto/m2crypto-Fix-build-with-SWIG-3.0.5.patch b/import-layers/meta-virtualization/recipes-devtools/python/python-m2crypto/m2crypto-Fix-build-with-SWIG-3.0.5.patch
deleted file mode 100644
index c408595..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-m2crypto/m2crypto-Fix-build-with-SWIG-3.0.5.patch
+++ /dev/null
@@ -1,158 +0,0 @@
-From 8430e7202407fb1a0a104b0decdcc9da9e41a52b Mon Sep 17 00:00:00 2001
-From: Jackie Huang <jackie.huang@windriver.com>
-Date: Mon, 4 Apr 2016 23:28:15 -0400
-Subject: [PATCH] Fix build with SWIG 3.0.5
-
-See analysis and previous patches in
-https://github.com/martinpaljak/M2Crypto/issues/60 and
-https://github.com/swig/swig/issues/344, in particular this adds the
-build machinery to patch
-https://github.com/martinpaljak/M2Crypto/issues/60#issuecomment-75735489
-
-Fixes #47
-
-Author: Miloslav Trmac <mitr@redhat.com>
-
-Upstream-Status: Backport
-
-Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
----
- M2Crypto/__init__.py |  4 ++--
- M2Crypto/m2.py       |  2 +-
- SWIG/_lib.i          |  4 ++++
- SWIG/_pkcs7.i        |  1 +
- setup.py             | 24 ++++++++++++++++++++++++
- 5 files changed, 32 insertions(+), 3 deletions(-)
-
-diff --git a/M2Crypto/__init__.py b/M2Crypto/__init__.py
-index 647e057..280af94 100644
---- a/M2Crypto/__init__.py
-+++ b/M2Crypto/__init__.py
-@@ -19,7 +19,7 @@ Copyright 2008-2011 Heikki Toivonen. All rights reserved.
- version_info = (0, 22)
- version = '.'.join([str(_v) for _v in version_info])
- 
--import __m2crypto
-+import _m2crypto
- import m2
- import ASN1
- import AuthCookie
-@@ -47,4 +47,4 @@ import m2xmlrpclib
- import threading
- import util
- 
--__m2crypto.lib_init()
-+_m2crypto.lib_init()
-diff --git a/M2Crypto/m2.py b/M2Crypto/m2.py
-index e4bb695..822143f 100644
---- a/M2Crypto/m2.py
-+++ b/M2Crypto/m2.py
-@@ -25,7 +25,7 @@ Portions created by Open Source Applications Foundation (OSAF) are
- Copyright (C) 2004 OSAF. All Rights Reserved.
- """
- 
--from __m2crypto import *
-+from _m2crypto import *
- lib_init()
- 
- 
-diff --git a/SWIG/_lib.i b/SWIG/_lib.i
-index 0d40698..6cc1a44 100644
---- a/SWIG/_lib.i
-+++ b/SWIG/_lib.i
-@@ -66,6 +66,7 @@ int ssl_verify_callback(int ok, X509_STORE_CTX *ctx) {
-     int cret;
-     int new_style_callback = 0, warning_raised_exception=0;
-     PyGILState_STATE gilstate;
-+    PyObject *self = NULL; /* bug in SWIG_NewPointerObj as of 3.0.5 */
- 
-     ssl = (SSL *)X509_STORE_CTX_get_app_data(ctx);
- 
-@@ -151,6 +152,7 @@ int ssl_verify_callback(int ok, X509_STORE_CTX *ctx) {
- void ssl_info_callback(const SSL *s, int where, int ret) {
-     PyObject *argv, *retval, *_SSL;
-     PyGILState_STATE gilstate;
-+    PyObject *self = NULL; /* bug in SWIG_NewPointerObj as of 3.0.5 */
- 
-     gilstate = PyGILState_Ensure();
- 
-@@ -170,6 +172,7 @@ DH *ssl_set_tmp_dh_callback(SSL *ssl, int is_export, int keylength) {
-     PyObject *argv, *ret, *_ssl;
-     DH *dh;
-     PyGILState_STATE gilstate;
-+    PyObject *self = NULL; /* bug in SWIG_NewPointerObj as of 3.0.5 */
- 
-     gilstate = PyGILState_Ensure();
- 
-@@ -193,6 +196,7 @@ RSA *ssl_set_tmp_rsa_callback(SSL *ssl, int is_export, int keylength) {
-     PyObject *argv, *ret, *_ssl;
-     RSA *rsa;
-     PyGILState_STATE gilstate;
-+    PyObject *self = NULL; /* bug in SWIG_NewPointerObj as of 3.0.5 */
- 
-     gilstate = PyGILState_Ensure();
- 
-diff --git a/SWIG/_pkcs7.i b/SWIG/_pkcs7.i
-index 22d791a..20dfbaf 100644
---- a/SWIG/_pkcs7.i
-+++ b/SWIG/_pkcs7.i
-@@ -157,6 +157,7 @@ PyObject *smime_read_pkcs7(BIO *bio) {
-     BIO *bcont = NULL;
-     PKCS7 *p7;
-     PyObject *tuple, *_p7, *_BIO;
-+    PyObject *self = NULL; /* bug in SWIG_NewPointerObj as of 3.0.5 */
- 
-     if (BIO_method_type(bio) == BIO_TYPE_MEM) {
-         /* OpenSSL FAQ explains that this is needed for mem BIO to return EOF,
-diff --git a/setup.py b/setup.py
-index bac6f9f..f59dc18 100644
---- a/setup.py
-+++ b/setup.py
-@@ -19,6 +19,7 @@ from setuptools.command import build_ext
- 
- from distutils.core import Extension
- from distutils.spawn import find_executable
-+from distutils.file_util import copy_file
- 
- 
- class _M2CryptoBuildExt(build_ext.build_ext):
-@@ -77,6 +78,15 @@ class _M2CryptoBuildExt(build_ext.build_ext):
-                           [opensslIncludeDir, os.path.join(opensslIncludeDir, "openssl")]]
-         self.swig_opts.append('-includeall')
-         self.swig_opts.append('-modern')
-+        self.swig_opts.append('-builtin')
-+
-+        # These two lines are a workaround for
-+        # http://bugs.python.org/issue2624 , hard-coding that we are only
-+        # building a single extension with a known path; a proper patch to
-+        # distutils would be in the run phase, when extension name and path are
-+        # known.
-+        self.swig_opts.append('-outdir')
-+        self.swig_opts.append(os.path.join(self.build_lib, 'M2Crypto'))
- 
-         # Fedora does hat tricks.
-         if platform.linux_distribution()[0] in ['Fedora', 'CentOS']:
-@@ -98,6 +108,20 @@ class _M2CryptoBuildExt(build_ext.build_ext):
- 
-         self.library_dirs += [os.path.join(self.openssl, opensslLibraryDir)]
- 
-+    def run(self):
-+        '''Overloaded build_ext implementation to allow inplace=1 to work,
-+        which is needed for (python setup.py test).'''
-+        # This is another workaround for http://bugs.python.org/issue2624 + the
-+        # corresponding lack of support in setuptools' test command. Note that
-+        # just using self.inplace in finalize_options() above does not work
-+        # because swig is not rerun if the __m2crypto.so extension exists.
-+        # Again, hard-coding our extension name and location.
-+        build_ext.build_ext.run(self)
-+        if self.inplace:
-+            copy_file(os.path.join(self.build_lib, 'M2Crypto', '_m2crypto.py'),
-+                      os.path.join('M2Crypto', '_m2crypto.py'),
-+                      verbose=self.verbose, dry_run=self.dry_run)
-+
- if sys.platform == 'darwin':
-    my_extra_compile_args = ["-Wno-deprecated-declarations"]
- else:
--- 
-1.9.1
-
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-m2crypto_0.22.3.bb b/import-layers/meta-virtualization/recipes-devtools/python/python-m2crypto_0.22.3.bb
deleted file mode 100644
index e151dcc..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-m2crypto_0.22.3.bb
+++ /dev/null
@@ -1,63 +0,0 @@
-HOMEPAGE = "http://chandlerproject.org/bin/view/Projects/MeTooCrypto"
-SUMMARY = "A Python crypto and SSL toolkit"
-DESCRIPTION = "\
-  M2Crypto is the most complete Python wrapper for OpenSSL featuring RSA, \
-  DSA, DH, EC, HMACs, message digests, symmetric ciphers (including \
-  AES); SSL functionality to implement clients and servers; HTTPS \
-  extensions to Python's httplib, urllib, and xmlrpclib; unforgeable \
-  HMAC'ing AuthCookies for web session management; FTP/TLS client and \
-  server; S/MIME; ZServerSSL: A HTTPS server for Zope and ZSmime: An \
-  S/MIME messenger for Zope. M2Crypto can also be used to provide SSL \
-  for Twisted. \
-  "
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://PKG-INFO;md5=0ccca7097c1d29fa42e75e9c15c6ff2e"
-
-PYPI_PACKAGE = "M2Crypto"
-
-SRC_URI += " \
-           file://m2crypto-Fix-build-with-SWIG-3.0.5.patch \
-"
-
-SRC_URI[md5sum] = "573f21aaac7d5c9549798e72ffcefedd"
-SRC_URI[sha256sum] = "6071bfc817d94723e9b458a010d565365104f84aa73f7fe11919871f7562ff72"
-
-DEFAULT_PREFERENCE = "-1"
-
-inherit setuptools pypi
-
-DEPENDS += "openssl swig-native"
-
-DISTUTILS_BUILD_ARGS += "build_ext -I${STAGING_INCDIR}"
-
-inherit setuptools pypi
-
-SWIG_FEATURES_x86-64 = "-D__x86_64__"
-SWIG_FEATURES ?= ""
-export SWIG_FEATURES
-
-# Get around a problem with swig, but only if the
-# multilib header file exists.
-#
-do_compile_prepend() {
-	sed -i -e 's/self.add_multiarch_paths.*$/# &/;'  ${S}/setup.py
-	sed -i -e 's/opensslIncludeDir = .*$/opensslIncludeDir = os.getenv("STAGING_INCDIR")/;'  ${S}/setup.py
-	sed -i -e 's/opensslLibraryDir = .*$/opensslLibraryDir = os.getenv("STAGING_LIBDIR")/;'  ${S}/setup.py
-
-	if [ "${SITEINFO_BITS}" = "64" ];then
-		bit="64"
-	else
-		bit="32"
-	fi
-
-	if [ -e ${STAGING_INCDIR}/openssl/opensslconf-${bit}.h ]; then
-		for i in SWIG/_ec.i SWIG/_evp.i; do
-			sed -i -e "s/opensslconf.*\./opensslconf-${bit}\./" "$i"
-		done
-	elif [ -e ${STAGING_INCDIR}/openssl/opensslconf-n${bit}.h ] ;then
-		for i in SWIG/_ec.i SWIG/_evp.i; do
-			sed -i -e "s/opensslconf.*\./opensslconf-n${bit}\./" "$i"
-		done
-	fi
-}
-
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-newrelic_2.22.0.19.bb b/import-layers/meta-virtualization/recipes-devtools/python/python-newrelic_2.22.0.19.bb
deleted file mode 100644
index 3891824..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-newrelic_2.22.0.19.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-HOMEPAGE = "http://www.newrelic.com"
-SUMMARY = "New Relic Python Agent"
-DESCRIPTION = "\
-  Python agent for the New Relic web application performance monitoring \
-  service. Check the release notes for what has changed in this version. \
-  "
-SECTION = "devel/python"
-LICENSE = "BSD-3-Clause & MIT & Python-2.0 & BSD-2-Clause & NewRelic"
-LIC_FILES_CHKSUM = "file://newrelic/LICENSE;md5=0f6cc160a8ed6759faa408a30b6ac978"
-
-PR = "r0"
-SRCNAME = "newrelic"
-
-SRC_URI = "https://pypi.python.org/packages/source/n/newrelic/${SRCNAME}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "f8c9bf996d040a11847d14682b290eff"
-SRC_URI[sha256sum] = "aa8869413c21aff441a77582df1e0fdc0f67342760eb7560d33ed3bbed7edf7b"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit setuptools
-
-FILES_${PN}-dbg += "\
-  ${PYTHON_SITEPACKAGES_DIR}/newrelic-${PV}/newrelic/*/.debug \
-  ${PYTHON_SITEPACKAGES_DIR}/newrelic-${PV}/newrelic/packages/*/.debug/ \
-  "
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-pyyaml_3.11.bb b/import-layers/meta-virtualization/recipes-devtools/python/python-pyyaml_3.11.bb
deleted file mode 100644
index ecb1719..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-pyyaml_3.11.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-HOMEPAGE = "http://www.pyyaml.org"
-SUMMARY = "Python support for YAML"
-DESCRIPTION = "\
-  YAML is a data serialization format designed for human readability \
-  and interaction with scripting languages.  PyYAML is a YAML parser \
-  and emitter for Python. \
-  .       \
-  PyYAML features a complete YAML 1.1 parser, Unicode support, pickle \
-  support, capable extension API, and sensible error messages.  PyYAML \
-  supports standard YAML tags and provides Python-specific tags that \
-  allow to represent an arbitrary Python object. \
-  .       \
-  PyYAML is applicable for a broad range of tasks from complex \
-  configuration files to object serialization and persistance. \
-  "
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17"
-
-SRCNAME = "PyYAML"
-SRC_URI = "http://pyyaml.org/download/pyyaml/${SRCNAME}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "f50e08ef0fe55178479d3a618efe21db"
-SRC_URI[sha256sum] = "c36c938a872e5ff494938b33b14aaa156cb439ec67548fcab3535bb78b0846e8"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-DEFAULT_PREFERENCE = "-1"
-
-inherit setuptools
-
-DEPENDS += "libyaml python-cython-native"
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-redis_2.10.3.bb b/import-layers/meta-virtualization/recipes-devtools/python/python-redis_2.10.3.bb
deleted file mode 100644
index 2ef2b6b..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-redis_2.10.3.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-HOMEPAGE = "https://pypi.python.org/pypi/redis/"
-SUMMARY = "Python client for Redis key-value store"
-DESCRIPTION = "The Python interface to the Redis key-value store."
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=51d9ad56299ab60ba7be65a621004f27"
-
-PR = "r0"
-SRCNAME = "redis"
-
-SRC_URI = "https://pypi.python.org/packages/source/r/redis/${SRCNAME}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "7619221ad0cbd124a5687458ea3f5289"
-SRC_URI[sha256sum] = "a4fb37b02860f6b1617f6469487471fd086dd2d38bbce640c2055862b9c4019c"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-DEFAULT_PREFERENCE = "-1"
-
-inherit setuptools
-
-RDEPENDS_${PN} = "redis"
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-sphinx_1.4.1.bb b/import-layers/meta-virtualization/recipes-devtools/python/python-sphinx_1.4.1.bb
deleted file mode 100644
index 476ff97..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-sphinx_1.4.1.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-DESCRIPTION = "Python documentation generator"
-HOMEPAGE = "http://sphinx-doc.org/"
-SECTION = "devel/python"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=72f034adc6f7b05b09bc00d1a05bb065"
-
-PYPI_PACKAGE = "Sphinx"
-
-SRC_URI[md5sum] = "4c4988e0306a04cef8dccc384281e585"
-SRC_URI[sha256sum] = "c6871a784d24aba9270b6b28541537a57e2fcf4d7c799410eba18236bc76d6bc"
-
-inherit setuptools pypi
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-sqlalchemy_1.0.16.bb b/import-layers/meta-virtualization/recipes-devtools/python/python-sqlalchemy_1.0.16.bb
deleted file mode 100644
index 5eb60b5..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-sqlalchemy_1.0.16.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-DESCRIPTION = "Python SQL toolkit and Object Relational Mapper that gives \
-application developers the full power and flexibility of SQL"
-HOMEPAGE = "http://www.sqlalchemy.org/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d7dba1721bc8ce05d421f7279cb87971"
-RDEPENDS_${PN} += "python-numbers"
-
-SRCNAME = "SQLAlchemy"
-SRC_URI = "https://pypi.io/packages/source/S/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "42c81726e7e145c206dac46964b4a167"
-SRC_URI[sha256sum] = "e2dfdaa0983931ac1b0522dd637f08a52cf3081746513ac79c50843277ebe463"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-inherit setuptools
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-sqlalchemy_1.1.5.bb b/import-layers/meta-virtualization/recipes-devtools/python/python-sqlalchemy_1.1.5.bb
deleted file mode 100644
index f22d272..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-sqlalchemy_1.1.5.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-DESCRIPTION = "Python SQL toolkit and Object Relational Mapper that gives \
-application developers the full power and flexibility of SQL"
-HOMEPAGE = "http://www.sqlalchemy.org/"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=452f4b8adb0feba42e5be5f1fbfbf538"
-RDEPENDS_${PN} += "python-numbers"
-
-SRCNAME = "SQLAlchemy"
-SRC_URI = "https://pypi.python.org/packages/da/04/8048a5075d6e29235bbd6f1ea092a38dbe2630c670e73d4aa923a4e5521c/${SRCNAME}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "50685d97dca4b91945ae6309d03ab8c9"
-SRC_URI[sha256sum] = "68fb40049690e567ebda7b270176f5abf0d53d9fbd515fec4e43326f601119b6"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-DEFAULT_PREFERENCE = "-1"
-
-inherit setuptools
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-webob_1.7.3.bb b/import-layers/meta-virtualization/recipes-devtools/python/python-webob_1.7.3.bb
deleted file mode 100644
index a2448be..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-webob_1.7.3.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-DESCRIPTION = "WSGI request and response object"
-HOMEPAGE = "http://webob.org/"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://docs/license.txt;md5=8ed3584bcc78c16da363747ccabc5af5"
-
-PYPI_PACKAGE = "WebOb"
-
-SRC_URI[md5sum] = "350028baffc508e3d23c078118e35316"
-SRC_URI[sha256sum] = "e65ca14b9f5ae5b031988ffc93f8b7f305ddfcf17a4c774ae0db47bcb3b87283"
-
-inherit setuptools pypi
-
-RDEPENDS_${PN} += " \
-	python-sphinx \
-	python-nose \
-	"
-
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-websocket-client.inc b/import-layers/meta-virtualization/recipes-devtools/python/python-websocket-client.inc
deleted file mode 100644
index 31778c6..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-websocket-client.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-SUMMARY = "WebSocket client for python. hybi13 is supported."
-HOMEPAGE = "https://github.com/websocket-client/websocket-client.git"
-LICENSE = "LGPL-3.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=18b09a20dd186af4fd60f1a08311628c"
-
-inherit pypi
-
-PYPI_PACKAGE = "websocket_client"
-
-SRC_URI[md5sum] = "73d87aa16a2212da448b30aca9c5bf3b"
-SRC_URI[sha256sum] = "15f585566e2ea7459136a632b9785aa081093064391878a448c382415e948d72"
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-websocket-client_0.44.0.bb b/import-layers/meta-virtualization/recipes-devtools/python/python-websocket-client_0.44.0.bb
deleted file mode 100644
index 11eeb04..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-websocket-client_0.44.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-websocket-client.inc
-inherit setuptools
\ No newline at end of file
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python-werkzeug_0.10.4.bb b/import-layers/meta-virtualization/recipes-devtools/python/python-werkzeug_0.10.4.bb
deleted file mode 100644
index 5f3e01f..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python-werkzeug_0.10.4.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-DESCRIPTION = "The Swiss Army knife of Python web development"
-HOMEPAGE = "https://pypi.python.org/pypi/Werkzeug/"
-SECTION = "devel/python"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a68f5361a2b2ca9fdf26b38aaecb6faa"
-
-PR = "r0"
-SRCNAME = "Werkzeug"
-
-SRC_URI = "https://pypi.python.org/packages/source/W/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "66a488e0ac50a9ec326fe020b3083450"
-SRC_URI[sha256sum] = "9d2771e4c89be127bc4bac056ab7ceaf0e0064c723d6b6e195739c3af4fd5c1d"
-
-S = "${WORKDIR}/${SRCNAME}-${PV}"
-
-DEFAULT_PREFERENCE = "-1"
-
-inherit setuptools
-
-RDEPENDS_${PN} += "python-io \
-                   python-datetime \
-                   python-email \
-                   python-zlib \
-                   python-pkgutil \
-                   python-html \
-                   python-shell \
-                   python-pprint \
-                   python-subprocess \
-                   python-netserver"
-
-CLEANBROKEN = "1"
-
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python3-cached-property_1.3.0.bb b/import-layers/meta-virtualization/recipes-devtools/python/python3-cached-property_1.3.0.bb
deleted file mode 100644
index f01aabd..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python3-cached-property_1.3.0.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "A decorator for caching properties in classes."
-HOMEPAGE = "https://github.com/pydanny/cached-property"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=db7ff60c4e14f58534201242803d8abc"
-
-inherit pypi setuptools3
-
-SRC_URI[md5sum] = "4a6039f7418007275505e355359396a8"
-SRC_URI[sha256sum] = "458e78b1c7286ece887d92c9bee829da85717994c5e3ddd253a40467f488bc81"
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python3-colorama_0.3.9.bb b/import-layers/meta-virtualization/recipes-devtools/python/python3-colorama_0.3.9.bb
deleted file mode 100644
index 458b0db..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python3-colorama_0.3.9.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Cross-platform colored terminal text."
-HOMEPAGE = "https://github.com/tartley/colorama"
-LICENSE = "BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=14d0b64047ed8f510b51ce0495995358"
-
-inherit pypi setuptools3
-
-SRC_URI[md5sum] = "3a0e415259690f4dd7455c2683ee5850"
-SRC_URI[sha256sum] = "48eb22f4f8461b1df5734a074b57042430fb06e1d61bd1e11b078c0fe6d7a1f1"
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python3-docker-pycreds_0.2.1.bb b/import-layers/meta-virtualization/recipes-devtools/python/python3-docker-pycreds_0.2.1.bb
deleted file mode 100644
index 4038410..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python3-docker-pycreds_0.2.1.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Python bindings for the docker credentials store API"
-HOMEPAGE = "https://github.com/shin-/dockerpy-creds"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-inherit pypi setuptools3
-
-SRC_URI[md5sum] = "0d80d5aebab771faf7e422b759c3055b"
-SRC_URI[sha256sum] = "93833a2cf280b7d8abbe1b8121530413250c6cd4ffed2c1cf085f335262f7348"
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python3-docker_2.5.1.bb b/import-layers/meta-virtualization/recipes-devtools/python/python3-docker_2.5.1.bb
deleted file mode 100644
index 341d95c..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python3-docker_2.5.1.bb
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "A Python library for the Docker Engine API."
-HOMEPAGE = "https://github.com/docker/docker-py"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=34f3846f940453127309b920eeb89660"
-
-inherit pypi setuptools3
-
-SRC_URI[md5sum] = "7d917152976df075e6e90ee853df641f"
-SRC_URI[sha256sum] = "b876e6909d8d2360e0540364c3a952a62847137f4674f2439320ede16d6db880"
-
-DEPENDS += "${PYTHON_PN}-pip-native"
-
-RDEPENDS_${PN} += " \
-	python3-docker-pycreds \
-	python3-requests \
-	python3-websocket-client \
-"
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python3-dockerpty_0.4.1.bb b/import-layers/meta-virtualization/recipes-devtools/python/python3-dockerpty_0.4.1.bb
deleted file mode 100644
index 31a864a..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python3-dockerpty_0.4.1.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "Python library to use the pseudo-tty of a docker container"
-HOMEPAGE = "https://github.com/d11wtq/dockerpty"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
-
-inherit pypi setuptools3
-
-SRC_URI[md5sum] = "028bacb34536f3ee6a2ccd668c27e8e4"
-SRC_URI[sha256sum] = "69a9d69d573a0daa31bcd1c0774eeed5c15c295fe719c61aca550ed1393156ce"
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python3-docopt_0.6.2.bb b/import-layers/meta-virtualization/recipes-devtools/python/python3-docopt_0.6.2.bb
deleted file mode 100644
index 4637448..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python3-docopt_0.6.2.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-inherit setuptools3
-require python-docopt.inc
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python3-texttable_0.9.1.bb b/import-layers/meta-virtualization/recipes-devtools/python/python3-texttable_0.9.1.bb
deleted file mode 100644
index 25e402f..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python3-texttable_0.9.1.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-SUMMARY = "module for creating simple ASCII tables"
-HOMEPAGE = "https://github.com/foutaise/texttable/"
-LICENSE = "LGPL-3.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=e6a600fd5e1d9cbde2d983680233ad02"
-
-inherit pypi setuptools3
-
-SRC_URI[md5sum] = "a712b5a5464d51c5fc43c64d9d2cd0de"
-SRC_URI[sha256sum] = "119041773ff03596b56392532f9315cb3a3116e404fd6f36e76a7dc088d95c79"
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python3-websocket-client_0.44.0.bb b/import-layers/meta-virtualization/recipes-devtools/python/python3-websocket-client_0.44.0.bb
deleted file mode 100644
index 473e31f..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python3-websocket-client_0.44.0.bb
+++ /dev/null
@@ -1,2 +0,0 @@
-require python-websocket-client.inc
-inherit setuptools3
\ No newline at end of file
diff --git a/import-layers/meta-virtualization/recipes-devtools/python/python_2.%.bbappend b/import-layers/meta-virtualization/recipes-devtools/python/python_2.%.bbappend
deleted file mode 100644
index 55301c7..0000000
--- a/import-layers/meta-virtualization/recipes-devtools/python/python_2.%.bbappend
+++ /dev/null
@@ -1,8 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-DEPENDS += " ncurses"
-
-do_compile_prepend() {
-	export LIBRARY_PATH=${STAGING_DIR_TARGET}/lib
-}
-
diff --git a/import-layers/meta-virtualization/recipes-extended/dev86/dev86_0.16.20.bb b/import-layers/meta-virtualization/recipes-extended/dev86/dev86_0.16.20.bb
deleted file mode 100644
index 38dbf8d..0000000
--- a/import-layers/meta-virtualization/recipes-extended/dev86/dev86_0.16.20.bb
+++ /dev/null
@@ -1,38 +0,0 @@
-DESCRIPTION = "This is a cross development C compiler, assembler and linker environment for the production of 8086 executables (Optionally MSDOS COM)"
-HOMEPAGE = "http://www.debath.co.uk/dev86/"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-SECTION = "console/tools"
-PR="r0"
-
-SRC_URI="http://v3.sk/~lkundrak/dev86/archive/Dev86src-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "567cf460d132f9d8775dd95f9208e49a"
-SRC_URI[sha256sum] = "61817a378c8c8ba65f36c6792d457a305dc4eedae8cdc8b6233bf2bb28e5fe8d"
-
-S = "${WORKDIR}/dev86-${PV}"
-
-BBCLASSEXTEND = "native"
-EXTRA_OEMAKE = "VERSION=${PV} PREFIX=${prefix} DIST=${D}"
-
-do_compile() {
-
-	oe_runmake make.fil
-	oe_runmake -f make.fil bcc86 as86 ld86
-
-}
-
-do_install() {
-
-	if [ "${prefix}"=="" ] ; then
-		export prefix=/usr
-	fi
-
-	oe_runmake install-bcc
-	ln -s ../lib/bcc/bcc-cpp ${D}${prefix}/bin/bcc-cpp
-	ln -s ../lib/bcc/bcc-cc1 ${D}${prefix}/bin/bcc-cc1
-
-}
-COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
-FILES_${PN} += "${libdir}/bcc"
-INSANE_SKIP_${PN} = "already-stripped"
diff --git a/import-layers/meta-virtualization/recipes-extended/diod/diod_1.0.24.bb b/import-layers/meta-virtualization/recipes-extended/diod/diod_1.0.24.bb
deleted file mode 100644
index a4d159a..0000000
--- a/import-layers/meta-virtualization/recipes-extended/diod/diod_1.0.24.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Diod is a user space server for the kernel v9fs client."
-DESCRIPTION = "\
-Diod is a user space server for the kernel v9fs client (9p.ko, 9pnet.ko). \
-Although the kernel client supports several 9P variants, diod only supports \
-9P2000.L, and only in its feature-complete form, as it appeared in 2.6.38."
-SECTION = "console/network"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
-
-PV = "1.0.24+git${SRCPV}"
-SRCREV = "0ea3fe3d829b5085307cd27a512708d99ef48199"
-SRC_URI = "git://github.com/chaos/diod.git;protocol=git \
-           file://diod \
-           file://diod.conf \
-           file://0001-build-allow-builds-to-work-with-separate-build-dir.patch \
-           file://0002-auto.diod.in-remove-bashisms.patch \
-          "
-DEPENDS = "libcap ncurses tcp-wrappers lua"
-
-S = "${WORKDIR}/git"
-
-inherit autotools systemd
-
-do_install_append () {
-        # install our init based on start-stop-daemon
-        install -D -m 0755 ${WORKDIR}/diod ${D}${sysconfdir}/init.d/diod
-        # install a real(not commented) configuration file for diod
-        install -m 0644 ${WORKDIR}/diod.conf ${D}${sysconfdir}/diod.conf
-}
-
-FILES_${PN} += "${systemd_unitdir}"
diff --git a/import-layers/meta-virtualization/recipes-extended/diod/files/0001-build-allow-builds-to-work-with-separate-build-dir.patch b/import-layers/meta-virtualization/recipes-extended/diod/files/0001-build-allow-builds-to-work-with-separate-build-dir.patch
deleted file mode 100644
index f40e0eb..0000000
--- a/import-layers/meta-virtualization/recipes-extended/diod/files/0001-build-allow-builds-to-work-with-separate-build-dir.patch
+++ /dev/null
@@ -1,126 +0,0 @@
-From 43403468298ef4167baa5d84de2ee2eaf7f4007a Mon Sep 17 00:00:00 2001
-From: Mark Asselstine <mark.asselstine@windriver.com>
-Date: Fri, 9 Jan 2015 18:34:04 +0000
-Subject: [PATCH 1/2] build: allow builds to work with separate build dir
-
-Remove assumptions in include paths that assume the build
-is happening in the source directories.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
----
- diod/Makefile.am              | 2 +-
- libdiod/Makefile.am           | 2 +-
- liblsd/Makefile.am            | 2 +-
- libnpclient/Makefile.am       | 2 +-
- scripts/Makefile.am           | 6 +++---
- tests/kern/dbench/Makefile.am | 4 ++--
- utils/Makefile.am             | 2 +-
- 7 files changed, 10 insertions(+), 10 deletions(-)
-
-diff --git a/diod/Makefile.am b/diod/Makefile.am
-index 7644be7..fdaf130 100644
---- a/diod/Makefile.am
-+++ b/diod/Makefile.am
-@@ -1,7 +1,7 @@
- AM_CFLAGS = @GCCWARN@
- 
- AM_CPPFLAGS = \
--	-I../libnpfs -I../liblsd -I../libdiod
-+	-I$(srcdir)/../libnpfs -I$(srcdir)/../liblsd -I$(srcdir)/../libdiod
- 
- sbin_PROGRAMS = diod
- 
-diff --git a/libdiod/Makefile.am b/libdiod/Makefile.am
-index 4810e14..6905cdd 100644
---- a/libdiod/Makefile.am
-+++ b/libdiod/Makefile.am
-@@ -1,7 +1,7 @@
- AM_CFLAGS = @GCCWARN@
- 
- AM_CPPFLAGS = \
--	-I../libnpfs -I../libnpclient -I../liblsd
-+	-I$(srcdir)/../libnpfs -I$(srcdir)/../libnpclient -I$(srcdir)/../liblsd
- 
- noinst_LIBRARIES = libdiod.a
- 
-diff --git a/liblsd/Makefile.am b/liblsd/Makefile.am
-index c3e5658..7e18bf8 100644
---- a/liblsd/Makefile.am
-+++ b/liblsd/Makefile.am
-@@ -1,6 +1,6 @@
- AM_CFLAGS = @GCCWARN@
- 
--AM_CPPFLAGS = -I../libdiod
-+AM_CPPFLAGS = -I$(srcdir)/../libdiod
- 
- noinst_LIBRARIES = liblsd.a
- 
-diff --git a/libnpclient/Makefile.am b/libnpclient/Makefile.am
-index 5305df9..cbaf266 100644
---- a/libnpclient/Makefile.am
-+++ b/libnpclient/Makefile.am
-@@ -1,7 +1,7 @@
- AM_CFLAGS = @GCCWARN@
- 
- AM_CPPFLAGS = \
--	-I../libnpfs
-+	-I$(srcdir)/../libnpfs
- 
- noinst_LIBRARIES = libnpclient.a
- 
-diff --git a/scripts/Makefile.am b/scripts/Makefile.am
-index 51c24a3..2aba728 100644
---- a/scripts/Makefile.am
-+++ b/scripts/Makefile.am
-@@ -1,9 +1,9 @@
--systemddir=$(sysconfdir)/systemd/system
-+systemddir=/lib/systemd/system
- 
- install-data-local:
--	$(top_srcdir)/config/install-sh -m 755 $(srcdir)/auto.diod \
-+	$(top_srcdir)/config/install-sh -m 755 ./auto.diod \
- 		$(DESTDIR)$(sysconfdir)/auto.diod
--	$(top_srcdir)/config/install-sh -m 755 $(srcdir)/diod.service \
-+	$(top_srcdir)/config/install-sh -m 644 ./diod.service \
- 		$(DESTDIR)$(systemddir)/diod.service
- 
- uninstall-local:
-diff --git a/tests/kern/dbench/Makefile.am b/tests/kern/dbench/Makefile.am
-index e0cdefa..1704f9f 100644
---- a/tests/kern/dbench/Makefile.am
-+++ b/tests/kern/dbench/Makefile.am
-@@ -2,7 +2,7 @@ AM_CFLAGS = -w
- 
- # VERSION=4.00
- 
--AM_CPPFLAGS = -DDATADIR=\"$(X_DATADIR)\"
-+AM_CPPFLAGS = -I. -DDATADIR=\"$(X_DATADIR)\"
- 
- LDADD = $(LIBPOPT)
- 
-@@ -25,6 +25,6 @@ BUILT_SOURCES = proto.h
- CLEANFILES = proto.h
- 
- proto.h: $(dbench_SOURCES) mkproto.pl
--	perl mkproto.pl $(dbench_SOURCES) > proto.h
-+	$(srcdir)/mkproto.pl $(patsubst %,$(srcdir),$(dbench_SOURCES)) > proto.h
- 
- EXTRA_DIST = mkproto.pl
-diff --git a/utils/Makefile.am b/utils/Makefile.am
-index 169b6c4..91d571d 100644
---- a/utils/Makefile.am
-+++ b/utils/Makefile.am
-@@ -1,7 +1,7 @@
- AM_CFLAGS = @GCCWARN@
- 
- AM_CPPFLAGS = \
--	-I../libnpfs -I../liblsd -I../libdiod -I../libnpclient
-+	-I$(srcdir)/../libnpfs -I$(srcdir)/../liblsd -I$(srcdir)/../libdiod -I$(srcdir)/../libnpclient
- 
- sbin_PROGRAMS = diodmount diodcat dtop diodload diodls diodshowmount dioddate
- 
--- 
-2.11.0
-
diff --git a/import-layers/meta-virtualization/recipes-extended/diod/files/0002-auto.diod.in-remove-bashisms.patch b/import-layers/meta-virtualization/recipes-extended/diod/files/0002-auto.diod.in-remove-bashisms.patch
deleted file mode 100644
index 65d6ff6..0000000
--- a/import-layers/meta-virtualization/recipes-extended/diod/files/0002-auto.diod.in-remove-bashisms.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 5a9e09dc5de833db11607530351cd87cecbfd17e Mon Sep 17 00:00:00 2001
-From: Roy Li <rongqing.li@windriver.com>
-Date: Thu, 22 Jun 2017 06:32:30 +0000
-Subject: [PATCH 2/2] auto.diod.in: remove bashisms
-
-Upstream-Status: Pending
-
-Signed-off-by: Roy Li <rongqing.li@windriver.com>
----
- scripts/auto.diod.in | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/scripts/auto.diod.in b/scripts/auto.diod.in
-index f63e004..4d5fc3a 100755
---- a/scripts/auto.diod.in
-+++ b/scripts/auto.diod.in
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- #
- # auto.diod - executable automounter map for diod file systems
- #
-@@ -41,15 +41,15 @@ dcatopts="${DIOD_TIMEOUT:+-t $DIOD_TIMEOUT}"
- for server in $DIOD_SERVERS; do
-     $DIOD_DIODCAT -s $server $dcatopts exports | awk '{print $1}' |\
-     while read path; do
--        if [ "$path" == "/" ]; then
--            if [ "$key" == "ROOT" ]; then
-+        if [ "$path" = "/" ]; then
-+            if [ "$key" = "ROOT" ]; then
-                 echo "$prefix $server:$path"
-                 exit 0
-             fi
--        elif [ "$key" == "$(echo $path|sed -e's/^\///' -e's/\//./g')" ] \
--          || [ "$key" == "$(echo $path|sed -e's/^\///' -e's/\//_/g')" ] \
--          || [ "$key" == "$(echo $path|sed -e's/^\///' -e's/\//-/g')" ] \
--          || [ "$key" == "$(basename $path)" ]; then
-+        elif [ "$key" = "$(echo $path|sed -e's/^\///' -e's/\//./g')" ] \
-+          || [ "$key" = "$(echo $path|sed -e's/^\///' -e's/\//_/g')" ] \
-+          || [ "$key" = "$(echo $path|sed -e's/^\///' -e's/\//-/g')" ] \
-+          || [ "$key" = "$(basename $path)" ]; then
-             echo "$prefix $server:$path"
-             exit 0
-         fi
--- 
-2.11.0
-
diff --git a/import-layers/meta-virtualization/recipes-extended/diod/files/diod b/import-layers/meta-virtualization/recipes-extended/diod/files/diod
deleted file mode 100644
index cd0bf98..0000000
--- a/import-layers/meta-virtualization/recipes-extended/diod/files/diod
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/sh
-#
-# chkconfig: 35 20 80
-# description: Distributed Input Output Daemon 
-#
-
-# Get function from functions library
-. /etc/init.d/functions
-
-BASE=diod
-PIDFILE=/var/run/$BASE.pid
-PID=`test -f $PIDFILE && cat $PIDFILE`
-DIOD_BIN=/usr/sbin/$BASE
-DIOD_CONF=/etc/$BASE.conf
-DIOD_OPTS="-c $DIOD_CONF"
-DIOD="$DIOD_BIN $DIOD_OPTS"
-RETVAL=0
-
-# Start the service $BASE
-start()
-{
-       # Force creation of the log directory even on a tmpfs /var/log.
-       mkdir -p /var/log/diod
-
-       start-stop-daemon --stop --test --quiet --pidfile $PIDFILE
-       status=$?
-       if [ $status -eq 0 ]; then
-           echo "diod service is already running with pid $PID"
-           exit 1
-       else
-           echo -n "Starting $BASE:"
-           start-stop-daemon --start --pidfile $PIDFILE \
-	     --exec $DIOD_BIN -- $DIOD_OPTS
-           RETVAL=$?
-           echo
-           [ $RETVAL -ne 0 ] && exit $RETVAL
-       fi
-}
-
-# Stop the service $BASE
-stop()
-{
-    echo -n "Stopping $BASE:"
-    start-stop-daemon --stop --test --quiet --pidfile $PIDFILE
-    status=$?
-    if [ $status -eq 0 ]; then
-        start-stop-daemon --stop --quiet --pidfile $PIDFILE
-        [ -w $PIDFILE ] && rm -f $PIDFILE
-    else
-	start-stop-daemon --stop --quiet --name $BASE
-    fi
-}
-
-
-### service arguments ###
-case $1 in
-    start)
-        start
-        ;;
-    stop)
-        stop
-        ;;
-    status)
-        status $BASE
-        ;;
-    restart | force-reload)
-        $0 stop
-        $0 start
-        ;;
-    *)
-        echo "Usage: $0 {start|stop|status|restart}."
-        exit 1
-esac
-
-exit 0
diff --git a/import-layers/meta-virtualization/recipes-extended/diod/files/diod.conf b/import-layers/meta-virtualization/recipes-extended/diod/files/diod.conf
deleted file mode 100644
index e97743a..0000000
--- a/import-layers/meta-virtualization/recipes-extended/diod/files/diod.conf
+++ /dev/null
@@ -1,15 +0,0 @@
---
--- /etc/diod.conf - config file for diod distributed I/O daemon
---
--- NOTE: This config file is a lua script that diod runs, then extracts
--- the value of certain globally defined variables.  See diod.conf(5).
-
-listen = { "0.0.0.0:564" }
-nwthreads = 16
-auth_required = 1
-logdest = "syslog:daemon:err"
-
-exports = { "/g/g0", "/g/g10" }
-
-allsquash = 0
-squashuser = "nobody"
diff --git a/import-layers/meta-virtualization/recipes-extended/hyperstart/hyperstart_git.bb b/import-layers/meta-virtualization/recipes-extended/hyperstart/hyperstart_git.bb
deleted file mode 100644
index 0297477..0000000
--- a/import-layers/meta-virtualization/recipes-extended/hyperstart/hyperstart_git.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-SUMMARY = "The tiny Init service for HyperContainer"
-DESCRIPTION = "The init Task for HyperContainer"
-
-LICENSE = "Apache-2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
-
-inherit autotools-brokensep 
-
-SRC_URI = "git://github.com/hyperhq/hyperstart.git"
-
-SRCREV = "ad48a3230836f59ada163659cde151a37522068b"
-PV = "v0.2+git${SRCREV}"
-
-S = "${WORKDIR}/git"
-
-CACHED_CONFIGUREVARS = "ac_cv_file__usr_include_linux_vm_sockets_h=true"
-
-do_install() {
-	install -d ${D}/var/lib/hyper/
-
-        install -m644 ${S}/build/hyper-initrd.img ${D}/var/lib/hyper/
-        install -m644 ${S}/build/arch/x86_64/kernel ${D}/var/lib/hyper/
-}
-
-FILES_${PN} += "/var/lib/hyper"
diff --git a/import-layers/meta-virtualization/recipes-extended/iasl/iasl/Make-CC-definition-conditional.patch b/import-layers/meta-virtualization/recipes-extended/iasl/iasl/Make-CC-definition-conditional.patch
deleted file mode 100644
index f69a36c..0000000
--- a/import-layers/meta-virtualization/recipes-extended/iasl/iasl/Make-CC-definition-conditional.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-[PATCH] Make CC definition conditional
-
-Upstream-Status: pending
-
-By hardcoding CC's definition to gcc, make this packages unable to
-cross-compile. the -e options of make can not override the CC since
-it is not defined in Makefile, but in Makefile.config
-
-Signed-off-by: Roy.Li <rongqing.li@windriver.com>
----
- generate/unix/Makefile.config | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/generate/unix/Makefile.config b/generate/unix/Makefile.config
-index 8d41399..72d597d 100644
---- a/generate/unix/Makefile.config
-+++ b/generate/unix/Makefile.config
-@@ -35,7 +35,7 @@
- .SUFFIXES :
- PROGS = acpibin acpidump acpiexamples acpiexec acpihelp acpinames acpisrc acpixtract iasl
- HOST ?= _CYGWIN
--CC =    gcc
-+CC ?=    gcc
- 
- #
- # Common defines
--- 
-1.9.1
-
diff --git a/import-layers/meta-virtualization/recipes-extended/iasl/iasl/iasl.1 b/import-layers/meta-virtualization/recipes-extended/iasl/iasl/iasl.1
deleted file mode 100644
index 000a3b8..0000000
--- a/import-layers/meta-virtualization/recipes-extended/iasl/iasl/iasl.1
+++ /dev/null
@@ -1,135 +0,0 @@
-.\" First parameter, NAME, should be all caps
-.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
-.\" other parameters are allowed: see man(7), man(1)
-.TH IASL 1 "October 14, 2005"
-.\" Please adjust this date whenever revising the manpage.
-.\"
-.\" Some roff macros, for reference:
-.\" .nh        disable hyphenation
-.\" .hy        enable hyphenation
-.\" .ad l      left justify
-.\" .ad b      justify to both left and right margins
-.\" .nf        disable filling
-.\" .fi        enable filling
-.\" .br        insert line break
-.\" .sp <n>    insert n+1 empty lines
-.\" for manpage-specific macros, see man(7)
-.SH NAME
-iasl \- ACPI Source Language compiler/decompiler
-.SH SYNOPSIS
-.B iasl
-.RI [ options ]
-.RI [ "input file" ]
-.SH DESCRIPTION
-This manual page documents briefly the
-.B iasl
-command. The option list is taken from the iasl interactive help.
-.PP
-.\" TeX users may be more comfortable with the \fB<whatever>\fP and
-.\" \fI<whatever>\fP escape sequences to invode bold face and italics, 
-.\" respectively.
-.B iasl
-is an ASL compiler and decompiler.
-
-.SH OPTIONS
-
-.PP
-.SS General Output
-.TP
-.B \-p <prefix>
-Specify filename prefix for all output files (including .aml)
-.TP
-.B \-vi
-Less verbose errors and warnings for use with IDEs
-.TP
-.B \-vo
-Enable optimization comments
-.TP
-.B \-vr
-Disable remarks
-.TP
-.B \-vs
-Disable signon
-
-.PP
-.SS AML Output Files
-.TP
-.B \-s<a|c>
-Create AML in assembler or C source file (*.asm or *.c)
-.TP
-.B \-i<a|c>
-Create assembler or C include file (*.inc or *.h)
-.TP
-.B \-t<a|c>
-Create AML in assembler or C hex table (*.hex)
-
-.PP
-.SS AML Code Generation
-.TP
-.B \-oa
-Disable all optimizations (compatibility mode)
-.TP
-.B \-of
-Disable constant folding
-.TP
-.B \-oi
-Disable integer optimization to Zero/One/Ones
-.TP
-.B \-on
-Disable named reference string optimization
-.TP
-.B \-r<Revision>
-Override table header Revision (1-255)
-
-.PP
-.SS Listings
-.TP
-.B \-l
-Create mixed listing file (ASL source and AML) (*.lst)
-.TP
-.B \-ln
-Create namespace file (*.nsp)
-.TP
-.B \-ls
-Create combined source file (expanded includes) (*.src)
-
-.PP
-.SS AML Disassembler
-.TP
-.B \-d  [file]
-Disassemble AML to ASL source code file (*.dsl)
-.TP
-.B \-dc [file]
-Disassemble AML and immediately compile it
-.br
-(Obtain DSDT from current system if no input file)
-.TP
-.B \-e
-Generate External() statements for unresolved symbols
-.TP
-.B \-g
-Get ACPI tables and write to files (*.dat)
-
-.PP
-.SS Miscellaneous
-.TP
-.B \-a
-Verify source file is entirely ASCII text (0x00-0x7F)
-
-.PP
-.SS Help
-.TP
-.B \-h
-Additional help and compiler debug options
-.TP
-.B \-hc
-Display operators allowed in constant expressions
-.TP
-.B \-hr
-Display ACPI reserved method names
-
-.SH AUTHOR
-iasl was written by Robert Moore <robert.moore@intel.com>.
-.PP
-This manual page was written by Mattia Dongili <malattia@debian.org>,
-for the Debian project (but may be used by others).
diff --git a/import-layers/meta-virtualization/recipes-extended/iasl/iasl_20160527.bb b/import-layers/meta-virtualization/recipes-extended/iasl/iasl_20160527.bb
deleted file mode 100644
index 62e83c4..0000000
--- a/import-layers/meta-virtualization/recipes-extended/iasl/iasl_20160527.bb
+++ /dev/null
@@ -1,36 +0,0 @@
-SUMMARY = "Intel ASL compiler/decompiler"
-DESCRIPTION = "This is a cross development C compiler, assembler and linker environment for the production of 8086 executables (Optionally MSDOS COM)"
-HOMEPAGE = "http://www.acpica.org/"
-LICENSE = "Intel-ACPI"
-LIC_FILES_CHKSUM = "file://source/compiler/aslcompiler.h;beginline=7;endline=114;md5=09f82edcd148ab4c8aa554bc3e9d0676"
-SECTION = "console/tools"
-
-DEPENDS = "bison-native flex-native"
-
-SRC_URI = "https://www.acpica.org/sites/acpica/files/acpica-unix-${PV}.tar.gz \
-           file://iasl.1 \
-           file://Make-CC-definition-conditional.patch \
-"
-
-SRC_URI[md5sum] = "be677fc358de9dadc036e1ea678a101b"
-SRC_URI[sha256sum] = "6b681732624de1eb58b2bcf1c7ef0744ba14ed35fcaa534d4421574782fbb848"
-
-S = "${WORKDIR}/acpica-unix-${PV}/"
-
-BBCLASSEXTEND = "native"
-CFLAGS += "-D_LINUX -DACPI_ASL_COMPILER -I../include -I../compiler"
-
-COMPATIBLE_HOST = "(x86_64.*|i.86.*)-linux"
-
-# By setting NOOPT we suppress forcing -O2 and setting _FORTIFY_SOURCE=2.  Let the
-# optimization and security cflags set them.
-#
-do_compile() {
-        oe_runmake iasl NOOPT=TRUE NOFORTIFY=TRUE
-}
-
-do_install() {
-	install -d ${D}${bindir} ${D}${mandir}/man1
-	install -m 0755 ${S}/generate/unix/bin/iasl ${D}${bindir}
-	install -m 0644 ${WORKDIR}/iasl.1 ${D}${mandir}/man1
-}
diff --git a/import-layers/meta-virtualization/recipes-extended/images/cloud-image-compute.bb b/import-layers/meta-virtualization/recipes-extended/images/cloud-image-compute.bb
deleted file mode 100644
index 197624f..0000000
--- a/import-layers/meta-virtualization/recipes-extended/images/cloud-image-compute.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-IMAGE_FEATURES += "ssh-server-openssh"
-EXTRA_IMAGE_FEATURES = "tools-debug debug-tweaks"
-
-IMAGE_INSTALL = "\
-    ${CORE_IMAGE_BASE_INSTALL} \
-    packagegroup-core-basic \
-    openvswitch \
-    libvirt \
-    openflow \
-    "
-
-inherit core-image
-
-IMAGE_FSTYPES = "tar.gz"
diff --git a/import-layers/meta-virtualization/recipes-extended/images/cloud-image-controller.bb b/import-layers/meta-virtualization/recipes-extended/images/cloud-image-controller.bb
deleted file mode 100644
index c816545..0000000
--- a/import-layers/meta-virtualization/recipes-extended/images/cloud-image-controller.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-IMAGE_FEATURES += "ssh-server-openssh package-management"
-EXTRA_IMAGE_FEATURES = "tools-debug debug-tweaks"
-
-IMAGE_INSTALL = "\
-    ${CORE_IMAGE_BASE_INSTALL} \
-    packagegroup-core-basic \
-    openvswitch \
-    openvswitch-controller \
-    openvswitch-switch \
-    openvswitch-brcompat \
-    criu \
-    libvirt \
-    libvirt-libvirtd \
-    libvirt-python \
-    libvirt-virsh \    
-    openflow \
-    qemu \   
-    kernel-modules \
-    dhcp-client \
-    perl-modules \
-    grub \
-    mysql5 \
-    python-twisted \ 
-    python-lxml \
-    "
-
-inherit core-image
-
-IMAGE_FSTYPES = "wic.vmdk tar.gz"
-
-# Ensure extra space for guest images
-#IMAGE_ROOTFS_EXTRA_SPACE = "41943040"
diff --git a/import-layers/meta-virtualization/recipes-extended/images/cloud-image-guest.bb b/import-layers/meta-virtualization/recipes-extended/images/cloud-image-guest.bb
deleted file mode 100644
index 2957506..0000000
--- a/import-layers/meta-virtualization/recipes-extended/images/cloud-image-guest.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-IMAGE_FEATURES += "ssh-server-openssh package-management"
-EXTRA_IMAGE_FEATURES = "tools-debug debug-tweaks"
-
-IMAGE_INSTALL = "\
-    ${CORE_IMAGE_BASE_INSTALL} \
-    packagegroup-core-basic \
-    openflow \
-    qemu \   
-    kernel-modules \
-    tcpdump \
-    dhcp-client \
-    "
-
-inherit core-image
-
-IMAGE_FSTYPES += "wic.vmdk"
diff --git a/import-layers/meta-virtualization/recipes-extended/images/kvm-image-minimal.bb b/import-layers/meta-virtualization/recipes-extended/images/kvm-image-minimal.bb
deleted file mode 100644
index b28cc30..0000000
--- a/import-layers/meta-virtualization/recipes-extended/images/kvm-image-minimal.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-DESCRIPTION = "A minimal kvm image"
-
-IMAGE_INSTALL = " \
-    packagegroup-core-boot \
-    qemu \
-    libvirt \
-    libvirt-libvirtd \
-    libvirt-virsh \
-    kernel-module-kvm \
-    kernel-module-kvm-intel \
-    kernel-module-kvm-amd \
-    "
-
-IMAGE_FEATURES += "ssh-server-openssh"
-
-IMAGE_LINGUAS = " "
-
-LICENSE = "MIT"
-
-inherit core-image
-
-IMAGE_ROOTFS_SIZE = "8192"
diff --git a/import-layers/meta-virtualization/recipes-extended/images/xen-guest-image-minimal.bb b/import-layers/meta-virtualization/recipes-extended/images/xen-guest-image-minimal.bb
deleted file mode 100644
index d311eae..0000000
--- a/import-layers/meta-virtualization/recipes-extended/images/xen-guest-image-minimal.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-DESCRIPTION = "A Xen guest image."
-
-inherit core-image distro_features_check
-
-IMAGE_INSTALL += " \
-    packagegroup-core-boot \
-    ${@bb.utils.contains('MACHINE_FEATURES', 'acpi', 'kernel-module-xen-acpi-processor', '', d)} \
-    "
-
-IMAGE_INSTALL += "${@bb.utils.contains('IMAGE_FEATURES', 'x11', ' xf86-video-fbdev', '', d)}"
-
-# Install xf86-video-vesa on x86 platforms.
-IMAGE_INSTALL_append_x86-64 = "${@bb.utils.contains('IMAGE_FEATURES', 'x11', ' xf86-video-vesa', '', d)}"
-IMAGE_INSTALL_append_x86    = "${@bb.utils.contains('IMAGE_FEATURES', 'x11', ' xf86-video-vesa', '', d)}"
-
-REQUIRED_DISTRO_FEATURES += "${@bb.utils.contains('IMAGE_FEATURES', 'x11', ' x11', '', d)} xen"
-
-LICENSE = "MIT"
-
-# Send console messages to xen console
-APPEND += "console=hvc0"
diff --git a/import-layers/meta-virtualization/recipes-extended/images/xen-image-minimal.bb b/import-layers/meta-virtualization/recipes-extended/images/xen-image-minimal.bb
deleted file mode 100644
index c39d378..0000000
--- a/import-layers/meta-virtualization/recipes-extended/images/xen-image-minimal.bb
+++ /dev/null
@@ -1,66 +0,0 @@
-DESCRIPTION = "A minimal xen image"
-
-INITRD_IMAGE = "core-image-minimal-initramfs"
-
-IMAGE_INSTALL += " \
-    packagegroup-core-boot \
-    packagegroup-core-ssh-openssh \
-    ${@bb.utils.contains('MACHINE_FEATURES', 'acpi', 'kernel-module-xen-acpi-processor', '', d)} \
-    kernel-module-xen-blkback \
-    kernel-module-xen-gntalloc \
-    kernel-module-xen-gntdev \
-    kernel-module-xen-netback \
-    ${@bb.utils.contains('MACHINE_FEATURES', 'pci', "${XEN_PCIBACK_MODULE}", '', d)} \
-    kernel-module-xen-wdt \
-    xen-base \
-    qemu \
-    "
-
-# Linux kernel option CONFIG_XEN_PCIDEV_BACKEND depends on X86
-XEN_PCIBACK_MODULE = ""
-XEN_PCIBACK_MODULE_x86    = "kernel-module-xen-pciback"
-XEN_PCIBACK_MODULE_x86-64 = "kernel-module-xen-pciback"
-
-LICENSE = "MIT"
-
-inherit core-image
-
-do_check_xen_state() {
-    if [ "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' yes', 'no', d)}" = "no" ]; then
-        die "DISTRO_FEATURES does not contain 'xen'"
-    fi
-}
-
-addtask check_xen_state before do_rootfs
-
-syslinux_iso_populate_append() {
-	install -m 0444 ${STAGING_DATADIR}/syslinux/libcom32.c32 ${ISODIR}${ISOLINUXDIR}
-	install -m 0444 ${STAGING_DATADIR}/syslinux/mboot.c32 ${ISODIR}${ISOLINUXDIR}
-}
-
-syslinux_hddimg_populate_append() {
-	install -m 0444 ${STAGING_DATADIR}/syslinux/libcom32.c32 ${HDDDIR}${SYSLINUXDIR}
-	install -m 0444 ${STAGING_DATADIR}/syslinux/mboot.c32 ${HDDDIR}${SYSLINUXDIR}
-}
-
-grubefi_populate_append() {
-	install -m 0644 ${DEPLOY_DIR_IMAGE}/xen-${MACHINE}.gz ${DEST}${EFIDIR}/xen.gz
-}
-
-syslinux_populate_append() {
-	install -m 0644 ${DEPLOY_DIR_IMAGE}/xen-${MACHINE}.gz ${DEST}/xen.gz
-}
-
-SYSLINUX_XEN_ARGS ?= "loglvl=all guest_loglvl=all console=com1,vga com1=115200,8n1"
-SYSLINUX_KERNEL_ARGS ?= "ramdisk_size=32768 root=/dev/ram0 rw console=hvc0 earlyprintk=xen console=tty0 panic=10 LABEL=boot debugshell=5"
-
-build_syslinux_cfg () {
-	echo "ALLOWOPTIONS 1" > ${SYSLINUX_CFG}
-	echo "DEFAULT boot" >> ${SYSLINUX_CFG}
-	echo "TIMEOUT 10" >> ${SYSLINUX_CFG}
-	echo "PROMPT 1" >> ${SYSLINUX_CFG}
-	echo "LABEL boot" >> ${SYSLINUX_CFG}
-	echo "  KERNEL mboot.c32" >> ${SYSLINUX_CFG}
-	echo "  APPEND /xen.gz ${SYSLINUX_XEN_ARGS} --- /vmlinuz ${SYSLINUX_KERNEL_ARGS} --- /initrd" >> ${SYSLINUX_CFG}
-}
-
diff --git a/import-layers/meta-virtualization/recipes-extended/iptables/iptables-meta-virtualization.inc b/import-layers/meta-virtualization/recipes-extended/iptables/iptables-meta-virtualization.inc
deleted file mode 100644
index 8fd521c..0000000
--- a/import-layers/meta-virtualization/recipes-extended/iptables/iptables-meta-virtualization.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-RRECOMMENDS_${PN} += "kernel-module-ip6-tables \
-                      kernel-module-ip-tables \
-                      kernel-module-ip6table-filter \
-                      kernel-module-iptable-filter \
-                      kernel-module-ip6table-raw \
-                      kernel-module-iptable-raw \
-                      kernel-module-ip6table-nat \
-                      kernel-module-iptable-nat \
-                      kernel-module-ip6table-mangle \
-                      kernel-module-iptable-magle \
-                      kernel-module-ip6table-security \
-                      kernel-module-iptable-security \
-                      kernel-module-ipt-reject \
-                      kernel-module-iptable-mangle \
-                      kernel-module-xt-checksum \
-                      kernel-module-xt-conntrack \
-                      kernel-module-xt-state \
-                      kernel-module-xt-tcpudp \
-                      "
diff --git a/import-layers/meta-virtualization/recipes-extended/iptables/iptables_1.%.bbappend b/import-layers/meta-virtualization/recipes-extended/iptables/iptables_1.%.bbappend
deleted file mode 100644
index 9a15e60..0000000
--- a/import-layers/meta-virtualization/recipes-extended/iptables/iptables_1.%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', '${BPN}-meta-virtualization.inc', '', d)}
diff --git a/import-layers/meta-virtualization/recipes-extended/ipxe/ipxe_git.bb b/import-layers/meta-virtualization/recipes-extended/ipxe/ipxe_git.bb
deleted file mode 100644
index c0c8a7b..0000000
--- a/import-layers/meta-virtualization/recipes-extended/ipxe/ipxe_git.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-DESCRIPTION = "Open source network boot firmware"
-HOMEPAGE = "http://ipxe.org"
-LICENSE = "GPLv2"
-DEPENDS = "binutils-native perl-native syslinux mtools-native cdrtools-native"
-LIC_FILES_CHKSUM = "file://../COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-
-SRCREV = "8c43891db4eb131d019360ccfb619f235b17eb58"
-PV = "gitr${SRCPV}"
-PR = "r0"
-
-SRC_URI = "git://git.ipxe.org/ipxe.git;protocol=https"
-
-FILES_${PN} = "/usr/share/firmware/*.rom"
-
-EXTRA_OEMAKE = "NO_WERROR=1"
-#PARALLEL_MAKE=""
-
-S = "${WORKDIR}/git/src"
-
-do_configure() {
-   sed -i s#^ISOLINUX_BIN[\ \\t]*=.*#ISOLINUX_BIN\ =\ ${STAGING_DIR_TARGET}/usr/lib/syslinux/isolinux.bin# arch/i386/Makefile
-}
-
-do_compile() {
-   oe_runmake
-}
-
-do_install() {
-    install -d ${D}/usr/share/firmware
-    install ${S}/bin/*.rom ${D}/usr/share/firmware/
-}
diff --git a/import-layers/meta-virtualization/recipes-extended/irqbalance/irqbalance.inc b/import-layers/meta-virtualization/recipes-extended/irqbalance/irqbalance.inc
deleted file mode 100644
index 53275d1..0000000
--- a/import-layers/meta-virtualization/recipes-extended/irqbalance/irqbalance.inc
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-# Copyright (C) 2013 Wind River Systems, Inc.
-#
-SUMMARY = "IRQ allocation daemon"
-DESCRIPTION = "A daemon to balance interrupts across multiple CPUs, \
-which can lead to better performance and IO balance on SMP systems."
-
-HOMEPAGE = "http://code.google.com/p/irqbalance/"
-BUGTRACKER = "http://code.google.com/p/irqbalance/issues/list"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
-		    file://irqbalance.c;beginline=6;endline=8;md5=b94e153694672307b503b1bc87dc9e24 \
-		   "
-
-DEPENDS = "glib-2.0"
-
-INITSCRIPT_NAME = "irqbalanced"
-INITSCRIPT_PARAMS = "defaults"
-
-inherit autotools update-rc.d pkgconfig systemd
-
-SYSTEMD_PACKAGES = "irqbalance"
-SYSTEMD_SERVICE_irqbalance = "irqbalanced.service"
-
-EXTRA_OECONF = "--program-transform-name= \
-	       "
-
-# let the recipes or appends define options
-#
-PACKAGECONFIG ?= ""
-
-# enable,disable,depends,rdepends
-#
-PACKAGECONFIG[numa] = "--enable-numa,--disable-numa,numactl,"
-PACKAGECONFIG[libcap-ng] = "--with-libcap-ng,--without-libcap-ng,libcap-ng,"
-
-do_install () {
-        oe_runmake 'DESTDIR=${D}' install
-        install -d ${D}${sysconfdir}/init.d
-        cat ${S}/irqbalance.init | sed -e's,/usr/sbin,${sbindir},g' > ${D}${sysconfdir}/init.d/irqbalanced
-        chmod 755 ${D}${sysconfdir}/init.d/irqbalanced
-
-        install -d ${D}${systemd_unitdir}/system
-        install -m 0644 ${WORKDIR}/irqbalanced.service ${D}${systemd_unitdir}/system
-        sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/irqbalanced.service
-}
diff --git a/import-layers/meta-virtualization/recipes-extended/irqbalance/irqbalance/add-initscript.patch b/import-layers/meta-virtualization/recipes-extended/irqbalance/irqbalance/add-initscript.patch
deleted file mode 100644
index b0e608e..0000000
--- a/import-layers/meta-virtualization/recipes-extended/irqbalance/irqbalance/add-initscript.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 80c45eecc193c6c13430ddeb40b9b0fd1841ceee Mon Sep 17 00:00:00 2001
-From: Mark Asselstine <mark.asselstine@windriver.com>
-Date: Thu, 14 Mar 2013 23:31:38 -0700
-Subject: [PATCH] irqbalance: add basic init script
-
-The upstream irqbalance release package does not contain an
-init script so we create a basic one here.
-
-Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
-
----
- irqbalance.init | 35 +++++++++++++++++++++++++++++++++++
- 1 file changed, 35 insertions(+)
- create mode 100644 irqbalance.init
-
-diff --git a/irqbalance.init b/irqbalance.init
-new file mode 100644
-index 0000000..d12d62c
---- /dev/null
-+++ b/irqbalance.init
-@@ -0,0 +1,35 @@
-+#!/bin/sh
-+#
-+# Copyright (c) 2012 Wind River Systems, Inc.
-+#
-+### BEGIN INIT INFO
-+# Provides:             irqbalance
-+# Required-Start:
-+# Required-Stop:
-+# Default-Start:        2 3 4 5
-+# Default-Stop:         0 1 6
-+# Short-Description:    IRQ allocation daemon
-+### END INIT INFO
-+
-+case "$1" in
-+  start)
-+	echo -n "Starting irqbalance: "
-+	start-stop-daemon -S -b -n irqbalance -a /usr/sbin/irqbalance
-+	echo "done"
-+	;;
-+  stop)
-+	echo -n "Shutting down irqbalance: "
-+	start-stop-daemon -K -n irqbalance
-+	echo "done"
-+	;;
-+  restart)
-+	$0 stop
-+	$0 start
-+	;;
-+  *)
-+	echo "Usage: $0 {start | stop | restart}" >&2
-+	exit 1
-+	;;
-+esac
-+
-+exit 0
diff --git a/import-layers/meta-virtualization/recipes-extended/irqbalance/irqbalance/fix-configure-libcap-ng.patch b/import-layers/meta-virtualization/recipes-extended/irqbalance/irqbalance/fix-configure-libcap-ng.patch
deleted file mode 100644
index fb22d7a..0000000
--- a/import-layers/meta-virtualization/recipes-extended/irqbalance/irqbalance/fix-configure-libcap-ng.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 20a1b2ff2e6d80924824983c363c80f66e05c0d0 Mon Sep 17 00:00:00 2001
-From: Ming Liu <ming.liu@windriver.com>
-Date: Sun, 6 Sep 2015 14:43:24 +0800
-Subject: [PATCH] grasp withval for libcap-ng
-
-Upstream-Status: Pending
-
-Signed-off-by: Ming Liu <ming.liu@windriver.com>
-
----
- configure.ac | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 38a1bee..95f1488 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -62,7 +62,10 @@ AS_IF(
- ])
- 
- AC_ARG_WITH([libcap-ng],
--  AS_HELP_STRING([libcap-ng], [Add libcap-ng-support @<:@default=auto@:>@]))
-+  [AS_HELP_STRING([libcap-ng], [Add libcap-ng-support @<:@default=auto@:>@])],
-+  [libcap_ng=$withval],
-+  [libcap_ng=$withval]
-+)
- 
- AS_IF(
-   [test "x$libcap_ng" != "xno"],
diff --git a/import-layers/meta-virtualization/recipes-extended/irqbalance/irqbalance/irqbalance-Add-status-and-reload-commands.patch b/import-layers/meta-virtualization/recipes-extended/irqbalance/irqbalance/irqbalance-Add-status-and-reload-commands.patch
deleted file mode 100644
index ec01448..0000000
--- a/import-layers/meta-virtualization/recipes-extended/irqbalance/irqbalance/irqbalance-Add-status-and-reload-commands.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 9a16da2628cc4fddf37fe0368b4f6424270f0b2d Mon Sep 17 00:00:00 2001
-From: Yang Shi <yang.shi@windriver.com>
-Date: Mon, 26 Aug 2013 10:58:02 -0700
-Subject: [PATCH] irqbalance: Add status and reload commands
-
-Add status and reload commands for irqbalanced init script
-
-Signed-off-by: Yang Shi <yang.shi@windriver.com>
-
----
- irqbalance.init | 12 +++++++++---
- 1 file changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/irqbalance.init b/irqbalance.init
-index d12d62c..f58bf55 100644
---- a/irqbalance.init
-+++ b/irqbalance.init
-@@ -1,6 +1,6 @@
- #!/bin/sh
- #
--# Copyright (c) 2012 Wind River Systems, Inc.
-+# Copyright (c) 2013 Wind River Systems, Inc.
- #
- ### BEGIN INIT INFO
- # Provides:             irqbalance
-@@ -11,6 +11,8 @@
- # Short-Description:    IRQ allocation daemon
- ### END INIT INFO
- 
-+. /etc/init.d/functions
-+
- case "$1" in
-   start)
- 	echo -n "Starting irqbalance: "
-@@ -22,12 +24,16 @@ case "$1" in
- 	start-stop-daemon -K -n irqbalance
- 	echo "done"
- 	;;
--  restart)
-+  restart|reload)
- 	$0 stop
- 	$0 start
- 	;;
-+  status)
-+	status irqbalance
-+	echo "done"
-+	;;
-   *)
--	echo "Usage: $0 {start | stop | restart}" >&2
-+	echo "Usage: $0 {start | stop | restart | reload | status}" >&2
- 	exit 1
- 	;;
- esac
diff --git a/import-layers/meta-virtualization/recipes-extended/irqbalance/irqbalance/irqbalanced.service b/import-layers/meta-virtualization/recipes-extended/irqbalance/irqbalance/irqbalanced.service
deleted file mode 100644
index 5b284fa..0000000
--- a/import-layers/meta-virtualization/recipes-extended/irqbalance/irqbalance/irqbalanced.service
+++ /dev/null
@@ -1,9 +0,0 @@
-[Unit]
-Description=irqbalance daemon
-After=syslog.target
-
-[Service]
-ExecStart=@SBINDIR@/irqbalance --foreground
-
-[Install]
-WantedBy=multi-user.target
diff --git a/import-layers/meta-virtualization/recipes-extended/irqbalance/irqbalance_1.3.0.bb b/import-layers/meta-virtualization/recipes-extended/irqbalance/irqbalance_1.3.0.bb
deleted file mode 100644
index 5581a8b..0000000
--- a/import-layers/meta-virtualization/recipes-extended/irqbalance/irqbalance_1.3.0.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# Copyright (C) 2015 Wind River Systems, Inc.
-#
-
-require irqbalance.inc
-
-SRC_URI[md5sum] = "53ee393adcfbc8e5ab23cbbd920df687"
-SRC_URI[sha256sum] = "41c2c0842d8fb24240d8069b389cd8d1669625a40009a17ad886967845dc6e43"
-
-SRC_URI = "https://github.com/Irqbalance/irqbalance/archive/v${PV}.tar.gz;downloadfilename=irqbalance-${PV}.tar.gz \
-           file://add-initscript.patch \
-           file://irqbalance-Add-status-and-reload-commands.patch \
-           file://fix-configure-libcap-ng.patch \
-           file://irqbalanced.service \
-          "
diff --git a/import-layers/meta-virtualization/recipes-extended/kvmtool/files/0001-Avoid-pointers-for-address-of-packed-members.patch b/import-layers/meta-virtualization/recipes-extended/kvmtool/files/0001-Avoid-pointers-for-address-of-packed-members.patch
deleted file mode 100644
index 863e86a..0000000
--- a/import-layers/meta-virtualization/recipes-extended/kvmtool/files/0001-Avoid-pointers-for-address-of-packed-members.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 2e22df7c24dadf5e16004cd832cabca76a699d4d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 21 Mar 2017 23:32:39 -0700
-Subject: [PATCH] Avoid pointers for address of packed members
-
-Fixes Clang warning due to -Waddress-of-packed-member
-
-virtio/blk.c:161:37: error: taking address of packed member 'geometry' of class or structure 'virtio_blk_config' may result in an unaligned pointer value [-Werror,-Waddress-of-packed-member]
-        struct virtio_blk_geometry *geo = &conf->geometry;
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- virtio/blk.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/virtio/blk.c b/virtio/blk.c
-index c485e4f..1f7365d 100644
---- a/virtio/blk.c
-+++ b/virtio/blk.c
-@@ -158,7 +158,6 @@ static void set_guest_features(struct kvm *kvm, void *dev, u32 features)
- {
- 	struct blk_dev *bdev = dev;
- 	struct virtio_blk_config *conf = &bdev->blk_config;
--	struct virtio_blk_geometry *geo = &conf->geometry;
- 
- 	bdev->features = features;
- 
-@@ -167,7 +166,7 @@ static void set_guest_features(struct kvm *kvm, void *dev, u32 features)
- 	conf->seg_max = virtio_host_to_guest_u32(&bdev->vdev, conf->seg_max);
- 
- 	/* Geometry */
--	geo->cylinders = virtio_host_to_guest_u16(&bdev->vdev, geo->cylinders);
-+	conf->geometry.cylinders = virtio_host_to_guest_u16(&bdev->vdev, conf->geometry.cylinders);
- 
- 	conf->blk_size = virtio_host_to_guest_u32(&bdev->vdev, conf->blk_size);
- 	conf->min_io_size = virtio_host_to_guest_u16(&bdev->vdev, conf->min_io_size);
--- 
-2.12.0
-
diff --git a/import-layers/meta-virtualization/recipes-extended/kvmtool/files/0001-kvmtool-9p-fixed-compilation-error.patch b/import-layers/meta-virtualization/recipes-extended/kvmtool/files/0001-kvmtool-9p-fixed-compilation-error.patch
deleted file mode 100644
index 63911fc..0000000
--- a/import-layers/meta-virtualization/recipes-extended/kvmtool/files/0001-kvmtool-9p-fixed-compilation-error.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From bcd954ffdb9383030e02d356b51e09e4e2a7105a Mon Sep 17 00:00:00 2001
-From: Dariusz Pelowski <dariusz.pelowski@gmail.com>
-Date: Sun, 5 Nov 2017 12:39:52 +0100
-Subject: [PATCH 1/2] kvmtool: 9p: fixed compilation error
-
-makedev is defined in sys/sysmacros.h
-
-Signed-off-by: Dariusz Pelowski <dariusz.pelowski@gmail.com>
----
- virtio/9p.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/virtio/9p.c b/virtio/9p.c
-index 6acbfdd..1dee2c2 100644
---- a/virtio/9p.c
-+++ b/virtio/9p.c
-@@ -15,6 +15,7 @@
- #include <string.h>
- #include <errno.h>
- #include <sys/vfs.h>
-+#include <sys/sysmacros.h>
- 
- #include <linux/virtio_ring.h>
- #include <linux/virtio_9p.h>
--- 
-2.15.0
-
diff --git a/import-layers/meta-virtualization/recipes-extended/kvmtool/files/0002-kvmtool-add-EXTRA_CFLAGS-variable.patch b/import-layers/meta-virtualization/recipes-extended/kvmtool/files/0002-kvmtool-add-EXTRA_CFLAGS-variable.patch
deleted file mode 100644
index 262531c..0000000
--- a/import-layers/meta-virtualization/recipes-extended/kvmtool/files/0002-kvmtool-add-EXTRA_CFLAGS-variable.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 977a4d41012d1814f5a5330cacc2e4944de387cc Mon Sep 17 00:00:00 2001
-From: Dariusz Pelowski <dariusz.pelowski@gmail.com>
-Date: Sun, 5 Nov 2017 12:39:21 +0100
-Subject: [PATCH 2/2] kvmtool: add EXTRA_CFLAGS variable
-
-to avoid CFLAGS overriding introduce new EXTRA_CFLAGS variable
-for setting via command argument
-
-Signed-off-by: Dariusz Pelowski <dariusz.pelowski@gmail.com>
----
- Makefile | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/Makefile b/Makefile
-index 64a0a16..bca1b26 100644
---- a/Makefile
-+++ b/Makefile
-@@ -2,6 +2,8 @@
- # Define WERROR=0 to disable -Werror.
- #
- 
-+CFLAGS += $(EXTRA_CFLAGS)
-+
- ifeq ($(strip $(V)),)
- 	E = @echo
- 	Q = @
--- 
-2.15.0
-
diff --git a/import-layers/meta-virtualization/recipes-extended/kvmtool/files/external-crosscompiler.patch b/import-layers/meta-virtualization/recipes-extended/kvmtool/files/external-crosscompiler.patch
deleted file mode 100644
index 75cef3b..0000000
--- a/import-layers/meta-virtualization/recipes-extended/kvmtool/files/external-crosscompiler.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-Upstream-Status: Inappropriate [embedded specific]
-
-This allows OpenEmbedded to pass in cross compiler configuration using
-the default envirnment variables. It is required so that kvmtool can
-be linked against the cross-compiled libfdt library.
-
-diff --git a/Makefile b/Makefile
-index 1f0196f..8bfb068 100644
---- a/Makefile
-+++ b/Makefile
-@@ -14,11 +14,6 @@ export E Q
- include config/utilities.mak
- include config/feature-tests.mak
- 
--CC	:= $(CROSS_COMPILE)gcc
--CFLAGS	:=
--LD	:= $(CROSS_COMPILE)ld
--LDFLAGS	:=
--
- FIND	:= find
- CSCOPE	:= cscope
- TAGS	:= ctags
-@@ -297,7 +292,7 @@ $(warning No static libc found. Skipping guest init)
- endif
- 
- ifeq (y,$(ARCH_WANT_LIBFDT))
--	ifneq ($(call try-build,$(SOURCE_LIBFDT),$(CFLAGS),-lfdt),y)
-+	ifneq ($(call try-build,$(SOURCE_LIBFDT),$(CPPFLAGS) $(CFLAGS),-lfdt),y)
-           $(error No libfdt found. Please install libfdt-dev package)
- 	else
- 		CFLAGS_DYNOPT	+= -DCONFIG_HAS_LIBFDT
diff --git a/import-layers/meta-virtualization/recipes-extended/kvmtool/kvmtool.bb b/import-layers/meta-virtualization/recipes-extended/kvmtool/kvmtool.bb
deleted file mode 100644
index 33fec31..0000000
--- a/import-layers/meta-virtualization/recipes-extended/kvmtool/kvmtool.bb
+++ /dev/null
@@ -1,29 +0,0 @@
-SUMMARY = "Native Linux KVM tool"
-DESCRIPTION = "kvmtool is a lightweight tool for hosting KVM guests."
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067"
-
-DEPENDS = "dtc libaio zlib"
-do_configure[depends] += "virtual/kernel:do_shared_workdir"
-
-inherit kernel-arch
-
-SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/will/kvmtool.git \
-           file://external-crosscompiler.patch \
-           file://0001-Avoid-pointers-for-address-of-packed-members.patch \
-           file://0001-kvmtool-9p-fixed-compilation-error.patch \
-           file://0002-kvmtool-add-EXTRA_CFLAGS-variable.patch \
-           "
-
-SRCREV = "3fea89a924511f9f8fe05a892098fad77c1eca0d"
-PV = "3.18.0+git${SRCREV}"
-
-S = "${WORKDIR}/git"
-
-EXTRA_OEMAKE='V=1 EXTRA_CFLAGS="-I${STAGING_KERNEL_DIR}/arch/${ARCH}/include -I${STAGING_KERNEL_BUILDDIR}/arch/${ARCH}/include/generated/"'
-
-do_install() {
-    install -d ${D}${bindir}
-    install -m 0755 ${S}/lkvm ${D}${bindir}/
-}
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt-1.3.5/0001-Added-configure-variable-for-placing-systemd-untis-l.patch b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt-1.3.5/0001-Added-configure-variable-for-placing-systemd-untis-l.patch
deleted file mode 100644
index a64739c..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt-1.3.5/0001-Added-configure-variable-for-placing-systemd-untis-l.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 531178d7fbb5d4b3404766cfd0fc999398cccd58 Mon Sep 17 00:00:00 2001
-From: Amarnath Valluri <amarnath.valluri@intel.com>
-Date: Wed, 8 Feb 2017 18:39:48 +0200
-Subject: [PATCH] Added configure variable for placing systemd untis location
-
-Upstream-Status: Pending
-
-Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
----
- configure.ac       | 3 +++
- daemon/Makefile.am | 1 -
- tools/Makefile.am  | 1 -
- 3 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 0e5b8e3..5a6408c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -2687,6 +2687,9 @@ AC_DEFINE_UNQUOTED([isbase64],[libvirt_gl_isbase64],[Hack to avoid symbol clash]
- AC_DEFINE_UNQUOTED([base64_encode],[libvirt_gl_base64_encode],[Hack to avoid symbol clash])
- AC_DEFINE_UNQUOTED([base64_encode_alloc],[libvirt_gl_base64_encode_alloc],[Hack to avoid symbol clash])
- 
-+AC_ARG_VAR(SYSTEMD_UNIT_DIR, 'location for systemd units, defautls to /lib/systemd/system')
-+AS_IF([test "x$SYSTEMD_UNIT_DIR" = "x"], [SYSTEMD_UNIT_DIR="/lib/systemd/system"])
-+
- AC_CONFIG_FILES([run],
-                 [chmod +x,-w run])
- AC_CONFIG_FILES([\
-diff --git a/daemon/Makefile.am b/daemon/Makefile.am
-index edb75e8..2ab42a6 100644
---- a/daemon/Makefile.am
-+++ b/daemon/Makefile.am
-@@ -449,7 +449,6 @@ endif ! LIBVIRT_INIT_SCRIPT_UPSTART
- 
- if LIBVIRT_INIT_SCRIPT_SYSTEMD
- 
--SYSTEMD_UNIT_DIR = /lib/systemd/system
- BUILT_SOURCES += libvirtd.service
- 
- install-init-systemd: install-sysconfig libvirtd.service
-diff --git a/tools/Makefile.am b/tools/Makefile.am
-index 27ecbf1..8cefe1a 100644
---- a/tools/Makefile.am
-+++ b/tools/Makefile.am
-@@ -380,7 +380,6 @@ libvirt-guests.init: libvirt-guests.init.in libvirt-guests.sh
- 
- 
- EXTRA_DIST += libvirt-guests.service.in
--SYSTEMD_UNIT_DIR = /lib/systemd/system
- 
- if LIBVIRT_INIT_SCRIPT_SYSTEMD
- install-systemd: libvirt-guests.service install-sysconfig libvirt-guests.sh
--- 
-2.7.4
-
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt-1.3.5/0001-qemu-Let-empty-default-VNC-password-work-as-document.patch b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt-1.3.5/0001-qemu-Let-empty-default-VNC-password-work-as-document.patch
deleted file mode 100644
index 1d13dd3..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt-1.3.5/0001-qemu-Let-empty-default-VNC-password-work-as-document.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-Upstream-Status: Backport
-
-Backport patch to fix CVE-2016-5008 from:
-
-https://libvirt.org/git/?p=libvirt.git;a=commit;h=f32441c69bf450d6ac593c3acd621c37e120cdaf
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
-From f32441c69bf450d6ac593c3acd621c37e120cdaf Mon Sep 17 00:00:00 2001
-From: Jiri Denemark <jdenemar@redhat.com>
-Date: Tue, 28 Jun 2016 14:39:58 +0200
-Subject: [PATCH] qemu: Let empty default VNC password work as documented
-
-CVE-2016-5008
-
-Setting an empty graphics password is documented as a way to disable
-VNC/SPICE access, but QEMU does not always behaves like that. VNC would
-happily accept the empty password. Let's enforce the behavior by setting
-password expiration to "now".
-
-https://bugzilla.redhat.com/show_bug.cgi?id=1180092
-
-Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
-(cherry picked from commit bb848feec0f3f10e92dd8e5231ae7aa89b5598f3)
----
- src/qemu/qemu_hotplug.c | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
-index 5f12d77..fda28b0 100644
---- a/src/qemu/qemu_hotplug.c
-+++ b/src/qemu/qemu_hotplug.c
-@@ -3547,6 +3547,7 @@ qemuDomainChangeGraphicsPasswords(virQEMUDriverPtr driver,
-     time_t now = time(NULL);
-     char expire_time [64];
-     const char *connected = NULL;
-+    const char *password;
-     int ret = -1;
-     virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
- 
-@@ -3554,16 +3555,14 @@ qemuDomainChangeGraphicsPasswords(virQEMUDriverPtr driver,
-         ret = 0;
-         goto cleanup;
-     }
-+    password = auth->passwd ? auth->passwd : defaultPasswd;
- 
-     if (auth->connected)
-         connected = virDomainGraphicsAuthConnectedTypeToString(auth->connected);
- 
-     if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
-         goto cleanup;
--    ret = qemuMonitorSetPassword(priv->mon,
--                                 type,
--                                 auth->passwd ? auth->passwd : defaultPasswd,
--                                 connected);
-+    ret = qemuMonitorSetPassword(priv->mon, type, password, connected);
- 
-     if (ret == -2) {
-         if (type != VIR_DOMAIN_GRAPHICS_TYPE_VNC) {
-@@ -3571,14 +3570,15 @@ qemuDomainChangeGraphicsPasswords(virQEMUDriverPtr driver,
-                            _("Graphics password only supported for VNC"));
-             ret = -1;
-         } else {
--            ret = qemuMonitorSetVNCPassword(priv->mon,
--                                            auth->passwd ? auth->passwd : defaultPasswd);
-+            ret = qemuMonitorSetVNCPassword(priv->mon, password);
-         }
-     }
-     if (ret != 0)
-         goto end_job;
- 
--    if (auth->expires) {
-+    if (password[0] == '\0') {
-+        snprintf(expire_time, sizeof(expire_time), "now");
-+    } else if (auth->expires) {
-         time_t lifetime = auth->validTo - now;
-         if (lifetime <= 0)
-             snprintf(expire_time, sizeof(expire_time), "now");
--- 
-2.9.0
-
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt-1.3.5/0001-to-fix-build-error.patch b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt-1.3.5/0001-to-fix-build-error.patch
deleted file mode 100644
index 089ee33..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt-1.3.5/0001-to-fix-build-error.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 8353dc1e642011199c3b3ba057d51d8768e4cd54 Mon Sep 17 00:00:00 2001
-From: Lei Maohui <leimaohui@cn.fujitsu.com>
-Date: Fri, 31 Jul 2015 03:17:07 +0900
-Subject: [PATCH] to fix build error
-
-The error likes as following
-
-| Generating internals/command.html.tmp
-| /bin/sh: line 3: internals/command.html.tmp: No such file or directory
-| rm: Generating internals/locking.html.tmp
-| cannot remove `internals/command.html.tmp': No such file or directory
-| make[3]: *** [internals/command.html.tmp] Error 1
-| make[3]: *** Waiting for unfinished jobs....
-
-Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
-[ywei: rebased to libvirt-1.3.2]
-Signed-off-by: Yunguo Wei <yunguo.wei@windriver.com>
----
- docs/Makefile.am | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/docs/Makefile.am b/docs/Makefile.am
-index 1b4353b..c199551 100644
---- a/docs/Makefile.am
-+++ b/docs/Makefile.am
-@@ -164,7 +164,7 @@ EXTRA_DIST=					\
-   todo.pl hvsupport.pl todo.cfg-example \
-   $(schema_DATA)
- 
--acl_generated = aclperms.htmlinc
-+acl.html:: $(srcdir)/aclperms.htmlinc
- 
- $(srcdir)/aclperms.htmlinc: $(top_srcdir)/src/access/viraccessperm.h \
-         $(srcdir)/genaclperms.pl Makefile.am
-@@ -221,7 +221,7 @@ $(srcdir)/hvsupport.html.in: $(srcdir)/hvsupport.pl $(api_DATA) \
- 	convert -rotate 90 $< $@
- 
- %.html.tmp: %.html.in site.xsl subsite.xsl page.xsl \
--		sitemap.html.in $(acl_generated)
-+		sitemap.html.in
- 	@if [ -x $(XSLTPROC) ] ; then \
- 	  echo "Generating $@"; \
- 	  name=`echo $@ | sed -e 's/.tmp//'`; \
--- 
-1.9.1
-
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt-1.3.5/Makefiles-Add-more-XDR_CFLAGS-as-needed.patch b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt-1.3.5/Makefiles-Add-more-XDR_CFLAGS-as-needed.patch
deleted file mode 100644
index 826cdd0..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt-1.3.5/Makefiles-Add-more-XDR_CFLAGS-as-needed.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From dcfc263db9e69e5381cb511c51836271dec577a3 Mon Sep 17 00:00:00 2001
-From: Mark Asselstine <mark.asselstine@windriver.com>
-Date: Thu, 10 May 2018 13:27:47 -0400
-Subject: [PATCH] Makefiles: Add more $XDR_CFLAGS as needed
-
-When building with libtirpc instead of libc-xdr the include search
-path needs to be used. In several places this was missing and it was
-only looking in /usr/include and failing.
-
-Upstream-Status: Inappropriate [old release]
-
-Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
----
- src/Makefile.am   | 5 +++--
- tests/Makefile.am | 1 +
- 2 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index e9ce941..38114b7 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -1157,7 +1157,7 @@ libvirt_la_BUILT_LIBADD += libvirt_driver.la
- libvirt_driver_la_SOURCES = $(DRIVER_SOURCES)
- 
- libvirt_driver_la_CFLAGS = \
--		$(GNUTLS_CFLAGS) $(CURL_CFLAGS) \
-+		$(GNUTLS_CFLAGS) $(CURL_CFLAGS) $(XDR_CFLAGS) \
- 		-I$(srcdir)/conf $(AM_CFLAGS)
- libvirt_driver_la_LIBADD = \
- 		$(GNUTLS_LIBS) $(CURL_LIBS) $(DLOPEN_LIBS)
-@@ -1348,6 +1348,7 @@ endif ! WITH_DRIVER_MODULES
- 
- libvirt_driver_qemu_impl_la_CFLAGS = \
- 		$(GNUTLS_CFLAGS) \
-+		$(XDR_CFLAGS) \
- 		$(LIBNL_CFLAGS) \
- 		-I$(srcdir)/access \
- 		-I$(srcdir)/conf \
-@@ -2306,7 +2307,7 @@ libvirt_lxc_la_LDFLAGS = \
- 		$(CYGWIN_EXTRA_LDFLAGS) \
- 		$(MINGW_EXTRA_LDFLAGS) \
- 		$(NULL)
--libvirt_lxc_la_CFLAGS = $(AM_CFLAGS)
-+libvirt_lxc_la_CFLAGS = $(AM_CFLAGS) $(XDR_CFLAGS)
- libvirt_lxc_la_LIBADD = libvirt.la $(CYGWIN_EXTRA_LIBADD)
- 
- # Since virt-login-shell will be setuid, we must do everything
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 2f8b9eb..aec9a3e 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -48,6 +48,7 @@ AM_CFLAGS = \
- 	$(APPARMOR_CFLAGS) \
- 	$(YAJL_CFLAGS) \
- 	$(COVERAGE_CFLAGS) \
-+	$(XDR_CFLAGS) \
- 	$(WARN_CFLAGS)
- 
- AM_LDFLAGS = \
--- 
-2.7.4
-
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt-1.3.5/configure.ac-search-for-rpc-rpc.h-in-the-sysroot.patch b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt-1.3.5/configure.ac-search-for-rpc-rpc.h-in-the-sysroot.patch
deleted file mode 100644
index edbadb6..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt-1.3.5/configure.ac-search-for-rpc-rpc.h-in-the-sysroot.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From f10477f0fe5e4b7487a4a41faa216d10cd2bc7c3 Mon Sep 17 00:00:00 2001
-From: Mark Asselstine <mark.asselstine@windriver.com>
-Date: Thu, 10 May 2018 12:05:04 -0400
-Subject: [PATCH] configure.ac: search for rpc/rpc.h in the sysroot
-
-We want to avoid host contamination and use the sysroot as the base
-directory for our search so add the '=' the the '-I' when searching
-for libtirpc's rpc.h header.
-
-Upstream-Status: Inappropriate [old release]
-
-Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
----
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 5a6408c..6c19f6d 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -705,10 +705,10 @@ if test x"$with_remote" = x"yes" || test x"$with_libvirtd" = x"yes"; then
-     dnl check for cygwin's variation in xdr function names
-     AC_CHECK_FUNCS([xdr_u_int64_t],[],[],[#include <rpc/xdr.h>])
- 
--    dnl Cygwin/recent glibc requires -I/usr/include/tirpc for <rpc/rpc.h>
-+    dnl Cygwin/recent glibc requires -I=/usr/include/tirpc for <rpc/rpc.h>
-     old_CFLAGS=$CFLAGS
-     AC_CACHE_CHECK([where to find <rpc/rpc.h>], [lv_cv_xdr_cflags], [
--      for add_CFLAGS in '' '-I/usr/include/tirpc' 'missing'; do
-+      for add_CFLAGS in '' '-I=/usr/include/tirpc' 'missing'; do
-         if test x"$add_CFLAGS" = xmissing; then
-           lv_cv_xdr_cflags=missing; break
-         fi
--- 
-2.7.4
-
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt-python.inc b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt-python.inc
deleted file mode 100644
index 15aa804..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt-python.inc
+++ /dev/null
@@ -1,55 +0,0 @@
-inherit pythonnative python-dir
-
-export STAGING_INCDIR
-export STAGING_LIBDIR
-export BUILD_SYS 
-export HOST_SYS
-
-RDEPENDS_${PN}-python += "python"
-PACKAGECONFIG_${PN}-python[xen] = ",,,xen-python"
-
-PACKAGES += "${PN}-python-staticdev ${PN}-python-dev ${PN}-python-dbg ${PN}-python"
-
-FILES_${PN}-python-staticdev += "${PYTHON_SITEPACKAGES_DIR}/*.a"
-FILES_${PN}-python-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la"
-FILES_${PN}-python-dbg += "${PYTHON_SITEPACKAGES_DIR}/.debug/"
-FILES_${PN}-python = "${bindir}/* ${libdir}/* ${libdir}/${PYTHON_DIR}/*"
-
-SRC_URI += "http://libvirt.org/sources/python/libvirt-python-${PV}.tar.gz;name=libvirt_python"
-SRC_URI += "file://libvirt_api_xml_path.patch;patchdir=../libvirt-python-${PV}"
-
-SRC_URI[libvirt_python.md5sum] = "4dbd7ef9ee9c4dea5887b5b31eb04529"
-SRC_URI[libvirt_python.sha256sum] = "a0508a57637fd18a3584fb9d2322fb172f65708c9db16e0438a70eb0f36fa5c2"
-
-export LIBVIRT_API_PATH = "${S}/docs/libvirt-api.xml"
-export LIBVIRT_CFLAGS = "-I${S}/include"
-export LIBVIRT_LIBS = "-L${B}/src/.libs -lvirt -ldl"
-export LDFLAGS="-L${B}/src/.libs"
-
-LIBVIRT_INSTALL_ARGS = "--root=${D} \
-    --prefix=${prefix} \
-    --install-lib=${PYTHON_SITEPACKAGES_DIR} \
-    --install-data=${datadir}"
-
-python __anonymous () {
-    pkgconfig = d.getVar('PACKAGECONFIG')
-    if ('python') in pkgconfig.split():
-        d.setVar('LIBVIRT_PYTHON_ENABLE', '1')
-    else:
-        d.setVar('LIBVIRT_PYTHON_ENABLE', '0')
-}
-
-do_compile_append() {
-	if [ "${LIBVIRT_PYTHON_ENABLE}" = "1" ]; then
-		cd ${WORKDIR}/${BPN}-python-${PV} && \
-		  ${STAGING_BINDIR_NATIVE}/python-native/python setup.py build
-	fi
-}
-
-do_install_append() {
-	if [ "${LIBVIRT_PYTHON_ENABLE}" = "1" ]; then
-		cd ${WORKDIR}/${BPN}-python-${PV} && \
-		  ${STAGING_BINDIR_NATIVE}/python-native/python setup.py install \
-                       --install-lib=${D}/${PYTHON_SITEPACKAGES_DIR} ${LIBVIRT_INSTALL_ARGS}
-	fi
-}
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/0001-nsslinktest-also-build-virAtomic.h.patch b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/0001-nsslinktest-also-build-virAtomic.h.patch
deleted file mode 100644
index 6ab1c4e..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/0001-nsslinktest-also-build-virAtomic.h.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Upstream-Status: Submitted [http://www.redhat.com/archives/libvir-list/2016-August/msg00389.html]
-
-When build for architecture that don't use gcc atomic ops but pthread,
-it fails to build for arm:
-
-| ../tools/nss/.libs/libnss_libvirt_impl.a(libvirt_nss_la-virobject.o): In function `virClassNew':
-| /buildarea2/kkang/builds/qemuarm-Aug03/bitbake_build/tmp/work/armv5e-wrs-linux-gnueabi/libvirt/1.3.5-r0/build/src/../../libvirt-1.3.5/src/util/virobject.c:153: undefined reference to `virAtomicLock'
-| ../tools/nss/.libs/libnss_libvirt_impl.a(libvirt_nss_la-virobject.o): In function `virObjectNew':
-| /buildarea2/kkang/builds/qemuarm-Aug03/bitbake_build/tmp/work/armv5e-wrs-linux-gnueabi/libvirt/1.3.5-r0/build/src/../../libvirt-1.3.5/src/util/virobject.c:205: undefined reference to `virAtomicLock'
-| ../tools/nss/.libs/libnss_libvirt_impl.a(libvirt_nss_la-virobject.o): In function `virObjectUnref':
-| /buildarea2/kkang/builds/qemuarm-Aug03/bitbake_build/tmp/work/armv5e-wrs-linux-gnueabi/libvirt/1.3.5-r0/build/src/../../libvirt-1.3.5/src/util/virobject.c:277: undefined reference to `virAtomicLock'
-| ../tools/nss/.libs/libnss_libvirt_impl.a(libvirt_nss_la-virobject.o): In function `virObjectRef':
-| /buildarea2/kkang/builds/qemuarm-Aug03/bitbake_build/tmp/work/armv5e-wrs-linux-gnueabi/libvirt/1.3.5-r0/build/src/../../libvirt-1.3.5/src/util/virobject.c:298: undefined reference to `virAtomicLock'
-| collect2: error: ld returned 1 exit status
-
-It is similar with:
-
-http://libvirt.org/git/?p=libvirt.git;a=commit;h=12dc729
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
- src/Makefile.am | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 12b66c2..6e55972 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -2989,6 +2989,8 @@ noinst_LTLIBRARIES += libvirt-nss.la
- libvirt_nss_la_SOURCES =		\
- 		util/viralloc.c			\
- 		util/viralloc.h			\
-+		util/viratomic.c		\
-+		util/viratomic.h		\
- 		util/virbitmap.c		\
- 		util/virbitmap.h		\
- 		util/virbuffer.c		\
--- 
-2.9.0
-
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/0001-ptest-Remove-Windows-1252-check-from-esxutilstest.patch b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/0001-ptest-Remove-Windows-1252-check-from-esxutilstest.patch
deleted file mode 100644
index 217bdbc..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/0001-ptest-Remove-Windows-1252-check-from-esxutilstest.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From ffc71da15c3da068f85d16617b6e0c0175fc0110 Mon Sep 17 00:00:00 2001
-From: He Zhe <zhe.he@windriver.com>
-Date: Tue, 23 Aug 2016 02:28:47 -0400
-Subject: [PATCH] ptest: Remove Windows-1252 check from esxutilstest
-
-Currently we use iconv from glibc-locale and it does not support
-Windows-1252 and we don't need support windows character encoding.
-
-Signed-off-by: He Zhe <zhe.he@windriver.com>
----
- tests/esxutilstest.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/tests/esxutilstest.c b/tests/esxutilstest.c
-index 44bdc84..3223de3 100644
---- a/tests/esxutilstest.c
-+++ b/tests/esxutilstest.c
-@@ -258,7 +258,6 @@ mymain(void)
-     DO_TEST(ParseDatastorePath);
-     DO_TEST(ConvertDateTimeToCalendarTime);
-     DO_TEST(EscapeDatastoreItem);
--    DO_TEST(ConvertWindows1252ToUTF8);
- 
-     return result == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
- }
--- 
-2.8.1
-
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/0001-ptest-add-missing-test_helper-files.patch b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/0001-ptest-add-missing-test_helper-files.patch
deleted file mode 100644
index b4f1e27..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/0001-ptest-add-missing-test_helper-files.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From e625a42caca492fe7d52b70bbbf83ae4d99cb15e Mon Sep 17 00:00:00 2001
-From: He Zhe <zhe.he@windriver.com>
-Date: Tue, 23 Aug 2016 02:16:20 -0400
-Subject: [PATCH] ptest: add missing test_helper files
-
-Signed-off-by: He Zhe <zhe.he@windriver.com>
----
- tests/Makefile.am | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 1c85656..2f8b9eb 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -1422,8 +1422,10 @@ install-ptest:
- 	@(for file in $(PTESTS); do \
- 		if [ -f .libs/$$file ]; then \
- 			install .libs/$$file $(DEST_DIR)/tests; \
--		else \
-+		elif [ -f $(srcdir)/$$file ]; then \
- 			install $(srcdir)/$$file $(DEST_DIR)/tests; \
-+		else \
-+			install $(builddir)/$$file $(DEST_DIR)/tests; \
- 		fi; \
- 	done;)
- 	@(if [ -d .libs ]; then install .libs/*.so $(DEST_DIR)/tests/.libs; fi;)
--- 
-2.8.1
-
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/Revert-build-add-prefix-to-SYSTEMD_UNIT_DIR.patch b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/Revert-build-add-prefix-to-SYSTEMD_UNIT_DIR.patch
deleted file mode 100644
index 02ddf68..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/Revert-build-add-prefix-to-SYSTEMD_UNIT_DIR.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-Upstream-Status: Inappropriate [configuration]
-
-Update context for version 1.3.5.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
-From dd915e7f70e676aea93f750c75d16ce646e71e4b Mon Sep 17 00:00:00 2001
-From: Mark Asselstine <mark.asselstine@windriver.com>
-Date: Wed, 9 Sep 2015 11:52:44 -0400
-Subject: [PATCH] Revert "build: add $(prefix) to SYSTEMD_UNIT_DIR"
-
-This reverts upstream commit 00e9d6071b2450659ce01bc984f64ecb5d7ba62d
-with minor context changes to allow it to apply.
-
-Yocto based builds use /lib/systemd/system for systemd unit files and
-since upstream has chosen to use a mechanism for setting
-SYSTEMD_UNIT_DIR which is not flexible we have to resort to reverting
-this upstream commit to avoid having ${prefix} added to the path.
-
-Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
-[ywei: rebased to libvirt-1.3.2]
-Signed-off-by: Yunguo Wei <yunguo.wei@windriver.com>
----
- daemon/Makefile.am | 2 +-
- src/Makefile.am    | 2 +-
- tools/Makefile.am  | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/daemon/Makefile.am b/daemon/Makefile.am
-index 2dbe81b..41ea2db 100644
---- a/daemon/Makefile.am
-+++ b/daemon/Makefile.am
-@@ -449,7 +449,7 @@ endif ! LIBVIRT_INIT_SCRIPT_UPSTART
- 
- if LIBVIRT_INIT_SCRIPT_SYSTEMD
- 
--SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system
-+SYSTEMD_UNIT_DIR = /lib/systemd/system
- BUILT_SOURCES += libvirtd.service
- 
- install-init-systemd: install-sysconfig libvirtd.service
-diff --git a/src/Makefile.am b/src/Makefile.am
-index a316b4d..d271291 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -2633,7 +2633,7 @@ EXTRA_DIST += \
- if WITH_LIBVIRTD
- if LIBVIRT_INIT_SCRIPT_SYSTEMD
- 
--SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system
-+SYSTEMD_UNIT_DIR = /lib/systemd/system
- 
- BUILT_SOURCES += virtlockd.service virtlockd.socket \
- 		 virtlogd.service virtlogd.socket
-diff --git a/tools/Makefile.am b/tools/Makefile.am
-index b3227a7..0e58f73 100644
---- a/tools/Makefile.am
-+++ b/tools/Makefile.am
-@@ -380,7 +380,7 @@ libvirt-guests.init: libvirt-guests.init.in libvirt-guests.sh
- 
- 
- EXTRA_DIST += libvirt-guests.service.in
--SYSTEMD_UNIT_DIR = $(prefix)/lib/systemd/system
-+SYSTEMD_UNIT_DIR = /lib/systemd/system
- 
- if LIBVIRT_INIT_SCRIPT_SYSTEMD
- install-systemd: libvirt-guests.service install-sysconfig libvirt-guests.sh
--- 
-1.9.1
-
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/dnsmasq.conf b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/dnsmasq.conf
deleted file mode 100644
index a7c3059..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/dnsmasq.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-bind-interfaces
-except-interface=virbr0
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/install-missing-file.patch b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/install-missing-file.patch
deleted file mode 100644
index ecd4a87..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/install-missing-file.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-Upstream-Status: Inapproriate
-
-This patch is for ptest, so it is inapproriate to send to upstream.
-
-Update context for 1.3.5.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
-From 0780181a3285511f166487a54ebc231fc657edfe Mon Sep 17 00:00:00 2001
-From: Catalin Enache <catalin.enache@windriver.com>
-Date: Mon, 25 Jul 2016 16:38:51 +0300
-Subject: [PATCH] Install missing conf file
-
-openvzutilstest.conf file is needed by openvzutilstest test.
-
-Signed-off-by: Catalin Enache <catalin.enache@windriver.com>
----
- tests/Makefile.am | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 02e0dd8..187fbca 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -170,6 +170,7 @@ EXTRA_DIST =		\
- 	xml2vmxdata
- 
- test_helpers = commandhelper ssh virconftest
-+test_misc =
- test_programs = virshtest sockettest \
- 	nodeinfotest virbuftest \
- 	commandtest seclabeltest \
-@@ -259,6 +260,7 @@ endif WITH_LXC
- 
- if WITH_OPENVZ
- test_programs += openvzutilstest
-+test_misc += openvzutilstest.conf
- endif WITH_OPENVZ
- 
- if WITH_ESX
-@@ -1293,7 +1295,7 @@ endif ! WITH_CIL
- 
- buildtest-TESTS: $(TESTS) $(test_libraries) $(test_helpers)
- 
--PTESTS = $(TESTS) $(test_helpers) test-lib.sh schematestutils.sh
-+PTESTS = $(TESTS) $(test_helpers) $(test_misc) test-lib.sh schematestutils.sh
- 
- install-ptest:
- 	list='$(TESTS) $(test_helpers) test-lib.sh schematestutils.sh'
--- 
-2.7.4
-
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/libvirt-1.0.3-fix-thread-safety-in-lxc-callback-handling.patch b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/libvirt-1.0.3-fix-thread-safety-in-lxc-callback-handling.patch
deleted file mode 100644
index 558d5ef..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/libvirt-1.0.3-fix-thread-safety-in-lxc-callback-handling.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From ad5d9cee87357f9f38f62583119606ef95ba10df Mon Sep 17 00:00:00 2001
-From: Bogdan Purcareata <bogdan.purcareata@freescale.com>
-Date: Fri, 24 May 2013 16:46:00 +0300
-Subject: [PATCH] Fix thread safety in LXC callback handling
-
-Signed-off-by: Bogdan Purcareata <bogdan.purcareata@freescale.com>
----
- src/lxc/lxc_process.c | 18 +++++++++++++++++-
- 1 file changed, 17 insertions(+), 1 deletion(-)
-
-diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c
-index aaa81a7..0eadc67 100644
---- a/src/lxc/lxc_process.c
-+++ b/src/lxc/lxc_process.c
-@@ -609,8 +609,13 @@ static void virLXCProcessMonitorExitNotify(virLXCMonitorPtr mon ATTRIBUTE_UNUSED
-                                            virLXCProtocolExitStatus status,
-                                            virDomainObjPtr vm)
- {
-+    virLXCDriverPtr driver = lxc_driver;
-     virLXCDomainObjPrivatePtr priv = vm->privateData;
- 
-+    lxcDriverLock(driver);
-+    virObjectLock(vm);
-+    lxcDriverUnlock(driver);
-+
-     switch (status) {
-     case VIR_LXC_PROTOCOL_EXIT_STATUS_SHUTDOWN:
-         priv->stopReason = VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN;
-@@ -628,6 +633,8 @@ static void virLXCProcessMonitorExitNotify(virLXCMonitorPtr mon ATTRIBUTE_UNUSED
-     }
-     VIR_DEBUG("Domain shutoff reason %d (from status %d)",
-               priv->stopReason, status);
-+
-+    virObjectUnlock(vm);
- }
- 
- /* XXX a little evil */
-@@ -636,12 +643,21 @@ static void virLXCProcessMonitorInitNotify(virLXCMonitorPtr mon ATTRIBUTE_UNUSED
-                                            pid_t initpid,
-                                            virDomainObjPtr vm)
- {
--    virLXCDomainObjPrivatePtr priv = vm->privateData;
-+    virLXCDriverPtr driver = lxc_driver;
-+    virLXCDomainObjPrivatePtr priv;
-+
-+    lxcDriverLock(driver);
-+    virObjectLock(vm);
-+    lxcDriverUnlock(driver);
-+
-+    priv = vm->privateData;
-     priv->initpid = initpid;
-     virDomainAuditInit(vm, initpid);
- 
-     if (virDomainSaveStatus(lxc_driver->caps, lxc_driver->stateDir, vm) < 0)
-         VIR_WARN("Cannot update XML with PID for LXC %s", vm->def->name);
-+
-+    virObjectUnlock(vm);
- }
- 
- static virLXCMonitorCallbacks monitorCallbacks = {
--- 
-1.7.11.7
-
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/libvirt-use-pkg-config-to-locate-libcap.patch b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/libvirt-use-pkg-config-to-locate-libcap.patch
deleted file mode 100644
index 65b046e..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/libvirt-use-pkg-config-to-locate-libcap.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 3e271f6db12ffe34843428ec2f0bca7a8fe3aa65 Mon Sep 17 00:00:00 2001
-From: Bruce Ashfield <bruce.ashfield@windriver.com>
-Date: Wed, 8 Apr 2015 13:03:03 -0400
-Subject: [PATCH] libvirt: use pkg-config to locate libcap
-
-libvirt wants to use pcap-config to locate the exisence and location
-of libpcap. oe-core stubs this script and replaces it with pkg-config,
-which can lead to the host pcap-config triggering and either breaking
-the build or introducing host contamination.
-
-To fix this issue, we patch configure to use 'pkg-config libcap' to
-locate the correct libraries.
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
----
- configure.ac | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index f37047599b76..5f9b84363b96 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1553,7 +1553,7 @@ fi
- AM_CONDITIONAL([HAVE_NUMAD], [test "$with_numad" != "no"])
- 
- dnl pcap lib
--LIBPCAP_CONFIG="pcap-config"
-+LIBPCAP_CONFIG="pkg-config libpcap"
- LIBPCAP_CFLAGS=""
- LIBPCAP_LIBS=""
- LIBPCAP_FOUND="no"
-@@ -1563,8 +1563,8 @@ AC_ARG_WITH([libpcap], [AS_HELP_STRING([--with-libpcap=@<:@PFX@:>@],
- if test "$with_qemu" = "yes"; then
-   case $with_libpcap in
-     no)     LIBPCAP_CONFIG= ;;
--    ''|yes) LIBPCAP_CONFIG="pcap-config" ;;
--    *)      LIBPCAP_CONFIG="$with_libpcap/bin/pcap-config" ;;
-+    ''|yes) LIBPCAP_CONFIG="pkg-config libpcap" ;;
-+    *)      LIBPCAP_CONFIG="$with_libpcap/bin/pkg-config libpcap" ;;
-   esac
-   AS_IF([test "x$LIBPCAP_CONFIG" != "x"], [
-     AC_MSG_CHECKING(libpcap $LIBPCAP_CONFIG >= $LIBPCAP_REQUIRED )
--- 
-2.1.0
-
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/libvirt_api_xml_path.patch b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/libvirt_api_xml_path.patch
deleted file mode 100644
index 3c2622c..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/libvirt_api_xml_path.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-Adding support for LIBVIRT_CFLAGS and LIBVIRT_LIBS
-
-Signed-off-by: Amy Fong <amy.fong@windriver.com>
-
-
-Adding a support for LIBVIRT_API_PATH evironment variable, which can
-control where the script should look for the 'libvirt-api.xml' file.
-This allows building libvirt-python against different libvirt than the
-one installed in the system.  This may be used for example in autotest
-or by packagers without the need to install libvirt into the system.
-
-Signed-off-by: Martin Kletzander <mkletzan redhat com>
-[ywei: rebased to 1.3.2]
-Signed-off-by: Yunguo Wei <yunguo.wei@windriver.com>
----
- setup.py |   25 ++++++++++++++++++++++---
- 1 file changed, 22 insertions(+), 3 deletions(-)
-
-Index: libvirt-python-1.2.4/setup.py
-===================================================================
---- libvirt-python-1.2.4.orig/setup.py
-+++ libvirt-python-1.2.4/setup.py
-@@ -40,13 +40,7 @@
-            "libvirt"])
- 
- def have_libvirt_lxc():
--    try:
--        spawn([get_pkgcfg(),
--               "--atleast-version=%s" % MIN_LIBVIRT_LXC,
--             "libvirt"])
--        return True
--    except DistutilsExecError:
--        return False
-+    return True
- 
- def get_pkgconfig_data(args, mod, required=True):
-     """Run pkg-config to and return content associated with it"""
-@@ -68,7 +62,17 @@
-     """Check with pkg-config that libvirt is present and extract
-     the API XML file paths we need from it"""
- 
--    libvirt_api = get_pkgconfig_data(["--variable", "libvirt_api"], "libvirt")
-+    libvirt_api = os.getenv("LIBVIRT_API_PATH")
-+
-+    if libvirt_api:
-+        if not libvirt_api.endswith("-api.xml"):
-+            raise ValueError("Invalid path '%s' for API XML" % libvirt_api)
-+        if not os.path.exists(libvirt_api):
-+            raise ValueError("API XML '%s' does not exist, "
-+                             "have you built libvirt?" % libvirt_api)
-+    else:
-+        libvirt_api = get_pkgconfig_data(["--variable", "libvirt_api"],
-+                                         "libvirt")
- 
-     offset = libvirt_api.index("-api.xml")
-     libvirt_qemu_api = libvirt_api[0:offset] + "-qemu-api.xml"
-@@ -88,8 +92,17 @@
- 
-     c_modules = []
-     py_modules = []
--    ldflags = get_pkgconfig_data(["--libs-only-L"], "libvirt", False).split()
--    cflags = get_pkgconfig_data(["--cflags"], "libvirt", False).split()
-+    libvirt_cflags = os.getenv("LIBVIRT_CFLAGS")
-+    if libvirt_cflags:
-+        cflags = libvirt_cflags.split()
-+    else:
-+        cflags = get_pkgconfig_data(["--cflags"], "libvirt", False).split()
-+
-+    libvirt_libs = os.getenv("LIBVIRT_LIBS")
-+    if libvirt_libs:
-+        ldflags = libvirt_libs.split()
-+    else:
-+        ldflags = get_pkgconfig_data(["--libs-only-L"], "libvirt", False).split()
- 
-     module = Extension('libvirtmod',
-                        sources = ['libvirt-override.c', 'build/libvirt.c', 'typewrappers.c', 'libvirt-utils.c'],
-@@ -138,7 +151,7 @@
- class my_build(build):
- 
-     def run(self):
--        check_minimum_libvirt_version()
-+#       check_minimum_libvirt_version()
-         apis = get_api_xml_files()
- 
-         self.spawn([sys.executable, "generator.py", "libvirt", apis[0]])
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/libvirtd.conf b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/libvirtd.conf
deleted file mode 100644
index c0462b4..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/libvirtd.conf
+++ /dev/null
@@ -1,393 +0,0 @@
-# Master libvirt daemon configuration file
-#
-# For further information consult http://libvirt.org/format.html
-#
-# NOTE: the tests/daemon-conf regression test script requires
-# that each "PARAMETER = VALUE" line in this file have the parameter
-# name just after a leading "#".
-
-#################################################################
-#
-# Network connectivity controls
-#
-
-# Flag listening for secure TLS connections on the public TCP/IP port.
-# NB, must pass the --listen flag to the libvirtd process for this to
-# have any effect.
-#
-# It is necessary to setup a CA and issue server certificates before
-# using this capability.
-#
-# This is enabled by default, uncomment this to disable it
-listen_tls = 0
-
-# Listen for unencrypted TCP connections on the public TCP/IP port.
-# NB, must pass the --listen flag to the libvirtd process for this to
-# have any effect.
-#
-# Using the TCP socket requires SASL authentication by default. Only
-# SASL mechanisms which support data encryption are allowed. This is
-# DIGEST_MD5 and GSSAPI (Kerberos5)
-#
-# This is disabled by default, uncomment this to enable it.
-listen_tcp = 1
-
-
-
-# Override the port for accepting secure TLS connections
-# This can be a port number, or service name
-#
-#tls_port = "16514"
-
-# Override the port for accepting insecure TCP connections
-# This can be a port number, or service name
-#
-#tcp_port = "16509"
-
-
-# Override the default configuration which binds to all network
-# interfaces. This can be a numeric IPv4/6 address, or hostname
-#
-#listen_addr = "192.168.0.1"
-
-
-# Flag toggling mDNS advertizement of the libvirt service.
-#
-# Alternatively can disable for all services on a host by
-# stopping the Avahi daemon
-#
-# This is enabled by default, uncomment this to disable it
-#mdns_adv = 0
-
-# Override the default mDNS advertizement name. This must be
-# unique on the immediate broadcast network.
-#
-# The default is "Virtualization Host HOSTNAME", where HOSTNAME
-# is subsituted for the short hostname of the machine (without domain)
-#
-#mdns_name = "Virtualization Host Joe Demo"
-
-
-#################################################################
-#
-# UNIX socket access controls
-#
-
-# Set the UNIX domain socket group ownership. This can be used to
-# allow a 'trusted' set of users access to management capabilities
-# without becoming root.
-#
-# This is restricted to 'root' by default.
-#unix_sock_group = "libvirt"
-
-# Set the UNIX socket permissions for the R/O socket. This is used
-# for monitoring VM status only
-#
-# Default allows any user. If setting group ownership may want to
-# restrict this to:
-#unix_sock_ro_perms = "0777"
-
-# Set the UNIX socket permissions for the R/W socket. This is used
-# for full management of VMs
-#
-# Default allows only root. If PolicyKit is enabled on the socket,
-# the default will change to allow everyone (eg, 0777)
-#
-# If not using PolicyKit and setting group ownership for access
-# control then you may want to relax this to:
-#unix_sock_rw_perms = "0770"
-
-# Set the name of the directory in which sockets will be found/created.
-#unix_sock_dir = "/var/run/libvirt"
-
-#################################################################
-#
-# Authentication.
-#
-#  - none: do not perform auth checks. If you can connect to the
-#          socket you are allowed. This is suitable if there are
-#          restrictions on connecting to the socket (eg, UNIX
-#          socket permissions), or if there is a lower layer in
-#          the network providing auth (eg, TLS/x509 certificates)
-#
-#  - sasl: use SASL infrastructure. The actual auth scheme is then
-#          controlled from /etc/sasl2/libvirt.conf. For the TCP
-#          socket only GSSAPI & DIGEST-MD5 mechanisms will be used.
-#          For non-TCP or TLS sockets,  any scheme is allowed.
-#
-#  - polkit: use PolicyKit to authenticate. This is only suitable
-#            for use on the UNIX sockets. The default policy will
-#            require a user to supply their own password to gain
-#            full read/write access (aka sudo like), while anyone
-#            is allowed read/only access.
-#
-# Set an authentication scheme for UNIX read-only sockets
-# By default socket permissions allow anyone to connect
-#
-# To restrict monitoring of domains you may wish to enable
-# an authentication mechanism here
-#auth_unix_ro = "none"
-
-# Set an authentication scheme for UNIX read-write sockets
-# By default socket permissions only allow root. If PolicyKit
-# support was compiled into libvirt, the default will be to
-# use 'polkit' auth.
-#
-# If the unix_sock_rw_perms are changed you may wish to enable
-# an authentication mechanism here
-#auth_unix_rw = "none"
-
-# Change the authentication scheme for TCP sockets.
-#
-# If you don't enable SASL, then all TCP traffic is cleartext.
-# Don't do this outside of a dev/test scenario. For real world
-# use, always enable SASL and use the GSSAPI or DIGEST-MD5
-# mechanism in /etc/sasl2/libvirt.conf
-#auth_tcp = "sasl"
-
-# Change the authentication scheme for TLS sockets.
-#
-# TLS sockets already have encryption provided by the TLS
-# layer, and limited authentication is done by certificates
-#
-# It is possible to make use of any SASL authentication
-# mechanism as well, by using 'sasl' for this option
-#auth_tls = "none"
-
-
-
-#################################################################
-#
-# TLS x509 certificate configuration
-#
-
-
-# Override the default server key file path
-#
-#key_file = "/etc/pki/libvirt/private/serverkey.pem"
-
-# Override the default server certificate file path
-#
-#cert_file = "/etc/pki/libvirt/servercert.pem"
-
-# Override the default CA certificate path
-#
-#ca_file = "/etc/pki/CA/cacert.pem"
-
-# Specify a certificate revocation list.
-#
-# Defaults to not using a CRL, uncomment to enable it
-#crl_file = "/etc/pki/CA/crl.pem"
-
-
-
-#################################################################
-#
-# Authorization controls
-#
-
-
-# Flag to disable verification of our own server certificates
-#
-# When libvirtd starts it performs some sanity checks against
-# its own certificates.
-#
-# Default is to always run sanity checks. Uncommenting this
-# will disable sanity checks which is not a good idea
-#tls_no_sanity_certificate = 1
-
-# Flag to disable verification of client certificates
-#
-# Client certificate verification is the primary authentication mechanism.
-# Any client which does not present a certificate signed by the CA
-# will be rejected.
-#
-# Default is to always verify. Uncommenting this will disable
-# verification - make sure an IP whitelist is set
-#tls_no_verify_certificate = 1
-
-
-# A whitelist of allowed x509  Distinguished Names
-# This list may contain wildcards such as
-#
-#    "C=GB,ST=London,L=London,O=Red Hat,CN=*"
-#
-# See the POSIX fnmatch function for the format of the wildcards.
-#
-# NB If this is an empty list, no client can connect, so comment out
-# entirely rather than using empty list to disable these checks
-#
-# By default, no DN's are checked
-#tls_allowed_dn_list = ["DN1", "DN2"]
-
-
-# A whitelist of allowed SASL usernames. The format for usernames
-# depends on the SASL authentication mechanism. Kerberos usernames
-# look like username@REALM
-#
-# This list may contain wildcards such as
-#
-#    "*@EXAMPLE.COM"
-#
-# See the POSIX fnmatch function for the format of the wildcards.
-#
-# NB If this is an empty list, no client can connect, so comment out
-# entirely rather than using empty list to disable these checks
-#
-# By default, no Username's are checked
-#sasl_allowed_username_list = ["joe@EXAMPLE.COM", "fred@EXAMPLE.COM" ]
-
-
-
-#################################################################
-#
-# Processing controls
-#
-
-# The maximum number of concurrent client connections to allow
-# over all sockets combined.
-#max_clients = 20
-
-
-# The minimum limit sets the number of workers to start up
-# initially. If the number of active clients exceeds this,
-# then more threads are spawned, upto max_workers limit.
-# Typically you'd want max_workers to equal maximum number
-# of clients allowed
-#min_workers = 5
-#max_workers = 20
-
-
-# The number of priority workers. If all workers from above
-# pool will stuck, some calls marked as high priority
-# (notably domainDestroy) can be executed in this pool.
-#prio_workers = 5
-
-# Total global limit on concurrent RPC calls. Should be
-# at least as large as max_workers. Beyond this, RPC requests
-# will be read into memory and queued. This directly impact
-# memory usage, currently each request requires 256 KB of
-# memory. So by default upto 5 MB of memory is used
-#
-# XXX this isn't actually enforced yet, only the per-client
-# limit is used so far
-#max_requests = 20
-
-# Limit on concurrent requests from a single client
-# connection. To avoid one client monopolizing the server
-# this should be a small fraction of the global max_requests
-# and max_workers parameter
-#max_client_requests = 5
-
-#################################################################
-#
-# Logging controls
-#
-
-# Logging level: 4 errors, 3 warnings, 2 information, 1 debug
-# basically 1 will log everything possible
-#log_level = 3
-
-# Logging filters:
-# A filter allows to select a different logging level for a given category
-# of logs
-# The format for a filter is:
-#    x:name
-#      where name is a match string e.g. remote or qemu
-# the x prefix is the minimal level where matching messages should be logged
-#    1: DEBUG
-#    2: INFO
-#    3: WARNING
-#    4: ERROR
-#
-# Multiple filter can be defined in a single @filters, they just need to be
-# separated by spaces.
-#
-# e.g:
-# log_filters="3:remote 4:event"
-# to only get warning or errors from the remote layer and only errors from
-# the event layer.
-
-# Logging outputs:
-# An output is one of the places to save logging information
-# The format for an output can be:
-#    x:stderr
-#      output goes to stderr
-#    x:syslog:name
-#      use syslog for the output and use the given name as the ident
-#    x:file:file_path
-#      output to a file, with the given filepath
-# In all case the x prefix is the minimal level, acting as a filter
-#    1: DEBUG
-#    2: INFO
-#    3: WARNING
-#    4: ERROR
-#
-# Multiple output can be defined, they just need to be separated by spaces.
-# e.g.:
-# log_outputs="3:syslog:libvirtd"
-# to log all warnings and errors to syslog under the libvirtd ident
-
-# Log debug buffer size: default 64
-# The daemon keeps an internal debug log buffer which will be dumped in case
-# of crash or upon receiving a SIGUSR2 signal. This setting allows to override
-# the default buffer size in kilobytes.
-# If value is 0 or less the debug log buffer is deactivated
-#log_buffer_size = 64
-
-
-##################################################################
-#
-# Auditing
-#
-# This setting allows usage of the auditing subsystem to be altered:
-#
-#   audit_level == 0  -> disable all auditing
-#   audit_level == 1  -> enable auditing, only if enabled on host (default)
-#   audit_level == 2  -> enable auditing, and exit if disabled on host
-#
-#audit_level = 2
-#
-# If set to 1, then audit messages will also be sent
-# via libvirt logging infrastructure. Defaults to 0
-#
-#audit_logging = 1
-
-###################################################################
-# UUID of the host:
-# Provide the UUID of the host here in case the command
-# 'dmidecode -s system-uuid' does not provide a valid uuid. In case
-# 'dmidecode' does not provide a valid UUID and none is provided here, a
-# temporary UUID will be generated.
-# Keep the format of the example UUID below. UUID must not have all digits
-# be the same.
-
-# NB This default all-zeros UUID will not work. Replace
-# it with the output of the 'uuidgen' command and then
-# uncomment this entry
-#host_uuid = "00000000-0000-0000-0000-000000000000"
-
-###################################################################
-# Keepalive protocol:
-# This allows libvirtd to detect broken client connections or even
-# dead client.  A keepalive message is sent to a client after
-# keepalive_interval seconds of inactivity to check if the client is
-# still responding; keepalive_count is a maximum number of keepalive
-# messages that are allowed to be sent to the client without getting
-# any response before the connection is considered broken.  In other
-# words, the connection is automatically closed approximately after
-# keepalive_interval * (keepalive_count + 1) seconds since the last
-# message received from the client.  If keepalive_interval is set to
-# -1, libvirtd will never send keepalive requests; however clients
-# can still send them and the deamon will send responses.  When
-# keepalive_count is set to 0, connections will be automatically
-# closed after keepalive_interval seconds of inactivity without
-# sending any keepalive messages.
-#
-#keepalive_interval = 5
-#keepalive_count = 5
-#
-# If set to 1, libvirtd will refuse to talk to clients that do not
-# support keepalive protocol.  Defaults to 0.
-#
-#keepalive_required = 1
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/libvirtd.sh b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/libvirtd.sh
deleted file mode 100755
index 29dbf39..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/libvirtd.sh
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/bin/sh
-### BEGIN INIT INFO
-# Provides: libvirtd
-# Required-Start: $local_fs $network dbus
-# Required-Stop: $local_fs $network dbus
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
-### END INIT INFO
-
-if [ -f /lib/lsb/init-functions ]
-then
-    . /lib/lsb/init-functions
-else
-    # int log_begin_message (char *message)
-    log_begin_msg () {
-        if [ -z "$1" ]; then
-	    return 1
-        fi
-        echo " * $@"
-    }
-
-    # int log_end_message (int exitstatus)
-    log_end_msg () {
-	
-    # If no arguments were passed, return
-	[ -z "$1" ] && return 1
-	
-    # Only do the fancy stuff if we have an appropriate terminal
-    # and if /usr is already mounted
-	TPUT=/usr/bin/tput
-	EXPR=/usr/bin/expr
-	if [ -x $TPUT ] && [ -x $EXPR ] && $TPUT hpa 60 >/dev/null 2>&1; then
-	    COLS=`$TPUT cols`
-	    if [ -n "$COLS" ]; then
-		COL=`$EXPR $COLS - 7`
-	    else
-		COL=73
-	    fi
-	    UP=`$TPUT cuu1`
-	    END=`$TPUT hpa $COL`
-	    START=`$TPUT hpa 0`
-	    RED=`$TPUT setaf 1`
-	    NORMAL=`$TPUT op`
-	    if [ $1 -eq 0 ]; then
-		echo "$UP$END[ ok ]"
-	    else
-		echo -e "$UP$START $RED*$NORMAL$END[${RED}fail${NORMAL}]"
-	    fi
-	else
-	    if [ $1 -eq 0 ]; then
-		echo "   ...done."
-	    else
-		echo "   ...fail!"
-	    fi
-	fi
-	return $1
-    }
-    
-    log_warning_msg () {
-	if log_use_fancy_output; then
-	    YELLOW=`$TPUT setaf 3`
-	    NORMAL=`$TPUT op`
-	    echo "$YELLOW*$NORMAL $@"
-	else
-	    echo "$@"
-	fi
-    }
-
-fi
-
-case "$1" in
-        start)
-                if [ -e /var/run/libvirtd.pid ]; then
-                        if [ -d /proc/$(cat /var/run/libvirtd.pid) ]; then
-                                echo "virtualization library already started; not starting."
-                        else
-                                echo "Removing stale PID file /var/run/libvirtd.pid."
-                                rm -f /var/run/libvirtd.pid
-                        fi
-                fi
-                log_begin_msg "Starting virtualization library daemon: libvirtd"
-                if [ ! -e /var/run/libvirtd.pid ]; then
-                    start-stop-daemon -K -x /usr/bin/dnsmasq --pidfile /var/run/libvirt/network/default.pid
-                fi
-		start-stop-daemon --start --quiet --pidfile /var/run/libvirtd.pid --exec /usr/sbin/libvirtd -- --daemon --listen
-                log_end_msg $?
-                ;;
-        stop)
-                log_begin_msg "Stopping virtualization library daemon: libvirtd"
-		start-stop-daemon --stop --quiet --retry 3 --exec /usr/sbin/libvirtd --pidfile /var/run/libvirtd.pid
-                log_end_msg $?
-                rm -f /var/run/libvirtd.pid
-                ;;
-        restart)
-                $0 stop
-                sleep 1
-                $0 start
-                ;;
-        *)
-                echo "Usage: $0 {start|stop|restart}"
-                exit 1
-                ;;
-esac
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/qemu-fix-crash-in-qemuOpen.patch b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/qemu-fix-crash-in-qemuOpen.patch
deleted file mode 100644
index 3cf9e83..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/qemu-fix-crash-in-qemuOpen.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 74bff2509080912ea8abf1de8fd95fa2412b659a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?J=C3=A1n=20Tomko?= <jtomko@redhat.com>
-Date: Thu, 11 Apr 2013 11:37:25 +0200
-Subject: [PATCH] qemu: fix crash in qemuOpen
-
-commit 74bff2509080912ea8abf1de8fd95fa2412b659a from upsteam
-git://libvirt.org/libvirt.git
-
-If the path part of connection URI is not present, cfg is used
-unitialized.
-
-https://bugzilla.redhat.com/show_bug.cgi?id=950855
----
- src/qemu/qemu_driver.c |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
-index 2c0d7d1..0d41e39 100644
---- a/src/qemu/qemu_driver.c
-+++ b/src/qemu/qemu_driver.c
-@@ -1026,6 +1026,7 @@ static virDrvOpenStatus qemuOpen(virConnectPtr conn,
-             goto cleanup;
-         }
- 
-+        cfg = virQEMUDriverGetConfig(qemu_driver);
-         if (conn->uri->path == NULL) {
-             virReportError(VIR_ERR_INTERNAL_ERROR,
-                            _("no QEMU URI path given, try %s"),
-@@ -1033,7 +1034,6 @@ static virDrvOpenStatus qemuOpen(virConnectPtr conn,
-             goto cleanup;
-         }
- 
--        cfg = virQEMUDriverGetConfig(qemu_driver);
-         if (cfg->privileged) {
-             if (STRNEQ(conn->uri->path, "/system") &&
-                 STRNEQ(conn->uri->path, "/session")) {
--- 
-1.7.1
-
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/run-ptest b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/run-ptest
deleted file mode 100644
index a434b18..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-make -C tests -k check-TESTS
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/runptest.patch b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/runptest.patch
deleted file mode 100644
index b7609a8..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/runptest.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-Update context for 1.3.5.
-
-Signed-off-by: Kai Kang <kai.kang@windriver.com>
----
-Add 'install-ptest' rule.
-Change TESTS_ENVIRONMENT to allow running outside build dir.
-
-Signed-off-by: Mihaela Sendrea <mihaela.sendrea@enea.com>
-Upstream-status: Pending
----
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 0c4ad3c..bb4e31a 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -33,11 +33,13 @@ INCLUDES = \
- 	-I$(top_srcdir)/src/conf \
- 	$(GETTEXT_CPPFLAGS)
- 
-+PTEST_DIR ?= $(libdir)/libvirt/ptest
-+
- AM_CFLAGS = \
--	-Dabs_builddir="\"$(abs_builddir)\"" \
--	-Dabs_topbuilddir="\"$(abs_topbuilddir)\"" \
--	-Dabs_srcdir="\"$(abs_srcdir)\"" \
--	-Dabs_topsrcdir="\"$(abs_topsrcdir)\"" \
-+	-Dabs_builddir="\"$(PTEST_DIR)/tests\"" \
-+	-Dabs_topbuilddir="\"$(PTEST_DIR)\"" \
-+	-Dabs_srcdir="\"$(PTEST_DIR)/tests\"" \
-+	-Dabs_topsrcdir="\"$(PTEST_DIR)\"" \
- 	$(LIBXML_CFLAGS) \
- 	$(LIBNL_CFLAGS) \
- 	$(GNUTLS_CFLAGS) \
-@@ -62,7 +64,7 @@ QEMULIB_LDFLAGS = \
- 
- if WITH_DRIVER_MODULES
- INCLUDES += \
--	-DTEST_DRIVER_DIR=\"$(top_builddir)/src/.libs\"
-+	-DTEST_DRIVER_DIR=\"$(PTEST_DIR)/src/.libs\"
- endif WITH_DRIVER_MODULES
- 
- PROBES_O =
-@@ -483,17 +485,15 @@ TESTS = $(test_programs) \
- # Also, BSD sh doesn't like 'a=b b=$$a', so we can't use an
- # intermediate shell variable, but must do all the expansion in make
- 
--lv_abs_top_builddir=$(shell cd '$(top_builddir)' && pwd)
--
- VIR_TEST_EXPENSIVE ?= $(VIR_TEST_EXPENSIVE_DEFAULT)
- TESTS_ENVIRONMENT =				\
--  abs_top_builddir=$(lv_abs_top_builddir)	\
--  abs_top_srcdir=`cd '$(top_srcdir)'; pwd`	\
--  abs_builddir=$(abs_builddir)			\
--  abs_srcdir=$(abs_srcdir)			\
--  CONFIG_HEADER="$(lv_abs_top_builddir)/config.h"	\
-+  abs_top_builddir="$(PTEST_DIR)"             \
-+  abs_top_srcdir="$(PTEST_DIR)"               \
-+  abs_builddir="$(PTEST_DIR)/tests"           \
-+  abs_srcdir="$(PTEST_DIR)/tests"             \
-+  CONFIG_HEADER="$(PTEST_DIR)/config.h"       \
-   SHELL="$(SHELL)"				\
--  LIBVIRT_DRIVER_DIR="$(lv_abs_top_builddir)/src/.libs" \
-+  LIBVIRT_DRIVER_DIR="$(PTEST_DIR)/src/.libs" \
-   LIBVIRT_AUTOSTART=0				\
-   LC_ALL=C					\
-   VIR_TEST_EXPENSIVE=$(VIR_TEST_EXPENSIVE)	\
-@@ -1388,5 +1388,51 @@ else ! WITH_CIL
- EXTRA_DIST += objectlocking.ml
- endif ! WITH_CIL
- 
-+buildtest-TESTS: $(TESTS) $(test_libraries) $(test_helpers)
-+
-+PTESTS = $(TESTS) $(test_helpers) test-lib.sh schematestutils.sh
-+
-+install-ptest:
-+	list='$(TESTS) $(test_helpers) test-lib.sh schematestutils.sh'
-+	install -d $(DEST_DIR)/tools
-+	@(if [ -d ../tools/.libs ] ; then cd ../tools/.libs; fi; \
-+	install * $(DEST_DIR)/tools)
-+	install -d $(DEST_DIR)/src/network
-+	cp ../src/network/*.xml $(DEST_DIR)/src/network
-+	install -d $(DEST_DIR)/src/cpu
-+	cp ../src/cpu/*.xml $(DEST_DIR)/src/cpu
-+	install ../src/libvirt_iohelper $(DEST_DIR)/src
-+	install -D ../daemon/libvirtd $(DEST_DIR)/daemon/libvirtd
-+	install -D ../daemon/libvirtd.conf $(DEST_DIR)/daemon/libvirtd.conf
-+	@(if [ -d ../daemon/.libs ] ; then cd ../daemon/.libs; fi; \
-+	install * $(DEST_DIR)/daemon)
-+	install -d $(DEST_DIR)/src/.libs
-+	@(if [ -d ../src/.libs ] ; then cd ../src/.libs; fi; \
-+	install * $(DEST_DIR)/src/.libs)
-+	install -d $(DEST_DIR)/docs/schemas
-+	cp ../docs/schemas/*.rng $(DEST_DIR)/docs/schemas
-+	cp -r ../build-aux $(DEST_DIR)
-+	install -d $(DEST_DIR)/examples/xml
-+	cp -r ../examples/xml/test $(DEST_DIR)/examples/xml
-+	install -d $(DEST_DIR)/tests/.libs
-+	find . -type d -name "*xml2xml*" -exec cp -r {} $(DEST_DIR)/tests \;
-+	find . -type d -name "*data" -exec cp -r {} $(DEST_DIR)/tests \;
-+	@(for file in $(PTESTS); do \
-+		if [ -f .libs/$$file ]; then \
-+			install .libs/$$file $(DEST_DIR)/tests; \
-+		else \
-+			install $$file $(DEST_DIR)/tests; \
-+		fi; \
-+	done;)
-+	@(if [ -d .libs ]; then install .libs/*.so $(DEST_DIR)/tests/.libs; fi;)
-+	cp ../config.h $(DEST_DIR)
-+	cp Makefile $(DEST_DIR)/tests
-+	sed -i -e 's/^Makefile:/_Makefile:/' $(DEST_DIR)/tests/Makefile
-+	cp ../Makefile $(DEST_DIR)
-+	sed -i -e 's|^Makefile:|_Makefile:|' $(DEST_DIR)/Makefile
-+	sed -i -e 's|$(BUILD_DIR)|$(PTEST_DIR)|g' $(DEST_DIR)/tests/Makefile
-+	sed -i -e 's|$(BUILD_DIR)|$(PTEST_DIR)|g' $(DEST_DIR)/Makefile
-+	sed -i -e 's|^\(.*\.log:\) \(.*EXEEXT.*\)|\1|g' $(DEST_DIR)/tests/Makefile
-+
- CLEANFILES = *.cov *.gcov .libs/*.gcda .libs/*.gcno *.gcno *.gcda *.cmi *.cmx \
- 	objectlocking-files.txt
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/tests-allow-separated-src-and-build-dirs.patch b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/tests-allow-separated-src-and-build-dirs.patch
deleted file mode 100644
index 3964865..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/tests-allow-separated-src-and-build-dirs.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 884b6e3724b75cd92766d5386455983e3557a286 Mon Sep 17 00:00:00 2001
-From: Mark Asselstine <mark.asselstine@windriver.com>
-Date: Fri, 2 May 2014 13:45:05 -0400
-Subject: [PATCH] tests: allow separated src and build dirs
-
-Fixup Makefile.am to search for static files back in srcdir.
-
-Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
----
- tests/Makefile.am | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/tests/Makefile.am b/tests/Makefile.am
-index 0da514b..b8d7c19 100644
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -1006,22 +1006,22 @@ install-ptest:
- 	@(if [ -d ../tools/.libs ] ; then cd ../tools/.libs; fi; \
- 	install * $(DEST_DIR)/tools)
- 	install -d $(DEST_DIR)/src/network
--	cp ../src/network/*.xml $(DEST_DIR)/src/network
-+	cp $(top_srcdir)/src/network/*.xml $(DEST_DIR)/src/network
- 	install -d $(DEST_DIR)/src/cpu
--	cp ../src/cpu/*.xml $(DEST_DIR)/src/cpu
-+	cp $(top_srcdir)/src/cpu/*.xml $(DEST_DIR)/src/cpu
- 	install ../src/libvirt_iohelper $(DEST_DIR)/src
- 	install -D ../daemon/libvirtd $(DEST_DIR)/daemon/libvirtd
--	install -D ../daemon/libvirtd.conf $(DEST_DIR)/daemon/libvirtd.conf
-+	install -D $(top_srcdir)/daemon/libvirtd.conf $(DEST_DIR)/daemon/libvirtd.conf
- 	@(if [ -d ../daemon/.libs ] ; then cd ../daemon/.libs; fi; \
- 	install * $(DEST_DIR)/daemon)
- 	install -d $(DEST_DIR)/src/.libs
- 	@(if [ -d ../src/.libs ] ; then cd ../src/.libs; fi; \
- 	install * $(DEST_DIR)/src/.libs)
- 	install -d $(DEST_DIR)/docs/schemas
--	cp ../docs/schemas/*.rng $(DEST_DIR)/docs/schemas
--	cp -r ../build-aux $(DEST_DIR)
-+	cp $(top_srcdir)/docs/schemas/*.rng $(DEST_DIR)/docs/schemas
-+	cp -r $(top_srcdir)/build-aux $(DEST_DIR)
- 	install -d $(DEST_DIR)/examples/xml
--	cp -r ../examples/xml/test $(DEST_DIR)/examples/xml
-+	cp -r $(top_srcdir)/examples/xml/test $(DEST_DIR)/examples/xml
- 	install -d $(DEST_DIR)/tests/.libs
- 	find . -type d -name "*xml2xml*" -exec cp -r {} $(DEST_DIR)/tests \;
- 	find . -type d -name "*data" -exec cp -r {} $(DEST_DIR)/tests \;
-@@ -1029,7 +1029,7 @@ install-ptest:
- 		if [ -f .libs/$$file ]; then \
- 			install .libs/$$file $(DEST_DIR)/tests; \
- 		else \
--			install $$file $(DEST_DIR)/tests; \
-+			install $(srcdir)/$$file $(DEST_DIR)/tests; \
- 		fi; \
- 	done;)
- 	@(if [ -d .libs ]; then install .libs/*.so $(DEST_DIR)/tests/.libs; fi;)
--- 
-1.8.3.2
-
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/tools-add-libvirt-net-rpc-to-virt-host-validate-when.patch b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/tools-add-libvirt-net-rpc-to-virt-host-validate-when.patch
deleted file mode 100644
index a7fc727..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt/tools-add-libvirt-net-rpc-to-virt-host-validate-when.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From a790bfe8fa7b24b68cb6f9a1b7205fda2c6d558e Mon Sep 17 00:00:00 2001
-From: Bruce Ashfield <bruce.ashfield@windriver.com>
-Date: Fri, 2 Aug 2013 11:38:43 -0400
-Subject: [PATCH] tools: add libvirt-net-rpc to virt-host-validate when TLS is
- enabled
-
-When gnu-tls is enabled for libvirt references to virNetTLSInit are
-generated in libvirt. Any binaries linking against libvirt, must also
-link against libvirt-net-rpc which provides the implementation.
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
-[ywei: rebased to libvirt-1.3.2]
-Signed-off-by: Yunguo Wei <yunguo.wei@windriver.com>
----
- examples/Makefile.am | 19 +++++++++++++++++++
- tools/Makefile.am    | 13 +++++++++++++
- 2 files changed, 32 insertions(+)
-
-diff --git a/examples/Makefile.am b/examples/Makefile.am
-index 2adcefb..fff49d4 100644
---- a/examples/Makefile.am
-+++ b/examples/Makefile.am
-@@ -39,6 +39,10 @@ INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(top_srcdir) \
- LDADD = $(STATIC_BINARIES) $(WARN_CFLAGS) $(COVERAGE_LDFLAGS) \
- 	$(top_builddir)/src/libvirt.la $(top_builddir)/gnulib/lib/libgnu.la
- 
-+if WITH_GNUTLS
-+LDADD += $(top_builddir)/src/libvirt-net-rpc.la
-+endif
-+
- noinst_PROGRAMS=dominfo/info1 dommigrate/dommigrate domsuspend/suspend \
- 	domtop/domtop hellolibvirt/hellolibvirt object-events/event-test \
- 	openauth/openauth rename/rename
-@@ -52,6 +56,21 @@ object_events_event_test_SOURCES = object-events/event-test.c
- openauth_openauth_SOURCES = openauth/openauth.c
- rename_rename_SOURCES = rename/rename.c
- 
-+if WITH_GNUTLS
-+dominfo_info1_LDADD = $(top_builddir)/src/libvirt-net-rpc.la  \
-+               $(LDADD)    \
-+               $(NULL)
-+domsuspend_suspend_LDADD = $(top_builddir)/src/libvirt-net-rpc.la  \
-+               $(LDADD)    \
-+               $(NULL)
-+hellolibvirt_hellolibvirt_LDADD = $(top_builddir)/src/libvirt-net-rpc.la  \
-+               $(LDADD)    \
-+               $(NULL)
-+openauth_openauth_LDADD = $(top_builddir)/src/libvirt-net-rpc.la  \
-+               $(LDADD)   \
-+               $(NULL)
-+endif
-+
- if WITH_APPARMOR_PROFILES
- apparmordir = $(sysconfdir)/apparmor.d/
- apparmor_DATA = \
-diff --git a/tools/Makefile.am b/tools/Makefile.am
-index 0be3567..b3227a7 100644
---- a/tools/Makefile.am
-+++ b/tools/Makefile.am
-@@ -169,6 +169,13 @@ virt_host_validate_LDADD = \
- 		../gnulib/lib/libgnu.la				\
- 		$(NULL)
- 
-+if WITH_GNUTLS
-+virt_host_validate_LDADD += ../src/libvirt-net-rpc.la \
-+                            ../gnulib/lib/libgnu.la   \
-+                            $(NULL)
-+endif
-+
-+
- virt_host_validate_CFLAGS = \
- 		$(LIBXML_CFLAGS)				\
- 		$(WARN_CFLAGS)					\
-@@ -256,6 +263,12 @@ virt_admin_CFLAGS =						\
- 		$(READLINE_CFLAGS)
- BUILT_SOURCES =
- 
-+if WITH_GNUTLS
-+virsh_LDADD += ../src/libvirt-net-rpc.la \
-+               ../gnulib/lib/libgnu.la   \
-+               $(NULL)
-+endif
-+
- if WITH_WIN_ICON
- virsh_LDADD += virsh_win_icon.$(OBJEXT)
- 
--- 
-1.9.1
-
diff --git a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt_1.3.5.bb b/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt_1.3.5.bb
deleted file mode 100644
index 35fd577..0000000
--- a/import-layers/meta-virtualization/recipes-extended/libvirt/libvirt_1.3.5.bb
+++ /dev/null
@@ -1,313 +0,0 @@
-DESCRIPTION = "A toolkit to interact with the virtualization capabilities of recent versions of Linux." 
-HOMEPAGE = "http://libvirt.org"
-LICENSE = "LGPLv2.1+ & GPLv2+"
-LICENSE_${PN}-ptest = "GPLv2+ & LGPLv2.1+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-                    file://COPYING.LESSER;md5=4b54a1fd55a448865a0b32d41598759d"
-SECTION = "console/tools"
-
-DEPENDS = "bridge-utils gnutls libxml2 lvm2 avahi parted curl libpcap util-linux e2fsprogs pm-utils \
-	   iptables dnsmasq readline libtasn1 libxslt-native acl libdevmapper libtirpc \
-	   ${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'shadow-native', '', d)}"
-
-# libvirt-guests.sh needs gettext.sh
-#
-RDEPENDS_${PN} = "gettext-runtime"
-
-RDEPENDS_${PN}-ptest += "make gawk perl"
-
-RDEPENDS_libvirt-libvirtd += "bridge-utils iptables pm-utils dnsmasq netcat-openbsd"
-RDEPENDS_libvirt-libvirtd_append_x86-64 = " dmidecode"
-RDEPENDS_libvirt-libvirtd_append_x86 = " dmidecode"
-
-#connman blocks the 53 port and libvirtd can't start its DNS service
-RCONFLICTS_${PN}_libvirtd = "connman"
-
-SRC_URI = "http://libvirt.org/sources/libvirt-${PV}.tar.gz;name=libvirt \
-           file://tools-add-libvirt-net-rpc-to-virt-host-validate-when.patch \
-           file://libvirtd.sh \
-           file://libvirtd.conf \
-           file://dnsmasq.conf \
-           file://runptest.patch \
-           file://run-ptest \
-           file://tests-allow-separated-src-and-build-dirs.patch \
-           file://libvirt-use-pkg-config-to-locate-libcap.patch \
-           file://0001-to-fix-build-error.patch \
-           file://Revert-build-add-prefix-to-SYSTEMD_UNIT_DIR.patch \
-           file://install-missing-file.patch \
-           file://0001-nsslinktest-also-build-virAtomic.h.patch \
-           file://0001-qemu-Let-empty-default-VNC-password-work-as-document.patch \
-           file://0001-ptest-add-missing-test_helper-files.patch \
-           file://0001-ptest-Remove-Windows-1252-check-from-esxutilstest.patch \
-	   file://0001-Added-configure-variable-for-placing-systemd-untis-l.patch \
-	   file://configure.ac-search-for-rpc-rpc.h-in-the-sysroot.patch \
-	   file://Makefiles-Add-more-XDR_CFLAGS-as-needed.patch \
-          "
-
-SRC_URI[libvirt.md5sum] = "f9dc1e63d559eca50ae0ee798a4c6c6d"
-SRC_URI[libvirt.sha256sum] = "93a23c44eb431da46c9458f95a66e29c9b98e37515d44b6be09e75b35ec94ac8"
-
-inherit autotools gettext update-rc.d pkgconfig ptest systemd
-
-CACHED_CONFIGUREVARS += "\
-ac_cv_path_XMLLINT=/usr/bin/xmllint \
-ac_cv_path_XMLCATLOG=/usr/bin/xmlcatalog \
-ac_cv_path_AUGPARSE=/usr/bin/augparse \
-ac_cv_path_DNSMASQ=/usr/bin/dnsmasq \
-ac_cv_path_BRCTL=/usr/sbin/brctl \
-ac_cv_path_TC=/sbin/tc \
-ac_cv_path_UDEVADM=/sbin/udevadm \
-ac_cv_path_MODPROBE=/sbin/modprobe \
-ac_cv_path_IP_PATH=/bin/ip \
-ac_cv_path_IPTABLES_PATH=/usr/sbin/iptables \
-ac_cv_path_IP6TABLES_PATH=/usr/sbin/ip6tables \
-ac_cv_path_MOUNT=/bin/mount \
-ac_cv_path_UMOUNT=/bin/umount \
-ac_cv_path_MKFS=/usr/sbin/mkfs \
-ac_cv_path_SHOWMOUNT=/usr/sbin/showmount \
-ac_cv_path_PVCREATE=/usr/sbin/pvcreate \
-ac_cv_path_VGCREATE=/usr/sbin/vgcreate \
-ac_cv_path_LVCREATE=/usr/sbin/lvcreate \
-ac_cv_path_PVREMOVE=/usr/sbin/pvremove \
-ac_cv_path_VGREMOVE=/usr/sbin/vgremove \
-ac_cv_path_LVREMOVE=/usr/sbin/lvremove \
-ac_cv_path_LVCHANGE=/usr/sbin/lvchange \
-ac_cv_path_VGCHANGE=/usr/sbin/vgchange \
-ac_cv_path_VGSCAN=/usr/sbin/vgscan \
-ac_cv_path_PVS=/usr/sbin/pvs \
-ac_cv_path_VGS=/usr/sbin/vgs \
-ac_cv_path_LVS=/usr/sbin/lvs \
-ac_cv_path_PARTED=/usr/sbin/parted \
-ac_cv_path_DMSETUP=/usr/sbin/dmsetup"
-
-# Ensure that libvirt uses polkit rather than policykit, whether the host has
-# pkcheck installed or not, and ensure the path is correct per our config.
-CACHED_CONFIGUREVARS += "ac_cv_path_PKCHECK_PATH=${bindir}/pkcheck"
-
-# Some other possible paths we are not yet setting
-#ac_cv_path_RPCGEN=
-#ac_cv_path_XSLTPROC=
-#ac_cv_path_RADVD=
-#ac_cv_path_UDEVSETTLE=
-#ac_cv_path_EBTABLES_PATH=
-#ac_cv_path_PKG_CONFIG=
-#ac_cv_path_ac_pt_PKG_CONFIG
-#ac_cv_path_POLKIT_AUTH=
-#ac_cv_path_DTRACE=
-#ac_cv_path_ISCSIADM=
-#ac_cv_path_MSGFMT=
-#ac_cv_path_GMSGFMT=
-#ac_cv_path_XGETTEXT=
-#ac_cv_path_MSGMERGE=
-#ac_cv_path_SCRUB=
-#ac_cv_path_PYTHON=
-
-ALLOW_EMPTY_${PN} = "1"
-
-PACKAGES =+ "${PN}-libvirtd ${PN}-virsh"
-
-ALLOW_EMPTY_${PN}-libvirtd = "1"
-
-FILES_${PN}-libvirtd = " \
-	${sysconfdir}/init.d \
-	${sysconfdir}/sysctl.d \
-	${sysconfdir}/logrotate.d \
-	${sysconfdir}/libvirt/libvirtd.conf \
-        /usr/lib/sysctl.d/60-libvirtd.conf \
-	${sbindir}/libvirtd \
-	${systemd_unitdir}/system/* \
-	${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '', '${libexecdir}/libvirt-guests.sh', d)} \
-        "
-
-FILES_${PN}-virsh = "${bindir}/virsh"
-FILES_${PN} += "${libdir}/libvirt/connection-driver \
-	    ${datadir}/augeas \
-	    ${@bb.utils.contains('PACKAGECONFIG', 'polkit', '${datadir}/polkit-1', '', d)} \
-	    "
-
-FILES_${PN}-dbg += "${libdir}/libvirt/connection-driver/.debug ${libdir}/libvirt/lock-driver/.debug"
-FILES_${PN}-staticdev += "${libdir}/*.a ${libdir}/libvirt/connection-driver/*.a ${libdir}/libvirt/lock-driver/*.a"
-
-CONFFILES_${PN} += "${sysconfdir}/libvirt/libvirt.conf \
-                    ${sysconfdir}/libvirt/lxc.conf \
-                    ${sysconfdir}/libvirt/qemu-lockd.conf \
-                    ${sysconfdir}/libvirt/qemu.conf \
-                    ${sysconfdir}/libvirt/virt-login-shell.conf \
-                    ${sysconfdir}/libvirt/virtlockd.conf"
-
-CONFFILES_${PN}-libvirtd = "${sysconfdir}/logrotate.d/libvirt ${sysconfdir}/logrotate.d/libvirt.lxc \
-                            ${sysconfdir}/logrotate.d/libvirt.qemu ${sysconfdir}/logrotate.d/libvirt.uml \
-                            ${sysconfdir}/libvirt/libvirtd.conf \
-                            /usr/lib/sysctl.d/libvirtd.conf"
-
-INITSCRIPT_PACKAGES = "${PN}-libvirtd"
-INITSCRIPT_NAME_${PN}-libvirtd = "libvirtd"
-INITSCRIPT_PARAMS_${PN}-libvirtd = "defaults 72"
-
-SYSTEMD_PACKAGES = "${PN}-libvirtd"
-SYSTEMD_SERVICE_${PN}-libvirtd = " \
-    libvirtd.service \
-    virtlockd.service \
-    libvirt-guests.service \
-    virtlockd.socket \
-    "
-
-
-PRIVATE_LIBS_${PN}-ptest = " \
-	libvirt-lxc.so.0 \
-	libvirt.so.0 \
-	libvirt-qemu.so.0 \
-	lockd.so \
-	libvirt_driver_secret.so \
-	libvirt_driver_nodedev.so \
-	libvirt_driver_vbox.so \
-	libvirt_driver_interface.so \
-	libvirt_driver_uml.so \
-	libvirt_driver_network.so \
-	libvirt_driver_nwfilter.so \
-	libvirt_driver_qemu.so \
-	libvirt_driver_storage.so \
-	libvirt_driver_lxc.so \
-    "
-
-# xen-minimal config
-#PACKAGECONFIG ??= "xen libxl xen-inotify test remote libvirtd"
-
-# full config
-PACKAGECONFIG ??= "qemu yajl uml openvz vmware vbox esx iproute2 lxc test \
-                   remote macvtap libvirtd netcf udev python ebtables \
-                   ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux audit libcap-ng', '', d)} \
-                   ${@bb.utils.contains('DISTRO_FEATURES', 'xen', 'xen libxl xen-inotify', '', d)} \
-                   ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'polkit', '', d)} \
-                  "
-
-# enable,disable,depends,rdepends
-#
-PACKAGECONFIG[qemu] = "--with-qemu,--without-qemu,qemu,"
-PACKAGECONFIG[yajl] = "--with-yajl,--without-yajl,yajl,yajl"
-PACKAGECONFIG[xen] = "--with-xen,--without-xen,xen,"
-PACKAGECONFIG[xenapi] = "--with-xenapi,--without-xenapi,,"
-PACKAGECONFIG[libxl] = "--with-libxl=${STAGING_DIR_TARGET}/lib,--without-libxl,libxl,"
-PACKAGECONFIG[xen-inotify] = "--with-xen-inotify,--without-xen-inotify,xen,"
-PACKAGECONFIG[uml] = "--with-uml, --without-uml,,"
-PACKAGECONFIG[openvz] = "--with-openvz,--without-openvz,,"
-PACKAGECONFIG[vmware] = "--with-vmware,--without-vmware,,"
-PACKAGECONFIG[phyp] = "--with-phyp,--without-phyp,,"
-PACKAGECONFIG[vbox] = "--with-vbox,--without-vbox,,"
-PACKAGECONFIG[esx] = "--with-esx,--without-esx,,"
-PACKAGECONFIG[hyperv] = "--with-hyperv,--without-hyperv,,"
-PACKAGECONFIG[polkit] = "--with-polkit,--without-polkit,polkit,polkit"
-PACKAGECONFIG[lxc] = "--with-lxc,--without-lxc, lxc,"
-PACKAGECONFIG[test] = "--with-test=yes,--with-test=no,,"
-PACKAGECONFIG[remote] = "--with-remote,--without-remote,,"
-PACKAGECONFIG[macvtap] = "--with-macvtap=yes,--with-macvtap=no,libnl,libnl"
-PACKAGECONFIG[libvirtd] = "--with-libvirtd,--without-libvirtd,,"
-PACKAGECONFIG[netcf] = "--with-netcf,--without-netcf,netcf,netcf"
-PACKAGECONFIG[dtrace] = "--with-dtrace,--without-dtrace,,"
-PACKAGECONFIG[udev] = "--with-udev --with-pciaccess,--without-udev,udev libpciaccess,"
-PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux,"
-PACKAGECONFIG[ebtables] = "ac_cv_path_EBTABLES_PATH=/sbin/ebtables,ac_cv_path_EBTABLES_PATH=,ebtables,ebtables"
-PACKAGECONFIG[python] = ",,python,"
-PACKAGECONFIG[sasl] = "--with-sasl,--without-sasl,cyrus-sasl,cyrus-sasl"
-PACKAGECONFIG[iproute2] = "ac_cv_path_IP_PATH=/sbin/ip,ac_cv_path_IP_PATH=,iproute2,iproute2"
-PACKAGECONFIG[numactl] = "--with-numactl,--without-numactl,numactl,"
-PACKAGECONFIG[fuse] = "--with-fuse,--without-fuse,fuse,"
-PACKAGECONFIG[audit] = "--with-audit,--without-audit,audit,"
-PACKAGECONFIG[libcap-ng] = "--with-capng,--without-capng,libcap-ng,"
-PACKAGECONFIG[wireshark] = "--with-wireshark-dissector,--without-wireshark-dissector,wireshark libwsutil,"
-
-# Enable the Python tool support
-require libvirt-python.inc
-
-do_install_append() {
-	install -d ${D}/etc/init.d
-	install -d ${D}/etc/libvirt
-	install -d ${D}/etc/dnsmasq.d
-
-	install -m 0755 ${WORKDIR}/libvirtd.sh ${D}/etc/init.d/libvirtd
-	install -m 0644 ${WORKDIR}/libvirtd.conf ${D}/etc/libvirt/libvirtd.conf
-
-	if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
-	    # This will wind up in the libvirtd package, but will NOT be invoked by default.
-	    #
-	    mv ${D}/${libexecdir}/libvirt-guests.sh ${D}/${sysconfdir}/init.d
-	fi
-
-	if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
-	    # This variable is used by libvirtd.service to start libvirtd in the right mode
-	    sed -i '/#LIBVIRTD_ARGS="--listen"/a LIBVIRTD_ARGS="--listen --daemon"' ${D}/${sysconfdir}/sysconfig/libvirtd
-
-	    # We can't use 'notify' when we don't support 'sd_notify' dbus capabilities.
-	    sed -i -e 's/Type=notify/Type=forking/' \
-	           -e '/Type=forking/a PIDFile=${localstatedir}/run/libvirtd.pid' \
-		   ${D}/${systemd_unitdir}/system/libvirtd.service
-	fi
-
-	# The /var/run/libvirt directories created by the Makefile
-	# are wiped out in volatile, we need to create these at boot.
-	rm -rf ${D}${localstatedir}/run
-	install -d ${D}${sysconfdir}/default/volatiles
-	echo "d root root 0755 ${localstatedir}/run/libvirt none" \
-	     > ${D}${sysconfdir}/default/volatiles/99_libvirt
-	echo "d root root 0755 ${localstatedir}/run/libvirt/lockd none" \
-	     >> ${D}${sysconfdir}/default/volatiles/99_libvirt
-	echo "d root root 0755 ${localstatedir}/run/libvirt/lxc none" \
-	     >> ${D}${sysconfdir}/default/volatiles/99_libvirt
-	echo "d root root 0755 ${localstatedir}/run/libvirt/network none" \
-	     >> ${D}${sysconfdir}/default/volatiles/99_libvirt
-	echo "d root root 0755 ${localstatedir}/run/libvirt/qemu none" \
-	     >> ${D}${sysconfdir}/default/volatiles/99_libvirt
-
-	# Manually set permissions and ownership to match polkit recipe
-	if ${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'true', 'false', d)}; then
-		install -d -m 0700 ${D}/${datadir}/polkit-1/rules.d
-		chown polkitd ${D}/${datadir}/polkit-1/rules.d
-		chgrp root ${D}/${datadir}/polkit-1/rules.d
-	else
-		rm -rf ${D}/${datadir}/polkit-1
-	fi
-
-	# Add hook support for libvirt
-	mkdir -p ${D}/etc/libvirt/hooks
-
-	# Force the main dnsmasq instance to bind only to specified interfaces and
-	# to not bind to virbr0. Libvirt will run its own instance on this interface.
-	install -m 644 ${WORKDIR}/dnsmasq.conf ${D}/${sysconfdir}/dnsmasq.d/libvirt-daemon
-
-	# remove .la references to our working diretory
-	for i in `find ${D}${libdir} -type f -name *.la`; do
-	    sed -i -e 's#-L${B}/src/.libs##g' $i
-	done
-}
-
-EXTRA_OECONF += " \
-    --with-init-script=systemd \
-    "
-
-EXTRA_OEMAKE = "BUILD_DIR=${B} DEST_DIR=${D}${PTEST_PATH} PTEST_DIR=${PTEST_PATH} SYSTEMD_UNIT_DIR=${systemd_system_unitdir}"
-
-do_compile_ptest() {
-	oe_runmake -C tests buildtest-TESTS
-}
-
-do_install_ptest() {
-	oe_runmake -C tests install-ptest
-
-	find ${S}/tests -maxdepth 1 -type d -exec cp -r {} ${D}${PTEST_PATH}/tests/ \;
-
-	# remove .la files for ptest, they aren't required and can trigger QA errors
-	for i in `find ${D}${PTEST_PATH} -type f \( -name *.la -o -name *.o \)`; do
-                rm -f $i
-	done
-}
-
-pkg_postinst_libvirt() {
-        if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
-                /etc/init.d/populate-volatile.sh update
-        fi
-}
-
-python () {
-    if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
-        d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
-}
diff --git a/import-layers/meta-virtualization/recipes-extended/seabios/seabios/hostcc.patch b/import-layers/meta-virtualization/recipes-extended/seabios/seabios/hostcc.patch
deleted file mode 100644
index f665e1a..0000000
--- a/import-layers/meta-virtualization/recipes-extended/seabios/seabios/hostcc.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -ur a/Makefile b/Makefile
---- a/Makefile	2015-02-02 22:02:58.651041951 -0500
-+++ b/Makefile	2015-02-02 23:08:13.884514003 -0500
-@@ -8,7 +8,7 @@
- OUT=out/
- 
- # Common command definitions
--export HOSTCC             := $(CC)
-+export HOSTCC             ?= $(CC)
- export CONFIG_SHELL       := sh
- export KCONFIG_AUTOHEADER := autoconf.h
- export KCONFIG_CONFIG     := $(CURDIR)/.config
-@@ -22,7 +22,7 @@
- OBJDUMP=$(CROSS_PREFIX)objdump
- STRIP=$(CROSS_PREFIX)strip
- PYTHON=python
--CPP=cpp
-+CPP=$(CROSS_PREFIX)cpp
- IASL:=iasl
- LD32BIT_FLAG:=-melf_i386
- 
diff --git a/import-layers/meta-virtualization/recipes-extended/seabios/seabios_1.9.1.bb b/import-layers/meta-virtualization/recipes-extended/seabios/seabios_1.9.1.bb
deleted file mode 100644
index 144b13c..0000000
--- a/import-layers/meta-virtualization/recipes-extended/seabios/seabios_1.9.1.bb
+++ /dev/null
@@ -1,43 +0,0 @@
-DESCRIPTION = "SeaBIOS"
-HOMEPAGE = "http://www.coreboot.org/SeaBIOS"
-LICENSE = "LGPLv3"
-SECTION = "firmware"
-
-SRC_URI = " \
-    https://code.coreboot.org/p/seabios/downloads/get/${PN}-${PV}.tar.gz \
-    file://hostcc.patch \
-    "
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504         \
-                    file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6  \
-                    "
-
-SRC_URI[md5sum] = "e21b6f3e54d492be837ef20d66617f81"
-SRC_URI[sha256sum] = "8a2a562fe5cfd37fe8327cdc4a60accdfe441e235b29e6999fdeb442ba98d608"
-
-FILES_${PN} = "/usr/share/firmware"
-
-DEPENDS = "util-linux-native file-native bison-native flex-native gettext-native iasl-native python-native"
-
-TUNE_CCARGS = ""
-EXTRA_OEMAKE += "HOSTCC='${BUILD_CC}'"
-EXTRA_OEMAKE += "CROSS_PREFIX=${TARGET_PREFIX}"
-
-COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
-
-do_configure() {
-    oe_runmake defconfig
-}
-
-do_compile() {
-    unset CPP
-    unset CPPFLAGS
-    oe_runmake
-}
-
-do_install() {
-    oe_runmake
-    install -d ${D}/usr/share/firmware
-    install -m 0644 out/bios.bin ${D}/usr/share/firmware/
-}
-
diff --git a/import-layers/meta-virtualization/recipes-extended/vgabios/biossums_0.7a.bb b/import-layers/meta-virtualization/recipes-extended/vgabios/biossums_0.7a.bb
deleted file mode 100644
index e66bade..0000000
--- a/import-layers/meta-virtualization/recipes-extended/vgabios/biossums_0.7a.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-DESCRIPTION = "biossums tool for building Plex86/Bochs LGPL VGABios"
-HOMEPAGE = "http://www.nongnu.org/vgabios/"
-LICENSE = "LGPLv2.1"
-SECTION = "firmware"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589"
-
-SRC_URI =  "http://savannah.gnu.org/download/vgabios/vgabios-${PV}.tgz"
-
-SRC_URI[md5sum] = "2c0fe5c0ca08082a9293e3a7b23dc900"
-SRC_URI[sha256sum] = "9d24c33d4bfb7831e2069cf3644936a53ef3de21d467872b54ce2ea30881b865"
-
-BBCLASSEXTEND = "native"
-
-FILES_${PN} = "${bindir}/biossums"
-
-S = "${WORKDIR}/vgabios-${PV}"
-
-do_configure() {
-    # Don't override the compiler or its flags:
-    sed 's,^CC,DISABLED_CC,' -i Makefile
-    sed 's,^CFLAGS,DISABLED_CFLAGS,' -i Makefile
-    sed 's,^LDFLAGS,DISABLED_LDFLAGS,' -i Makefile
-    # Supply the C flags to the compiler:
-    sed 's,-o biossums,$(CFLAGS) -o biossums,' -i Makefile
-}
-
-do_compile() {
-    # clean removes binaries distributed with source
-    oe_runmake clean
-    oe_runmake biossums
-}
-
-do_install() {
-    mkdir -p "${D}${bindir}"
-    install -m 0755 biossums "${D}${bindir}"
-}
diff --git a/import-layers/meta-virtualization/recipes-extended/vgabios/vgabios_0.7a.bb b/import-layers/meta-virtualization/recipes-extended/vgabios/vgabios_0.7a.bb
deleted file mode 100644
index 3394173..0000000
--- a/import-layers/meta-virtualization/recipes-extended/vgabios/vgabios_0.7a.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-DESCRIPTION = "Plex86/Bochs LGPL VGABios"
-HOMEPAGE = "http://www.nongnu.org/vgabios/"
-LICENSE = "LGPLv2.1"
-SECTION = "firmware"
-
-DEPENDS = "dev86-native biossums-native"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=dcf3c825659e82539645da41a7908589"
-
-SRC_URI =  "http://savannah.gnu.org/download/vgabios/${BPN}-${PV}.tgz"
-
-SRC_URI[md5sum] = "2c0fe5c0ca08082a9293e3a7b23dc900"
-SRC_URI[sha256sum] = "9d24c33d4bfb7831e2069cf3644936a53ef3de21d467872b54ce2ea30881b865"
-
-PR = "r0"
-
-FILES_${PN} = "/usr/share/firmware/${PN}-${PV}*.bin"
-FILES_${PN}-dbg = "/usr/share/firmware/${PN}-${PV}*.debug.bin"
-
-S = "${WORKDIR}/${PN}-${PV}"
-
-do_configure() {
-    # Override to use the native-built biossums tool:
-    sed 's,./biossums,biossums,' -i Makefile
-    sed 's,$(CC) -o biossums biossums.c,touch biossums,' -i Makefile
-}
-
-do_install() {
-    install -d ${D}/usr/share/firmware
-    install -m 0644 VGABIOS-lgpl-latest.bin ${D}/usr/share/firmware/${PN}-${PV}.bin
-    install -m 0644 VGABIOS-lgpl-latest.cirrus.bin ${D}/usr/share/firmware/${PN}-${PV}.cirrus.bin
-}
-
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/README b/import-layers/meta-virtualization/recipes-extended/xen/README
deleted file mode 100644
index 3686530..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/README
+++ /dev/null
@@ -1,24 +0,0 @@
-Xen
----
-
-For any issues with the xen recipes please make sure you CC cardoe@gentoo.org
-
-configuring the hypervisor
---------------------------
-
-Since 4.7.0 Xen supports using Kconfig to configure the hypervisor. Similarly
-to how the recipe for busybox works, you can provide a .config as a defconfig
-to override the default configuration of the hypervisor. The easiest way
-for you to take advantage of this is to create a .config for Xen and then
-copy it to your Yocto layer as 'defconfig' inside of
-'recipes-extended/xen/files/' and then create a bbappend adding
-'file://defconfig' to your SRC_URI.
-
-security patches
-----------------
-
-The base recipe does not include security fixes that the Xen community releases
-as XSAs (http://xenbits.xen.org/xsa/). The easiest way to include those is to
-drop patches in 'recipes-extened/xen/files' and create a bbappend adding those
-patches to SRC_URI and they will be applied. Alternatively, you can override
-the SRC_URI to a git repo you provide that contains the patches.
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/0001-p2m-Always-check-to-see-if-removing-a-p2m-entry-actu.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/0001-p2m-Always-check-to-see-if-removing-a-p2m-entry-actu.patch
deleted file mode 100644
index ad9524a..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/0001-p2m-Always-check-to-see-if-removing-a-p2m-entry-actu.patch
+++ /dev/null
@@ -1,176 +0,0 @@
-From ad208b8b7e45fb2b7c572b86c61c26412609e82d Mon Sep 17 00:00:00 2001
-From: George Dunlap <george.dunlap@citrix.com>
-Date: Fri, 10 Nov 2017 16:53:54 +0000
-Subject: [PATCH 1/2] p2m: Always check to see if removing a p2m entry actually
- worked
-
-The PoD zero-check functions speculatively remove memory from the p2m,
-then check to see if it's completely zeroed, before putting it in the
-cache.
-
-Unfortunately, the p2m_set_entry() calls may fail if the underlying
-pagetable structure needs to change and the domain has exhausted its
-p2m memory pool: for instance, if we're removing a 2MiB region out of
-a 1GiB entry (in the p2m_pod_zero_check_superpage() case), or a 4k
-region out of a 2MiB or larger entry (in the p2m_pod_zero_check()
-case); and the return value is not checked.
-
-The underlying mfn will then be added into the PoD cache, and at some
-point mapped into another location in the p2m.  If the guest
-afterwards ballons out this memory, it will be freed to the hypervisor
-and potentially reused by another domain, in spite of the fact that
-the original domain still has writable mappings to it.
-
-There are several places where p2m_set_entry() shouldn't be able to
-fail, as it is guaranteed to write an entry of the same order that
-succeeded before.  Add a backstop of crashing the domain just in case,
-and an ASSERT_UNREACHABLE() to flag up the broken assumption on debug
-builds.
-
-While we're here, use PAGE_ORDER_2M rather than a magic constant.
-
-This is part of XSA-247.
-
-Reported-by: George Dunlap <george.dunlap.com>
-Signed-off-by: George Dunlap <george.dunlap@citrix.com>
-Reviewed-by: Jan Beulich <jbeulich@suse.com>
----
-v4:
-- Removed some training whitespace
-v3:
-- Reformat reset clause to be more compact
-- Make sure to set map[i] = NULL when unmapping in case we need to bail
-v2:
-- Crash a domain if a p2m_set_entry we think cannot fail fails anyway.
----
- xen/arch/x86/mm/p2m-pod.c | 77 +++++++++++++++++++++++++++++++++++++----------
- 1 file changed, 61 insertions(+), 16 deletions(-)
-
-diff --git a/xen/arch/x86/mm/p2m-pod.c b/xen/arch/x86/mm/p2m-pod.c
-index 730a48f928..f2ed751892 100644
---- a/xen/arch/x86/mm/p2m-pod.c
-+++ b/xen/arch/x86/mm/p2m-pod.c
-@@ -752,8 +752,10 @@ p2m_pod_zero_check_superpage(struct p2m_domain *p2m, unsigned long gfn)
-     }
- 
-     /* Try to remove the page, restoring old mapping if it fails. */
--    p2m_set_entry(p2m, gfn, INVALID_MFN, PAGE_ORDER_2M,
--                  p2m_populate_on_demand, p2m->default_access);
-+    if ( p2m_set_entry(p2m, gfn, INVALID_MFN, PAGE_ORDER_2M,
-+                       p2m_populate_on_demand, p2m->default_access) )
-+        goto out;
-+
-     p2m_tlb_flush_sync(p2m);
- 
-     /* Make none of the MFNs are used elsewhere... for example, mapped
-@@ -810,9 +812,18 @@ p2m_pod_zero_check_superpage(struct p2m_domain *p2m, unsigned long gfn)
-     ret = SUPERPAGE_PAGES;
- 
- out_reset:
--    if ( reset )
--        p2m_set_entry(p2m, gfn, mfn0, 9, type0, p2m->default_access);
--    
-+    /*
-+     * This p2m_set_entry() call shouldn't be able to fail, since the same order
-+     * on the same gfn succeeded above.  If that turns out to be false, crashing
-+     * the domain should be the safest way of making sure we don't leak memory.
-+     */
-+    if ( reset && p2m_set_entry(p2m, gfn, mfn0, PAGE_ORDER_2M,
-+                                type0, p2m->default_access) )
-+    {
-+        ASSERT_UNREACHABLE();
-+        domain_crash(d);
-+    }
-+
- out:
-     gfn_unlock(p2m, gfn, SUPERPAGE_ORDER);
-     return ret;
-@@ -869,19 +880,30 @@ p2m_pod_zero_check(struct p2m_domain *p2m, unsigned long *gfns, int count)
-         }
- 
-         /* Try to remove the page, restoring old mapping if it fails. */
--        p2m_set_entry(p2m, gfns[i], INVALID_MFN, PAGE_ORDER_4K,
--                      p2m_populate_on_demand, p2m->default_access);
-+        if ( p2m_set_entry(p2m, gfns[i], INVALID_MFN, PAGE_ORDER_4K,
-+                           p2m_populate_on_demand, p2m->default_access) )
-+            goto skip;
- 
-         /* See if the page was successfully unmapped.  (Allow one refcount
-          * for being allocated to a domain.) */
-         if ( (mfn_to_page(mfns[i])->count_info & PGC_count_mask) > 1 )
-         {
-+            /*
-+             * If the previous p2m_set_entry call succeeded, this one shouldn't
-+             * be able to fail.  If it does, crashing the domain should be safe.
-+             */
-+            if ( p2m_set_entry(p2m, gfns[i], mfns[i], PAGE_ORDER_4K,
-+                               types[i], p2m->default_access) )
-+            {
-+                ASSERT_UNREACHABLE();
-+                domain_crash(d);
-+                goto out_unmap;
-+            }
-+
-+        skip:
-             unmap_domain_page(map[i]);
-             map[i] = NULL;
- 
--            p2m_set_entry(p2m, gfns[i], mfns[i], PAGE_ORDER_4K,
--                types[i], p2m->default_access);
--
-             continue;
-         }
-     }
-@@ -900,12 +922,25 @@ p2m_pod_zero_check(struct p2m_domain *p2m, unsigned long *gfns, int count)
- 
-         unmap_domain_page(map[i]);
- 
--        /* See comment in p2m_pod_zero_check_superpage() re gnttab
--         * check timing.  */
--        if ( j < PAGE_SIZE/sizeof(*map[i]) )
-+        map[i] = NULL;
-+
-+        /*
-+         * See comment in p2m_pod_zero_check_superpage() re gnttab
-+         * check timing.
-+         */
-+        if ( j < (PAGE_SIZE / sizeof(*map[i])) )
-         {
--            p2m_set_entry(p2m, gfns[i], mfns[i], PAGE_ORDER_4K,
--                types[i], p2m->default_access);
-+            /*
-+             * If the previous p2m_set_entry call succeeded, this one shouldn't
-+             * be able to fail.  If it does, crashing the domain should be safe.
-+             */
-+            if ( p2m_set_entry(p2m, gfns[i], mfns[i], PAGE_ORDER_4K,
-+                               types[i], p2m->default_access) )
-+            {
-+                ASSERT_UNREACHABLE();
-+                domain_crash(d);
-+                goto out_unmap;
-+            }
-         }
-         else
-         {
-@@ -929,7 +964,17 @@ p2m_pod_zero_check(struct p2m_domain *p2m, unsigned long *gfns, int count)
-             p2m->pod.entry_count++;
-         }
-     }
--    
-+
-+    return;
-+
-+out_unmap:
-+    /*
-+     * Something went wrong, probably crashing the domain.  Unmap
-+     * everything and return.
-+     */
-+    for ( i = 0; i < count; i++ )
-+        if ( map[i] )
-+            unmap_domain_page(map[i]);
- }
- 
- #define POD_SWEEP_LIMIT 1024
--- 
-2.15.0
-
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/0002-p2m-Check-return-value-of-p2m_set_entry-when-decreas.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/0002-p2m-Check-return-value-of-p2m_set_entry-when-decreas.patch
deleted file mode 100644
index 8c850bd..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/0002-p2m-Check-return-value-of-p2m_set_entry-when-decreas.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From d4bc7833707351a5341a6bdf04c752a028d9560d Mon Sep 17 00:00:00 2001
-From: George Dunlap <george.dunlap@citrix.com>
-Date: Fri, 10 Nov 2017 16:53:55 +0000
-Subject: [PATCH 2/2] p2m: Check return value of p2m_set_entry() when
- decreasing reservation
-
-If the entire range specified to p2m_pod_decrease_reservation() is marked
-populate-on-demand, then it will make a single p2m_set_entry() call,
-reducing its PoD entry count.
-
-Unfortunately, in the right circumstances, this p2m_set_entry() call
-may fail.  It that case, repeated calls to decrease_reservation() may
-cause p2m->pod.entry_count to fall below zero, potentially tripping
-over BUG_ON()s to the contrary.
-
-Instead, check to see if the entry succeeded, and return false if not.
-The caller will then call guest_remove_page() on the gfns, which will
-return -EINVAL upon finding no valid memory there to return.
-
-Unfortunately if the order > 0, the entry may have partially changed.
-A domain_crash() is probably the safest thing in that case.
-
-Other p2m_set_entry() calls in the same function should be fine,
-because they are writing the entry at its current order.  Nonetheless,
-check the return value and crash if our assumption turns otu to be
-wrong.
-
-This is part of XSA-247.
-
-Reported-by: George Dunlap <george.dunlap.com>
-Signed-off-by: George Dunlap <george.dunlap@citrix.com>
-Reviewed-by: Jan Beulich <jbeulich@suse.com>
----
-v2: Crash the domain if we're not sure it's safe (or if we think it
-can't happen)
----
- xen/arch/x86/mm/p2m-pod.c | 42 +++++++++++++++++++++++++++++++++---------
- 1 file changed, 33 insertions(+), 9 deletions(-)
-
-diff --git a/xen/arch/x86/mm/p2m-pod.c b/xen/arch/x86/mm/p2m-pod.c
-index f2ed751892..473d6a6dbf 100644
---- a/xen/arch/x86/mm/p2m-pod.c
-+++ b/xen/arch/x86/mm/p2m-pod.c
-@@ -555,11 +555,23 @@ p2m_pod_decrease_reservation(struct domain *d,
- 
-     if ( !nonpod )
-     {
--        /* All PoD: Mark the whole region invalid and tell caller
--         * we're done. */
--        p2m_set_entry(p2m, gpfn, INVALID_MFN, order, p2m_invalid,
--                      p2m->default_access);
--        p2m->pod.entry_count-=(1<<order);
-+        /*
-+         * All PoD: Mark the whole region invalid and tell caller
-+         * we're done.
-+         */
-+        if ( p2m_set_entry(p2m, gpfn, INVALID_MFN, order, p2m_invalid,
-+                           p2m->default_access) )
-+        {
-+            /*
-+             * If this fails, we can't tell how much of the range was changed.
-+             * Best to crash the domain unless we're sure a partial change is
-+             * impossible.
-+             */
-+            if ( order != 0 )
-+                domain_crash(d);
-+            goto out_unlock;
-+        }
-+        p2m->pod.entry_count -= 1UL << order;
-         BUG_ON(p2m->pod.entry_count < 0);
-         ret = 1;
-         goto out_entry_check;
-@@ -600,8 +612,14 @@ p2m_pod_decrease_reservation(struct domain *d,
-         n = 1UL << cur_order;
-         if ( t == p2m_populate_on_demand )
-         {
--            p2m_set_entry(p2m, gpfn + i, INVALID_MFN, cur_order,
--                          p2m_invalid, p2m->default_access);
-+            /* This shouldn't be able to fail */
-+            if ( p2m_set_entry(p2m, gpfn + i, INVALID_MFN, cur_order,
-+                               p2m_invalid, p2m->default_access) )
-+            {
-+                ASSERT_UNREACHABLE();
-+                domain_crash(d);
-+                goto out_unlock;
-+            }
-             p2m->pod.entry_count -= n;
-             BUG_ON(p2m->pod.entry_count < 0);
-             pod -= n;
-@@ -622,8 +640,14 @@ p2m_pod_decrease_reservation(struct domain *d,
- 
-             page = mfn_to_page(mfn);
- 
--            p2m_set_entry(p2m, gpfn + i, INVALID_MFN, cur_order,
--                          p2m_invalid, p2m->default_access);
-+            /* This shouldn't be able to fail */
-+            if ( p2m_set_entry(p2m, gpfn + i, INVALID_MFN, cur_order,
-+                               p2m_invalid, p2m->default_access) )
-+            {
-+                ASSERT_UNREACHABLE();
-+                domain_crash(d);
-+                goto out_unlock;
-+            }
-             p2m_tlb_flush_sync(p2m);
-             for ( j = 0; j < n; ++j )
-                 set_gpfn_from_mfn(mfn_x(mfn), INVALID_M2P_ENTRY);
--- 
-2.15.0
-
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/lwip.dhcp_create_request-hwaddr_len.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/lwip.dhcp_create_request-hwaddr_len.patch
deleted file mode 100644
index 4bbf21a..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/lwip.dhcp_create_request-hwaddr_len.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: src/core/dhcp.c
-===================================================================
---- a/src/core/dhcp.c
-+++ b/src/core/dhcp.c
-@@ -1356,7 +1358,7 @@ dhcp_create_request(struct netif *netif)
-   dhcp->msg_out->giaddr.addr = 0;
-   for (i = 0; i < DHCP_CHADDR_LEN; i++) {
-     /* copy netif hardware address, pad with zeroes */
--    dhcp->msg_out->chaddr[i] = (i < netif->hwaddr_len) ? netif->hwaddr[i] : 0/* pad byte*/;
-+    dhcp->msg_out->chaddr[i] = (i < (netif->hwaddr_len > NETIF_MAX_HWADDR_LEN ? NETIF_MAX_HWADDR_LEN : netif->hwaddr_len)) ? netif->hwaddr[i] : 0/* pad byte*/;
-   }
-   for (i = 0; i < DHCP_SNAME_LEN; i++) {
-     dhcp->msg_out->sname[i] = 0;
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/lwip.patch-cvs b/import-layers/meta-virtualization/recipes-extended/xen/files/lwip.patch-cvs
deleted file mode 100644
index b271877..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/lwip.patch-cvs
+++ /dev/null
@@ -1,2398 +0,0 @@
-? .ChangeLog.swp
-? ChangeLog
-Index: CHANGELOG
-===================================================================
-RCS file: /sources/lwip/lwip/CHANGELOG,v
-retrieving revision 1.300
-retrieving revision 1.318
-diff -u -p -r1.300 -r1.318
---- a/CHANGELOG	23 Mar 2008 13:49:39 -0000	1.300
-+++ b/CHANGELOG	14 Jul 2008 20:12:36 -0000	1.318
-@@ -19,9 +19,77 @@ HISTORY
-
-   ++ New features:
-
-+  2008-06-30 Simon Goldschmidt
-+  * mem.c, opt.h, stats.h: fixed bug #21433: Calling mem_free/pbuf_free from
-+    interrupt context isn't safe: LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT allows
-+    mem_free to run between mem_malloc iterations. Added illegal counter for
-+    mem stats.
-+
-+  2008-06-27 Simon Goldschmidt
-+  * stats.h/.c, some other files: patch #6483: stats module improvement:
-+    Added defines to display each module's statistic individually, added stats
-+    defines for MEM, MEMP and SYS modules, removed (unused) rexmit counter.
-+
-+  2008-06-17 Simon Goldschmidt
-+  * err.h: patch #6459: Made err_t overridable to use a more efficient type
-+    (define LWIP_ERR_T in cc.h)
-+
-+  2008-06-17 Simon Goldschmidt
-+  * slipif.c: patch #6480: Added a configuration option for slipif for symmetry
-+    to loopif
-+
-+  2008-06-17 Simon Goldschmidt (patch by Luca Ceresoli)
-+  * netif.c, loopif.c, ip.c, netif.h, loopif.h, opt.h: Checked in slightly
-+    modified version of patch # 6370: Moved loopif code to netif.c so that
-+    loopback traffic is supported on all netifs (all local IPs).
-+    Added option to limit loopback packets for each netifs.
-+
-
-   ++ Bugfixes:
-
-+  2008-08-14 Simon Goldschmidt
-+  * api_msg.c: fixed bug #23847: do_close_internal references freed memory (when
-+    tcp_close returns != ERR_OK)
-+
-+  2008-07-08 Frédéric Bernon
-+  * stats.h: Fix some build bugs introduced with patch #6483 (missing some parameters
-+    in macros, mainly if MEM_STATS=0 and MEMP_STATS=0).
-+
-+  2008-06-24 Jonathan Larmour
-+  * tcp_in.c: Fix for bug #23693 as suggested by Art R. Ensure cseg is unused
-+    if tcp_seg_copy fails.
-+
-+  2008-06-17 Simon Goldschmidt
-+  * inet_chksum.c: Checked in some ideas of patch #6460 (loop optimizations)
-+    and created defines for swapping bytes and folding u32 to u16.
-+
-+  2008-05-30 Kieran Mansley
-+  * tcp_in.c Remove redundant "if" statement, and use real rcv_wnd
-+    rather than rcv_ann_wnd when deciding if packets are in-window.
-+    Contributed by <arasmussen@consultant.datasys.swri.edu>
-+
-+  2008-05-30 Kieran Mansley
-+  * mem.h: Fix BUG#23254.  Change macro definition of mem_* to allow
-+    passing as function pointers when MEM_LIBC_MALLOC is defined.
-+
-+  2008-05-09 Jonathan Larmour
-+  * err.h, err.c, sockets.c: Fix bug #23119: Reorder timeout error code to
-+    stop it being treated as a fatal error.
-+
-+  2008-04-15 Simon Goldschmidt
-+  * dhcp.c: fixed bug #22804: dhcp_stop doesn't clear NETIF_FLAG_DHCP
-+    (flag now cleared)
-+
-+  2008-03-27 Simon Goldschmidt
-+  * mem.c, tcpip.c, tcpip.h, opt.h: fixed bug #21433 (Calling mem_free/pbuf_free
-+    from interrupt context isn't safe): set LWIP_USE_HEAP_FROM_INTERRUPT to 1
-+    in lwipopts.h or use pbuf_free_callback(p)/mem_free_callback(m) to free pbufs
-+    or heap memory from interrupt context
-+
-+  2008-03-26 Simon Goldschmidt
-+  * tcp_in.c, tcp.c: fixed bug #22249: division by zero could occur if a remote
-+    host sent a zero mss as TCP option.
-+
-
- (STABLE-1.3.0)
-
-Index: src/api/api_msg.c
-===================================================================
-RCS file: /sources/lwip/lwip/src/api/api_msg.c,v
-retrieving revision 1.102
-retrieving revision 1.104
-diff -u -p -r1.102 -r1.104
---- a/src/api/api_msg.c	21 Mar 2008 16:23:14 -0000	1.102
-+++ b/src/api/api_msg.c	15 Jul 2008 11:18:58 -0000	1.104
-@@ -598,11 +598,16 @@ do_close_internal(struct netconn *conn)
-   LWIP_ASSERT("pcb already closed", (conn->pcb.tcp != NULL));
-
-   /* Set back some callback pointers */
-+  tcp_arg(conn->pcb.tcp, NULL);
-   if (conn->pcb.tcp->state == LISTEN) {
--    tcp_arg(conn->pcb.tcp, NULL);
-     tcp_accept(conn->pcb.tcp, NULL);
-   } else {
-     tcp_recv(conn->pcb.tcp, NULL);
-+    tcp_accept(conn->pcb.tcp, NULL);
-+    /* some callbacks have to be reset if tcp_close is not successful */
-+    tcp_sent(conn->pcb.tcp, NULL);
-+    tcp_poll(conn->pcb.tcp, NULL, 4);
-+    tcp_err(conn->pcb.tcp, NULL);
-   }
-   /* Try to close the connection */
-   err = tcp_close(conn->pcb.tcp);
-@@ -610,11 +615,6 @@ do_close_internal(struct netconn *conn)
-     /* Closing succeeded */
-     conn->state = NETCONN_NONE;
-     /* Set back some callback pointers as conn is going away */
--    tcp_err(conn->pcb.tcp, NULL);
--    tcp_poll(conn->pcb.tcp, NULL, 4);
--    tcp_sent(conn->pcb.tcp, NULL);
--    tcp_recv(conn->pcb.tcp, NULL);
--    tcp_arg(conn->pcb.tcp, NULL);
-     conn->pcb.tcp = NULL;
-     conn->err = ERR_OK;
-     /* Trigger select() in socket layer. This send should something else so the
-@@ -623,6 +623,14 @@ do_close_internal(struct netconn *conn)
-     API_EVENT(conn, NETCONN_EVT_SENDPLUS, 0);
-     /* wake up the application task */
-     sys_sem_signal(conn->op_completed);
-+  } else {
-+    /* Closing failed, restore some of the callbacks */
-+    /* Closing of listen pcb will never fail! */
-+    LWIP_ASSERT("Closing a listen pcb may not fail!", (conn->pcb.tcp->state != LISTEN));
-+    tcp_sent(conn->pcb.tcp, sent_tcp);
-+    tcp_poll(conn->pcb.tcp, poll_tcp, 4);
-+    tcp_err(conn->pcb.tcp, err_tcp);
-+    tcp_arg(conn->pcb.tcp, conn);
-   }
-   /* If closing didn't succeed, we get called again either
-      from poll_tcp or from sent_tcp */
-Index: src/api/err.c
-===================================================================
-RCS file: /sources/lwip/lwip/src/api/err.c,v
-retrieving revision 1.11
-retrieving revision 1.12
-diff -u -p -r1.11 -r1.12
---- a/src/api/err.c	13 Dec 2007 23:06:50 -0000	1.11
-+++ b/src/api/err.c	9 May 2008 12:14:23 -0000	1.12
-@@ -44,17 +44,17 @@ static const char *err_strerr[] = {
-            "Ok.",                    /* ERR_OK          0  */
-            "Out of memory error.",   /* ERR_MEM        -1  */
-            "Buffer error.",          /* ERR_BUF        -2  */
--           "Routing problem.",       /* ERR_RTE        -3  */
--           "Connection aborted.",    /* ERR_ABRT       -4  */
--           "Connection reset.",      /* ERR_RST        -5  */
--           "Connection closed.",     /* ERR_CLSD       -6  */
--           "Not connected.",         /* ERR_CONN       -7  */
--           "Illegal value.",         /* ERR_VAL        -8  */
--           "Illegal argument.",      /* ERR_ARG        -9  */
--           "Address in use.",        /* ERR_USE        -10 */
--           "Low-level netif error.", /* ERR_IF         -11 */
--           "Already connected.",     /* ERR_ISCONN     -12 */
--           "Timeout.",               /* ERR_TIMEOUT    -13 */
-+           "Timeout.",               /* ERR_TIMEOUT    -3 */
-+           "Routing problem.",       /* ERR_RTE        -4  */
-+           "Connection aborted.",    /* ERR_ABRT       -5  */
-+           "Connection reset.",      /* ERR_RST        -6  */
-+           "Connection closed.",     /* ERR_CLSD       -7  */
-+           "Not connected.",         /* ERR_CONN       -8  */
-+           "Illegal value.",         /* ERR_VAL        -9  */
-+           "Illegal argument.",      /* ERR_ARG        -10 */
-+           "Address in use.",        /* ERR_USE        -11 */
-+           "Low-level netif error.", /* ERR_IF         -12 */
-+           "Already connected.",     /* ERR_ISCONN     -13 */
-            "Operation in progress."  /* ERR_INPROGRESS -14 */
- };
-
-Index: src/api/netdb.c
-===================================================================
-RCS file: /sources/lwip/lwip/src/api/netdb.c,v
-retrieving revision 1.4
-retrieving revision 1.5
-diff -u -p -r1.4 -r1.5
---- a/src/api/netdb.c	26 Jan 2008 16:11:39 -0000	1.4
-+++ b/src/api/netdb.c	16 Jul 2008 20:36:12 -0000	1.5
-@@ -326,7 +326,8 @@ lwip_getaddrinfo(const char *nodename, c
-   if (nodename != NULL) {
-     /* copy nodename to canonname if specified */
-     size_t namelen = strlen(nodename);
--    ai->ai_canonname = mem_malloc(namelen + 1);
-+    LWIP_ASSERT("namelen is too long", (namelen + 1) <= (mem_size_t)-1);
-+    ai->ai_canonname = mem_malloc((mem_size_t)(namelen + 1));
-     if (ai->ai_canonname == NULL) {
-       goto memerr;
-     }
-Index: src/api/sockets.c
-===================================================================
-RCS file: /sources/lwip/lwip/src/api/sockets.c,v
-retrieving revision 1.116
-retrieving revision 1.117
-diff -u -p -r1.116 -r1.117
---- a/src/api/sockets.c	13 Mar 2008 20:03:57 -0000	1.116
-+++ b/src/api/sockets.c	9 May 2008 12:14:24 -0000	1.117
-@@ -128,17 +128,17 @@ static const int err_to_errno_table[] =
-   0,             /* ERR_OK          0      No error, everything OK. */
-   ENOMEM,        /* ERR_MEM        -1      Out of memory error.     */
-   ENOBUFS,       /* ERR_BUF        -2      Buffer error.            */
--  EHOSTUNREACH,  /* ERR_RTE        -3      Routing problem.         */
--  ECONNABORTED,  /* ERR_ABRT       -4      Connection aborted.      */
--  ECONNRESET,    /* ERR_RST        -5      Connection reset.        */
--  ESHUTDOWN,     /* ERR_CLSD       -6      Connection closed.       */
--  ENOTCONN,      /* ERR_CONN       -7      Not connected.           */
--  EINVAL,        /* ERR_VAL        -8      Illegal value.           */
--  EIO,           /* ERR_ARG        -9      Illegal argument.        */
--  EADDRINUSE,    /* ERR_USE        -10     Address in use.          */
--  -1,            /* ERR_IF         -11     Low-level netif error    */
--  -1,            /* ERR_ISCONN     -12     Already connected.       */
--  ETIMEDOUT,     /* ERR_TIMEOUT    -13     Timeout                  */
-+  ETIMEDOUT,     /* ERR_TIMEOUT    -3      Timeout                  */
-+  EHOSTUNREACH,  /* ERR_RTE        -4      Routing problem.         */
-+  ECONNABORTED,  /* ERR_ABRT       -5      Connection aborted.      */
-+  ECONNRESET,    /* ERR_RST        -6      Connection reset.        */
-+  ESHUTDOWN,     /* ERR_CLSD       -7      Connection closed.       */
-+  ENOTCONN,      /* ERR_CONN       -8      Not connected.           */
-+  EINVAL,        /* ERR_VAL        -9      Illegal value.           */
-+  EIO,           /* ERR_ARG        -10     Illegal argument.        */
-+  EADDRINUSE,    /* ERR_USE        -11     Address in use.          */
-+  -1,            /* ERR_IF         -12     Low-level netif error    */
-+  -1,            /* ERR_ISCONN     -13     Already connected.       */
-   EINPROGRESS    /* ERR_INPROGRESS -14     Operation in progress    */
- };
-
-Index: src/api/tcpip.c
-===================================================================
-RCS file: /sources/lwip/lwip/src/api/tcpip.c,v
-retrieving revision 1.70
-retrieving revision 1.73
-diff -u -p -r1.70 -r1.73
---- a/src/api/tcpip.c	12 Jan 2008 11:52:22 -0000	1.70
-+++ b/src/api/tcpip.c	27 Jun 2008 20:34:51 -0000	1.73
-@@ -518,4 +518,42 @@ tcpip_init(void (* initfunc)(void *), vo
-   sys_thread_new(TCPIP_THREAD_NAME, tcpip_thread, NULL, TCPIP_THREAD_STACKSIZE, TCPIP_THREAD_PRIO);
- }
-
-+/**
-+ * Simple callback function used with tcpip_callback to free a pbuf
-+ * (pbuf_free has a wrong signature for tcpip_callback)
-+ *
-+ * @param p The pbuf (chain) to be dereferenced.
-+ */
-+static void
-+pbuf_free_int(void *p)
-+{
-+  struct pbuf *q = p;
-+  pbuf_free(q);
-+}
-+
-+/**
-+ * A simple wrapper function that allows you to free a pbuf from interrupt context.
-+ *
-+ * @param p The pbuf (chain) to be dereferenced.
-+ * @return ERR_OK if callback could be enqueued, an err_t if not
-+ */
-+err_t
-+pbuf_free_callback(struct pbuf *p)
-+{
-+  return tcpip_callback_with_block(pbuf_free_int, p, 0);
-+}
-+
-+/**
-+ * A simple wrapper function that allows you to free heap memory from
-+ * interrupt context.
-+ *
-+ * @param m the heap memory to free
-+ * @return ERR_OK if callback could be enqueued, an err_t if not
-+ */
-+err_t
-+mem_free_callback(void *m)
-+{
-+  return tcpip_callback_with_block(mem_free, m, 0);
-+}
-+
- #endif /* !NO_SYS */
-Index: src/core/dhcp.c
-===================================================================
-RCS file: /sources/lwip/lwip/src/core/dhcp.c,v
-retrieving revision 1.86
-retrieving revision 1.87
-diff -u -p -r1.86 -r1.87
---- a/src/core/dhcp.c	4 Mar 2008 14:25:58 -0000	1.86
-+++ b/src/core/dhcp.c	15 Apr 2008 17:24:55 -0000	1.87
-@@ -568,6 +568,8 @@ dhcp_start(struct netif *netif)
-   LWIP_ERROR("netif != NULL", (netif != NULL), return ERR_ARG;);
-   dhcp = netif->dhcp;
-   LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | LWIP_DBG_STATE, ("dhcp_start(netif=%p) %c%c%"U16_F"\n", (void*)netif, netif->name[0], netif->name[1], (u16_t)netif->num));
-+  /* Remove the flag that says this netif is handled by DHCP,
-+     it is set when we succeeded starting. */
-   netif->flags &= ~NETIF_FLAG_DHCP;
-
-   /* no DHCP client attached yet? */
-@@ -609,6 +611,7 @@ dhcp_start(struct netif *netif)
-     dhcp_stop(netif);
-     return ERR_MEM;
-   }
-+  /* Set the flag that says this netif is handled by DHCP. */
-   netif->flags |= NETIF_FLAG_DHCP;
-   return result;
- }
-@@ -1063,6 +1066,8 @@ dhcp_stop(struct netif *netif)
- {
-   struct dhcp *dhcp = netif->dhcp;
-   LWIP_ERROR("dhcp_stop: netif != NULL", (netif != NULL), return;);
-+  /* Remove the flag that says this netif is handled by DHCP. */
-+  netif->flags &= ~NETIF_FLAG_DHCP;
-
-   LWIP_DEBUGF(DHCP_DEBUG | LWIP_DBG_TRACE | 3, ("dhcp_stop()\n"));
-   /* netif is DHCP configured? */
-Index: src/core/mem.c
-===================================================================
-RCS file: /sources/lwip/lwip/src/core/mem.c,v
-retrieving revision 1.59
-retrieving revision 1.62
-diff -u -p -r1.59 -r1.62
---- a/src/core/mem.c	4 Mar 2008 16:31:32 -0000	1.59
-+++ b/src/core/mem.c	30 Jun 2008 18:16:51 -0000	1.62
-@@ -177,9 +177,36 @@ static u8_t *ram;
- static struct mem *ram_end;
- /** pointer to the lowest free block, this is used for faster search */
- static struct mem *lfree;
-+
- /** concurrent access protection */
- static sys_sem_t mem_sem;
-
-+#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT
-+
-+static volatile u8_t mem_free_count;
-+
-+/* Allow mem_free from other (e.g. interrupt) context */
-+#define LWIP_MEM_FREE_DECL_PROTECT()  SYS_ARCH_DECL_PROTECT(lev_free)
-+#define LWIP_MEM_FREE_PROTECT()       SYS_ARCH_PROTECT(lev_free)
-+#define LWIP_MEM_FREE_UNPROTECT()     SYS_ARCH_UNPROTECT(lev_free)
-+#define LWIP_MEM_ALLOC_DECL_PROTECT() SYS_ARCH_DECL_PROTECT(lev_alloc)
-+#define LWIP_MEM_ALLOC_PROTECT()      SYS_ARCH_PROTECT(lev_alloc)
-+#define LWIP_MEM_ALLOC_UNPROTECT()    SYS_ARCH_UNPROTECT(lev_alloc)
-+
-+#else /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */
-+
-+/* Protect the heap only by using a semaphore */
-+#define LWIP_MEM_FREE_DECL_PROTECT()
-+#define LWIP_MEM_FREE_PROTECT()    sys_arch_sem_wait(mem_sem, 0)
-+#define LWIP_MEM_FREE_UNPROTECT()  sys_sem_signal(mem_sem)
-+/* mem_malloc is protected using semaphore AND LWIP_MEM_ALLOC_PROTECT */
-+#define LWIP_MEM_ALLOC_DECL_PROTECT()
-+#define LWIP_MEM_ALLOC_PROTECT()
-+#define LWIP_MEM_ALLOC_UNPROTECT()
-+
-+#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */
-+
-+
- /**
-  * "Plug holes" by combining adjacent empty struct mems.
-  * After this function is through, there should not exist
-@@ -255,9 +282,7 @@ mem_init(void)
-   /* initialize the lowest-free pointer to the start of the heap */
-   lfree = (struct mem *)ram;
-
--#if MEM_STATS
--  lwip_stats.mem.avail = MEM_SIZE_ALIGNED;
--#endif /* MEM_STATS */
-+  MEM_STATS_AVAIL(avail, MEM_SIZE_ALIGNED);
- }
-
- /**
-@@ -270,6 +295,7 @@ void
- mem_free(void *rmem)
- {
-   struct mem *mem;
-+  LWIP_MEM_FREE_DECL_PROTECT();
-
-   if (rmem == NULL) {
-     LWIP_DEBUGF(MEM_DEBUG | LWIP_DBG_TRACE | 2, ("mem_free(p == NULL) was called.\n"));
-@@ -277,20 +303,20 @@ mem_free(void *rmem)
-   }
-   LWIP_ASSERT("mem_free: sanity check alignment", (((mem_ptr_t)rmem) & (MEM_ALIGNMENT-1)) == 0);
-
--  /* protect the heap from concurrent access */
--  sys_arch_sem_wait(mem_sem, 0);
--
-   LWIP_ASSERT("mem_free: legal memory", (u8_t *)rmem >= (u8_t *)ram &&
-     (u8_t *)rmem < (u8_t *)ram_end);
-
-   if ((u8_t *)rmem < (u8_t *)ram || (u8_t *)rmem >= (u8_t *)ram_end) {
-+    SYS_ARCH_DECL_PROTECT(lev);
-     LWIP_DEBUGF(MEM_DEBUG | 3, ("mem_free: illegal memory\n"));
--#if MEM_STATS
--    ++lwip_stats.mem.err;
--#endif /* MEM_STATS */
--    sys_sem_signal(mem_sem);
-+    /* protect mem stats from concurrent access */
-+    SYS_ARCH_PROTECT(lev);
-+    MEM_STATS_INC(illegal);
-+    SYS_ARCH_UNPROTECT(lev);
-     return;
-   }
-+  /* protect the heap from concurrent access */
-+  LWIP_MEM_FREE_PROTECT();
-   /* Get the corresponding struct mem ... */
-   mem = (struct mem *)((u8_t *)rmem - SIZEOF_STRUCT_MEM);
-   /* ... which has to be in a used state ... */
-@@ -303,13 +329,14 @@ mem_free(void *rmem)
-     lfree = mem;
-   }
-
--#if MEM_STATS
--  lwip_stats.mem.used -= mem->next - ((u8_t *)mem - ram);
--#endif /* MEM_STATS */
-+  MEM_STATS_DEC_USED(used, mem->next - ((u8_t *)mem - ram));
-
-   /* finally, see if prev or next are free also */
-   plug_holes(mem);
--  sys_sem_signal(mem_sem);
-+#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT
-+  mem_free_count = 1;
-+#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */
-+  LWIP_MEM_FREE_UNPROTECT();
- }
-
- /**
-@@ -321,6 +348,8 @@ mem_free(void *rmem)
-  * @param newsize required size after shrinking (needs to be smaller than or
-  *                equal to the previous size)
-  * @return for compatibility reasons: is always == rmem, at the moment
-+ *         or NULL if newsize is > old size, in which case rmem is NOT touched
-+ *         or freed!
-  */
- void *
- mem_realloc(void *rmem, mem_size_t newsize)
-@@ -328,6 +357,8 @@ mem_realloc(void *rmem, mem_size_t newsi
-   mem_size_t size;
-   mem_size_t ptr, ptr2;
-   struct mem *mem, *mem2;
-+  /* use the FREE_PROTECT here: it protects with sem OR SYS_ARCH_PROTECT */
-+  LWIP_MEM_FREE_DECL_PROTECT();
-
-   /* Expand the size of the allocated memory region so that we can
-      adjust for alignment. */
-@@ -346,7 +377,12 @@ mem_realloc(void *rmem, mem_size_t newsi
-    (u8_t *)rmem < (u8_t *)ram_end);
-
-   if ((u8_t *)rmem < (u8_t *)ram || (u8_t *)rmem >= (u8_t *)ram_end) {
-+    SYS_ARCH_DECL_PROTECT(lev);
-     LWIP_DEBUGF(MEM_DEBUG | 3, ("mem_realloc: illegal memory\n"));
-+    /* protect mem stats from concurrent access */
-+    SYS_ARCH_PROTECT(lev);
-+    MEM_STATS_INC(illegal);
-+    SYS_ARCH_UNPROTECT(lev);
-     return rmem;
-   }
-   /* Get the corresponding struct mem ... */
-@@ -366,11 +402,9 @@ mem_realloc(void *rmem, mem_size_t newsi
-   }
-
-   /* protect the heap from concurrent access */
--  sys_arch_sem_wait(mem_sem, 0);
-+  LWIP_MEM_FREE_PROTECT();
-
--#if MEM_STATS
--  lwip_stats.mem.used -= (size - newsize);
--#endif /* MEM_STATS */
-+  MEM_STATS_DEC_USED(used, (size - newsize));
-
-   mem2 = (struct mem *)&ram[mem->next];
-   if(mem2->used == 0) {
-@@ -426,7 +460,10 @@ mem_realloc(void *rmem, mem_size_t newsi
-     -> don't do anyhting.
-     -> the remaining space stays unused since it is too small
-   } */
--  sys_sem_signal(mem_sem);
-+#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT
-+  mem_free_count = 1;
-+#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */
-+  LWIP_MEM_FREE_UNPROTECT();
-   return rmem;
- }
-
-@@ -444,6 +481,10 @@ mem_malloc(mem_size_t size)
- {
-   mem_size_t ptr, ptr2;
-   struct mem *mem, *mem2;
-+#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT
-+  u8_t local_mem_free_count = 0;
-+#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */
-+  LWIP_MEM_ALLOC_DECL_PROTECT();
-
-   if (size == 0) {
-     return NULL;
-@@ -464,88 +505,101 @@ mem_malloc(mem_size_t size)
-
-   /* protect the heap from concurrent access */
-   sys_arch_sem_wait(mem_sem, 0);
-+  LWIP_MEM_ALLOC_PROTECT();
-+#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT
-+  /* run as long as a mem_free disturbed mem_malloc */
-+  do {
-+    local_mem_free_count = 0;
-+#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */
-+
-+    /* Scan through the heap searching for a free block that is big enough,
-+     * beginning with the lowest free block.
-+     */
-+    for (ptr = (u8_t *)lfree - ram; ptr < MEM_SIZE_ALIGNED - size;
-+         ptr = ((struct mem *)&ram[ptr])->next) {
-+      mem = (struct mem *)&ram[ptr];
-+#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT
-+      mem_free_count = 0;
-+      LWIP_MEM_ALLOC_UNPROTECT();
-+      /* allow mem_free to run */
-+      LWIP_MEM_ALLOC_PROTECT();
-+      if (mem_free_count != 0) {
-+        local_mem_free_count = mem_free_count;
-+      }
-+      mem_free_count = 0;
-+#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */
-
--  /* Scan through the heap searching for a free block that is big enough,
--   * beginning with the lowest free block.
--   */
--  for (ptr = (u8_t *)lfree - ram; ptr < MEM_SIZE_ALIGNED - size;
--       ptr = ((struct mem *)&ram[ptr])->next) {
--    mem = (struct mem *)&ram[ptr];
--
--    if ((!mem->used) &&
--        (mem->next - (ptr + SIZEOF_STRUCT_MEM)) >= size) {
--      /* mem is not used and at least perfect fit is possible:
--       * mem->next - (ptr + SIZEOF_STRUCT_MEM) gives us the 'user data size' of mem */
--
--      if (mem->next - (ptr + SIZEOF_STRUCT_MEM) >= (size + SIZEOF_STRUCT_MEM + MIN_SIZE_ALIGNED)) {
--        /* (in addition to the above, we test if another struct mem (SIZEOF_STRUCT_MEM) containing
--         * at least MIN_SIZE_ALIGNED of data also fits in the 'user data space' of 'mem')
--         * -> split large block, create empty remainder,
--         * remainder must be large enough to contain MIN_SIZE_ALIGNED data: if
--         * mem->next - (ptr + (2*SIZEOF_STRUCT_MEM)) == size,
--         * struct mem would fit in but no data between mem2 and mem2->next
--         * @todo we could leave out MIN_SIZE_ALIGNED. We would create an empty
--         *       region that couldn't hold data, but when mem->next gets freed,
--         *       the 2 regions would be combined, resulting in more free memory
--         */
--        ptr2 = ptr + SIZEOF_STRUCT_MEM + size;
--        /* create mem2 struct */
--        mem2 = (struct mem *)&ram[ptr2];
--        mem2->used = 0;
--        mem2->next = mem->next;
--        mem2->prev = ptr;
--        /* and insert it between mem and mem->next */
--        mem->next = ptr2;
--        mem->used = 1;
--
--        if (mem2->next != MEM_SIZE_ALIGNED) {
--          ((struct mem *)&ram[mem2->next])->prev = ptr2;
--        }
--#if MEM_STATS
--        lwip_stats.mem.used += (size + SIZEOF_STRUCT_MEM);
--        if (lwip_stats.mem.max < lwip_stats.mem.used) {
--          lwip_stats.mem.max = lwip_stats.mem.used;
-+      if ((!mem->used) &&
-+          (mem->next - (ptr + SIZEOF_STRUCT_MEM)) >= size) {
-+        /* mem is not used and at least perfect fit is possible:
-+         * mem->next - (ptr + SIZEOF_STRUCT_MEM) gives us the 'user data size' of mem */
-+
-+        if (mem->next - (ptr + SIZEOF_STRUCT_MEM) >= (size + SIZEOF_STRUCT_MEM + MIN_SIZE_ALIGNED)) {
-+          /* (in addition to the above, we test if another struct mem (SIZEOF_STRUCT_MEM) containing
-+           * at least MIN_SIZE_ALIGNED of data also fits in the 'user data space' of 'mem')
-+           * -> split large block, create empty remainder,
-+           * remainder must be large enough to contain MIN_SIZE_ALIGNED data: if
-+           * mem->next - (ptr + (2*SIZEOF_STRUCT_MEM)) == size,
-+           * struct mem would fit in but no data between mem2 and mem2->next
-+           * @todo we could leave out MIN_SIZE_ALIGNED. We would create an empty
-+           *       region that couldn't hold data, but when mem->next gets freed,
-+           *       the 2 regions would be combined, resulting in more free memory
-+           */
-+          ptr2 = ptr + SIZEOF_STRUCT_MEM + size;
-+          /* create mem2 struct */
-+          mem2 = (struct mem *)&ram[ptr2];
-+          mem2->used = 0;
-+          mem2->next = mem->next;
-+          mem2->prev = ptr;
-+          /* and insert it between mem and mem->next */
-+          mem->next = ptr2;
-+          mem->used = 1;
-+
-+          if (mem2->next != MEM_SIZE_ALIGNED) {
-+            ((struct mem *)&ram[mem2->next])->prev = ptr2;
-+          }
-+          MEM_STATS_INC_USED(used, (size + SIZEOF_STRUCT_MEM));
-+        } else {
-+          /* (a mem2 struct does no fit into the user data space of mem and mem->next will always
-+           * be used at this point: if not we have 2 unused structs in a row, plug_holes should have
-+           * take care of this).
-+           * -> near fit or excact fit: do not split, no mem2 creation
-+           * also can't move mem->next directly behind mem, since mem->next
-+           * will always be used at this point!
-+           */
-+          mem->used = 1;
-+          MEM_STATS_INC_USED(used, mem->next - ((u8_t *)mem - ram));
-         }
--#endif /* MEM_STATS */
--      } else {
--        /* (a mem2 struct does no fit into the user data space of mem and mem->next will always
--         * be used at this point: if not we have 2 unused structs in a row, plug_holes should have
--         * take care of this).
--         * -> near fit or excact fit: do not split, no mem2 creation
--         * also can't move mem->next directly behind mem, since mem->next
--         * will always be used at this point!
--         */
--        mem->used = 1;
--#if MEM_STATS
--        lwip_stats.mem.used += mem->next - ((u8_t *)mem - ram);
--        if (lwip_stats.mem.max < lwip_stats.mem.used) {
--          lwip_stats.mem.max = lwip_stats.mem.used;
--        }
--#endif /* MEM_STATS */
--      }
-
--      if (mem == lfree) {
--        /* Find next free block after mem and update lowest free pointer */
--        while (lfree->used && lfree != ram_end) {
--          lfree = (struct mem *)&ram[lfree->next];
-+        if (mem == lfree) {
-+          /* Find next free block after mem and update lowest free pointer */
-+          while (lfree->used && lfree != ram_end) {
-+            LWIP_MEM_ALLOC_UNPROTECT();
-+            /* prevent high interrupt latency... */
-+            LWIP_MEM_ALLOC_PROTECT();
-+            lfree = (struct mem *)&ram[lfree->next];
-+          }
-+          LWIP_ASSERT("mem_malloc: !lfree->used", ((lfree == ram_end) || (!lfree->used)));
-         }
--        LWIP_ASSERT("mem_malloc: !lfree->used", ((lfree == ram_end) || (!lfree->used)));
--      }
--      sys_sem_signal(mem_sem);
--      LWIP_ASSERT("mem_malloc: allocated memory not above ram_end.",
--       (mem_ptr_t)mem + SIZEOF_STRUCT_MEM + size <= (mem_ptr_t)ram_end);
--      LWIP_ASSERT("mem_malloc: allocated memory properly aligned.",
--       (unsigned long)((u8_t *)mem + SIZEOF_STRUCT_MEM) % MEM_ALIGNMENT == 0);
--      LWIP_ASSERT("mem_malloc: sanity check alignment",
--        (((mem_ptr_t)mem) & (MEM_ALIGNMENT-1)) == 0);
-+        LWIP_MEM_ALLOC_UNPROTECT();
-+        sys_sem_signal(mem_sem);
-+        LWIP_ASSERT("mem_malloc: allocated memory not above ram_end.",
-+         (mem_ptr_t)mem + SIZEOF_STRUCT_MEM + size <= (mem_ptr_t)ram_end);
-+        LWIP_ASSERT("mem_malloc: allocated memory properly aligned.",
-+         (unsigned long)((u8_t *)mem + SIZEOF_STRUCT_MEM) % MEM_ALIGNMENT == 0);
-+        LWIP_ASSERT("mem_malloc: sanity check alignment",
-+          (((mem_ptr_t)mem) & (MEM_ALIGNMENT-1)) == 0);
-
--      return (u8_t *)mem + SIZEOF_STRUCT_MEM;
-+        return (u8_t *)mem + SIZEOF_STRUCT_MEM;
-+      }
-     }
--  }
-+#if LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT
-+    /* if we got interrupted by a mem_free, try again */
-+  } while(local_mem_free_count != 0);
-+#endif /* LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT */
-   LWIP_DEBUGF(MEM_DEBUG | 2, ("mem_malloc: could not allocate %"S16_F" bytes\n", (s16_t)size));
--#if MEM_STATS
--  ++lwip_stats.mem.err;
--#endif /* MEM_STATS */
-+  MEM_STATS_INC(err);
-+  LWIP_MEM_ALLOC_UNPROTECT();
-   sys_sem_signal(mem_sem);
-   return NULL;
- }
-Index: src/core/memp.c
-===================================================================
-RCS file: /sources/lwip/lwip/src/core/memp.c,v
-retrieving revision 1.55
-retrieving revision 1.56
-diff -u -p -r1.55 -r1.56
---- a/src/core/memp.c	25 Nov 2007 10:43:28 -0000	1.55
-+++ b/src/core/memp.c	27 Jun 2008 18:37:54 -0000	1.56
-@@ -252,13 +252,12 @@ memp_init(void)
-   struct memp *memp;
-   u16_t i, j;
-
--#if MEMP_STATS
-   for (i = 0; i < MEMP_MAX; ++i) {
--    lwip_stats.memp[i].used = lwip_stats.memp[i].max =
--      lwip_stats.memp[i].err = 0;
--    lwip_stats.memp[i].avail = memp_num[i];
-+    MEMP_STATS_AVAIL(used, i, 0);
-+    MEMP_STATS_AVAIL(max, i, 0);
-+    MEMP_STATS_AVAIL(err, i, 0);
-+    MEMP_STATS_AVAIL(avail, i, memp_num[i]);
-   }
--#endif /* MEMP_STATS */
-
-   memp = LWIP_MEM_ALIGN(memp_memory);
-   /* for every pool: */
-@@ -315,20 +314,13 @@ memp_malloc_fn(memp_t type, const char*
-     memp->file = file;
-     memp->line = line;
- #endif /* MEMP_OVERFLOW_CHECK */
--#if MEMP_STATS
--    ++lwip_stats.memp[type].used;
--    if (lwip_stats.memp[type].used > lwip_stats.memp[type].max) {
--      lwip_stats.memp[type].max = lwip_stats.memp[type].used;
--    }
--#endif /* MEMP_STATS */
-+    MEMP_STATS_INC_USED(used, type);
-     LWIP_ASSERT("memp_malloc: memp properly aligned",
-                 ((mem_ptr_t)memp % MEM_ALIGNMENT) == 0);
-     memp = (struct memp*)((u8_t*)memp + MEMP_SIZE);
-   } else {
-     LWIP_DEBUGF(MEMP_DEBUG | 2, ("memp_malloc: out of memory in pool %s\n", memp_desc[type]));
--#if MEMP_STATS
--    ++lwip_stats.memp[type].err;
--#endif /* MEMP_STATS */
-+    MEMP_STATS_INC(err, type);
-   }
-
-   SYS_ARCH_UNPROTECT(old_level);
-@@ -365,9 +357,7 @@ memp_free(memp_t type, void *mem)
- #endif /* MEMP_OVERFLOW_CHECK >= 2 */
- #endif /* MEMP_OVERFLOW_CHECK */
-
--#if MEMP_STATS
--  lwip_stats.memp[type].used--;
--#endif /* MEMP_STATS */
-+  MEMP_STATS_DEC(used, type);
-
-   memp->next = memp_tab[type];
-   memp_tab[type] = memp;
-Index: src/core/netif.c
-===================================================================
-RCS file: /sources/lwip/lwip/src/core/netif.c,v
-retrieving revision 1.65
-retrieving revision 1.68
-diff -u -p -r1.65 -r1.68
---- a/src/core/netif.c	9 Oct 2007 20:00:55 -0000	1.65
-+++ b/src/core/netif.c	19 Jun 2008 16:27:18 -0000	1.68
-@@ -45,6 +45,12 @@
- #include "lwip/snmp.h"
- #include "lwip/igmp.h"
- #include "netif/etharp.h"
-+#if ENABLE_LOOPBACK
-+#include "lwip/sys.h"
-+#if LWIP_NETIF_LOOPBACK_MULTITHREADING
-+#include "lwip/tcpip.h"
-+#endif /* LWIP_NETIF_LOOPBACK_MULTITHREADING */
-+#endif /* ENABLE_LOOPBACK */
-
- #if LWIP_NETIF_STATUS_CALLBACK
- #define NETIF_STATUS_CALLBACK(n) { if (n->status_callback) (n->status_callback)(n); }
-@@ -106,6 +112,10 @@ netif_add(struct netif *netif, struct ip
- #if LWIP_IGMP
-   netif->igmp_mac_filter = NULL;
- #endif /* LWIP_IGMP */
-+#if ENABLE_LOOPBACK
-+  netif->loop_first = NULL;
-+  netif->loop_last = NULL;
-+#endif /* ENABLE_LOOPBACK */
-
-   /* remember netif specific state information data */
-   netif->state = state;
-@@ -114,6 +124,9 @@ netif_add(struct netif *netif, struct ip
- #if LWIP_NETIF_HWADDRHINT
-   netif->addr_hint = NULL;
- #endif /* LWIP_NETIF_HWADDRHINT*/
-+#if ENABLE_LOOPBACK && LWIP_LOOPBACK_MAX_PBUFS
-+  netif->loop_cnt_current = 0;
-+#endif /* ENABLE_LOOPBACK && LWIP_LOOPBACK_MAX_PBUFS */
-
-   netif_set_addr(netif, ipaddr, netmask, gw);
-
-@@ -493,7 +506,158 @@ u8_t netif_is_link_up(struct netif *neti
-  */
- void netif_set_link_callback(struct netif *netif, void (* link_callback)(struct netif *netif ))
- {
--    if ( netif )
--        netif->link_callback = link_callback;
-+  if (netif) {
-+    netif->link_callback = link_callback;
-+  }
- }
- #endif /* LWIP_NETIF_LINK_CALLBACK */
-+
-+#if ENABLE_LOOPBACK
-+/**
-+ * Send an IP packet to be received on the same netif (loopif-like).
-+ * The pbuf is simply copied and handed back to netif->input.
-+ * In multithreaded mode, this is done directly since netif->input must put
-+ * the packet on a queue.
-+ * In callback mode, the packet is put on an internal queue and is fed to
-+ * netif->input by netif_poll().
-+ *
-+ * @param netif the lwip network interface structure
-+ * @param p the (IP) packet to 'send'
-+ * @param ipaddr the ip address to send the packet to (not used)
-+ * @return ERR_OK if the packet has been sent
-+ *         ERR_MEM if the pbuf used to copy the packet couldn't be allocated
-+ */
-+err_t
-+netif_loop_output(struct netif *netif, struct pbuf *p,
-+       struct ip_addr *ipaddr)
-+{
-+  struct pbuf *r;
-+  err_t err;
-+  struct pbuf *last;
-+#if LWIP_LOOPBACK_MAX_PBUFS
-+  u8_t clen = 0;
-+#endif /* LWIP_LOOPBACK_MAX_PBUFS */
-+  SYS_ARCH_DECL_PROTECT(lev);
-+  LWIP_UNUSED_ARG(ipaddr);
-+
-+  /* Allocate a new pbuf */
-+  r = pbuf_alloc(PBUF_LINK, p->tot_len, PBUF_RAM);
-+  if (r == NULL) {
-+    return ERR_MEM;
-+  }
-+#if LWIP_LOOPBACK_MAX_PBUFS
-+  clen = pbuf_clen(r);
-+  /* check for overflow or too many pbuf on queue */
-+  if(((netif->loop_cnt_current + clen) < netif->loop_cnt_current) ||
-+    ((netif->loop_cnt_current + clen) > LWIP_LOOPBACK_MAX_PBUFS)) {
-+      pbuf_free(r);
-+      r = NULL;
-+      return ERR_MEM;
-+  }
-+  netif->loop_cnt_current += clen;
-+#endif /* LWIP_LOOPBACK_MAX_PBUFS */
-+
-+  /* Copy the whole pbuf queue p into the single pbuf r */
-+  if ((err = pbuf_copy(r, p)) != ERR_OK) {
-+    pbuf_free(r);
-+    r = NULL;
-+    return err;
-+  }
-+
-+  /* Put the packet on a linked list which gets emptied through calling
-+     netif_poll(). */
-+
-+  /* let last point to the last pbuf in chain r */
-+  for (last = r; last->next != NULL; last = last->next);
-+
-+  SYS_ARCH_PROTECT(lev);
-+  if(netif->loop_first != NULL) {
-+    LWIP_ASSERT("if first != NULL, last must also be != NULL", netif->loop_last != NULL);
-+    netif->loop_last->next = r;
-+    netif->loop_last = last;
-+  } else {
-+    netif->loop_first = r;
-+    netif->loop_last = last;
-+  }
-+  SYS_ARCH_UNPROTECT(lev);
-+
-+#if LWIP_NETIF_LOOPBACK_MULTITHREADING
-+  /* For multithreading environment, schedule a call to netif_poll */
-+  tcpip_callback(netif_poll, netif);
-+#endif /* LWIP_NETIF_LOOPBACK_MULTITHREADING */
-+
-+  return ERR_OK;
-+}
-+
-+/**
-+ * Call netif_poll() in the main loop of your application. This is to prevent
-+ * reentering non-reentrant functions like tcp_input(). Packets passed to
-+ * netif_loop_output() are put on a list that is passed to netif->input() by
-+ * netif_poll().
-+ */
-+void
-+netif_poll(struct netif *netif)
-+{
-+  struct pbuf *in;
-+  SYS_ARCH_DECL_PROTECT(lev);
-+
-+  do {
-+    /* Get a packet from the list. With SYS_LIGHTWEIGHT_PROT=1, this is protected */
-+    SYS_ARCH_PROTECT(lev);
-+    in = netif->loop_first;
-+    if(in != NULL) {
-+      struct pbuf *in_end = in;
-+#if LWIP_LOOPBACK_MAX_PBUFS
-+      u8_t clen = pbuf_clen(in);
-+      /* adjust the number of pbufs on queue */
-+      LWIP_ASSERT("netif->loop_cnt_current underflow",
-+        ((netif->loop_cnt_current - clen) < netif->loop_cnt_current));
-+      netif->loop_cnt_current -= clen;
-+#endif /* LWIP_LOOPBACK_MAX_PBUFS */
-+      while(in_end->len != in_end->tot_len) {
-+        LWIP_ASSERT("bogus pbuf: len != tot_len but next == NULL!", in_end->next != NULL);
-+        in_end = in_end->next;
-+      }
-+      /* 'in_end' now points to the last pbuf from 'in' */
-+      if(in_end == netif->loop_last) {
-+        /* this was the last pbuf in the list */
-+        netif->loop_first = netif->loop_last = NULL;
-+      } else {
-+        /* pop the pbuf off the list */
-+        netif->loop_first = in_end->next;
-+        LWIP_ASSERT("should not be null since first != last!", netif->loop_first != NULL);
-+      }
-+      /* De-queue the pbuf from its successors on the 'loop_' list. */
-+      in_end->next = NULL;
-+    }
-+    SYS_ARCH_UNPROTECT(lev);
-+
-+    if(in != NULL) {
-+      /* loopback packets are always IP packets! */
-+      if(ip_input(in, netif) != ERR_OK) {
-+        pbuf_free(in);
-+      }
-+      /* Don't reference the packet any more! */
-+      in = NULL;
-+    }
-+  /* go on while there is a packet on the list */
-+  } while(netif->loop_first != NULL);
-+}
-+
-+#if !LWIP_NETIF_LOOPBACK_MULTITHREADING
-+/**
-+ * Calls netif_poll() for every netif on the netif_list.
-+ */
-+void
-+netif_poll_all(void)
-+{
-+  struct netif *netif = netif_list;
-+  /* loop through netifs */
-+  while (netif != NULL) {
-+    netif_poll(netif);
-+    /* proceed to next network interface */
-+    netif = netif->next;
-+  }
-+}
-+#endif /* !LWIP_NETIF_LOOPBACK_MULTITHREADING */
-+#endif /* ENABLE_LOOPBACK */
-Index: src/core/pbuf.c
-===================================================================
-RCS file: /sources/lwip/lwip/src/core/pbuf.c,v
-retrieving revision 1.127
-retrieving revision 1.128
-diff -u -p -r1.127 -r1.128
---- a/src/core/pbuf.c	4 Mar 2008 16:37:46 -0000	1.127
-+++ b/src/core/pbuf.c	1 Apr 2008 19:05:40 -0000	1.128
-@@ -667,8 +667,8 @@ pbuf_dechain(struct pbuf *p)
-  *
-  * @note Only one packet is copied, no packet queue!
-  *
-- * @param p_to pbuf source of the copy
-- * @param p_from pbuf destination of the copy
-+ * @param p_to pbuf destination of the copy
-+ * @param p_from pbuf source of the copy
-  *
-  * @return ERR_OK if pbuf was copied
-  *         ERR_ARG if one of the pbufs is NULL or p_to is not big
-Index: src/core/stats.c
-===================================================================
-RCS file: /sources/lwip/lwip/src/core/stats.c,v
-retrieving revision 1.27
-retrieving revision 1.28
-diff -u -p -r1.27 -r1.28
---- a/src/core/stats.c	4 Mar 2008 16:31:32 -0000	1.27
-+++ b/src/core/stats.c	27 Jun 2008 18:37:54 -0000	1.28
-@@ -54,7 +54,6 @@ stats_display_proto(struct stats_proto *
- {
-   LWIP_PLATFORM_DIAG(("\n%s\n\t", name));
-   LWIP_PLATFORM_DIAG(("xmit: %"STAT_COUNTER_F"\n\t", proto->xmit));
--  LWIP_PLATFORM_DIAG(("rexmit: %"STAT_COUNTER_F"\n\t", proto->rexmit));
-   LWIP_PLATFORM_DIAG(("recv: %"STAT_COUNTER_F"\n\t", proto->recv));
-   LWIP_PLATFORM_DIAG(("fw: %"STAT_COUNTER_F"\n\t", proto->fw));
-   LWIP_PLATFORM_DIAG(("drop: %"STAT_COUNTER_F"\n\t", proto->drop));
-@@ -68,6 +67,7 @@ stats_display_proto(struct stats_proto *
-   LWIP_PLATFORM_DIAG(("cachehit: %"STAT_COUNTER_F"\n", proto->cachehit));
- }
-
-+#if IGMP_STATS
- void
- stats_display_igmp(struct stats_igmp *igmp)
- {
-@@ -82,7 +82,9 @@ stats_display_igmp(struct stats_igmp *ig
-   LWIP_PLATFORM_DIAG(("report_rxed: %"STAT_COUNTER_F"\n\t", igmp->report_rxed));
-   LWIP_PLATFORM_DIAG(("group_query_rxed: %"STAT_COUNTER_F"\n", igmp->group_query_rxed));
- }
-+#endif /* IGMP_STATS */
-
-+#if MEM_STATS || MEMP_STATS
- void
- stats_display_mem(struct stats_mem *mem, char *name)
- {
-@@ -93,48 +95,53 @@ stats_display_mem(struct stats_mem *mem,
-   LWIP_PLATFORM_DIAG(("err: %"U32_F"\n", (u32_t)mem->err));
- }
-
-+#if MEMP_STATS
- void
--stats_display(void)
-+stats_display_memp(struct stats_mem *mem, int index)
- {
--#if MEMP_STATS
--  s16_t i;
-   char * memp_names[] = {
- #define LWIP_MEMPOOL(name,num,size,desc) desc,
- #include "lwip/memp_std.h"
-   };
--#endif
--#if LINK_STATS
--  stats_display_proto(&lwip_stats.link, "LINK");
--#endif
--#if ETHARP_STATS
--  stats_display_proto(&lwip_stats.etharp, "ETHARP");
--#endif
--#if IPFRAG_STATS
--  stats_display_proto(&lwip_stats.ip_frag, "IP_FRAG");
--#endif
--#if IP_STATS
--  stats_display_proto(&lwip_stats.ip, "IP");
--#endif
--#if ICMP_STATS
--  stats_display_proto(&lwip_stats.icmp, "ICMP");
--#endif
--#if IGMP_STATS
--  stats_display_igmp(&lwip_stats.igmp);
--#endif
--#if UDP_STATS
--  stats_display_proto(&lwip_stats.udp, "UDP");
--#endif
--#if TCP_STATS
--  stats_display_proto(&lwip_stats.tcp, "TCP");
--#endif
--#if MEM_STATS
--  stats_display_mem(&lwip_stats.mem, "HEAP");
--#endif
--#if MEMP_STATS
-+  if(index < MEMP_MAX) {
-+    stats_display_mem(mem, memp_names[index]);
-+  }
-+}
-+#endif /* MEMP_STATS */
-+#endif /* MEM_STATS || MEMP_STATS */
-+
-+#if SYS_STATS
-+void
-+stats_display_sys(struct stats_sys *sys)
-+{
-+  LWIP_PLATFORM_DIAG(("\nSYS\n\t"));
-+  LWIP_PLATFORM_DIAG(("sem.used: %"U32_F"\n\t", (u32_t)sys->sem.used));
-+  LWIP_PLATFORM_DIAG(("sem.max:  %"U32_F"\n\t", (u32_t)sys->sem.max));
-+  LWIP_PLATFORM_DIAG(("sem.err:  %"U32_F"\n\t", (u32_t)sys->sem.err));
-+  LWIP_PLATFORM_DIAG(("mbox.used: %"U32_F"\n\t", (u32_t)sys->mbox.used));
-+  LWIP_PLATFORM_DIAG(("mbox.max:  %"U32_F"\n\t", (u32_t)sys->mbox.max));
-+  LWIP_PLATFORM_DIAG(("mbox.err:  %"U32_F"\n\t", (u32_t)sys->mbox.err));
-+}
-+#endif /* SYS_STATS */
-+
-+void
-+stats_display(void)
-+{
-+  s16_t i;
-+
-+  LINK_STATS_DISPLAY();
-+  ETHARP_STATS_DISPLAY();
-+  IPFRAG_STATS_DISPLAY();
-+  IP_STATS_DISPLAY();
-+  IGMP_STATS_DISPLAY();
-+  ICMP_STATS_DISPLAY();
-+  UDP_STATS_DISPLAY();
-+  TCP_STATS_DISPLAY();
-+  MEM_STATS_DISPLAY();
-   for (i = 0; i < MEMP_MAX; i++) {
--    stats_display_mem(&lwip_stats.memp[i], memp_names[i]);
-+    MEMP_STATS_DISPLAY(i);
-   }
--#endif
-+  SYS_STATS_DISPLAY();
- }
- #endif /* LWIP_STATS_DISPLAY */
-
-Index: src/core/sys.c
-===================================================================
-RCS file: /sources/lwip/lwip/src/core/sys.c,v
-retrieving revision 1.32
-retrieving revision 1.33
-diff -u -p -r1.32 -r1.33
---- a/src/core/sys.c	25 Nov 2007 13:57:05 -0000	1.32
-+++ b/src/core/sys.c	16 Jul 2008 20:36:12 -0000	1.33
-@@ -65,7 +65,7 @@ struct sswt_cb
- void
- sys_mbox_fetch(sys_mbox_t mbox, void **msg)
- {
--  u32_t time;
-+  u32_t time_needed;
-   struct sys_timeouts *timeouts;
-   struct sys_timeo *tmptimeout;
-   sys_timeout_handler h;
-@@ -76,18 +76,18 @@ sys_mbox_fetch(sys_mbox_t mbox, void **m
-
-   if (!timeouts || !timeouts->next) {
-     UNLOCK_TCPIP_CORE();
--    time = sys_arch_mbox_fetch(mbox, msg, 0);
-+    time_needed = sys_arch_mbox_fetch(mbox, msg, 0);
-     LOCK_TCPIP_CORE();
-   } else {
-     if (timeouts->next->time > 0) {
-       UNLOCK_TCPIP_CORE();
--      time = sys_arch_mbox_fetch(mbox, msg, timeouts->next->time);
-+      time_needed = sys_arch_mbox_fetch(mbox, msg, timeouts->next->time);
-       LOCK_TCPIP_CORE();
-     } else {
--      time = SYS_ARCH_TIMEOUT;
-+      time_needed = SYS_ARCH_TIMEOUT;
-     }
-
--    if (time == SYS_ARCH_TIMEOUT) {
-+    if (time_needed == SYS_ARCH_TIMEOUT) {
-       /* If time == SYS_ARCH_TIMEOUT, a timeout occured before a message
-          could be fetched. We should now call the timeout handler and
-          deallocate the memory allocated for the timeout. */
-@@ -107,8 +107,8 @@ sys_mbox_fetch(sys_mbox_t mbox, void **m
-       /* If time != SYS_ARCH_TIMEOUT, a message was received before the timeout
-          occured. The time variable is set to the number of
-          milliseconds we waited for the message. */
--      if (time < timeouts->next->time) {
--        timeouts->next->time -= time;
-+      if (time_needed < timeouts->next->time) {
-+        timeouts->next->time -= time_needed;
-       } else {
-         timeouts->next->time = 0;
-       }
-@@ -125,7 +125,7 @@ sys_mbox_fetch(sys_mbox_t mbox, void **m
- void
- sys_sem_wait(sys_sem_t sem)
- {
--  u32_t time;
-+  u32_t time_needed;
-   struct sys_timeouts *timeouts;
-   struct sys_timeo *tmptimeout;
-   sys_timeout_handler h;
-@@ -139,12 +139,12 @@ sys_sem_wait(sys_sem_t sem)
-     sys_arch_sem_wait(sem, 0);
-   } else {
-     if (timeouts->next->time > 0) {
--      time = sys_arch_sem_wait(sem, timeouts->next->time);
-+      time_needed = sys_arch_sem_wait(sem, timeouts->next->time);
-     } else {
--      time = SYS_ARCH_TIMEOUT;
-+      time_needed = SYS_ARCH_TIMEOUT;
-     }
-
--    if (time == SYS_ARCH_TIMEOUT) {
-+    if (time_needed == SYS_ARCH_TIMEOUT) {
-       /* If time == SYS_ARCH_TIMEOUT, a timeout occured before a message
-         could be fetched. We should now call the timeout handler and
-         deallocate the memory allocated for the timeout. */
-@@ -164,8 +164,8 @@ sys_sem_wait(sys_sem_t sem)
-       /* If time != SYS_ARCH_TIMEOUT, a message was received before the timeout
-          occured. The time variable is set to the number of
-          milliseconds we waited for the message. */
--      if (time < timeouts->next->time) {
--        timeouts->next->time -= time;
-+      if (time_needed < timeouts->next->time) {
-+        timeouts->next->time -= time_needed;
-       } else {
-         timeouts->next->time = 0;
-       }
-Index: src/core/tcp.c
-===================================================================
-RCS file: /sources/lwip/lwip/src/core/tcp.c,v
-retrieving revision 1.85
-retrieving revision 1.86
-diff -u -p -r1.85 -r1.86
---- a/src/core/tcp.c	22 Jan 2008 21:15:15 -0000	1.85
-+++ b/src/core/tcp.c	26 Mar 2008 11:57:13 -0000	1.86
-@@ -509,7 +509,8 @@ tcp_connect(struct tcp_pcb *pcb, struct
-   pcb->rcv_wnd = TCP_WND;
-   pcb->rcv_ann_wnd = TCP_WND;
-   pcb->snd_wnd = TCP_WND;
--  /* The send MSS is updated when an MSS option is received. */
-+  /* As initial send MSS, we use TCP_MSS but limit it to 536.
-+     The send MSS is updated when an MSS option is received. */
-   pcb->mss = (TCP_MSS > 536) ? 536 : TCP_MSS;
- #if TCP_CALCULATE_EFF_SEND_MSS
-   pcb->mss = tcp_eff_send_mss(pcb->mss, ipaddr);
-@@ -991,7 +992,8 @@ tcp_alloc(u8_t prio)
-     pcb->rcv_ann_wnd = TCP_WND;
-     pcb->tos = 0;
-     pcb->ttl = TCP_TTL;
--    /* The send MSS is updated when an MSS option is received. */
-+    /* As initial send MSS, we use TCP_MSS but limit it to 536.
-+       The send MSS is updated when an MSS option is received. */
-     pcb->mss = (TCP_MSS > 536) ? 536 : TCP_MSS;
-     pcb->rto = 3000 / TCP_SLOW_INTERVAL;
-     pcb->sa = 0;
-Index: src/core/tcp_in.c
-===================================================================
-RCS file: /sources/lwip/lwip/src/core/tcp_in.c,v
-retrieving revision 1.97
-retrieving revision 1.100
-diff -u -p -r1.97 -r1.100
---- a/src/core/tcp_in.c	22 Jan 2008 21:15:15 -0000	1.97
-+++ b/src/core/tcp_in.c	24 Jun 2008 15:46:39 -0000	1.100
-@@ -511,7 +511,7 @@ tcp_process(struct tcp_pcb *pcb)
-       }
-     } else {
-       if (TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt,
--                          pcb->rcv_nxt+pcb->rcv_ann_wnd)) {
-+                          pcb->rcv_nxt+pcb->rcv_wnd)) {
-         acceptable = 1;
-       }
-     }
-@@ -1038,7 +1038,7 @@ tcp_receive(struct tcp_pcb *pcb)
-        and below rcv_nxt + rcv_wnd) in order to be further
-        processed. */
-     if (TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt,
--                        pcb->rcv_nxt + pcb->rcv_ann_wnd - 1)){
-+                        pcb->rcv_nxt + pcb->rcv_wnd - 1)){
-       if (pcb->rcv_nxt == seqno) {
-         accepted_inseq = 1;
-         /* The incoming segment is the next in sequence. We check if
-@@ -1195,14 +1195,14 @@ tcp_receive(struct tcp_pcb *pcb)
-                   } else {
-                     pcb->ooseq = cseg;
-                   }
--                }
--                tcp_seg_free(next);
--                if (cseg->next != NULL) {
--                  next = cseg->next;
--                  if (TCP_SEQ_GT(seqno + cseg->len, next->tcphdr->seqno)) {
--                    /* We need to trim the incoming segment. */
--                    cseg->len = (u16_t)(next->tcphdr->seqno - seqno);
--                    pbuf_realloc(cseg->p, cseg->len);
-+                  tcp_seg_free(next);
-+                  if (cseg->next != NULL) {
-+                    next = cseg->next;
-+                    if (TCP_SEQ_GT(seqno + cseg->len, next->tcphdr->seqno)) {
-+                      /* We need to trim the incoming segment. */
-+                      cseg->len = (u16_t)(next->tcphdr->seqno - seqno);
-+                      pbuf_realloc(cseg->p, cseg->len);
-+                    }
-                   }
-                 }
-                 break;
-@@ -1282,10 +1282,7 @@ tcp_receive(struct tcp_pcb *pcb)
-
-       }
-     } else {
--      if(!TCP_SEQ_BETWEEN(seqno, pcb->rcv_nxt,
--                          pcb->rcv_nxt + pcb->rcv_ann_wnd-1)){
--        tcp_ack_now(pcb);
--      }
-+      tcp_ack_now(pcb);
-     }
-   } else {
-     /* Segments with length 0 is taken care of here. Segments that
-@@ -1331,7 +1328,8 @@ tcp_parseopt(struct tcp_pcb *pcb)
-         opts[c + 1] == 0x04) {
-         /* An MSS option with the right option length. */
-         mss = (opts[c + 2] << 8) | opts[c + 3];
--        pcb->mss = mss > TCP_MSS? TCP_MSS: mss;
-+        /* Limit the mss to the configured TCP_MSS and prevent division by zero */
-+        pcb->mss = ((mss > TCP_MSS) || (mss == 0)) ? TCP_MSS : mss;
-
-         /* And we are done processing options. */
-         break;
-Index: src/core/ipv4/autoip.c
-===================================================================
-RCS file: /sources/lwip/lwip/src/core/ipv4/autoip.c,v
-retrieving revision 1.16
-retrieving revision 1.17
-diff -u -p -r1.16 -r1.17
---- a/src/core/ipv4/autoip.c	26 Jan 2008 16:11:40 -0000	1.16
-+++ b/src/core/ipv4/autoip.c	17 Jun 2008 20:16:23 -0000	1.17
-@@ -395,8 +395,8 @@ autoip_arp_reply(struct netif *netif, st
-     /* Copy struct ip_addr2 to aligned ip_addr, to support compilers without
-      * structure packing (not using structure copy which breaks strict-aliasing rules).
-      */
--    MEMCPY(&sipaddr, &hdr->sipaddr, sizeof(sipaddr));
--    MEMCPY(&dipaddr, &hdr->dipaddr, sizeof(dipaddr));
-+    SMEMCPY(&sipaddr, &hdr->sipaddr, sizeof(sipaddr));
-+    SMEMCPY(&dipaddr, &hdr->dipaddr, sizeof(dipaddr));
-
-     if ((netif->autoip->state == AUTOIP_STATE_PROBING) ||
-         ((netif->autoip->state == AUTOIP_STATE_ANNOUNCING) &&
-Index: src/core/ipv4/inet_chksum.c
-===================================================================
-RCS file: /sources/lwip/lwip/src/core/ipv4/inet_chksum.c,v
-retrieving revision 1.4
-retrieving revision 1.5
-diff -u -p -r1.4 -r1.5
---- a/src/core/ipv4/inet_chksum.c	10 Mar 2008 16:12:31 -0000	1.4
-+++ b/src/core/ipv4/inet_chksum.c	17 Jun 2008 20:06:25 -0000	1.5
-@@ -41,8 +41,6 @@
- #include "lwip/inet_chksum.h"
- #include "lwip/inet.h"
-
--#include <string.h>
--
- /* These are some reference implementations of the checksum algorithm, with the
-  * aim of being simple, correct and fully portable. Checksumming is the
-  * first thing you would want to optimize for your platform. If you create
-@@ -65,6 +63,11 @@
- # define LWIP_CHKSUM_ALGORITHM 0
- #endif
-
-+/** Like the name says... */
-+#define SWAP_BYTES_IN_WORD(w) ((w & 0xff) << 8) | ((w & 0xff00) >> 8)
-+/** Split an u32_t in two u16_ts and add them up */
-+#define FOLD_U32T(u)          ((u >> 16) + (u & 0x0000ffffUL))
-+
- #if (LWIP_CHKSUM_ALGORITHM == 1) /* Version #1 */
- /**
-  * lwip checksum
-@@ -86,8 +89,7 @@ lwip_standard_chksum(void *dataptr, u16_
-   acc = 0;
-   /* dataptr may be at odd or even addresses */
-   octetptr = (u8_t*)dataptr;
--  while (len > 1)
--  {
-+  while (len > 1) {
-     /* declare first octet as most significant
-        thus assume network order, ignoring host order */
-     src = (*octetptr) << 8;
-@@ -98,8 +100,7 @@ lwip_standard_chksum(void *dataptr, u16_
-     acc += src;
-     len -= 2;
-   }
--  if (len > 0)
--  {
-+  if (len > 0) {
-     /* accumulate remaining octet */
-     src = (*octetptr) << 8;
-     acc += src;
-@@ -154,19 +155,22 @@ lwip_standard_chksum(void *dataptr, int
-   }
-
-   /* Consume left-over byte, if any */
--  if (len > 0)
-+  if (len > 0) {
-     ((u8_t *)&t)[0] = *(u8_t *)ps;;
-+  }
-
-   /* Add end bytes */
-   sum += t;
-
--  /*  Fold 32-bit sum to 16 bits */
--  while ((sum >> 16) != 0)
--    sum = (sum & 0xffff) + (sum >> 16);
-+  /* Fold 32-bit sum to 16 bits
-+     calling this twice is propably faster than if statements... */
-+  sum = FOLD_U32T(sum);
-+  sum = FOLD_U32T(sum);
-
-   /* Swap if alignment was odd */
--  if (odd)
--    sum = ((sum & 0xff) << 8) | ((sum & 0xff00) >> 8);
-+  if (odd) {
-+    sum = SWAP_BYTES_IN_WORD(sum);
-+  }
-
-   return sum;
- }
-@@ -211,18 +215,20 @@ lwip_standard_chksum(void *dataptr, int
-
-   while (len > 7)  {
-     tmp = sum + *pl++;          /* ping */
--    if (tmp < sum)
-+    if (tmp < sum) {
-       tmp++;                    /* add back carry */
-+    }
-
-     sum = tmp + *pl++;          /* pong */
--    if (sum < tmp)
-+    if (sum < tmp) {
-       sum++;                    /* add back carry */
-+    }
-
-     len -= 8;
-   }
-
-   /* make room in upper bits */
--  sum = (sum >> 16) + (sum & 0xffff);
-+  sum = FOLD_U32T(sum);
-
-   ps = (u16_t *)pl;
-
-@@ -233,16 +239,20 @@ lwip_standard_chksum(void *dataptr, int
-   }
-
-   /* dangling tail byte remaining? */
--  if (len > 0)                  /* include odd byte */
-+  if (len > 0) {                /* include odd byte */
-     ((u8_t *)&t)[0] = *(u8_t *)ps;
-+  }
-
-   sum += t;                     /* add end bytes */
-
--  while ((sum >> 16) != 0)      /* combine halves */
--    sum = (sum >> 16) + (sum & 0xffff);
-+  /* Fold 32-bit sum to 16 bits
-+     calling this twice is propably faster than if statements... */
-+  sum = FOLD_U32T(sum);
-+  sum = FOLD_U32T(sum);
-
--  if (odd)
--    sum = ((sum & 0xff) << 8) | ((sum & 0xff00) >> 8);
-+  if (odd) {
-+    sum = SWAP_BYTES_IN_WORD(sum);
-+  }
-
-   return sum;
- }
-@@ -277,18 +287,18 @@ inet_chksum_pseudo(struct pbuf *p,
-       (void *)q, (void *)q->next));
-     acc += LWIP_CHKSUM(q->payload, q->len);
-     /*LWIP_DEBUGF(INET_DEBUG, ("inet_chksum_pseudo(): unwrapped lwip_chksum()=%"X32_F" \n", acc));*/
--    while ((acc >> 16) != 0) {
--      acc = (acc & 0xffffUL) + (acc >> 16);
--    }
-+    /* just executing this next line is probably faster that the if statement needed
-+       to check whether we really need to execute it, and does no harm */
-+    acc = FOLD_U32T(acc);
-     if (q->len % 2 != 0) {
-       swapped = 1 - swapped;
--      acc = ((acc & 0xff) << 8) | ((acc & 0xff00UL) >> 8);
-+      acc = SWAP_BYTES_IN_WORD(acc);
-     }
-     /*LWIP_DEBUGF(INET_DEBUG, ("inet_chksum_pseudo(): wrapped lwip_chksum()=%"X32_F" \n", acc));*/
-   }
-
-   if (swapped) {
--    acc = ((acc & 0xff) << 8) | ((acc & 0xff00UL) >> 8);
-+    acc = SWAP_BYTES_IN_WORD(acc);
-   }
-   acc += (src->addr & 0xffffUL);
-   acc += ((src->addr >> 16) & 0xffffUL);
-@@ -297,9 +307,10 @@ inet_chksum_pseudo(struct pbuf *p,
-   acc += (u32_t)htons((u16_t)proto);
-   acc += (u32_t)htons(proto_len);
-
--  while ((acc >> 16) != 0) {
--    acc = (acc & 0xffffUL) + (acc >> 16);
--  }
-+  /* Fold 32-bit sum to 16 bits
-+     calling this twice is propably faster than if statements... */
-+  acc = FOLD_U32T(acc);
-+  acc = FOLD_U32T(acc);
-   LWIP_DEBUGF(INET_DEBUG, ("inet_chksum_pseudo(): pbuf chain lwip_chksum()=%"X32_F"\n", acc));
-   return (u16_t)~(acc & 0xffffUL);
- }
-@@ -340,18 +351,17 @@ inet_chksum_pseudo_partial(struct pbuf *
-     chksum_len -= chklen;
-     LWIP_ASSERT("delete me", chksum_len < 0x7fff);
-     /*LWIP_DEBUGF(INET_DEBUG, ("inet_chksum_pseudo(): unwrapped lwip_chksum()=%"X32_F" \n", acc));*/
--    while ((acc >> 16) != 0) {
--      acc = (acc & 0xffffUL) + (acc >> 16);
--    }
-+    /* fold the upper bit down */
-+    acc = FOLD_U32T(acc);
-     if (q->len % 2 != 0) {
-       swapped = 1 - swapped;
--      acc = ((acc & 0xff) << 8) | ((acc & 0xff00UL) >> 8);
-+      acc = SWAP_BYTES_IN_WORD(acc);
-     }
-     /*LWIP_DEBUGF(INET_DEBUG, ("inet_chksum_pseudo(): wrapped lwip_chksum()=%"X32_F" \n", acc));*/
-   }
-
-   if (swapped) {
--    acc = ((acc & 0xff) << 8) | ((acc & 0xff00UL) >> 8);
-+    acc = SWAP_BYTES_IN_WORD(acc);
-   }
-   acc += (src->addr & 0xffffUL);
-   acc += ((src->addr >> 16) & 0xffffUL);
-@@ -360,9 +370,10 @@ inet_chksum_pseudo_partial(struct pbuf *
-   acc += (u32_t)htons((u16_t)proto);
-   acc += (u32_t)htons(proto_len);
-
--  while ((acc >> 16) != 0) {
--    acc = (acc & 0xffffUL) + (acc >> 16);
--  }
-+  /* Fold 32-bit sum to 16 bits
-+     calling this twice is propably faster than if statements... */
-+  acc = FOLD_U32T(acc);
-+  acc = FOLD_U32T(acc);
-   LWIP_DEBUGF(INET_DEBUG, ("inet_chksum_pseudo(): pbuf chain lwip_chksum()=%"X32_F"\n", acc));
-   return (u16_t)~(acc & 0xffffUL);
- }
-@@ -380,13 +391,7 @@ inet_chksum_pseudo_partial(struct pbuf *
- u16_t
- inet_chksum(void *dataptr, u16_t len)
- {
--  u32_t acc;
--
--  acc = LWIP_CHKSUM(dataptr, len);
--  while ((acc >> 16) != 0) {
--    acc = (acc & 0xffff) + (acc >> 16);
--  }
--  return (u16_t)~(acc & 0xffff);
-+  return ~LWIP_CHKSUM(dataptr, len);
- }
-
- /**
-@@ -407,17 +412,15 @@ inet_chksum_pbuf(struct pbuf *p)
-   swapped = 0;
-   for(q = p; q != NULL; q = q->next) {
-     acc += LWIP_CHKSUM(q->payload, q->len);
--    while ((acc >> 16) != 0) {
--      acc = (acc & 0xffffUL) + (acc >> 16);
--    }
-+    acc = FOLD_U32T(acc);
-     if (q->len % 2 != 0) {
-       swapped = 1 - swapped;
--      acc = (acc & 0x00ffUL << 8) | (acc & 0xff00UL >> 8);
-+      acc = SWAP_BYTES_IN_WORD(acc);
-     }
-   }
-
-   if (swapped) {
--    acc = ((acc & 0x00ffUL) << 8) | ((acc & 0xff00UL) >> 8);
-+    acc = SWAP_BYTES_IN_WORD(acc);
-   }
-   return (u16_t)~(acc & 0xffffUL);
- }
-Index: src/core/ipv4/ip.c
-===================================================================
-RCS file: /sources/lwip/lwip/src/core/ipv4/ip.c,v
-retrieving revision 1.66
-retrieving revision 1.68
-diff -u -p -r1.66 -r1.68
---- a/src/core/ipv4/ip.c	14 Jan 2008 20:53:23 -0000	1.66
-+++ b/src/core/ipv4/ip.c	17 Jun 2008 19:39:22 -0000	1.68
-@@ -531,9 +531,19 @@ ip_output_if(struct pbuf *p, struct ip_a
-   LWIP_DEBUGF(IP_DEBUG, ("ip_output_if: %c%c%"U16_F"\n", netif->name[0], netif->name[1], netif->num));
-   ip_debug_print(p);
-
--  LWIP_DEBUGF(IP_DEBUG, ("netif->output()"));
-+#if (LWIP_NETIF_LOOPBACK || LWIP_HAVE_LOOPIF)
-+  if (ip_addr_cmp(dest, &netif->ip_addr)) {
-+    /* Packet to self, enqueue it for loopback */
-+    LWIP_DEBUGF(IP_DEBUG, ("netif_loop_output()"));
-+
-+    return netif_loop_output(netif, p, dest);
-+  } else
-+#endif /* (LWIP_NETIF_LOOPBACK || LWIP_HAVE_LOOPIF) */
-+  {
-+    LWIP_DEBUGF(IP_DEBUG, ("netif->output()"));
-
--  return netif->output(netif, p, dest);
-+    return netif->output(netif, p, dest);
-+  }
- }
-
- /**
-Index: src/include/lwip/debug.h
-===================================================================
-RCS file: /sources/lwip/lwip/src/include/lwip/debug.h,v
-retrieving revision 1.37
-retrieving revision 1.39
-diff -u -p -r1.37 -r1.39
---- a/src/include/lwip/debug.h	22 Sep 2007 11:16:07 -0000	1.37
-+++ b/src/include/lwip/debug.h	16 Jul 2008 20:36:22 -0000	1.39
-@@ -61,26 +61,28 @@
- #define LWIP_DBG_HALT          0x08U
-
- #ifndef LWIP_NOASSERT
--#define LWIP_ASSERT(x,y) do { if(!(y)) LWIP_PLATFORM_ASSERT(x); } while(0)
-+#define LWIP_ASSERT(message, assertion) do { if(!(assertion)) \
-+  LWIP_PLATFORM_ASSERT(message); } while(0)
- #else  /* LWIP_NOASSERT */
--#define LWIP_ASSERT(x,y)
-+#define LWIP_ASSERT(message, assertion)
- #endif /* LWIP_NOASSERT */
-
--/** print "m" message only if "e" is true, and execute "h" expression */
-+/** if "expression" isn't true, then print "message" and execute "handler" expression */
- #ifndef LWIP_ERROR
--#define LWIP_ERROR(m,e,h) do { if (!(e)) { LWIP_PLATFORM_ASSERT(m); h;}} while(0)
-+#define LWIP_ERROR(message, expression, handler) do { if (!(expression)) { \
-+  LWIP_PLATFORM_ASSERT(message); handler;}} while(0)
- #endif /* LWIP_ERROR */
-
- #ifdef LWIP_DEBUG
- /** print debug message only if debug message type is enabled...
-  *  AND is of correct type AND is at least LWIP_DBG_LEVEL
-  */
--#define LWIP_DEBUGF(debug,x) do { \
-+#define LWIP_DEBUGF(debug, message) do { \
-                                if ( \
-                                    ((debug) & LWIP_DBG_ON) && \
-                                    ((debug) & LWIP_DBG_TYPES_ON) && \
-                                    ((s16_t)((debug) & LWIP_DBG_MASK_LEVEL) >= LWIP_DBG_MIN_LEVEL)) { \
--                                 LWIP_PLATFORM_DIAG(x); \
-+                                 LWIP_PLATFORM_DIAG(message); \
-                                  if ((debug) & LWIP_DBG_HALT) { \
-                                    while(1); \
-                                  } \
-@@ -88,7 +90,7 @@
-                              } while(0)
-
- #else  /* LWIP_DEBUG */
--#define LWIP_DEBUGF(debug,x)
-+#define LWIP_DEBUGF(debug, message)
- #endif /* LWIP_DEBUG */
-
- #endif /* __LWIP_DEBUG_H__ */
-Index: src/include/lwip/err.h
-===================================================================
-RCS file: /sources/lwip/lwip/src/include/lwip/err.h,v
-retrieving revision 1.13
-retrieving revision 1.15
-diff -u -p -r1.13 -r1.15
---- a/src/include/lwip/err.h	13 Dec 2007 23:06:50 -0000	1.13
-+++ b/src/include/lwip/err.h	17 Jun 2008 20:27:32 -0000	1.15
-@@ -33,37 +33,43 @@
- #define __LWIP_ERR_H__
-
- #include "lwip/opt.h"
-+#include "lwip/arch.h"
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
--typedef s8_t err_t;
-+/** Define LWIP_ERR_T in cc.h if you want to use
-+ *  a different type for your platform (must be signed). */
-+#ifdef LWIP_ERR_T
-+typedef LWIP_ERR_T err_t;
-+#else /* LWIP_ERR_T */
-+ typedef s8_t err_t;
-+#endif /* LWIP_ERR_T*/
-
- /* Definitions for error constants. */
-
- #define ERR_OK          0    /* No error, everything OK. */
- #define ERR_MEM        -1    /* Out of memory error.     */
- #define ERR_BUF        -2    /* Buffer error.            */
--#define ERR_RTE        -3    /* Routing problem.         */
-+#define ERR_TIMEOUT    -3    /* Timeout.                 */
-+#define ERR_RTE        -4    /* Routing problem.         */
-
- #define ERR_IS_FATAL(e) ((e) < ERR_RTE)
-
--#define ERR_ABRT       -4    /* Connection aborted.      */
--#define ERR_RST        -5    /* Connection reset.        */
--#define ERR_CLSD       -6    /* Connection closed.       */
--#define ERR_CONN       -7    /* Not connected.           */
-+#define ERR_ABRT       -5    /* Connection aborted.      */
-+#define ERR_RST        -6    /* Connection reset.        */
-+#define ERR_CLSD       -7    /* Connection closed.       */
-+#define ERR_CONN       -8    /* Not connected.           */
-
--#define ERR_VAL        -8    /* Illegal value.           */
-+#define ERR_VAL        -9    /* Illegal value.           */
-
--#define ERR_ARG        -9    /* Illegal argument.        */
-+#define ERR_ARG        -10   /* Illegal argument.        */
-
--#define ERR_USE        -10   /* Address in use.          */
-+#define ERR_USE        -11   /* Address in use.          */
-
--#define ERR_IF         -11   /* Low-level netif error    */
--#define ERR_ISCONN     -12   /* Already connected.       */
--
--#define ERR_TIMEOUT    -13   /* Timeout.                 */
-+#define ERR_IF         -12   /* Low-level netif error    */
-+#define ERR_ISCONN     -13   /* Already connected.       */
-
- #define ERR_INPROGRESS -14   /* Operation in progress    */
-
-Index: src/include/lwip/mem.h
-===================================================================
-RCS file: /sources/lwip/lwip/src/include/lwip/mem.h,v
-retrieving revision 1.21
-retrieving revision 1.22
-diff -u -p -r1.21 -r1.22
---- a/src/include/lwip/mem.h	4 Mar 2008 16:31:32 -0000	1.21
-+++ b/src/include/lwip/mem.h	30 May 2008 11:37:15 -0000	1.22
-@@ -50,16 +50,16 @@ typedef size_t mem_size_t;
-  * allow these defines to be overridden.
-  */
- #ifndef mem_free
--#define mem_free(x) free(x)
-+#define mem_free free
- #endif
- #ifndef mem_malloc
--#define mem_malloc(x) malloc(x)
-+#define mem_malloc malloc
- #endif
- #ifndef mem_calloc
--#define mem_calloc(x, y) calloc(x, y)
-+#define mem_calloc calloc
- #endif
- #ifndef mem_realloc
--#define mem_realloc(x, size) (x)
-+#define mem_realloc realloc
- #endif
- #else /* MEM_LIBC_MALLOC */
-
-Index: src/include/lwip/netif.h
-===================================================================
-RCS file: /sources/lwip/lwip/src/include/lwip/netif.h,v
-retrieving revision 1.43
-retrieving revision 1.46
-diff -u -p -r1.43 -r1.46
---- a/src/include/lwip/netif.h	9 Oct 2007 19:59:59 -0000	1.43
-+++ b/src/include/lwip/netif.h	19 Jun 2008 16:27:23 -0000	1.46
-@@ -34,6 +34,8 @@
-
- #include "lwip/opt.h"
-
-+#define ENABLE_LOOPBACK (LWIP_NETIF_LOOPBACK || LWIP_HAVE_LOOPIF)
-+
- #include "lwip/err.h"
-
- #include "lwip/ip_addr.h"
-@@ -165,6 +167,14 @@ struct netif {
- #if LWIP_NETIF_HWADDRHINT
-   u8_t *addr_hint;
- #endif /* LWIP_NETIF_HWADDRHINT */
-+#if ENABLE_LOOPBACK
-+  /* List of packets to be queued for ourselves. */
-+  struct pbuf *loop_first;
-+  struct pbuf *loop_last;
-+#if LWIP_LOOPBACK_MAX_PBUFS
-+  u16_t loop_cnt_current;
-+#endif /* LWIP_LOOPBACK_MAX_PBUFS */
-+#endif /* ENABLE_LOOPBACK */
- };
-
- #if LWIP_SNMP
-@@ -242,4 +252,12 @@ void netif_set_link_callback(struct neti
- }
- #endif
-
-+#if ENABLE_LOOPBACK
-+err_t netif_loop_output(struct netif *netif, struct pbuf *p, struct ip_addr *dest_ip);
-+void netif_poll(struct netif *netif);
-+#if !LWIP_NETIF_LOOPBACK_MULTITHREADING
-+void netif_poll_all(void);
-+#endif /* !LWIP_NETIF_LOOPBACK_MULTITHREADING */
-+#endif /* ENABLE_LOOPBACK */
-+
- #endif /* __LWIP_NETIF_H__ */
-Index: src/include/lwip/opt.h
-===================================================================
-RCS file: /sources/lwip/lwip/src/include/lwip/opt.h,v
-retrieving revision 1.116
-retrieving revision 1.122
-diff -u -p -r1.116 -r1.122
---- a/src/include/lwip/opt.h	31 Jan 2008 18:19:29 -0000	1.116
-+++ b/src/include/lwip/opt.h	30 Jun 2008 18:16:52 -0000	1.122
-@@ -155,6 +155,27 @@
- #define MEMP_USE_CUSTOM_POOLS           0
- #endif
-
-+/**
-+ * Set this to 1 if you want to free PBUF_RAM pbufs (or call mem_free()) from
-+ * interrupt context (or another context that doesn't allow waiting for a
-+ * semaphore).
-+ * If set to 1, mem_malloc will be protected by a semaphore and SYS_ARCH_PROTECT,
-+ * while mem_free will only use SYS_ARCH_PROTECT. mem_malloc SYS_ARCH_UNPROTECTs
-+ * with each loop so that mem_free can run.
-+ *
-+ * ATTENTION: As you can see from the above description, this leads to dis-/
-+ * enabling interrupts often, which can be slow! Also, on low memory, mem_malloc
-+ * can need longer.
-+ *
-+ * If you don't want that, at least for NO_SYS=0, you can still use the following
-+ * functions to enqueue a deallocation call which then runs in the tcpip_thread
-+ * context:
-+ * - pbuf_free_callback(p);
-+ * - mem_free_callback(m);
-+ */
-+#ifndef LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT
-+#define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 0
-+#endif
-
- /*
-    ------------------------------------------------
-@@ -815,6 +836,39 @@
- #define LWIP_NETIF_HWADDRHINT           0
- #endif
-
-+/**
-+ * LWIP_NETIF_LOOPBACK==1: Support sending packets with a destination IP
-+ * address equal to the netif IP address, looping them back up the stack.
-+ */
-+#ifndef LWIP_NETIF_LOOPBACK
-+#define LWIP_NETIF_LOOPBACK             0
-+#endif
-+
-+/**
-+ * LWIP_LOOPBACK_MAX_PBUFS: Maximum number of pbufs on queue for loopback
-+ * sending for each netif (0 = disabled)
-+ */
-+#ifndef LWIP_LOOPBACK_MAX_PBUFS
-+#define LWIP_LOOPBACK_MAX_PBUFS         0
-+#endif
-+
-+/**
-+ * LWIP_NETIF_LOOPBACK_MULTITHREADING: Indicates whether threading is enabled in
-+ * the system, as netifs must change how they behave depending on this setting
-+ * for the LWIP_NETIF_LOOPBACK option to work.
-+ * Setting this is needed to avoid reentering non-reentrant functions like
-+ * tcp_input().
-+ *    LWIP_NETIF_LOOPBACK_MULTITHREADING==1: Indicates that the user is using a
-+ *       multithreaded environment like tcpip.c. In this case, netif->input()
-+ *       is called directly.
-+ *    LWIP_NETIF_LOOPBACK_MULTITHREADING==0: Indicates a polling (or NO_SYS) setup.
-+ *       The packets are put on a list and netif_poll() must be called in
-+ *       the main application loop.
-+ */
-+#ifndef LWIP_NETIF_LOOPBACK_MULTITHREADING
-+#define LWIP_NETIF_LOOPBACK_MULTITHREADING    (!NO_SYS)
-+#endif
-+
- /*
-    ------------------------------------
-    ---------- LOOPIF options ----------
-@@ -827,20 +881,16 @@
- #define LWIP_HAVE_LOOPIF                0
- #endif
-
-+/*
-+   ------------------------------------
-+   ---------- SLIPIF options ----------
-+   ------------------------------------
-+*/
- /**
-- * LWIP_LOOPIF_MULTITHREADING: Indicates whether threading is enabled in
-- * the system, as LOOPIF must change how it behaves depending on this setting.
-- * Setting this is needed to avoid reentering non-reentrant functions like
-- * tcp_input().
-- *    LWIP_LOOPIF_MULTITHREADING==1: Indicates that the user is using a
-- *       multithreaded environment like tcpip.c. In this case, netif->input()
-- *       is called directly.
-- *    LWIP_LOOPIF_MULTITHREADING==0: Indicates a polling (or NO_SYS) setup.
-- *       The packets are put on a list and loopif_poll() must be called in
-- *       the main application loop.
-+ * LWIP_HAVE_SLIPIF==1: Support slip interface and slipif.c
-  */
--#ifndef LWIP_LOOPIF_MULTITHREADING
--#define LWIP_LOOPIF_MULTITHREADING      1
-+#ifndef LWIP_HAVE_SLIPIF
-+#define LWIP_HAVE_SLIPIF                0
- #endif
-
- /*
-Index: src/include/lwip/sio.h
-===================================================================
-RCS file: /sources/lwip/lwip/src/include/lwip/sio.h,v
-retrieving revision 1.7
-retrieving revision 1.8
-diff -u -p -r1.7 -r1.8
---- a/src/include/lwip/sio.h	6 Sep 2007 16:43:44 -0000	1.7
-+++ b/src/include/lwip/sio.h	27 Mar 2008 18:06:02 -0000	1.8
-@@ -32,16 +32,24 @@
-  * It needs to be implemented by those platforms which need SLIP or PPP
-  */
-
-+#ifndef __SIO_H__
-+#define __SIO_H__
-+
- #include "lwip/arch.h"
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
-+/* If you want to define sio_fd_t elsewhere or differently,
-+   define this in your cc.h file. */
- #ifndef __sio_fd_t_defined
- typedef void * sio_fd_t;
- #endif
-
-+/* The following functions can be defined to something else in your cc.h file
-+   or be implemented in your custom sio.c file. */
-+
- #ifndef sio_open
- sio_fd_t sio_open(u8_t);
- #endif
-@@ -69,3 +77,5 @@ void sio_read_abort(sio_fd_t);
- #ifdef __cplusplus
- }
- #endif
-+
-+#endif /* __SIO_H__ */
-Index: src/include/lwip/sockets.h
-===================================================================
-RCS file: /sources/lwip/lwip/src/include/lwip/sockets.h,v
-retrieving revision 1.38
-retrieving revision 1.39
-diff -u -p -r1.38 -r1.39
---- a/src/include/lwip/sockets.h	2 Dec 2007 15:24:02 -0000	1.38
-+++ b/src/include/lwip/sockets.h	26 Apr 2008 10:46:23 -0000	1.39
-@@ -177,7 +177,22 @@ typedef struct ip_mreq {
- } ip_mreq;
- #endif /* LWIP_IGMP */
-
--/* Unimplemented for now... */
-+/*
-+ * The Type of Service provides an indication of the abstract
-+ * parameters of the quality of service desired.  These parameters are
-+ * to be used to guide the selection of the actual service parameters
-+ * when transmitting a datagram through a particular network.  Several
-+ * networks offer service precedence, which somehow treats high
-+ * precedence traffic as more important than other traffic (generally
-+ * by accepting only traffic above a certain precedence at time of high
-+ * load).  The major choice is a three way tradeoff between low-delay,
-+ * high-reliability, and high-throughput.
-+ * The use of the Delay, Throughput, and Reliability indications may
-+ * increase the cost (in some sense) of the service.  In many networks
-+ * better performance for one of these parameters is coupled with worse
-+ * performance on another.  Except for very unusual cases at most two
-+ * of these three indications should be set.
-+ */
- #define IPTOS_TOS_MASK          0x1E
- #define IPTOS_TOS(tos)          ((tos) & IPTOS_TOS_MASK)
- #define IPTOS_LOWDELAY          0x10
-@@ -187,7 +202,13 @@ typedef struct ip_mreq {
- #define IPTOS_MINCOST           IPTOS_LOWCOST
-
- /*
-- * Definitions for IP precedence (also in ip_tos) (Unimplemented)
-+ * The Network Control precedence designation is intended to be used
-+ * within a network only.  The actual use and control of that
-+ * designation is up to each network. The Internetwork Control
-+ * designation is intended for use by gateway control originators only.
-+ * If the actual use of these precedence designations is of concern to
-+ * a particular network, it is the responsibility of that network to
-+ * control the access to, and use of, those precedence designations.
-  */
- #define IPTOS_PREC_MASK                 0xe0
- #define IPTOS_PREC(tos)                ((tos) & IPTOS_PREC_MASK)
-Index: src/include/lwip/stats.h
-===================================================================
-RCS file: /sources/lwip/lwip/src/include/lwip/stats.h,v
-retrieving revision 1.19
-retrieving revision 1.23
-diff -u -p -r1.19 -r1.23
---- a/src/include/lwip/stats.h	28 Nov 2007 21:25:07 -0000	1.19
-+++ b/src/include/lwip/stats.h	8 Jul 2008 09:15:57 -0000	1.23
-@@ -57,7 +57,6 @@ extern "C" {
-
- struct stats_proto {
-   STAT_COUNTER xmit;             /* Transmitted packets. */
--  STAT_COUNTER rexmit;           /* Retransmitted packets. */
-   STAT_COUNTER recv;             /* Received packets. */
-   STAT_COUNTER fw;               /* Forwarded packets. */
-   STAT_COUNTER drop;             /* Dropped packets. */
-@@ -87,7 +86,8 @@ struct stats_mem {
-   mem_size_t avail;
-   mem_size_t used;
-   mem_size_t max;
--  mem_size_t err;
-+  STAT_COUNTER err;
-+  STAT_COUNTER illegal;
- };
-
- struct stats_syselem {
-@@ -142,64 +142,138 @@ extern struct stats_ lwip_stats;
- #define stats_init() /* Compatibility define, not init needed. */
-
- #define STATS_INC(x) ++lwip_stats.x
-+#define STATS_DEC(x) --lwip_stats.x
- #else
- #define stats_init()
- #define STATS_INC(x)
-+#define STATS_DEC(x)
- #endif /* LWIP_STATS */
-
- #if TCP_STATS
- #define TCP_STATS_INC(x) STATS_INC(x)
-+#define TCP_STATS_DISPLAY() stats_display_proto(&lwip_stats.tcp, "TCP")
- #else
- #define TCP_STATS_INC(x)
-+#define TCP_STATS_DISPLAY()
- #endif
-
- #if UDP_STATS
- #define UDP_STATS_INC(x) STATS_INC(x)
-+#define UDP_STATS_DISPLAY() stats_display_proto(&lwip_stats.udp, "UDP")
- #else
- #define UDP_STATS_INC(x)
-+#define UDP_STATS_DISPLAY()
- #endif
-
- #if ICMP_STATS
- #define ICMP_STATS_INC(x) STATS_INC(x)
-+#define ICMP_STATS_DISPLAY() stats_display_proto(&lwip_stats.icmp, "ICMP")
- #else
- #define ICMP_STATS_INC(x)
-+#define ICMP_STATS_DISPLAY()
- #endif
-
- #if IGMP_STATS
- #define IGMP_STATS_INC(x) STATS_INC(x)
-+#define IGMP_STATS_DISPLAY() stats_display_igmp(&lwip_stats.igmp)
- #else
- #define IGMP_STATS_INC(x)
-+#define IGMP_STATS_DISPLAY()
- #endif
-
- #if IP_STATS
- #define IP_STATS_INC(x) STATS_INC(x)
-+#define IP_STATS_DISPLAY() stats_display_proto(&lwip_stats.ip, "IP")
- #else
- #define IP_STATS_INC(x)
-+#define IP_STATS_DISPLAY()
- #endif
-
- #if IPFRAG_STATS
- #define IPFRAG_STATS_INC(x) STATS_INC(x)
-+#define IPFRAG_STATS_DISPLAY() stats_display_proto(&lwip_stats.ip_frag, "IP_FRAG")
- #else
- #define IPFRAG_STATS_INC(x)
-+#define IPFRAG_STATS_DISPLAY()
- #endif
-
- #if ETHARP_STATS
- #define ETHARP_STATS_INC(x) STATS_INC(x)
-+#define ETHARP_STATS_DISPLAY() stats_display_proto(&lwip_stats.etharp, "ETHARP")
- #else
- #define ETHARP_STATS_INC(x)
-+#define ETHARP_STATS_DISPLAY()
- #endif
-
- #if LINK_STATS
- #define LINK_STATS_INC(x) STATS_INC(x)
-+#define LINK_STATS_DISPLAY() stats_display_proto(&lwip_stats.link, "LINK")
- #else
- #define LINK_STATS_INC(x)
-+#define LINK_STATS_DISPLAY()
-+#endif
-+
-+#if MEM_STATS
-+#define MEM_STATS_AVAIL(x, y) lwip_stats.mem.x = y
-+#define MEM_STATS_INC(x) STATS_INC(mem.x)
-+#define MEM_STATS_INC_USED(x, y) do { lwip_stats.mem.used += y; \
-+                                    if (lwip_stats.mem.max < lwip_stats.mem.used) { \
-+                                        lwip_stats.mem.max = lwip_stats.mem.used; \
-+                                    } \
-+                                 } while(0)
-+#define MEM_STATS_DEC_USED(x, y) lwip_stats.mem.x -= y
-+#define MEM_STATS_DISPLAY() stats_display_mem(&lwip_stats.mem, "HEAP")
-+#else
-+#define MEM_STATS_AVAIL(x, y)
-+#define MEM_STATS_INC(x)
-+#define MEM_STATS_INC_USED(x, y)
-+#define MEM_STATS_DEC_USED(x, y)
-+#define MEM_STATS_DISPLAY()
-+#endif
-+
-+#if MEMP_STATS
-+#define MEMP_STATS_AVAIL(x, i, y) lwip_stats.memp[i].x = y
-+#define MEMP_STATS_INC(x, i) STATS_INC(memp[i].x)
-+#define MEMP_STATS_DEC(x, i) STATS_DEC(memp[i].x)
-+#define MEMP_STATS_INC_USED(x, i) do { ++lwip_stats.memp[i].used; \
-+                                    if (lwip_stats.memp[i].max < lwip_stats.memp[i].used) { \
-+                                        lwip_stats.memp[i].max = lwip_stats.memp[i].used; \
-+                                    } \
-+                                 } while(0)
-+#define MEMP_STATS_DISPLAY(i) stats_display_memp(&lwip_stats.memp[i], i)
-+#else
-+#define MEMP_STATS_AVAIL(x, i, y)
-+#define MEMP_STATS_INC(x, i)
-+#define MEMP_STATS_DEC(x, i)
-+#define MEMP_STATS_INC_USED(x, i)
-+#define MEMP_STATS_DISPLAY(i)
-+#endif
-+
-+#if SYS_STATS
-+#define SYS_STATS_INC(x) STATS_INC(sys.x)
-+#define SYS_STATS_DEC(x) STATS_DEC(sys.x)
-+#define SYS_STATS_DISPLAY() stats_display_sys(&lwip_stats.sys)
-+#else
-+#define SYS_STATS_INC(x)
-+#define SYS_STATS_DEC(x)
-+#define SYS_STATS_DISPLAY()
- #endif
-
- /* Display of statistics */
- #if LWIP_STATS_DISPLAY
- void stats_display(void);
-+void stats_display_proto(struct stats_proto *proto, char *name);
-+void stats_display_igmp(struct stats_igmp *igmp);
-+void stats_display_mem(struct stats_mem *mem, char *name);
-+void stats_display_memp(struct stats_mem *mem, int index);
-+void stats_display_sys(struct stats_sys *sys);
- #else
- #define stats_display()
-+#define stats_display_proto(proto, name)
-+#define stats_display_igmp(igmp)
-+#define stats_display_mem(mem, name)
-+#define stats_display_memp(mem, index)
-+#define stats_display_sys(sys)
- #endif /* LWIP_STATS_DISPLAY */
-
- #ifdef __cplusplus
-Index: src/include/lwip/tcpip.h
-===================================================================
-RCS file: /sources/lwip/lwip/src/include/lwip/tcpip.h,v
-retrieving revision 1.24
-retrieving revision 1.27
-diff -u -p -r1.24 -r1.27
---- a/src/include/lwip/tcpip.h	12 Jan 2008 11:52:22 -0000	1.24
-+++ b/src/include/lwip/tcpip.h	27 Jun 2008 20:34:55 -0000	1.27
-@@ -83,7 +83,11 @@ err_t tcpip_netifapi_lock(struct netifap
- #endif /* LWIP_NETIF_API */
-
- err_t tcpip_callback_with_block(void (*f)(void *ctx), void *ctx, u8_t block);
--#define tcpip_callback(f,ctx) tcpip_callback_with_block(f,ctx,1)
-+#define tcpip_callback(f, ctx)              tcpip_callback_with_block(f, ctx, 1)
-+
-+/* free pbufs or heap memory from another context without blocking */
-+err_t pbuf_free_callback(struct pbuf *p);
-+err_t mem_free_callback(void *m);
-
- err_t tcpip_timeout(u32_t msecs, sys_timeout_handler h, void *arg);
- #define tcpip_untimeout(h, arg) tcpip_timeout(0xffffffff, h, arg)
-Index: src/include/netif/loopif.h
-===================================================================
-RCS file: /sources/lwip/lwip/src/include/netif/loopif.h,v
-retrieving revision 1.7
-retrieving revision 1.9
-diff -u -p -r1.7 -r1.9
---- a/src/include/netif/loopif.h	10 May 2007 10:59:20 -0000	1.7
-+++ b/src/include/netif/loopif.h	17 Jun 2008 20:12:22 -0000	1.9
-@@ -32,6 +32,7 @@
- #ifndef __NETIF_LOOPIF_H__
- #define __NETIF_LOOPIF_H__
-
-+#include "lwip/opt.h"
- #include "lwip/netif.h"
- #include "lwip/err.h"
-
-@@ -39,9 +40,9 @@
- extern "C" {
- #endif
-
--#if !LWIP_LOOPIF_MULTITHREADING
--void loopif_poll(struct netif *netif);
--#endif
-+#if !LWIP_NETIF_LOOPBACK_MULTITHREADING
-+#define loopif_poll netif_poll
-+#endif /* !LWIP_NETIF_LOOPBACK_MULTITHREADING */
-
- err_t loopif_init(struct netif *netif);
-
-Index: src/netif/etharp.c
-===================================================================
-RCS file: /sources/lwip/lwip/src/netif/etharp.c,v
-retrieving revision 1.145
-retrieving revision 1.148
-diff -u -p -r1.145 -r1.148
---- a/src/netif/etharp.c	4 Mar 2008 13:41:24 -0000	1.145
-+++ b/src/netif/etharp.c	19 Jun 2008 16:40:59 -0000	1.148
-@@ -353,7 +353,7 @@ find_entry(struct ip_addr *ipaddr, u8_t
-    * 1) empty entry
-    * 2) oldest stable entry
-    * 3) oldest pending entry without queued packets
--   * 4) oldest pending entry without queued packets
-+   * 4) oldest pending entry with queued packets
-    *
-    * { ETHARP_TRY_HARD is set at this point }
-    */
-@@ -1130,7 +1130,14 @@ ethernet_input(struct pbuf *p, struct ne
-
-   /* points to packet payload, which starts with an Ethernet header */
-   ethhdr = p->payload;
--
-+  LWIP_DEBUGF(ETHARP_DEBUG | LWIP_DBG_TRACE,
-+    ("ethernet_input: dest:%02x:%02x:%02x:%02x:%02x:%02x, src:%02x:%02x:%02x:%02x:%02x:%02x, type:%2hx\n",
-+     (unsigned)ethhdr->dest.addr[0], (unsigned)ethhdr->dest.addr[1], (unsigned)ethhdr->dest.addr[2],
-+     (unsigned)ethhdr->dest.addr[3], (unsigned)ethhdr->dest.addr[4], (unsigned)ethhdr->dest.addr[5],
-+     (unsigned)ethhdr->src.addr[0], (unsigned)ethhdr->src.addr[1], (unsigned)ethhdr->src.addr[2],
-+     (unsigned)ethhdr->src.addr[3], (unsigned)ethhdr->src.addr[4], (unsigned)ethhdr->src.addr[5],
-+     (unsigned)htons(ethhdr->type)));
-+
-   switch (htons(ethhdr->type)) {
-     /* IP packet? */
-     case ETHTYPE_IP:
-@@ -1165,6 +1172,8 @@ ethernet_input(struct pbuf *p, struct ne
- #endif /* PPPOE_SUPPORT */
-
-     default:
-+      ETHARP_STATS_INC(etharp.proterr);
-+      ETHARP_STATS_INC(etharp.drop);
-       pbuf_free(p);
-       p = NULL;
-       break;
-Index: src/netif/loopif.c
-===================================================================
-RCS file: /sources/lwip/lwip/src/netif/loopif.c,v
-retrieving revision 1.26
-retrieving revision 1.27
-diff -u -p -r1.26 -r1.27
---- a/src/netif/loopif.c	31 Aug 2007 10:14:09 -0000	1.26
-+++ b/src/netif/loopif.c	12 Jun 2008 20:10:10 -0000	1.27
-@@ -40,149 +40,8 @@
- #if LWIP_HAVE_LOOPIF
-
- #include "netif/loopif.h"
--#include "lwip/pbuf.h"
- #include "lwip/snmp.h"
-
--#include <string.h>
--
--#if !LWIP_LOOPIF_MULTITHREADING
--
--#include "lwip/sys.h"
--#include "lwip/mem.h"
--
--/* helper struct for the linked list of pbufs */
--struct loopif_private {
--  struct pbuf *first;
--  struct pbuf *last;
--};
--
--/**
-- * Call loopif_poll() in the main loop of your application. This is to prevent
-- * reentering non-reentrant functions like tcp_input(). Packets passed to
-- * loopif_output() are put on a list that is passed to netif->input() by
-- * loopif_poll().
-- *
-- * @param netif the lwip network interface structure for this loopif
-- */
--void
--loopif_poll(struct netif *netif)
--{
--  SYS_ARCH_DECL_PROTECT(lev);
--  struct pbuf *in, *in_end;
--  struct loopif_private *priv = (struct loopif_private*)netif->state;
--
--  LWIP_ERROR("priv != NULL", (priv != NULL), return;);
--
--  do {
--    /* Get a packet from the list. With SYS_LIGHTWEIGHT_PROT=1, this is protected */
--    SYS_ARCH_PROTECT(lev);
--    in = priv->first;
--    if(in) {
--      in_end = in;
--      while(in_end->len != in_end->tot_len) {
--        LWIP_ASSERT("bogus pbuf: len != tot_len but next == NULL!", in_end->next != NULL);
--        in_end = in_end->next;
--      }
--      /* 'in_end' now points to the last pbuf from 'in' */
--      if(in_end == priv->last) {
--        /* this was the last pbuf in the list */
--        priv->first = priv->last = NULL;
--      } else {
--        /* pop the pbuf off the list */
--        priv->first = in_end->next;
--        LWIP_ASSERT("should not be null since first != last!", priv->first != NULL);
--      }
--    }
--    SYS_ARCH_UNPROTECT(lev);
--
--    if(in != NULL) {
--      if(in_end->next != NULL) {
--        /* De-queue the pbuf from its successors on the 'priv' list. */
--        in_end->next = NULL;
--      }
--      if(netif->input(in, netif) != ERR_OK) {
--        pbuf_free(in);
--      }
--      /* Don't reference the packet any more! */
--      in = NULL;
--      in_end = NULL;
--    }
--  /* go on while there is a packet on the list */
--  } while(priv->first != NULL);
--}
--#endif /* LWIP_LOOPIF_MULTITHREADING */
--
--/**
-- * Send an IP packet over the loopback interface.
-- * The pbuf is simply copied and handed back to netif->input.
-- * In multithreaded mode, this is done directly since netif->input must put
-- * the packet on a queue.
-- * In callback mode, the packet is put on an internal queue and is fed to
-- * netif->input by loopif_poll().
-- *
-- * @param netif the lwip network interface structure for this loopif
-- * @param p the (IP) packet to 'send'
-- * @param ipaddr the ip address to send the packet to (not used for loopif)
-- * @return ERR_OK if the packet has been sent
-- *         ERR_MEM if the pbuf used to copy the packet couldn't be allocated
-- */
--static err_t
--loopif_output(struct netif *netif, struct pbuf *p,
--       struct ip_addr *ipaddr)
--{
--#if !LWIP_LOOPIF_MULTITHREADING
--  SYS_ARCH_DECL_PROTECT(lev);
--  struct loopif_private *priv;
--  struct pbuf *last;
--#endif /* LWIP_LOOPIF_MULTITHREADING */
--  struct pbuf *r;
--  err_t err;
--
--  LWIP_UNUSED_ARG(ipaddr);
--
--  /* Allocate a new pbuf */
--  r = pbuf_alloc(PBUF_RAW, p->tot_len, PBUF_RAM);
--  if (r == NULL) {
--    return ERR_MEM;
--  }
--
--  /* Copy the whole pbuf queue p into the single pbuf r */
--  if ((err = pbuf_copy(r, p)) != ERR_OK) {
--    pbuf_free(r);
--    r = NULL;
--    return err;
--  }
--
--#if LWIP_LOOPIF_MULTITHREADING
--  /* Multithreading environment, netif->input() is supposed to put the packet
--     into a mailbox, so we can safely call it here without risking to re-enter
--     functions that are not reentrant (TCP!!!) */
--  if(netif->input(r, netif) != ERR_OK) {
--    pbuf_free(r);
--    r = NULL;
--  }
--#else /* LWIP_LOOPIF_MULTITHREADING */
--  /* Raw API without threads: put the packet on a linked list which gets emptied
--     through calling loopif_poll(). */
--  priv = (struct loopif_private*)netif->state;
--
--  /* let last point to the last pbuf in chain r */
--  for (last = r; last->next != NULL; last = last->next);
--  SYS_ARCH_PROTECT(lev);
--  if(priv->first != NULL) {
--    LWIP_ASSERT("if first != NULL, last must also be != NULL", priv->last != NULL);
--    priv->last->next = r;
--    priv->last = last;
--  } else {
--    priv->first = r;
--    priv->last = last;
--  }
--  SYS_ARCH_UNPROTECT(lev);
--#endif /* LWIP_LOOPIF_MULTITHREADING */
--
--  return ERR_OK;
--}
--
- /**
-  * Initialize a lwip network interface structure for a loopback interface
-  *
-@@ -193,16 +52,6 @@ loopif_output(struct netif *netif, struc
- err_t
- loopif_init(struct netif *netif)
- {
--#if !LWIP_LOOPIF_MULTITHREADING
--  struct loopif_private *priv;
--
--  priv = (struct loopif_private*)mem_malloc(sizeof(struct loopif_private));
--  if(priv == NULL)
--    return ERR_MEM;
--  priv->first = priv->last = NULL;
--  netif->state = priv;
--#endif /* LWIP_LOOPIF_MULTITHREADING */
--
-   /* initialize the snmp variables and counters inside the struct netif
-    * ifSpeed: no assumption can be made!
-    */
-@@ -210,7 +59,7 @@ loopif_init(struct netif *netif)
-
-   netif->name[0] = 'l';
-   netif->name[1] = 'o';
--  netif->output = loopif_output;
-+  netif->output = netif_loop_output;
-   return ERR_OK;
- }
-
-Index: src/netif/slipif.c
-===================================================================
-RCS file: /sources/lwip/lwip/src/netif/slipif.c,v
-retrieving revision 1.29
-retrieving revision 1.30
-diff -u -p -r1.29 -r1.30
---- a/src/netif/slipif.c	30 Nov 2007 17:22:21 -0000	1.29
-+++ b/src/netif/slipif.c	17 Jun 2008 20:14:05 -0000	1.30
-@@ -44,6 +44,9 @@
-
- #include "netif/slipif.h"
- #include "lwip/opt.h"
-+
-+#if LWIP_HAVE_SLIPIF
-+
- #include "lwip/def.h"
- #include "lwip/pbuf.h"
- #include "lwip/sys.h"
-@@ -273,3 +276,4 @@ slipif_init(struct netif *netif)
-   sys_thread_new(SLIPIF_THREAD_NAME, slipif_loop, netif, SLIPIF_THREAD_STACKSIZE, SLIPIF_THREAD_PRIO);
-   return ERR_OK;
- }
-+#endif /* LWIP_HAVE_SLIPIF */
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/mini-os_udivmoddi4-gcc7.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/mini-os_udivmoddi4-gcc7.patch
deleted file mode 100644
index a3745bd..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/mini-os_udivmoddi4-gcc7.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From d991bdbc062248221511ecb795617c36b37e1d2e Mon Sep 17 00:00:00 2001
-From: Wei Liu <wei.liu2@citrix.com>
-Date: Wed, 9 Aug 2017 13:15:48 +0100
-Subject: [PATCH] lib/math.c: implement __udivmoddi4
-
-Some code compiled by gcc 7 requires this.
-
-Signed-off-by: Wei Liu <wei.liu2@citrix.com>
-Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
----
- lib/math.c | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/lib/math.c b/lib/math.c
-index 561393e..b98cc1d 100644
---- a/lib/math.c
-+++ b/lib/math.c
-@@ -6,6 +6,7 @@
-  *        File: math.c
-  *      Author: Rolf Neugebauer (neugebar@dcs.gla.ac.uk)
-  *     Changes: 
-+ *        Implement __udivmoddi4 (Wei Liu <wei.liu2@citrix.com>)
-  *              
-  *        Date: Aug 2003
-  * 
-@@ -397,6 +398,15 @@ __umoddi3(u_quad_t a, u_quad_t b)
- }
- 
- /*
-+ * Returns the quotient and places remainder in r
-+ */
-+u_quad_t
-+__udivmoddi4(u_quad_t a, u_quad_t b, u_quad_t *r)
-+{
-+	return __qdivrem(a, b, r);
-+}
-+
-+/*
-  * From
-  * moddi3.c
-  */
---
-2.11.0
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/newlib-chk.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/newlib-chk.patch
deleted file mode 100644
index a5d0149..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/newlib-chk.patch
+++ /dev/null
@@ -1,155 +0,0 @@
---- a/newlib/libc/stdio/fprintf_chk.c	1969-12-31 19:00:00.000000000 -0500
-+++ b/newlib/libc/stdio/fprintf_chk.c	2009-02-26 19:02:53.000000000 -0500
-@@ -0,0 +1,21 @@
-+#include <stdarg.h>
-+#include <stdio.h>
-+
-+/*
-+ * Stub implementation of __fprintf_chk adapted from glibc 2.7.  This 
-+ * doesn't actually implement any buffer overflow protection.  It just makes
-+ * the linker happy :)
-+*/
-+int
-+__fprintf_chk (FILE *fp, int flag, const char *format, ...)
-+{
-+  va_list ap;
-+  int done;
-+
-+  va_start (ap, format);
-+  done = vfprintf (fp, format, ap);
-+  va_end (ap);
-+
-+  return done;
-+}
-+
---- a/newlib/libc/stdio/Makefile.am	2007-08-02 16:23:06.000000000 -0400
-+++ b/newlib/libc/stdio/Makefile.am	2009-02-26 18:14:53.000000000 -0500
-@@ -20,6 +20,7 @@
- 	flags.c			\
- 	fopen.c			\
- 	fprintf.c			\
-+	fprintf_chk.c		\
- 	fputc.c			\
- 	fputs.c			\
- 	fread.c			\
-@@ -65,6 +66,7 @@
- 	sniprintf.c			\
- 	snprintf.c			\
- 	sprintf.c			\
-+	sprintf_chk.c			\
- 	sscanf.c			\
- 	stdio.c			\
- 	tmpfile.c			\
---- a/newlib/libc/stdio/Makefile.in	2007-12-19 17:36:38.000000000 -0500
-+++ b/newlib/libc/stdio/Makefile.in	2009-02-26 18:43:52.000000000 -0500
-@@ -63,7 +63,8 @@
- 	lib_a-fgets.$(OBJEXT) lib_a-fileno.$(OBJEXT) \
- 	lib_a-findfp.$(OBJEXT) lib_a-fiprintf.$(OBJEXT) \
- 	lib_a-flags.$(OBJEXT) lib_a-fopen.$(OBJEXT) \
--	lib_a-fprintf.$(OBJEXT) lib_a-fputc.$(OBJEXT) \
-+	lib_a-fprintf.$(OBJEXT) lib_a-fprintf_chk.$(OBJEXT) \
-+	lib_a-fputc.$(OBJEXT) \
- 	lib_a-fputs.$(OBJEXT) lib_a-fread.$(OBJEXT) \
- 	lib_a-freopen.$(OBJEXT) lib_a-fscanf.$(OBJEXT) \
- 	lib_a-fiscanf.$(OBJEXT) lib_a-fseek.$(OBJEXT) \
-@@ -86,6 +87,7 @@
- 	lib_a-setvbuf.$(OBJEXT) lib_a-siprintf.$(OBJEXT) \
- 	lib_a-siscanf.$(OBJEXT) lib_a-sniprintf.$(OBJEXT) \
- 	lib_a-snprintf.$(OBJEXT) lib_a-sprintf.$(OBJEXT) \
-+	lib_a-sprintf_chk.$(OBJEXT) \
- 	lib_a-sscanf.$(OBJEXT) lib_a-stdio.$(OBJEXT) \
- 	lib_a-tmpfile.$(OBJEXT) lib_a-tmpnam.$(OBJEXT) \
- 	lib_a-ungetc.$(OBJEXT) lib_a-vdiprintf.$(OBJEXT) \
-@@ -122,15 +124,15 @@
- LTLIBRARIES = $(noinst_LTLIBRARIES)
- am__objects_4 = clearerr.lo fclose.lo fdopen.lo feof.lo ferror.lo \
- 	fflush.lo fgetc.lo fgetpos.lo fgets.lo fileno.lo findfp.lo \
--	fiprintf.lo flags.lo fopen.lo fprintf.lo fputc.lo fputs.lo \
--	fread.lo freopen.lo fscanf.lo fiscanf.lo fseek.lo fsetpos.lo \
-+	fiprintf.lo flags.lo fopen.lo fprintf.lo fprintf_chk.lo fputc.lo \
-+	fputs.lo fread.lo freopen.lo fscanf.lo fiscanf.lo fseek.lo fsetpos.lo \
- 	ftell.lo fvwrite.lo fwalk.lo fwrite.lo getc.lo getchar.lo \
- 	getc_u.lo getchar_u.lo getdelim.lo getline.lo gets.lo \
- 	iprintf.lo iscanf.lo makebuf.lo perror.lo printf.lo putc.lo \
- 	putchar.lo putc_u.lo putchar_u.lo puts.lo refill.lo remove.lo \
- 	rename.lo rewind.lo rget.lo scanf.lo sccl.lo setbuf.lo \
- 	setbuffer.lo setlinebuf.lo setvbuf.lo siprintf.lo siscanf.lo \
--	sniprintf.lo snprintf.lo sprintf.lo sscanf.lo stdio.lo \
-+	sniprintf.lo snprintf.lo sprintf.lo sprintf_chk.lo sscanf.lo stdio.lo \
- 	tmpfile.lo tmpnam.lo ungetc.lo vdiprintf.lo vdprintf.lo \
- 	viprintf.lo viscanf.lo vprintf.lo vscanf.lo vsiprintf.lo \
- 	vsiscanf.lo vsnprintf.lo vsniprintf.lo vsprintf.lo vsscanf.lo \
-@@ -344,6 +346,7 @@
- 	flags.c			\
- 	fopen.c			\
- 	fprintf.c			\
-+	fprintf_chk.c			\
- 	fputc.c			\
- 	fputs.c			\
- 	fread.c			\
-@@ -389,6 +392,7 @@
- 	sniprintf.c			\
- 	snprintf.c			\
- 	sprintf.c			\
-+	sprintf_chk.c			\
- 	sscanf.c			\
- 	stdio.c			\
- 	tmpfile.c			\
-@@ -508,6 +512,7 @@
- 	siprintf.def		\
- 	siscanf.def		\
- 	sprintf.def		\
-+	sprintf_chk.def		\
- 	sscanf.def		\
- 	tmpfile.def		\
- 	tmpnam.def		\
-@@ -678,6 +683,12 @@
- lib_a-fprintf.obj: fprintf.c
- 	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-fprintf.obj `if test -f 'fprintf.c'; then $(CYGPATH_W) 'fprintf.c'; else $(CYGPATH_W) '$(srcdir)/fprintf.c'; fi`
- 
-+lib_a-fprintf_chk.o: fprintf_chk.c
-+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-fprintf_chk.o `test -f 'fprintf_chk.c' || echo '$(srcdir)/'`fprintf_chk.c
-+
-+lib_a-fprintf_chk.obj: fprintf_chk.c
-+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-fprintf_chk.obj `if test -f 'fprintf_chk.c'; then $(CYGPATH_W) 'fprintf_chk.c'; else $(CYGPATH_W) '$(srcdir)/fprintf_chk.c'; fi`
-+
- lib_a-fputc.o: fputc.c
- 	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-fputc.o `test -f 'fputc.c' || echo '$(srcdir)/'`fputc.c
- 
-@@ -948,6 +959,12 @@
- lib_a-sprintf.obj: sprintf.c
- 	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sprintf.obj `if test -f 'sprintf.c'; then $(CYGPATH_W) 'sprintf.c'; else $(CYGPATH_W) '$(srcdir)/sprintf.c'; fi`
- 
-+lib_a-sprintf_chk.o: sprintf_chk.c
-+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sprintf_chk.o `test -f 'sprintf_chk.c' || echo '$(srcdir)/'`sprintf_chk.c
-+
-+lib_a-sprintf_chk.obj: sprintf_chk.c
-+	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sprintf_chk.obj `if test -f 'sprintf_chk.c'; then $(CYGPATH_W) 'sprintf_chk.c'; else $(CYGPATH_W) '$(srcdir)/sprintf_chk.c'; fi`
-+
- lib_a-sscanf.o: sscanf.c
- 	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-sscanf.o `test -f 'sscanf.c' || echo '$(srcdir)/'`sscanf.c
- 
---- a/newlib/libc/stdio/sprintf_chk.c	1969-12-31 19:00:00.000000000 -0500
-+++ b/newlib/libc/stdio/sprintf_chk.c	2009-02-26 19:02:26.000000000 -0500
-@@ -0,0 +1,21 @@
-+#include <stdarg.h>
-+#include <stdio.h>
-+
-+/*
-+ * Stub implementation of __sprintf_chk adapted from glibc 2.7.  This 
-+ * doesn't actually implement any buffer overflow protection.  It just makes
-+ * the linker happy :)
-+*/
-+int
-+__sprintf_chk (char *s, int flags, size_t slen, const char *format, ...)
-+{
-+  va_list arg;
-+  int done;
-+
-+  va_start (arg, format);
-+  done = vsprintf (s, format, arg);
-+  va_end (arg);
-+
-+  return done;
-+}
-+
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/newlib-stdint-size_max-fix-from-1.17.0.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/newlib-stdint-size_max-fix-from-1.17.0.patch
deleted file mode 100644
index 3610d64..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/newlib-stdint-size_max-fix-from-1.17.0.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/newlib/libc/include/stdint.h.orig	2006-08-17 00:39:43.000000000 +0300
-+++ b/newlib/libc/include/stdint.h	2009-08-25 17:33:23.000000000 +0300
-@@ -348,8 +348,11 @@
- #endif
- 
- /* This must match size_t in stddef.h, currently long unsigned int */
--#define SIZE_MIN (-__STDINT_EXP(LONG_MAX) - 1L)
--#define SIZE_MAX __STDINT_EXP(LONG_MAX)
-+#ifdef __SIZE_MAX__
-+#define SIZE_MAX __SIZE_MAX__
-+#else
-+#define SIZE_MAX (__STDINT_EXP(LONG_MAX) * 2UL + 1)
-+#endif
- 
- /* This must match sig_atomic_t in <signal.h> (currently int) */
- #define SIG_ATOMIC_MIN (-__STDINT_EXP(INT_MAX) - 1)
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/newlib.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/newlib.patch
deleted file mode 100644
index dbf409a..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/newlib.patch
+++ /dev/null
@@ -1,727 +0,0 @@
-There is a mix between longs and long longs.
-
-Index: newlib/libc/include/inttypes.h
-===================================================================
-RCS file: /cvs/src/src/newlib/libc/include/inttypes.h,v
-retrieving revision 1.3
-diff -u -p -r1.3 inttypes.h
---- a/newlib/libc/include/inttypes.h	16 Dec 2005 19:03:12 -0000	1.3
-+++ b/newlib/libc/include/inttypes.h	8 Nov 2007 16:32:44 -0000
-@@ -163,12 +163,12 @@
- 
- 
- /* 64-bit types */
--#if __have_longlong64
--#define __PRI64(x) __STRINGIFY(ll##x)
--#define __SCN64(x) __STRINGIFY(ll##x)
--#elif __have_long64
-+#if __have_long64
- #define __PRI64(x) __STRINGIFY(l##x)
- #define __SCN64(x) __STRINGIFY(l##x)
-+#elif __have_longlong64
-+#define __PRI64(x) __STRINGIFY(ll##x)
-+#define __SCN64(x) __STRINGIFY(ll##x)
- #else
- #define __PRI64(x) __STRINGIFY(x)
- #define __SCN64(x) __STRINGIFY(x)
-@@ -217,12 +217,12 @@
- #endif
- 
- /* max-bit types */
--#if __have_longlong64
--#define __PRIMAX(x) __STRINGIFY(ll##x)
--#define __SCNMAX(x) __STRINGIFY(ll##x)
--#elif __have_long64
-+#if __have_long64
- #define __PRIMAX(x) __STRINGIFY(l##x)
- #define __SCNMAX(x) __STRINGIFY(l##x)
-+#elif __have_longlong64
-+#define __PRIMAX(x) __STRINGIFY(ll##x)
-+#define __SCNMAX(x) __STRINGIFY(ll##x)
- #else
- #define __PRIMAX(x) __STRINGIFY(x)
- #define __SCNMAX(x) __STRINGIFY(x)
-@@ -242,12 +242,12 @@
- #define SCNxMAX		__SCNMAX(x)
- 
- /* ptr types */
--#if __have_longlong64
--#define __PRIPTR(x) __STRINGIFY(ll##x)
--#define __SCNPTR(x) __STRINGIFY(ll##x)
--#elif __have_long64
-+#if __have_long64
- #define __PRIPTR(x) __STRINGIFY(l##x)
- #define __SCNPTR(x) __STRINGIFY(l##x)
-+#elif __have_longlong64
-+#define __PRIPTR(x) __STRINGIFY(ll##x)
-+#define __SCNPTR(x) __STRINGIFY(ll##x)
- #else
- #define __PRIPTR(x) __STRINGIFY(x)
- #define __SCNPTR(x) __STRINGIFY(x)
-
-We don't want u?int32_t to be long as our code assume in a lot of places to be
-int.
-
-Index: newlib/libc/include/stdint.h
-===================================================================
-RCS file: /cvs/src/src/newlib/libc/include/stdint.h,v
-retrieving revision 1.10
-diff -u -p -r1.10 stdint.h
---- a/newlib/libc/include/stdint.h	16 Aug 2006 21:39:43 -0000	1.10
-+++ b/newlib/libc/include/stdint.h	12 Feb 2008 13:07:52 -0000
-@@ -38,7 +38,7 @@ extern "C" {
- #if __STDINT_EXP(LONG_MAX) > 0x7fffffff
- #define __have_long64 1
- #elif __STDINT_EXP(LONG_MAX) == 0x7fffffff && !defined(__SPU__)
--#define __have_long32 1
-+/* #define __have_long32 1 */
- #endif
- 
- #if __STDINT_EXP(SCHAR_MAX) == 0x7f
-
-Define the basic ia64 jump buffer
-
-Index: newlib/libc/include/sys/config.h
-===================================================================
-RCS file: /cvs/src/src/newlib/libc/include/sys/config.h,v
-retrieving revision 1.47
-diff -u -p -r1.47 config.h
---- a/newlib/libc/include/sys/config.h	15 Mar 2007 21:32:12 -0000	1.47
-+++ b/newlib/libc/include/sys/config.h	8 Nov 2007 16:32:44 -0000
-@@ -71,6 +71,10 @@
- #endif
- #endif
- 
-+#ifndef __DYNAMIC_REENT__
-+#define __DYNAMIC_REENT__
-+#endif
-+
- #ifdef __mn10200__
- #define __SMALL_BITFIELDS
- #endif
-
-Dynamic pointer to our reentrancy zone
-
-Index: newlib/libc/reent/getreent.c
-===================================================================
-RCS file: /cvs/src/src/newlib/libc/reent/getreent.c,v
-retrieving revision 1.2
-diff -u -p -r1.2 getreent.c
---- a/newlib/libc/reent/getreent.c	7 Sep 2007 00:45:55 -0000	1.2
-+++ b/newlib/libc/reent/getreent.c	8 Nov 2007 16:32:44 -0000
-@@ -3,12 +3,20 @@
- #include <_ansi.h>
- #include <reent.h>
- 
-+#define weak_alias(name, aliasname) \
-+  extern __typeof (name) aliasname __attribute__ ((weak, alias (#name)));
-+
- #ifdef __getreent
- #undef __getreent
- #endif
-+#ifdef __libc_getreent
-+#undef __libc_getreent
-+#endif
- 
- struct _reent *
--_DEFUN_VOID(__getreent)
-+__libc_getreent (void)
- {
-   return _impure_ptr;
- }
-+weak_alias(__libc_getreent,__getreent)
-+
-
-We can't provide a red zone in mini-os.
-
-Index: newlib/libc/machine/x86_64/memcpy.S
-===================================================================
-RCS file: /cvs/src/src/newlib/libc/machine/x86_64/memcpy.S,v
-retrieving revision 1.1
-diff -u -p -r1.1 memcpy.S
---- a/newlib/libc/machine/x86_64/memcpy.S	28 Aug 2007 21:56:49 -0000	1.1
-+++ b/newlib/libc/machine/x86_64/memcpy.S	8 Nov 2007 16:32:44 -0000
-@@ -30,10 +30,18 @@ quadword_aligned:
-   cmpq    $256, rdx
-   jb      quadword_copy
- 
-+#if 1
-+  subq    $32, rsp
-+  movq    rax, 24 (rsp)
-+  movq    r12, 16 (rsp)
-+  movq    r13, 8  (rsp)
-+  movq    r14, 0  (rsp)
-+#else
-   movq    rax, -8  (rsp)
-   movq    r12, -16 (rsp)
-   movq    r13, -24 (rsp)
-   movq    r14, -32 (rsp)
-+#endif
- 
-   movq    rdx, rcx                /* Copy 128 bytes at a time with minimum cache polution */
-   shrq    $7, rcx
-@@ -89,10 +97,18 @@ loop:
-   movq    rdx, rcx
-   andq    $127, rcx
-   rep     movsb
-+#if 1
-+  movq    24 (rsp), rax
-+  movq    16 (rsp), r12
-+  movq    8  (rsp), r13
-+  movq    0  (rsp), r14
-+  addq    $32, rsp
-+#else
-   movq    -8  (rsp), rax
-   movq    -16 (rsp), r12
-   movq    -24 (rsp), r13
-   movq    -32 (rsp), r14
-+#endif
-   ret
- 
- 
---- a/newlib/libc/machine/x86_64/x86_64mach.h.orig	2008-07-11 14:57:23.062269000 +0100
-+++ b/newlib/libc/machine/x86_64/x86_64mach.h	2008-07-11 14:58:01.262503000 +0100
-@@ -22,81 +22,81 @@
- 
- #define REG(x) CONCAT1(__REG_PREFIX__, x)
- 
--#define rax REG(rax)
--#define rbx REG(rbx)
--#define rcx REG(rcx)
--#define rdx REG(rdx)
--#define rsi REG(rsi)
--#define rdi REG(rdi)
--#define rbp REG(rbp)
--#define rsp REG(rsp)
--
--#define r8  REG(r8)
--#define r9  REG(r9)
--#define r10 REG(r10)
--#define r11 REG(r11)
--#define r12 REG(r12)
--#define r13 REG(r13)
--#define r14 REG(r14)
--#define r15 REG(r15)
--
--#define eax REG(eax)
--#define ebx REG(ebx)
--#define ecx REG(ecx)
--#define edx REG(edx)
--#define esi REG(esi)
--#define edi REG(edi)
--#define ebp REG(ebp)
--#define esp REG(esp)
--
--#define st0 REG(st)
--#define st1 REG(st(1))
--#define st2 REG(st(2))
--#define st3 REG(st(3))
--#define st4 REG(st(4))
--#define st5 REG(st(5))
--#define st6 REG(st(6))
--#define st7 REG(st(7))
--
--#define ax REG(ax)
--#define bx REG(bx)
--#define cx REG(cx)
--#define dx REG(dx)
--
--#define ah REG(ah)
--#define bh REG(bh)
--#define ch REG(ch)
--#define dh REG(dh)
--
--#define al REG(al)
--#define bl REG(bl)
--#define cl REG(cl)
--#define dl REG(dl)
--
--#define sil REG(sil)
--
--#define mm1 REG(mm1)
--#define mm2 REG(mm2)
--#define mm3 REG(mm3)
--#define mm4 REG(mm4)
--#define mm5 REG(mm5)
--#define mm6 REG(mm6)
--#define mm7 REG(mm7)
--
--#define xmm0 REG(xmm0)
--#define xmm1 REG(xmm1)
--#define xmm2 REG(xmm2)
--#define xmm3 REG(xmm3)
--#define xmm4 REG(xmm4)
--#define xmm5 REG(xmm5)
--#define xmm6 REG(xmm6)
--#define xmm7 REG(xmm7)
--
--#define cr0 REG(cr0)
--#define cr1 REG(cr1)
--#define cr2 REG(cr2)
--#define cr3 REG(cr3)
--#define cr4 REG(cr4)
-+#define rax %rax
-+#define rbx %rbx
-+#define rcx %rcx
-+#define rdx %rdx
-+#define rsi %rsi
-+#define rdi %rdi
-+#define rbp %rbp
-+#define rsp %rsp
-+
-+#define r8  %r8
-+#define r9  %r9
-+#define r10 %r10
-+#define r11 %r11
-+#define r12 %r12
-+#define r13 %r13
-+#define r14 %r14
-+#define r15 %r15
-+
-+#define eax %eax
-+#define ebx %ebx
-+#define ecx %ecx
-+#define edx %edx
-+#define esi %esi
-+#define edi %edi
-+#define ebp %ebp
-+#define esp %esp
-+
-+#define st0 %st
-+#define st1 %st(1)
-+#define st2 %st(2)
-+#define st3 %st(3)
-+#define st4 %st(4)
-+#define st5 %st(5)
-+#define st6 %st(6)
-+#define st7 %st(7)
-+
-+#define ax %ax
-+#define bx %bx
-+#define cx %cx
-+#define dx %dx
-+
-+#define ah %ah
-+#define bh %bh
-+#define ch %ch
-+#define dh %dh
-+
-+#define al %al
-+#define bl %bl
-+#define cl %cl
-+#define dl %dl
-+
-+#define sil %sil
-+
-+#define mm1 %mm1
-+#define mm2 %mm2
-+#define mm3 %mm3
-+#define mm4 %mm4
-+#define mm5 %mm5
-+#define mm6 %mm6
-+#define mm7 %mm7
-+
-+#define xmm0 %xmm0
-+#define xmm1 %xmm1
-+#define xmm2 %xmm2
-+#define xmm3 %xmm3
-+#define xmm4 %xmm4
-+#define xmm5 %xmm5
-+#define xmm6 %xmm6
-+#define xmm7 %xmm7
-+
-+#define cr0 %cr0
-+#define cr1 %cr1
-+#define cr2 %cr2
-+#define cr3 %cr3
-+#define cr4 %cr4
- 
- #ifdef _I386MACH_NEED_SOTYPE_FUNCTION
- #define SOTYPE_FUNCTION(sym) .type SYM(sym),@function
---- a/newlib/libc/machine/x86_64/memcpy.S.orig	2008-07-11 15:12:27.494693000 +0100
-+++ b/newlib/libc/machine/x86_64/memcpy.S	2008-07-11 15:12:29.448706000 +0100
-@@ -60,14 +60,14 @@
-   movq    48 (rsi), r13
-   movq    56 (rsi), r14
- 
--  movntiq rax,    (rdi)
--  movntiq r8 ,  8 (rdi)
--  movntiq r9 , 16 (rdi)
--  movntiq r10, 24 (rdi)
--  movntiq r11, 32 (rdi)
--  movntiq r12, 40 (rdi)
--  movntiq r13, 48 (rdi)
--  movntiq r14, 56 (rdi)
-+  movnti rax,    (rdi)
-+  movnti r8 ,  8 (rdi)
-+  movnti r9 , 16 (rdi)
-+  movnti r10, 24 (rdi)
-+  movnti r11, 32 (rdi)
-+  movnti r12, 40 (rdi)
-+  movnti r13, 48 (rdi)
-+  movnti r14, 56 (rdi)
- 
-   movq     64 (rsi), rax
-   movq     72 (rsi), r8
-@@ -78,14 +78,14 @@
-   movq    112 (rsi), r13
-   movq    120 (rsi), r14
- 
--  movntiq rax,  64 (rdi)
--  movntiq r8 ,  72 (rdi)
--  movntiq r9 ,  80 (rdi)
--  movntiq r10,  88 (rdi)
--  movntiq r11,  96 (rdi)
--  movntiq r12, 104 (rdi)
--  movntiq r13, 112 (rdi)
--  movntiq r14, 120 (rdi)
-+  movnti rax,  64 (rdi)
-+  movnti r8 ,  72 (rdi)
-+  movnti r9 ,  80 (rdi)
-+  movnti r10,  88 (rdi)
-+  movnti r11,  96 (rdi)
-+  movnti r12, 104 (rdi)
-+  movnti r13, 112 (rdi)
-+  movnti r14, 120 (rdi)
- 
-   leaq    128 (rsi), rsi
-   leaq    128 (rdi), rdi
---- a/newlib/libc/machine/i386/i386mach.h	2000-08-28 18:50:06.000000000 +0100
-+++ b/newlib/libc/machine/i386/i386mach.h	2008-07-11 15:17:13.874409000 +0100
-@@ -27,46 +27,46 @@
-  
- #define REG(x) CONCAT1(__REG_PREFIX__, x)
-  
--#define eax REG(eax)
--#define ebx REG(ebx)
--#define ecx REG(ecx)
--#define edx REG(edx)
--#define esi REG(esi)
--#define edi REG(edi)
--#define ebp REG(ebp)
--#define esp REG(esp)
--
--#define st0 REG(st)
--#define st1 REG(st(1))
--#define st2 REG(st(2))
--#define st3 REG(st(3))
--#define st4 REG(st(4))
--#define st5 REG(st(5))
--#define st6 REG(st(6))
--#define st7 REG(st(7))
--
--#define ax REG(ax)
--#define bx REG(bx)
--#define cx REG(cx)
--#define dx REG(dx)
--
--#define ah REG(ah)
--#define bh REG(bh)
--#define ch REG(ch)
--#define dh REG(dh)
--
--#define al REG(al)
--#define bl REG(bl)
--#define cl REG(cl)
--#define dl REG(dl)
--
--#define mm1 REG(mm1)
--#define mm2 REG(mm2)
--#define mm3 REG(mm3)
--#define mm4 REG(mm4)
--#define mm5 REG(mm5)
--#define mm6 REG(mm6)
--#define mm7 REG(mm7)
-+#define eax %eax
-+#define ebx %ebx
-+#define ecx %ecx
-+#define edx %edx
-+#define esi %esi
-+#define edi %edi
-+#define ebp %ebp
-+#define esp %esp
-+
-+#define st0 %st
-+#define st1 %st(1)
-+#define st2 %st(2)
-+#define st3 %st(3)
-+#define st4 %st(4)
-+#define st5 %st(5)
-+#define st6 %st(6)
-+#define st7 %st(7)
-+
-+#define ax %ax
-+#define bx %bx
-+#define cx %cx
-+#define dx %dx
-+
-+#define ah %ah
-+#define bh %bh
-+#define ch %ch
-+#define dh %dh
-+
-+#define al %al
-+#define bl %bl
-+#define cl %cl
-+#define dl %dl
-+
-+#define mm1 %mm1
-+#define mm2 %mm2
-+#define mm3 %mm3
-+#define mm4 %mm4
-+#define mm5 %mm5
-+#define mm6 %mm6
-+#define mm7 %mm7
- 
- #ifdef _I386MACH_NEED_SOTYPE_FUNCTION
- #define SOTYPE_FUNCTION(sym) .type SYM(sym),@function
---- a/newlib/libc/machine/x86_64/memset.S	2007-08-28 22:56:49.000000000 +0100
-+++ b/newlib/libc/machine/x86_64/memset.S	2008-07-11 15:16:59.098320000 +0100
-@@ -40,22 +40,22 @@
- 
-   .p2align 4
- loop:
--  movntiq rax,     (rdi)
--  movntiq rax,   8 (rdi)
--  movntiq rax,  16 (rdi)
--  movntiq rax,  24 (rdi)
--  movntiq rax,  32 (rdi)
--  movntiq rax,  40 (rdi)
--  movntiq rax,  48 (rdi)
--  movntiq rax,  56 (rdi)
--  movntiq rax,  64 (rdi)
--  movntiq rax,  72 (rdi)
--  movntiq rax,  80 (rdi)
--  movntiq rax,  88 (rdi)
--  movntiq rax,  96 (rdi)
--  movntiq rax, 104 (rdi)
--  movntiq rax, 112 (rdi)
--  movntiq rax, 120 (rdi)
-+  movnti rax,     (rdi)
-+  movnti rax,   8 (rdi)
-+  movnti rax,  16 (rdi)
-+  movnti rax,  24 (rdi)
-+  movnti rax,  32 (rdi)
-+  movnti rax,  40 (rdi)
-+  movnti rax,  48 (rdi)
-+  movnti rax,  56 (rdi)
-+  movnti rax,  64 (rdi)
-+  movnti rax,  72 (rdi)
-+  movnti rax,  80 (rdi)
-+  movnti rax,  88 (rdi)
-+  movnti rax,  96 (rdi)
-+  movnti rax, 104 (rdi)
-+  movnti rax, 112 (rdi)
-+  movnti rax, 120 (rdi)
- 
-   leaq    128 (rdi), rdi
- 
---- a/newlib/libm/machine/i386/i386mach.h.orig	2008-07-11 15:30:37.367227000 +0100
-+++ b/newlib/libm/machine/i386/i386mach.h	2008-07-11 15:30:55.232337000 +0100
-@@ -27,46 +27,46 @@
-  
- #define REG(x) CONCAT1(__REG_PREFIX__, x)
-  
--#define eax REG(eax)
--#define ebx REG(ebx)
--#define ecx REG(ecx)
--#define edx REG(edx)
--#define esi REG(esi)
--#define edi REG(edi)
--#define ebp REG(ebp)
--#define esp REG(esp)
--
--#define st0 REG(st)
--#define st1 REG(st(1))
--#define st2 REG(st(2))
--#define st3 REG(st(3))
--#define st4 REG(st(4))
--#define st5 REG(st(5))
--#define st6 REG(st(6))
--#define st7 REG(st(7))
--
--#define ax REG(ax)
--#define bx REG(bx)
--#define cx REG(cx)
--#define dx REG(dx)
--
--#define ah REG(ah)
--#define bh REG(bh)
--#define ch REG(ch)
--#define dh REG(dh)
--
--#define al REG(al)
--#define bl REG(bl)
--#define cl REG(cl)
--#define dl REG(dl)
--
--#define mm1 REG(mm1)
--#define mm2 REG(mm2)
--#define mm3 REG(mm3)
--#define mm4 REG(mm4)
--#define mm5 REG(mm5)
--#define mm6 REG(mm6)
--#define mm7 REG(mm7)
-+#define eax %eax
-+#define ebx %ebx
-+#define ecx %ecx
-+#define edx %edx
-+#define esi %esi
-+#define edi %edi
-+#define ebp %ebp
-+#define esp %esp
-+
-+#define st0 %st
-+#define st1 %st(1)
-+#define st2 %st(2)
-+#define st3 %st(3)
-+#define st4 %st(4)
-+#define st5 %st(5)
-+#define st6 %st(6)
-+#define st7 %st(7)
-+
-+#define ax %ax
-+#define bx %bx
-+#define cx %cx
-+#define dx %dx
-+
-+#define ah %ah
-+#define bh %bh
-+#define ch %ch
-+#define dh %dh
-+
-+#define al %al
-+#define bl %bl
-+#define cl %cl
-+#define dl %dl
-+
-+#define mm1 %mm1
-+#define mm2 %mm2
-+#define mm3 %mm3
-+#define mm4 %mm4
-+#define mm5 %mm5
-+#define mm6 %mm6
-+#define mm7 %mm7
- 
- #ifdef _I386MACH_NEED_SOTYPE_FUNCTION
- #define SOTYPE_FUNCTION(sym) .type SYM(sym),@function
-
-
-We want to have a 64bit offsets libc even on 32bit platforms.
-
---- ./newlib/configure.host.orig	2008-08-07 16:01:17.801946000 +0100
-+++ ./newlib/configure.host	2008-08-07 16:01:34.181064000 +0100
-@@ -317,6 +317,8 @@
-     oext=lo
-     lpfx=
-     aext=la ;;
-+  i[34567]86-xen-elf)
-+    stdio64_dir=stdio64 ;;
-   *) ;; #shared library not supported for ${host}
- esac
- 
---- a/newlib/libc/include/sys/_types.h.orig	2008-08-07 15:22:44.925008000 +0100
-+++ b/newlib/libc/include/sys/_types.h	2008-08-07 15:22:50.824044000 +0100
-@@ -13,8 +13,12 @@
- #include <sys/lock.h>
- 
- #ifndef __off_t_defined
-+#ifdef __MINIOS__
-+typedef long long _off_t;
-+#else
- typedef long _off_t;
- #endif
-+#endif
- 
- #if defined(__rtems__)
- /* device numbers are 32-bit major and and 32-bit minor */
---- ./newlib/libc/include/sys/config.h.orig	2008-08-07 14:43:25.915866000 +0100
-+++ ./newlib/libc/include/sys/config.h	2008-08-07 14:44:13.508154000 +0100
-@@ -69,6 +69,10 @@
- /* we use some glibc header files so turn on glibc large file feature */
- #define _LARGEFILE64_SOURCE 1
- #endif
-+#ifdef __MINIOS__
-+#define __LARGE64_FILES 1
-+#define _LARGEFILE64_SOURCE 1
-+#endif
- #endif
- 
- #ifndef __DYNAMIC_REENT__
---- ./newlib/libc/include/sys/_default_fcntl.h.orig	2008-08-07 15:08:22.377836000 +0100
-+++ ./newlib/libc/include/sys/_default_fcntl.h	2008-08-07 15:08:31.651890000 +0100
-@@ -170,7 +170,11 @@
- /* Provide _<systemcall> prototypes for functions provided by some versions
-    of newlib.  */
- #ifdef _COMPILING_NEWLIB
--extern int _open _PARAMS ((const char *, int, ...));
-+extern int _open _PARAMS ((const char *, int, ...))
-+#ifdef __MINIOS__
-+    asm("open64")
-+#endif
-+    ;
- extern int _fcntl _PARAMS ((int, int, ...));
- #ifdef __LARGE64_FILES
- extern int _open64 _PARAMS ((const char *, int, ...));
---- ./newlib/libc/include/sys/unistd.h.orig	2008-08-07 15:09:36.449280000 +0100
-+++ ./newlib/libc/include/sys/unistd.h	2008-08-07 15:09:51.210370000 +0100
-@@ -101,7 +101,11 @@
- int     _EXFUN(link, (const char *__path1, const char *__path2 ));
- int	_EXFUN(nice, (int __nice_value ));
- #if !defined(__INSIDE_CYGWIN__)
--off_t   _EXFUN(lseek, (int __fildes, off_t __offset, int __whence ));
-+off_t   _EXFUN(lseek, (int __fildes, off_t __offset, int __whence ))
-+#ifdef __MINIOS__
-+    asm("lseek64")
-+#endif
-+    ;
- #endif
- #if defined(__SPU__)
- #define F_ULOCK	0
---- ./newlib/libc/include/sys/stat.h.orig	2008-08-07 16:08:50.495116000 +0100
-+++ ./newlib/libc/include/sys/stat.h	2008-08-07 16:10:21.799753000 +0100
-@@ -49,6 +49,9 @@
-   long	st_spare4[2];
- #endif
- };
-+#ifdef __MINIOS__
-+#define stat64 stat
-+#endif
- #endif
- 
- #define	_IFMT		0170000	/* type of file */
-@@ -132,7 +135,11 @@
- /* Provide prototypes for most of the _<systemcall> names that are
-    provided in newlib for some compilers.  */
- #ifdef _COMPILING_NEWLIB
--int	_EXFUN(_fstat,( int __fd, struct stat *__sbuf ));
-+int	_EXFUN(_fstat,( int __fd, struct stat *__sbuf ))
-+#ifdef __MINIOS__
-+    asm("fstat64")
-+#endif
-+    ;
- int	_EXFUN(_stat,( const char *__path, struct stat *__sbuf ));
- #ifdef __LARGE64_FILES
- struct stat64;
---- ./newlib/libc/include/_syslist.h.orig	2008-08-07 16:24:19.122605000 +0100
-+++ ./newlib/libc/include/_syslist.h	2008-08-07 16:24:21.548628000 +0100
-@@ -14,6 +14,7 @@
- #define _kill kill
- #define _link link
- #define _lseek lseek
-+#define _lseek64 lseek64
- #define _open open
- #define _read read
- #define _sbrk sbrk
---- a/newlib/libc/include/reent.h.orig	2008-08-07 16:28:49.846502000 +0100
-+++ b/newlib/libc/include/reent.h	2008-08-07 16:29:02.096586000 +0100
-@@ -87,6 +87,9 @@
- #if defined(__CYGWIN__) && defined(_COMPILING_NEWLIB)
- #define stat64 __stat64
- #endif
-+#if defined(__MINIOS__)
-+#define stat64 stat
-+#endif
- 
- struct stat64;
- 
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/polarssl.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/polarssl.patch
deleted file mode 100644
index 9548730..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/polarssl.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff -Naur polarssl-1.1.4/include/polarssl/config.h polarssl-x86_64/include/polarssl/config.h
---- a/include/polarssl/config.h	2011-12-22 05:06:27.000000000 -0500
-+++ b/include/polarssl/config.h	2012-10-30 17:18:07.567001000 -0400
-@@ -164,8 +164,8 @@
-  * application.
-  *
-  * Uncomment this macro to prevent loading of default entropy functions.
--#define POLARSSL_NO_DEFAULT_ENTROPY_SOURCES
-  */
-+#define POLARSSL_NO_DEFAULT_ENTROPY_SOURCES
-
- /**
-  * \def POLARSSL_NO_PLATFORM_ENTROPY
-@@ -175,8 +175,8 @@
-  * standards like the /dev/urandom or Windows CryptoAPI.
-  *
-  * Uncomment this macro to disable the built-in platform entropy functions.
--#define POLARSSL_NO_PLATFORM_ENTROPY
-  */
-+#define POLARSSL_NO_PLATFORM_ENTROPY
-
- /**
-  * \def POLARSSL_PKCS1_V21
-@@ -426,8 +426,8 @@
-  * Requires: POLARSSL_TIMING_C
-  *
-  * This module enables the HAVEGE random number generator.
-- */
- #define POLARSSL_HAVEGE_C
-+ */
-
- /**
-  * \def POLARSSL_MD_C
-@@ -490,7 +490,7 @@
-  *
-  * This module provides TCP/IP networking routines.
-  */
--#define POLARSSL_NET_C
-+//#define POLARSSL_NET_C
-
- /**
-  * \def POLARSSL_PADLOCK_C
-@@ -644,8 +644,8 @@
-  * Caller:  library/havege.c
-  *
-  * This module is used by the HAVEGE random number generator.
-- */
- #define POLARSSL_TIMING_C
-+ */
-
- /**
-  * \def POLARSSL_VERSION_C
-diff -Naur polarssl-1.1.4/library/bignum.c polarssl-x86_64/library/bignum.c
---- a/library/bignum.c	2012-04-29 16:15:55.000000000 -0400
-+++ b/library/bignum.c	2012-10-30 17:21:52.135000999 -0400
-@@ -1101,7 +1101,7 @@
-             Z.p[i - t - 1] = ~0;
-         else
-         {
--#if defined(POLARSSL_HAVE_LONGLONG)
-+#if 0 //defined(POLARSSL_HAVE_LONGLONG)
-             t_udbl r;
-
-             r  = (t_udbl) X.p[i] << biL;
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/tpmemu-0.7.4.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/tpmemu-0.7.4.patch
deleted file mode 100644
index 622b34f..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/tpmemu-0.7.4.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur tpm_emulator-x86_64-back/tpm/tpm_emulator_extern.c tpm_emulator-x86_64/tpm/tpm_emulator_extern.c
---- a/tpm/tpm_emulator_extern.c	2012-04-27 10:55:46.581963398 -0400
-+++ b/tpm/tpm_emulator_extern.c	2012-04-27 10:56:02.193034152 -0400
-@@ -249,7 +249,7 @@
- #else /* TPM_NO_EXTERN */
-
- int (*tpm_extern_init)(void)                                      = NULL;
--int (*tpm_extern_release)(void)                                   = NULL;
-+void (*tpm_extern_release)(void)                                   = NULL;
- void* (*tpm_malloc)(size_t size)                                  = NULL;
- void (*tpm_free)(/*const*/ void *ptr)                             = NULL;
- void (*tpm_log)(int priority, const char *fmt, ...)               = NULL;
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/vtpm-bufsize.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/vtpm-bufsize.patch
deleted file mode 100644
index 9c9304c..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/vtpm-bufsize.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/config.h.in b/config.h.in
-index d16a997..8088a2a 100644
---- a/config.h.in
-+++ b/config.h.in
-@@ -27,7 +27,7 @@
- #define TPM_STORAGE_NAME "${TPM_STORAGE_NAME}"
- #define TPM_DEVICE_NAME  "${TPM_DEVICE_NAME}"
- #define TPM_LOG_FILE     "${TPM_LOG_FILE}"
--#define TPM_CMD_BUF_SIZE 4096
-+#define TPM_CMD_BUF_SIZE 4088
- 
- #endif /* _CONFIG_H_ */
- 
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/vtpm-cmake-Wextra.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/vtpm-cmake-Wextra.patch
deleted file mode 100644
index 5fee4e9..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/vtpm-cmake-Wextra.patch
+++ /dev/null
@@ -1,21 +0,0 @@
----
- CMakeLists.txt |    3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-Index: tpm_emulator-x86_64/CMakeLists.txt
-===================================================================
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -40,10 +40,11 @@ set(TPM_STORAGE_NAME "/var/lib/tpm/tpm_e
- set(TPM_DEVICE_NAME "/dev/tpm")
- endif()
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
--add_definitions(-Wall -Werror -Wno-unused-parameter -Wpointer-arith -Wcast-align -Wwrite-strings)
-+add_definitions(-Wall -Werror)
- if("${CMAKE_SYSTEM}" MATCHES "Linux")
-     add_definitions(-Wextra)
- endif()
-+add_definitions(-Wno-unused-parameter -Wpointer-arith -Wcast-align -Wwrite-strings)
- if(USE_OPENSSL)
-     add_definitions(-DUSE_OPENSSL)
- endif()
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/vtpm-deepquote-anyloc.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/vtpm-deepquote-anyloc.patch
deleted file mode 100644
index 7b37d51..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/vtpm-deepquote-anyloc.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-diff --git a/tpm/tpm_cmd_handler.c b/tpm/tpm_cmd_handler.c
-index 69511d1..7545d51 100644
---- a/tpm/tpm_cmd_handler.c
-+++ b/tpm/tpm_cmd_handler.c
-@@ -3347,12 +3347,13 @@ static TPM_RESULT execute_TPM_DeepQuote(TPM_REQUEST *req, TPM_RESPONSE *rsp)
- {
- 	TPM_NONCE nonce;
- 	TPM_RESULT res;
--	UINT32 sigSize;
--	BYTE *sig;
-+	UINT32 quote_blob_size;
-+	BYTE *quote_blob;
- 	BYTE *ptr;
- 	UINT32 len;
- 	TPM_PCR_SELECTION myPCR;
- 	TPM_PCR_SELECTION ptPCR;
-+	UINT32 extraInfoFlags = 0;
- 
- 	tpm_compute_in_param_digest(req);
- 
-@@ -3361,17 +3362,19 @@ static TPM_RESULT execute_TPM_DeepQuote(TPM_REQUEST *req, TPM_RESPONSE *rsp)
- 	if (tpm_unmarshal_TPM_NONCE(&ptr, &len, &nonce)
- 		|| tpm_unmarshal_TPM_PCR_SELECTION(&ptr, &len, &myPCR)
- 		|| tpm_unmarshal_TPM_PCR_SELECTION(&ptr, &len, &ptPCR)
-+		|| tpm_unmarshal_TPM_DEEP_QUOTE_INFO(&ptr, &len, &extraInfoFlags)
- 		|| len != 0) return TPM_BAD_PARAMETER;
- 
--	res = TPM_DeepQuote(&nonce, &myPCR, &ptPCR, &req->auth1, &sigSize, &sig);
-+	res = TPM_DeepQuote(&nonce, &myPCR, &ptPCR, &req->auth1, extraInfoFlags,
-+		&quote_blob_size, &quote_blob);
- 	if (res != TPM_SUCCESS) return res;
--	rsp->paramSize = len = sigSize;
-+	rsp->paramSize = len = quote_blob_size;
- 	rsp->param = ptr = tpm_malloc(len);
--	if (ptr == NULL || tpm_marshal_BLOB(&ptr, &len, sig, sigSize)) {
-+	if (ptr == NULL || tpm_marshal_BLOB(&ptr, &len, quote_blob, quote_blob_size)) {
- 		tpm_free(rsp->param);
- 		res = TPM_FAIL;
- 	}
--	tpm_free(sig);
-+	tpm_free(quote_blob);
- 
- 	return res;
- }
-diff --git a/tpm/tpm_commands.h b/tpm/tpm_commands.h
-index 328d1be..a56dd5f 100644
---- a/tpm/tpm_commands.h
-+++ b/tpm/tpm_commands.h
-@@ -3077,6 +3077,7 @@ TPM_RESULT TPM_ParentSignEK(
-  * @myPCR: [in] PCR selection for the virtual TPM
-  * @ptPCR: [in] PCR selection for the hardware TPM
-  * @auth1: [in, out] Authorization protocol parameters
-+ * @extraInfoFlags [in] Flags for including, kernel hash, group info, etc
-  * @sigSize: [out] The length of the returned digital signature
-  * @sig: [out] The resulting digital signature and PCR values
-  * Returns: TPM_SUCCESS on success, a TPM error code otherwise.
-@@ -3086,6 +3087,7 @@ TPM_RESULT TPM_DeepQuote(
-   TPM_PCR_SELECTION *myPCR,
-   TPM_PCR_SELECTION *ptPCR,
-   TPM_AUTH *auth1,
-+  UINT32 extraInfoFlags,
-   UINT32 *sigSize,
-   BYTE **sig
- );
-diff --git a/tpm/tpm_credentials.c b/tpm/tpm_credentials.c
-index c0d62e7..6586c22 100644
---- a/tpm/tpm_credentials.c
-+++ b/tpm/tpm_credentials.c
-@@ -183,7 +183,8 @@ TPM_RESULT TPM_OwnerReadInternalPub(TPM_KEY_HANDLE keyHandle, TPM_AUTH *auth1,
- 
- int endorsementKeyFresh = 0;
- 
--TPM_RESULT VTPM_GetParentQuote(TPM_DIGEST* data, TPM_PCR_SELECTION *sel, UINT32 *sigSize, BYTE **sig);
-+TPM_RESULT VTPM_GetParentQuote(TPM_NONCE *data, TPM_PCR_SELECTION *sel,
-+                               UINT32 extraInfoFlags, UINT32 *sigSize, BYTE **sig);
- 
- TPM_RESULT TPM_ParentSignEK(TPM_NONCE *externalData, TPM_PCR_SELECTION *sel,
-                             TPM_AUTH *auth1, UINT32 *sigSize, BYTE **sig)
-@@ -191,7 +192,7 @@ TPM_RESULT TPM_ParentSignEK(TPM_NONCE *externalData, TPM_PCR_SELECTION *sel,
- 	TPM_PUBKEY pubKey;
- 	TPM_RESULT res;
- 	TPM_DIGEST hres;
--
-+	UINT32 extraInfoFlags = 0;
- 	info("TPM_ParentSignEK()");
- 
- 	res = tpm_verify_auth(auth1, tpmData.permanent.data.ownerAuth, TPM_KH_OWNER);
-@@ -206,7 +207,7 @@ TPM_RESULT TPM_ParentSignEK(TPM_NONCE *externalData, TPM_PCR_SELECTION *sel,
- 		res = TPM_FAIL;
- 
- 	if (res == TPM_SUCCESS)
--		res = VTPM_GetParentQuote(&hres, sel, sigSize, sig);
-+		res = VTPM_GetParentQuote((TPM_NONCE*)&hres, sel, extraInfoFlags, sigSize, sig);
- 
- 	free_TPM_PUBKEY(pubKey);
- 	return res;
-@@ -218,7 +219,7 @@ static const BYTE dquot_hdr[] = {
- 
- TPM_RESULT TPM_DeepQuote(TPM_NONCE *externalData, TPM_PCR_SELECTION *myPCR,
-                          TPM_PCR_SELECTION *ptPCR, TPM_AUTH *auth1,
--                         UINT32 *sigSize, BYTE **sig)
-+                         UINT32 extraInfoFlags, UINT32 *quote_blob_size, BYTE **quote_blob)
- {
-   TPM_RESULT res;
-   TPM_DIGEST hres;
-@@ -253,7 +254,7 @@ TPM_RESULT TPM_DeepQuote(TPM_NONCE *externalData, TPM_PCR_SELECTION *myPCR,
- 
-   tpm_free(buf);
- 
--	res = VTPM_GetParentQuote(&hres, ptPCR, sigSize, sig);
-+  res = VTPM_GetParentQuote((TPM_NONCE*)&hres, ptPCR, extraInfoFlags, quote_blob_size, quote_blob);
- 
-   return res;
- }
-diff --git a/tpm/tpm_marshalling.h b/tpm/tpm_marshalling.h
-index d510ebe..2e0c008 100644
---- a/tpm/tpm_marshalling.h
-+++ b/tpm/tpm_marshalling.h
-@@ -268,6 +268,8 @@ static inline int tpm_unmarshal_BOOL(BYTE **ptr, UINT32 *length, BOOL *v)
- #define tpm_unmarshal_TPM_REDIR_COMMAND        tpm_unmarshal_UINT32
- #define tpm_marshal_DAAHANDLE                  tpm_marshal_UINT32
- #define tpm_unmarshal_DAAHANDLE                tpm_unmarshal_UINT32
-+#define tpm_marshal_TPM_DEEP_QUOTE_INFO        tpm_marshal_UINT32
-+#define tpm_unmarshal_TPM_DEEP_QUOTE_INFO      tpm_unmarshal_UINT32
- 
- int tpm_marshal_UINT32_ARRAY(BYTE **ptr, UINT32 *length, UINT32 *v, UINT32 n);
- int tpm_unmarshal_UINT32_ARRAY(BYTE **ptr, UINT32 *length, UINT32 *v, UINT32 n);
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/vtpm-deepquote.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/vtpm-deepquote.patch
deleted file mode 100644
index 6344f38..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/vtpm-deepquote.patch
+++ /dev/null
@@ -1,187 +0,0 @@
-diff --git a/tpm/tpm_cmd_handler.c b/tpm/tpm_cmd_handler.c
-index 0fabf98..69511d1 100644
---- a/tpm/tpm_cmd_handler.c
-+++ b/tpm/tpm_cmd_handler.c
-@@ -3343,6 +3343,39 @@ static TPM_RESULT execute_TPM_ParentSignEK(TPM_REQUEST *req, TPM_RESPONSE *rsp)
- 	return res;
- }
- 
-+static TPM_RESULT execute_TPM_DeepQuote(TPM_REQUEST *req, TPM_RESPONSE *rsp)
-+{
-+	TPM_NONCE nonce;
-+	TPM_RESULT res;
-+	UINT32 sigSize;
-+	BYTE *sig;
-+	BYTE *ptr;
-+	UINT32 len;
-+	TPM_PCR_SELECTION myPCR;
-+	TPM_PCR_SELECTION ptPCR;
-+
-+	tpm_compute_in_param_digest(req);
-+
-+	ptr = req->param;
-+	len = req->paramSize;
-+	if (tpm_unmarshal_TPM_NONCE(&ptr, &len, &nonce)
-+		|| tpm_unmarshal_TPM_PCR_SELECTION(&ptr, &len, &myPCR)
-+		|| tpm_unmarshal_TPM_PCR_SELECTION(&ptr, &len, &ptPCR)
-+		|| len != 0) return TPM_BAD_PARAMETER;
-+
-+	res = TPM_DeepQuote(&nonce, &myPCR, &ptPCR, &req->auth1, &sigSize, &sig);
-+	if (res != TPM_SUCCESS) return res;
-+	rsp->paramSize = len = sigSize;
-+	rsp->param = ptr = tpm_malloc(len);
-+	if (ptr == NULL || tpm_marshal_BLOB(&ptr, &len, sig, sigSize)) {
-+		tpm_free(rsp->param);
-+		res = TPM_FAIL;
-+	}
-+	tpm_free(sig);
-+
-+	return res;
-+}
-+
- static void tpm_setup_rsp_auth(TPM_COMMAND_CODE ordinal, TPM_RESPONSE *rsp) 
- {
-   tpm_hmac_ctx_t hmac;
-@@ -4098,6 +4131,11 @@ void tpm_execute_command(TPM_REQUEST *req, TPM_RESPONSE *rsp)
-       res = execute_TPM_ParentSignEK(req, rsp);
-     break;
- 
-+    case TPM_ORD_DeepQuote:
-+      debug("[TPM_ORD_DeepQuote]");
-+      res = execute_TPM_DeepQuote(req, rsp);
-+    break;
-+
-     default:
- #ifdef MTM_EMULATOR
-       res = mtm_execute_command(req, rsp);
-diff --git a/tpm/tpm_commands.h b/tpm/tpm_commands.h
-index 7fef934..328d1be 100644
---- a/tpm/tpm_commands.h
-+++ b/tpm/tpm_commands.h
-@@ -3071,6 +3071,25 @@ TPM_RESULT TPM_ParentSignEK(
-   BYTE **sig
- );
- 
-+/**
-+ * TPM_DeepQuote - gets a hardware TPM quote of a vTPM's PCRs
-+ * @externalData: [in] AntiReplay nonce to prevent replay of messages
-+ * @myPCR: [in] PCR selection for the virtual TPM
-+ * @ptPCR: [in] PCR selection for the hardware TPM
-+ * @auth1: [in, out] Authorization protocol parameters
-+ * @sigSize: [out] The length of the returned digital signature
-+ * @sig: [out] The resulting digital signature and PCR values
-+ * Returns: TPM_SUCCESS on success, a TPM error code otherwise.
-+ */
-+TPM_RESULT TPM_DeepQuote(
-+  TPM_NONCE *externalData,
-+  TPM_PCR_SELECTION *myPCR,
-+  TPM_PCR_SELECTION *ptPCR,
-+  TPM_AUTH *auth1,
-+  UINT32 *sigSize,
-+  BYTE **sig
-+);
-+
- /*
-  * Error handling
-  * [tpm_error.c]
-diff --git a/tpm/tpm_credentials.c b/tpm/tpm_credentials.c
-index 01f29e6..c0d62e7 100644
---- a/tpm/tpm_credentials.c
-+++ b/tpm/tpm_credentials.c
-@@ -211,3 +211,49 @@ TPM_RESULT TPM_ParentSignEK(TPM_NONCE *externalData, TPM_PCR_SELECTION *sel,
- 	free_TPM_PUBKEY(pubKey);
- 	return res;
- }
-+
-+static const BYTE dquot_hdr[] = {
-+	0, 0, 0, 0, 'D', 'Q', 'U', 'T'
-+};
-+
-+TPM_RESULT TPM_DeepQuote(TPM_NONCE *externalData, TPM_PCR_SELECTION *myPCR,
-+                         TPM_PCR_SELECTION *ptPCR, TPM_AUTH *auth1,
-+                         UINT32 *sigSize, BYTE **sig)
-+{
-+	TPM_RESULT res;
-+	TPM_DIGEST hres;
-+	TPM_PCR_INFO_SHORT pcrData;
-+	tpm_sha1_ctx_t ctx;
-+	BYTE *buf, *ptr;
-+	UINT32 size, len;
-+
-+	info("TPM_DeepQuote()");
-+
-+	res = tpm_verify_auth(auth1, tpmData.permanent.data.ownerAuth, TPM_KH_OWNER);
-+	if (res != TPM_SUCCESS) return res;
-+
-+	res = tpm_compute_pcr_digest(myPCR, &pcrData.digestAtRelease, NULL);
-+	if (res != TPM_SUCCESS) return res;
-+
-+	pcrData.pcrSelection.sizeOfSelect = myPCR->sizeOfSelect;
-+	memcpy(pcrData.pcrSelection.pcrSelect, myPCR->pcrSelect, myPCR->sizeOfSelect);
-+	pcrData.localityAtRelease = 1 << tpmData.stany.flags.localityModifier;
-+
-+	size = len = sizeof_TPM_PCR_INFO_SHORT(pcrData);
-+	buf = ptr = tpm_malloc(size);
-+	if (buf == NULL) return TPM_NOSPACE;
-+	if (tpm_marshal_TPM_PCR_INFO_SHORT(&ptr, &len, &pcrData))
-+		return TPM_FAIL;
-+
-+	tpm_sha1_init(&ctx);
-+	tpm_sha1_update(&ctx, dquot_hdr, 8);
-+	tpm_sha1_update(&ctx, externalData->nonce, 20);
-+	tpm_sha1_update(&ctx, buf, size);
-+	tpm_sha1_final(&ctx, hres.digest);
-+
-+	tpm_free(buf);
-+
-+	res = VTPM_GetParentQuote(&hres, ptPCR, sigSize, sig);
-+
-+	return res;
-+}
-diff --git a/tpm/tpm_structures.h b/tpm/tpm_structures.h
-index b0f4625..dfb1894 100644
---- a/tpm/tpm_structures.h
-+++ b/tpm/tpm_structures.h
-@@ -660,6 +660,42 @@ typedef struct tdTPM_CMK_MA_APPROVAL {
- 
- /* VTPM-only commands: */
- /*
-+ * Deep Quote - Create quote of PCRs
-+ * Input:
-+ *   TPM_TAG             tag           TPM_TAG_RQU_AUTH1_COMMAND
-+ *   UINT32              paramSize     Total size of request
-+ *   TPM_COMMAND_CODE    ordinal       TPM_ORD_DeepQuote
-+ *   TPM_NONCE           externData    20 bytes of external data
-+ *   TPM_PCR_SELECTION   vtSel         PCR selection for virtual TPM
-+ *   TPM_PCR_SELECTION   ptSel         PCR selection for physical TPM
-+ *   ---
-+ *   UINT32              authHandle    Owner authorization session (OIAP)
-+ *   TPM_NONCE           nonceOdd      Nonce for authHandle
-+ *   BOOL                continueAuth  Continue flag for authHandle
-+ *   TPM_AUTHDATA        privAuth      Authorization digest for command
-+ *
-+ * Output:
-+ *   TPM_TAG             tag           TPM_TAG_RSP_AUTH1_COMMAND
-+ *   UINT32              paramSize     Total size of response
-+ *   TPM_RESULT          returnCode    Return code of the operation
-+ *   BYTE[]              sig           Signature provided by physical TPM
-+ *   TPM_PCRVALUE[]      pcrValue      Values of hardware PCRs used in the quote
-+ *   ---
-+ *   TPM_NONCE           nonceEven     Nonce for authHandle
-+ *   BOOL                continueAuth  Continue flag for authHandle
-+ *   TPM_AUTHDATA        resAuth       Authorization digest for response
-+ *
-+ * The values of the virutal TPM's PCRs are not included in the response.
-+ * The signature is a standard TPM_Quote response from the physical TPM; its
-+ * externalData is the SHA1 hash of the following structure:
-+ *   TPM_STRUCT_VER      version       MUST be 0.0.0.0
-+ *   BYTE[4]             fixed         MUST be the string "DQUT"
-+ *   TPM_NONCE           externData    From input to the deep quote
-+ *   TPM_PCR_INFO_SHORT  pcrData       Virtual TPM's PCRs
-+ */
-+#define TPM_ORD_DeepQuote                       (TPM_VENDOR_COMMAND | TPM_ORD_Quote)
-+
-+/*
-  * ParentSignEK - Proof of fresh provisioning and EK value
-  *
-  * Input:
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/vtpm-implicit-fallthrough.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/vtpm-implicit-fallthrough.patch
deleted file mode 100644
index e95d41f..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/vtpm-implicit-fallthrough.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/tpm/tpm_cmd_handler.c.orig	2017-04-27 13:37:14.408000000 +0200
-+++ b/tpm/tpm_cmd_handler.c	2017-04-27 13:39:53.585000000 +0200
-@@ -3397,6 +3397,7 @@
-                   sizeof(rsp->auth2->nonceOdd.nonce));
-       tpm_hmac_update(&hmac, (BYTE*)&rsp->auth2->continueAuthSession, 1);
-       tpm_hmac_final(&hmac, rsp->auth2->auth);
-+      /* fall-thru */
-     case TPM_TAG_RSP_AUTH1_COMMAND:
-       tpm_hmac_init(&hmac, rsp->auth1->secret, sizeof(rsp->auth1->secret));
-       tpm_hmac_update(&hmac, rsp->auth1->digest, sizeof(rsp->auth1->digest));
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/vtpm-locality.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/vtpm-locality.patch
deleted file mode 100644
index 8ab7dea..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/vtpm-locality.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff --git a/tpm/tpm_capability.c b/tpm/tpm_capability.c
-index 60bbb90..f8f7f0f 100644
---- a/tpm/tpm_capability.c
-+++ b/tpm/tpm_capability.c
-@@ -949,6 +949,8 @@ static TPM_RESULT set_vendor(UINT32 subCap, BYTE *setValue,
-                              UINT32 setValueSize, BOOL ownerAuth,
-                              BOOL deactivated, BOOL disabled)
- {
-+  if (tpmData.stany.flags.localityModifier != 8)
-+    return TPM_BAD_PARAMETER;
-   /* set the capability area with the specified data, on failure
-      deactivate the TPM */
-   switch (subCap) {
-diff --git a/tpm/tpm_cmd_handler.c b/tpm/tpm_cmd_handler.c
-index 288d1ce..9e1cfb4 100644
---- a/tpm/tpm_cmd_handler.c
-+++ b/tpm/tpm_cmd_handler.c
-@@ -4132,7 +4132,7 @@ void tpm_emulator_shutdown()
-   tpm_extern_release();
- }
- 
--int tpm_handle_command(const uint8_t *in, uint32_t in_size, uint8_t **out, uint32_t *out_size)
-+int tpm_handle_command(const uint8_t *in, uint32_t in_size, uint8_t **out, uint32_t *out_size, int locality)
- {
-   TPM_REQUEST req;
-   TPM_RESPONSE rsp;
-@@ -4140,7 +4140,9 @@ int tpm_handle_command(const uint8_t *in, uint32_t in_size, uint8_t **out, uint3
-   UINT32 len;
-   BOOL free_out;
- 
--  debug("tpm_handle_command()");
-+  debug("tpm_handle_command(%d)", locality);
-+  if (locality != -1)
-+    tpmData.stany.flags.localityModifier = locality;
- 
-   /* we need the whole packet at once, otherwise unmarshalling will fail */
-   if (tpm_unmarshal_TPM_REQUEST((uint8_t**)&in, &in_size, &req) != 0) {
-diff --git a/tpm/tpm_emulator.h b/tpm/tpm_emulator.h
-index eed749e..4c228bd 100644
---- a/tpm/tpm_emulator.h
-+++ b/tpm/tpm_emulator.h
-@@ -59,7 +59,7 @@ void tpm_emulator_shutdown(void);
-  * its usage. In case of an error, all internally allocated memory
-  * is released and the the state of out and out_size is unspecified.
-  */ 
--int tpm_handle_command(const uint8_t *in, uint32_t in_size, uint8_t **out, uint32_t *out_size);
-+int tpm_handle_command(const uint8_t *in, uint32_t in_size, uint8_t **out, uint32_t *out_size, int locality);
- 
- #endif /* _TPM_EMULATOR_H_ */
- 
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/vtpm-parent-sign-ek.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/vtpm-parent-sign-ek.patch
deleted file mode 100644
index 14e66ee..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/vtpm-parent-sign-ek.patch
+++ /dev/null
@@ -1,196 +0,0 @@
-diff --git a/tpm/tpm_cmd_handler.c b/tpm/tpm_cmd_handler.c
-index 9e1cfb4..0fabf98 100644
---- a/tpm/tpm_cmd_handler.c
-+++ b/tpm/tpm_cmd_handler.c
-@@ -3312,6 +3312,37 @@ static TPM_RESULT execute_TPM_OwnerReadPubek(TPM_REQUEST *req, TPM_RESPONSE *rsp
-   return res;
- }
- 
-+static TPM_RESULT execute_TPM_ParentSignEK(TPM_REQUEST *req, TPM_RESPONSE *rsp)
-+{
-+	TPM_NONCE nonce;
-+	TPM_RESULT res;
-+	UINT32 sigSize;
-+	BYTE *sig;
-+	BYTE *ptr;
-+	UINT32 len;
-+	TPM_PCR_SELECTION targetPCR;
-+
-+	tpm_compute_in_param_digest(req);
-+
-+	ptr = req->param;
-+	len = req->paramSize;
-+	if (tpm_unmarshal_TPM_NONCE(&ptr, &len, &nonce)
-+		|| tpm_unmarshal_TPM_PCR_SELECTION(&ptr, &len, &targetPCR)
-+		|| len != 0) return TPM_BAD_PARAMETER;
-+
-+	res = TPM_ParentSignEK(&nonce, &targetPCR, &req->auth1, &sigSize, &sig);
-+	if (res != TPM_SUCCESS) return res;
-+	rsp->paramSize = len = sigSize;
-+	rsp->param = ptr = tpm_malloc(len);
-+	if (ptr == NULL || tpm_marshal_BLOB(&ptr, &len, sig, sigSize)) {
-+		tpm_free(rsp->param);
-+		res = TPM_FAIL;
-+	}
-+	tpm_free(sig);
-+
-+	return res;
-+}
-+
- static void tpm_setup_rsp_auth(TPM_COMMAND_CODE ordinal, TPM_RESPONSE *rsp) 
- {
-   tpm_hmac_ctx_t hmac;
-@@ -4062,6 +4093,11 @@ void tpm_execute_command(TPM_REQUEST *req, TPM_RESPONSE *rsp)
-       res = execute_TPM_OwnerReadPubek(req, rsp);
-     break;
- 
-+    case TPM_ORD_ParentSignEK:
-+      debug("[TPM_ORD_ParentSignEK]");
-+      res = execute_TPM_ParentSignEK(req, rsp);
-+    break;
-+
-     default:
- #ifdef MTM_EMULATOR
-       res = mtm_execute_command(req, rsp);
-diff --git a/tpm/tpm_commands.h b/tpm/tpm_commands.h
-index a7666f6..7fef934 100644
---- a/tpm/tpm_commands.h
-+++ b/tpm/tpm_commands.h
-@@ -3054,6 +3054,23 @@ TPM_RESULT TPM_OwnerReadPubek(
-   TPM_PUBKEY *pubEndorsementKey 
- );
- 
-+/**
-+ * TPM_ParentSignEK - gets a hardware TPM quote of a vTPM's EK
-+ * @externalData: [in] AntiReplay nonce to prevent replay of messages
-+ * @sel: [in] PCR selection for the hardware TPM's quote
-+ * @auth1: [in, out] Authorization protocol parameters
-+ * @sigSize: [out] The length of the returned digital signature
-+ * @sig: [out] The resulting digital signature and PCR values
-+ * Returns: TPM_SUCCESS on success, a TPM error code otherwise.
-+ */
-+TPM_RESULT TPM_ParentSignEK(
-+  TPM_NONCE *externalData,
-+  TPM_PCR_SELECTION *sel,
-+  TPM_AUTH *auth1,
-+  UINT32 *sigSize,
-+  BYTE **sig
-+);
-+
- /*
-  * Error handling
-  * [tpm_error.c]
-diff --git a/tpm/tpm_credentials.c b/tpm/tpm_credentials.c
-index 9cd64af..01f29e6 100644
---- a/tpm/tpm_credentials.c
-+++ b/tpm/tpm_credentials.c
-@@ -180,3 +180,34 @@ TPM_RESULT TPM_OwnerReadInternalPub(TPM_KEY_HANDLE keyHandle, TPM_AUTH *auth1,
-     return TPM_BAD_PARAMETER;
-   }
- }
-+
-+int endorsementKeyFresh = 0;
-+
-+TPM_RESULT VTPM_GetParentQuote(TPM_DIGEST* data, TPM_PCR_SELECTION *sel, UINT32 *sigSize, BYTE **sig);
-+
-+TPM_RESULT TPM_ParentSignEK(TPM_NONCE *externalData, TPM_PCR_SELECTION *sel,
-+                            TPM_AUTH *auth1, UINT32 *sigSize, BYTE **sig)
-+{
-+	TPM_PUBKEY pubKey;
-+	TPM_RESULT res;
-+	TPM_DIGEST hres;
-+
-+	info("TPM_ParentSignEK()");
-+
-+	res = tpm_verify_auth(auth1, tpmData.permanent.data.ownerAuth, TPM_KH_OWNER);
-+	if (res != TPM_SUCCESS) return res;
-+
-+	if (!endorsementKeyFresh) return TPM_DISABLED_CMD;
-+
-+	res = tpm_get_pubek(&pubKey);
-+	if (res != TPM_SUCCESS) return res;
-+
-+	if (tpm_compute_pubkey_checksum(externalData, &pubKey, &hres))
-+		res = TPM_FAIL;
-+
-+	if (res == TPM_SUCCESS)
-+		res = VTPM_GetParentQuote(&hres, sel, sigSize, sig);
-+
-+	free_TPM_PUBKEY(pubKey);
-+	return res;
-+}
-diff --git a/tpm/tpm_data.c b/tpm/tpm_data.c
-index 50c9697..6a0c499 100644
---- a/tpm/tpm_data.c
-+++ b/tpm/tpm_data.c
-@@ -76,6 +76,8 @@ static void init_timeouts(void)
-   tpmData.permanent.data.cmd_durations[2] = 1000;
- }
- 
-+extern int endorsementKeyFresh;
-+
- void tpm_init_data(void)
- {
-   /* endorsement key */
-@@ -157,6 +159,7 @@ void tpm_init_data(void)
-   if (tpmConf & TPM_CONF_GENERATE_EK) {
-     /* generate a new endorsement key */
-     tpm_rsa_generate_key(&tpmData.permanent.data.endorsementKey, 2048);
-+    endorsementKeyFresh = 1;
-   } else {
-     /* setup endorsement key */
-     tpm_rsa_import_key(&tpmData.permanent.data.endorsementKey, 
-diff --git a/tpm/tpm_structures.h b/tpm/tpm_structures.h
-index f746c05..b0f4625 100644
---- a/tpm/tpm_structures.h
-+++ b/tpm/tpm_structures.h
-@@ -658,6 +658,49 @@ typedef struct tdTPM_CMK_MA_APPROVAL {
- #define TPM_ORD_TickStampBlob                   242
- #define TPM_ORD_MAX                             256
- 
-+/* VTPM-only commands: */
-+/*
-+ * ParentSignEK - Proof of fresh provisioning and EK value
-+ *
-+ * Input:
-+ *   TPM_TAG             tag           TPM_TAG_RQU_AUTH1_COMMAND
-+ *   UINT32              paramSize     Total size of request
-+ *   TPM_COMMAND_CODE    ordinal       TPM_ORD_ParentSignEK
-+ *   TPM_NONCE           externData    20 bytes of external data
-+ *   TPM_PCR_SELECTION   ptSel         PCR selection for physical TPM
-+ *   ---
-+ *   UINT32              authHandle    Owner authorization session (OIAP)
-+ *   TPM_NONCE           nonceOdd      Nonce for authHandle
-+ *   BOOL                continueAuth  Continue flag for authHandle
-+ *   TPM_AUTHDATA        privAuth      Authorization digest for command
-+ *
-+ * Output:
-+ *   TPM_TAG             tag           TPM_TAG_RSP_AUTH1_COMMAND
-+ *   UINT32              paramSize     Total size of response
-+ *   TPM_RESULT          returnCode    Return code of the operation
-+ *   BYTE[]              sig           Signature provided by physical TPM
-+ *   TPM_PCRVALUE[]      pcrValue      Values of hardware PCRs used in the quote
-+ *   ---
-+ *   TPM_NONCE           nonceEven     Nonce for authHandle
-+ *   BOOL                continueAuth  Continue flag for authHandle
-+ *   TPM_AUTHDATA        resAuth       Authorization digest for response
-+ *
-+ * This command is only valid on the first boot of a vTPM; on any subsequent
-+ * boot, the command returns TPM_DISABLED_CMD. It is intended to be used to
-+ * provide evidence of proper platform configuration to the verifier/CA which is
-+ * responsible for the creation of the vTPM's endorsement credential, which will
-+ * be used on subsequent boots to certify AIKs via the usual Privacy CA protocol.
-+ *
-+ * The values of the virtual TPM's PCRs are not included in the response.
-+ * The signature is a standard TPM_Quote response from the physical TPM; its
-+ * externalData is the SHA1 hash of the following structure:
-+ *   TPM_PUBKEY          pubEK         The vTPM's public EK
-+ *   TPM_NONCE           externData    From input to the deep quote
-+ *
-+ * This structure was chosen to match the return of TPM_ReadPubek
-+ */
-+#define TPM_ORD_ParentSignEK                    (TPM_VENDOR_COMMAND | TPM_ORD_ReadPubek)
-+
- /*
-  * TCS Ordinals ([TPM_Part2], Section 17.1)
-  *
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/xsa246-4.9.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/xsa246-4.9.patch
deleted file mode 100644
index 6370a10..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/xsa246-4.9.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From: Julien Grall <julien.grall@linaro.org>
-Subject: x86/pod: prevent infinite loop when shattering large pages
-
-When populating pages, the PoD may need to split large ones using
-p2m_set_entry and request the caller to retry (see ept_get_entry for
-instance).
-
-p2m_set_entry may fail to shatter if it is not possible to allocate
-memory for the new page table. However, the error is not propagated
-resulting to the callers to retry infinitely the PoD.
-
-Prevent the infinite loop by return false when it is not possible to
-shatter the large mapping.
-
-This is XSA-246.
-
-Signed-off-by: Julien Grall <julien.grall@linaro.org>
-Signed-off-by: Jan Beulich <jbeulich@suse.com>
-Reviewed-by: George Dunlap <george.dunlap@citrix.com>
-
---- a/xen/arch/x86/mm/p2m-pod.c
-+++ b/xen/arch/x86/mm/p2m-pod.c
-@@ -1071,9 +1071,8 @@ p2m_pod_demand_populate(struct p2m_domai
-          * NOTE: In a fine-grained p2m locking scenario this operation
-          * may need to promote its locking from gfn->1g superpage
-          */
--        p2m_set_entry(p2m, gfn_aligned, INVALID_MFN, PAGE_ORDER_2M,
--                      p2m_populate_on_demand, p2m->default_access);
--        return 0;
-+        return p2m_set_entry(p2m, gfn_aligned, INVALID_MFN, PAGE_ORDER_2M,
-+                             p2m_populate_on_demand, p2m->default_access);
-     }
- 
-     /* Only reclaim if we're in actual need of more cache. */
-@@ -1104,8 +1103,12 @@ p2m_pod_demand_populate(struct p2m_domai
- 
-     gfn_aligned = (gfn >> order) << order;
- 
--    p2m_set_entry(p2m, gfn_aligned, mfn, order, p2m_ram_rw,
--                  p2m->default_access);
-+    if ( p2m_set_entry(p2m, gfn_aligned, mfn, order, p2m_ram_rw,
-+                       p2m->default_access) )
-+    {
-+        p2m_pod_cache_add(p2m, p, order);
-+        goto out_fail;
-+    }
- 
-     for( i = 0; i < (1UL << order); i++ )
-     {
-@@ -1150,13 +1153,18 @@ remap_and_retry:
-     BUG_ON(order != PAGE_ORDER_2M);
-     pod_unlock(p2m);
- 
--    /* Remap this 2-meg region in singleton chunks */
--    /* NOTE: In a p2m fine-grained lock scenario this might
--     * need promoting the gfn lock from gfn->2M superpage */
-+    /*
-+     * Remap this 2-meg region in singleton chunks. See the comment on the
-+     * 1G page splitting path above for why a single call suffices.
-+     *
-+     * NOTE: In a p2m fine-grained lock scenario this might
-+     * need promoting the gfn lock from gfn->2M superpage.
-+     */
-     gfn_aligned = (gfn>>order)<<order;
--    for(i=0; i<(1<<order); i++)
--        p2m_set_entry(p2m, gfn_aligned + i, INVALID_MFN, PAGE_ORDER_4K,
--                      p2m_populate_on_demand, p2m->default_access);
-+    if ( p2m_set_entry(p2m, gfn_aligned, INVALID_MFN, PAGE_ORDER_4K,
-+                       p2m_populate_on_demand, p2m->default_access) )
-+        return -1;
-+
-     if ( tb_init_done )
-     {
-         struct {
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/xsa248.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/xsa248.patch
deleted file mode 100644
index 966c16e..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/xsa248.patch
+++ /dev/null
@@ -1,164 +0,0 @@
-From: Jan Beulich <jbeulich@suse.com>
-Subject: x86/mm: don't wrongly set page ownership
-
-PV domains can obtain mappings of any pages owned by the correct domain,
-including ones that aren't actually assigned as "normal" RAM, but used
-by Xen internally.  At the moment such "internal" pages marked as owned
-by a guest include pages used to track logdirty bits, as well as p2m
-pages and the "unpaged pagetable" for HVM guests. Since the PV memory
-management and shadow code conflict in their use of struct page_info
-fields, and since shadow code is being used for log-dirty handling for
-PV domains, pages coming from the shadow pool must, for PV domains, not
-have the domain set as their owner.
-
-While the change could be done conditionally for just the PV case in
-shadow code, do it unconditionally (and for consistency also for HAP),
-just to be on the safe side.
-
-There's one special case though for shadow code: The page table used for
-running a HVM guest in unpaged mode is subject to get_page() (in
-set_shadow_status()) and hence must have its owner set.
-
-This is XSA-248.
-
-Signed-off-by: Jan Beulich <jbeulich@suse.com>
-Reviewed-by: Tim Deegan <tim@xen.org>
-Reviewed-by: George Dunlap <george.dunlap@citrix.com>
----
-v2: Drop PGC_page_table related pieces.
-
---- a/xen/arch/x86/mm/hap/hap.c
-+++ b/xen/arch/x86/mm/hap/hap.c
-@@ -286,8 +286,7 @@ static struct page_info *hap_alloc_p2m_p
-     {
-         d->arch.paging.hap.total_pages--;
-         d->arch.paging.hap.p2m_pages++;
--        page_set_owner(pg, d);
--        pg->count_info |= 1;
-+        ASSERT(!page_get_owner(pg) && !(pg->count_info & PGC_count_mask));
-     }
-     else if ( !d->arch.paging.p2m_alloc_failed )
-     {
-@@ -302,21 +301,23 @@ static struct page_info *hap_alloc_p2m_p
- 
- static void hap_free_p2m_page(struct domain *d, struct page_info *pg)
- {
-+    struct domain *owner = page_get_owner(pg);
-+
-     /* This is called both from the p2m code (which never holds the 
-      * paging lock) and the log-dirty code (which always does). */
-     paging_lock_recursive(d);
- 
--    ASSERT(page_get_owner(pg) == d);
--    /* Should have just the one ref we gave it in alloc_p2m_page() */
--    if ( (pg->count_info & PGC_count_mask) != 1 ) {
--        HAP_ERROR("Odd p2m page %p count c=%#lx t=%"PRtype_info"\n",
--                     pg, pg->count_info, pg->u.inuse.type_info);
-+    /* Should still have no owner and count zero. */
-+    if ( owner || (pg->count_info & PGC_count_mask) )
-+    {
-+        HAP_ERROR("d%d: Odd p2m page %"PRI_mfn" d=%d c=%lx t=%"PRtype_info"\n",
-+                  d->domain_id, mfn_x(page_to_mfn(pg)),
-+                  owner ? owner->domain_id : DOMID_INVALID,
-+                  pg->count_info, pg->u.inuse.type_info);
-         WARN();
-+        pg->count_info &= ~PGC_count_mask;
-+        page_set_owner(pg, NULL);
-     }
--    pg->count_info &= ~PGC_count_mask;
--    /* Free should not decrement domain's total allocation, since
--     * these pages were allocated without an owner. */
--    page_set_owner(pg, NULL);
-     d->arch.paging.hap.p2m_pages--;
-     d->arch.paging.hap.total_pages++;
-     hap_free(d, page_to_mfn(pg));
---- a/xen/arch/x86/mm/shadow/common.c
-+++ b/xen/arch/x86/mm/shadow/common.c
-@@ -1503,32 +1503,29 @@ shadow_alloc_p2m_page(struct domain *d)
-     pg = mfn_to_page(shadow_alloc(d, SH_type_p2m_table, 0));
-     d->arch.paging.shadow.p2m_pages++;
-     d->arch.paging.shadow.total_pages--;
-+    ASSERT(!page_get_owner(pg) && !(pg->count_info & PGC_count_mask));
- 
-     paging_unlock(d);
- 
--    /* Unlike shadow pages, mark p2m pages as owned by the domain.
--     * Marking the domain as the owner would normally allow the guest to
--     * create mappings of these pages, but these p2m pages will never be
--     * in the domain's guest-physical address space, and so that is not
--     * believed to be a concern. */
--    page_set_owner(pg, d);
--    pg->count_info |= 1;
-     return pg;
- }
- 
- static void
- shadow_free_p2m_page(struct domain *d, struct page_info *pg)
- {
--    ASSERT(page_get_owner(pg) == d);
--    /* Should have just the one ref we gave it in alloc_p2m_page() */
--    if ( (pg->count_info & PGC_count_mask) != 1 )
-+    struct domain *owner = page_get_owner(pg);
-+
-+    /* Should still have no owner and count zero. */
-+    if ( owner || (pg->count_info & PGC_count_mask) )
-     {
--        SHADOW_ERROR("Odd p2m page count c=%#lx t=%"PRtype_info"\n",
-+        SHADOW_ERROR("d%d: Odd p2m page %"PRI_mfn" d=%d c=%lx t=%"PRtype_info"\n",
-+                     d->domain_id, mfn_x(page_to_mfn(pg)),
-+                     owner ? owner->domain_id : DOMID_INVALID,
-                      pg->count_info, pg->u.inuse.type_info);
-+        pg->count_info &= ~PGC_count_mask;
-+        page_set_owner(pg, NULL);
-     }
--    pg->count_info &= ~PGC_count_mask;
-     pg->u.sh.type = SH_type_p2m_table; /* p2m code reuses type-info */
--    page_set_owner(pg, NULL);
- 
-     /* This is called both from the p2m code (which never holds the
-      * paging lock) and the log-dirty code (which always does). */
-@@ -3132,7 +3129,9 @@ int shadow_enable(struct domain *d, u32
-         e = __map_domain_page(pg);
-         write_32bit_pse_identmap(e);
-         unmap_domain_page(e);
-+        pg->count_info = 1;
-         pg->u.inuse.type_info = PGT_l2_page_table | 1 | PGT_validated;
-+        page_set_owner(pg, d);
-     }
- 
-     paging_lock(d);
-@@ -3170,7 +3169,11 @@ int shadow_enable(struct domain *d, u32
-     if ( rv != 0 && !pagetable_is_null(p2m_get_pagetable(p2m)) )
-         p2m_teardown(p2m);
-     if ( rv != 0 && pg != NULL )
-+    {
-+        pg->count_info &= ~PGC_count_mask;
-+        page_set_owner(pg, NULL);
-         shadow_free_p2m_page(d, pg);
-+    }
-     domain_unpause(d);
-     return rv;
- }
-@@ -3279,7 +3282,22 @@ out:
- 
-     /* Must be called outside the lock */
-     if ( unpaged_pagetable )
-+    {
-+        if ( page_get_owner(unpaged_pagetable) == d &&
-+             (unpaged_pagetable->count_info & PGC_count_mask) == 1 )
-+        {
-+            unpaged_pagetable->count_info &= ~PGC_count_mask;
-+            page_set_owner(unpaged_pagetable, NULL);
-+        }
-+        /* Complain here in cases where shadow_free_p2m_page() won't. */
-+        else if ( !page_get_owner(unpaged_pagetable) &&
-+                  !(unpaged_pagetable->count_info & PGC_count_mask) )
-+            SHADOW_ERROR("d%d: Odd unpaged pt %"PRI_mfn" c=%lx t=%"PRtype_info"\n",
-+                         d->domain_id, mfn_x(page_to_mfn(unpaged_pagetable)),
-+                         unpaged_pagetable->count_info,
-+                         unpaged_pagetable->u.inuse.type_info);
-         shadow_free_p2m_page(d, unpaged_pagetable);
-+    }
- }
- 
- void shadow_final_teardown(struct domain *d)
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/xsa249.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/xsa249.patch
deleted file mode 100644
index ecfa430..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/xsa249.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From: Jan Beulich <jbeulich@suse.com>
-Subject: x86/shadow: fix refcount overflow check
-
-Commit c385d27079 ("x86 shadow: for multi-page shadows, explicitly track
-the first page") reduced the refcount width to 25, without adjusting the
-overflow check. Eliminate the disconnect by using a manifest constant.
-
-Interestingly, up to commit 047782fa01 ("Out-of-sync L1 shadows: OOS
-snapshot") the refcount was 27 bits wide, yet the check was already
-using 26.
-
-This is XSA-249.
-
-Signed-off-by: Jan Beulich <jbeulich@suse.com>
-Reviewed-by: George Dunlap <george.dunlap@citrix.com>
-Reviewed-by: Tim Deegan <tim@xen.org>
----
-v2: Simplify expression back to the style it was.
-
---- a/xen/arch/x86/mm/shadow/private.h
-+++ b/xen/arch/x86/mm/shadow/private.h
-@@ -529,7 +529,7 @@ static inline int sh_get_ref(struct doma
-     x = sp->u.sh.count;
-     nx = x + 1;
- 
--    if ( unlikely(nx >= 1U<<26) )
-+    if ( unlikely(nx >= (1U << PAGE_SH_REFCOUNT_WIDTH)) )
-     {
-         SHADOW_PRINTK("shadow ref overflow, gmfn=%lx smfn=%lx\n",
-                        __backpointer(sp), mfn_x(smfn));
---- a/xen/include/asm-x86/mm.h
-+++ b/xen/include/asm-x86/mm.h
-@@ -82,7 +82,8 @@ struct page_info
-             unsigned long type:5;   /* What kind of shadow is this? */
-             unsigned long pinned:1; /* Is the shadow pinned? */
-             unsigned long head:1;   /* Is this the first page of the shadow? */
--            unsigned long count:25; /* Reference count */
-+#define PAGE_SH_REFCOUNT_WIDTH 25
-+            unsigned long count:PAGE_SH_REFCOUNT_WIDTH; /* Reference count */
-         } sh;
- 
-         /* Page is on a free list: ((count_info & PGC_count_mask) == 0). */
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/xsa250.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/xsa250.patch
deleted file mode 100644
index 26aeb33..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/xsa250.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From: Jan Beulich <jbeulich@suse.com>
-Subject: x86/shadow: fix ref-counting error handling
-
-The old-Linux handling in shadow_set_l4e() mistakenly ORed together the
-results of sh_get_ref() and sh_pin(). As the latter failing is not a
-correctness problem, simply ignore its return value.
-
-In sh_set_toplevel_shadow() a failing sh_get_ref() must not be
-accompanied by installing the entry, despite the domain being crashed.
-
-This is XSA-250.
-
-Signed-off-by: Jan Beulich <jbeulich@suse.com>
-Reviewed-by: Tim Deegan <tim@xen.org>
-
---- a/xen/arch/x86/mm/shadow/multi.c
-+++ b/xen/arch/x86/mm/shadow/multi.c
-@@ -923,7 +923,7 @@ static int shadow_set_l4e(struct domain
-                           shadow_l4e_t new_sl4e,
-                           mfn_t sl4mfn)
- {
--    int flags = 0, ok;
-+    int flags = 0;
-     shadow_l4e_t old_sl4e;
-     paddr_t paddr;
-     ASSERT(sl4e != NULL);
-@@ -938,15 +938,16 @@ static int shadow_set_l4e(struct domain
-     {
-         /* About to install a new reference */
-         mfn_t sl3mfn = shadow_l4e_get_mfn(new_sl4e);
--        ok = sh_get_ref(d, sl3mfn, paddr);
--        /* Are we pinning l3 shadows to handle wierd linux behaviour? */
--        if ( sh_type_is_pinnable(d, SH_type_l3_64_shadow) )
--            ok |= sh_pin(d, sl3mfn);
--        if ( !ok )
-+
-+        if ( !sh_get_ref(d, sl3mfn, paddr) )
-         {
-             domain_crash(d);
-             return SHADOW_SET_ERROR;
-         }
-+
-+        /* Are we pinning l3 shadows to handle weird Linux behaviour? */
-+        if ( sh_type_is_pinnable(d, SH_type_l3_64_shadow) )
-+            sh_pin(d, sl3mfn);
-     }
- 
-     /* Write the new entry */
-@@ -3965,14 +3966,15 @@ sh_set_toplevel_shadow(struct vcpu *v,
- 
-     /* Take a ref to this page: it will be released in sh_detach_old_tables()
-      * or the next call to set_toplevel_shadow() */
--    if ( !sh_get_ref(d, smfn, 0) )
-+    if ( sh_get_ref(d, smfn, 0) )
-+        new_entry = pagetable_from_mfn(smfn);
-+    else
-     {
-         SHADOW_ERROR("can't install %#lx as toplevel shadow\n", mfn_x(smfn));
-         domain_crash(d);
-+        new_entry = pagetable_null();
-     }
- 
--    new_entry = pagetable_from_mfn(smfn);
--
-  install_new_entry:
-     /* Done.  Install it */
-     SHADOW_PRINTK("%u/%u [%u] gmfn %#"PRI_mfn" smfn %#"PRI_mfn"\n",
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/xsa251.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/xsa251.patch
deleted file mode 100644
index 582ef62..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/xsa251.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From: Jan Beulich <jbeulich@suse.com>
-Subject: x86/paging: don't unconditionally BUG() on finding SHARED_M2P_ENTRY
-
-PV guests can fully control the values written into the P2M.
-
-This is XSA-251.
-
-Signed-off-by: Jan Beulich <jbeulich@suse.com>
-Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
-
---- a/xen/arch/x86/mm/paging.c
-+++ b/xen/arch/x86/mm/paging.c
-@@ -274,7 +274,7 @@ void paging_mark_pfn_dirty(struct domain
-         return;
- 
-     /* Shared MFNs should NEVER be marked dirty */
--    BUG_ON(SHARED_M2P(pfn_x(pfn)));
-+    BUG_ON(paging_mode_translate(d) && SHARED_M2P(pfn_x(pfn)));
- 
-     /*
-      * Values with the MSB set denote MFNs that aren't really part of the
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/files/xsa253.patch b/import-layers/meta-virtualization/recipes-extended/xen/files/xsa253.patch
deleted file mode 100644
index 19e4269..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/files/xsa253.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From: Andrew Cooper <andrew.cooper3@citrix.com>
-Subject: x86/msr: Free msr_vcpu_policy during vcpu destruction
-
-c/s 4187f79dc7 "x86/msr: introduce struct msr_vcpu_policy" introduced a
-per-vcpu memory allocation, but failed to free it in the clean vcpu
-destruction case.
-
-This is XSA-253
-
-Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
-Reviewed-by: Jan Beulich <jbeulich@suse.com>
-
-diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
-index b17468c..0ae715d 100644
---- a/xen/arch/x86/domain.c
-+++ b/xen/arch/x86/domain.c
-@@ -382,6 +382,9 @@ void vcpu_destroy(struct vcpu *v)
- 
-     vcpu_destroy_fpu(v);
- 
-+    xfree(v->arch.msr);
-+    v->arch.msr = NULL;
-+
-     if ( !is_idle_domain(v->domain) )
-         vpmu_destroy(v);
- 
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/lwip.inc b/import-layers/meta-virtualization/recipes-extended/xen/lwip.inc
deleted file mode 100644
index e083633..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/lwip.inc
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright (C) 2018 kebodiker <kurt.bodiker@braintrust-us.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-require stubdom.inc
-
-# clear this out to break dependency circle
-DEPENDS = ""
-
-# Nothing to configure or compile
-# For stubdoms, lwip is basically a source package with a couple of patches applied.
-do_configure[noexec] = "1"
-do_compile[noexec] = "1"
-
-# needed because this directory isn't typically part of a sysroot
-SYSROOT_DIRS += "${prefix}/lwip"
-
-FILES_${PN} = "\
-    ${prefix} \
-"
-
-do_install() {
-    install -d ${D}${prefix}/lwip
-    cp -r -t ${D}${prefix}/lwip ${S}/src/*
-}
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/lwip_1.3.0.bb b/import-layers/meta-virtualization/recipes-extended/xen/lwip_1.3.0.bb
deleted file mode 100644
index b7d8e95..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/lwip_1.3.0.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (C) 2018 kebodiker <kurt.bodiker@braintrust-us.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-DESCRIPTION = "LWIP"
-HOMEPAGE = "https://savannah.nongnu.org/projects/lwip"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://COPYING;md5=59a383b05013356e0c9899b06dc5da3f"
-
-SRCREV_lwip = "bcb4afa886408bf0a1dde9c2a4a00323c8b07eb1"
-SRC_URI = "\
-    git://git.savannah.gnu.org/lwip.git;protocol=git;nobranch=1;destsuffix=lwip;name=lwip \
-    file://lwip.patch-cvs \
-    file://lwip.dhcp_create_request-hwaddr_len.patch \
-"
-
-S="${WORKDIR}/${PN}"
-B="${S}"
-
-require lwip.inc
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/mini-os.inc b/import-layers/meta-virtualization/recipes-extended/xen/mini-os.inc
deleted file mode 100644
index 61c2704..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/mini-os.inc
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (C) 2018 kebodiker <kurt.bodiker@braintrust-us.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-require stubdom.inc
-
-# clear this out to break dependency circle
-DEPENDS = ""
-
-do_configure() {
-    ${MAKE} -C ${WORKDIR}/mini-os links
-}
-
-# Nothing to configure or compile
-do_compile[noexec] = "1"
-
-# needed because this directory isn't typically part of a sysroot
-SYSROOT_DIRS += "${prefix}/mini-os"
-RDEPENDS_${PN}-dev = "perl"
-
-FILES_${PN}-dev = "\
-    ${prefix} \
-"
-
-do_install() {
-    install -d ${D}${prefix}/mini-os
-    cp -r -t ${D}${prefix}/mini-os ${S}/*
-    rm -rf ${D}${prefix}/mini-os/scripts
-}
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/mini-os_4.9.0.bb b/import-layers/meta-virtualization/recipes-extended/xen/mini-os_4.9.0.bb
deleted file mode 100644
index 298bc8d..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/mini-os_4.9.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (C) 2017 Kurt Bodiker <kurt.bodiker@braintrust-us.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-DESCRIPTION = "Mini-OS is a tiny OS kernel distributed with the Xen Project"
-HOMEPAGE = "https://wiki.xenproject.org/wiki/Mini-OS"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=8a437231894440a8f7629caa372243d0"
-
-# git commit hash for tags: xen-RELEASE-4.9.0, xen-RELEASE-4.9.1, xen-RELEASE-4.9.2
-SRCREV_minios = "ca013fa9baf92f47469ba1f2e1aaa31c41d8a0bb"
-SRC_URI = "\
-    git://xenbits.xen.org/mini-os.git;protocol=git;nobranch=1;destsuffix=mini-os;name=minios \
-    file://mini-os_udivmoddi4-gcc7.patch \
-"
-S="${WORKDIR}/mini-os"
-B="${S}"
-
-require mini-os.inc
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/newlib.inc b/import-layers/meta-virtualization/recipes-extended/xen/newlib.inc
deleted file mode 100644
index 1fdbd0a..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/newlib.inc
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright (C) 2017 Kurt Bodiker <kurt.bodiker@braintrust-us.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-require stubdom.inc
-
-CPPFLAGS_INCLUDE_DIR = "-isystem `${HOST_PREFIX}gcc -print-file-name=include`"
-STUBDOM_CFLAGS += "-D_I386MACH_ALLOW_HW_INTERRUPTS"
-
-export ac_cv_path_CC_FOR_TARGET="${HOST_PREFIX}gcc --sysroot=${RECIPE_SYSROOT} ${STUBDOM_CPPFLAGS} ${STUBDOM_CFLAGS}"
-export CC_FOR_TARGET="${HOST_PREFIX}gcc --sysroot=${RECIPE_SYSROOT} ${STUBDOM_CPPFLAGS} ${STUBDOM_CFLAGS}"
-
-export ac_cv_path_CXX_FOR_TARGET="${HOST_PREFIX}g++ --sysroot=${RECIPE_SYSROOT}"
-export CXX_FOR_TARGET="${HOST_PREFIX}g++ --sysroot=${RECIPE_SYSROOT}"
-
-export ac_cv_path_CPP_FOR_TARGET="${HOST_PREFIX}gcc -E --sysroot=${RECIPE_SYSROOT}"
-export CPP_FOR_TARGET="${HOST_PREFIX}gcc -E --sysroot=${RECIPE_SYSROOT}"
-
-export ac_cv_path_LD_FOR_TARGET="${HOST_PREFIX}ld --sysroot=${RECIPE_SYSROOT}"
-export LD_FOR_TARGET="${HOST_PREFIX}ld --sysroot=${RECIPE_SYSROOT}"
-
-export ac_cv_path_AS_FOR_TARGET="${HOST_PREFIX}as"
-export AS_FOR_TARGET="${HOST_PREFIX}as"
-
-export ac_cv_path_AR_FOR_TARGET="${HOST_PREFIX}ar"
-export AR_FOR_TARGET="${HOST_PREFIX}ar"
-
-export ac_cv_path_NM_FOR_TARGET="${HOST_PREFIX}nm"
-export NM_FOR_TARGET="${HOST_PREFIX}nm"
-
-export ac_cv_path_RANLIB_FOR_TARGET="${HOST_PREFIX}ranlib"
-export RANLIB_FOR_TARGET="${HOST_PREFIX}ranlib"
-
-export ac_cv_path_OBJDUMP_FOR_TARGET="${HOST_PREFIX}objdump"
-export OBJDUMP_FOR_TARGET="${HOST_PREFIX}objdump"
-
-export ac_cv_path_OBJCOPY_FOR_TARGET="${HOST_PREFIX}objcopy"
-export OBJCOPY_FOR_TARGET="${HOST_PREFIX}objcopy"
-
-export ac_cv_path_STRIP_FOR_TARGET="${HOST_PREFIX}strip"
-export STRIP_FOR_TARGET="${HOST_PREFIX}strip"
-
-export ac_cv_path_STRINGS_FOR_TARGET="${HOST_PREFIX}strings"
-export STRINGS_FOR_TARGET="${HOST_PREFIX}strings"
-
-export ac_cv_path_READELF_FOR_TARGET="${HOST_PREFIX}readelf"
-export READELF_FOR_TARGET="${HOST_PREFIX}readelf"
-
-do_configure() {
-    ${S}/configure --verbose --prefix=${prefix} --target=${GNU_TARGET_ARCH}-xen-elf --enable-newlib-io-long-long --disable-multilib
-    find ${S} -type f | xargs perl -i.bak -pe 's/\b_(tzname|daylight|timezone)\b/$1/g'
-}
-
-do_compile() {
-    ${MAKE}
-}
-
-do_install() {
-    ${MAKE} DESTDIR=${D} install
-    rm -rf ${D}/cross-root-${GNU_TARGET_ARCH}/share
-    rm -rf ${D}/cross-root-${GNU_TARGET_ARCH}/info
-    install -m 644 `${HOST_PREFIX}gcc -print-file-name=include`/stdarg.h -t ${D}/${includedir}
-    install -m 644 `${HOST_PREFIX}gcc -print-file-name=include`/stddef.h -t ${D}/${includedir}
-    install -m 644 `${HOST_PREFIX}gcc -print-file-name=include`/stdbool.h -t ${D}/${includedir}
-}
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/newlib_1.16.0.bb b/import-layers/meta-virtualization/recipes-extended/xen/newlib_1.16.0.bb
deleted file mode 100644
index 60672be..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/newlib_1.16.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (C) 2017 Kurt Bodiker <kurt.bodiker@braintrust-us.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-DESCRIPTION = "Newlib is a C library intended for use on embedded systems."
-HOMEPAGE = "http://sourceware.org/newlib"
-LICENSE = "GPLv2 & LGPLv3 & GPLv3 & LGPLv2"
-LIC_FILES_CHKSUM = "file://COPYING.NEWLIB;md5=950f50b290e8fcf7a2d3fff61775de9b"
-
-# this is the hash of version tag 1_16_0
-SRCREV_newlib = "07b4b67a88f386ce4716a14e0ff2c2bce992b985"
-SRC_URI = "\
-    git://sourceware.org/git/newlib-cygwin.git;protocol=git;nobranch=1;destsuffix=newlib;name=newlib \
-    file://newlib.patch \
-    file://newlib-chk.patch \
-    file://newlib-stdint-size_max-fix-from-1.17.0.patch \
-"
-
-S="${WORKDIR}/newlib"
-B="${WORKDIR}/build"
-
-require newlib.inc
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/polarssl.inc b/import-layers/meta-virtualization/recipes-extended/xen/polarssl.inc
deleted file mode 100644
index eae95f4..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/polarssl.inc
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (C) 2017 Kurt Bodiker <kurt.bodiker@braintrust-us.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-require stubdom.inc
-
-DEPENDS += "\
-    newlib \
-"
-STUBDOM_CFLAGS += "\
-    -Wno-memset-elt-size \
-    -Wno-implicit-fallthrough \
-"
-
-# nothing to configure
-do_configure[noexec] = "1"
-
-do_compile() {
-    ${MAKE} CC="${HOST_PREFIX}gcc --sysroot=${RECIPE_SYSROOT} ${STUBDOM_CPPFLAGS} ${STUBDOM_CFLAGS}"
-}
-
-do_install() {
-    install -d ${D}${includedir}
-    cp -r -t ${D}${includedir} ${S}/include/polarssl
-
-    install -d ${D}/${libdir}
-    install -m 644 -t ${D}/${libdir} ${S}/library/libpolarssl.a
-}
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/polarssl_1.1.4.bb b/import-layers/meta-virtualization/recipes-extended/xen/polarssl_1.1.4.bb
deleted file mode 100644
index 80ea45a..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/polarssl_1.1.4.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright (C) 2017 Kurt Bodiker <kurt.bodiker@braintrust-us.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-DESCRIPTION = "PolarSSL (now 'mbed TLS') is an open source, portable, easy to use, readable and flexible SSL library."
-HOMEPAGE = "https://tls.mbed.org"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe"
-
-# git hash for release tag polarssl-1.1.4
-SRCREV_polarssl = "d36da11125a9c85c572a4fdf63e0a25e76d7bb18"
-SRC_URI = "\
-    git://github.com/ARMmbed/mbedtls.git;protocol=https;nobranch=1;destsuffix=polarssl;name=polarssl \
-    file://polarssl.patch; \
-"
-
-S="${WORKDIR}/${PN}"
-B="${S}/library"
-
-require polarssl.inc
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/stubdom-gmp.inc b/import-layers/meta-virtualization/recipes-extended/xen/stubdom-gmp.inc
deleted file mode 100644
index ef6473d..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/stubdom-gmp.inc
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright (C) 2017 Kurt Bodiker <kurt.bodiker@braintrust-us.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-require stubdom.inc
-
-DEPENDS += "\
-    newlib \
-"
-
-do_configure() {
-    # need to modify prefix here during configure otherwise OE-level variables
-    # (prefix, libdir, includedir, etc...) defined in stubdom.inc get messed up
-    CPPFLAGS="-isystem ${RECIPE_SYSROOT}/cross-root-${GNU_TARGET_ARCH}/${GNU_TARGET_ARCH}-xen-elf/include ${STUBDOM_CPPFLAGS}" \
-    CFLAGS="${STUBDOM_CFLAGS}" \
-    CC="${HOST_PREFIX}gcc --sysroot=${RECIPE_SYSROOT}" \
-    ${S}/configure \
-        --disable-shared \
-        --enable-static \
-        --disable-fft \
-        --without-readline \
-        --with-gnu-ld \
-        --prefix=${prefix}/${GNU_TARGET_ARCH}-xen-elf \
-        --libdir=${libdir} \
-        --build=`${HOST_PREFIX}gcc -dumpmachine` \
-        --host=${GNU_TARGET_ARCH}-xen-elf
-
-    sed -i 's/#define HAVE_OBSTACK_VPRINTF 1/\/\/#define HAVE_OBSTACK_VPRINTF 1/' ${S}/config.h
-}
-
-do_compile() {
-    ${MAKE}
-}
-
-do_install() {
-    ${MAKE} DESTDIR=${D} install
-    rm -rf ${D}${prefix}/${GNU_TARGET_ARCH}-xen-elf/share
-}
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/stubdom-gmp_4.3.2.bb b/import-layers/meta-virtualization/recipes-extended/xen/stubdom-gmp_4.3.2.bb
deleted file mode 100644
index d9a2adb..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/stubdom-gmp_4.3.2.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright (C) 2017 Kurt Bodiker <kurt.bodiker@braintrust-us.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-DESCRIPTION = "GMP library for Xen vTPM's."
-HOMEPAGE = "http://gmp"
-LICENSE = "GPLv3"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
-                    file://COPYING.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
-"
-
-SRC_URI = "\
-    https://gmplib.org/download/gmp/archive/gmp-${PV}.tar.bz2 \
-"
-SRC_URI[md5sum] = "dd60683d7057917e34630b4a787932e8"
-SRC_URI[sha256sum] = "936162c0312886c21581002b79932829aa048cfaf9937c6265aeaa14f1cd1775"
-
-S="${WORKDIR}/gmp-${PV}"
-B="${S}"
-
-require stubdom-gmp.inc
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/stubdom.inc b/import-layers/meta-virtualization/recipes-extended/xen/stubdom.inc
deleted file mode 100644
index bfc6752..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/stubdom.inc
+++ /dev/null
@@ -1,152 +0,0 @@
-# Copyright (C) 2017 Kurt Bodiker <kurt.bodiker@braintrust-us.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-COMPATIBLE_HOST = '(x86_64.*).*-linux'
-
-require xen-arch.inc
-
-# many of the xen stubdom related recipes build and package static instead of shared libraries
-EXCLUDE_FROM_SHLIBS = "1"
-
-# base set of dependencies to be used for xen stubdom recipes
-DEPENDS += "\
-    lwip \
-    mini-os \
-"
-
-# unset EVERYTHING from the OE environment.
-# Weird things happen when these are exported into the environment.
-unset CFLAGS
-unset BUILD_CFLAGS
-unset TARGET_CFLAGS
-unset CFLAGS_FOR_BUILD
-
-unset CPPFLAGS
-unset BUILD_CPPFLAGS
-unset TARGET_CPPFLAGS
-unset CPPFLAGS_FOR_BUILD
-
-unset LDFLAGS
-unset BUILD_LDFLAGS
-unset TARGET_LDFLAGS
-unset LDFLAGS_FOR_BUILD
-
-unset CXXFLAGS
-unset TARGET_CXXFLAGS
-unset BUILD_CXXFLAGS
-unset CXXFLAGS_FOR_BUILD
-
-unset BUILD_CC
-unset BUILD_CPP
-unset BUILD_CXX
-unset BUILD_LD
-unset BUILD_AR
-unset BUILD_AS
-unset BUILD_CCLD
-unset BUILD_FC
-unset BUILD_RANLIB
-unset BUILD_NM
-unset BUILD_STRIP
-unset BUILD_READELF
-unset BUILD_OBJCOPY
-unset BUILD_OBJDUMP
-unset CC
-unset CPP
-unset CXX
-unset LD
-unset AR
-unset AS
-unset NM
-unset RANLIB
-unset STRIP
-unset STRINGS
-unset READELF
-unset OBJCOPY
-unset OBJDUMP
-unset READELF
-unset CCLD
-unset FC
-
-# Provide support to build both 32-bit and 64-bit stubdoms
-python () {
-    gnu_dict = {
-            'x86_32': 'i686',
-            'x86_64': 'x86_64',
-        }
-
-    if d.expand('${XEN_TARGET_ARCH}') == 'x86_32':
-        d.setVar("GNU_TARGET_ARCH",gnu_dict[d.expand('${XEN_TARGET_ARCH}')])
-        d.setVar("PACKAGE_ARCH","core2-32")
-    elif d.expand('${XEN_TARGET_ARCH}') == 'x86_64':
-        d.setVar("GNU_TARGET_ARCH",gnu_dict[d.expand('${XEN_TARGET_ARCH}')])
-}
-
-export GNU_TARGET_ARCH
-export XEN_TARGET_ARCH="${@map_xen_arch(d.getVar('TARGET_ARCH'), d)}"
-export XEN_COMPILE_ARCH="${@map_xen_arch(d.getVar('BUILD_ARCH'), d)}"
-
-LWIP_SRCDIR = "${RECIPE_SYSROOT}/cross-root-${GNU_TARGET_ARCH}/lwip"
-MINIOS_SRCDIR = "${RECIPE_SYSROOT}/cross-root-${GNU_TARGET_ARCH}/mini-os"
-
-# Base set of CPPFLAGS, CFLAGS needed for each component used to build MiniOS-based stubdoms
-# LDFLAGS are only used when building stubdoms, so only used in stubdom recipes
-# Generic name given because each library uses DEF_, BUILD_, TARGET_, and xxxFLAGS differently
-CPPFLAGS_INCLUDE_DIR = "-isystem ${RECIPE_SYSROOT}/cross-root-${GNU_TARGET_ARCH}/${GNU_TARGET_ARCH}-xen-elf/include"
-
-STUBDOM_CPPFLAGS += "\
-    -isystem ${MINIOS_SRCDIR}/include \
-    -D__MINIOS__ \
-    -DHAVE_LIBC \
-    -isystem ${MINIOS_SRCDIR}/include/posix \
-    -isystem ${MINIOS_SRCDIR}/include/xen \
-    -isystem ${MINIOS_SRCDIR}/include/x86 \
-    -isystem ${MINIOS_SRCDIR}/include/x86/${XEN_TARGET_ARCH} \
-    -U __linux__ \
-    -U __FreeBSD__ \
-    -U __sun__ \
-    -nostdinc \
-    ${CPPFLAGS_INCLUDE_DIR} \
-    -isystem ${LWIP_SRCDIR}/include \
-    -isystem ${LWIP_SRCDIR}/include/ipv4 \
-"
-
-STUBDOM_CFLAGS += "\
-    -mno-red-zone \
-    -O1 \
-    -fno-omit-frame-pointer \
-    -m64 \
-    -fno-reorder-blocks \
-    -fno-asynchronous-unwind-tables \
-    -DBUILD_ID \
-    -fno-strict-aliasing \
-    -std=gnu99 \
-    -Wall \
-    -Wstrict-prototypes \
-    -Wdeclaration-after-statement \
-    -Wno-unused-but-set-variable \
-    -Wno-unused-local-typedefs \
-    -fno-stack-protector \
-    -fno-exceptions \
-"
-
-STUBDOM_LDFLAGS = "\
-    -nostdlib \
-    -L${RECIPE_SYSROOT}/cross-root-${GNU_TARGET_ARCH}/${GNU_TARGET_ARCH}-xen-elf/lib \
-"
-
-# Need to redefine these for stubdom-related builds. It all starts because of
-# the prefix used in newlib and then continues because we don't want to
-# cross-contaminate stubdom-related recipes with headers and libraries found in
-# the OE-defined locations
-export prefix="/cross-root-${GNU_TARGET_ARCH}"
-export includedir="${prefix}/${GNU_TARGET_ARCH}-xen-elf/include"
-export libdir="${prefix}/${GNU_TARGET_ARCH}-xen-elf/lib"
-export libexecdir="${libdir}"
-export STAGING_INCDIR
-export STAGING_LIBDIR
-
-# Typically defined in Xen and Minios .mk files that aren't sourced/read,
-# defined to trigger some values and paths in Makefiles
-export debug="y"
-export stubdom="y"
-export XEN_OS="MiniOS"
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/tpm-emulator.inc b/import-layers/meta-virtualization/recipes-extended/xen/tpm-emulator.inc
deleted file mode 100644
index f58a276..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/tpm-emulator.inc
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright (C) 2017 Kurt Bodiker <kurt.bodiker@braintrust-us.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-require stubdom.inc
-
-DEPENDS += "\
-    cmake-native \
-    newlib \
-    stubdom-gmp \
-"
-
-# nothing to configure
-do_configure[noexec] = "1"
-
-export CMAKE_C_FLAGS = "\
-    -std=c99 \
-    -DTPM_NO_EXTERN \
-    ${STUBDOM_CPPFLAGS} \
-    ${STUBDOM_CFLAGS} \
-    -Wno-declaration-after-statement \
-    -Wno-implicit-fallthrough \
-"
-
-do_compile() {
-    CC="${HOST_PREFIX}gcc --sysroot=${RECIPE_SYSROOT}" cmake .. -DCMAKE_C_FLAGS:STRING="${CMAKE_C_FLAGS}"
-    ${MAKE} VERBOSE=1 tpm_crypto tpm
-}
-
-do_install() {
-    install -d ${D}/${libdir}
-    install -m 644 -t ${D}/${libdir} ${B}/crypto/libtpm_crypto.a
-    install -m 644 -t ${D}/${libdir} ${B}/tpm/libtpm.a
-
-    install -D -m 644 -t ${D}/${includedir}/tpm-emulator/build ${S}/build/config.h
-    install -D -m 644 -t ${D}/${includedir}/tpm-emulator/crypto ${S}/crypto/*.h
-    install -D -m 644 -t ${D}/${includedir}/tpm-emulator/tpm ${S}/tpm/*.h
-}
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/tpm-emulator_0.7.4.bb b/import-layers/meta-virtualization/recipes-extended/xen/tpm-emulator_0.7.4.bb
deleted file mode 100644
index f626929..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/tpm-emulator_0.7.4.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (C) 2017 Kurt Bodiker <kurt.bodiker@braintrust-us.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-DESCRIPTION = "TPM Emulator"
-HOMEPAGE = "http://xenbits.xen.org/xen-extfiles"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://README;md5=eeabd77cf8fd8a8bc42983884cb09863"
-
-SRC_URI = "\
-    http://xenbits.xen.org/xen-extfiles/tpm_emulator-${PV}.tar.gz;name=tpm-emulator \
-    file://tpmemu-0.7.4.patch \
-    file://vtpm-bufsize.patch \
-    file://vtpm-locality.patch \
-    file://vtpm-parent-sign-ek.patch \
-    file://vtpm-deepquote.patch \
-    file://vtpm-deepquote-anyloc.patch \
-    file://vtpm-cmake-Wextra.patch \
-    file://vtpm-implicit-fallthrough.patch \
-"
-SRC_URI[tpm-emulator.md5sum] = "e26becb8a6a2b6695f6b3e8097593db8"
-SRC_URI[tpm-emulator.sha256sum] = "4e48ea0d83dd9441cc1af04ab18cd6c961b9fa54d5cbf2c2feee038988dea459"
-
-S="${WORKDIR}/tpm_emulator-${PV}"
-B="${S}/build"
-
-require tpm-emulator.inc
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/xen-arch.inc b/import-layers/meta-virtualization/recipes-extended/xen/xen-arch.inc
deleted file mode 100644
index fb0093e..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/xen-arch.inc
+++ /dev/null
@@ -1,18 +0,0 @@
-
-valid_xen_archs = " \
-        x86_64 x86_32 \
-        arm32 arm64 \
-        "
-
-def map_xen_arch(a, d):
-    import re
-    valid_archs = d.getVar('valid_xen_archs').split()
-
-    if   re.match("i.86", a):        return "x86_32"
-    elif re.match("x86.64", a):      return "x86_64"
-    elif re.match("arm.*", a):       return "arm32"
-    elif re.match("aarch64.*", a):   return "arm64"
-    elif a in valid_archs:           return a
-    else:
-        return "INVALID"
-
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/xen-vtpm.inc b/import-layers/meta-virtualization/recipes-extended/xen/xen-vtpm.inc
deleted file mode 100644
index a94c750..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/xen-vtpm.inc
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright (C) 2017 Kurt Bodiker <kurt.bodiker@braintrust-us.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-require stubdom.inc
-
-DEPENDS = "\
-    newlib \
-    lwip \
-    mini-os \
-    polarssl \
-    stubdom-gmp \
-    tpm-emulator \
-"
-# These were unset by stubdom.inc to allow us to scope them per recipe
-export CC="${HOST_PREFIX}gcc --sysroot=${RECIPE_SYSROOT}"
-export CCLD="${HOST_PREFIX}gcc --sysroot=${RECIPE_SYSROOT}"
-export CXX="${HOST_PREFIX}g++ --sysroot=${RECIPE_SYSROOT}"
-export CPP="${HOST_PREFIX}gcc -E --sysroot=${RECIPE_SYSROOT}"
-export LD="${HOST_PREFIX}ld --sysroot=${RECIPE_SYSROOT}"
-export LD_LTO="${HOST_PREFIX}ld --sysroot=${RECIPE_SYSROOT}"
-export AS="${HOST_PREFIX}as"
-export AR="${HOST_PREFIX}ar"
-export NM="${HOST_PREFIX}nm"
-export RANLIB="${HOST_PREFIX}ranlib"
-export OBJDUMP="${HOST_PREFIX}objdump"
-export OBJCOPY="${HOST_PREFIX}objcopy"
-export STRIP="${HOST_PREFIX}strip"
-export STRINGS="${HOST_PREFIX}strings"
-export READELF="${HOST_PREFIX}readelf"
-
-
-# Required for some of the config stuff
-export STUBDOM_TARGETS="vtpm vtpmmgr"
-
-VTPM_CPPFLAGS = "\
-    -I${RECIPE_SYSROOT}/cross-root-${GNU_TARGET_ARCH}/${GNU_TARGET_ARCH}-xen-elf/include/tpm-emulator/build \
-    -I${RECIPE_SYSROOT}/cross-root-${GNU_TARGET_ARCH}/${GNU_TARGET_ARCH}-xen-elf/include/tpm-emulator/crypto \
-    -I${RECIPE_SYSROOT}/cross-root-${GNU_TARGET_ARCH}/${GNU_TARGET_ARCH}-xen-elf/include/tpm-emulator/tpm \
-    -I${RECIPE_SYSROOT}/cross-root-${GNU_TARGET_ARCH}/${GNU_TARGET_ARCH}-xen-elf/include/tpm-emulator \
-"
-
-# The includes from this Xen directory are not in the MiniOS repo, although they probably should be.
-STUBDOM_CPPFLAGS += "-isystem ${B}/include/"
-
-do_configure() {
-
-    # GCC 7 fails linking header defined inlines if not declared 'static' or 'extern'
-    # This appears to be fixed in Xen 4.10.0+, so let's look at version of Xen source
-    # to determine if we need to modify inline declarations.
-    #
-    # 'echo -e' to enable interpretation of backslashes
-    # 'sort -V' to natural sort version numbers
-    # 'head -n1' to capture the first line of output from sort command
-
-    if [ "${PV}" = "$(echo "${PV};4.9.999" | sed 's/;/\n/' | sort -V | head -n1)" ]; then
-        sed -i "s/^inline/static inline/g" ${B}/vtpmmgr/*.h
-    fi
-
-    for i in AR AS NM RANLIB OBJDUMP OBJCOPY STRIP STRINGS READELF CXX LD LD_LTO CC CPP; do
-        sed -i "s/^\($i\s\s*\).*=/\1?=/" ${MINIOS_SRCDIR}/Config.mk
-    done
-
-    # replicate the TARGETS_MINIOS target in xen/stubdom/Makefile
-    for i in ${STUBDOM_TARGETS}; do
-        [ -d ${B}/mini-os-${XEN_TARGET_ARCH}-$i ] ||
-        for j in $(cd ${MINIOS_SRCDIR} ; find . -type d) ; do \
-                mkdir -p ${B}/mini-os-${XEN_TARGET_ARCH}-$i/$j; \
-        done
-    done
-}
-
-do_compile() {
-    ${MAKE} MINIOS_CONFIG="${B}/vtpm/minios.cfg" CONFIG_FILE="${B}/vtpm-minios-config.mk" DESTDIR= -C ${MINIOS_SRCDIR} config
-    CPPFLAGS="`cat ${B}/vtpm-minios-config.mk` ${STUBDOM_CPPFLAGS} ${VTPM_CPPFLAGS}" CFLAGS="${STUBDOM_CFLAGS}" ${MAKE} -C ${B}/vtpm
-    DEF_CPPFLAGS="${STUBDOM_CPPFLAGS}" \
-        DEF_CFLAGS="${STUBDOM_CFLAGS}" \
-        DEF_LDFLAGS="${STUBDOM_LDFLAGS}" \
-        MINIOS_CONFIG="${B}/vtpm/minios.cfg" \
-        ${MAKE} -C ${MINIOS_SRCDIR} \
-        OBJ_DIR=${B}/mini-os-${XEN_TARGET_ARCH}-vtpm \
-        APP_OBJS="${B}/vtpm/vtpm.a" \
-        APP_LDLIBS="-ltpm -ltpm_crypto -lgmp -lpolarssl"
-
-    ${MAKE} MINIOS_CONFIG="${B}/vtpmmgr/minios.cfg" CONFIG_FILE="${B}/vtpmmgr-minios-config.mk" DESTDIR= -C ${MINIOS_SRCDIR} config
-    CPPFLAGS="`cat ${B}/vtpmmgr-minios-config.mk` ${STUBDOM_CPPFLAGS}" CFLAGS="${STUBDOM_CFLAGS}" ${MAKE} -C ${B}/vtpmmgr
-    DEF_CPPFLAGS="${STUBDOM_CPPFLAGS}" \
-        DEF_CFLAGS="${STUBDOM_CFLAGS}" \
-        DEF_LDFLAGS="${STUBDOM_LDFLAGS}" \
-        MINIOS_CONFIG="${B}/vtpmmgr/minios.cfg" \
-        ${MAKE} -C ${MINIOS_SRCDIR} \
-        OBJ_DIR=${B}/mini-os-${XEN_TARGET_ARCH}-vtpmmgr \
-        APP_OBJS="${B}/vtpmmgr/vtpmmgr.a" \
-        APP_LDLIBS="-lm -lpolarssl"
-}
-
-PACKAGES = "\
-    ${PN}-vtpm-stubdom \
-    ${PN}-vtpmmgr-stubdom \
-"
-FILES_${PN}-vtpm-stubdom="\
-    ${libdir}/xen/boot/vtpm-stubdom.gz \
-"
-
-FILES_${PN}-vtpmmgr-stubdom="\
-    ${libdir}/xen/boot/vtpmmgr-stubdom.gz \
-"
-
-do_install() {
-    install -m 644 -D ${B}/mini-os-${XEN_TARGET_ARCH}-vtpm/mini-os.gz ${D}${libdir}/xen/boot/vtpm-stubdom.gz
-    install -m 644 -D ${B}/mini-os-${XEN_TARGET_ARCH}-vtpmmgr/mini-os.gz ${D}${libdir}/xen/boot/vtpmmgr-stubdom.gz
-}
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/xen-vtpm_4.9.0.bb b/import-layers/meta-virtualization/recipes-extended/xen/xen-vtpm_4.9.0.bb
deleted file mode 100644
index c58a02d..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/xen-vtpm_4.9.0.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (C) 2017 Kurt Bodiker <kurt.bodiker@braintrust-us.com>
-# Released under the MIT license (see COPYING.MIT for the terms)
-
-DESCRIPTION = "MiniOS-based vTPMs for Xen"
-HOMEPAGE = "https://www.xenproject.org"
-LICENSE = "GPLv2 & BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b1ceb1b03a49b202ee6f41ffd1ed0155 \
-                    file://vtpm/COPYING;md5=75a98062ab0322ded060d9026a1bda61 \
-"
-
-# git commit hash for Xen's RELEASE-4.9.0 tag
-SRCREV_xen = "c30bf55594a53fae8aae08aabf16fc192faad7da"
-SRC_URI = "\
-    git://xenbits.xen.org/xen.git;protocol=git;nobranch=1;name=xen;subpath=stubdom \
-    git://xenbits.xen.org/xen.git;protocol=git;nobranch=1;name=xen;destsuffix=stubdom/include;subpath=tools/xenstore/include \
-"
-
-S="${WORKDIR}/stubdom"
-B="${S}"
-
-require xen-vtpm.inc
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/xen.inc b/import-layers/meta-virtualization/recipes-extended/xen/xen.inc
deleted file mode 100644
index 8dfe589..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/xen.inc
+++ /dev/null
@@ -1,1049 +0,0 @@
-DESCRIPTION = "Xen hypervisor"
-HOMEPAGE = "http://xen.org"
-LICENSE = "GPLv2"
-SECTION = "console/tools"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbb4b1bdc2c3b6743da3c39d03249095"
-
-COMPATIBLE_HOST = '(x86_64.*).*-linux|aarch64.*-linux'
-
-inherit autotools-brokensep setuptools update-rc.d systemd deploy
-
-require xen-arch.inc
-
-PACKAGECONFIG ??= " \
-    sdl \
-    ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
-    ${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', 'hvm', '', d)} \
-    "
-
-FLASK_POLICY_FILE ?= "xenpolicy-${PV}"
-
-PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,virtual/libsdl,"
-PACKAGECONFIG[xsm] = "--enable-xsmpolicy,--disable-xsmpolicy,checkpolicy-native,"
-PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd,"
-PACKAGECONFIG[hvm] = "--with-system-seabios="/usr/share/firmware/bios.bin",--disable-seabios,seabios ipxe vgabios,"
-
-DEPENDS = " \
-    bison-native \
-    dev86-native \
-    flex-native \
-    file-native \
-    gettext-native \
-    iasl-native \
-    ncurses-native \
-    util-linux-native \
-    xz-native \
-    bridge-utils \
-    curl \
-    dtc \
-    gettext \
-    glib-2.0 \
-    gnutls \
-    iproute2 \
-    libnl \
-    ncurses \
-    openssl \
-    pciutils \
-    pixman \
-    procps \
-    python \
-    libaio \
-    lzo \
-    util-linux \
-    xz \
-    yajl \
-    zlib \
-    gnu-efi \
-    "
-
-# inherit setuptools adds python to RDEPENDS, override it
-RDEPENDS_${PN} = ""
-
-RDEPENDS_${PN}-base = "\
-    bash perl xz \
-    ${PN}-console \
-    ${PN}-libxenguest \
-    ${PN}-libxenlight \
-    ${PN}-libxenvchan \
-    ${PN}-libxenctrl \
-    ${PN}-libxlutil \
-    ${PN}-libxenstat \
-    ${PN}-libxenstore \
-    ${PN}-libfsimage \
-    ${PN}-fsimage \
-    ${PN}-scripts-block \
-    ${PN}-scripts-network \
-    ${PN}-xen-watchdog \
-    ${PN}-xencommons \
-    ${PN}-xendomains \
-    ${PN}-xenstore \
-    ${PN}-xenstored \
-    ${PN}-xl \
-    "
-
-RDEPENDS_${PN}-dev = ""
-
-RRECOMMENDS_${PN}-base = " \
-    ${PN}-blktap \
-    ${PN}-libblktap \
-    ${PN}-libblktapctl \
-    ${PN}-libvhd \
-    ${PN}-flask \
-    ${PN}-hvmloader \
-    ${PN}-xenpaging \
-    "
-
-RDEPENDS_${PN}-devd = " \
-    ${PN}-xl \
-    "
-
-RDEPENDS_${PN}-fsimage = " \
-    libext2fs \
-    "
-
-RDEPENDS_${PN}-misc = " \
-    perl \
-    python \
-    "
-
-RDEPENDS_${PN}-remus = " \
-    bash \
-    python \
-    "
-
-RDEPENDS_${PN}-scripts-block = "\
-    bash \
-    ${PN}-scripts-common \
-    ${PN}-volatiles \
-    "
-
-RDEPENDS_${PN}-scripts-common = "bash"
-
-RDEPENDS_${PN}-scripts-network = "\
-    bash \
-    bridge-utils \
-    ${PN}-scripts-common \
-    ${PN}-volatiles \
-    "
-
-RDEPENDS_${PN}-xencommons = "\
-    bash \
-    ${PN}-console \
-    ${PN}-xenstore \
-    ${PN}-xenstored \
-    ${PN}-xl \
-    ${PN}-scripts-common \
-    "
-
-RDEPENDS_${PN}-xendomains = "\
-    bash \
-    ${PN}-console \
-    ${PN}-scripts-block \
-    ${PN}-scripts-common \
-    ${PN}-xenstored \
-    "
-
-RDEPENDS_${PN}-xl = "libgcc"
-
-RDEPENDS_${PN}-xentrace = "python"
-
-RDEPENDS_${PN}-xen-watchdog = "bash"
-
-PACKAGES = "\
-    ${PN}-base \
-    ${PN}-blktap \
-    ${PN}-console \
-    ${PN}-cpuid \
-    ${PN}-dbg \
-    ${PN}-dev \
-    ${PN}-devd \
-    ${PN}-doc \
-    ${PN}-efi \
-    ${PN}-flask \
-    ${PN}-flask-tools \
-    ${PN}-fsimage \
-    ${PN}-gdbsx \
-    ${PN}-hvmloader \
-    ${PN}-hypervisor \
-    ${PN}-init-xenstore-dom \
-    ${PN}-kdd \
-    ${PN}-libblktap \
-    ${PN}-libblktapctl \
-    ${PN}-libblktapctl-dev \
-    ${PN}-libblktap-dev \
-    ${PN}-libfsimage \
-    ${PN}-libfsimage-dev \
-    ${PN}-libvhd \
-    ${PN}-libvhd-dev \
-    ${PN}-libxencall \
-    ${PN}-libxencall-dev \
-    ${PN}-libxenctrl \
-    ${PN}-libxenctrl-dev \
-    ${PN}-libxendevicemodel \
-    ${PN}-libxendevicemodel-dev \
-    ${PN}-libxenevtchn \
-    ${PN}-libxenevtchn-dev \
-    ${PN}-libxenforeignmemory \
-    ${PN}-libxenforeignmemory-dev \
-    ${PN}-libxengnttab \
-    ${PN}-libxengnttab-dev \
-    ${PN}-libxenguest \
-    ${PN}-libxenguest-dev \
-    ${PN}-libxenlight \
-    ${PN}-libxenlight-dev \
-    ${PN}-libxenstat \
-    ${PN}-libxenstat-dev \
-    ${PN}-libxenstore \
-    ${PN}-libxenstore-dev \
-    ${PN}-libxentoolcore \
-    ${PN}-libxentoolcore-dev \
-    ${PN}-libxentoollog \
-    ${PN}-libxentoollog-dev \
-    ${PN}-libxenvchan \
-    ${PN}-libxenvchan-dev \
-    ${PN}-libxlutil \
-    ${PN}-libxlutil-dev \
-    ${PN}-livepatch \
-    ${PN}-misc \
-    ${PN}-pygrub \
-    ${PN}-python \
-    ${PN}-qemu \
-    ${PN}-remus \
-    ${PN}-scripts-block \
-    ${PN}-scripts-common \
-    ${PN}-scripts-network \
-    ${PN}-staticdev \
-    ${PN}-volatiles \
-    ${PN}-xcutils \
-    ${PN}-xencommons \
-    ${PN}-xend \
-    ${PN}-xend-examples \
-    ${PN}-xendomains \
-    ${PN}-xenmon \
-    ${PN}-xenpaging \
-    ${PN}-xenpmd \
-    ${PN}-xenstat \
-    ${PN}-xenstore \
-    ${PN}-xenstored \
-    ${PN}-xentrace \
-    ${PN}-xen-watchdog \
-    ${PN}-xl \
-    ${PN}-xl-examples \
-    ${PN}-xm \
-    ${PN}-xm-examples \
-    "
-
-FILES_${PN}-dbg += "\
-    ${libdir}/.debug \
-    ${libdir}/debug/* \
-    ${libdir}/xen/bin/.debug \
-    ${libdir}/python2.7/site-packages/.debug \
-    ${libdir}/python2.7/site-packages/xen/lowlevel/.debug \
-    ${libdir}/fs/xfs/.debug \
-    ${libdir}/fs/ufs/.debug \
-    ${libdir}/fs/ext2fs-lib/.debug \
-    ${libdir}/fs/fat/.debug \
-    ${libdir}/fs/zfs/.debug \
-    ${libdir}/fs/reiserfs/.debug \
-    ${libdir}/fs/iso9660/.debug \
-    ${libdir}/fs/*/.debug \
-    ${sbindir}/.debug \
-    ${libdir}exec/.debug \
-    ${libdir}/xen/libexec/.debug \
-    ${bindir}/.debug \
-    ${libdir}/python2.7/dist-packages/.debug \
-    ${libdir}/python2.7/dist-packages/xen/lowlevel/.debug \
-    "
-
-FILES_${PN}-dev = "\
-    ${includedir} \
-    "
-
-FILES_${PN}-doc = "\
-    ${sysconfdir}/xen/README \
-    ${sysconfdir}/xen/README.incompatibilities \
-    ${datadir}/doc \
-    ${datadir}/man \
-    "
-
-FILES_${PN}-staticdev += "\
-    ${libdir}/libblktapctl.a \
-    ${libdir}/libxenguest.a \
-    ${libdir}/libxenlight.a \
-    ${libdir}/libxenvchan.a \
-    ${libdir}/libxenctrl.a \
-    ${libdir}/libxlutil.a \
-    ${libdir}/libvhd.a \
-    ${libdir}/libxenstat.a \
-    ${libdir}/libxenstore.a \
-    ${libdir}/libblktap.a \
-    "
-
-FILES_${PN}-libblktapctl = "${libdir}/libblktapctl.so.*"
-FILES_${PN}-libblktapctl-dev = " \
-    ${libdir}/libblktapctl.so \
-    ${datadir}/pkgconfig/xenblktapctl.pc \
-    "
-
-FILES_${PN}-libxencall = "${libdir}/libxencall.so.*"
-FILES_${PN}-libxencall-dev = " \
-    ${libdir}/libxencall.so \
-    ${datadir}/pkgconfig/xencall.pc \
-    "
-
-FILES_${PN}-libxenctrl = "${libdir}/libxenctrl.so.*"
-FILES_${PN}-libxenctrl-dev = " \
-    ${libdir}/libxenctrl.so \
-    ${datadir}/pkgconfig/xencontrol.pc \
-    "
-
-FILES_${PN}-libxendevicemodel = "${libdir}/libxendevicemodel.so.*"
-FILES_${PN}-libxendevicemodel-dev = " \
-    ${libdir}/libxendevicemodel.so \
-    ${datadir}/pkgconfig/xendevicemodel.pc \
-    "
-
-FILES_${PN}-libxenevtchn = "${libdir}/libxenevtchn.so.*"
-FILES_${PN}-libxenevtchn-dev = " \
-    ${libdir}/libxenevtchn.so \
-    ${datadir}/pkgconfig/xenevtchn.pc \
-    "
-
-FILES_${PN}-libxenforeignmemory = "${libdir}/libxenforeignmemory.so.*"
-FILES_${PN}-libxenforeignmemory-dev = " \
-    ${libdir}/libxenforeignmemory.so \
-    ${datadir}/pkgconfig/xenforeignmemory.pc \
-    "
-
-FILES_${PN}-libxengnttab = "${libdir}/libxengnttab.so.*"
-FILES_${PN}-libxengnttab-dev = " \
-    ${libdir}/libxengnttab.so \
-    ${datadir}/pkgconfig/xengnttab.pc \
-    "
-
-FILES_${PN}-libxenguest = "${libdir}/libxenguest.so.*"
-FILES_${PN}-libxenguest-dev = " \
-    ${libdir}/libxenguest.so \
-    ${datadir}/pkgconfig/xenguest.pc \
-    "
-
-FILES_${PN}-libxenlight = "${libdir}/libxenlight.so.*"
-FILES_${PN}-libxenlight-dev = " \
-    ${libdir}/libxenlight.so \
-    ${datadir}/pkgconfig/xenlight.pc \
-    "
-
-FILES_${PN}-libxenstat = "${libdir}/libxenstat.so.*"
-FILES_${PN}-libxenstat-dev = " \
-    ${libdir}/libxenstat.so \
-    ${datadir}/pkgconfig/xenstat.pc \
-    "
-
-FILES_${PN}-libxenstore = "${libdir}/libxenstore.so.*"
-FILES_${PN}-libxenstore-dev = " \
-    ${libdir}/libxenstore.so \
-    ${datadir}/pkgconfig/xenstore.pc \
-    "
-
-FILES_${PN}-libxentoolcore = "${libdir}/libxentoolcore.so.*"
-FILES_${PN}-libxentoolcore-dev = " \
-    ${libdir}/libxentoolcore.so \
-    ${datadir}/pkgconfig/xentoolcore.pc \
-    "
-
-FILES_${PN}-libxentoollog = "${libdir}/libxentoollog.so.*"
-FILES_${PN}-libxentoollog-dev = " \
-    ${libdir}/libxentoollog.so \
-    ${datadir}/pkgconfig/xentoollog.pc \
-    "
-
-FILES_${PN}-libxenvchan = "${libdir}/libxenvchan.so.*"
-FILES_${PN}-libxenvchan-dev = " \
-    ${libdir}/libxenvchan.so \
-    ${datadir}/pkgconfig/xenvchan.pc \
-    "
-
-FILES_${PN}-libxlutil = "${libdir}/libxlutil.so.*"
-FILES_${PN}-libxlutil-dev = " \
-    ${libdir}/libxlutil.so \
-    ${datadir}/pkgconfig/xlutil.pc \
-    "
-FILES_${PN}-libvhd = "${libdir}/libvhd.so.*"
-FILES_${PN}-libvhd-dev = " \
-    ${libdir}/libvhd.so \
-    ${datadir}/pkgconfig/vhd.pc \
-    "
-
-FILES_${PN}-libblktap = "${libdir}/libblktap.so.*"
-FILES_${PN}-libblktap-dev = " \
-    ${libdir}/libblktap.so \
-    ${datadir}/pkgconfig/blktap.pc \
-    "
-
-FILES_${PN}-libfsimage = "${libdir}/libfsimage.so.*"
-FILES_${PN}-libfsimage-dev = " \
-    ${libdir}/libfsimage.so \
-    ${datadir}/pkgconfig/fsimage.pc \
-    "
-
-FILES_${PN}-fsimage = "${libdir}/fs/*/*fsimage.so"
-
-FILES_${PN}-hypervisor = "\
-    /boot/xen-* \
-    /boot/xen \
-    /boot/xen-*.gz \
-    /boot/xen.gz \
-    /boot/xen-syms-* \
-    "
-
-FILES_${PN}-init-xenstore-dom = "${libdir}/xen/bin/init-xenstore-domain"
-
-FILES_${PN}-efi = "\
-    ${exec_prefix}/lib64 \
-    ${exec_prefix}/lib64/xen* \
-    "
-
-FILES_${PN}-base = "\
-    ${sysconfdir}/xen/auto \
-    ${sysconfdir}/xen/cpupool \
-    ${localstatedir}/xen/dump \
-    "
-
-FILES_${PN}-blktap = "\
-    ${sbindir}/blktapctrl \
-    ${sbindir}/img2qcow \
-    ${sbindir}/lock-util \
-    ${sbindir}/qcow2raw \
-    ${sbindir}/qcow-create \
-    ${sbindir}/tap-ctl \
-    ${sbindir}/tapdisk \
-    ${sbindir}/tapdisk2 \
-    ${sbindir}/tapdisk-client \
-    ${sbindir}/tapdisk-diff \
-    ${sbindir}/tapdisk-stream \
-    ${sbindir}/td-util \
-    ${sbindir}/vhd-update \
-    ${sbindir}/vhd-util \
-    "
-
-FILES_${PN}-console = "\
-    ${libdir}/xen/bin/xenconsole \
-    ${sbindir}/xenconsoled \
-    "
-
-FILES_${PN}-cpuid = "\
-    ${bindir}/xen-cpuid \
-    "
-
-FILES_${PN}-devd = "\
-    ${sysconfdir}/init.d/xendriverdomain \
-    "
-
-FILES_${PN}-flask = "\
-    /boot/${FLASK_POLICY_FILE} \
-    "
-
-FILES_${PN}-flask-tools = "\
-    ${sbindir}/flask-get-bool \
-    ${sbindir}/flask-getenforce \
-    ${sbindir}/flask-label-pci \
-    ${sbindir}/flask-loadpolicy \
-    ${sbindir}/flask-set-bool \
-    ${sbindir}/flask-setenforce \
-    "
-
-FILES_${PN}-gdbsx = "\
-    ${sbindir}/gdbsx \
-    "
-
-INSANE_SKIP_${PN}-hvmloader = "arch"
-FILES_${PN}-hvmloader = "\
-    ${libdir}/xen/boot/hvmloader \
-    "
-
-FILES_${PN}-kdd = "\
-    ${sbindir}/kdd \
-    "
-
-FILES_${PN}-livepatch += " \
-    ${sbindir}/xen-livepatch \
-    "
-
-FILES_${PN}-misc = "\
-    ${bindir}/xencons \
-    ${bindir}/xencov_split \
-    ${bindir}/xen-detect \
-    ${libdir}/xen/bin/xenpvnetboot \
-    ${sbindir}/gtracestat \
-    ${sbindir}/gtraceview \
-    ${sbindir}/xen-bugtool \
-    ${sbindir}/xencov \
-    ${sbindir}/xenperf \
-    ${sbindir}/xenpm \
-    ${sbindir}/xsview \
-    ${sbindir}/xen-diag \
-    ${sbindir}/xen-tmem-list-parse \
-    ${sbindir}/xen-python-path \
-    ${sbindir}/xen-ringwatch \
-    ${sbindir}/xen-hptool \
-    ${sbindir}/xen-hvmcrash \
-    ${sbindir}/xen-hvmctx \
-    ${sbindir}/xenlockprof \
-    ${sbindir}/xen-lowmemd \
-    ${sbindir}/xen-mfndump \
-    ${libdir}/xen/bin/verify-stream-v2 \
-    ${libdir}/xen/bin/convert-legacy-stream \
-    "
-
-FILES_${PN}-pygrub = "\
-    ${bindir}/pygrub \
-    ${libdir}/xen/bin/pygrub \
-    "
-
-FILES_${PN}-python = "\
-    ${libdir}/python2.7 \
-    "
-
-INSANE_SKIP_${PN} = "already-stripped"
-INSANE_SKIP_${PN}-qemu = "arch"
-FILES_${PN}-qemu = " \
-    ${datadir}/xen/qemu \
-    ${libdir}/xen/bin/qemu-system-i386 \
-    ${libdir}/xen/bin/qemu-system-x86_64 \
-    ${libdir}/xen/bin/qemu-img \
-    ${libdir}/xen/bin/qemu-nbd \
-    ${libdir}/xen/bin/qemu-ga \
-    ${libdir}/xen/bin/qemu-io \
-    ${libdir}/xen/bin/qemu-dm \
-    ${libdir}/xen/bin/virtfs-proxy-helper \
-    /usr/libexec/qemu-bridge-helper \
-    ${libdir}/xen/libexec/qemu-bridge-helper \
-    /usr/etc/qemu \
-    /usr/etc/qemu/target-x86_64.conf \
-    ${libdir}/xen/etc/qemu/target-x86_64.conf \
-    ${datadir}/qemu-xen \
-    ${datadir}/qemu-xen/qemu \
-    ${datadir}/qemu-xen/qemu/bamboo.dtb \
-    ${datadir}/qemu-xen/qemu/pxe-pcnet.rom \
-    ${datadir}/qemu-xen/qemu/vgabios-vmware.bin \
-    ${datadir}/qemu-xen/qemu/pxe-eepro100.rom \
-    ${datadir}/qemu-xen/qemu/pxe-e1000.rom \
-    ${datadir}/qemu-xen/qemu/openbios-ppc \
-    ${datadir}/qemu-xen/qemu/multiboot.bin \
-    ${datadir}/qemu-xen/qemu/vgabios-cirrus.bin \
-    ${datadir}/qemu-xen/qemu/bios.bin \
-    ${datadir}/qemu-xen/qemu/vgabios-stdvga.bin \
-    ${datadir}/qemu-xen/qemu/palcode-clipper \
-    ${datadir}/qemu-xen/qemu/pxe-ne2k_pci.rom \
-    ${datadir}/qemu-xen/qemu/spapr-rtas.bin \
-    ${datadir}/qemu-xen/qemu/slof.bin \
-    ${datadir}/qemu-xen/qemu/vgabios-qxl.bin \
-    ${datadir}/qemu-xen/qemu/pxe-rtl8139.rom \
-    ${datadir}/qemu-xen/qemu/openbios-sparc64 \
-    ${datadir}/qemu-xen/qemu/pxe-virtio.rom \
-    ${datadir}/qemu-xen/qemu/kvmvapic.bin \
-    ${datadir}/qemu-xen/qemu/openbios-sparc32 \
-    ${datadir}/qemu-xen/qemu/petalogix-s3adsp1800.dtb \
-    ${datadir}/qemu-xen/qemu/sgabios.bin \
-    ${datadir}/qemu-xen/qemu/linuxboot.bin \
-    ${datadir}/qemu-xen/qemu/qemu-icon.bmp \
-    ${datadir}/qemu-xen/qemu/ppc_rom.bin \
-    ${datadir}/qemu-xen/qemu/vgabios.bin \
-    ${datadir}/qemu-xen/qemu/s390-zipl.rom \
-    ${datadir}/qemu-xen/qemu/petalogix-ml605.dtb \
-    ${datadir}/qemu-xen/qemu/keymaps \
-    ${datadir}/qemu-xen/qemu/keymaps/common \
-    ${datadir}/qemu-xen/qemu/keymaps/th \
-    ${datadir}/qemu-xen/qemu/keymaps/is \
-    ${datadir}/qemu-xen/qemu/keymaps/en-gb \
-    ${datadir}/qemu-xen/qemu/keymaps/ar \
-    ${datadir}/qemu-xen/qemu/keymaps/fr-be \
-    ${datadir}/qemu-xen/qemu/keymaps/ru \
-    ${datadir}/qemu-xen/qemu/keymaps/hu \
-    ${datadir}/qemu-xen/qemu/keymaps/de-ch \
-    ${datadir}/qemu-xen/qemu/keymaps/no \
-    ${datadir}/qemu-xen/qemu/keymaps/fr \
-    ${datadir}/qemu-xen/qemu/keymaps/pl \
-    ${datadir}/qemu-xen/qemu/keymaps/fr-ca \
-    ${datadir}/qemu-xen/qemu/keymaps/de \
-    ${datadir}/qemu-xen/qemu/keymaps/fr-ch \
-    ${datadir}/qemu-xen/qemu/keymaps/bepo \
-    ${datadir}/qemu-xen/qemu/keymaps/lv \
-    ${datadir}/qemu-xen/qemu/keymaps/ja \
-    ${datadir}/qemu-xen/qemu/keymaps/da \
-    ${datadir}/qemu-xen/qemu/keymaps/lt \
-    ${datadir}/qemu-xen/qemu/keymaps/hr \
-    ${datadir}/qemu-xen/qemu/keymaps/es \
-    ${datadir}/qemu-xen/qemu/keymaps/modifiers \
-    ${datadir}/qemu-xen/qemu/keymaps/sl \
-    ${datadir}/qemu-xen/qemu/keymaps/it \
-    ${datadir}/qemu-xen/qemu/keymaps/nl \
-    ${datadir}/qemu-xen/qemu/keymaps/fo \
-    ${datadir}/qemu-xen/qemu/keymaps/mk \
-    ${datadir}/qemu-xen/qemu/keymaps/pt-br \
-    ${datadir}/qemu-xen/qemu/keymaps/tr \
-    ${datadir}/qemu-xen/qemu/keymaps/sv \
-    ${datadir}/qemu-xen/qemu/keymaps/fi \
-    ${datadir}/qemu-xen/qemu/keymaps/en-us \
-    ${datadir}/qemu-xen/qemu/keymaps/et \
-    ${datadir}/qemu-xen/qemu/keymaps/nl-be \
-    ${datadir}/qemu-xen/qemu/keymaps/pt \
-    ${bindir}/qemu-nbd-xen \
-    ${bindir}/qemu-img-xen \
-    "
-
-FILES_${PN}-remus = "\
-    ${bindir}/remus \
-    ${sysconfdir}/xen/scripts/remus-netbuf-setup \
-    "
-
-FILES_${PN}-scripts-network = " \
-    ${sysconfdir}/xen/scripts/colo-proxy-setup \
-    ${sysconfdir}/xen/scripts/network-bridge \
-    ${sysconfdir}/xen/scripts/network-nat \
-    ${sysconfdir}/xen/scripts/network-route \
-    ${sysconfdir}/xen/scripts/qemu-ifup \
-    ${sysconfdir}/xen/scripts/vif2 \
-    ${sysconfdir}/xen/scripts/vif-bridge \
-    ${sysconfdir}/xen/scripts/vif-common.sh \
-    ${sysconfdir}/xen/scripts/vif-nat \
-    ${sysconfdir}/xen/scripts/vif-openvswitch \
-    ${sysconfdir}/xen/scripts/vif-route \
-    ${sysconfdir}/xen/scripts/vif-setup \
-    "
-
-FILES_${PN}-scripts-block = " \
-    ${sysconfdir}/xen/scripts/blktap \
-    ${sysconfdir}/xen/scripts/block \
-    ${sysconfdir}/xen/scripts/block-common.sh \
-    ${sysconfdir}/xen/scripts/block-dummy \
-    ${sysconfdir}/xen/scripts/block-enbd \
-    ${sysconfdir}/xen/scripts/block-iscsi \
-    ${sysconfdir}/xen/scripts/block-nbd \
-    ${sysconfdir}/xen/scripts/block-drbd-probe \
-    ${sysconfdir}/xen/scripts/block-tap \
-    ${sysconfdir}/xen/scripts/vscsi \
-    "
-
-FILES_${PN}-scripts-common = " \
-    ${sysconfdir}/xen/scripts/external-device-migrate \
-    ${sysconfdir}/xen/scripts/hotplugpath.sh \
-    ${sysconfdir}/xen/scripts/locking.sh \
-    ${sysconfdir}/xen/scripts/logging.sh \
-    ${sysconfdir}/xen/scripts/xen-hotplug-cleanup \
-    ${sysconfdir}/xen/scripts/xen-hotplug-common.sh \
-    ${sysconfdir}/xen/scripts/xen-network-common.sh \
-    ${sysconfdir}/xen/scripts/xen-script-common.sh \
-    "
-
-FILES_${PN}-volatiles = "\
-    ${sysconfdir}/default/volatiles/99_xen \
-    ${sysconfdir}/tmpfiles.d/xen.conf \
-    "
-
-FILES_${PN}-xcutils = "\
-    ${libdir}/xen/bin/lsevtchn \
-    ${libdir}/xen/bin/readnotes \
-    ${libdir}/xen/bin/xc_restore \
-    ${libdir}/xen/bin/xc_save \
-    "
-
-FILES_${PN}-xend-examples = "\
-    ${sysconfdir}/xen/xend-config.sxp \
-    ${sysconfdir}/xen/xend-pci-permissive.sxp \
-    ${sysconfdir}/xen/xend-pci-quirks.sxp \
-    "
-
-FILES_${PN}-xenpaging = "\
-    ${libdir}/xen/bin/xenpaging \
-    ${localstatedir}/lib/xen/xenpaging \
-    "
-
-FILES_${PN}-xenpmd = "\
-    ${sbindir}/xenpmd \
-    "
-
-FILES_${PN}-xenstat = "\
-    ${sbindir}/xentop \
-    "
-
-FILES_${PN}-xenstore = "\
-    ${bindir}/xenstore \
-    ${bindir}/xenstore-chmod \
-    ${bindir}/xenstore-control \
-    ${bindir}/xenstore-exists \
-    ${bindir}/xenstore-list \
-    ${bindir}/xenstore-ls \
-    ${bindir}/xenstore-read \
-    ${bindir}/xenstore-rm \
-    ${bindir}/xenstore-watch \
-    ${bindir}/xenstore-write \
-    "
-
-FILES_${PN}-xenstored = "\
-    ${sbindir}/xenstored \
-    ${localstatedir}/lib/xenstored \
-    "
-
-FILES_${PN}-xentrace = "\
-    ${bindir}/xentrace \
-    ${bindir}/xentrace_format \
-    ${bindir}/xentrace_setsize \
-    ${libdir}/xen/bin/xenctx \
-    ${bindir}/xenalyze \
-    ${sbindir}/xentrace \
-    ${sbindir}/xentrace_setsize \
-    "
-
-FILES_${PN}-xen-watchdog = "\
-    ${sbindir}/xenwatchdogd \
-    ${sysconfdir}/init.d/xen-watchdog \
-    ${systemd_unitdir}/system/xen-watchdog.service \
-    "
-
-FILES_${PN}-xl = "\
-    ${sysconfdir}/bash_completion.d/xl.sh \
-    ${sysconfdir}/xen/xl.conf \
-    ${libdir}/xen/bin/libxl-save-helper \
-    ${sbindir}/xl \
-    ${libdir}/xen/bin/xen-init-dom0 \
-    "
-
-FILES_${PN}-xl-examples = "\
-    ${sysconfdir}/xen/xlexample.hvm \
-    ${sysconfdir}/xen/xlexample.pvlinux \
-    "
-
-FILES_${PN}-xm-examples = "\
-    ${sysconfdir}/xen/xmexample1 \
-    ${sysconfdir}/xen/xmexample2 \
-    ${sysconfdir}/xen/xmexample3 \
-    ${sysconfdir}/xen/xmexample.hvm \
-    ${sysconfdir}/xen/xmexample.hvm-stubdom \
-    ${sysconfdir}/xen/xmexample.nbd \
-    ${sysconfdir}/xen/xmexample.pv-grub \
-    ${sysconfdir}/xen/xmexample.vti \
-    "
-
-FILES_${PN}-xenmon = "\
-    ${sbindir}/xenbaked \
-    ${sbindir}/xentrace_setmask \
-    ${sbindir}/xenmon.py \
-    "
-
-FILES_${PN}-xm = "\
-    ${sysconfdir}/xen/xm-config.xml \
-    ${datadir}/xen/create.dtd \
-    ${sbindir}/xm \
-    "
-
-FILES_${PN}-xencommons += "\
-    ${sysconfdir}/default/xencommons \
-    ${sysconfdir}/init.d/xencommons \
-    ${sysconfdir}/xen/scripts/launch-xenstore \
-    ${systemd_unitdir}/modules-load.d/xen.conf \
-    ${systemd_unitdir}/system/proc-xen.mount \
-    ${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service \
-    ${systemd_unitdir}/system/xenconsoled.service \
-    ${systemd_unitdir}/system/xen-init-dom0.service \
-    ${systemd_unitdir}/system/xenstored.service \
-    ${systemd_unitdir}/system/var-lib-xenstored.mount \
-    "
-
-FILES_${PN}-xend += " \
-    ${sysconfdir}/init.d/xend \
-    ${sbindir}/xend \
-    "
-
-FILES_${PN}-xendomains += "\
-    ${libdir}/xen/bin/xendomains \
-    ${sysconfdir}/default/xendomains \
-    ${sysconfdir}/init.d/xendomains \
-    ${sysconfdir}/sysconfig/xendomains \
-    ${systemd_unitdir}/system/xendomains.service \
-    "
-
-# configure init.d scripts
-INITSCRIPT_PACKAGES = "${PN}-xend ${PN}-xencommons ${PN}-xen-watchdog ${PN}-xendomains ${PN}-devd"
-INITSCRIPT_NAME_${PN}-xencommons = "xencommons"
-INITSCRIPT_PARAMS_${PN}-xencommons = "defaults 80"
-INITSCRIPT_NAME_${PN}-xen-watchdog = "xen-watchdog"
-INITSCRIPT_PARAMS_${PN}-xen-watchdog = "defaults 81"
-INITSCRIPT_NAME_${PN}-xend = "xend"
-INITSCRIPT_PARAMS_${PN}-xend = "defaults 82"
-INITSCRIPT_NAME_${PN}-xendomains = "xendomains"
-INITSCRIPT_PARAMS_${PN}-xendomains = "defaults 83"
-INITSCRIPT_NAME_${PN}-devd = "xendriverdomain"
-INITSCRIPT_PARAMS_${PN}-devd = "defaults 82"
-
-# systemd packages
-SYSTEMD_PACKAGES = "${PN}-xen-watchdog ${PN}-xencommons ${PN}-xendomains"
-SYSTEMD_SERVICE_${PN}-xen-watchdog = "xen-watchdog.service"
-SYSTEMD_SERVICE_${PN}-xencommons = " \
-    proc-xen.mount \
-    var-lib-xenstored.mount \
-    xen-qemu-dom0-disk-backend.service \
-    xenconsoled.service \
-    xen-init-dom0.service \
-    xenstored.service \
-    "
-SYSTEMD_SERVICE_${PN}-xendomains = "xendomains.service"
-
-#### REQUIRED ENVIRONMENT VARIABLES ####
-export BUILD_SYS
-export HOST_SYS
-export STAGING_INCDIR
-export STAGING_LIBDIR
-
-# specify xen hypervisor to build/target
-export XEN_TARGET_ARCH = "${@map_xen_arch(d.getVar('TARGET_ARCH'), d)}"
-export XEN_COMPILE_ARCH = "${@map_xen_arch(d.getVar('BUILD_ARCH'), d)}"
-
-python () {
-    if d.getVar('XEN_TARGET_ARCH') == 'INVALID':
-        raise bb.parse.SkipPackage('Cannot map `%s` to a xen architecture' % d.getVar('TARGET_ARCH'))
-}
-
-# Yocto appends ${PN} to libexecdir by default and Xen appends 'xen' as well
-# the result is a nested xen/xen/ so let's avoid that by shunning Yocto's
-# extra ${PN} appended.
-libexecdir = "${libdir}"
-
-# hardcoded as Linux, as the only compatible hosts are Linux.
-export XEN_OS = "Linux"
-
-# this is used for the header (#!${bindir}/python) of the install python scripts
-export PYTHONPATH="${bindir}/python"
-export ac_cv_path_PYTHONPATH="${bindir}/python"
-
-# xen and seabios require HOSTCC and HOSTCXX set to cross-compile
-export HOSTCC="${BUILD_CC}"
-export HOSTCXX="${BUILD_CXX}"
-
-# make xen requires CROSS_COMPILE set by hand as it does not abide by ./configure
-export CROSS_COMPILE="${TARGET_PREFIX}"
-
-# overide LDFLAGS to allow xen to build without: "x86_64-oe-linux-ld: unrecognized option '-Wl,-O1'"
-export LDFLAGS=""
-
-# Yocto injects -mfpmath=sse for some machine types into the CFLAGS which
-# conflicts with -mno-sse so instead we strip -mfpmath=sse instead of
-# patching the build to be ok with this
-TUNE_CCARGS := "${@oe.utils.str_filter_out('-mfpmath=sse', '${TUNE_CCARGS}', d)}"
-
-EXTRA_OECONF += " \
-    --exec-prefix=/usr \
-    --prefix=/usr \
-    --host=${HOST_SYS} \
-    --with-systemd=${systemd_unitdir}/system \
-    --with-systemd-modules-load=${systemd_unitdir}/modules-load.d \
-    --disable-stubdom \
-    --disable-ioemu-stubdom \
-    --disable-pv-grub \
-    --disable-xenstore-stubdom \
-    --disable-rombios \
-    --disable-ocamltools \
-    --with-initddir=${INIT_D_DIR} \
-    --with-sysconfig-leaf-dir=default \
-    --with-system-qemu=/usr/bin/qemu-system-i386 \
-    --disable-qemu-traditional \
-    "
-
-EXTRA_OEMAKE += "STDVGA_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios-0.7a.bin"
-EXTRA_OEMAKE += "CIRRUSVGA_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios-0.7a.cirrus.bin"
-EXTRA_OEMAKE += "SEABIOS_ROM=${STAGING_DIR_HOST}/usr/share/firmware/bios.bin"
-EXTRA_OEMAKE += "ETHERBOOT_ROMS=${STAGING_DIR_HOST}/usr/share/firmware/rtl8139.rom"
-
-# prevent the Xen build scripts from fetching things during the build
-# all dependencies should be reflected in the Yocto recipe
-EXTRA_OEMAKE += "WGET=/bin/false"
-EXTRA_OEMAKE += "GIT=/bin/false"
-
-# check for XSM in package config to allow XSM_ENABLE to be set
-python () {
-    pkgconfig = d.getVar('PACKAGECONFIG')
-    if ('xsm') in pkgconfig.split():
-        d.setVar('XSM_ENABLED', '1')
-    else:
-        d.setVar('XSM_ENABLED', '0')
-}
-
-do_post_patch() {
-    # fixup AS/CC/CCP/etc variable within StdGNU.mk
-    for i in LD CC CPP CXX; do
-        sed -i "s/^\($i\s\s*\).*=/\1?=/" ${S}/config/StdGNU.mk
-    done
-    # fixup environment passing in some makefiles
-    sed -i 's#\(\w*\)=\(\$.\w*.\)#\1="\2"#' ${S}/tools/firmware/Makefile
-
-    # libsystemd-daemon -> libsystemd for newer systemd versions
-    sed -i 's#libsystemd-daemon#libsystemd#' ${S}/tools/configure
-}
-
-addtask post_patch after do_patch before do_configure
-
-do_stubs() {
-    # no stubs-32.h in our 64-bit sysroot - hack it into tools/include/gnu
-    if ! test -f ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-32.h ; then
-        if test -f ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-64.h ; then
-            test -d ${S}/tools/include/gnu || mkdir ${S}/tools/include/gnu
-            cat ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-64.h | grep -v stub_bdflush | grep -v stub_getmsg | grep -v stub_putmsg > ${S}/tools/include/gnu/stubs-32.h
-            echo \#define __stub___kernel_cosl >> ${S}/tools/include/gnu/stubs-32.h
-            echo \#define __stub___kernel_sinl >> ${S}/tools/include/gnu/stubs-32.h
-            echo \#define __stub___kernel_tanl >> ${S}/tools/include/gnu/stubs-32.h
-        fi
-    fi
-}
-
-addtask stubs after do_configure before do_compile
-
-# Allow all hypervisor settings in a defconfig
-EXTRA_OEMAKE += "XEN_CONFIG_EXPERT=y"
-# Build release versions always. Technically since we track release
-# tarballs this always happens but occasionally people pull in patches
-# from staging that reverts this
-EXTRA_OEMAKE += "debug=n"
-
-do_configure() {
-
-    #./configure --enable-xsmpolicy does not set XSM_ENABLE must be done manually
-    if [ "${XSM_ENABLED}" = "1" ]; then
-        echo "XSM_ENABLE := y" > ${S}/.config
-    fi
-
-    if [ -f "${WORKDIR}/defconfig" ]; then
-        cp "${WORKDIR}/defconfig" "${B}/xen/.config" || \
-        bbfatal "Unable to copy defconfig to .config"
-    fi
-
-    # do configure
-    oe_runconf
-    if [ ! -e ${STAGING_INCDIR}/bits/long-double-32.h ]; then
-        cp ${STAGING_INCDIR}/bits/long-double-64.h ${STAGING_INCDIR}/bits/long-double-32.h
-    fi
-}
-
-do_compile() {
-    # workaround for build bug when CFLAGS is exported
-    # https://www.mail-archive.com/xen-devel@lists.xen.org/msg67822.html
-    unset CFLAGS
-    oe_runmake
-}
-
-do_install() {
-    oe_runmake DESTDIR="${D}" install
-
-    # remove installed volatiles
-    rm -rf ${D}${localstatedir}/run \
-        ${D}${localstatedir}/lock \
-        ${D}${localstatedir}/log \
-        ${D}${localstatedir}/volatile \
-        ${D}${localstatedir}/lib/xen
-
-    VOLATILE_DIRS=" \
-        ${localstatedir}/run/xenstored \
-        ${localstatedir}/run/xend \
-        ${localstatedir}/run/xend/boot \
-        ${localstatedir}/run/xen \
-        ${localstatedir}/log/xen \
-        ${localstatedir}/lock/xen \
-        ${localstatedir}/lock/subsys \
-        ${localstatedir}/lib/xen \
-        "
-
-    # install volatiles using populate_volatiles mechanism
-    install -d ${D}${sysconfdir}/default/volatiles
-    for i in $VOLATILE_DIRS; do
-        echo "d root root 0755 $i none"  >> ${D}${sysconfdir}/default/volatiles/99_xen
-    done
-
-    # workaround for xendomains script which searchs sysconfig if directory exists
-    install -d ${D}${sysconfdir}/sysconfig
-    ln -sf ${sysconfdir}/default/xendomains ${D}${sysconfdir}/sysconfig/xendomains
-
-    # systemd
-    if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
-        # install volatiles using systemd tmpfiles.d
-        install -d ${D}${sysconfdir}/tmpfiles.d
-        for i in $VOLATILE_DIRS; do
-            echo "d $i 0755 root root - -"  >> ${D}${sysconfdir}/tmpfiles.d/xen.conf
-        done
-    fi
-
-    # fixup default path to qemu-system-i386
-    sed -i 's#\(test -z "$QEMU_XEN" && QEMU_XEN=\).*$#\1"/usr/bin/qemu-system-i386"#' ${D}/etc/init.d/xencommons
-
-    if [ -e ${D}${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service ]; then
-        sed -i 's#ExecStart=.*qemu-system-i386\(.*\)$#ExecStart=/usr/bin/qemu-system-i386\1#' \
-            ${D}${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service
-    fi
-}
-
-pkg_postinst_${PN}-volatiles() {
-    if [ -z "$D" ]; then
-        if command -v systemd-tmpfiles >/dev/null; then
-            systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/xen.conf
-        elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
-            ${sysconfdir}/init.d/populate-volatile.sh update
-        fi
-    fi
-}
-
-do_deploy() {
-    install -d ${DEPLOYDIR}
-
-    if [ -f ${D}/boot/xen ]; then
-        install -m 0644 ${D}/boot/xen ${DEPLOYDIR}/xen-${MACHINE}
-    fi
-
-    if [ -f ${D}/boot/xen.gz ]; then
-        install -m 0644 ${D}/boot/xen.gz ${DEPLOYDIR}/xen-${MACHINE}.gz
-    fi
-
-    if [ -f ${D}/usr/lib64/efi/xen.efi ]; then
-        install -m 0644 ${D}/usr/lib64/efi/xen.efi ${DEPLOYDIR}/xen-${MACHINE}.efi
-    fi
-
-    # Install the flask policy in the deploy directory if it exists
-    if [ -f ${D}/boot/${FLASK_POLICY_FILE} ]; then
-        install -m 0644 ${D}/boot/${FLASK_POLICY_FILE} ${DEPLOYDIR}
-        ln -sf ${FLASK_POLICY_FILE} ${DEPLOYDIR}/xenpolicy-${MACHINE}
-    fi
-}
-
-addtask deploy after do_populate_sysroot
-
-# Enable use of menuconfig directly from bitbake and also within the devshell
-OE_TERMINAL_EXPORTS += "HOST_EXTRACFLAGS HOSTLDFLAGS TERMINFO"
-HOST_EXTRACFLAGS = "${BUILD_CFLAGS} ${BUILD_LDFLAGS}"
-HOSTLDFLAGS = "${BUILD_LDFLAGS}"
-TERMINFO = "${STAGING_DATADIR_NATIVE}/terminfo"
-do_devshell[depends] += "ncurses-native:do_populate_sysroot"
-
-KCONFIG_CONFIG_COMMAND ??= "menuconfig"
-python do_menuconfig() {
-    import shutil
-
-    try:
-        mtime = os.path.getmtime("xen/.config")
-        shutil.copy("xen/.config", "xen/.config.orig")
-    except OSError:
-        mtime = 0
-
-    oe_terminal("${SHELL} -c \"cd xen; XEN_CONFIG_EXPERT=y make %s; if [ \$? -ne 0 ]; then echo 'Command failed.'; printf 'Press any key to continue... '; read r; fi\"" % d.getVar('KCONFIG_CONFIG_COMMAND'),
-        d.getVar('PN') + ' Configuration', d)
-
-    try:
-        newmtime = os.path.getmtime("xen/.config")
-    except OSError:
-        newmtime = 0
-
-    if newmtime > mtime:
-        bb.note("Configuration changed, recompile will be forced")
-        bb.build.write_taint('do_compile', d)
-}
-do_menuconfig[depends] += "ncurses-native:do_populate_sysroot"
-do_menuconfig[nostamp] = "1"
-do_menuconfig[dirs] = "${B}"
-addtask menuconfig after do_configure
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/xen_4.10.0.bb b/import-layers/meta-virtualization/recipes-extended/xen/xen_4.10.0.bb
deleted file mode 100644
index d314b9b..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/xen_4.10.0.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-require xen.inc
-
-SRC_URI = " \
-    https://downloads.xenproject.org/release/xen/${PV}/xen-${PV}.tar.gz \
-    file://xsa253.patch \
-    "
-
-SRC_URI[md5sum] = "ab9d320d02cb40f6b40506aed1a38d58"
-SRC_URI[sha256sum] = "0262a7023f8b12bcacfb0b25e69b2a63291f944f7683d54d8f33d4b2ca556844"
-
-S = "${WORKDIR}/xen-${PV}"
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/xen_4.9.1.bb b/import-layers/meta-virtualization/recipes-extended/xen/xen_4.9.1.bb
deleted file mode 100644
index 5c18bb0..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/xen_4.9.1.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-require xen.inc
-
-SRC_URI = " \
-    https://downloads.xenproject.org/release/xen/${PV}/xen-${PV}.tar.gz \
-    file://xsa246-4.9.patch \
-    file://0001-p2m-Always-check-to-see-if-removing-a-p2m-entry-actu.patch \
-    file://0002-p2m-Check-return-value-of-p2m_set_entry-when-decreas.patch \
-    file://xsa248.patch \
-    file://xsa249.patch \
-    file://xsa250.patch \
-    file://xsa251.patch \
-    "
-
-SRC_URI[md5sum] = "8b9d6104694b164d54334194135f7217"
-SRC_URI[sha256sum] = "ecf88b01f44cd8f4ef208af3f999dceb69bdd2a316d88dd9a9535ea7b49ed356"
-
-S = "${WORKDIR}/xen-${PV}"
diff --git a/import-layers/meta-virtualization/recipes-extended/xen/xen_git.bb b/import-layers/meta-virtualization/recipes-extended/xen/xen_git.bb
deleted file mode 100644
index e10d669..0000000
--- a/import-layers/meta-virtualization/recipes-extended/xen/xen_git.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-require xen.inc
-
-SRCREV ?= "9a6cc4f5c14b3d7542b7523f88a1b65464733d3a"
-
-XEN_REL ?= "4.7"
-XEN_BRANCH ?= "staging-${XEN_REL}"
-
-PV = "${XEN_REL}+git${SRCPV}"
-
-S = "${WORKDIR}/git"
-
-SRC_URI = " \
-    git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \
-    "
-
-DEFAULT_PREFERENCE = "-1"
diff --git a/import-layers/meta-virtualization/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend b/import-layers/meta-virtualization/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
deleted file mode 100644
index 9503404..0000000
--- a/import-layers/meta-virtualization/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
+++ /dev/null
@@ -1,13 +0,0 @@
-# Change the default Xserver OpenGL configuration for non-x86 distros with Xen: deselect 'glamor'.
-# This removes the dependency on libegl to simplify the domU build.
-#
-# To override this (eg. if wanted for dom0 images) define:
-#   REMOVED_OPENGL_PKGCONFIGS = ""
-
-XEN_REMOVED_OPENGL_PKGCONFIGS ?= "glamor"
-XEN_REMOVED_OPENGL_PKGCONFIGS_x86 = ""
-XEN_REMOVED_OPENGL_PKGCONFIGS_x86-64 = ""
-
-REMOVED_OPENGL_PKGCONFIGS ?= "${@bb.utils.contains('DISTRO_FEATURES', 'xen', "${XEN_REMOVED_OPENGL_PKGCONFIGS}", '', d)}"
-
-OPENGL_PKGCONFIGS_remove = "${REMOVED_OPENGL_PKGCONFIGS}"
diff --git a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/docker.cfg b/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/docker.cfg
deleted file mode 100644
index 4ee8e36..0000000
--- a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/docker.cfg
+++ /dev/null
@@ -1,12 +0,0 @@
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_NF_NAT=m
-CONFIG_NF_CONNTRACK_IPV4=y
-
-CONFIG_DM_THIN_PROVISIONING=m
-
-
-CONFIG_IP_NF_NAT=m
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-
-CONFIG_OVERLAY_FS=y
diff --git a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/docker.scc b/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/docker.scc
deleted file mode 100644
index e317456..0000000
--- a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/docker.scc
+++ /dev/null
@@ -1,4 +0,0 @@
-define KFEATURE_DESCRIPTION "Enable Features needed by docker in addition to LXC features"
-define KFEATURE_COMPATIBILITY board
-
-kconf non-hardware docker.cfg
diff --git a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/ebtables.cfg b/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/ebtables.cfg
deleted file mode 100644
index a3c514e..0000000
--- a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/ebtables.cfg
+++ /dev/null
@@ -1,2 +0,0 @@
-CONFIG_BRIDGE_NF_EBTABLES=m
-CONFIG_BRIDGE_EBT_T_NAT=m
diff --git a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/ebtables.scc b/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/ebtables.scc
deleted file mode 100644
index b3895e5..0000000
--- a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/ebtables.scc
+++ /dev/null
@@ -1,4 +0,0 @@
-define KFEATURE_DESCRIPTION "Enable ebtables support"
-define KFEATURE_COMPATIBILITY board
-
-kconf non-hardware ebtables.cfg
diff --git a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/lxc.cfg b/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/lxc.cfg
deleted file mode 100644
index c25d60f..0000000
--- a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/lxc.cfg
+++ /dev/null
@@ -1,46 +0,0 @@
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CPUSETS=y
-CONFIG_PROC_PID_CPUSET=y
-CONFIG_RESOURCE_COUNTERS=y
-CONFIG_CGROUP_MEM_RES_CTLR=y
-CONFIG_CGROUP_SCHED=y
-CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_RT_GROUP_SCHED=y
-CONFIG_CHECKPOINT_RESTORE=y
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_IPC_NS=y
-CONFIG_USER_NS=y
-CONFIG_PID_NS=y
-CONFIG_NET_NS=y
-
-CONFIG_CLS_CGROUP=m
-CONFIG_BLK_CGROUP=y
-CONFIG_NETPRIO_CGROUP=m
-
-CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
-
-# Virtual drivers
-CONFIG_VIRTIO_BLK=y
-CONFIG_SCSI_VIRTIO=y
-CONFIG_VIRTIO_NET=m
-CONFIG_HVC_DRIVER=y
-CONFIG_VIRTIO_CONSOLE=y
-CONFIG_HW_RANDOM_VIRTIO=m
-CONFIG_VIRTIO=y
-CONFIG_VIRTIO_RING=y
-CONFIG_VIRTIO_PCI=y
-CONFIG_VIRTIO_BALLOON=y
-CONFIG_VIRTIO_MMIO=y
-
-
-# Base support for live boot
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_ISO8859_1=y
-CONFIG_VFAT_FS=y
-CONFIG_RD_GZIP=y
-
-# Support for virtual ethernet and LXC
-CONFIG_VETH=y
-CONFIG_MACVLAN=y
diff --git a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/lxc.scc b/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/lxc.scc
deleted file mode 100644
index ee51883..0000000
--- a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/lxc.scc
+++ /dev/null
@@ -1,4 +0,0 @@
-define KFEATURE_DESCRIPTION "Enable Features needed by LxC, namespaces, cgroups et.c."
-define KFEATURE_COMPATIBILITY board
-
-kconf non-hardware lxc.cfg
diff --git a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/vswitch.cfg b/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/vswitch.cfg
deleted file mode 100644
index b1fefc0..0000000
--- a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/vswitch.cfg
+++ /dev/null
@@ -1,3 +0,0 @@
-CONFIG_OPENVSWITCH=m
-CONFIG_NET_SCH_INGRESS=m
-CONFIG_NET_ACT_POLICE=m
diff --git a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/vswitch.scc b/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/vswitch.scc
deleted file mode 100644
index 2790b4f..0000000
--- a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/vswitch.scc
+++ /dev/null
@@ -1,4 +0,0 @@
-define KFEATURE_DESCRIPTION "Enable in kernel OpenvSwitch module"
-define KFEATURE_COMPATIBILITY board
-
-kconf non-hardware vswitch.cfg
diff --git a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/xen.cfg b/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/xen.cfg
deleted file mode 100644
index 4780311..0000000
--- a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/xen.cfg
+++ /dev/null
@@ -1,50 +0,0 @@
-CONFIG_HYPERVISOR_GUEST=y
-CONFIG_PARAVIRT=y
-CONFIG_XEN=y
-CONFIG_XEN_DOM0=y
-CONFIG_XEN_PVHVM=y
-CONFIG_XEN_MAX_DOMAIN_MEMORY=500
-CONFIG_XEN_SAVE_RESTORE=y
-# CONFIG_XEN_DEBUG_FS is not set
-CONFIG_XEN_PVH=y
-CONFIG_MMU_NOTIFIER=y
-CONFIG_HIBERNATE_CALLBACKS=y
-CONFIG_PCI_XEN=y
-CONFIG_XEN_PCIDEV_FRONTEND=y
-CONFIG_SYS_HYPERVISOR=y
-CONFIG_XEN_BLKDEV_FRONTEND=y
-CONFIG_XEN_BLKDEV_BACKEND=m
-CONFIG_XEN_SCSI_FRONTEND=m
-CONFIG_XEN_NETDEV_FRONTEND=y
-CONFIG_XEN_NETDEV_BACKEND=m
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
-CONFIG_HVC_IRQ=y
-CONFIG_HVC_XEN=y
-CONFIG_HVC_XEN_FRONTEND=y
-CONFIG_XEN_WDT=m
-CONFIG_FB_SYS_FILLRECT=y
-CONFIG_FB_SYS_COPYAREA=y
-CONFIG_FB_SYS_IMAGEBLIT=y
-CONFIG_FB_SYS_FOPS=y
-CONFIG_FB_DEFERRED_IO=y
-CONFIG_XEN_FBDEV_FRONTEND=y
-CONFIG_XEN_BALLOON=y
-CONFIG_XEN_SCRUB_PAGES=y
-CONFIG_XEN_DEV_EVTCHN=y
-CONFIG_XEN_BACKEND=y
-CONFIG_XENFS=y
-CONFIG_XEN_COMPAT_XENFS=y
-CONFIG_XEN_SYS_HYPERVISOR=y
-CONFIG_XEN_XENBUS_FRONTEND=y
-CONFIG_XEN_GNTDEV=m
-CONFIG_XEN_GRANT_DEV_ALLOC=m
-CONFIG_SWIOTLB_XEN=y
-CONFIG_XEN_PCIDEV_BACKEND=m
-CONFIG_XEN_PRIVCMD=y
-CONFIG_XEN_ACPI_PROCESSOR=m
-CONFIG_XEN_MCE_LOG=y
-CONFIG_XEN_HAVE_PVMMU=y
-CONFIG_XEN_EFI=y
-CONFIG_XEN_AUTO_XLATE=y
-CONFIG_XEN_ACPI=y
diff --git a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/xen.scc b/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/xen.scc
deleted file mode 100644
index b588e5d..0000000
--- a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/xen.scc
+++ /dev/null
@@ -1,4 +0,0 @@
-define KFEATURE_DESCRIPTION "Xen Kernel Support"
-define KFEATURE_COMPATIBILITY arch
-
-kconf non-hardware xen.cfg
diff --git a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/xt-checksum.cfg b/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/xt-checksum.cfg
deleted file mode 100644
index 58afbff..0000000
--- a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/xt-checksum.cfg
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
diff --git a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/xt-checksum.scc b/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/xt-checksum.scc
deleted file mode 100644
index d3804f0..0000000
--- a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto/xt-checksum.scc
+++ /dev/null
@@ -1,4 +0,0 @@
-define KFEATURE_DESCRIPTION "Add extra iptables modules"
-define KFEATURE_COMPATIBILITY board
-
-kconf non-hardware xt-checksum.cfg
diff --git a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto_4.12.bbappend b/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto_4.12.bbappend
deleted file mode 100644
index 617cacc..0000000
--- a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto_4.12.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', '${BPN}_virtualization.inc', '', d)}
diff --git a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto_4.14.bbappend b/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto_4.14.bbappend
deleted file mode 100644
index 617cacc..0000000
--- a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto_4.14.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', '${BPN}_virtualization.inc', '', d)}
diff --git a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto_4.15.bbappend b/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto_4.15.bbappend
deleted file mode 100644
index 617cacc..0000000
--- a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto_4.15.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@bb.utils.contains('DISTRO_FEATURES', 'virtualization', '${BPN}_virtualization.inc', '', d)}
diff --git a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto_virtualization.inc b/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto_virtualization.inc
deleted file mode 100644
index 9905ed9..0000000
--- a/import-layers/meta-virtualization/recipes-kernel/linux/linux-yocto_virtualization.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/linux-yocto:"
-
-SRC_URI += "file://xt-checksum.scc \
-            file://ebtables.scc \
-	    file://vswitch.scc \
-	    file://lxc.scc \
-            file://docker.scc \
-	    "
-KERNEL_FEATURES_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'kvm', 'features/kvm/qemu-kvm-enable.scc', '', d)}"
-
-KERNEL_MODULE_AUTOLOAD += "openvswitch"
-KERNEL_MODULE_AUTOLOAD += "${@bb.utils.contains('DISTRO_FEATURES', 'kvm', 'kvm', '', d)}"
-KERNEL_MODULE_AUTOLOAD += "${@bb.utils.contains('DISTRO_FEATURES', 'kvm', 'kvm-amd', '', d)}"
-KERNEL_MODULE_AUTOLOAD += "${@bb.utils.contains('DISTRO_FEATURES', 'kvm', 'kvm-intel', '', d)}"
-
-# aufs kernel support required for xen-image-minimal
-KERNEL_FEATURES_append += "${@bb.utils.contains('DISTRO_FEATURES', 'aufs', ' features/aufs/aufs-enable.scc', '', d)}"
-
-# xen kernel support
-SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'xen', ' file://xen.scc', '', d)}"
diff --git a/import-layers/meta-virtualization/recipes-networking/cni/cni_git.bb b/import-layers/meta-virtualization/recipes-networking/cni/cni_git.bb
deleted file mode 100644
index 427a812..0000000
--- a/import-layers/meta-virtualization/recipes-networking/cni/cni_git.bb
+++ /dev/null
@@ -1,95 +0,0 @@
-HOMEPAGE = "https://github.com/containernetworking/cni"
-SUMMARY = "Container Network Interface - networking for Linux containers"
-DESCRIPTION = "CNI (Container Network Interface), a Cloud Native Computing \
-Foundation project, consists of a specification and libraries for writing \
-plugins to configure network interfaces in Linux containers, along with a \
-number of supported plugins. CNI concerns itself only with network connectivity \
-of containers and removing allocated resources when the container is deleted. \
-Because of this focus, CNI has a wide range of support and the specification \
-is simple to implement. \
-"
-
-SRCREV_cni = "4b9e11a5266fe50222ed00c5973c6ea4a384a4bb"
-SRCREV_plugins = "c238c93b5e7c681f1935ff813b30e82f96f6c367"
-SRC_URI = "\
-	git://github.com/containernetworking/cni.git;nobranch=1;name=cni \
-        git://github.com/containernetworking/plugins.git;nobranch=1;destsuffix=plugins;name=plugins \
-	"
-
-RPROVIDES_${PN} += "kubernetes-cni"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=fa818a259cbed7ce8bc2a22d35a464fc"
-
-GO_IMPORT = "import"
-
-PV = "0.6.0+git${SRCREV_cni}"
-
-inherit go
-inherit goarch
-
-do_compile() {
-	export GOARCH="${TARGET_GOARCH}"
-	export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go"
-	export GOPATH="${S}/src/import:${S}/src/import/vendor"
-
-	# Pass the needed cflags/ldflags so that cgo
-	# can find the needed headers files and libraries
-	export CGO_ENABLED="1"
-	export CFLAGS=""
-	export LDFLAGS=""
-	export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-	export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-
-	# link fixups for compilation
-	rm -f ${S}/src/import/vendor/src
-	ln -sf ./ ${S}/src/import/vendor/src
-	rm -rf ${S}/src/import/plugins
-	rm -rf ${S}/src/import/vendor/github.com/containernetworking/plugins
-
-	mkdir -p ${S}/src/import/vendor/github.com/containernetworking/cni
-
-	ln -sf ../../../../libcni ${S}/src/import/vendor/github.com/containernetworking/cni/libcni
-	ln -sf ../../../../pkg ${S}/src/import/vendor/github.com/containernetworking/cni/pkg
-	ln -sf ../../../../cnitool ${S}/src/import/vendor/github.com/containernetworking/cni/cnitool
-	ln -sf ${WORKDIR}/plugins ${S}/src/import/vendor/github.com/containernetworking/plugins
-
-	export GOPATH="${S}/src/import/.gopath:${S}/src/import/vendor:${STAGING_DIR_TARGET}/${prefix}/local/go"
-	export GOROOT="${STAGING_DIR_NATIVE}/${nonarch_libdir}/${HOST_SYS}/go"
-
-	# Pass the needed cflags/ldflags so that cgo
-	# can find the needed headers files and libraries
-	export CGO_ENABLED="1"
-	export CGO_CFLAGS="${CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-	export CGO_LDFLAGS="${LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-
-	cd ${S}/src/import/vendor/github.com/containernetworking/cni/libcni
-	go build
-
-	cd ${S}/src/import/vendor/github.com/containernetworking/cni/cnitool
-	go build
-
-	cd ${S}/src/import/vendor/github.com/containernetworking/plugins/
-	PLUGINS="plugins/meta/* plugins/main/*"
-	mkdir -p ${WORKDIR}/plugins/bin/
-	for p in $PLUGINS; do
-	    plugin="$(basename "$p")"
-	    echo "building: $p"
-	    go build -o ${WORKDIR}/plugins/bin/$plugin github.com/containernetworking/plugins/$p
-	done
-}
-
-do_install() {
-    localbindir="/opt/cni/bin"
-
-    install -d ${D}${localbindir}
-    install -d ${D}/${sysconfdir}/cni/net.d
-
-    install -m 755 ${S}/src/import/cnitool/cnitool ${D}/${localbindir}
-    install -m 755 -D ${WORKDIR}/plugins/bin/* ${D}/${localbindir}
-}
-
-FILES_${PN} += "/opt/cni/bin/*"
-
-INHIBIT_PACKAGE_STRIP = "1"
-INSANE_SKIP_${PN} += "ldflags already-stripped"
diff --git a/import-layers/meta-virtualization/recipes-networking/netns/files/0001-Allow-selection-of-go-compiler.patch b/import-layers/meta-virtualization/recipes-networking/netns/files/0001-Allow-selection-of-go-compiler.patch
deleted file mode 100644
index 84fb9a4..0000000
--- a/import-layers/meta-virtualization/recipes-networking/netns/files/0001-Allow-selection-of-go-compiler.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From 6576f228339b7931e05a8e861f085f483817806b Mon Sep 17 00:00:00 2001
-From: Paul Barker <pbarker@toganlabs.com>
-Date: Tue, 8 May 2018 11:01:14 +0000
-Subject: [PATCH] Allow selection of go compiler
-
-By running `make GO=/path/to/go` we can now select the appropriate go compiler
-to use. This also makes it possible to cross compile netns more easily.
-
-Signed-off-by: Paul Barker <pbarker@toganlabs.com>
-Upstream-status: Pending
----
- Makefile | 25 ++++++++++++++-----------
- 1 file changed, 14 insertions(+), 11 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 3a22f3e..476cb9b 100644
---- a/src/import/Makefile
-+++ b/src/import/Makefile
-@@ -23,6 +23,9 @@ CTIMEVAR=-X $(PKG)/version.GITCOMMIT=$(GITCOMMIT) -X $(PKG)/version.VERSION=$(VE
- GO_LDFLAGS=-ldflags "-w $(CTIMEVAR)"
- GO_LDFLAGS_STATIC=-ldflags "-w $(CTIMEVAR) -extldflags -static"
- 
-+# Set our default go compiler
-+GO := go
-+
- # List the GOOS and GOARCH to build
- GOOSARCHES = linux/arm linux/arm64 linux/amd64 linux/386
- 
-@@ -33,12 +36,12 @@ build: $(NAME) ## Builds a dynamic executable or package
- 
- $(NAME): *.go VERSION.txt
- 	@echo "+ $@"
--	go build -tags "$(BUILDTAGS)" ${GO_LDFLAGS} -o $(NAME) .
-+	$(GO) build -tags "$(BUILDTAGS)" ${GO_LDFLAGS} -o $(NAME) .
- 
- .PHONY: static
- static: ## Builds a static executable
- 	@echo "+ $@"
--	CGO_ENABLED=0 go build \
-+	CGO_ENABLED=0 $(GO) build \
- 				-tags "$(BUILDTAGS) static_build" \
- 				${GO_LDFLAGS_STATIC} -o $(NAME) .
- 
-@@ -55,23 +58,23 @@ lint: ## Verifies `golint` passes
- .PHONY: test
- test: ## Runs the go tests
- 	@echo "+ $@"
--	@go test -v -tags "$(BUILDTAGS) cgo" $(shell go list ./... | grep -v vendor)
-+	@$(GO) test -v -tags "$(BUILDTAGS) cgo" $(shell $(GO) list ./... | grep -v vendor)
- 
- .PHONY: vet
- vet: ## Verifies `go vet` passes
- 	@echo "+ $@"
--	@go vet $(shell go list ./... | grep -v vendor) | grep -v '.pb.go:' | tee /dev/stderr
-+	@$(GO) vet $(shell $(GO) list ./... | grep -v vendor) | grep -v '.pb.go:' | tee /dev/stderr
- 
- .PHONY: staticcheck
- staticcheck: ## Verifies `staticcheck` passes
- 	@echo "+ $@"
--	@staticcheck $(shell go list ./... | grep -v vendor) | grep -v '.pb.go:' | tee /dev/stderr
-+	@staticcheck $(shell $(GO) list ./... | grep -v vendor) | grep -v '.pb.go:' | tee /dev/stderr
- 
- .PHONY: cover
- cover: ## Runs go test with coverage
- 	@echo "" > coverage.txt
--	@for d in $(shell go list ./... | grep -v vendor); do \
--		go test -race -coverprofile=profile.out -covermode=atomic "$$d"; \
-+	@for d in $(shell $(GO) list ./... | grep -v vendor); do \
-+		$(GO) test -race -coverprofile=profile.out -covermode=atomic "$$d"; \
- 		if [ -f profile.out ]; then \
- 			cat profile.out >> coverage.txt; \
- 			rm profile.out; \
-@@ -81,11 +84,11 @@ cover: ## Runs go test with coverage
- .PHONY: install
- install: ## Installs the executable or package
- 	@echo "+ $@"
--	go install -a -tags "$(BUILDTAGS)" ${GO_LDFLAGS} .
-+	$(GO) install -a -tags "$(BUILDTAGS)" ${GO_LDFLAGS} .
- 
- define buildpretty
- mkdir -p $(BUILDDIR)/$(1)/$(2);
--GOOS=$(1) GOARCH=$(2) CGO_ENABLED=0 go build \
-+GOOS=$(1) GOARCH=$(2) CGO_ENABLED=0 $(GO) build \
- 	 -o $(BUILDDIR)/$(1)/$(2)/$(NAME) \
- 	 -a -tags "$(BUILDTAGS) static_build netgo" \
- 	 -installsuffix netgo ${GO_LDFLAGS_STATIC} .;
-@@ -99,7 +102,7 @@ cross: *.go VERSION.txt ## Builds the cross-compiled binaries, creating a clean
- 	$(foreach GOOSARCH,$(GOOSARCHES), $(call buildpretty,$(subst /,,$(dir $(GOOSARCH))),$(notdir $(GOOSARCH))))
- 
- define buildrelease
--GOOS=$(1) GOARCH=$(2) CGO_ENABLED=0 go build \
-+GOOS=$(1) GOARCH=$(2) CGO_ENABLED=0 $(GO) build \
- 	 -o $(BUILDDIR)/$(NAME)-$(1)-$(2) \
- 	 -a -tags "$(BUILDTAGS) static_build netgo" \
- 	 -installsuffix netgo ${GO_LDFLAGS_STATIC} .;
-@@ -115,7 +118,7 @@ release: *.go VERSION.txt ## Builds the cross-compiled binaries, naming them in
- .PHONY: bump-version
- BUMP := patch
- bump-version: ## Bump the version in the version file. Set BUMP to [ patch | major | minor ]
--	@go get -u github.com/jessfraz/junk/sembump # update sembump tool
-+	@$(GO) get -u github.com/jessfraz/junk/sembump # update sembump tool
- 	$(eval NEW_VERSION = $(shell sembump --kind $(BUMP) $(VERSION)))
- 	@echo "Bumping VERSION.txt from $(VERSION) to $(NEW_VERSION)"
- 	echo $(NEW_VERSION) > VERSION.txt
--- 
-2.7.4
-
diff --git a/import-layers/meta-virtualization/recipes-networking/netns/files/0001-Use-correct-go-cross-compiler.patch b/import-layers/meta-virtualization/recipes-networking/netns/files/0001-Use-correct-go-cross-compiler.patch
deleted file mode 100644
index ed66e11..0000000
--- a/import-layers/meta-virtualization/recipes-networking/netns/files/0001-Use-correct-go-cross-compiler.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From d5c319bb61155d94bef2571a095d82983d786b94 Mon Sep 17 00:00:00 2001
-From: Paul Barker <pbarker@toganlabs.com>
-Date: Fri, 13 Oct 2017 17:58:11 +0000
-Subject: [PATCH] Use correct go cross-compiler
-
-Signed-off-by: Paul Barker <pbarker@toganlabs.com>
-Upstream-status: Pending
----
- Makefile | 16 ++++++++--------
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index cb9a46d..633f884 100644
---- a/src/import/Makefile
-+++ b/src/import/Makefile
-@@ -33,12 +33,12 @@ build: $(NAME) ## Builds a dynamic executable or package
- 
- $(NAME): *.go VERSION
- 	@echo "+ $@"
--	go build -tags "$(BUILDTAGS)" ${GO_LDFLAGS} -o $(NAME) .
-+	$(GO) build -tags "$(BUILDTAGS)" ${GO_LDFLAGS} -o $(NAME) .
- 
- .PHONY: static
- static: ## Builds a static executable
- 	@echo "+ $@"
--	CGO_ENABLED=0 go build \
-+	CGO_ENABLED=0 $(GO) build \
- 				-tags "$(BUILDTAGS) static_build" \
- 				${GO_LDFLAGS_STATIC} -o $(NAME) .
- 
-@@ -55,21 +55,21 @@ lint: ## Verifies `golint` passes
- .PHONY: test
- test: ## Runs the go tests
- 	@echo "+ $@"
--	@go test -v -tags "$(BUILDTAGS) cgo" $(shell go list ./... | grep -v vendor)
-+	@$(GO) test -v -tags "$(BUILDTAGS) cgo" $(shell $(GO) list ./... | grep -v vendor)
- 
- .PHONY: vet
- vet: ## Verifies `go vet` passes
- 	@echo "+ $@"
--	@go vet $(shell go list ./... | grep -v vendor) | grep -v '.pb.go:' | tee /dev/stderr
-+	@$(GO) vet $(shell $(GO) list ./... | grep -v vendor) | grep -v '.pb.go:' | tee /dev/stderr
- 
- .PHONY: install
- install: ## Installs the executable or package
- 	@echo "+ $@"
--	@go install .
-+	@$(GO) install .
- 
- define buildpretty
- mkdir -p $(BUILDDIR)/$(1)/$(2);
--GOOS=$(1) GOARCH=$(2) CGO_ENABLED=0 go build \
-+GOOS=$(1) GOARCH=$(2) CGO_ENABLED=0 $(GO) build \
- 	 -o $(BUILDDIR)/$(1)/$(2)/$(NAME) \
- 	 -a -tags "$(BUILDTAGS) static_build netgo" \
- 	 -installsuffix netgo ${GO_LDFLAGS_STATIC} .;
-@@ -83,7 +83,7 @@ cross: *.go VERSION ## Builds the cross-compiled binaries, creating a clean dire
- 	$(foreach GOOSARCH,$(GOOSARCHES), $(call buildpretty,$(subst /,,$(dir $(GOOSARCH))),$(notdir $(GOOSARCH))))
- 
- define buildrelease
--GOOS=$(1) GOARCH=$(2) CGO_ENABLED=0 go build \
-+GOOS=$(1) GOARCH=$(2) CGO_ENABLED=0 $(GO) build \
- 	 -o $(BUILDDIR)/$(NAME)-$(1)-$(2) \
- 	 -a -tags "$(BUILDTAGS) static_build netgo" \
- 	 -installsuffix netgo ${GO_LDFLAGS_STATIC} .;
-@@ -99,7 +99,7 @@ release: *.go VERSION ## Builds the cross-compiled binaries, naming them in such
- .PHONY: bump-version
- BUMP := patch
- bump-version: ## Bump the version in the version file. Set KIND to [ patch | major | minor ]
--	@go get -u github.com/jessfraz/junk/sembump # update sembump tool
-+	@$(GO) get -u github.com/jessfraz/junk/sembump # update sembump tool
- 	$(eval NEW_VERSION = $(shell sembump --kind $(BUMP) $(VERSION)))
- 	@echo "Bumping VERSION from $(VERSION) to $(NEW_VERSION)"
- 	echo $(NEW_VERSION) > VERSION
--- 
-2.7.4
-
diff --git a/import-layers/meta-virtualization/recipes-networking/netns/netns_git.bb b/import-layers/meta-virtualization/recipes-networking/netns/netns_git.bb
deleted file mode 100644
index 82a961b..0000000
--- a/import-layers/meta-virtualization/recipes-networking/netns/netns_git.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-HOMEPAGE = "https://github.com/jfrazelle/netns"
-SUMMARY = "Runc hook for setting up default bridge networking."
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=48ef0979a2bcc3fae14ff30b8a7f5dbf"
-
-SRC_URI = "git://github.com/genuinetools/netns;branch=master \
-           file://0001-Allow-selection-of-go-compiler.patch \
-          "
-SRCREV = "0da6ab0997707024debe68c91e940c9168041bf8"
-PV = "0.4.0"
-GO_IMPORT = "import"
-
-S = "${WORKDIR}/git"
-
-inherit goarch
-inherit go
-
-do_compile() {
-	export GOARCH="${TARGET_GOARCH}"
-	export GOROOT="${STAGING_LIBDIR_NATIVE}/${TARGET_SYS}/go"
-	# Setup vendor directory so that it can be used in GOPATH.
-	#
-	# Go looks in a src directory under any directory in GOPATH but netns
-	# uses 'vendor' instead of 'vendor/src'. We can fix this with a symlink.
-	#
-	# We also need to link in the ipallocator and version directories as
-	# they are not under the src directory.
-	ln -sfn . "${S}/src/import/vendor/src"
-	mkdir -p "${S}/src/import/vendor/src/github.com/genuinetools/netns"
-	ln -sfn "${S}/src/import/ipallocator" "${S}/src/import/vendor/src/github.com/genuinetools/netns/ipallocator"
-	ln -sfn "${S}/src/import/version" "${S}/src/import/vendor/src/github.com/genuinetools/netns/version"
-	export GOPATH="${S}/src/import/vendor"
-
-	# Pass the needed cflags/ldflags so that cgo
-	# can find the needed headers files and libraries
-	export CGO_ENABLED="1"
-	export CFLAGS=""
-	export LDFLAGS=""
-	export CGO_CFLAGS="${BUILDSDK_CFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-	export CGO_LDFLAGS="${BUILDSDK_LDFLAGS} --sysroot=${STAGING_DIR_TARGET}"
-
-	cd ${S}/src/import
-	oe_runmake static
-}
-
-do_install() {
-	install -d ${D}/${sbindir}
-	install ${S}/src/import/netns ${D}/${sbindir}/netns
-}
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/files/openvswitch-add-ptest.patch b/import-layers/meta-virtualization/recipes-networking/openvswitch/files/openvswitch-add-ptest.patch
deleted file mode 100644
index cb708de..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/files/openvswitch-add-ptest.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-Add test-install rule to support ptest execution
-
-Signed-off-by: Radu Patriu <radu.patriu@enea.com>
-
-Index: openvswitch-2.1.2/Makefile.am
-===================================================================
---- openvswitch-2.1.2.orig/Makefile.am
-+++ openvswitch-2.1.2/Makefile.am
-@@ -300,3 +300,5 @@
- include python/compat/automake.mk
- include tutorial/automake.mk
- include vtep/automake.mk
-+include test.mk
-+
-Index: openvswitch-2.1.2/test.mk
-===================================================================
---- /dev/null
-+++ openvswitch-2.1.2/test.mk
-@@ -0,0 +1,49 @@
-+TEST_DEST ?= ${prefix}/lib/openvswitch
-+TEST_ROOT ?= ${prefix}/lib/openvswitch
-+TEST_DEPEND =
-+
-+if HAVE_OPENSSL
-+TEST_DEPEND += $(TESTPKI_FILES)
-+endif
-+
-+test-install: $(TEST_DEPEND)
-+	@list='$(noinst_PROGRAMS) $(EXTRA_DIST) $(dist_check_SCRIPTS) $(TEST_DEPEND) tests/atlocal tests/atconfig' ;\
-+	install -d $(TEST_DEST)/tests ;\
-+	install -d $(TEST_DEST)/python ;\
-+	install -d $(TEST_DEST)/python/ovs ;\
-+	install -d $(TEST_DEST)/python/ovs/db ;\
-+	install -d $(TEST_DEST)/python/ovs/unixctl ;\
-+	install -d $(TEST_DEST)/vswitchd ;\
-+	install vswitchd/vswitch.ovsschema $(TEST_DEST)/vswitchd ;\
-+	install -d $(TEST_DEST)/debian ;\
-+	install debian/ovs-monitor-ipsec $(TEST_DEST)/debian ;\
-+	install -d $(TEST_DEST)/build-aux ;\
-+	install build-aux/check-structs $(TEST_DEST)/build-aux ;\
-+	install -d $(TEST_DEST)/xenserver ;\
-+	install xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync $(TEST_DEST)/xenserver ;\
-+	install xenserver/opt_xensource_libexec_interface-reconfigure $(TEST_DEST)/xenserver ;\
-+	install xenserver/opt_xensource_libexec_InterfaceReconfigure.py $(TEST_DEST)/xenserver ;\
-+	install xenserver/opt_xensource_libexec_InterfaceReconfigureBridge.py $(TEST_DEST)/xenserver ;\
-+	install xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py $(TEST_DEST)/xenserver ;\
-+	install -d $(TEST_DEST)/vtep ;\
-+	install vtep/vtep.ovsschema $(TEST_DEST)/vtep ;\
-+	for p in $$list ; do \
-+	  echo $$p ;\
-+	  p=$${p#./} ;\
-+	  pre=$${p#tests\/} ;\
-+	  if test $$pre != $$p ; then \
-+	    echo installing $$p to $(TEST_DEST)/tests/$$pre ;\
-+	    install $$p $(TEST_DEST)/tests/$$pre ;\
-+	    continue ;\
-+	  fi ;\
-+	  pre=$${p#python\/ovs\/} ;\
-+	  if test $$pre != $$p ; then \
-+	    echo installing $$p to $(TEST_DEST)/python/ovs/$$pre ;\
-+	    install $$p $(TEST_DEST)/python/ovs/$$pre ;\
-+	    continue ;\
-+	  fi; \
-+	done ;\
-+	sed -i 's|abs_builddir=.*|abs_builddir='"'"'$(TEST_ROOT)/tests'"'"'|g' $(TEST_DEST)/tests/atconfig
-+	sed -i 's|abs_srcdir=.*|abs_srcdir='"'"'$(TEST_ROOT)/tests'"'"'|g' $(TEST_DEST)/tests/atconfig
-+	sed -i 's|abs_top_srcdir=.*|abs_top_srcdir='"'"'$(TEST_ROOT)'"'"'|g' $(TEST_DEST)/tests/atconfig
-+	sed -i 's|abs_top_builddir=.*|abs_top_builddir='"'"'$(TEST_ROOT)'"'"'|g' $(TEST_DEST)/tests/atconfig
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/files/openvswitch-example b/import-layers/meta-virtualization/recipes-networking/openvswitch/files/openvswitch-example
deleted file mode 100644
index 6f08c3f..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/files/openvswitch-example
+++ /dev/null
@@ -1,102 +0,0 @@
-#! /bin/sh
-#
-# Copyright (C) 2011 Nicira Networks, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at:
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-### BEGIN INIT INFO
-# Provides:          openvswitch-switch
-# Required-Start:    $network $named $remote_fs $syslog
-# Required-Stop:     $remote_fs
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: Open vSwitch switch
-### END INIT INFO
-
-(test -x /usr/sbin/ovs-vswitchd && test -x /usr/sbin/ovsdb-server) || exit 0
-
-. /usr/share/openvswitch/scripts/ovs-lib
-test -e /etc/default/openvswitch-switch && . /etc/default/openvswitch-switch
-
-if test X"$BRCOMPAT" = Xyes && test ! -x /usr/sbin/ovs-brcompatd; then
-    BRCOMPAT=no
-    log_warning_msg "ovs-brcompatd missing, disabling bridge compatibility"
-fi
-
-ovs_ctl () {
-    set /usr/share/openvswitch/scripts/ovs-ctl "$@"
-    if test X"$BRCOMPAT" = Xyes; then
-        set "$@" --brcompat
-    fi
-    "$@"
-}
-
-load_kmod () {
-    ovs_ctl load-kmod || exit $?
-}
-
-start () {
-    if ovs_ctl load-kmod; then
-	:
-    else
-	echo "Module has probably not been built for this kernel."
-	if ! test -d /usr/share/doc/openvswitch-datapath-source; then
-	    echo "Install the openvswitch-datapath-source package, then read"
-	else
-            echo "For instructions, read"
-	fi
-	echo "/usr/share/doc/openvswitch-datapath-source/README.Debian"
-    fi
-    set ovs_ctl ${1-start} --system-id=random
-    if test X"$FORCE_COREFILES" != X; then
-	set "$@" --force-corefiles="$FORCE_COREFILES"
-    fi
-    "$@" || exit $?
-
-    ovs_ctl --protocol=gre enable-protocol
-}
-
-stop () {
-    ovs_ctl stop
-}
-
-case $1 in
-    start)
-        start
-	;;
-    stop | force-stop)
-        stop
-        ;;
-    reload | force-reload)
-        # The OVS daemons keep up-to-date.
-        ;;
-    restart)
-        stop
-        start
-        ;;
-    status)
-        ovs_ctl status
-        ;;
-    force-reload-kmod)
-        start force-reload-kmod
-        ;;
-    load-kmod)
-        load_kmod
-        ;;
-    *)
-        echo "Usage: $0 {start|stop|restart|force-reload|status|force-stop|force-reload-kmod|load-kmod}" >&2
-        exit 1
-        ;;
-esac
-
-exit 0
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/files/openvswitch-switch b/import-layers/meta-virtualization/recipes-networking/openvswitch/files/openvswitch-switch
deleted file mode 100644
index 6f08c3f..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/files/openvswitch-switch
+++ /dev/null
@@ -1,102 +0,0 @@
-#! /bin/sh
-#
-# Copyright (C) 2011 Nicira Networks, Inc.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at:
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-### BEGIN INIT INFO
-# Provides:          openvswitch-switch
-# Required-Start:    $network $named $remote_fs $syslog
-# Required-Stop:     $remote_fs
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: Open vSwitch switch
-### END INIT INFO
-
-(test -x /usr/sbin/ovs-vswitchd && test -x /usr/sbin/ovsdb-server) || exit 0
-
-. /usr/share/openvswitch/scripts/ovs-lib
-test -e /etc/default/openvswitch-switch && . /etc/default/openvswitch-switch
-
-if test X"$BRCOMPAT" = Xyes && test ! -x /usr/sbin/ovs-brcompatd; then
-    BRCOMPAT=no
-    log_warning_msg "ovs-brcompatd missing, disabling bridge compatibility"
-fi
-
-ovs_ctl () {
-    set /usr/share/openvswitch/scripts/ovs-ctl "$@"
-    if test X"$BRCOMPAT" = Xyes; then
-        set "$@" --brcompat
-    fi
-    "$@"
-}
-
-load_kmod () {
-    ovs_ctl load-kmod || exit $?
-}
-
-start () {
-    if ovs_ctl load-kmod; then
-	:
-    else
-	echo "Module has probably not been built for this kernel."
-	if ! test -d /usr/share/doc/openvswitch-datapath-source; then
-	    echo "Install the openvswitch-datapath-source package, then read"
-	else
-            echo "For instructions, read"
-	fi
-	echo "/usr/share/doc/openvswitch-datapath-source/README.Debian"
-    fi
-    set ovs_ctl ${1-start} --system-id=random
-    if test X"$FORCE_COREFILES" != X; then
-	set "$@" --force-corefiles="$FORCE_COREFILES"
-    fi
-    "$@" || exit $?
-
-    ovs_ctl --protocol=gre enable-protocol
-}
-
-stop () {
-    ovs_ctl stop
-}
-
-case $1 in
-    start)
-        start
-	;;
-    stop | force-stop)
-        stop
-        ;;
-    reload | force-reload)
-        # The OVS daemons keep up-to-date.
-        ;;
-    restart)
-        stop
-        start
-        ;;
-    status)
-        ovs_ctl status
-        ;;
-    force-reload-kmod)
-        start force-reload-kmod
-        ;;
-    load-kmod)
-        load_kmod
-        ;;
-    *)
-        echo "Usage: $0 {start|stop|restart|force-reload|status|force-stop|force-reload-kmod|load-kmod}" >&2
-        exit 1
-        ;;
-esac
-
-exit 0
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/files/openvswitch-switch-setup b/import-layers/meta-virtualization/recipes-networking/openvswitch/files/openvswitch-switch-setup
deleted file mode 100644
index 73387fb..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/files/openvswitch-switch-setup
+++ /dev/null
@@ -1,8 +0,0 @@
-# This is a POSIX shell fragment                -*- sh -*-
-
-# FORCE_COREFILES: If 'yes' then core files will be enabled.
-# FORCE_COREFILES=yes
-
-# BRCOMPAT: If 'yes' and the openvswitch-brcompat package is installed, then
-# Linux bridge compatibility will be enabled.
-# BRCOMPAT=yes
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/files/openvswitch-testcontroller b/import-layers/meta-virtualization/recipes-networking/openvswitch/files/openvswitch-testcontroller
deleted file mode 100755
index aad5ad6..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/files/openvswitch-testcontroller
+++ /dev/null
@@ -1,274 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2011 Nicira Networks Inc.
-# Copyright (c) 2007, 2009 Javier Fernandez-Sanguino <jfs@debian.org>
-#
-# This is free software; you may redistribute it and/or modify
-# it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2,
-# or (at your option) any later version.
-#
-# This is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License with
-# the Debian operating system, in /usr/share/common-licenses/GPL;  if
-# not, write to the Free Software Foundation, Inc., 59 Temple Place,
-# Suite 330, Boston, MA 02111-1307 USA
-#
-### BEGIN INIT INFO
-# Provides:          openvswitch-testcontroller
-# Required-Start:    $network $local_fs $remote_fs
-# Required-Stop:     $remote_fs
-# Should-Start:      $named
-# Should-Stop:       
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: Open vSwitch controller
-### END INIT INFO
-
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-
-DAEMON=/usr/bin/ovs-testcontroller # Introduce the server's location here
-NAME=ovs-testcontroller         # Introduce the short server's name here
-DESC=ovs-testcontroller         # Introduce a short description here
-LOGDIR=/var/log/openvswitch # Log directory to use
-
-PIDFILE=/var/run/openvswitch/$NAME.pid 
-
-test -x $DAEMON || exit 0
-
-. /lib/lsb/init-functions
-
-# Default options, these can be overriden by the information
-# at /etc/default/openvswitch-testcontroller
-DAEMON_OPTS=""          # Additional options given to the server 
-
-DODTIME=10              # Time to wait for the server to die, in seconds
-                        # If this value is set too low you might not
-                        # let some servers to die gracefully and
-                        # 'restart' will not work
-                        
-LOGFILE=$LOGDIR/$NAME.log  # Server logfile
-#DAEMONUSER=            # User to run the daemons as. If this value
-                        # is set start-stop-daemon will chuid the server
-
-# Include defaults if available
-default=/etc/default/openvswitch-testcontroller
-if [ -f $default ] ; then
-    . $default
-fi
-
-# Check that the user exists (if we set a user)
-# Does the user exist?
-if [ -n "$DAEMONUSER" ] ; then
-    if getent passwd | grep -q "^$DAEMONUSER:"; then
-        # Obtain the uid and gid
-        DAEMONUID=`getent passwd |grep "^$DAEMONUSER:" | awk -F : '{print $3}'`
-        DAEMONGID=`getent passwd |grep "^$DAEMONUSER:" | awk -F : '{print $4}'`
-    else
-        log_failure_msg "The user $DAEMONUSER, required to run $NAME does not exist."
-        exit 1
-    fi
-fi
-
-
-set -e
-
-running_pid() {
-# Check if a given process pid's cmdline matches a given name
-    pid=$1
-    name=$2
-    [ -z "$pid" ] && return 1 
-    [ ! -d /proc/$pid ] &&  return 1
-    cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1`
-    # Is this the expected server
-    [ "$cmd" != "$name" ] &&  return 1
-    return 0
-}
-
-running() {
-# Check if the process is running looking at /proc
-# (works for all users)
-
-    # No pidfile, probably no daemon present
-    [ ! -f "$PIDFILE" ] && return 1
-    pid=`cat $PIDFILE`
-    running_pid $pid $DAEMON || return 1
-    return 0
-}
-
-start_server() {
-    if [ -z "$LISTEN" ]; then
-        echo "$default: No connection methods configured, controller disabled" >&2
-        exit 0
-    fi
-
-    if [ ! -d /var/run/openvswitch ]; then
-        install -d -m 755 -o root -g root /var/run/openvswitch
-    fi
-
-    SSL_OPTS=
-    case $LISTEN in
-        *ssl*)
-            : ${PRIVKEY:=/etc/openvswitch-testcontroller/privkey.pem}
-            : ${CERT:=/etc/openvswitch-testcontroller/cert.pem}
-            : ${CACERT:=/etc/openvswitch-testcontroller/cacert.pem}
-            if test ! -e "$PRIVKEY" || test ! -e "$CERT" ||
-                test ! -e "$CACERT"; then
-                if test ! -e "$PRIVKEY"; then
-                    echo "$PRIVKEY: private key missing" >&2
-                fi
-                if test ! -e "$CERT"; then
-                    echo "$CERT: certificate for private key missing" >&2
-                fi
-                if test ! -e "$CACERT"; then
-                    echo "$CACERT: CA certificate missing" >&2
-                fi
-                exit 1
-            fi
-            SSL_OPTS="--private-key=$PRIVKEY --certificate=$CERT --ca-cert=$CACERT"
-            ;;
-    esac
-
-# Start the process using the wrapper
-        if [ -z "$DAEMONUSER" ] ; then
-            start-stop-daemon --start --pidfile $PIDFILE \
-                        --exec $DAEMON -- --detach --pidfile=$PIDFILE \
-                        $LISTEN $DAEMON_OPTS $SSL_OPTS
-            errcode=$?
-        else
-# if we are using a daemonuser then change the user id
-            start-stop-daemon --start --quiet --pidfile $PIDFILE \
-                        --chuid $DAEMONUSER --exec $DAEMON -- \
-                        --detach --pidfile=$PIDFILE $LISTEN $DAEMON_OPTS \
-                        $SSL_OPTS
-            errcode=$?
-        fi
-        return $errcode
-}
-
-stop_server() {
-# Stop the process using the wrapper
-        if [ -z "$DAEMONUSER" ] ; then
-            start-stop-daemon --stop --quiet --pidfile $PIDFILE \
-                        --exec $DAEMON
-            errcode=$?
-        else
-# if we are using a daemonuser then look for process that match
-            start-stop-daemon --stop --quiet --pidfile $PIDFILE \
-                        --user $DAEMONUSER --exec $DAEMON
-            errcode=$?
-        fi
-
-        return $errcode
-}
-
-reload_server() {
-    [ ! -f "$PIDFILE" ] && return 1
-    pid=`cat $PIDFILE` # This is the daemon's pid
-    # Send a SIGHUP
-    kill -1 $pid
-    return $?
-}
-
-force_stop() {
-# Force the process to die killing it manually
-    [ ! -e "$PIDFILE" ] && return
-    if running ; then
-        kill -15 $pid
-        # Is it really dead?
-        sleep "$DODTIME"
-        if running ; then
-            kill -9 $pid
-            sleep "$DODTIME"
-            if running ; then
-                echo "Cannot kill $NAME (pid=$pid)!"
-                exit 1
-            fi
-        fi
-    fi
-    rm -f $PIDFILE
-}
-
-
-case "$1" in
-  start)
-        log_begin_msg "Starting $DESC " "$NAME"
-        # Check if it's running first
-        if running ;  then
-            log_warning_msg "apparently already running"
-            log_end_msg 0
-            exit 0
-        fi
-        if start_server && running ;  then
-            # It's ok, the server started and is running
-            log_end_msg 0
-        else
-            # Either we could not start it or it is not running
-            # after we did
-            # NOTE: Some servers might die some time after they start,
-            # this code does not try to detect this and might give
-            # a false positive (use 'status' for that)
-            log_end_msg 1
-        fi
-        ;;
-  stop)
-        log_begin_msg "Stopping $DESC" "$NAME"
-        if running ; then
-            # Only stop the server if we see it running
-            stop_server
-            log_end_msg $?
-        else
-            # If it's not running don't do anything
-            log_warning_msg "apparently not running"
-            log_end_msg 0
-            exit 0
-        fi
-        ;;
-  force-stop)
-        # First try to stop gracefully the program
-        $0 stop
-        if running; then
-            # If it's still running try to kill it more forcefully
-            log_begin_msg "Stopping (force) $DESC" "$NAME"
-            force_stop
-            log_end_msg $?
-        fi
-        ;;
-  restart|force-reload)
-        log_begin_msg "Restarting $DESC" "$NAME"
-        stop_server
-        # Wait some sensible amount, some server need this
-        [ -n "$DODTIME" ] && sleep $DODTIME
-        start_server
-        running
-        log_end_msg $?
-        ;;
-  status)
-
-        log_begin_msg "Checking status of $DESC" "$NAME"
-        if running ;  then
-            log_begin_msg "running"
-            log_end_msg 0
-        else
-            log_warning_msg "apparently not running"
-            log_end_msg 1
-            exit 1
-        fi
-        ;;
-  # Use this if the daemon cannot reload
-  reload)
-        log_warning_msg "Reloading $NAME daemon: not implemented, as the daemon"
-        log_warning_msg "cannot re-read the config file (use restart)."
-        ;;
-  *)
-        N=/etc/init.d/openvswitch-testcontroller
-        echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2
-        exit 1
-        ;;
-esac
-
-exit 0
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/files/openvswitch-testcontroller-setup b/import-layers/meta-virtualization/recipes-networking/openvswitch/files/openvswitch-testcontroller-setup
deleted file mode 100644
index b431ece..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/files/openvswitch-testcontroller-setup
+++ /dev/null
@@ -1,29 +0,0 @@
-# This is a POSIX shell fragment                -*- sh -*-
-
-# LISTEN: What OpenFlow connection methods should the controller listen on?
-#
-# This is a space-delimited list of connection methods:
-#
-# * "pssl:[PORT]": Listen for SSL connections on the specified PORT
-#   (default: 6633).  The private key, certificate, and CA certificate
-#   must be specified below.
-#
-# * "pctp:[PORT]": Listen for TCP connections on the specified PORT
-#   (default: 6633).  Not recommended for security reasons.
-#
-LISTEN="pssl:"
-
-# PRIVKEY: Name of file containing controller's private key.
-# Required if SSL enabled.
-PRIVKEY=/etc/openvswitch-testcontroller/privkey.pem
-
-# CERT: Name of file containing certificate for private key.
-# Required if SSL enabled.
-CERT=/etc/openvswitch-testcontroller/cert.pem
-
-# CACERT: Name of file containing switch CA certificate.
-# Required if SSL enabled.
-CACERT=/etc/openvswitch-testcontroller/cacert.pem
-
-# Additional options to pass to controller, e.g. "--hub"
-DAEMON_OPTS=""
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/files/python-make-remaining-scripts-use-usr-bin-env.patch b/import-layers/meta-virtualization/recipes-networking/openvswitch/files/python-make-remaining-scripts-use-usr-bin-env.patch
deleted file mode 100644
index deff10b..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/files/python-make-remaining-scripts-use-usr-bin-env.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-From f21a0490555d5fe8f5a9ce982defa666a64151c0 Mon Sep 17 00:00:00 2001
-From: Mark Asselstine <mark.asselstine@windriver.com>
-Date: Fri, 13 Jan 2017 16:12:55 -0500
-Subject: [PATCH] python: make remaining scripts use /usr/bin/env
-
-Unfortunately there is no concept of a host python vs. target python
-to facilitate cross compilation. There is only one PYTHON variable and
-this is used during building and in the header of python scripts after
-installation. The best approach for cross compilation is to thus to
-ensure python is in the path and avoid passing a path as part of
-PYTHON. To make this function smoothly all installed scripts should
-make use of /usr/bin/env to increase the chances of finding python.
-
-Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
-
----
- build-aux/check-structs                  | 2 +-
- build-aux/extract-ofp-actions            | 2 +-
- build-aux/extract-ofp-errors             | 2 +-
- build-aux/extract-ofp-fields             | 2 +-
- build-aux/extract-ofp-msgs               | 2 +-
- build-aux/xml2nroff                      | 2 +-
- ovn/utilities/ovn-docker-overlay-driver  | 2 +-
- ovn/utilities/ovn-docker-underlay-driver | 2 +-
- ovsdb/ovsdb-doc                          | 2 +-
- ovsdb/ovsdb-dot.in                       | 2 +-
- ovsdb/ovsdb-idlc.in                      | 2 +-
- utilities/bugtool/ovs-bugtool.in         | 2 +-
- 12 files changed, 12 insertions(+), 12 deletions(-)
-
-diff --git a/build-aux/check-structs b/build-aux/check-structs
-index f79f235..5129b72 100755
---- a/build-aux/check-structs
-+++ b/build-aux/check-structs
-@@ -1,4 +1,4 @@
--#! /usr/bin/python
-+#! /usr/bin/env python3
- 
- import os.path
- import sys
-diff --git a/build-aux/extract-ofp-actions b/build-aux/extract-ofp-actions
-index 0062ab8..ee8c4ff 100755
---- a/build-aux/extract-ofp-actions
-+++ b/build-aux/extract-ofp-actions
-@@ -1,4 +1,4 @@
--#! /usr/bin/python
-+#! /usr/bin/env python3
- 
- import sys
- import os.path
-diff --git a/build-aux/extract-ofp-errors b/build-aux/extract-ofp-errors
-index 2312b76..e36444e 100755
---- a/build-aux/extract-ofp-errors
-+++ b/build-aux/extract-ofp-errors
-@@ -1,4 +1,4 @@
--#! /usr/bin/python
-+#! /usr/bin/env python3
- 
- import sys
- import os.path
-diff --git a/build-aux/extract-ofp-fields b/build-aux/extract-ofp-fields
-index 498b887..c248e76 100755
---- a/build-aux/extract-ofp-fields
-+++ b/build-aux/extract-ofp-fields
-@@ -1,4 +1,4 @@
--#! /usr/bin/python
-+#! /usr/bin/env python3
- 
- import getopt
- import sys
-diff --git a/build-aux/extract-ofp-msgs b/build-aux/extract-ofp-msgs
-index 1813638..c2a91f9 100755
---- a/build-aux/extract-ofp-msgs
-+++ b/build-aux/extract-ofp-msgs
-@@ -1,4 +1,4 @@
--#! /usr/bin/python
-+#! /usr/bin/env python3
- 
- import sys
- import os.path
-diff --git a/build-aux/xml2nroff b/build-aux/xml2nroff
-index bd4e879..db45c56 100755
---- a/build-aux/xml2nroff
-+++ b/build-aux/xml2nroff
-@@ -1,4 +1,4 @@
--#! /usr/bin/python
-+#! /usr/bin/env python3
- 
- # Copyright (c) 2010, 2011, 2012, 2013, 2014, 2015, 2016 Nicira, Inc.
- #
-diff --git a/ovn/utilities/ovn-docker-overlay-driver b/ovn/utilities/ovn-docker-overlay-driver
-index 52de3db..3b1fa45 100755
---- a/ovn/utilities/ovn-docker-overlay-driver
-+++ b/ovn/utilities/ovn-docker-overlay-driver
-@@ -1,4 +1,4 @@
--#! /usr/bin/python
-+#! /usr/bin/env python3
- # Copyright (C) 2015 Nicira, Inc.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
-diff --git a/ovn/utilities/ovn-docker-underlay-driver b/ovn/utilities/ovn-docker-underlay-driver
-index 2c9c4b6..551e7a1 100755
---- a/ovn/utilities/ovn-docker-underlay-driver
-+++ b/ovn/utilities/ovn-docker-underlay-driver
-@@ -1,4 +1,4 @@
--#! /usr/bin/python
-+#! /usr/bin/env python3
- # Copyright (C) 2015 Nicira, Inc.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
-diff --git a/ovsdb/ovsdb-doc b/ovsdb/ovsdb-doc
-index 5cf26ee..bdf2dcc 100755
---- a/ovsdb/ovsdb-doc
-+++ b/ovsdb/ovsdb-doc
-@@ -1,4 +1,4 @@
--#! /usr/bin/python
-+#! /usr/bin/env python3
- 
- # Copyright (c) 2010, 2011, 2012, 2013, 2014, 2015 Nicira, Inc.
- #
-diff --git a/ovsdb/ovsdb-dot.in b/ovsdb/ovsdb-dot.in
-index 134ce22..893c408 100755
---- a/ovsdb/ovsdb-dot.in
-+++ b/ovsdb/ovsdb-dot.in
-@@ -1,4 +1,4 @@
--#! @PYTHON@
-+#! /usr/bin/env @PYTHON@
- 
- from datetime import date
- import ovs.db.error
-diff --git a/ovsdb/ovsdb-idlc.in b/ovsdb/ovsdb-idlc.in
-index 721ab50..bfbcf23 100755
---- a/ovsdb/ovsdb-idlc.in
-+++ b/ovsdb/ovsdb-idlc.in
-@@ -1,4 +1,4 @@
--#! @PYTHON@
-+#! /usr/bin/env @PYTHON@
- 
- import getopt
- import os
-diff --git a/utilities/bugtool/ovs-bugtool.in b/utilities/bugtool/ovs-bugtool.in
-index 963c50c..c84d7c2 100755
---- a/utilities/bugtool/ovs-bugtool.in
-+++ b/utilities/bugtool/ovs-bugtool.in
-@@ -1,4 +1,4 @@
--#! @PYTHON@
-+#! /usr/bin/env @PYTHON@
- 
- # This library is free software; you can redistribute it and/or
- # modify it under the terms of version 2.1 of the GNU Lesser General Public
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/files/python-switch-remaining-scripts-to-use-python3.patch b/import-layers/meta-virtualization/recipes-networking/openvswitch/files/python-switch-remaining-scripts-to-use-python3.patch
deleted file mode 100644
index 6a1b832..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/files/python-switch-remaining-scripts-to-use-python3.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-From 39d1af836d844c89e625cfc908545e93977af8be Mon Sep 17 00:00:00 2001
-From: Mark Asselstine <mark.asselstine@windriver.com>
-Date: Wed, 3 May 2017 10:39:12 -0400
-Subject: [PATCH] python: switch remaining scripts to use python3
-
-Work to remove the main openvswitch package's dependency on python 2.
-
-Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
-
----
- ofproto/ipfix-gen-entities                            | 2 +-
- tests/test-l7.py                                      | 2 +-
- utilities/checkpatch.py                               | 2 +-
- utilities/ovs-dev.py                                  | 2 +-
- utilities/ovs-pipegen.py                              | 2 +-
- vtep/ovs-vtep                                         | 2 +-
- xenserver/etc_xapi.d_plugins_openvswitch-cfg-update   | 2 +-
- xenserver/opt_xensource_libexec_interface-reconfigure | 2 +-
- xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync | 2 +-
- 9 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/ofproto/ipfix-gen-entities b/ofproto/ipfix-gen-entities
-index 0be7199..d2cce42 100755
---- a/ofproto/ipfix-gen-entities
-+++ b/ofproto/ipfix-gen-entities
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#! /usr/bin/env python3
- #
- # Copyright (C) 2012 Nicira, Inc.
- #
-diff --git a/tests/test-l7.py b/tests/test-l7.py
-index d7854a1..f09defb 100755
---- a/tests/test-l7.py
-+++ b/tests/test-l7.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # Copyright (c) 2015, 2016 Nicira, Inc.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
-diff --git a/utilities/checkpatch.py b/utilities/checkpatch.py
-index 26eb5c3..2e1932b 100755
---- a/utilities/checkpatch.py
-+++ b/utilities/checkpatch.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # Copyright (c) 2016 Red Hat, Inc.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
-diff --git a/utilities/ovs-dev.py b/utilities/ovs-dev.py
-index 9ce0f04..839e13e 100755
---- a/utilities/ovs-dev.py
-+++ b/utilities/ovs-dev.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # Copyright (c) 2013, 2014, 2015, 2016 Nicira, Inc.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
-diff --git a/utilities/ovs-pipegen.py b/utilities/ovs-pipegen.py
-index 4bf240f..2a8f13e 100755
---- a/utilities/ovs-pipegen.py
-+++ b/utilities/ovs-pipegen.py
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#! /usr/bin/env python3
- # Copyright (c) 2013, 2014, 2015 Nicira, Inc.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
-diff --git a/vtep/ovs-vtep b/vtep/ovs-vtep
-index fd652d4..19d63f9 100755
---- a/vtep/ovs-vtep
-+++ b/vtep/ovs-vtep
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#! /usr/bin/env python3
- # Copyright (C) 2013 Nicira, Inc. All Rights Reserved.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
-diff --git a/xenserver/etc_xapi.d_plugins_openvswitch-cfg-update b/xenserver/etc_xapi.d_plugins_openvswitch-cfg-update
-index e7404e3..5edad76 100755
---- a/xenserver/etc_xapi.d_plugins_openvswitch-cfg-update
-+++ b/xenserver/etc_xapi.d_plugins_openvswitch-cfg-update
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- #
- # xapi plugin script to update the cache of configuration items in the
- # ovs-vswitchd configuration that are managed in the xapi database when
-diff --git a/xenserver/opt_xensource_libexec_interface-reconfigure b/xenserver/opt_xensource_libexec_interface-reconfigure
-index ea4a742..c6745ee 100755
---- a/xenserver/opt_xensource_libexec_interface-reconfigure
-+++ b/xenserver/opt_xensource_libexec_interface-reconfigure
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- #
- # Copyright (c) 2008,2009 Citrix Systems, Inc.
- #
-diff --git a/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync b/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync
-index a776c00..d5ff8af 100755
---- a/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync
-+++ b/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#! /usr/bin/env python3
- # Copyright (c) 2009, 2010, 2011, 2012, 2013 Nicira, Inc.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/files/run-ptest b/import-layers/meta-virtualization/recipes-networking/openvswitch/files/run-ptest
deleted file mode 100644
index dd06707..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/files/run-ptest
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-./tests/testsuite --am-fmt -C tests AUTOTEST_PATH=utilities:vswitchd:ovsdb:tests
-
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0001-Python3-compatibility-Convert-print-statements.patch b/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0001-Python3-compatibility-Convert-print-statements.patch
deleted file mode 100644
index 7bdcc00..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0001-Python3-compatibility-Convert-print-statements.patch
+++ /dev/null
@@ -1,1262 +0,0 @@
-From 3658d861c3c83caab9040bec04b195be3f86d4ce Mon Sep 17 00:00:00 2001
-From: Jason Wessel <jason.wessel@windriver.com>
-Date: Thu, 29 Jun 2017 20:33:23 -0700
-Subject: [PATCH] Python3 compatibility: Convert print statements
-
-Commit d34a1cc02536f9a812517a71accec3fbd3c6c98b from
-https://github.com/openvswitch/ovs.git
-
-This patch fixes up all the print statements to work with python3 or
-python2.
-
-Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
-Signed-off-by: Ben Pfaff <blp@ovn.org>
-
----
- build-aux/check-structs       |   4 +-
- build-aux/extract-ofp-actions |  68 +++---
- build-aux/extract-ofp-errors  |   2 +-
- build-aux/extract-ofp-fields  |   2 +-
- build-aux/extract-ofp-msgs    |   6 +-
- ovsdb/ovsdb-doc               |   6 +-
- ovsdb/ovsdb-idlc.in           | 523 +++++++++++++++++++++---------------------
- 7 files changed, 306 insertions(+), 305 deletions(-)
-
-diff --git a/build-aux/check-structs b/build-aux/check-structs
-index 5129b72..cbb19b6 100755
---- a/build-aux/check-structs
-+++ b/build-aux/check-structs
-@@ -211,7 +211,7 @@ def checkStructs():
- 
-     if '--help' in sys.argv:
-         argv0 = os.path.basename(sys.argv[0])
--        print '''\
-+        print('''\
- %(argv0)s, for checking struct and struct member alignment
- usage: %(argv0)s -Ipath HEADER [HEADER]...
- 
-@@ -226,7 +226,7 @@ assertions using OFP_ASSERT.
- 
- This program is specialized for reading Open vSwitch's OpenFlow header
- files.  It will not work on arbitrary header files without extensions.\
--''' % {"argv0": argv0}
-+''' % {"argv0": argv0})
-         sys.exit(0)
- 
-     global fileName
-diff --git a/build-aux/extract-ofp-actions b/build-aux/extract-ofp-actions
-index ee8c4ff..67e3848 100755
---- a/build-aux/extract-ofp-actions
-+++ b/build-aux/extract-ofp-actions
-@@ -67,7 +67,7 @@ def fatal(msg):
- 
- def usage():
-     argv0 = os.path.basename(sys.argv[0])
--    print ('''\
-+    print('''\
- %(argv0)s, for extracting OpenFlow action data
- usage: %(argv0)s OFP_ACTIONS.C [--prototypes | --definitions]
- 
-@@ -238,36 +238,36 @@ def extract_ofp_actions(fn, definitions):
-     if n_errors:
-         sys.exit(1)
- 
--    print """\
-+    print("""\
- /* Generated automatically; do not modify!     -*- buffer-read-only: t -*- */
--"""
-+""")
- 
-     if definitions:
--        print "/* Verify that structs used as actions are reasonable sizes. */"
-+        print("/* Verify that structs used as actions are reasonable sizes. */")
-         for s in sorted(arg_structs):
--            print "BUILD_ASSERT_DECL(sizeof(%s) %% OFP_ACTION_ALIGN == 0);" % s
-+            print("BUILD_ASSERT_DECL(sizeof(%s) %% OFP_ACTION_ALIGN == 0);" % s)
- 
--        print "\nstatic struct ofpact_raw_instance all_raw_instances[] = {"
-+        print("\nstatic struct ofpact_raw_instance all_raw_instances[] = {")
-         for vendor in domain:
-             for type_ in domain[vendor]:
-                 for version in domain[vendor][type_]:
-                     d = domain[vendor][type_][version]
--                    print "    { { 0x%08x, %2d, 0x%02x }, " % (
--                        vendor, type_, version)
--                    print "      %s," % d["enum"]
--                    print "      HMAP_NODE_NULL_INITIALIZER,"
--                    print "      HMAP_NODE_NULL_INITIALIZER,"
--                    print "      %s," % d["min_length"]
--                    print "      %s," % d["max_length"]
--                    print "      %s," % d["arg_ofs"]
--                    print "      %s," % d["arg_len"]
--                    print "      \"%s\"," % re.sub('_RAW[0-9]*', '', d["enum"], 1)
-+                    print("    { { 0x%08x, %2d, 0x%02x }, " % (
-+                        vendor, type_, version))
-+                    print("      %s," % d["enum"])
-+                    print("      HMAP_NODE_NULL_INITIALIZER,")
-+                    print("      HMAP_NODE_NULL_INITIALIZER,")
-+                    print("      %s," % d["min_length"])
-+                    print("      %s," % d["max_length"])
-+                    print("      %s," % d["arg_ofs"])
-+                    print("      %s," % d["arg_len"])
-+                    print("      \"%s\"," % re.sub('_RAW[0-9]*', '', d["enum"], 1))
-                     if d["deprecation"]:
--                        print "      \"%s\"," % re.sub(r'(["\\])', r'\\\1', d["deprecation"])
-+                        print("      \"%s\"," % re.sub(r'(["\\])', r'\\\1', d["deprecation"]))
-                     else:
--                        print "      NULL,"
--                    print "    },"
--        print "};";
-+                        print("      NULL,")
-+                    print("    },")
-+        print("};")
- 
-     for versions in enums.values():
-         need_ofp_version = False
-@@ -314,11 +314,11 @@ def extract_ofp_actions(fn, definitions):
-             decl += "}"
-         else:
-             decl += ";"
--        print decl
--        print
-+        print(decl)
-+        print("")
- 
-     if definitions:
--        print """\
-+        print("""\
- static enum ofperr
- ofpact_decode(const struct ofp_action_header *a, enum ofp_raw_action_type raw,
-               enum ofp_version version, uint64_t arg,
-@@ -326,14 +326,14 @@ ofpact_decode(const struct ofp_action_header *a, enum ofp_raw_action_type raw,
-               uint64_t *tlv_bitmap, struct ofpbuf *out)
- {
-     switch (raw) {\
--"""
-+""")
-         for versions in enums.values():
-             enum = versions[0]["enum"]
--            print "    case %s:" % enum
-+            print("    case %s:" % enum)
-             base_argtype = versions[0]["base_argtype"]
-             arg_vl_mff_map = versions[0]["arg_vl_mff_map"]
-             if base_argtype == 'void':
--                print "        return decode_%s(out);" % enum
-+                print("        return decode_%s(out);" % enum)
-             else:
-                 if base_argtype.startswith('struct'):
-                     arg = "ALIGNED_CAST(const %s *, a)" % base_argtype
-@@ -344,16 +344,16 @@ ofpact_decode(const struct ofp_action_header *a, enum ofp_raw_action_type raw,
-                     else:
-                         arg = "arg"
-                 if arg_vl_mff_map:
--                    print "        return decode_%s(%s, version, vl_mff_map, tlv_bitmap, out);" % (enum, arg)
-+                    print("        return decode_%s(%s, version, vl_mff_map, tlv_bitmap, out);" % (enum, arg))
-                 else:
--                    print "        return decode_%s(%s, version, out);" % (enum, arg)
--            print
--        print """\
-+                    print("        return decode_%s(%s, version, out);" % (enum, arg))
-+            print("")
-+        print("""\
-     default:
-         OVS_NOT_REACHED();
-     }
- }\
--"""
-+""")
-     else:
-         for versions in enums.values():
-             enum = versions[0]["enum"]
-@@ -368,15 +368,15 @@ ofpact_decode(const struct ofp_action_header *a, enum ofp_raw_action_type raw,
-                 if arg_vl_mff_map:
-                     prototype += 'const struct vl_mff_map *, uint64_t *, '
-             prototype += "struct ofpbuf *);"
--            print prototype
-+            print(prototype)
- 
--        print """
-+        print("""
- static enum ofperr ofpact_decode(const struct ofp_action_header *,
-                                  enum ofp_raw_action_type raw,
-                                  enum ofp_version version,
-                                  uint64_t arg, const struct vl_mff_map *vl_mff_map,
-                                  uint64_t *tlv_bitmap, struct ofpbuf *out);
--"""
-+""")
- 
- if __name__ == '__main__':
-     if '--help' in sys.argv:
-diff --git a/build-aux/extract-ofp-errors b/build-aux/extract-ofp-errors
-index e36444e..97d62d2 100755
---- a/build-aux/extract-ofp-errors
-+++ b/build-aux/extract-ofp-errors
-@@ -426,7 +426,7 @@ static const struct ofperr_domain %s = {
-                 vendor, type_, code = map[enum]
-                 if code == None:
-                     code = -1
--                print "        { %#8x, %2d, %3d }, /* %s */" % (vendor, type_, code, enum)
-+                print ("        { %#8x, %2d, %3d }, /* %s */" % (vendor, type_, code, enum))
-             else:
-                 print ("        {       -1, -1,  -1 }, /* %s */" % enum)
-         print ("""\
-diff --git a/build-aux/extract-ofp-fields b/build-aux/extract-ofp-fields
-index c248e76..80c7d35 100755
---- a/build-aux/extract-ofp-fields
-+++ b/build-aux/extract-ofp-fields
-@@ -728,7 +728,7 @@ def make_ovs_fields(meta_flow_h, meta_flow_xml):
- ovs\-fields \- protocol header fields in OpenFlow and Open vSwitch
- .
- .PP
--''') % version
-+''' % version)
- 
-     recursively_replace(doc, 'oxm_classes', make_oxm_classes_xml(document))
- 
-diff --git a/build-aux/extract-ofp-msgs b/build-aux/extract-ofp-msgs
-index c2a91f9..92c4bda 100755
---- a/build-aux/extract-ofp-msgs
-+++ b/build-aux/extract-ofp-msgs
-@@ -56,14 +56,14 @@ def fatal(msg):
- 
- def usage():
-     argv0 = os.path.basename(sys.argv[0])
--    print '''\
-+    print('''\
- %(argv0)s, for extracting OpenFlow message types from header files
- usage: %(argv0)s INPUT OUTPUT
-   where INPUT is the name of the input header file
-     and OUTPUT is the output file name.
- Despite OUTPUT, the output is written to stdout, and the OUTPUT argument
- only controls #line directives in the output.\
--''' % {"argv0": argv0}
-+''' % {"argv0": argv0})
-     sys.exit(0)
- 
- def make_sizeof(s):
-@@ -378,5 +378,5 @@ if __name__ == '__main__':
-         line_number = 0
- 
-         for line in extract_ofp_msgs(sys.argv[2]):
--            print line
-+            print(line)
-         
-diff --git a/ovsdb/ovsdb-doc b/ovsdb/ovsdb-doc
-index bdf2dcc..e82ad59 100755
---- a/ovsdb/ovsdb-doc
-+++ b/ovsdb/ovsdb-doc
-@@ -258,7 +258,7 @@ represent strong references; thin lines represent weak references.
-     return s
- 
- def usage():
--    print """\
-+    print("""\
- %(argv0)s: ovsdb schema documentation generator
- Prints documentation for an OVSDB schema as an nroff-formatted manpage.
- usage: %(argv0)s [OPTIONS] SCHEMA XML
-@@ -269,7 +269,7 @@ The following options are also available:
-   --er-diagram=DIAGRAM.PIC    include E-R diagram from DIAGRAM.PIC
-   --version=VERSION           use VERSION to display on document footer
-   -h, --help                  display this help message\
--""" % {'argv0': argv0}
-+""" % {'argv0': argv0})
-     sys.exit(0)
- 
- if __name__ == "__main__":
-@@ -304,7 +304,7 @@ if __name__ == "__main__":
-         for line in s.split("\n"):
-             line = line.strip()
-             if len(line):
--                print line
-+                print(line)
- 
-     except error.Error, e:
-         sys.stderr.write("%s: %s\n" % (argv0, e.msg))
-diff --git a/ovsdb/ovsdb-idlc.in b/ovsdb/ovsdb-idlc.in
-index bfbcf23..62442ee 100755
---- a/ovsdb/ovsdb-idlc.in
-+++ b/ovsdb/ovsdb-idlc.in
-@@ -1,5 +1,6 @@
- #! /usr/bin/env @PYTHON@
- 
-+from __future__ import print_function
- import getopt
- import os
- import re
-@@ -123,7 +124,7 @@ def sorted_columns(table):
- def printCIDLHeader(schemaFile):
-     schema = parseSchema(schemaFile)
-     prefix = schema.idlPrefix
--    print '''\
-+    print('''\
- /* Generated automatically -- do not modify!    -*- buffer-read-only: t -*- */
- 
- #ifndef %(prefix)sIDL_HEADER
-@@ -135,39 +136,39 @@ def printCIDLHeader(schemaFile):
- #include "ovsdb-data.h"
- #include "ovsdb-idl-provider.h"
- #include "smap.h"
--#include "uuid.h"''' % {'prefix': prefix.upper()}
-+#include "uuid.h"''' % {'prefix': prefix.upper()})
- 
-     for tableName, table in sorted(schema.tables.iteritems()):
-         structName = "%s%s" % (prefix, tableName.lower())
- 
--        print ""
--        print "/* %s table. */" % tableName
--        print "struct %s {" % structName
--        print "\tstruct ovsdb_idl_row header_;"
-+        print("")
-+        print("/* %s table. */" % tableName)
-+        print("struct %s {" % structName)
-+        print("\tstruct ovsdb_idl_row header_;")
-         for columnName, column in sorted_columns(table):
--            print "\n\t/* %s column. */" % columnName
-+            print("\n\t/* %s column. */" % columnName)
-             comment, members = cMembers(prefix, tableName,
-                                         columnName, column, False)
-             for member in members:
--                print "\t%(type)s%(name)s;%(comment)s" % member
--        print "};"
-+                print("\t%(type)s%(name)s;%(comment)s" % member)
-+        print("};")
- 
-         # Column indexes.
-         printEnum("%s_column_id" % structName.lower(), ["%s_COL_%s" % (structName.upper(), columnName.upper())
-                                                         for columnName, column in sorted_columns(table)]
-                   + ["%s_N_COLUMNS" % structName.upper()])
- 
--        print
-+        print("")
-         for columnName in table.columns:
--            print "#define %(s)s_col_%(c)s (%(s)s_columns[%(S)s_COL_%(C)s])" % {
-+            print("#define %(s)s_col_%(c)s (%(s)s_columns[%(S)s_COL_%(C)s])" % {
-                 's': structName,
-                 'S': structName.upper(),
-                 'c': columnName,
--                'C': columnName.upper()}
-+                'C': columnName.upper()})
- 
--        print "\nextern struct ovsdb_idl_column %s_columns[%s_N_COLUMNS];" % (structName, structName.upper())
-+        print("\nextern struct ovsdb_idl_column %s_columns[%s_N_COLUMNS];" % (structName, structName.upper()))
- 
--        print '''
-+        print('''
- const struct %(s)s *%(s)s_get_for_uuid(const struct ovsdb_idl *, const struct uuid *);
- const struct %(s)s *%(s)s_first(const struct ovsdb_idl *);
- const struct %(s)s *%(s)s_next(const struct %(s)s *);
-@@ -205,87 +206,87 @@ void %(s)s_init(struct %(s)s *);
- void %(s)s_delete(const struct %(s)s *);
- struct %(s)s *%(s)s_insert(struct ovsdb_idl_txn *);
- bool %(s)s_is_updated(const struct %(s)s *, enum %(s)s_column_id);
--''' % {'s': structName, 'S': structName.upper()}
-+''' % {'s': structName, 'S': structName.upper()})
- 
-         for columnName, column in sorted_columns(table):
--            print 'void %(s)s_verify_%(c)s(const struct %(s)s *);' % {'s': structName, 'c': columnName}
-+            print('void %(s)s_verify_%(c)s(const struct %(s)s *);' % {'s': structName, 'c': columnName})
- 
--        print
-+        print("")
-         for columnName, column in sorted_columns(table):
-             if column.type.value:
-                 valueParam = ', enum ovsdb_atomic_type value_type'
-             else:
-                 valueParam = ''
--            print 'const struct ovsdb_datum *%(s)s_get_%(c)s(const struct %(s)s *, enum ovsdb_atomic_type key_type%(v)s);' % {
--                's': structName, 'c': columnName, 'v': valueParam}
-+            print('const struct ovsdb_datum *%(s)s_get_%(c)s(const struct %(s)s *, enum ovsdb_atomic_type key_type%(v)s);' % {
-+                's': structName, 'c': columnName, 'v': valueParam})
- 
--        print
-+        print("")
-         for columnName, column in sorted_columns(table):
--            print 'void %(s)s_set_%(c)s(const struct %(s)s *,' % {'s': structName, 'c': columnName},
-+            print('void %(s)s_set_%(c)s(const struct %(s)s *,' % {'s': structName, 'c': columnName}, end=' ')
-             if column.type.is_smap():
-                 args = ['const struct smap *']
-             else:
-                 comment, members = cMembers(prefix, tableName, columnName,
-                                             column, True)
-                 args = ['%(type)s%(name)s' % member for member in members]
--            print '%s);' % ', '.join(args)
-+            print('%s);' % ', '.join(args))
- 
--        print
-+        print("")
-         for columnName, column in sorted_columns(table):
-             if column.type.is_map():
--                print 'void %(s)s_update_%(c)s_setkey(const struct %(s)s *, ' % {'s': structName, 'c': columnName},
--                print '%(coltype)s, %(valtype)s);' % {'coltype':column.type.key.to_const_c_type(prefix), 'valtype':column.type.value.to_const_c_type(prefix)}
--                print 'void %(s)s_update_%(c)s_delkey(const struct %(s)s *, ' % {'s': structName, 'c': columnName},
--                print '%(coltype)s);' % {'coltype':column.type.key.to_const_c_type(prefix)}
-+                print('void %(s)s_update_%(c)s_setkey(const struct %(s)s *, ' % {'s': structName, 'c': columnName}, end=' ')
-+                print('%(coltype)s, %(valtype)s);' % {'coltype':column.type.key.to_const_c_type(prefix), 'valtype':column.type.value.to_const_c_type(prefix)})
-+                print('void %(s)s_update_%(c)s_delkey(const struct %(s)s *, ' % {'s': structName, 'c': columnName}, end=' ')
-+                print('%(coltype)s);' % {'coltype':column.type.key.to_const_c_type(prefix)})
-             if column.type.is_set():
--                print 'void %(s)s_update_%(c)s_addvalue(const struct %(s)s *, ' % {'s': structName, 'c': columnName},
--                print '%(valtype)s);' % {'valtype':column.type.key.to_const_c_type(prefix)}
--                print 'void %(s)s_update_%(c)s_delvalue(const struct %(s)s *, ' % {'s': structName, 'c': columnName},
--                print '%(valtype)s);' % {'valtype':column.type.key.to_const_c_type(prefix)}
-+                print('void %(s)s_update_%(c)s_addvalue(const struct %(s)s *, ' % {'s': structName, 'c': columnName}, end=' ')
-+                print('%(valtype)s);' % {'valtype':column.type.key.to_const_c_type(prefix)})
-+                print('void %(s)s_update_%(c)s_delvalue(const struct %(s)s *, ' % {'s': structName, 'c': columnName}, end=' ')
-+                print('%(valtype)s);' % {'valtype':column.type.key.to_const_c_type(prefix)})
- 
--            print 'void %(s)s_add_clause_%(c)s(struct ovsdb_idl_condition *, enum ovsdb_function function,' % {'s': structName, 'c': columnName},
-+            print('void %(s)s_add_clause_%(c)s(struct ovsdb_idl_condition *, enum ovsdb_function function,' % {'s': structName, 'c': columnName}, end=' ')
-             if column.type.is_smap():
-                 args = ['const struct smap *']
-             else:
-                 comment, members = cMembers(prefix, tableName, columnName,
-                                             column, True, refTable=False)
-                 args = ['%(type)s%(name)s' % member for member in members]
--            print '%s);' % ', '.join(args)
-+            print('%s);' % ', '.join(args))
- 
--            print 'void %(s)s_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);' % {'s': structName},
-+            print('void %(s)s_set_condition(struct ovsdb_idl *, struct ovsdb_idl_condition *);' % {'s': structName})
- 
--        print
-+        print("")
- 
-     # Table indexes.
-     printEnum("%stable_id" % prefix.lower(), ["%sTABLE_%s" % (prefix.upper(), tableName.upper()) for tableName in sorted(schema.tables)] + ["%sN_TABLES" % prefix.upper()])
--    print
-+    print("")
-     for tableName in schema.tables:
--        print "#define %(p)stable_%(t)s (%(p)stable_classes[%(P)sTABLE_%(T)s])" % {
-+        print("#define %(p)stable_%(t)s (%(p)stable_classes[%(P)sTABLE_%(T)s])" % {
-             'p': prefix,
-             'P': prefix.upper(),
-             't': tableName.lower(),
--            'T': tableName.upper()}
--    print "\nextern struct ovsdb_idl_table_class %stable_classes[%sN_TABLES];" % (prefix, prefix.upper())
-+            'T': tableName.upper()})
-+    print("\nextern struct ovsdb_idl_table_class %stable_classes[%sN_TABLES];" % (prefix, prefix.upper()))
- 
--    print "\nextern struct ovsdb_idl_class %sidl_class;" % prefix
-+    print("\nextern struct ovsdb_idl_class %sidl_class;" % prefix)
- 
--    print "\nconst char * %sget_db_version(void);" % prefix
--    print "\n#endif /* %(prefix)sIDL_HEADER */" % {'prefix': prefix.upper()}
-+    print("\nconst char * %sget_db_version(void);" % prefix)
-+    print("\n#endif /* %(prefix)sIDL_HEADER */" % {'prefix': prefix.upper()})
- 
- def printEnum(type, members):
-     if len(members) == 0:
-         return
- 
--    print "\nenum %s {" % type
-+    print("\nenum %s {" % type)
-     for member in members[:-1]:
--        print "    %s," % member
--    print "    %s" % members[-1]
--    print "};"
-+        print("    %s," % member)
-+    print("    %s" % members[-1])
-+    print("};")
- 
- def printCIDLSource(schemaFile):
-     schema = parseSchema(schemaFile)
-     prefix = schema.idlPrefix
--    print '''\
-+    print('''\
- /* Generated automatically -- do not modify!    -*- buffer-read-only: t -*- */
- 
- #include <config.h>
-@@ -296,33 +297,33 @@ def printCIDLSource(schemaFile):
- #include "ovsdb-error.h"
- #include "util.h"
- 
--''' % schema.idlHeader
-+''' % schema.idlHeader)
- 
-     # Cast functions.
-     for tableName, table in sorted(schema.tables.iteritems()):
-         structName = "%s%s" % (prefix, tableName.lower())
--        print '''
-+        print('''
- static struct %(s)s *
- %(s)s_cast(const struct ovsdb_idl_row *row)
- {
-     return row ? CONTAINER_OF(row, struct %(s)s, header_) : NULL;
- }\
--''' % {'s': structName}
-+''' % {'s': structName})
- 
- 
-     for tableName, table in sorted(schema.tables.iteritems()):
-         structName = "%s%s" % (prefix, tableName.lower())
--        print ""
--        print "/* %s table. */" % (tableName)
-+        print("")
-+        print("/* %s table. */" % (tableName))
- 
-         # Parse functions.
-         for columnName, column in sorted_columns(table):
--            print '''
-+            print('''
- static void
- %(s)s_parse_%(c)s(struct ovsdb_idl_row *row_, const struct ovsdb_datum *datum)
- {
-     struct %(s)s *row = %(s)s_cast(row_);''' % {'s': structName,
--                                                'c': columnName}
-+                                                'c': columnName})
-             type = column.type
-             if type.value:
-                 keyVar = "row->key_%s" % columnName
-@@ -332,89 +333,89 @@ static void
-                 valueVar = None
- 
-             if type.is_smap():
--                print "    smap_init(&row->%s);" % columnName
--                print "    for (size_t i = 0; i < datum->n; i++) {"
--                print "        smap_add(&row->%s," % columnName
--                print "                 datum->keys[i].string,"
--                print "                 datum->values[i].string);"
--                print "    }"
-+                print("    smap_init(&row->%s);" % columnName)
-+                print("    for (size_t i = 0; i < datum->n; i++) {")
-+                print("        smap_add(&row->%s," % columnName)
-+                print("                 datum->keys[i].string,")
-+                print("                 datum->values[i].string);")
-+                print("    }")
-             elif (type.n_min == 1 and type.n_max == 1) or type.is_optional_pointer():
--                print
--                print "    if (datum->n >= 1) {"
-+                print("")
-+                print("    if (datum->n >= 1) {")
-                 if not type.key.ref_table:
--                    print "        %s = datum->keys[0].%s;" % (keyVar, type.key.type.to_string())
-+                    print("        %s = datum->keys[0].%s;" % (keyVar, type.key.type.to_string()))
-                 else:
--                    print "        %s = %s%s_cast(ovsdb_idl_get_row_arc(row_, &%stable_%s, &datum->keys[0].uuid));" % (keyVar, prefix, type.key.ref_table.name.lower(), prefix, type.key.ref_table.name.lower())
-+                    print("        %s = %s%s_cast(ovsdb_idl_get_row_arc(row_, &%stable_%s, &datum->keys[0].uuid));" % (keyVar, prefix, type.key.ref_table.name.lower(), prefix, type.key.ref_table.name.lower()))
- 
-                 if valueVar:
-                     if not type.value.ref_table:
--                        print "        %s = datum->values[0].%s;" % (valueVar, type.value.type.to_string())
-+                        print("        %s = datum->values[0].%s;" % (valueVar, type.value.type.to_string()))
-                     else:
--                        print "        %s = %s%s_cast(ovsdb_idl_get_row_arc(row_, &%stable_%s, &datum->values[0].uuid));" % (valueVar, prefix, type.value.ref_table.name.lower(), prefix, type.value.ref_table.name.lower())
--                print "    } else {"
--                print "        %s" % type.key.initCDefault(keyVar, type.n_min == 0)
-+                        print("        %s = %s%s_cast(ovsdb_idl_get_row_arc(row_, &%stable_%s, &datum->values[0].uuid));" % (valueVar, prefix, type.value.ref_table.name.lower(), prefix, type.value.ref_table.name.lower()))
-+                print("    } else {")
-+                print("        %s" % type.key.initCDefault(keyVar, type.n_min == 0))
-                 if valueVar:
--                    print "        %s" % type.value.initCDefault(valueVar, type.n_min == 0)
--                print "    }"
-+                    print("        %s" % type.value.initCDefault(valueVar, type.n_min == 0))
-+                print("    }")
-             else:
-                 if type.n_max != sys.maxint:
--                    print "    size_t n = MIN(%d, datum->n);" % type.n_max
-+                    print("    size_t n = MIN(%d, datum->n);" % type.n_max)
-                     nMax = "n"
-                 else:
-                     nMax = "datum->n"
--                print "    %s = NULL;" % keyVar
-+                print("    %s = NULL;" % keyVar)
-                 if valueVar:
--                    print "    %s = NULL;" % valueVar
--                print "    row->n_%s = 0;" % columnName
--                print "    for (size_t i = 0; i < %s; i++) {" % nMax
-+                    print("    %s = NULL;" % valueVar)
-+                print("    row->n_%s = 0;" % columnName)
-+                print("    for (size_t i = 0; i < %s; i++) {" % nMax)
-                 if type.key.ref_table:
--                    print """\
-+                    print("""\
-         struct %s%s *keyRow = %s%s_cast(ovsdb_idl_get_row_arc(row_, &%stable_%s, &datum->keys[i].uuid));
-         if (!keyRow) {
-             continue;
-         }\
--""" % (prefix, type.key.ref_table.name.lower(), prefix, type.key.ref_table.name.lower(), prefix, type.key.ref_table.name.lower())
-+""" % (prefix, type.key.ref_table.name.lower(), prefix, type.key.ref_table.name.lower(), prefix, type.key.ref_table.name.lower()))
-                     keySrc = "keyRow"
-                 else:
-                     keySrc = "datum->keys[i].%s" % type.key.type.to_string()
-                 if type.value and type.value.ref_table:
--                    print """\
-+                    print("""\
-         struct %s%s *valueRow = %s%s_cast(ovsdb_idl_get_row_arc(row_, &%stable_%s, &datum->values[i].uuid));
-         if (!valueRow) {
-             continue;
-         }\
--""" % (prefix, type.value.ref_table.name.lower(), prefix, type.value.ref_table.name.lower(), prefix, type.value.ref_table.name.lower())
-+""" % (prefix, type.value.ref_table.name.lower(), prefix, type.value.ref_table.name.lower(), prefix, type.value.ref_table.name.lower()))
-                     valueSrc = "valueRow"
-                 elif valueVar:
-                     valueSrc = "datum->values[i].%s" % type.value.type.to_string()
--                print "        if (!row->n_%s) {" % (columnName)
-+                print("        if (!row->n_%s) {" % (columnName))
- 
--                print "            %s = xmalloc(%s * sizeof *%s);" % (
--                    keyVar, nMax, keyVar)
-+                print("            %s = xmalloc(%s * sizeof *%s);" % (
-+                    keyVar, nMax, keyVar))
-                 if valueVar:
--                    print "            %s = xmalloc(%s * sizeof *%s);" % (
--                        valueVar, nMax, valueVar)
--                print "        }"
--                print "        %s[row->n_%s] = %s;" % (keyVar, columnName, keySrc)
-+                    print("            %s = xmalloc(%s * sizeof *%s);" % (
-+                        valueVar, nMax, valueVar))
-+                print("        }")
-+                print("        %s[row->n_%s] = %s;" % (keyVar, columnName, keySrc))
-                 if valueVar:
--                    print "        %s[row->n_%s] = %s;" % (valueVar, columnName, valueSrc)
--                print "        row->n_%s++;" % columnName
--                print "    }"
--            print "}"
-+                    print("        %s[row->n_%s] = %s;" % (valueVar, columnName, valueSrc))
-+                print("        row->n_%s++;" % columnName)
-+                print("    }")
-+            print("}")
- 
-         # Unparse functions.
-         for columnName, column in sorted_columns(table):
-             type = column.type
-             if type.is_smap() or (type.n_min != 1 or type.n_max != 1) and not type.is_optional_pointer():
--                print '''
-+                print('''
- static void
- %(s)s_unparse_%(c)s(struct ovsdb_idl_row *row_)
- {
-     struct %(s)s *row = %(s)s_cast(row_);''' % {'s': structName,
--                                                'c': columnName}
-+                                                'c': columnName})
- 
-                 if type.is_smap():
--                    print "    smap_destroy(&row->%s);" % columnName
-+                    print("    smap_destroy(&row->%s);" % columnName)
-                 else:
-                     if type.value:
-                         keyVar = "row->key_%s" % columnName
-@@ -422,45 +423,45 @@ static void
-                     else:
-                         keyVar = "row->%s" % columnName
-                         valueVar = None
--                    print "    free(%s);" % keyVar
-+                    print("    free(%s);" % keyVar)
-                     if valueVar:
--                        print "    free(%s);" % valueVar
--                print '}'
-+                        print("    free(%s);" % valueVar)
-+                print('}')
-             else:
--                print '''
-+                print('''
- static void
- %(s)s_unparse_%(c)s(struct ovsdb_idl_row *row OVS_UNUSED)
- {
-     /* Nothing to do. */
--}''' % {'s': structName, 'c': columnName}
-+}''' % {'s': structName, 'c': columnName})
- 
-         # Generic Row Initialization function.
--        print """
-+        print("""
- static void
- %(s)s_init__(struct ovsdb_idl_row *row)
- {
-     %(s)s_init(%(s)s_cast(row));
--}""" % {'s': structName}
-+}""" % {'s': structName})
- 
-         # Row Initialization function.
--        print """
-+        print("""
- /* Clears the contents of 'row' in table "%(t)s". */
- void
- %(s)s_init(struct %(s)s *row)
- {
--    memset(row, 0, sizeof *row); """ % {'s': structName, 't': tableName}
-+    memset(row, 0, sizeof *row); """ % {'s': structName, 't': tableName})
-         for columnName, column in sorted_columns(table):
-             if column.type.is_smap():
--                print "    smap_init(&row->%s);" % columnName
-+                print("    smap_init(&row->%s);" % columnName)
-             elif (column.type.n_min == 1 and
-                   column.type.n_max == 1 and
-                   column.type.key.type == ovs.db.types.StringType and
-                   not column.type.value):
--                print "    row->%s = \"\";" % columnName
--        print "}"
-+                print("    row->%s = \"\";" % columnName)
-+        print("}")
- 
-         # First, next functions.
--        print '''
-+        print('''
- /* Searches table "%(t)s" in 'idl' for a row with UUID 'uuid'.  Returns
-  * a pointer to the row if there is one, otherwise a null pointer.  */
- const struct %(s)s *
-@@ -514,9 +515,9 @@ const struct %(s)s
-         'P': prefix.upper(),
-         't': tableName,
-         'tl': tableName.lower(),
--        'T': tableName.upper()}
-+        'T': tableName.upper()})
- 
--        print '''
-+        print('''
- 
- /* Deletes 'row' from table "%(t)s".  'row' may be freed, so it must not be
-  * accessed afterward.
-@@ -550,11 +551,11 @@ bool
-         'P': prefix.upper(),
-         't': tableName,
-         'tl': tableName.lower(),
--        'T': tableName.upper()}
-+        'T': tableName.upper()})
- 
-         # Verify functions.
-         for columnName, column in sorted_columns(table):
--            print '''
-+            print('''
- /* Causes the original contents of column "%(c)s" in 'row' to be
-  * verified as a prerequisite to completing the transaction.  That is, if
-  * "%(c)s" in 'row' changed (or if 'row' was deleted) between the
-@@ -585,7 +586,7 @@ void
- }''' % {'s': structName,
-         'S': structName.upper(),
-         'c': columnName,
--        'C': columnName.upper()}
-+        'C': columnName.upper()})
- 
-         # Get functions.
-         for columnName, column in sorted_columns(table):
-@@ -597,7 +598,7 @@ void
-                 valueParam = ''
-                 valueType = ''
-                 valueComment = ''
--            print """
-+            print("""
- /* Returns the "%(c)s" column's value from the "%(t)s" table in 'row'
-  * as a struct ovsdb_datum.  This is useful occasionally: for example,
-  * ovsdb_datum_find_key() is an easier and more efficient way to search
-@@ -625,7 +626,7 @@ const struct ovsdb_datum *
-     return ovsdb_idl_read(&row->header_, &%(s)s_col_%(c)s);
- }""" % {'t': tableName, 's': structName, 'c': columnName,
-        'kt': column.type.key.toAtomicType(),
--       'v': valueParam, 'vt': valueType, 'vc': valueComment}
-+       'v': valueParam, 'vt': valueType, 'vc': valueComment})
- 
-         # Set functions.
-         for columnName, column in sorted_columns(table):
-@@ -635,8 +636,8 @@ const struct ovsdb_datum *
-                                         column, True)
- 
-             if type.is_smap():
--                print comment
--                print """void
-+                print(comment)
-+                print("""void
- %(s)s_set_%(c)s(const struct %(s)s *row, const struct smap *%(c)s)
- {
-     struct ovsdb_datum datum;
-@@ -654,7 +655,7 @@ const struct ovsdb_datum *
-        's': structName,
-        'S': structName.upper(),
-        'c': columnName,
--       'C': columnName.upper()}
-+       'C': columnName.upper()})
-                 continue
- 
-             keyVar = members[0]['name']
-@@ -668,84 +669,84 @@ const struct ovsdb_datum *
-                 if len(members) > 1:
-                     nVar = members[1]['name']
- 
--            print comment
--            print """\
-+            print(comment)
-+            print("""\
- void
- %(s)s_set_%(c)s(const struct %(s)s *row, %(args)s)
- {
-     struct ovsdb_datum datum;""" % {'s': structName,
-         'c': columnName,
-         'args': ', '.join(['%(type)s%(name)s'
--                           % m for m in members])}
-+                           % m for m in members])})
-             if type.n_min == 1 and type.n_max == 1:
--                print "    union ovsdb_atom key;"
-+                print("    union ovsdb_atom key;")
-                 if type.value:
--                    print "    union ovsdb_atom value;"
--                print
--                print "    datum.n = 1;"
--                print "    datum.keys = &key;"
--                print "    " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), keyVar)
-+                    print("    union ovsdb_atom value;")
-+                print("")
-+                print("    datum.n = 1;")
-+                print("    datum.keys = &key;")
-+                print("    " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), keyVar))
-                 if type.value:
--                    print "    datum.values = &value;"
--                    print "    "+ type.value.assign_c_value_casting_away_const("value.%s" % type.value.type.to_string(), valueVar)
-+                    print("    datum.values = &value;")
-+                    print("    "+ type.value.assign_c_value_casting_away_const("value.%s" % type.value.type.to_string(), valueVar))
-                 else:
--                    print "    datum.values = NULL;"
-+                    print("    datum.values = NULL;")
-                 txn_write_func = "ovsdb_idl_txn_write_clone"
-             elif type.is_optional_pointer():
--                print "    union ovsdb_atom key;"
--                print
--                print "    if (%s) {" % keyVar
--                print "        datum.n = 1;"
--                print "        datum.keys = &key;"
--                print "        " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), keyVar)
--                print "    } else {"
--                print "        datum.n = 0;"
--                print "        datum.keys = NULL;"
--                print "    }"
--                print "    datum.values = NULL;"
-+                print("    union ovsdb_atom key;")
-+                print("")
-+                print("    if (%s) {" % keyVar)
-+                print("        datum.n = 1;")
-+                print("        datum.keys = &key;")
-+                print("        " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), keyVar))
-+                print("    } else {")
-+                print("        datum.n = 0;")
-+                print("        datum.keys = NULL;")
-+                print("    }")
-+                print("    datum.values = NULL;")
-                 txn_write_func = "ovsdb_idl_txn_write_clone"
-             elif type.n_max == 1:
--                print "    union ovsdb_atom key;"
--                print
--                print "    if (%s) {" % nVar
--                print "        datum.n = 1;"
--                print "        datum.keys = &key;"
--                print "        " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), "*" + keyVar)
--                print "    } else {"
--                print "        datum.n = 0;"
--                print "        datum.keys = NULL;"
--                print "    }"
--                print "    datum.values = NULL;"
-+                print("    union ovsdb_atom key;")
-+                print("")
-+                print("    if (%s) {" % nVar)
-+                print("        datum.n = 1;")
-+                print("        datum.keys = &key;")
-+                print("        " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), "*" + keyVar))
-+                print("    } else {")
-+                print("        datum.n = 0;")
-+                print("        datum.keys = NULL;")
-+                print("    }")
-+                print("    datum.values = NULL;")
-                 txn_write_func = "ovsdb_idl_txn_write_clone"
-             else:
--                print
--                print "    datum.n = %s;" % nVar
--                print "    datum.keys = %s ? xmalloc(%s * sizeof *datum.keys) : NULL;" % (nVar, nVar)
-+                print("")
-+                print("    datum.n = %s;" % nVar)
-+                print("    datum.keys = %s ? xmalloc(%s * sizeof *datum.keys) : NULL;" % (nVar, nVar))
-                 if type.value:
--                    print "    datum.values = xmalloc(%s * sizeof *datum.values);" % nVar
-+                    print("    datum.values = xmalloc(%s * sizeof *datum.values);" % nVar)
-                 else:
--                    print "    datum.values = NULL;"
--                print "    for (size_t i = 0; i < %s; i++) {" % nVar
--                print "        " + type.key.copyCValue("datum.keys[i].%s" % type.key.type.to_string(), "%s[i]" % keyVar)
-+                    print("    datum.values = NULL;")
-+                print("    for (size_t i = 0; i < %s; i++) {" % nVar)
-+                print("        " + type.key.copyCValue("datum.keys[i].%s" % type.key.type.to_string(), "%s[i]" % keyVar))
-                 if type.value:
--                    print "        " + type.value.copyCValue("datum.values[i].%s" % type.value.type.to_string(), "%s[i]" % valueVar)
--                print "    }"
-+                    print("        " + type.value.copyCValue("datum.values[i].%s" % type.value.type.to_string(), "%s[i]" % valueVar))
-+                print("    }")
-                 if type.value:
-                     valueType = type.value.toAtomicType()
-                 else:
-                     valueType = "OVSDB_TYPE_VOID"
-                 txn_write_func = "ovsdb_idl_txn_write"
--            print "    %(f)s(&row->header_, &%(s)s_col_%(c)s, &datum);" \
-+            print("    %(f)s(&row->header_, &%(s)s_col_%(c)s, &datum);" \
-                 % {'f': txn_write_func,
-                    's': structName,
-                    'S': structName.upper(),
--                   'c': columnName}
--            print "}"
-+                   'c': columnName})
-+            print("}")
-         # Update/Delete of partial map column functions
-         for columnName, column in sorted_columns(table):
-             type = column.type
-             if type.is_map():
--                print '''
-+                print('''
- /* Sets an element of the "%(c)s" map column from the "%(t)s" table in 'row'
-  * to 'new_value' given the key value 'new_key'.
-  *
-@@ -761,17 +762,17 @@ void
-     datum->values = xmalloc(datum->n * sizeof *datum->values);
- ''' % {'s': structName, 'c': columnName,'coltype':column.type.key.to_const_c_type(prefix),
-         'valtype':column.type.value.to_const_c_type(prefix), 'S': structName.upper(),
--        'C': columnName.upper(), 't': tableName}
-+        'C': columnName.upper(), 't': tableName})
- 
--                print "    "+ type.key.copyCValue("datum->keys[0].%s" % type.key.type.to_string(), "new_key")
--                print "    "+ type.value.copyCValue("datum->values[0].%s" % type.value.type.to_string(), "new_value")
--                print '''
-+                print("    "+ type.key.copyCValue("datum->keys[0].%s" % type.key.type.to_string(), "new_key"))
-+                print("    "+ type.value.copyCValue("datum->values[0].%s" % type.value.type.to_string(), "new_value"))
-+                print('''
-     ovsdb_idl_txn_write_partial_map(&row->header_,
-                                     &%(s)s_col_%(c)s,
-                                     datum);
- }''' % {'s': structName, 'c': columnName,'coltype':column.type.key.toCType(prefix),
--        'valtype':column.type.value.to_const_c_type(prefix), 'S': structName.upper()}
--                print '''
-+        'valtype':column.type.value.to_const_c_type(prefix), 'S': structName.upper()})
-+                print('''
- /* Deletes an element of the "%(c)s" map column from the "%(t)s" table in 'row'
-  * given the key value 'delete_key'.
-  *
-@@ -787,19 +788,19 @@ void
-     datum->values = NULL;
- ''' % {'s': structName, 'c': columnName,'coltype':column.type.key.to_const_c_type(prefix),
-         'valtype':column.type.value.to_const_c_type(prefix), 'S': structName.upper(),
--        'C': columnName.upper(), 't': tableName}
-+        'C': columnName.upper(), 't': tableName})
- 
--                print "    "+ type.key.copyCValue("datum->keys[0].%s" % type.key.type.to_string(), "delete_key")
--                print '''
-+                print("    "+ type.key.copyCValue("datum->keys[0].%s" % type.key.type.to_string(), "delete_key"))
-+                print('''
-     ovsdb_idl_txn_delete_partial_map(&row->header_,
-                                     &%(s)s_col_%(c)s,
-                                     datum);
- }''' % {'s': structName, 'c': columnName,'coltype':column.type.key.toCType(prefix),
--        'valtype':column.type.value.to_const_c_type(prefix), 'S': structName.upper()}
-+        'valtype':column.type.value.to_const_c_type(prefix), 'S': structName.upper()})
-         # End Update/Delete of partial maps
-         # Update/Delete of partial set column functions
-             if type.is_set():
--                print '''
-+                print('''
- /* Adds the value 'new_value' to the "%(c)s" set column from the "%(t)s" table
-  * in 'row'.
-  *
-@@ -814,16 +815,16 @@ void
-     datum->keys = xmalloc(datum->n * sizeof *datum->values);
-     datum->values = NULL;
- ''' % {'s': structName, 'c': columnName,
--        'valtype':column.type.key.to_const_c_type(prefix), 't': tableName}
-+        'valtype':column.type.key.to_const_c_type(prefix), 't': tableName})
- 
--                print "    "+ type.key.copyCValue("datum->keys[0].%s" % type.key.type.to_string(), "new_value")
--                print '''
-+                print("    "+ type.key.copyCValue("datum->keys[0].%s" % type.key.type.to_string(), "new_value"))
-+                print('''
-     ovsdb_idl_txn_write_partial_set(&row->header_,
-                                     &%(s)s_col_%(c)s,
-                                     datum);
- }''' % {'s': structName, 'c': columnName,'coltype':column.type.key.toCType(prefix),
--        'valtype':column.type.key.to_const_c_type(prefix), 'S': structName.upper()}
--                print '''
-+        'valtype':column.type.key.to_const_c_type(prefix), 'S': structName.upper()})
-+                print('''
- /* Deletes the value 'delete_value' from the "%(c)s" set column from the
-  * "%(t)s" table in 'row'.
-  *
-@@ -839,15 +840,15 @@ void
-     datum->values = NULL;
- ''' % {'s': structName, 'c': columnName,'coltype':column.type.key.to_const_c_type(prefix),
-         'valtype':column.type.key.to_const_c_type(prefix), 'S': structName.upper(),
--        'C': columnName.upper(), 't': tableName}
-+        'C': columnName.upper(), 't': tableName})
- 
--                print "    "+ type.key.copyCValue("datum->keys[0].%s" % type.key.type.to_string(), "delete_value")
--                print '''
-+                print("    "+ type.key.copyCValue("datum->keys[0].%s" % type.key.type.to_string(), "delete_value"))
-+                print('''
-     ovsdb_idl_txn_delete_partial_set(&row->header_,
-                                     &%(s)s_col_%(c)s,
-                                     datum);
- }''' % {'s': structName, 'c': columnName,'coltype':column.type.key.toCType(prefix),
--        'valtype':column.type.key.to_const_c_type(prefix), 'S': structName.upper()}
-+        'valtype':column.type.key.to_const_c_type(prefix), 'S': structName.upper()})
-         # End Update/Delete of partial set
- 
-         # Add clause functions.
-@@ -858,8 +859,8 @@ void
-                                         column, True, refTable=False)
- 
-             if type.is_smap():
--                print comment
--                print """void
-+                print(comment)
-+                print("""void
- %(s)s_add_clause_%(c)s(struct ovsdb_idl_condition *cond, enum ovsdb_function function, const struct smap *%(c)s)
- {
-     struct ovsdb_datum datum;
-@@ -884,7 +885,7 @@ void
-        'P': prefix.upper(),
-        's': structName,
-        'S': structName.upper(),
--       'c': columnName}
-+       'c': columnName})
-                 continue
- 
-             keyVar = members[0]['name']
-@@ -898,73 +899,73 @@ void
-                 if len(members) > 1:
-                     nVar = members[1]['name']
- 
--            print comment
--            print 'void'
--            print '%(s)s_add_clause_%(c)s(struct ovsdb_idl_condition *cond, enum ovsdb_function function, %(args)s)' % \
-+            print(comment)
-+            print('void')
-+            print('%(s)s_add_clause_%(c)s(struct ovsdb_idl_condition *cond, enum ovsdb_function function, %(args)s)' % \
-                 {'s': structName, 'c': columnName,
--                 'args': ', '.join(['%(type)s%(name)s' % m for m in members])}
--            print "{"
--            print "    struct ovsdb_datum datum;"
-+                 'args': ', '.join(['%(type)s%(name)s' % m for m in members])})
-+            print("{")
-+            print("    struct ovsdb_datum datum;")
-             free = []
-             if type.n_min == 1 and type.n_max == 1:
--                print "    union ovsdb_atom key;"
-+                print("    union ovsdb_atom key;")
-                 if type.value:
--                    print "    union ovsdb_atom value;"
--                print
--                print "    datum.n = 1;"
--                print "    datum.keys = &key;"
--                print "    " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), keyVar, refTable=False)
-+                    print("    union ovsdb_atom value;")
-+                print("")
-+                print("    datum.n = 1;")
-+                print("    datum.keys = &key;")
-+                print("    " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), keyVar, refTable=False))
-                 if type.value:
--                    print "    datum.values = &value;"
--                    print "    "+ type.value.assign_c_value_casting_away_const("value.%s" % type.value.type.to_string(), valueVar, refTable=False)
-+                    print("    datum.values = &value;")
-+                    print("    "+ type.value.assign_c_value_casting_away_const("value.%s" % type.value.type.to_string(), valueVar, refTable=False))
-                 else:
--                    print "    datum.values = NULL;"
-+                    print("    datum.values = NULL;")
-             elif type.is_optional_pointer():
--                print "    union ovsdb_atom key;"
--                print
--                print "    if (%s) {" % keyVar
--                print "        datum.n = 1;"
--                print "        datum.keys = &key;"
--                print "        " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), keyVar, refTable=False)
--                print "    } else {"
--                print "        datum.n = 0;"
--                print "        datum.keys = NULL;"
--                print "    }"
--                print "    datum.values = NULL;"
-+                print("    union ovsdb_atom key;")
-+                print("")
-+                print("    if (%s) {" % keyVar)
-+                print("        datum.n = 1;")
-+                print("        datum.keys = &key;")
-+                print("        " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), keyVar, refTable=False))
-+                print("    } else {")
-+                print("        datum.n = 0;")
-+                print("        datum.keys = NULL;")
-+                print("    }")
-+                print("    datum.values = NULL;")
-             elif type.n_max == 1:
--                print "    union ovsdb_atom key;"
--                print
--                print "    if (%s) {" % nVar
--                print "        datum.n = 1;"
--                print "        datum.keys = &key;"
--                print "        " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), "*" + keyVar, refTable=False)
--                print "    } else {"
--                print "        datum.n = 0;"
--                print "        datum.keys = NULL;"
--                print "    }"
--                print "    datum.values = NULL;"
-+                print("    union ovsdb_atom key;")
-+                print("")
-+                print("    if (%s) {" % nVar)
-+                print("        datum.n = 1;")
-+                print("        datum.keys = &key;")
-+                print("        " + type.key.assign_c_value_casting_away_const("key.%s" % type.key.type.to_string(), "*" + keyVar, refTable=False))
-+                print("    } else {")
-+                print("        datum.n = 0;")
-+                print("        datum.keys = NULL;")
-+                print("    }")
-+                print("    datum.values = NULL;")
-             else:
--                print "    datum.n = %s;" % nVar
--                print "    datum.keys = %s ? xmalloc(%s * sizeof *datum.keys) : NULL;" % (nVar, nVar)
-+                print("    datum.n = %s;" % nVar)
-+                print("    datum.keys = %s ? xmalloc(%s * sizeof *datum.keys) : NULL;" % (nVar, nVar))
-                 free += ['datum.keys']
-                 if type.value:
--                    print "    datum.values = xmalloc(%s * sizeof *datum.values);" % nVar
-+                    print("    datum.values = xmalloc(%s * sizeof *datum.values);" % nVar)
-                     free += ['datum.values']
-                 else:
--                    print "    datum.values = NULL;"
--                print "    for (size_t i = 0; i < %s; i++) {" % nVar
--                print "        " + type.key.assign_c_value_casting_away_const("datum.keys[i].%s" % type.key.type.to_string(), "%s[i]" % keyVar, refTable=False)
-+                    print("    datum.values = NULL;")
-+                print("    for (size_t i = 0; i < %s; i++) {" % nVar)
-+                print("        " + type.key.assign_c_value_casting_away_const("datum.keys[i].%s" % type.key.type.to_string(), "%s[i]" % keyVar, refTable=False))
-                 if type.value:
--                    print "        " + type.value.assign_c_value_casting_away_const("datum.values[i].%s" % type.value.type.to_string(), "%s[i]" % valueVar, refTable=False)
--                print "    }"
-+                    print("        " + type.value.assign_c_value_casting_away_const("datum.values[i].%s" % type.value.type.to_string(), "%s[i]" % valueVar, refTable=False))
-+                print("    }")
-                 if type.value:
-                     valueType = type.value.toAtomicType()
-                 else:
-                     valueType = "OVSDB_TYPE_VOID"
--                print "    ovsdb_datum_sort_unique(&datum, %s, %s);" % (
--                    type.key.toAtomicType(), valueType)
-+                print("    ovsdb_datum_sort_unique(&datum, %s, %s);" % (
-+                    type.key.toAtomicType(), valueType))
- 
--            print"""    ovsdb_idl_condition_add_clause(cond,
-+            print("""    ovsdb_idl_condition_add_clause(cond,
-                           function,
-                           &%(s)s_col_%(c)s,
-                           &datum);\
-@@ -974,28 +975,28 @@ void
-        'P': prefix.upper(),
-        's': structName,
-        'S': structName.upper(),
--       'c': columnName}
-+       'c': columnName})
-             for var in free:
--                print "    free(%s);" % var
--            print "}"
-+                print("    free(%s);" % var)
-+            print("}")
- 
--        print """
-+        print("""
- void
- %(s)s_set_condition(struct ovsdb_idl *idl, struct ovsdb_idl_condition *condition)
- {
-     ovsdb_idl_set_condition(idl, &%(p)stable_%(tl)s, condition);
- }""" % {'p': prefix,
-         's': structName,
--        'tl': tableName.lower()}
-+        'tl': tableName.lower()})
- 
-         # Table columns.
-         for columnName, column in sorted_columns(table):
-             prereqs = []
-             x = column.type.cInitType("%s_col_%s" % (tableName, columnName), prereqs)
-             if prereqs:
--                print '\n'.join(prereqs)
--        print "\nstruct ovsdb_idl_column %s_columns[%s_N_COLUMNS] = {" % (
--            structName, structName.upper())
-+                print('\n'.join(prereqs))
-+        print("\nstruct ovsdb_idl_column %s_columns[%s_N_COLUMNS] = {" % (
-+            structName, structName.upper()))
-         for columnName, column in sorted_columns(table):
-             if column.mutable:
-                 mutable = "true"
-@@ -1003,7 +1004,7 @@ void
-                 mutable = "false"
-             type_init = '\n'.join("            " + x
-                                   for x in column.type.cInitType("%s_col_%s" % (tableName, columnName), prereqs))
--            print """\
-+            print("""\
-     [%(P)s%(T)s_COL_%(C)s] = {
-          .name = "%(c)s",
-          .type = {
-@@ -1018,38 +1019,38 @@ void
-                'C': columnName.upper(),
-                's': structName,
-                'mutable': mutable,
--               'type': type_init}
--        print "};"
-+               'type': type_init})
-+        print("};")
- 
-     # Table classes.
--    print ""
--    print "struct ovsdb_idl_table_class %stable_classes[%sN_TABLES] = {" % (prefix, prefix.upper())
-+    print("")
-+    print("struct ovsdb_idl_table_class %stable_classes[%sN_TABLES] = {" % (prefix, prefix.upper()))
-     for tableName, table in sorted(schema.tables.iteritems()):
-         structName = "%s%s" % (prefix, tableName.lower())
-         if table.is_root:
-             is_root = "true"
-         else:
-             is_root = "false"
--        print "    {\"%s\", %s," % (tableName, is_root)
--        print "     %s_columns, ARRAY_SIZE(%s_columns)," % (
--            structName, structName)
--        print "     sizeof(struct %s), %s_init__}," % (structName, structName)
--    print "};"
-+        print("    {\"%s\", %s," % (tableName, is_root))
-+        print("     %s_columns, ARRAY_SIZE(%s_columns)," % (
-+            structName, structName))
-+        print("     sizeof(struct %s), %s_init__}," % (structName, structName))
-+    print("};")
- 
-     # IDL class.
--    print "\nstruct ovsdb_idl_class %sidl_class = {" % prefix
--    print "    \"%s\", %stable_classes, ARRAY_SIZE(%stable_classes)" % (
--        schema.name, prefix, prefix)
--    print "};"
-+    print("\nstruct ovsdb_idl_class %sidl_class = {" % prefix)
-+    print("    \"%s\", %stable_classes, ARRAY_SIZE(%stable_classes)" % (
-+        schema.name, prefix, prefix))
-+    print("};")
- 
--    print """
-+    print("""
- /* Return the schema version.  The caller must not free the returned value. */
- const char *
- %sget_db_version(void)
- {
-     return "%s";
- }
--""" % (prefix, schema.version)
-+""" % (prefix, schema.version))
- 
- 
- 
-@@ -1075,7 +1076,7 @@ def ovsdb_escape(string):
-     return re.sub(r'["\\\000-\037]', escape, string)
- 
- def usage():
--    print """\
-+    print("""\
- %(argv0)s: ovsdb schema compiler
- usage: %(argv0)s [OPTIONS] COMMAND ARG...
- 
-@@ -1087,7 +1088,7 @@ The following commands are supported:
- The following options are also available:
-   -h, --help                  display this help message
-   -V, --version               display version information\
--""" % {'argv0': argv0}
-+""" % {'argv0': argv0})
-     sys.exit(0)
- 
- if __name__ == "__main__":
-@@ -1105,7 +1106,7 @@ if __name__ == "__main__":
-             if key in ['-h', '--help']:
-                 usage()
-             elif key in ['-V', '--version']:
--                print "ovsdb-idlc (Open vSwitch) @VERSION@"
-+                print("ovsdb-idlc (Open vSwitch) @VERSION@")
-             elif key in ['-C', '--directory']:
-                 os.chdir(value)
-             else:
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0001-use-the-linux-if_packet.h-Interface-directly.patch b/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0001-use-the-linux-if_packet.h-Interface-directly.patch
deleted file mode 100644
index f1f9bef..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0001-use-the-linux-if_packet.h-Interface-directly.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 28b2d17de9414161d5edd67766bd4b452cd809ef Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 20 Mar 2017 12:12:51 -0700
-Subject: [PATCH] use the linux if_packet.h Interface directly
-
-Helps compiling with musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- lib/netdev-linux.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c
-index fccf88f..b703156 100644
---- a/lib/netdev-linux.c
-+++ b/lib/netdev-linux.c
-@@ -33,14 +33,13 @@
- #include <linux/pkt_sched.h>
- #include <linux/rtnetlink.h>
- #include <linux/sockios.h>
-+#include <linux/if_packet.h>
- #include <sys/types.h>
- #include <sys/ioctl.h>
- #include <sys/socket.h>
- #include <sys/utsname.h>
--#include <netpacket/packet.h>
- #include <net/if.h>
- #include <net/if_arp.h>
--#include <net/if_packet.h>
- #include <net/route.h>
- #include <netinet/in.h>
- #include <poll.h>
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0002-Define-WAIT_ANY-if-not-provided-by-system.patch b/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0002-Define-WAIT_ANY-if-not-provided-by-system.patch
deleted file mode 100644
index f997bbf..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0002-Define-WAIT_ANY-if-not-provided-by-system.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 801023e72b31e7c49cbccedd76ade33a17fcbe45 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 20 Mar 2017 12:13:30 -0700
-Subject: [PATCH] Define WAIT_ANY if not provided by system
-
-POSIX does not define it and uses -1 directly
-some libc do not have this definitions
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
----
- tests/test-ovn.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/tests/test-ovn.c b/tests/test-ovn.c
-index 84adf81..2bc6bdf 100644
---- a/tests/test-ovn.c
-+++ b/tests/test-ovn.c
-@@ -38,6 +38,10 @@
- #include "simap.h"
- #include "util.h"
- 
-+#ifndef WAIT_ANY
-+# define WAIT_ANY (-1) /* Any process.  */
-+#endif
-+
- /* --relops: Bitmap of the relational operators to test, in exhaustive test. */
- static unsigned int test_relops;
- 
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0002-Python3-compatibility-exception-cleanup.patch b/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0002-Python3-compatibility-exception-cleanup.patch
deleted file mode 100644
index 70abd26..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0002-Python3-compatibility-exception-cleanup.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From c0ba116eab401431b4f11b66bd7d1b42741b03c3 Mon Sep 17 00:00:00 2001
-From: Jason Wessel <jason.wessel@windriver.com>
-Date: Thu, 29 Jun 2017 20:33:23 -0700
-Subject: [PATCH] Python3 compatibility: exception cleanup
-
-Commit 52e4a477f0b3c0a0ece7adeede6e06e07814f8b9 from
-https://github.com/openvswitch/ovs.git
-
-The exception syntax which is compatible with python2 and python3 is
-to use the "as" form for "except:".
-
-Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
-Signed-off-by: Ben Pfaff <blp@ovn.org>
-
----
- build-aux/extract-ofp-fields | 2 +-
- ovsdb/ovsdb-doc              | 4 ++--
- ovsdb/ovsdb-idlc.in          | 4 ++--
- 3 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/build-aux/extract-ofp-fields b/build-aux/extract-ofp-fields
-index 80c7d35..6286c9c 100755
---- a/build-aux/extract-ofp-fields
-+++ b/build-aux/extract-ofp-fields
-@@ -784,7 +784,7 @@ if __name__ == "__main__":
-     try:
-         options, args = getopt.gnu_getopt(sys.argv[1:], 'h',
-                                           ['help', 'ovs-version='])
--    except getopt.GetoptError, geo:
-+    except getopt.GetoptError as geo:
-         sys.stderr.write("%s: %s\n" % (argv0, geo.msg))
-         sys.exit(1)
- 
-diff --git a/ovsdb/ovsdb-doc b/ovsdb/ovsdb-doc
-index e82ad59..9448713 100755
---- a/ovsdb/ovsdb-doc
-+++ b/ovsdb/ovsdb-doc
-@@ -278,7 +278,7 @@ if __name__ == "__main__":
-             options, args = getopt.gnu_getopt(sys.argv[1:], 'hV',
-                                               ['er-diagram=',
-                                                'version=', 'help'])
--        except getopt.GetoptError, geo:
-+        except getopt.GetoptError as geo:
-             sys.stderr.write("%s: %s\n" % (argv0, geo.msg))
-             sys.exit(1)
- 
-@@ -306,7 +306,7 @@ if __name__ == "__main__":
-             if len(line):
-                 print(line)
- 
--    except error.Error, e:
-+    except error.Error as e:
-         sys.stderr.write("%s: %s\n" % (argv0, e.msg))
-         sys.exit(1)
- 
-diff --git a/ovsdb/ovsdb-idlc.in b/ovsdb/ovsdb-idlc.in
-index 62442ee..e7e1c6b 100755
---- a/ovsdb/ovsdb-idlc.in
-+++ b/ovsdb/ovsdb-idlc.in
-@@ -1098,7 +1098,7 @@ if __name__ == "__main__":
-                                               ['directory',
-                                                'help',
-                                                'version'])
--        except getopt.GetoptError, geo:
-+        except getopt.GetoptError as geo:
-             sys.stderr.write("%s: %s\n" % (argv0, geo.msg))
-             sys.exit(1)
- 
-@@ -1136,7 +1136,7 @@ if __name__ == "__main__":
-             sys.exit(1)
- 
-         func(*args[1:])
--    except ovs.db.error.Error, e:
-+    except ovs.db.error.Error as e:
-         sys.stderr.write("%s: %s\n" % (argv0, e))
-         sys.exit(1)
- 
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0003-Python3-compatibility-execfile-to-exec.patch b/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0003-Python3-compatibility-execfile-to-exec.patch
deleted file mode 100644
index 98d77c8..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0003-Python3-compatibility-execfile-to-exec.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 8557d51e8c7325a17219911e9a65eeb3946e869f Mon Sep 17 00:00:00 2001
-From: Jason Wessel <jason.wessel@windriver.com>
-Date: Thu, 29 Jun 2017 20:33:23 -0700
-Subject: [PATCH] Python3 compatibility: execfile to exec
-
-Commit a4d10a7ca937d73873f6f98619d88682e69f5dbe from
-https://github.com/openvswitch/ovs.git
-
-Allow compability with python3 and python2 by changing execfile() to
-exec().
-
-Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
-Signed-off-by: Ben Pfaff <blp@ovn.org>
-
----
- ovsdb/ovsdb-idlc.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ovsdb/ovsdb-idlc.in b/ovsdb/ovsdb-idlc.in
-index e7e1c6b..e1551f9 100755
---- a/ovsdb/ovsdb-idlc.in
-+++ b/ovsdb/ovsdb-idlc.in
-@@ -17,7 +17,7 @@ def parseSchema(filename):
- 
- def annotateSchema(schemaFile, annotationFile):
-     schemaJson = ovs.json.from_file(schemaFile)
--    execfile(annotationFile, globals(), {"s": schemaJson})
-+    exec(compile(open(annotationFile, "rb").read(), annotationFile, 'exec'), globals(), {"s": schemaJson})
-     ovs.json.to_stream(schemaJson, sys.stdout)
-     sys.stdout.write('\n')
- 
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0004-Python3-compatibility-iteritems-to-items.patch b/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0004-Python3-compatibility-iteritems-to-items.patch
deleted file mode 100644
index 092c42d..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0004-Python3-compatibility-iteritems-to-items.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 7e4bd5c2af85b1293be0a92b18f7930bda2ab41a Mon Sep 17 00:00:00 2001
-From: Jason Wessel <jason.wessel@windriver.com>
-Date: Thu, 29 Jun 2017 20:33:23 -0700
-Subject: [PATCH] Python3 compatibility: iteritems to items
-
-Commit 4ab665623cbb4c6506e48b82e0c9fe8585f42e13 from
-https://github.com/openvswitch/ovs.git
-
-Allow compability with python3 and python2 by changing iteritems() to
-items().
-
-Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
-Signed-off-by: Ben Pfaff <blp@ovn.org>
-
----
- build-aux/extract-ofp-actions | 2 +-
- build-aux/extract-ofp-errors  | 2 +-
- build-aux/extract-ofp-fields  | 2 +-
- ovsdb/ovsdb-idlc.in           | 8 ++++----
- 4 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/build-aux/extract-ofp-actions b/build-aux/extract-ofp-actions
-index 67e3848..c7858bd 100755
---- a/build-aux/extract-ofp-actions
-+++ b/build-aux/extract-ofp-actions
-@@ -13,7 +13,7 @@ version_map = {"1.0": 0x01,
-                "1.3": 0x04,
-                "1.4": 0x05,
-                "1.5": 0x06}
--version_reverse_map = dict((v, k) for (k, v) in version_map.iteritems())
-+version_reverse_map = dict((v, k) for (k, v) in version_map.items())
- 
- # Map from vendor name to the length of the action header.
- vendor_map = {"OF": (0x00000000,  4),
-diff --git a/build-aux/extract-ofp-errors b/build-aux/extract-ofp-errors
-index 97d62d2..58ba006 100755
---- a/build-aux/extract-ofp-errors
-+++ b/build-aux/extract-ofp-errors
-@@ -14,7 +14,7 @@ version_map = {"1.0": 0x01,
-                "1.4": 0x05,
-                "1.5": 0x06,
-                "1.6": 0x07}
--version_reverse_map = dict((v, k) for (k, v) in version_map.iteritems())
-+version_reverse_map = dict((v, k) for (k, v) in version_map.items())
- 
- token = None
- line = ""
-diff --git a/build-aux/extract-ofp-fields b/build-aux/extract-ofp-fields
-index 6286c9c..f624728 100755
---- a/build-aux/extract-ofp-fields
-+++ b/build-aux/extract-ofp-fields
-@@ -16,7 +16,7 @@ VERSION = {"1.0": 0x01,
-            "1.3": 0x04,
-            "1.4": 0x05,
-            "1.5": 0x06}
--VERSION_REVERSE = dict((v,k) for k, v in VERSION.iteritems())
-+VERSION_REVERSE = dict((v,k) for k, v in VERSION.items())
- 
- TYPES = {"u8":       (1,   False),
-          "be16":     (2,   False),
-diff --git a/ovsdb/ovsdb-idlc.in b/ovsdb/ovsdb-idlc.in
-index e1551f9..b70a599 100755
---- a/ovsdb/ovsdb-idlc.in
-+++ b/ovsdb/ovsdb-idlc.in
-@@ -138,7 +138,7 @@ def printCIDLHeader(schemaFile):
- #include "smap.h"
- #include "uuid.h"''' % {'prefix': prefix.upper()})
- 
--    for tableName, table in sorted(schema.tables.iteritems()):
-+    for tableName, table in sorted(schema.tables.items()):
-         structName = "%s%s" % (prefix, tableName.lower())
- 
-         print("")
-@@ -300,7 +300,7 @@ def printCIDLSource(schemaFile):
- ''' % schema.idlHeader)
- 
-     # Cast functions.
--    for tableName, table in sorted(schema.tables.iteritems()):
-+    for tableName, table in sorted(schema.tables.items()):
-         structName = "%s%s" % (prefix, tableName.lower())
-         print('''
- static struct %(s)s *
-@@ -311,7 +311,7 @@ static struct %(s)s *
- ''' % {'s': structName})
- 
- 
--    for tableName, table in sorted(schema.tables.iteritems()):
-+    for tableName, table in sorted(schema.tables.items()):
-         structName = "%s%s" % (prefix, tableName.lower())
-         print("")
-         print("/* %s table. */" % (tableName))
-@@ -1025,7 +1025,7 @@ void
-     # Table classes.
-     print("")
-     print("struct ovsdb_idl_table_class %stable_classes[%sN_TABLES] = {" % (prefix, prefix.upper()))
--    for tableName, table in sorted(schema.tables.iteritems()):
-+    for tableName, table in sorted(schema.tables.items()):
-         structName = "%s%s" % (prefix, tableName.lower())
-         if table.is_root:
-             is_root = "true"
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0005-Python3-compatibility-fix-integer-problems.patch b/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0005-Python3-compatibility-fix-integer-problems.patch
deleted file mode 100644
index d6f9364..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0005-Python3-compatibility-fix-integer-problems.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From d22c7f1c6ade82a0cd646cfcd8df9adda6cd1ad6 Mon Sep 17 00:00:00 2001
-From: Jason Wessel <jason.wessel@windriver.com>
-Date: Thu, 29 Jun 2017 20:33:23 -0700
-Subject: [PATCH] Python3 compatibility: fix integer problems
-
-Commit fa145f1a53943243f94a32ce98525db8494b0052 from
-https://github.com/openvswitch/ovs.git
-
-In python3 maxint is not defined, but maxsize is defined in both
-python2 and python3.
-
-The put_text() will not automatically use a value which came in as
-float due to a pior math function and python3 will throw an exception.
-The simple answer is to convert it with int() and move on.
-
-Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
-Signed-off-by: Ben Pfaff <blp@ovn.org>
-
----
- ovsdb/ovsdb-idlc.in   | 2 +-
- python/build/nroff.py | 2 ++
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/ovsdb/ovsdb-idlc.in b/ovsdb/ovsdb-idlc.in
-index b70a599..3645275 100755
---- a/ovsdb/ovsdb-idlc.in
-+++ b/ovsdb/ovsdb-idlc.in
-@@ -358,7 +358,7 @@ static void
-                     print("        %s" % type.value.initCDefault(valueVar, type.n_min == 0))
-                 print("    }")
-             else:
--                if type.n_max != sys.maxint:
-+                if type.n_max != sys.maxsize:
-                     print("    size_t n = MIN(%d, datum->n);" % type.n_max)
-                     nMax = "n"
-                 else:
-diff --git a/python/build/nroff.py b/python/build/nroff.py
-index c23837f..401f699 100644
---- a/python/build/nroff.py
-+++ b/python/build/nroff.py
-@@ -148,6 +148,8 @@ def fatal(msg):
- 
- 
- def put_text(text, x, y, s):
-+    x = int(x)
-+    y = int(y)
-     extend = x + len(s) - len(text[y])
-     if extend > 0:
-         text[y] += ' ' * extend
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0006-Python3-compatibility-math-error-compatibility.patch b/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0006-Python3-compatibility-math-error-compatibility.patch
deleted file mode 100644
index c53502b..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0006-Python3-compatibility-math-error-compatibility.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 7f542122d62b20d11198bfdb0f2c6a460261b5e7 Mon Sep 17 00:00:00 2001
-From: Jason Wessel <jason.wessel@windriver.com>
-Date: Thu, 29 Jun 2017 20:33:23 -0700
-Subject: [PATCH] Python3 compatibility: math error compatibility
-
-Commit 3fa5aa4294377e0f35267936d0c5caea3e61db48 from
-https://github.com/openvswitch/ovs.git
-
-The way math is handled with typing is completely different in python3.
-
-% python2<<EOF
-x=10
-y=8
-print((x + (y - 1)) / y * y)
-EOF
-16
-
-python3<<EOF
-x=10
-y=8
-print((x + (y - 1)) / y * y)
-EOF
-17.0
-
-So we need to force an integer for the round function as follows and
-maintain compatibility with python2.
-
-python3<<EOF
-x=10
-y=8
-print(int((x + (y - 1)) / y) * y)
-EOF
-16
-
-Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
-Signed-off-by: Ben Pfaff <blp@ovn.org>
-
----
- build-aux/extract-ofp-actions | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/build-aux/extract-ofp-actions b/build-aux/extract-ofp-actions
-index c7858bd..4d05ef9 100755
---- a/build-aux/extract-ofp-actions
-+++ b/build-aux/extract-ofp-actions
-@@ -35,7 +35,7 @@ line = ""
- arg_structs = set()
- 
- def round_up(x, y):
--    return (x + (y - 1)) / y * y
-+    return int((x + (y - 1)) / y) * y
- 
- def open_file(fn):
-     global file_name
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0007-Python3-compatibility-unicode-to-str.patch b/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0007-Python3-compatibility-unicode-to-str.patch
deleted file mode 100644
index 753490f..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0007-Python3-compatibility-unicode-to-str.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From c78b39ae9ba6337210d6a9e4ccc4753cb1c3b48f Mon Sep 17 00:00:00 2001
-From: Jason Wessel <jason.wessel@windriver.com>
-Date: Thu, 29 Jun 2017 20:33:23 -0700
-Subject: [PATCH] Python3 compatibility: unicode to str
-
-Commit 7430959d4ad17db89b8387c3aef58c8b230cad10 from
-https://github.com/openvswitch/ovs.git
-
-When transitioning from python2 to python3 the following type class
-changes occured:
-
-python2 -> python3
-unicode -> str
-str -> bytes
-
-That means we have to check the python version and do the right type
-check python3 will throw an error when it tries to use the unicode
-type because it doesn't exist.
-
-Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
-Signed-off-by: Ben Pfaff <blp@ovn.org>
-
----
- ovsdb/ovsdb-doc | 12 +++++++++---
- 1 file changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/ovsdb/ovsdb-doc b/ovsdb/ovsdb-doc
-index 9448713..d55c6e6 100755
---- a/ovsdb/ovsdb-doc
-+++ b/ovsdb/ovsdb-doc
-@@ -65,9 +65,15 @@ def columnGroupToNroff(table, groupXml, documented_columns):
-                 if node.hasAttribute('type'):
-                     type_string = node.attributes['type'].nodeValue
-                     type_json = ovs.json.from_string(str(type_string))
--                    if type(type_json) in (str, unicode):
--                        raise error.Error("%s %s:%s has invalid 'type': %s" 
--                                          % (table.name, name, key, type_json))
-+                    # py2 -> py3 means str -> bytes and unicode -> str
-+                    try:
-+                        if type(type_json) in (str, unicode):
-+                            raise error.Error("%s %s:%s has invalid 'type': %s" 
-+                                              % (table.name, name, key, type_json))
-+                    except:
-+                        if type(type_json) in (bytes, str):
-+                            raise error.Error("%s %s:%s has invalid 'type': %s" 
-+                                              % (table.name, name, key, type_json))
-                     type_ = ovs.db.types.BaseType.from_json(type_json)
-                 else:
-                     type_ = column.type.value
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0008-AUTHORS-Add-Jason-Wessel.patch b/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0008-AUTHORS-Add-Jason-Wessel.patch
deleted file mode 100644
index f55a5ca..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/0008-AUTHORS-Add-Jason-Wessel.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From f8491645416952b31000f42777ff79486a7b0511 Mon Sep 17 00:00:00 2001
-From: Ben Pfaff <blp@ovn.org>
-Date: Thu, 6 Jul 2017 14:01:27 -0700
-Subject: [PATCH] AUTHORS: Add Jason Wessel.
-
-Commit a91c4cfaf863718bc94fb9c88939bd0b0385a6fe from
-https://github.com/openvswitch/ovs.git
-
-Signed-off-by: Ben Pfaff <blp@ovn.org>
-
----
- AUTHORS.rst | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/AUTHORS.rst b/AUTHORS.rst
-index 63e6a8d..d0dc70d 100644
---- a/AUTHORS.rst
-+++ b/AUTHORS.rst
-@@ -156,6 +156,7 @@ Jan Scheurich                   jan.scheurich@ericsson.com
- Jan Vansteenkiste               jan@vstone.eu
- Jarno Rajahalme                 jarno@ovn.org
- Jason Kölker                    jason@koelker.net
-+Jason Wessel                    jason.wessel@windriver.com
- Jasper Capel                    jasper@capel.tv
- Jean Tourrilhes                 jt@hpl.hp.com
- Jeremy Stribling                strib@nicira.com
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/disable_m4_check.patch b/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/disable_m4_check.patch
deleted file mode 100644
index 5c86aac..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/disable_m4_check.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From f675d7209f999ce80cb4249c4ebb216697387b71 Mon Sep 17 00:00:00 2001
-From: Amy Fong <amy.fong@windriver.com>
-Date: Thu, 29 Jan 2015 09:56:03 -0500
-Subject: [PATCH] Disable m4 file test where sources are built from git.
-
-Signed-off-by: Amy Fong <amy.fong@windriver.com>
-
----
- Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index ff7d70a..2fc1f13 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -189,7 +189,7 @@ CLEAN_LOCAL += clean-pycov
- # Makefile in datapath/linux, needed to get the list of files to
- # distribute, requires GNU make extensions.
- if GNU_MAKE
--ALL_LOCAL += dist-hook-git
-+# ALL_LOCAL += dist-hook-git
- dist-hook-git: distfiles
- 	@if test -e $(srcdir)/.git && (git --version) >/dev/null 2>&1; then \
- 	  (cd datapath && $(MAKE) distfiles); \
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/kernel_module.patch b/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/kernel_module.patch
deleted file mode 100644
index c177202..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/kernel_module.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From adfd2380d71dff1a31efaf63cf7ac97470466ec9 Mon Sep 17 00:00:00 2001
-From: Amy Fong <amy.fong@windriver.com>
-Date: Thu, 29 Jan 2015 09:56:03 -0500
-Subject: [PATCH] Specify install path for kernel module
-
-Signed-off-by: Amy Fong <amy.fong@windriver.com>
-
----
- datapath/linux/Makefile.main.in | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/datapath/linux/Makefile.main.in b/datapath/linux/Makefile.main.in
-index 7d18253..63c520f 100644
---- a/datapath/linux/Makefile.main.in
-+++ b/datapath/linux/Makefile.main.in
-@@ -71,8 +71,8 @@ default:
- 	$(MAKE) -C $(KSRC) M=$(builddir) modules
- 
- modules_install:
--	$(MAKE) -C $(KSRC) M=$(builddir) modules_install
--	depmod `sed -n 's/#define UTS_RELEASE "\([^"]*\)"/\1/p' $(KSRC)/include/generated/utsrelease.h`
-+	$(MAKE) -C $(KSRC) M=$(builddir) modules_install INSTALL_MOD_PATH=${INSTALL_MOD_PATH}
-+	# depmod `sed -n 's/#define UTS_RELEASE "\([^"]*\)"/\1/p' $(KSRC)/include/generated/utsrelease.h`
- endif
- 
- # Much of the kernel build system in this file is derived from Intel's
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/openvswitch-add-ptest-b8dcfbebee9e7dbc74ec5eecc9b45d335d6150c1.patch b/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/openvswitch-add-ptest-b8dcfbebee9e7dbc74ec5eecc9b45d335d6150c1.patch
deleted file mode 100644
index 4ae86c3..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch-git/openvswitch-add-ptest-b8dcfbebee9e7dbc74ec5eecc9b45d335d6150c1.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From fb68120ef8aed625b04b2fbd2cb78fc59a7b7432 Mon Sep 17 00:00:00 2001
-From: He Zhe <zhe.he@windriver.com>
-Date: Wed, 30 Mar 2016 06:23:45 -0400
-Subject: [PATCH] openvswitch: Add test-install rule to support ptest execution
-
-Signed-off-by: Radu Patriu <radu.patriu@enea.com>
-
-Fix ptest for v2.5
- - Copy certain files from srcdir since it has been different from
-   build directory.
- - Copy more necessary files for new added test cases.
- - Modify config files for running on target.
-
-Signed-off-by: He Zhe <zhe.he@windriver.com>
-
----
- Makefile.am |  1 +
- test.mk     | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 73 insertions(+)
- create mode 100644 test.mk
-
-diff --git a/Makefile.am b/Makefile.am
-index ea63acb..ff7d70a 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -429,3 +429,4 @@ include windows/automake.mk
- include ovn/automake.mk
- include selinux/automake.mk
- include build-aux/automake.mk
-+include test.mk
-diff --git a/test.mk b/test.mk
-new file mode 100644
-index 0000000..b10a581
---- /dev/null
-+++ b/test.mk
-@@ -0,0 +1,72 @@
-+TEST_DEST ?= ${prefix}/lib/openvswitch
-+TEST_ROOT ?= ${prefix}/lib/openvswitch
-+TEST_DEPEND =
-+
-+if HAVE_OPENSSL
-+TEST_DEPEND += $(TESTPKI_FILES)
-+endif
-+
-+test-install: $(TEST_DEPEND)
-+	@list='$(noinst_PROGRAMS) $(EXTRA_DIST) $(dist_check_SCRIPTS) $(TEST_DEPEND) tests/atlocal tests/atconfig' ;\
-+	install -d $(TEST_DEST)/tests ;\
-+	install $(srcdir)/vtep/ovs-vtep $(TEST_DEST)/tests ;\
-+	install -d $(TEST_DEST)/python ;\
-+	install -d $(TEST_DEST)/python/ovs ;\
-+	install -d $(TEST_DEST)/python/ovs/db ;\
-+	install -d $(TEST_DEST)/python/ovs/unixctl ;\
-+	install -d $(TEST_DEST)/vswitchd ;\
-+	install $(srcdir)/vswitchd/vswitch.ovsschema $(TEST_DEST)/vswitchd ;\
-+	install vswitchd/ovs-vswitchd $(TEST_DEST)/vswitchd ;\
-+	install -d $(TEST_DEST)/debian ;\
-+	install $(srcdir)/debian/ovs-monitor-ipsec $(TEST_DEST)/debian ;\
-+	install -d $(TEST_DEST)/build-aux ;\
-+	install $(srcdir)/build-aux/check-structs $(TEST_DEST)/build-aux ;\
-+	install -d $(TEST_DEST)/xenserver ;\
-+	install $(srcdir)/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync $(TEST_DEST)/xenserver ;\
-+	install $(srcdir)/xenserver/opt_xensource_libexec_interface-reconfigure $(TEST_DEST)/xenserver ;\
-+	install $(srcdir)/xenserver/opt_xensource_libexec_InterfaceReconfigure.py $(TEST_DEST)/xenserver ;\
-+	install $(srcdir)/xenserver/opt_xensource_libexec_InterfaceReconfigureBridge.py $(TEST_DEST)/xenserver ;\
-+	install $(srcdir)/xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py $(TEST_DEST)/xenserver ;\
-+	install -d $(TEST_DEST)/vtep ;\
-+	install $(srcdir)/vtep/vtep.ovsschema $(TEST_DEST)/vtep ;\
-+	install -d $(TEST_DEST)/ovn ;\
-+	install $(srcdir)/ovn/ovn-nb.ovsschema $(TEST_DEST)/ovn ;\
-+	install $(srcdir)/ovn/ovn-sb.ovsschema $(TEST_DEST)/ovn ;\
-+	install -d $(TEST_DEST)/utilities ;\
-+	install $(srcdir)/utilities/ovs-pcap.in $(TEST_DEST)/utilities ;\
-+	install $(srcdir)/utilities/ovs-pki.in $(TEST_DEST)/utilities ;\
-+	for p in $$list ; do \
-+	  echo $$p ;\
-+	  p=$${p#../git/} ;\
-+	  pre=$${p#tests\/} ;\
-+	  if test $$pre != $$p ; then \
-+	    echo installing $$p to $(TEST_DEST)/tests/$$pre ;\
-+	    if test -f $$p ; then \
-+	      install $$p $(TEST_DEST)/tests/$$pre ;\
-+	    else \
-+	      install $(srcdir)/$$p $(TEST_DEST)/tests/$$pre ;\
-+	    fi ;\
-+	    continue ;\
-+	  fi ;\
-+	  pre=$${p#python\/ovs\/} ;\
-+	  if test $$pre != $$p ; then \
-+	    echo installing $$p to $(TEST_DEST)/python/ovs/$$pre ;\
-+	    if test -f $$p ; then \
-+	      install $$p $(TEST_DEST)/python/ovs/$$pre ;\
-+	    else \
-+	      install $(srcdir)/$$p $(TEST_DEST)/python/ovs/$$pre ;\
-+	    fi ;\
-+	    continue ;\
-+	  fi; \
-+	done ;\
-+	sed -i 's|abs_builddir=.*|abs_builddir='"'"'$(TEST_ROOT)/tests'"'"'|g' $(TEST_DEST)/tests/atconfig
-+	sed -i 's|abs_srcdir=.*|abs_srcdir='"'"'$(TEST_ROOT)/tests'"'"'|g' $(TEST_DEST)/tests/atconfig
-+	sed -i 's|abs_top_srcdir=.*|abs_top_srcdir='"'"'$(TEST_ROOT)'"'"'|g' $(TEST_DEST)/tests/atconfig
-+	sed -i 's|abs_top_builddir=.*|abs_top_builddir='"'"'$(TEST_ROOT)'"'"'|g' $(TEST_DEST)/tests/atconfig
-+	sed -i 's|at_srcdir=.*|at_srcdir='"'"'.'"'"'|g' $(TEST_DEST)/tests/atconfig
-+	sed -i 's|at_top_srcdir=.*|at_top_srcdir='"'"'..'"'"'|g' $(TEST_DEST)/tests/atconfig
-+	sed -i 's|at_top_build_prefix=.*|at_top_build_prefix='"'"'../'"'"'|g' $(TEST_DEST)/tests/atconfig
-+	sed -i 's|^\(.*config\.log.*\)|#\1|g' $(TEST_DEST)/tests/testsuite
-+	sed -i 's|$$srcdir|$$abs_srcdir|g' $(TEST_DEST)/tests/testsuite
-+	sed -i 's|ovs-appctl-bashcomp\.bash|/etc/bash_completion.d/ovs-appctl-bashcomp\.bash|g' $(TEST_DEST)/tests/testsuite
-+	sed -i 's|ovs-vsctl-bashcomp\.bash|/etc/bash_completion.d/ovs-vsctl-bashcomp\.bash|g' $(TEST_DEST)/tests/testsuite
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch.inc b/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch.inc
deleted file mode 100644
index 58e0fcb..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch.inc
+++ /dev/null
@@ -1,153 +0,0 @@
-SUMMARY = "OpenvSwitch"
-DESCRIPTION = "\
-	Open vSwitch is a production quality, multilayer virtual switch \
-	licensed under the open source Apache 2.0 license. It is designed \
-	to enable massive network automation through programmatic extension, \
-	while still supporting standard management interfaces and protocols \
-	(e.g. NetFlow, sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag) \
-	"
-
-HOMEPAGE = "http://openvswitch.org/"
-SECTION = "networking"
-LICENSE = "Apache-2"
-
-DEPENDS += "bridge-utils openssl python3 perl python3-six-native coreutils-native"
-
-RDEPENDS_${PN} += "util-linux-uuidgen util-linux-libuuid coreutils \
-        python3 perl perl-module-strict ${PN}-switch \
-        bash python3-twisted python3-six"
-RDEPENDS_${PN}-testcontroller = "${PN} lsb ${PN}-pki"
-RDEPENDS_${PN}-switch = "${PN} openssl procps util-linux-uuidgen"
-RDEPENDS_${PN}-pki = "${PN}"
-RDEPENDS_${PN}-brcompat = "${PN} ${PN}-switch"
-
-# Some installers will fail because of an install order based on
-# rdeps.  E.g. ovs-pki calls sed in the postinstall.  sed may be
-# queued for install later.
-RDEPENDS_${PN} += "sed gawk grep"
-
-SRC_URI = "\
-	file://openvswitch-switch \
-	file://openvswitch-switch-setup \
-	file://openvswitch-testcontroller \
-	file://openvswitch-testcontroller-setup \
-	"
-
-EXTRA_OECONF += "\
-	PYTHON=python3 \
-	PYTHON3=python3 \
-	PERL=${bindir}/perl \
-	"
-CONFIGUREOPT_DEPTRACK = ""
-
-# Don't compile kernel modules by default since it heavily depends on
-# kernel version. Use the in-kernel module for now.
-# distro layers can enable with EXTRA_OECONF_pn_openvswitch += ""
-# EXTRA_OECONF = "--with-linux=${STAGING_KERNEL_DIR} KARCH=${TARGET_ARCH}"
-
-ALLOW_EMPTY_${PN}-pki = "1"
-PACKAGES =+ "${PN}-testcontroller ${PN}-switch ${PN}-brcompat ${PN}-pki"
-
-FILES_${PN}-testcontroller = "\
-	${sysconfdir}/init.d/openvswitch-testcontroller \
-	${sysconfdir}/default/openvswitch-testcontroller \
-	${sysconfdir}/openvswitch-testcontroller \
-	${bindir}/ovs-testcontroller \
-	"
-
-FILES_${PN}-brcompat = "${sbindir}/ovs-brcompatd"
-
-FILES_${PN}-switch = "\
-	${sysconfdir}/init.d/openvswitch-switch \
-	${sysconfdir}/default/openvswitch-switch \
-	${systemd_unitdir}/system/ovs-vswitchd.service \
-	${systemd_unitdir}/system/openvswitch.service \
-	${systemd_unitdir}/system/ovsdb-server.service \
-	"
-
-# silence a warning
-FILES_${PN} += "${datadir}/ovsdbmonitor"
-FILES_${PN} += "/run"
-
-FILES_${PN} += "${libdir}/python${PYTHON_BASEVERSION}/"
-inherit autotools update-rc.d systemd python3native
-
-SYSTEMD_PACKAGES = "${PN}-switch"
-SYSTEMD_SERVICE_${PN}-switch = " \
-    ovsdb-server.service \
-    ovs-vswitchd.service \
-    openvswitch.service \
-"
-
-INITSCRIPT_PACKAGES = "${PN}-switch ${PN}-testcontroller"
-INITSCRIPT_NAME_${PN}-switch = "openvswitch-switch"
-INITSCRIPT_PARAMS_${PN}-switch = "defaults 71"
-
-INITSCRIPT_NAME_${PN}-testcontroller = "openvswitch-testcontroller"
-INITSCRIPT_PARAMS_${PN}-testcontroller = "defaults 72"
-
-do_configure_prepend() {
-	# Work around the for Makefile CC=$(if ....) by swapping out any
-	# "-Wa," assembly directives with "-Xassembler
-	CC=`echo '${CC}' | sed 's/-Wa,/-Xassembler /g'`
-}
-
-do_install_append() {
-	install -d ${D}/${sysconfdir}/default/
-	install -m 660 ${WORKDIR}/openvswitch-switch-setup ${D}/${sysconfdir}/default/openvswitch-switch
-	install -d ${D}/${sysconfdir}/openvswitch-testcontroller
-	install -m 660 ${WORKDIR}/openvswitch-testcontroller-setup ${D}/${sysconfdir}/default/openvswitch-testcontroller
-
-	install -d ${D}/${sysconfdir}/init.d/
-	install -m 755 ${WORKDIR}/openvswitch-testcontroller ${D}/${sysconfdir}/init.d/openvswitch-testcontroller
-	install -m 755 ${WORKDIR}/openvswitch-switch ${D}/${sysconfdir}/init.d/openvswitch-switch
-	true || rm -fr ${D}/${datadir}/${PN}/pki
-
-	install -d ${D}/${systemd_unitdir}/system/
-	install -m 644 ${S}/rhel/usr_lib_systemd_system_ovs-vswitchd.service \
-		${D}/${systemd_unitdir}/system/ovs-vswitchd.service
-	install -m 644 ${S}/rhel/usr_lib_systemd_system_openvswitch.service \
-		${D}/${systemd_unitdir}/system/openvswitch.service
-	install -m 644 ${S}/rhel/usr_lib_systemd_system_ovsdb-server.service \
-		${D}/${systemd_unitdir}/system/ovsdb-server.service
-
-	oe_runmake modules_install INSTALL_MOD_PATH=${D}
-	install -d ${D}${libdir}/python${PYTHON_BASEVERSION}/site-packages
-	cp -r ${S}/python/ovstest/ ${D}${libdir}/python${PYTHON_BASEVERSION}/site-packages/
-}
-
-pkg_postinst_${PN}-pki () {
-	# can't do this offline
-	if [ "x$D" != "x" ]; then
-		exit 1
-	fi
-	if test ! -d $D/${datadir}/${PN}/pki; then
-		ovs-pki init --dir=$D/${datadir}/${PN}/pki
-	fi
-}
-
-pkg_postinst_${PN}-testcontroller () {
-	# can't do this offline
-	if [ "x$D" != "x" ]; then
-		exit 1
-	fi
-
-	if test ! -d $D/${datadir}/${PN}/pki; then
-		ovs-pki init --dir=$D/${datadir}/${PN}/pki
-	fi
-
-	cd $D/${sysconfdir}/openvswitch-testcontroller
-	if ! test -e cacert.pem; then
-		ln -s $D/${datadir}/${PN}/pki/switchca/cacert.pem cacert.pem
-	fi
-	if ! test -e privkey.pem || ! test -e cert.pem; then
-		oldumask=$(umask)
-		umask 077
-		ovs-pki req+sign --dir=$D/${datadir}/${PN}/pki tmp controller >/dev/null
-		mv tmp-privkey.pem privkey.pem
-		mv tmp-cert.pem cert.pem
-		mv tmp-req.pem req.pem
-		chmod go+r cert.pem req.pem
-		umask $oldumask
-	fi
-}
diff --git a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch_git.bb b/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch_git.bb
deleted file mode 100644
index c3a8301..0000000
--- a/import-layers/meta-virtualization/recipes-networking/openvswitch/openvswitch_git.bb
+++ /dev/null
@@ -1,75 +0,0 @@
-require openvswitch.inc
-
-DEPENDS += "virtual/kernel"
-
-RDEPENDS_${PN}-ptest += "\
-	python3-logging python3-syslog python3-io \
-	python3-fcntl python3-shell python3-xml python3-math \
-	python3-datetime python3-netclient python3 sed \
-	ldd perl-module-socket perl-module-carp perl-module-exporter \
-	perl-module-xsloader python3-netserver python3-threading \
-	python3-resource findutils which \
-	"
-
-S = "${WORKDIR}/git"
-PV = "2.7.3+${SRCREV}"
-
-FILESEXTRAPATHS_append := "${THISDIR}/${PN}-git:"
-
-SRCREV = "b8dcfbebee9e7dbc74ec5eecc9b45d335d6150c1"
-SRC_URI = "file://openvswitch-switch \
-           file://openvswitch-switch-setup \
-           file://openvswitch-testcontroller \
-           file://openvswitch-testcontroller-setup \
-           git://github.com/openvswitch/ovs.git;protocol=git;branch=branch-2.7 \
-           file://openvswitch-add-ptest-${SRCREV}.patch \
-           file://run-ptest \
-           file://disable_m4_check.patch \
-           file://kernel_module.patch \
-           file://python-make-remaining-scripts-use-usr-bin-env.patch \
-           file://0001-use-the-linux-if_packet.h-Interface-directly.patch \
-           file://0002-Define-WAIT_ANY-if-not-provided-by-system.patch \
-           file://python-switch-remaining-scripts-to-use-python3.patch \
-           "
-
-# Temporarily backport patches to better support py3. These have been
-# merged upstream but are not part of v2.7.1.
-SRC_URI += " \
-           file://0001-Python3-compatibility-Convert-print-statements.patch \
-           file://0002-Python3-compatibility-exception-cleanup.patch \
-           file://0003-Python3-compatibility-execfile-to-exec.patch \
-           file://0004-Python3-compatibility-iteritems-to-items.patch \
-           file://0005-Python3-compatibility-fix-integer-problems.patch \
-           file://0006-Python3-compatibility-math-error-compatibility.patch \
-           file://0007-Python3-compatibility-unicode-to-str.patch \
-           file://0008-AUTHORS-Add-Jason-Wessel.patch \
-"
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=17b2c9d4c70853a09c0e143137754b35"
-
-DPDK_INSTALL_DIR ?= "/opt/dpdk"
-
-PACKAGECONFIG ?= "libcap-ng"
-PACKAGECONFIG[dpdk] = "--with-dpdk=${STAGING_DIR_TARGET}${DPDK_INSTALL_DIR}/share/${TARGET_ARCH}-native-linuxapp-gcc,,dpdk,dpdk"
-PACKAGECONFIG[libcap-ng] = "--enable-libcapng,--disable-libcapng,libcap-ng,"
-
-# Don't compile kernel modules by default since it heavily depends on
-# kernel version. Use the in-kernel module for now.
-# distro layers can enable with EXTRA_OECONF_pn_openvswitch += ""
-# EXTRA_OECONF += "--with-linux=${STAGING_KERNEL_BUILDDIR} --with-linux-source=${STAGING_KERNEL_DIR} KARCH=${TARGET_ARCH}"
-
-# silence a warning
-FILES_${PN} += "/lib/modules"
-
-inherit ptest
-
-EXTRA_OEMAKE += "TEST_DEST=${D}${PTEST_PATH} TEST_ROOT=${PTEST_PATH}"
-
-do_install_ptest() {
-	oe_runmake test-install
-}
-
-do_install_append() {
-	oe_runmake modules_install INSTALL_MOD_PATH=${D}
-	rm -r ${D}/${localstatedir}/run
-}