Patchwork [meta-oe,4/6] libnet: Re-import 1.1.2.1 from org.oe.dev

login
register
mail settings
Submitter Michael Lippautz
Date April 20, 2011, 7:18 a.m.
Message ID <de998cc2048c90c3fd3829e2045c18c3f8f6f6bd.1303283391.git.michael.lippautz@gmail.com>
Download mbox | patch
Permalink /patch/2533/
State Superseded
Headers show

Comments

Michael Lippautz - April 20, 2011, 7:18 a.m.
Signed-off-by: Michael Lippautz <michael.lippautz@gmail.com>
---
 .../libnet/libnet-1.1.2.1/fix-endianess-test.patch |   36 +++++++++++++++++
 .../libnet/libnet-1.1.2.1/new-autotools.patch      |   20 ++++++++++
 .../libnet/libnet-1.1.2.1/support-uclibc.patch     |   13 ++++++
 .../recipes-connectivity/libnet/libnet_1.1.2.1.bb  |   41 ++++++++++++++++++++
 4 files changed, 110 insertions(+), 0 deletions(-)
 create mode 100644 meta-oe/recipes-connectivity/libnet/libnet-1.1.2.1/fix-endianess-test.patch
 create mode 100644 meta-oe/recipes-connectivity/libnet/libnet-1.1.2.1/new-autotools.patch
 create mode 100644 meta-oe/recipes-connectivity/libnet/libnet-1.1.2.1/support-uclibc.patch
 create mode 100644 meta-oe/recipes-connectivity/libnet/libnet_1.1.2.1.bb

Patch

