Yocto 2.4

Move OpenBMC to Yocto 2.4(rocko)

Tested: Built and verified Witherspoon and Palmetto images
Change-Id: I12057b18610d6fb0e6903c60213690301e9b0c67
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/files/0001-testmmap-fix-compile-issue-with-gcc-5.x.patch b/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/files/0001-testmmap-fix-compile-issue-with-gcc-5.x.patch
deleted file mode 100644
index ea36b1c..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/files/0001-testmmap-fix-compile-issue-with-gcc-5.x.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Upstream-Status: Pending
-
-From c81bf54d6eb870286662a11d3b4a994717c47696 Mon Sep 17 00:00:00 2001
-From: Armin Kuster <akuster808@gmail.com>
-Date: Tue, 8 Sep 2015 05:36:27 -0700
-Subject: [PATCH] testmmap: fix compile issue with gcc 5.x
-
-this fixes:
-examples/testmmap.c:540:10: error: format '%ld' expects argument of type 'long int', but argument 3 has type 'ssize_t {aka const int}' [-Werror=format=]
-|    printf("ring_ofs[%d] %ld\n", i, nifp->ring_ofs[i]);
-|           ^
-
-Signed-off-by: Armin Kuster <akuster808@gmail.com>
----
- examples/testmmap.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/examples/testmmap.c b/examples/testmmap.c
-index d7f6acc..934489a 100644
---- a/examples/testmmap.c
-+++ b/examples/testmmap.c
-@@ -537,7 +537,7 @@ do_if()
- 	for (i = 0; i < 5; i++)
- 		printf("spare1[%d]  %u\n", i, nifp->ni_spare1[i]);
- 	for (i = 0; i < (nifp->ni_tx_rings + nifp->ni_rx_rings + 2); i++)
--		printf("ring_ofs[%d] %ld\n", i, nifp->ring_ofs[i]);
-+		printf("ring_ofs[%d] %zd\n", i, nifp->ring_ofs[i]);
- }
- 
- struct netmap_ring *
--- 
-2.3.5
-
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/files/makefile_fixup.patch b/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/files/makefile_fixup.patch
deleted file mode 100644
index b050bf0..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/files/makefile_fixup.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-The makefile assumes building locally.
-
-Upstream Status: Inappropriate [Native]
-
-The configure is not auto-make based
-
-Signed-of-by: Armin Kuster <akuster@mvista.com>
-
-Index: LINUX/netmap.mak.in
-===================================================================
---- a/LINUX/netmap.mak.in
-+++ b/LINUX/netmap.mak.in
-@@ -12,10 +12,9 @@ SRCDIR:=@SRCDIR@
- # The following commands are needed to build the modules as out-of-tree,
- # in fact the kernel sources path must be specified.
- 
--PWD ?= $(CURDIR)
- 
- # Additional compile flags (e.g. header location)
--EXTRA_CFLAGS := -I$(PWD) -I$(SRCDIR) -I$(SRCDIR)/../sys -I$(SRCDIR)/../sys/dev -DCONFIG_NETMAP
-+EXTRA_CFLAGS := -I$(SRCDIR) -I$(SRCDIR)/../sys -I$(SRCDIR)/../sys/dev -DCONFIG_NETMAP
- EXTRA_CFLAGS += -Wno-unused-but-set-variable
- EXTRA_CFLAGS += $(foreach s,$(SUBSYS),-DCONFIG_NETMAP_$(shell echo $s|tr a-z- A-Z_))
- 
-Index: LINUX/configure
-===================================================================
---- a/LINUX/configure
-+++ b/LINUX/configure
-@@ -349,52 +349,6 @@ reset_tests() {
- 	EOF
- }
- 
--# run_tests: run all accumulated tests and exec the pertinent
--#   success/failure actions for each one.
--run_tests() {
--	local t= 	# prevent -EOF to eat the make TAB
--	cat > $TMPDIR/Makefile <<-EOF
--		ifneq (\$(KERNELRELEASE),)
--		obj-m := $TESTOBJS
--		else
--		S_DRIVERS := $(drv print)
--		all: \$(S_DRIVERS:%=get-%)
--		$t	\$(MAKE) -C $ksrc M=\$\$PWD $kopts
--
--		-include $TOPDIR/drivers.mak
--	EOF
--	for d in $(drv print); do
--		cat >> $TMPDIR/Makefile <<-EOF
--			get-$d:
--			$t	[ -z "\$($d-src)" ] || cp -Rp \$($d-src) \$(if \$($d-dst),\$($d-dst),.)
--			$t	touch get-$d
--		EOF
--	done
--	echo endif >> $TMPDIR/Makefile
--	{
--		cat <<-EOF
--##############################################################################
--## BEGIN RUNNING TESTS: $(date)
--##############################################################################
--## Makefile:
--		EOF
--		cat $TMPDIR/Makefile
--		cat <<-EOF
--##############################################################################
--		EOF
--	} >> config.log
--	(
--		cd $TMPDIR
--		make -k -j $(grep -c processor /proc/cpuinfo)
--	) >> config.log
--	eval "$TESTPOSTPROC"
--	cat >> config.log <<-EOF
--##############################################################################
--## END RUNNING TESTS: $(date)
--##############################################################################
--	EOF
--}
--
- configh=netmap_linux_config.h
- # succes/failure actions are expected to write some macros
- # in netma_linux_config.h. The following functions can be
-@@ -619,7 +573,6 @@ configuration. Please check 'config.log'
- reset_tests
- rm -f drivers.mak
- add_test true broken_buildsystem < /dev/null
--run_tests
- 
- drvname2config() {
- 	local name=$1
-@@ -1280,7 +1233,6 @@ cat > $configh <<-EOF
- EOF
- 
- # the TESTPOSTPROC script will add macros to $configh
--run_tests
- 
- define DRIVER_SUFFIX \"$drvsuffix\"
- 
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap-modules_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap-modules_git.bb
deleted file mode 100644
index 192ece0..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap-modules_git.bb
+++ /dev/null
@@ -1,92 +0,0 @@
-require netmap.inc
-
-DEPENDS = "virtual/kernel"
-do_configure[depends] += "virtual/kernel:do_shared_workdir"
-
-inherit module
-
-CLEANBROKEN = "1"
-
-export INSTALL_MOD_DIR="kernel/netmap-modules"
-
-EXTRA_OECONF = "--kernel-dir=${STAGING_KERNEL_BUILDDIR} \
-                --kernel-sources=${STAGING_KERNEL_DIR} \
-                --install-mod-path=${D} \
-                --driver-suffix="-netmap" \
-                "
-
-# The driver builds are optional, but for deterministic builds,
-# we should be able to explicitly enable/disable the builds
-# for them in a proper place (maybe in BSP).
-# But we can't use PACKAGECONFIG since there is no option for
-# each driver, and the options are:
-#  --no-drivers    do not compile any driver
-#  --no-drivers=   do not compile the given drivers (comma sep.)
-#  --drivers=      only compile the given drivers (comma sep.)
-#
-# So use NETMAP_DRIVERS and the following python code to add proper
-# configs to EXTRA_OECONF.
-#
-# The default is no-drivers, and all supported drivers are listed
-# in NETMAP_ALL_DRIVERS.
-NETMAP_DRIVERS ??= ""
-NETMAP_ALL_DRIVERS = "ixgbe igb e1000e e1000 veth.c forcedeth.c virtio_net.c r8169.c"
-
-python __anonymous () {
-    drivers_list = d.getVar("NETMAP_DRIVERS").split()
-    all_drivers_list = d.getVar("NETMAP_ALL_DRIVERS").split()
-    config_drivers = "--drivers=" + ",".join(drivers_list)
-
-    extra_oeconf_drivers = bb.utils.contains_any('NETMAP_DRIVERS', all_drivers_list, config_drivers, '--no-drivers', d)
-    d.appendVar("EXTRA_OECONF", extra_oeconf_drivers)
-}
-
-LDFLAGS := "${@'${LDFLAGS}'.replace('-Wl,-O1', '')}"
-LDFLAGS := "${@'${LDFLAGS}'.replace('-Wl,--as-needed', '')}"
-
-do_configure () {
-    cd ${S}/LINUX
-    ./configure ${EXTRA_OECONF}
-}
-
-do_configure_append () {
-    cat >>  ${S}/LINUX/netmap_linux_config.h <<EOF
-#define NETMAP_LINUX_HAVE_HRTIMER_MODE_REL
-#define NETMAP_LINUX_HAVE_HRTIMER_FORWARD_NOW
-#define NETMAP_LINUX_HAVE_PHYS_ADDR_T
-#define NETMAP_LINUX_HAVE_ACCESS_ONCE
-#define NETMAP_LINUX_HAVE_NETDEV_OPS
-#define NETMAP_LINUX_HAVE_INIT_NET
-#define NETMAP_LINUX_HAVE_LIVE_ADDR_CHANGE
-#define NETMAP_LINUX_HAVE_TX_SKB_SHARING
-#define NETMAP_LINUX_HAVE_UNLOCKED_IOCTL
-#define NETMAP_LINUX_HAVE_PERNET_OPS_ID
-#define NETMAP_LINUX_VIRTIO_FUNCTIONS
-#define NETMAP_LINUX_VIRTIO_FREE_PAGES
-#define NETMAP_LINUX_VIRTIO_GET_VRSIZE
-#define NETMAP_LINUX_TIMER_RTYPE enum hrtimer_restart
-#define NETMAP_LINUX_VIRTIO_MULTI_QUEUE
-#define NETMAP_LINUX_HAVE_E1000E_EXT_RXDESC
-#define NETMAP_LINUX_HAVE_E1000E_DOWN2
-EOF
-
-if ${@ 'false' if (bb.utils.vercmp_string(d.getVar('KERNEL_VERSION') or "0", '3.17') < 0) else 'true' } ; then
-    echo OK
-    cat >>  ${S}/LINUX/netmap_linux_config.h <<EOF
-#define NETMAP_LINUX_ALLOC_NETDEV_4ARGS
-EOF
-fi
-}
-
-do_compile () {
-    cd ${S}/LINUX
-    oe_runmake
-}
-
-do_install () {
-    cd ${S}/LINUX
-    oe_runmake install
-}
-
-# http://errors.yoctoproject.org/Errors/Details/83335/
-PNBLACKLIST[netmap-modules] ?= "BROKEN: not compatible with default kernel version 4.8 - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap.inc b/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap.inc
deleted file mode 100644
index ab33e76..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-SUMMARY = "netmap and VALE - very fast packet I/O from userspace (FreeBSD/Linux)"
-DESCRIPTION= "NETMAP is a framework for very fast packet I/O from userspace.  VALE is an equally fast in-kernel software switch using the netmap API.  Both are implemented as a single kernel module for FreeBSD and Linux, and can deal with line rate on real or emulated 10 Gbit ports."
-SECTION = "networking"
-HOMEPAGE = "http://code.google.com/p/netmap/"
-LICENSE = "GPLv2+"
-
-LIC_FILES_CHKSUM = "file://README;beginline=13;endline=14;md5=56ae0b9c7ba0476ab9098de94c2714d6"
-
-SRCREV = "da9e19e69b84e4f6f8ae125f8d01b42a4abade6a"
-PV = "master+git${SRCPV}"
-
-SRC_URI = "git://github.com/luigirizzo/netmap.git"
-SRC_URI += "file://makefile_fixup.patch"
-
-S = "${WORKDIR}/git"
-
-COMPATIBLE_HOST = '(x86_64|i.86|mips|arm).*-linux'
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap_git.bb b/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap_git.bb
deleted file mode 100644
index 2d8509c..0000000
--- a/import-layers/meta-openembedded/meta-networking/recipes-kernel/netmap/netmap_git.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-require netmap.inc
-
-DEPENDS = "netmap-modules"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-EXTRA_OECONF = "--kernel-dir=${STAGING_KERNEL_BUILDDIR} \
-                --kernel-sources=${STAGING_KERNEL_DIR} \
-                --no-drivers \
-                --disable-generic \
-                --prefix=${prefix} \
-                --destdir=${D} \
-                --cc='${CC}' \
-                --ld='${LD}' \
-                "
-SRC_URI += "file://0001-testmmap-fix-compile-issue-with-gcc-5.x.patch"
-
-do_configure () {
-    cd ${S}/LINUX
-    ./configure ${EXTRA_OECONF}
-}
-
-do_compile () {
-    cd ${S}/LINUX
-    make apps
-}
-
-do_install () {
-    cd ${S}/LINUX
-    make install-apps DESTDIR=${D}
-}
-
-FILES_${PN} += "${bindir}"
-RDEPENDS_${PN} = "kernel-module-netmap"
-RRECOMMENDS_${PN} = "kernel-module-netmap"
-
-# http://errors.yoctoproject.org/Errors/Details/69733/
-PNBLACKLIST[netmap] ?= "BROKEN: Tries to build kernel module and fails, either it should be disabled or there should be dependency on kernel like in netmap-modules - the recipe will be removed on 2017-09-01 unless the issue is fixed"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170421.bb b/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170810.bb
similarity index 100%
rename from import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170421.bb
rename to import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-module_0.0.20170810.bb
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170421.bb b/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170810.bb
similarity index 92%
rename from import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170421.bb
rename to import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170810.bb
index 79d420f..c4ddbcb 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170421.bb
+++ b/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard-tools_0.0.20170810.bb
@@ -24,4 +24,4 @@
     ${bindir} \
 "
 
-RDEPENDS_${PN} = "wireguard-module"
+RDEPENDS_${PN} = "wireguard-module bash"
diff --git a/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc b/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc
index 46a9971..f37d52b 100644
--- a/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc
+++ b/import-layers/meta-openembedded/meta-networking/recipes-kernel/wireguard/wireguard.inc
@@ -11,8 +11,7 @@
 LIC_FILES_CHKSUM = "file://../COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 
 SRC_URI = "https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${PV}.tar.xz"
-
-SRC_URI[md5sum] = "8e559f4fd672b15c38a15eb4d88cc84d"
-SRC_URI[sha256sum] = "03c82af774224cd171d000ee4a519b5e474cc6842ac04967773cf77b26750000"
+SRC_URI[md5sum] = "8dd3e080407b8295c25565a847a4ca27"
+SRC_URI[sha256sum] = "ab96230390625aad6f4816fa23aef6e9f7fee130f083d838919129ff12089bf7"
 
 S = "${WORKDIR}/WireGuard-${PV}/src/"