meta-virtualization/recipes-networking/openvswitch/openvswitch_git.bb
Mark Asselstine e86ae39489 openvswitch: switch to depending on python3
As far as I can tell openvswitch has been updated to work with python3
as well as with python(2). Switch to depend on python3 and use python3
for associated scripts. For the most part openvswitch will bind at
runtime to either py2 or py3 regardless of these changes, with these
changes we just do a better job of setting up the dependencies to
facilitate py3 bindings. The openvswitch autotests results are mostly
identical before and after this switch (failures move from python3 to
python(2) test cases as expected, with some exceptions see below).

When running the autotests/ptest with python(2) vs python3 we see a
slightly higher failure rate (334 failures vs. 284 failures). I do not
believe this higher fail rate reflects actual errors in the runtime,
rather the tests are not adapted to python3. At any rate like the rest
of openvswitch it is fairly straightforward to hack the logic for
autotests to be run using py2 as long as it is available in the image,
so these changes don't prevent falling back to py2 for autotests. This
should facilitate any debugging we need to do based on us switching to
favor py3.

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-06-21 14:25:14 -04:00

61 lines
2.1 KiB
BlitzBasic

require openvswitch.inc
DEPENDS += "virtual/kernel"
RDEPENDS_${PN}-ptest += "\
python3-logging python3-syslog python3-argparse python3-io \
python3-fcntl python3-shell python3-lang 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 python3-subprocess findutils which \
"
S = "${WORKDIR}/git"
PV = "2.7.0+${SRCREV}"
FILESEXTRAPATHS_append := "${THISDIR}/${PN}-git:"
SRCREV = "c298ef781c2d35d939fe163cbc2f41ea7b1cb8d1"
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://CVE-2017-9263.patch \
file://python-switch-remaining-scripts-to-use-python3.patch \
"
LIC_FILES_CHKSUM = "file://COPYING;md5=17b2c9d4c70853a09c0e143137754b35"
PACKAGECONFIG ?= ""
PACKAGECONFIG[dpdk] = "--with-dpdk=${STAGING_DIR_TARGET}/opt/dpdk/${TARGET_ARCH}-native-linuxapp-gcc,,dpdk,"
# 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
}