[meta-virtualization] [PATCH] openvswitch: deal with missing RDEPENDS of libpcap
Bruce Ashfield
bruce.ashfield at windriver.com
Tue Nov 19 20:29:04 PST 2013
On 11/19/2013, 12:20 PM, Mark Asselstine wrote:
> Bitbake was properly detecting a dependency on libpcap but since it
> was not an explicit RDEPENDS the libpcap package was not being built
> in all cases which had the potential to break rootfs image building.
>
> The obvious solution was to add libpcap to the RDEPENDS but looking
> upstream it was found that they have removed the use of this library
> for all but FreeBSD since for other systems it is unused. So using the
> upstream patch here eliminates the dependency and in turn the issue
> described above.
>
> Signed-off-by: Mark Asselstine <mark.asselstine at windriver.com>
> ---
> ...gure-Only-link-against-libpcap-on-FreeBSD.patch | 70 ++++++++++++++++++++++
> .../openvswitch/openvswitch_1.10.0.bb | 3 +-
Looks good to me. I confirmed that OVS 2.0 already has the fix, so
just patching 1.10 is good enough.
merged.
Cheers,
Bruce
> 2 files changed, 72 insertions(+), 1 deletion(-)
> create mode 100644 recipes-networking/openvswitch/files/configure-Only-link-against-libpcap-on-FreeBSD.patch
>
> diff --git a/recipes-networking/openvswitch/files/configure-Only-link-against-libpcap-on-FreeBSD.patch b/recipes-networking/openvswitch/files/configure-Only-link-against-libpcap-on-FreeBSD.patch
> new file mode 100644
> index 0000000..0a44b85
> --- /dev/null
> +++ b/recipes-networking/openvswitch/files/configure-Only-link-against-libpcap-on-FreeBSD.patch
> @@ -0,0 +1,70 @@
> +From d30e714ccb9d13caf39d14d5b2fc9523b678ed51 Mon Sep 17 00:00:00 2001
> +From: Ben Pfaff <blp at nicira.com>
> +Date: Thu, 14 Mar 2013 15:20:55 -0700
> +Subject: [PATCH] configure: Only link against libpcap on FreeBSD.
> +
> +commit d30e714ccb9d13caf39d14d5b2fc9523b678ed51 upstream
> +http://git.openvswitch.org/git/openvswitch
> +
> +On other platforms there is no benefit to linking against libpcap, because
> +it is not used.
> +
> +Signed-off-by: Ben Pfaff <blp at nicira.com>
> +CC: Ed Maste <emaste at freebsd.org>
> +---
> + acinclude.m4 | 7 ++++++-
> + configure.ac | 3 +--
> + 2 files changed, 7 insertions(+), 3 deletions(-)
> +
> +diff --git a/acinclude.m4 b/acinclude.m4
> +index f0610c9..19a47dd 100644
> +--- a/acinclude.m4
> ++++ b/acinclude.m4
> +@@ -1,6 +1,6 @@
> + # -*- autoconf -*-
> +
> +-# Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira, Inc.
> ++# Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013 Nicira, Inc.
> + #
> + # Licensed under the Apache License, Version 2.0 (the "License");
> + # you may not use this file except in compliance with the License.
> +@@ -295,6 +295,8 @@ AC_DEFUN([OVS_CHECK_IF_PACKET],
> + fi])
> +
> + dnl Checks for net/if_dl.h.
> ++dnl
> ++dnl (We use this as a proxy for checking whether we're building on FreeBSD.)
> + AC_DEFUN([OVS_CHECK_IF_DL],
> + [AC_CHECK_HEADER([net/if_dl.h],
> + [HAVE_IF_DL=yes],
> +@@ -303,6 +305,9 @@ AC_DEFUN([OVS_CHECK_IF_DL],
> + if test "$HAVE_IF_DL" = yes; then
> + AC_DEFINE([HAVE_IF_DL], [1],
> + [Define to 1 if net/if_dl.h is available.])
> ++
> ++ # On FreeBSD we use libpcap to access network devices.
> ++ AC_SEARCH_LIBS([pcap_open_live], [pcap])
> + fi])
> +
> + dnl Checks for buggy strtok_r.
> +diff --git a/configure.ac b/configure.ac
> +index 1cacd29..bd49179 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -1,4 +1,4 @@
> +-# Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira, Inc.
> ++# Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013 Nicira, Inc.
> + #
> + # Licensed under the Apache License, Version 2.0 (the "License");
> + # you may not use this file except in compliance with the License.
> +@@ -44,7 +44,6 @@ AC_SYS_LARGEFILE
> + AC_SEARCH_LIBS([pow], [m])
> + AC_SEARCH_LIBS([clock_gettime], [rt])
> + AC_SEARCH_LIBS([timer_create], [rt])
> +-AC_SEARCH_LIBS([pcap_open_live], [pcap])
> +
> + OVS_CHECK_ESX
> + OVS_CHECK_COVERAGE
> +--
> +1.8.3.2
> +
> diff --git a/recipes-networking/openvswitch/openvswitch_1.10.0.bb b/recipes-networking/openvswitch/openvswitch_1.10.0.bb
> index 02c8ab3..c0ea829 100644
> --- a/recipes-networking/openvswitch/openvswitch_1.10.0.bb
> +++ b/recipes-networking/openvswitch/openvswitch_1.10.0.bb
> @@ -18,7 +18,7 @@ RRECOMMENDS_${PN} += "kernel-module-openvswitch"
> # rdeps. E.g. ovs-pki calls sed in the postinstall. sed may be
> # queued for install later.
> RDEPENDS_${PN} += "sed gawk grep"
> -PR = "r3"
> +PR = "r4"
>
> SRC_URI = "http://openvswitch.org/releases/openvswitch-${PV}.tar.gz \
> file://openvswitch-switch \
> @@ -27,6 +27,7 @@ SRC_URI = "http://openvswitch.org/releases/openvswitch-${PV}.tar.gz \
> file://openvswitch-controller-setup \
> file://openvswitch-add-target-python-handling.patch \
> file://openvswitch-add-target-perl-handling.patch \
> + file://configure-Only-link-against-libpcap-on-FreeBSD.patch \
> "
>
> SRC_URI[md5sum] = "fe8b49efe9f86b57abab00166b971106"
>
More information about the meta-virtualization
mailing list