meta-openembedded and poky: subtree updates

Squash of the following due to dependencies among them
and OpenBMC changes:

meta-openembedded: subtree update:d0748372d2..9201611135
meta-openembedded: subtree update:9201611135..17fd382f34
poky: subtree update:9052e5b32a..2e11d97b6c
poky: subtree update:2e11d97b6c..a8544811d7

The change log was too large for the jenkins plugin
to handle therefore it has been removed. Here is
the first and last commit of each subtree:

meta-openembedded:d0748372d2
      cppzmq: bump to version 4.6.0
meta-openembedded:17fd382f34
      mpv: Remove X11 dependency
poky:9052e5b32a
      package_ipk: Remove pointless comment to trigger rebuild
poky:a8544811d7
      pbzip2: Fix license warning

Change-Id: If0fc6c37629642ee207a4ca2f7aa501a2c673cd6
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
diff --git a/poky/meta/recipes-core/ifupdown/files/0001-Makefile-do-not-use-dpkg-for-determining-OS-type.patch b/poky/meta/recipes-core/ifupdown/files/0001-Makefile-do-not-use-dpkg-for-determining-OS-type.patch
new file mode 100644
index 0000000..57c8d04
--- /dev/null
+++ b/poky/meta/recipes-core/ifupdown/files/0001-Makefile-do-not-use-dpkg-for-determining-OS-type.patch
@@ -0,0 +1,23 @@
+From 7ace0656bd325f9e7749f2cde641eddc057bc98a Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Thu, 9 Jan 2020 15:38:06 +0100
+Subject: [PATCH] Makefile: do not use dpkg for determining OS type
+
+Upstream-Status: Inappropriate [oe-core specific]
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 0ce2fa3..739aef2 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,6 +1,6 @@
+ VERSION ?= 0.8
+ CFLAGS ?= -Wall -W -Wno-unused-parameter -g -O2
+-ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
++ARCH := linux
+ 
+ BASEDIR ?= $(DESTDIR)
+ 
diff --git a/poky/meta/recipes-core/ifupdown/files/inet-6-.defn-fix-inverted-checks-for-loopback.patch b/poky/meta/recipes-core/ifupdown/files/inet-6-.defn-fix-inverted-checks-for-loopback.patch
deleted file mode 100644
index 5b0d51d..0000000
--- a/poky/meta/recipes-core/ifupdown/files/inet-6-.defn-fix-inverted-checks-for-loopback.patch
+++ /dev/null
@@ -1,403 +0,0 @@
-From 6fce99c9e42cbacde1855473b745ca1fded3fbf7 Mon Sep 17 00:00:00 2001
-From: "Maxin B. John" <maxin.john@intel.com>
-Date: Wed, 21 Dec 2016 15:32:07 +0200
-Subject: [PATCH 2/2] inet[6].defn: fix inverted checks for loopback
-
-Compared to the hurd link.defn for loopback, we see these
-are inverted, meaning that you would only be able to configure
-a loopback device that was _not_ named "lo" (unlikely to exist).
-
-The result was that we'd update /run/network/ifstate for "lo"
-but never actually do anything for up/down, as shown below:
-
-root@localhost:~# ifconfig -s
-Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR  TX-OK TX-ERR TX-DRP TX-OVR Flg
-eth0       1500 0   7736329      0   2016 0 5289422      0      0      0 BMRU
-lo        65536 0        18      0      0 0      18      0      0      0 LRU
-root@localhost:~# ifdown lo
-root@localhost:~# echo $?
-0
-root@localhost:~# ifconfig -s
-Iface   MTU Met   RX-OK RX-ERR RX-DRP  RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
-eth0       1500 0   7736406      0  2016 0   5289455      0      0      0 BMRU
-lo        65536 0        18      0   0 0            18    0    0    0     LRU
-root@localhost:~# ifconfig lo down
-root@localhost:~# ifconfig -s
-Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
-eth0       1500 0   7736474 0   2016 0       5289481      0     0      0 BMRU
-root@localhost:~#
-
-Also reverted the commit:
-commit 80b878497663dae08f70b4d3cffe127b57a3cfc
-which uses absolute paths to binaries called by ifup/ifdown.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- inet.defn | 134 +++++++++++++++++++++++++++---------------------------
- 1 file changed, 67 insertions(+), 67 deletions(-)
-
-diff --git a/inet.defn b/inet.defn
-index 182b56b..31067bc 100644
---- a/inet.defn
-+++ b/inet.defn
-@@ -6,10 +6,10 @@ method loopback
-     This method may be used to define the IPv4 loopback interface.
- 
-   up
--    /bin/ip link set dev %iface% up if (!iface_is_lo())
-+    ip link set dev %iface% up if (!iface_is_lo())
- 
-   down
--    /bin/ip link set dev %iface% down if (!iface_is_lo())
-+    ip link set dev %iface% down if (!iface_is_lo())
- 
- method static
-   description
-@@ -36,17 +36,17 @@ method static
-     broadcast compute_v4_broadcast
- 
-   up
--    /bin/ip addr add %address%[[/%netmask%]] [[broadcast %broadcast%]] \
-+    ip addr add %address%[[/%netmask%]] [[broadcast %broadcast%]] \
- 	[[peer %pointopoint%]] [[scope %scope%]] dev %iface% label %iface%
--    /bin/ip link set dev %iface% [[mtu %mtu%]] [[address %hwaddress%]] up
-+    ip link set dev %iface% [[mtu %mtu%]] [[address %hwaddress%]] up
- 
--    [[ /bin/ip route add default via %gateway% [[metric %metric%]] dev %iface% onlink ]]
-+    [[ ip route add default via %gateway% [[metric %metric%]] dev %iface% onlink ]]
- 
-   down
--    [[ /bin/ip route del default via %gateway% [[metric %metric%]] dev %iface% 2>&1 1>/dev/null || true ]]
--    /bin/ip addr del %address%[[/%netmask%]] [[broadcast %broadcast%]] \
-+    [[ ip route del default via %gateway% [[metric %metric%]] dev %iface% 2>&1 1>/dev/null || true ]]
-+    ip addr del %address%[[/%netmask%]] [[broadcast %broadcast%]] \
- 	[[peer %pointopoint%]] [[scope %scope%]] dev %iface% label %iface%
--    /bin/ip link set dev %iface% down \
-+    ip link set dev %iface% down \
- 		if (iface_is_link())
- 
- method manual
-@@ -63,12 +63,12 @@ method manual
-     hwaddress cleanup_hwaddress
- 
-   up
--    [[/bin/ip link set dev %iface% mtu %mtu%]]
--    [[/bin/ip link set dev %iface% address %hwaddress%]]
--    /bin/ip link set dev %iface% up 2>/dev/null || true
-+    [[ip link set dev %iface% mtu %mtu%]]
-+    [[ip link set dev %iface% address %hwaddress%]]
-+    ip link set dev %iface% up 2>/dev/null || true
- 
-   down
--    /bin/ip link set dev %iface% down 2>/dev/null || true \
-+    ip link set dev %iface% down 2>/dev/null || true \
-         if (iface_is_link() && !do_all)
- 
- method dhcp
-@@ -93,33 +93,33 @@ method dhcp
-     hwaddress cleanup_hwaddress
- 
-   up
--    [[/bin/ip link set dev %iface% address %hwaddress%]]
--    /sbin/dhclient -4 -v -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
-+    [[ip link set dev %iface% address %hwaddress%]]
-+    dhclient -4 -v -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
- 	[[-e IF_METRIC=%metric%]] \
-         if (execable("/sbin/dhclient"))
--    /sbin/pump -i %iface% [[-h %hostname%]] [[-l %leasehours%]] \
-+    pump -i %iface% [[-h %hostname%]] [[-l %leasehours%]] \
-         elsif (execable("/sbin/pump"))
--    /sbin/udhcpc -n -p /run/udhcpc.%iface%.pid -i %iface% [[-x hostname:%hostname%]] \
-+    udhcpc -n -p /run/udhcpc.%iface%.pid -i %iface% [[-x hostname:%hostname%]] \
-         elsif (execable("/sbin/udhcpc"))
--    /sbin/dhcpcd [[-h %hostname%]] [[-i %vendor%]] [[-I %client%]] \
-+    dhcpcd [[-h %hostname%]] [[-i %vendor%]] [[-I %client%]] \
-            [[-l %leasetime%]] [[-m %metric%]] %iface% \
-         elsif (execable("/sbin/dhcpcd"))
-     echo 'No DHCP client software found!' >/dev/stderr; false \
-         elsif (1)
- 
-   down
--    /sbin/dhclient -4 -v -r -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
-+    dhclient -4 -v -r -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
-         if (execable("/sbin/dhclient"))
--    /sbin/pump -i %iface% -r \
-+    pump -i %iface% -r \
-         elsif (execable("/sbin/pump"))
-     if test -f /run/udhcpc.%iface%.pid; then kill -USR2 $(/bin/cat /run/udhcpc.%iface%.pid); kill -TERM $(/bin/cat /run/udhcpc.%iface%.pid); fi \
-         elsif (execable("/sbin/udhcpc"))
--    /sbin/dhcpcd -k %iface% \
-+    dhcpcd -k %iface% \
-         elsif (execable("/sbin/dhcpcd"))
-     echo 'No DHCP client software found!' >/dev/stderr; false \
-         elsif (1)
- 
--    /bin/ip link set dev %iface% down \
-+    ip link set dev %iface% down \
- 		if (iface_is_link())
- 
- method bootp
-@@ -134,11 +134,11 @@ method bootp
-                       whatever it really is.
- 
-   up
--    /sbin/bootpc [[--bootfile %bootfile%]] --dev %iface% [[--server %server%]] \
-+    bootpc [[--bootfile %bootfile%]] --dev %iface% [[--server %server%]] \
-            [[--hwaddr %hwaddr%]] --returniffail --serverbcast
- 
-   down
--    /bin/ip link set dev %iface% down \
-+    ip link set dev %iface% down \
-         if (iface_is_link())
- 
- method tunnel
-@@ -158,13 +158,13 @@ method tunnel
-     ttl time              -- TTL setting
-     mtu size              -- MTU size
-   up
--    /bin/ip tunnel add %iface% mode %mode% remote %endpoint% [[local %local%]] \
-+    ip tunnel add %iface% mode %mode% remote %endpoint% [[local %local%]] \
-        [[ttl %ttl%]]
--    /bin/ip link set %iface% up [[mtu %mtu%]]
--    /bin/ip addr add %address%/%netmask% dev %iface% [[peer %dstaddr%]]
--    [[ /bin/ip route add default via %gateway% [[metric %metric%]] dev %iface% onlink ]]
-+    ip link set %iface% up [[mtu %mtu%]]
-+    ip addr add %address%/%netmask% dev %iface% [[peer %dstaddr%]]
-+    [[ ip route add default via %gateway% [[metric %metric%]] dev %iface% onlink ]]
-   down
--    /bin/ip tunnel del %iface%
-+    ip tunnel del %iface%
- 
- method ppp
-   description
-@@ -175,9 +175,9 @@ method ppp
-     unit number    -- Use /number/ as the ppp unit number.
-     options string -- Pass /string/ as additional options to pon.
-   up
--    /usr/bin/pon [[%provider%]] [[unit %unit%]] [[%options%]]
-+    pon [[%provider%]] [[unit %unit%]] [[%options%]]
-   down
--    /usr/bin/poff [[%provider%]]
-+    poff [[%provider%]]
- 
- method wvdial
-   description
-@@ -186,10 +186,10 @@ method wvdial
-   options
-     provider name  -- Use /name/ as the provider (from /etc/wvdial.conf).
-   up
--    /sbin/start-stop-daemon --start -x /usr/bin/wvdial \
-+    start-stop-daemon --start -x /usr/bin/wvdial \
-                       -p /run/wvdial.%iface%.pid -b -m -- [[ %provider% ]]
-   down
--    /sbin/start-stop-daemon --stop -x /usr/bin/wvdial \
-+    start-stop-daemon --stop -x /usr/bin/wvdial \
-                       -p /run/wvdial.%iface%.pid -s 2
- 
- 
-@@ -200,9 +200,9 @@ method ipv4ll
-     known as APIPA or IPAC, and often colloquially referred to
-     as "Zeroconf address".
-   up
--    /usr/sbin/avahi-autoipd -D %iface%
-+    avahi-autoipd -D %iface%
-   down
--    /usr/sbin/avahi-autoipd --kill %iface%
-+    avahi-autoipd --kill %iface%
- 
- architecture kfreebsd
- 
-@@ -211,11 +211,11 @@ method loopback
-     This method may be used to define the IPv4 loopback interface.
- 
-   up
--    /sbin/ifconfig %iface% 127.0.0.1 up \
-+    ifconfig %iface% 127.0.0.1 up \
- 	if (!iface_is_lo())
- 
-   down
--    /sbin/ifconfig %iface% down \
-+    ifconfig %iface% down \
- 	if (!iface_is_lo())
- 
- method static
-@@ -238,15 +238,15 @@ method static
-     hwaddress cleanup_hwaddress
- 
-   up
--    [[ /sbin/ifconfig %iface% link %hwaddress%]]
--    /sbin/ifconfig %iface% %address% [[netmask %netmask%]] [[broadcast %broadcast%]] \
-+    [[ ifconfig %iface% link %hwaddress%]]
-+    ifconfig %iface% %address% [[netmask %netmask%]] [[broadcast %broadcast%]] \
- 	[[pointopoint %pointopoint%]] [[media %media%]] [[mtu %mtu%]] \
- 	up
--    [[ /sbin/route add default %gateway% ]]
-+    [[ route add default %gateway% ]]
- 
-   down
--    [[ /sbin/route del default %gateway% 2>&1 1>/dev/null || true ]]
--    /sbin/ifconfig %iface% down
-+    [[ route del default %gateway% 2>&1 1>/dev/null || true ]]
-+    ifconfig %iface% down
- 
- method manual
-   description
-@@ -279,30 +279,30 @@ method dhcp
-     hwaddress cleanup_hwaddress
- 
-   up
--    [[/sbin/ifconfig %iface% link %hwaddress%]]
--    /sbin/dhclient -4 -v -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
-+    [[ifconfig %iface% link %hwaddress%]]
-+    dhclient -4 -v -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
- 	[[-e IF_METRIC=%metric%]] \
-         if (execable("/sbin/dhclient"))
--    /sbin/udhcpc -n -p /run/udhcpc.%iface%.pid -i %iface% [[-H %hostname%]] \
-+    udhcpc -n -p /run/udhcpc.%iface%.pid -i %iface% [[-H %hostname%]] \
-            [[-c %client%]] \
-         elsif (execable("/sbin/udhcpc"))
--    /sbin/dhcpcd [[-h %hostname%]] [[-i %vendor%]] [[-I %client%]] \
-+    dhcpcd [[-h %hostname%]] [[-i %vendor%]] [[-I %client%]] \
-            [[-l %leasetime%]] %iface% \
-         elsif (execable("/sbin/dhcpcd"))
-     echo 'No DHCP client software found!' >/dev/stderr; false \
-         elsif (1)
- 
-   down
--    /sbin/dhclient -4 -v -r -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
-+    dhclient -4 -v -r -pf /run/dhclient.%iface%.pid -lf /var/lib/dhcp/dhclient.%iface%.leases -I -df /var/lib/dhcp/dhclient6.%iface%.leases %iface% \
-         if (execable("/sbin/dhclient"))
-     if test -f /run/udhcpc.%iface%.pid; then kill -USR2 $(/bin/cat /run/udhcpc.%iface%.pid); kill -TERM $(/bin/cat /run/udhcpc.%iface%.pid); fi \
-         elsif (execable("/sbin/udhcpc"))
--    /sbin/dhcpcd -k %iface% \
-+    dhcpcd -k %iface% \
-         elsif (execable("/sbin/dhcpcd"))
-     echo 'No DHCP client software found!' >/dev/stderr; false \
-         elsif (1)
- 
--    /sbin/ifconfig %iface% down
-+    ifconfig %iface% down
- 
- method bootp
-   description
-@@ -316,11 +316,11 @@ method bootp
-                       whatever it really is.
- 
-   up
--    /sbin/bootpc [[--bootfile %bootfile%]] --dev %iface% [[--server %server%]] \
-+    bootpc [[--bootfile %bootfile%]] --dev %iface% [[--server %server%]] \
-            [[--hwaddr %hwaddr%]] --returniffail --serverbcast
- 
-   down
--    /sbin/ifconfig %iface% down
-+    ifconfig %iface% down
- 
- method ppp
-   description
-@@ -331,9 +331,9 @@ method ppp
-     unit number    -- Use /number/ as the ppp unit number.
-     options string -- Pass /string/ as additional options to pon.
-   up
--    /usr/bin/pon [[%provider%]] [[unit %unit%]] [[%options%]]
-+    pon [[%provider%]] [[unit %unit%]] [[%options%]]
-   down
--    /usr/bin/poff [[%provider%]]
-+    poff [[%provider%]]
- 
- method wvdial
-   description
-@@ -342,10 +342,10 @@ method wvdial
-   options
-     provider name  -- Use /name/ as the provider (from /etc/wvdial.conf).
-   up
--    /sbin/start-stop-daemon --start -x /usr/bin/wvdial \
-+    start-stop-daemon --start -x /usr/bin/wvdial \
-                       -p /run/wvdial.%iface%.pid -b -m -- [[ %provider% ]]
-   down
--    /sbin/start-stop-daemon --stop -x /usr/bin/wvdial \
-+    start-stop-daemon --stop -x /usr/bin/wvdial \
-                       -p /run/wvdial.%iface%.pid -s 2
- 
- 
-@@ -356,9 +356,9 @@ method ipv4ll
-     known as APIPA or IPAC, and often colloquially referred to
-     as "Zeroconf address".
-   up
--    /usr/sbin/avahi-autoipd -D %iface%
-+    avahi-autoipd -D %iface%
-   down
--    /usr/sbin/avahi-autoipd --kill %iface%
-+    avahi-autoipd --kill %iface%
- architecture hurd
- 
- method loopback
-@@ -432,23 +432,23 @@ method dhcp
- 
-   up
-     [[Warning: Option hwaddress: %hwaddress% not yet supported]]
--    /sbin/dhclient -4 -v -pf /run/dhclient.%iface///.%.pid -lf /var/lib/dhcp/dhclient.%iface///.%.leases -I -df /var/lib/dhcp/dhclient6.%iface///.%.leases %iface% \
-+    dhclient -4 -v -pf /run/dhclient.%iface///.%.pid -lf /var/lib/dhcp/dhclient.%iface///.%.leases -I -df /var/lib/dhcp/dhclient6.%iface///.%.leases %iface% \
-         if (execable("/sbin/dhclient"))
--    /sbin/udhcpc -n -p /run/udhcpc.%iface///.%.pid -i %iface% [[-H %hostname%]] \
-+    udhcpc -n -p /run/udhcpc.%iface///.%.pid -i %iface% [[-H %hostname%]] \
-            [[-c %client%]] \
-         elsif (execable("/sbin/udhcpc"))
--    /sbin/dhcpcd [[-h %hostname%]] [[-i %vendor%]] [[-I %client%]] \
-+    dhcpcd [[-h %hostname%]] [[-i %vendor%]] [[-I %client%]] \
-            [[-l %leasetime%]] %iface% \
-         elsif (execable("/sbin/dhcpcd"))
-     echo 'No DHCP client software found!' >/dev/stderr; false \
-         elsif (1)
- 
-   down
--    /sbin/dhclient -4 -v -r -pf /run/dhclient.%iface///.%.pid -lf /var/lib/dhcp/dhclient.%iface///.%.leases -I -df /var/lib/dhcp/dhclient6.%iface///.%.leases %iface% \
-+    dhclient -4 -v -r -pf /run/dhclient.%iface///.%.pid -lf /var/lib/dhcp/dhclient.%iface///.%.leases -I -df /var/lib/dhcp/dhclient6.%iface///.%.leases %iface% \
-         if (execable("/sbin/dhclient"))
-     if test -f /run/udhcpc.%iface///.%.pid; then kill -USR2 $(/bin/cat /run/udhcpc.%iface///.%.pid); kill -TERM $(/bin/cat /run/udhcpc.%iface///.%.pid); fi \
-         elsif (execable("/sbin/udhcpc"))
--    /sbin/dhcpcd -k %iface% \
-+    dhcpcd -k %iface% \
-         elsif (execable("/sbin/dhcpcd"))
-     echo 'No DHCP client software found!' >/dev/stderr; false \
-         elsif (1)
-@@ -482,9 +482,9 @@ method ppp
-     unit number    -- Use /number/ as the ppp unit number.
-     options string -- Pass /string/ as additional options to pon.
-   up
--    /usr/bin/pon [[%provider%]] [[unit %unit%]] [[%options%]]
-+    pon [[%provider%]] [[unit %unit%]] [[%options%]]
-   down
--    /usr/bin/poff [[%provider%]]
-+    poff [[%provider%]]
- 
- method wvdial
-   description
-@@ -493,10 +493,10 @@ method wvdial
-   options
-     provider name  -- Use /name/ as the provider (from /etc/wvdial.conf).
-   up
--    /sbin/start-stop-daemon --start -x /usr/bin/wvdial \
-+    start-stop-daemon --start -x /usr/bin/wvdial \
-                       -p /run/wvdial.%iface///.%.pid -b -m -- [[ %provider% ]]
-   down
--    /sbin/start-stop-daemon --stop -x /usr/bin/wvdial \
-+    start-stop-daemon --stop -x /usr/bin/wvdial \
-                       -p /run/wvdial.%iface///.%.pid -s 2
- 
- 
-@@ -507,6 +507,6 @@ method ipv4ll
-     known as APIPA or IPAC, and often colloquially referred to
-     as "Zeroconf address".
-   up
--    /usr/sbin/avahi-autoipd -D %iface%
-+    avahi-autoipd -D %iface%
-   down
--    /usr/sbin/avahi-autoipd --kill %iface%
-+    avahi-autoipd --kill %iface%
--- 
-2.17.1
-
diff --git a/poky/meta/recipes-core/ifupdown/files/run-ptest b/poky/meta/recipes-core/ifupdown/files/run-ptest
new file mode 100644
index 0000000..8694042
--- /dev/null
+++ b/poky/meta/recipes-core/ifupdown/files/run-ptest
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+CURDIR=$(dirname `readlink -f $0`)
+cd $CURDIR/tests && ./testbuild-linux
diff --git a/poky/meta/recipes-core/ifupdown/files/tweak-ptest-script.patch b/poky/meta/recipes-core/ifupdown/files/tweak-ptest-script.patch
new file mode 100644
index 0000000..d7600cf
--- /dev/null
+++ b/poky/meta/recipes-core/ifupdown/files/tweak-ptest-script.patch
@@ -0,0 +1,49 @@
+Tweak tests of ifupdown to make it work with oe-core ptest framework.
+
+Upstream-Status: Inappropriate [oe-core specific]
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+diff --git a/tests/testbuild-linux b/tests/testbuild-linux
+index 1181ea0..d5c1814 100755
+--- a/tests/testbuild-linux
++++ b/tests/testbuild-linux
+@@ -1,6 +1,7 @@
+ #!/bin/sh -e
+ 
+-dir=tests/linux
++curdir=$(dirname `readlink -f $0`)
++dir=$curdir/linux
+ 
+ result=true
+ for test in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do
+@@ -12,7 +13,7 @@ for test in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do
+         echo "Testcase $test: $args"
+ 
+ 	exitcode=0
+-        ./ifup -v --no-act-commands --force -i $dir/testcase.$test --state-dir=$dir/state.$test $args \
++        ifup -v --no-act-commands --force -i $dir/testcase.$test --state-dir=$dir/state.$test $args \
+                 >$dir/up-res-out.$test 2>$dir/up-res-err.$test || exitcode=$?
+ 
+         (echo "exit code: $exitcode";
+@@ -20,7 +21,7 @@ for test in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do
+          echo "====stderr===="; cat $dir/up-res-err.$test) > $dir/up-res.$test
+ 
+ 	exitcode=0
+-        ./ifdown -v --no-act-commands --force -i $dir/testcase.$test --state-dir=$dir/state.$test $args \
++        ifdown -v --no-act-commands --force -i $dir/testcase.$test --state-dir=$dir/state.$test $args \
+                >$dir/down-res-out.$test 2>$dir/down-res-err.$test || exitcode=$?
+ 
+         (echo "exit code: $exitcode";
+@@ -28,9 +29,9 @@ for test in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do
+          echo "====stderr===="; cat $dir/down-res-err.$test) > $dir/down-res.$test
+ 
+         if diff -ub $dir/up.$test $dir/up-res.$test && diff -ub $dir/down.$test $dir/down-res.$test; then
+-                echo "(okay)"
++                echo "PASS: $test"
+         else
+-                echo "(failed)"
++                echo "FAIL: $test"
+                 result=false
+         fi
+         echo "=========="
diff --git a/poky/meta/recipes-core/ifupdown/ifupdown_0.8.22.bb b/poky/meta/recipes-core/ifupdown/ifupdown_0.8.35.bb
similarity index 66%
rename from poky/meta/recipes-core/ifupdown/ifupdown_0.8.22.bb
rename to poky/meta/recipes-core/ifupdown/ifupdown_0.8.35.bb
index bd0989e..53cb971 100644
--- a/poky/meta/recipes-core/ifupdown/ifupdown_0.8.22.bb
+++ b/poky/meta/recipes-core/ifupdown/ifupdown_0.8.35.bb
@@ -7,17 +7,19 @@
 LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
 
 SRC_URI = "git://salsa.debian.org/debian/ifupdown.git;protocol=https \
-	   file://defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch \
-	   file://inet-6-.defn-fix-inverted-checks-for-loopback.patch \
-	   file://99_network \
-	   file://0001-Define-FNM_EXTMATCH-for-musl.patch \
-	  "
-SRCREV = "ab5a0f464e53e172316a5ca8b5dcdc49e8848999"
+           file://defn2-c-man-don-t-rely-on-dpkg-architecture-to-set-a.patch \
+           file://99_network \
+           file://0001-Define-FNM_EXTMATCH-for-musl.patch \
+           file://0001-Makefile-do-not-use-dpkg-for-determining-OS-type.patch \
+           file://run-ptest \
+           ${@bb.utils.contains('DISTRO_FEATURES', 'ptest', 'file://tweak-ptest-script.patch', '', d)} \
+           "
+SRCREV = "4af76318cfc57f8e4a44d357104188666213bd4b"
 
 S = "${WORKDIR}/git"
 
 
-inherit update-alternatives
+inherit ptest update-alternatives
 
 do_compile () {
 	chmod a+rx *.pl *.sh
@@ -40,6 +42,12 @@
 	cd ${D}${mandir}/man8 && ln -s ifup.8 ifdown.8
 }
 
+do_install_ptest () {
+    install -d ${D}${PTEST_PATH}/tests
+    cp -r ${S}/tests/testbuild-linux ${D}${PTEST_PATH}/tests/
+    cp -r ${S}/tests/linux ${D}${PTEST_PATH}/tests/
+}
+
 ALTERNATIVE_PRIORITY = "100"
 ALTERNATIVE_${PN} = "ifup ifdown"