[OE-core] [PATCH v2] libpcap: Update to version 1.8.1
Martin Jansa
martin.jansa at gmail.com
Wed Nov 16 19:41:41 UTC 2016
On Tue, Nov 08, 2016 at 09:52:48AM -0200, Fabio Berton wrote:
> - Option --enable-canusb was removed on commit:
> https://github.com/the-tcpdump-group/libpcap/commit/93ca5ff7030aaf1219e1de05ec89a68384bfc50b
> - Autotools class was improved and we can now stop aclocal from running at all.
> - File configure.in was renamed to configure.ac, rework libpcap-pkgconfig-support
> patch and do_configure_prepend task to use configure.ac file.
>
> Signed-off-by: Fabio Berton <fabio.berton at ossystems.com.br>
> ---
> meta/recipes-connectivity/libpcap/libpcap.inc | 5 +-
> .../libpcap/libpcap/aclocal.patch | 167 ---------------------
> .../libpcap/libpcap-pkgconfig-support.patch | 32 ++--
> .../libpcap/{libpcap_1.7.4.bb => libpcap_1.8.1.bb} | 13 +-
> 4 files changed, 25 insertions(+), 192 deletions(-)
> delete mode 100644 meta/recipes-connectivity/libpcap/libpcap/aclocal.patch
> rename meta/recipes-connectivity/libpcap/{libpcap_1.7.4.bb => libpcap_1.8.1.bb} (67%)
>
> diff --git a/meta/recipes-connectivity/libpcap/libpcap.inc b/meta/recipes-connectivity/libpcap/libpcap.inc
> index 7b29a52..4453a9e 100644
> --- a/meta/recipes-connectivity/libpcap/libpcap.inc
> +++ b/meta/recipes-connectivity/libpcap/libpcap.inc
> @@ -19,6 +19,7 @@ BINCONFIG = "${bindir}/pcap-config"
> inherit autotools binconfig-disabled pkgconfig bluetooth
>
> EXTRA_OECONF = "--with-pcap=linux"
> +EXTRA_AUTORECONF += "--exclude=aclocal"
>
> PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
> ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
> @@ -26,7 +27,6 @@ PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ
> PACKAGECONFIG[bluez4] = "--enable-bluetooth,--disable-bluetooth,bluez4"
> # Add a dummy PACKAGECONFIG for bluez5 since it is not supported by libpcap.
> PACKAGECONFIG[bluez5] = ",,"
> -PACKAGECONFIG[canusb] = "--enable-canusb,--enable-canusb=no,libusb"
> PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
> PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
This version fails to build without ipv6 in PACKAGECONFIG with this
error:
| i586-oe-linux-gcc -m32 -march=i586 --sysroot=/OE/build/oe-core/tmp-glibc/sysroots/qemux86 -I../libpcap-1.8.1 -fvisibility=hidden -fpic -I/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/libpcap/1.8.1-r0/libpcap-1.8.1 -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/libpcap/1.8.1-r0=/usr/src/debug/libpcap/1.8.1-r0 -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/sysroots/x86_64-linux= -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/sysroots/qemux86= -I. -DBUILDING_PCAP -DHAVE_CONFIG_H -D_U_="__attribute__((unused))" -I/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/libpcap/1.8.1-r0/libpcap-1.8.1 -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/work/i586-oe-linux/libpcap/1.8.1-r0=/usr/src/debug/libpcap/1.8.1-r0 -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/sysroots/x86_64-linux= -fdebug-prefix-map=/OE/build/oe-core/tmp-glibc/sysroots/qemux86= -c scanner.c
| ../libpcap-1.8.1/gencode.c: In function 'pcap_compile':
| ../libpcap-1.8.1/gencode.c:693:8: error: 'compiler_state_t {aka struct _compiler_state}' has no member named 'ai'
| cstate.ai = NULL;
| ^
| ../libpcap-1.8.1/gencode.c: In function 'gen_gateway':
| ../libpcap-1.8.1/gencode.c:4914:13: error: 'cstate' undeclared (first use in this function)
| bpf_error(cstate, "direction applied to 'gateway'");
| ^~~~~~
| ../libpcap-1.8.1/gencode.c:4914:13: note: each undeclared identifier is reported only once for each function it appears in
| config.status: creating pcap-config.tmp
| make: *** [Makefile:478: gencode.o] Error 1
| make: *** Waiting for unfinished jobs....
| mv pcap-config.tmp pcap-config
| chmod a+x pcap-config
Version 1.7.4 was building fine without it.
> PACKAGECONFIG[libnl] = "--with-libnl,--without-libnl,libnl"
> @@ -36,8 +36,5 @@ CFLAGS_prepend = "-I${S} "
> CXXFLAGS_prepend = "-I${S} "
>
> do_configure_prepend () {
> - if [ ! -e ${S}/acinclude.m4 ]; then
> - cat ${S}/aclocal.m4 > ${S}/acinclude.m4
> - fi
> sed -i -e's,^V_RPATH_OPT=.*$,V_RPATH_OPT=,' ${S}/pcap-config.in
> }
> diff --git a/meta/recipes-connectivity/libpcap/libpcap/aclocal.patch b/meta/recipes-connectivity/libpcap/libpcap/aclocal.patch
> deleted file mode 100644
> index 2151982..0000000
> --- a/meta/recipes-connectivity/libpcap/libpcap/aclocal.patch
> +++ /dev/null
> @@ -1,167 +0,0 @@
> -Upstream-Status: Inappropriate [configuration]
> -
> -diff -ruN libpcap-1.1.1-orig/aclocal.m4 libpcap-1.1.1/aclocal.m4
> ---- libpcap-1.1.1-orig/aclocal.m4 2010-06-29 10:46:32.815117569 +0800
> -+++ libpcap-1.1.1/aclocal.m4 2010-06-29 10:49:17.150149949 +0800
> -@@ -37,7 +37,7 @@
> - dnl AC_LBL_C_INIT. Now, we run AC_LBL_C_INIT_BEFORE_CC, AC_PROG_CC,
> - dnl and AC_LBL_C_INIT at the top level.
> - dnl
> --AC_DEFUN(AC_LBL_C_INIT_BEFORE_CC,
> -+AC_DEFUN([AC_LBL_C_INIT_BEFORE_CC],
> - [
> - AC_BEFORE([$0], [AC_LBL_C_INIT])
> - AC_BEFORE([$0], [AC_PROG_CC])
> -@@ -90,7 +90,7 @@
> - dnl LDFLAGS
> - dnl LBL_CFLAGS
> - dnl
> --AC_DEFUN(AC_LBL_C_INIT,
> -+AC_DEFUN([AC_LBL_C_INIT],
> - [
> - AC_BEFORE([$0], [AC_LBL_FIXINCLUDES])
> - AC_BEFORE([$0], [AC_LBL_DEVEL])
> -@@ -217,7 +217,7 @@
> - dnl V_SONAME_OPT
> - dnl V_RPATH_OPT
> - dnl
> --AC_DEFUN(AC_LBL_SHLIBS_INIT,
> -+AC_DEFUN([AC_LBL_SHLIBS_INIT],
> - [AC_PREREQ(2.50)
> - if test "$GCC" = yes ; then
> - #
> -@@ -361,7 +361,7 @@
> - # Make sure we use the V_CCOPT flags, because some of those might
> - # disable inlining.
> - #
> --AC_DEFUN(AC_LBL_C_INLINE,
> -+AC_DEFUN([AC_LBL_C_INLINE],
> - [AC_MSG_CHECKING(for inline)
> - save_CFLAGS="$CFLAGS"
> - CFLAGS="$V_CCOPT"
> -@@ -407,7 +407,7 @@
> - dnl
> - dnl AC_LBL_FIXINCLUDES
> - dnl
> --AC_DEFUN(AC_LBL_FIXINCLUDES,
> -+AC_DEFUN([AC_LBL_FIXINCLUDES],
> - [if test "$GCC" = yes ; then
> - AC_MSG_CHECKING(for ANSI ioctl definitions)
> - AC_CACHE_VAL(ac_cv_lbl_gcc_fixincludes,
> -@@ -453,7 +453,7 @@
> - dnl $2 (yacc appended)
> - dnl $3 (optional flex and bison -P prefix)
> - dnl
> --AC_DEFUN(AC_LBL_LEX_AND_YACC,
> -+AC_DEFUN([AC_LBL_LEX_AND_YACC],
> - [AC_ARG_WITH(flex, [ --without-flex don't use flex])
> - AC_ARG_WITH(bison, [ --without-bison don't use bison])
> - if test "$with_flex" = no ; then
> -@@ -506,7 +506,7 @@
> - dnl
> - dnl DECLWAITSTATUS (defined)
> - dnl
> --AC_DEFUN(AC_LBL_UNION_WAIT,
> -+AC_DEFUN([AC_LBL_UNION_WAIT],
> - [AC_MSG_CHECKING(if union wait is used)
> - AC_CACHE_VAL(ac_cv_lbl_union_wait,
> - AC_TRY_COMPILE([
> -@@ -535,7 +535,7 @@
> - dnl
> - dnl HAVE_SOCKADDR_SA_LEN (defined)
> - dnl
> --AC_DEFUN(AC_LBL_SOCKADDR_SA_LEN,
> -+AC_DEFUN([AC_LBL_SOCKADDR_SA_LEN],
> - [AC_MSG_CHECKING(if sockaddr struct has the sa_len member)
> - AC_CACHE_VAL(ac_cv_lbl_sockaddr_has_sa_len,
> - AC_TRY_COMPILE([
> -@@ -560,7 +560,7 @@
> - dnl
> - dnl HAVE_SOCKADDR_STORAGE (defined)
> - dnl
> --AC_DEFUN(AC_LBL_SOCKADDR_STORAGE,
> -+AC_DEFUN([AC_LBL_SOCKADDR_STORAGE],
> - [AC_MSG_CHECKING(if sockaddr_storage struct exists)
> - AC_CACHE_VAL(ac_cv_lbl_has_sockaddr_storage,
> - AC_TRY_COMPILE([
> -@@ -593,7 +593,7 @@
> - dnl won't be using code that would use that member, or we wouldn't
> - dnl compile in any case).
> - dnl
> --AC_DEFUN(AC_LBL_HP_PPA_INFO_T_DL_MODULE_ID_1,
> -+AC_DEFUN([AC_LBL_HP_PPA_INFO_T_DL_MODULE_ID_1],
> - [AC_MSG_CHECKING(if dl_hp_ppa_info_t struct has dl_module_id_1 member)
> - AC_CACHE_VAL(ac_cv_lbl_dl_hp_ppa_info_t_has_dl_module_id_1,
> - AC_TRY_COMPILE([
> -@@ -619,7 +619,7 @@
> - dnl
> - dnl ac_cv_lbl_have_run_path (yes or no)
> - dnl
> --AC_DEFUN(AC_LBL_HAVE_RUN_PATH,
> -+AC_DEFUN([AC_LBL_HAVE_RUN_PATH],
> - [AC_MSG_CHECKING(for ${CC-cc} -R)
> - AC_CACHE_VAL(ac_cv_lbl_have_run_path,
> - [echo 'main(){}' > conftest.c
> -@@ -644,7 +644,7 @@
> - dnl
> - dnl LBL_ALIGN (DEFINED)
> - dnl
> --AC_DEFUN(AC_LBL_UNALIGNED_ACCESS,
> -+AC_DEFUN([AC_LBL_UNALIGNED_ACCESS],
> - [AC_MSG_CHECKING(if unaligned accesses fail)
> - AC_CACHE_VAL(ac_cv_lbl_unaligned_fail,
> - [case "$host_cpu" in
> -@@ -749,7 +749,7 @@
> - dnl HAVE_OS_PROTO_H (defined)
> - dnl os-proto.h (symlinked)
> - dnl
> --AC_DEFUN(AC_LBL_DEVEL,
> -+AC_DEFUN([AC_LBL_DEVEL],
> - [rm -f os-proto.h
> - if test "${LBL_CFLAGS+set}" = set; then
> - $1="$$1 ${LBL_CFLAGS}"
> -@@ -886,7 +886,7 @@
> - dnl statically and happen to have a libresolv.a lying around (and no
> - dnl libnsl.a).
> - dnl
> --AC_DEFUN(AC_LBL_LIBRARY_NET, [
> -+AC_DEFUN([AC_LBL_LIBRARY_NET], [
> - # Most operating systems have gethostbyname() in the default searched
> - # libraries (i.e. libc):
> - # Some OSes (eg. Solaris) place it in libnsl
> -@@ -909,7 +909,7 @@
> - dnl Test for __attribute__
> - dnl
> -
> --AC_DEFUN(AC_C___ATTRIBUTE__, [
> -+AC_DEFUN([AC_C___ATTRIBUTE__], [
> - AC_MSG_CHECKING(for __attribute__)
> - AC_CACHE_VAL(ac_cv___attribute__, [
> - AC_COMPILE_IFELSE(
> -@@ -947,7 +947,7 @@
> - dnl
> - dnl -Scott Barron
> - dnl
> --AC_DEFUN(AC_LBL_TPACKET_STATS,
> -+AC_DEFUN([AC_LBL_TPACKET_STATS],
> - [AC_MSG_CHECKING(if if_packet.h has tpacket_stats defined)
> - AC_CACHE_VAL(ac_cv_lbl_tpacket_stats,
> - AC_TRY_COMPILE([
> -@@ -976,7 +976,7 @@
> - dnl doesn't have that member (which is OK, as either we won't be using
> - dnl code that would use that member, or we wouldn't compile in any case).
> - dnl
> --AC_DEFUN(AC_LBL_LINUX_TPACKET_AUXDATA_TP_VLAN_TCI,
> -+AC_DEFUN([AC_LBL_LINUX_TPACKET_AUXDATA_TP_VLAN_TCI],
> - [AC_MSG_CHECKING(if tpacket_auxdata struct has tp_vlan_tci member)
> - AC_CACHE_VAL(ac_cv_lbl_dl_hp_ppa_info_t_has_dl_module_id_1,
> - AC_TRY_COMPILE([
> -@@ -1003,7 +1003,7 @@
> - dnl
> - dnl HAVE_DLPI_PASSIVE (defined)
> - dnl
> --AC_DEFUN(AC_LBL_DL_PASSIVE_REQ_T,
> -+AC_DEFUN([AC_LBL_DL_PASSIVE_REQ_T],
> - [AC_MSG_CHECKING(if dl_passive_req_t struct exists)
> - AC_CACHE_VAL(ac_cv_lbl_has_dl_passive_req_t,
> - AC_TRY_COMPILE([
> diff --git a/meta/recipes-connectivity/libpcap/libpcap/libpcap-pkgconfig-support.patch b/meta/recipes-connectivity/libpcap/libpcap/libpcap-pkgconfig-support.patch
> index b861513..afaa3be 100644
> --- a/meta/recipes-connectivity/libpcap/libpcap/libpcap-pkgconfig-support.patch
> +++ b/meta/recipes-connectivity/libpcap/libpcap/libpcap-pkgconfig-support.patch
> @@ -1,25 +1,27 @@
> -From 8887132e85892a72a84ca3878e60f254ad2ce939 Mon Sep 17 00:00:00 2001
> -From: Joe MacDonald <joe_macdonald at mentor.com>
> -Date: Tue, 24 Feb 2015 15:56:06 -0500
> +From 2796129af52901dd68595e5e88a639308541def9 Mon Sep 17 00:00:00 2001
> +From: Fabio Berton <fabio.berton at ossystems.com.br>
> +Date: Thu, 3 Nov 2016 17:56:29 -0200
> Subject: [PATCH] libpcap: pkgconfig support
> +Organization: O.S. Systems Software LTDA.
>
> Adding basic structure to support pkg-config.
>
> Upstream-Status: Inappropriate [embedded specific]
>
> Signed-off-by: Joe MacDonald <joe_macdonald at mentor.com>
> +Signed-off-by: Fabio Berton <fabio.berton at ossystems.com.br>
> ---
> Makefile.in | 5 +++++
> - configure.in | 1 +
> + configure.ac | 1 +
> libpcap.pc.in | 10 ++++++++++
> 3 files changed, 16 insertions(+)
> create mode 100644 libpcap.pc.in
>
> diff --git a/Makefile.in b/Makefile.in
> -index 1c2d745..1f25faf 100644
> +index e71d973..d7004ed 100644
> --- a/Makefile.in
> +++ b/Makefile.in
> -@@ -60,6 +60,10 @@ V_RPATH_OPT = @V_RPATH_OPT@
> +@@ -61,6 +61,10 @@ V_RPATH_OPT = @V_RPATH_OPT@
> DEPENDENCY_CFLAG = @DEPENDENCY_CFLAG@
> PROG=libpcap
>
> @@ -30,19 +32,19 @@ index 1c2d745..1f25faf 100644
> # Standard CFLAGS
> FULL_CFLAGS = $(CCOPT) $(INCLS) $(DEFS) $(CFLAGS)
>
> -@@ -275,6 +279,7 @@ EXTRA_DIST = \
> +@@ -286,6 +290,7 @@ EXTRA_DIST = \
> lbl/os-solaris2.h \
> lbl/os-sunos4.h \
> lbl/os-ultrix4.h \
> + libpcap.pc \
> + missing/getopt.c \
> + missing/getopt.h \
> missing/snprintf.c \
> - mkdep \
> - msdos/bin2c.c \
> -diff --git a/configure.in b/configure.in
> -index 8f5c86b..fb51b35 100644
> ---- a/configure.in
> -+++ b/configure.in
> -@@ -1700,6 +1700,7 @@ esac
> +diff --git a/configure.ac b/configure.ac
> +index da2f940..4fc67bf 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -1805,6 +1805,7 @@ fi
> AC_PROG_INSTALL
>
> AC_CONFIG_HEADER(config.h)
> @@ -67,5 +69,5 @@ index 0000000..4f78ad8
> +Libs: -L${libdir} -lpcap
> +Cflags: -I${includedir}
> --
> -1.9.1
> +2.1.4
>
> diff --git a/meta/recipes-connectivity/libpcap/libpcap_1.7.4.bb b/meta/recipes-connectivity/libpcap/libpcap_1.8.1.bb
> similarity index 67%
> rename from meta/recipes-connectivity/libpcap/libpcap_1.7.4.bb
> rename to meta/recipes-connectivity/libpcap/libpcap_1.8.1.bb
> index 8d12b25..9072fe0 100644
> --- a/meta/recipes-connectivity/libpcap/libpcap_1.7.4.bb
> +++ b/meta/recipes-connectivity/libpcap/libpcap_1.8.1.bb
> @@ -1,10 +1,11 @@
> require libpcap.inc
>
> -SRC_URI += "file://aclocal.patch \
> - file://libpcap-pkgconfig-support.patch \
> - "
> -SRC_URI[md5sum] = "b2e13142bbaba857ab1c6894aedaf547"
> -SRC_URI[sha256sum] = "7ad3112187e88328b85e46dce7a9b949632af18ee74d97ffc3f2b41fe7f448b0"
> +SRC_URI += " \
> + file://libpcap-pkgconfig-support.patch \
> +"
> +
> +SRC_URI[md5sum] = "3d48f9cd171ff12b0efd9134b52f1447"
> +SRC_URI[sha256sum] = "673dbc69fdc3f5a86fb5759ab19899039a8e5e6c631749e48dcd9c6f0c83541e"
>
> #
> # make install doesn't cover the shared lib
> @@ -13,7 +14,7 @@ SRC_URI[sha256sum] = "7ad3112187e88328b85e46dce7a9b949632af18ee74d97ffc3f2b41fe7
>
> do_configure_prepend () {
> #remove hardcoded references to /usr/include
> - sed 's|\([ "^'\''I]\+\)/usr/include/|\1${STAGING_INCDIR}/|g' -i ${S}/configure.in
> + sed 's|\([ "^'\''I]\+\)/usr/include/|\1${STAGING_INCDIR}/|g' -i ${S}/configure.ac
> }
>
> do_install_prepend () {
> --
> 2.1.4
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
--
Martin 'JaMa' Jansa jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 163 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20161116/0ea4acd6/attachment-0002.sig>
More information about the Openembedded-core
mailing list