diff --git a/meta-oe/recipes-connectivity/libnet/libnet-1.1.2.1/fix-endianess-test.patch b/meta-oe/recipes-connectivity/libnet/libnet-1.1.2.1/fix-endianess-test.patch
new file mode 100644
index 0000000..6d93e04
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libnet/libnet-1.1.2.1/fix-endianess-test.patch
@@ -0,0 +1,36 @@ 
+Use autoconf's endian check instead of the locally defined check
+so that we can determine the endianess without having to compile
+a program.
+
+Idea from http://www.security-lists.org/lists/libnet/2003/03/00001.html
+
+Also remove the old test from aclocal.m4.
+
+--- libnet/configure.in	2005/11/15 03:49:30	1.1
++++ libnet/configure.in	2005/11/15 03:50:29
+@@ -7,6 +7,7 @@
+ dnl Process this file with autoconf to produce a configure script.
+ 
+ 
++AC_PREREQ(2.52)
+ AC_INIT(src/libnet_build_ip.c)
+ LIBNET_VERSION=`cat VERSION`
+ AC_MSG_RESULT(beginning autoconfiguration process for libnet-$LIBNET_VERSION...)
+@@ -29,7 +30,16 @@
+ dnl And some custom things
+ dnl
+ 
+-AC_LIBNET_ENDIAN_CHECK
++AC_C_BIGENDIAN([
++ AC_DEFINE(LIBNET_BIG_ENDIAN)
++ ENDIANESS="LIBNET_BIG_ENDIAN"
++ LIBNET_CONFIG_DEFINES="$LIBNET_CONFIG_DEFINES -DLIBNET_BIG_ENDIAN"
++],[
++ AC_DEFINE(LIBNET_LIL_ENDIAN)
++ ENDIANESS="LIBNET_LIL_ENDIAN"
++ LIBNET_CONFIG_DEFINES="$LIBNET_CONFIG_DEFINES -DLIBNET_LIL_ENDIAN"
++], AC_MSG_WARN(cannot detect endianess. try setting ac_cv_c_bigendian to yes or no)) 
++
+ AC_LBL_UNALIGNED_ACCESS
+ dnl AC_LBL_LIBRARY_NET
+ 
diff --git a/meta-oe/recipes-connectivity/libnet/libnet-1.1.2.1/new-autotools.patch b/meta-oe/recipes-connectivity/libnet/libnet-1.1.2.1/new-autotools.patch
new file mode 100644
index 0000000..064413e
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libnet/libnet-1.1.2.1/new-autotools.patch
@@ -0,0 +1,20 @@ 
+Index: libnet/src/Makefile.am
+===================================================================
+--- libnet.orig/src/Makefile.am	2004-03-12 05:50:20.000000000 +1100
++++ libnet/src/Makefile.am	2007-08-11 16:41:09.000000000 +1000
+@@ -57,15 +57,5 @@
+ 			libnet_version.c \
+ 			libnet_write.c
+ 
+-EXTRA_libnet_a_SOURCES = libnet_link_bpf.c \
+-			libnet_link_dlpi.c \
+-			libnet_link_linux.c \
+-			libnet_link_nit.c \
+- 			libnet_link_none.c \
+-			libnet_link_pf.c \
+-			libnet_link_snit.c \
+-			libnet_link_snoop.c \
+-			libnet_link_win32.c
+-
+ libnet_a_LIBADD = @LIBOBJS@
+ 
diff --git a/meta-oe/recipes-connectivity/libnet/libnet-1.1.2.1/support-uclibc.patch b/meta-oe/recipes-connectivity/libnet/libnet-1.1.2.1/support-uclibc.patch
new file mode 100644
index 0000000..84d117c
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libnet/libnet-1.1.2.1/support-uclibc.patch
@@ -0,0 +1,13 @@ 
+Add support for building with uclibc.
+
+--- libnet/config.sub	2005/11/16 12:34:11	1.1
++++ libnet/config.sub	2005/11/16 12:35:56
+@@ -117,7 +117,7 @@
+ # Here we must recognize all the valid KERNEL-OS combinations.
+ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+ case $maybe_os in
+-  nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-*)
++  nto-qnx* | linux-gnu* | linux-uclibc* | storm-chaos* | os2-emx* | windows32-*)
+     os=-$maybe_os
+     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+     ;;
diff --git a/meta-oe/recipes-connectivity/libnet/libnet_1.1.2.1.bb b/meta-oe/recipes-connectivity/libnet/libnet_1.1.2.1.bb
new file mode 100644
index 0000000..b09f56e
--- /dev/null
+++ b/meta-oe/recipes-connectivity/libnet/libnet_1.1.2.1.bb
@@ -0,0 +1,41 @@ 
+DESCRIPTION = "A packet dissection and creation library"
+HOMEPAGE = "http://www.packetfactory.net/libnet/"
+SECTION = "libs"
+PRIORITY = "optional"
+LICENSE = "BSD"
+DEPENDS = "libpcap"
+# There are major API changes beween libnet v1.0 and libnet v1.1
+PROVIDES = "libnet-1.1"
+PR = "r4"
+
+SRC_URI = "${DEBIAN_MIRROR}/main/libn/libnet/libnet_${PV}.orig.tar.gz \
+           file://support-uclibc.patch \
+           file://fix-endianess-test.patch \
+           file://new-autotools.patch"
+
+S = "${WORKDIR}/libnet"
+
+inherit autotools binconfig
+
+do_configure_prepend() {
+        rm -f aclocal.m4 Makefile.am ltmain.sh
+}
+
+do_install_append () {
+        oe_runmake -C src 'DESTDIR=${D}${libdir}/' 'libdir=' install-libLIBRARIES
+        oe_runmake -C include 'DESTDIR=${D}${includedir}/' 'includedir=' install-includeHEADERS
+        oe_runmake -C include/libnet 'DESTDIR=${D}${includedir}/' 'includedir=' install-libnetincludeHEADERS
+        install -d ${D}${datadir}/man/man3/
+        install -d ${D}${bindir}
+        install -m 0644 ${S}/doc/man/man3/*.3 ${D}${datadir}/man/man3/
+        install -m 0755 ${S}/libnet-config ${D}${bindir}
+}
+
+#static build
+FILES_${PN} = ""
+FILES_${PN}-dev += "${bindir}/libnet-config"
+
+CPPFLAGS_prepend = "-I${S}/libnet/include "
+
+SRC_URI[md5sum] = "be845c41170d72c7db524f3411b50256"
+SRC_URI[sha256sum] = "ab01882a3d0556176018c09342cd0731f7cbc8e687795009894c3326942c76ff"