port libnids to buildroot-ng
authorNicolas Thill <nico@openwrt.org>
Sat, 22 Jul 2006 22:56:28 +0000 (22:56 +0000)
committerNicolas Thill <nico@openwrt.org>
Sat, 22 Jul 2006 22:56:28 +0000 (22:56 +0000)
SVN-Revision: 4224

libs/libnids/Makefile [new file with mode: 0644]
libs/libnids/patches/configure.patch [new file with mode: 0644]
libs/libnids/patches/no_asm_for_i386.patch [new file with mode: 0644]

diff --git a/libs/libnids/Makefile b/libs/libnids/Makefile
new file mode 100644 (file)
index 0000000..07c3bf0
--- /dev/null
@@ -0,0 +1,95 @@
+# 
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libnids
+PKG_VERSION:=1.18
+PKG_RELEASE:=1
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://www.packetfactory.net/projects/libnids/dist/
+PKG_MD5SUM:=9ee6dcdfac97bae6fe611aa27d2594a5
+PKG_CAT:=zcat
+
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/libnids
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=A network intrusion detection library
+  DESCRIPTION:=A network intrusion detection library.\\\
+    An implementation of an E-component of Network Intrusion Detection \\\
+    System.
+  URL:=http://www.packetfactory.net/projects/libnids/
+endef
+
+define Build/Configure
+       (cd $(PKG_BUILD_DIR); rm -f config.cache; \
+               $(TARGET_CONFIGURE_OPTS) \
+               CFLAGS="$(TARGET_CFLAGS)" \
+               CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
+               LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
+               ./configure \
+                       --target=$(GNU_TARGET_NAME) \
+                       --host=$(GNU_TARGET_NAME) \
+                       --build=$(GNU_HOST_NAME) \
+                       --program-prefix="" \
+                       --program-suffix="" \
+                       --prefix=/usr \
+                       --exec-prefix=/usr \
+                       --bindir=/usr/bin \
+                       --datadir=/usr/share \
+                       --includedir=/usr/include \
+                       --infodir=/usr/share/info \
+                       --libdir=/usr/lib \
+                       --libexecdir=/usr/lib \
+                       --localstatedir=/var \
+                       --mandir=/usr/share/man \
+                       --sbindir=/usr/sbin \
+                       --sysconfdir=/etc \
+                       $(DISABLE_NLS) \
+                       $(DISABLE_LARGEFILE) \
+                       --enable-shared \
+                       --enable-static \
+                       --with-libnet="$(STAGING_DIR)/usr" \
+                       --with-libpcap="$(STAGING_DIR)/usr" \
+       );
+endef
+
+define Build/Compile
+       rm -rf $(PKG_INSTALL_DIR)
+       mkdir -p $(PKG_INSTALL_DIR)
+       $(MAKE) -C $(PKG_BUILD_DIR) \
+               $(TARGET_CONFIGURE_OPTS) \
+               install_prefix="$(PKG_INSTALL_DIR)" \
+               all install
+endef
+
+define Package/libnids/install
+       install -m0755 -d $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnids.so.* $(1)/usr/lib/
+endef
+
+define Build/InstallDev
+       mkdir -p $(STAGING_DIR)/usr/include
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/nids.h $(STAGING_DIR)/usr/include/
+       mkdir -p $(STAGING_DIR)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnids.{a,so*} $(STAGING_DIR)/usr/lib/
+endef
+
+define Build/UninstallDev
+       rm -rf \
+               $(STAGING_DIR)/usr/include/nids.h \
+               $(STAGING_DIR)/usr/lib/libnids.{a,so*}
+endef
+
+$(eval $(call BuildPackage,libnids))
diff --git a/libs/libnids/patches/configure.patch b/libs/libnids/patches/configure.patch
new file mode 100644 (file)
index 0000000..3b56aba
--- /dev/null
@@ -0,0 +1,62 @@
+diff -Nur libnids-1.18/configure libnids-1.18.patched/configure
+--- libnids-1.18/configure     2003-10-15 01:40:09.000000000 +0200
++++ libnids-1.18.patched/configure     2005-06-09 12:37:42.000000000 +0200
+@@ -3253,7 +3253,7 @@
+ esac
+-CFLAGS="$CFLAGS -D_BSD_SOURCE"
++CFLAGS="$CFLAGS"
+ for ac_func in gettimeofday
+ do
+@@ -3489,17 +3489,21 @@
+ echo "${ECHO_T}no" >&6
+      ;;
+   *)
+-     echo "$as_me:$LINENO: result: $withval" >&5
+-echo "${ECHO_T}$withval" >&6
++     echo "$ac_t""$withval" 1>&6
+      if test -f $withval/pcap.h -a -f $withval/libpcap.a; then
+         owd=`pwd`
+         if cd $withval; then withval=`pwd`; cd $owd; fi
+-      PCAP_CFLAGS="-I$withval -I$withval/bpf"
++      PCAPINC="-I$withval -I$withval/bpf"
+       PCAPLIB="-L$withval -lpcap"
++     elif test -f $withval/include/pcap.h -a \
++             -f $withval/include/pcap-bpf.h -a \
++             -f $withval/lib/libpcap.a; then
++      owd=`pwd`
++      if cd $withval; then withval=`pwd`; cd $owd; fi
++      PCAPINC="-I$withval/include"
++      PCAPLIB="-L$withval/lib -lpcap"
+      else
+-        { { echo "$as_me:$LINENO: error: pcap.h or libpcap.a not found in $withval" >&5
+-echo "$as_me: error: pcap.h or libpcap.a not found in $withval" >&2;}
+-   { (exit 1); exit 1; }; }
++        { echo "configure: error: pcap.h" 1>&2; exit 1; }
+      fi
+      ;;
+   esac
+@@ -3605,10 +3609,10 @@
+   *)
+      echo "$as_me:$LINENO: result: $withval" >&5
+ echo "${ECHO_T}$withval" >&6
+-     if test -f $withval/include/libnet.h -a -f $withval/lib/libnet.a -a -f $withval/libnet-config ; then
++     if test -f $withval/include/libnet.h -a -f $withval/lib/libnet.a -a -f $withval/bin/libnet-config ; then
+         owd=`pwd`
+         if cd $withval; then withval=`pwd`; cd $owd; fi
+-      LNET_CFLAGS="-I$withval/include `$withval/libnet-config --defines`"
++      LNET_CFLAGS="-I$withval/include `$withval/bin/libnet-config --defines`"
+       LNETLIB="-L$withval/lib -lnet"
+      elif test -f $withval/include/libnet.h -a -f $withval/src/libnet.a; then
+         owd=`pwd`
+@@ -3861,7 +3865,7 @@
+ else
+   echo "$as_me: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+-HAVE_BSD_UDPHDR=0
++HAVE_BSD_UDPHDR=1
+ fi
+ rm -f conftest.$ac_objext conftest.$ac_ext
diff --git a/libs/libnids/patches/no_asm_for_i386.patch b/libs/libnids/patches/no_asm_for_i386.patch
new file mode 100644 (file)
index 0000000..ff6fde7
--- /dev/null
@@ -0,0 +1,12 @@
+diff -ruN libnids-1.18-orig/src/checksum.c libnids-1.18/src/checksum.c
+--- libnids-1.18-orig/src/checksum.c   2003-09-20 22:40:44.000000000 +0200
++++ libnids-1.18/src/checksum.c        2005-08-09 23:55:00.000000000 +0200
+@@ -4,7 +4,7 @@
+ #include <netinet/tcp.h>
+ #include <netinet/udp.h>
+-#if ( __i386__ || __i386 )
++#if 0
+ // all asm procedures are copied from Linux 2.0.36 and 2.2.10 kernels
+ /*