chaosvpn: moved to github
chaosvpn: moved to github

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>


git-svn-id: svn://svn.openwrt.org/openwrt/packages@47525 3c298f89-4303-0410-b956-a3cf2f4a3e73

file:a/admin/sudo/Makefile (deleted)
--- a/admin/sudo/Makefile
+++ /dev/null
@@ -1,77 +1,1 @@
-#
-# Copyright (C) 2006-2011 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=sudo
-PKG_VERSION:=1.7.10p8
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://www.sudo.ws/sudo/dist
-PKG_MD5SUM:=4620e31c28b387dd9582dfd42e930cfb
-
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/sudo
-  SECTION:=admin
-  CATEGORY:=Administration
-  TITLE:=Delegate authority to run commands
-  URL:=http://www.sudo.ws/
-endef
-
-define Package/sudo/description
- Sudo (su "do") allows a system administrator to delegate authority to
- give certain users (or groups of users) the ability to run some (or
- all) commands as root or another user while providing an audit trail of
- the commands and their arguments.
-endef
-
-define Package/sudo/conffiles
-/etc/sudoers
-endef
-
-CONFIGURE_ARGS+= \
-	--without-pam \
-	--disable-pam-session \
-	--with-editor=/bin/vi \
-	--without-lecture \
-	--disable-zlib
-
-CONFIGURE_VARS+= \
-	sudo_cv_uid_t_len=10 \
-	sudo_cv_func_unsetenv_void=no
-
-define Package/sudo/install
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(CP) $(PKG_INSTALL_DIR)/usr/bin/sudo $(1)/usr/bin/
-	chmod 4755 $(1)/usr/bin/sudo
-	$(INSTALL_DIR) $(1)/usr/sbin
-	$(CP) $(PKG_INSTALL_DIR)/usr/sbin/visudo $(1)/usr/sbin/
-	$(INSTALL_DIR) $(1)/etc
-	$(CP) $(PKG_INSTALL_DIR)/etc/sudoers $(1)/etc/
-	chmod 0440 $(1)/etc/sudoers
-	$(INSTALL_DIR) $(1)/etc/sudoers.d
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/sudo_noexec.so $(1)/usr/lib/
-	$(INSTALL_DIR) $(1)/etc/init.d
-	$(INSTALL_BIN) ./files/sudo.init $(1)/etc/init.d/sudo
-endef
-
-define Package/sudo/postinst
-#!/bin/sh
-
-[ -n "$$IPKG_INSTROOT" ] || {
-	/etc/init.d/sudo enable
-	/etc/init.d/sudo start
-}
-endef
-
-$(eval $(call BuildPackage,sudo))
-

--- a/admin/sudo/files/sudo.init
+++ /dev/null
@@ -1,12 +1,1 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2011 OpenWrt.org
 
-START=99
-
-start() {
-	[ -d /var/lib/sudo ] || {
-		mkdir -m 0755 -p /var/lib/sudo
-		chmod 0700 /var/lib/sudo
-	}
-}
-

--- a/devel/dmalloc/Makefile
+++ b/devel/dmalloc/Makefile
@@ -30,7 +30,7 @@
 define Package/libdmalloc
   $(call Package/dmalloc/Default)
   TITLE+= (library)
-  DEPENDS:=@USE_EGLIBC
+  DEPENDS:=@USE_GLIBC
 endef
 
 define Package/dmalloc-utils

--- a/devel/electric-fence/Makefile
+++ b/devel/electric-fence/Makefile
@@ -22,7 +22,7 @@
   CATEGORY:=Development
   TITLE:=electric-fence
   URL:=http://perens.com/FreeSoftware/ElectricFence/
-  DEPENDS:=@USE_EGLIBC
+  DEPENDS:=@USE_GLIBC
   MAINTAINER:=Mirko Vogt <mirko@openwrt.org>
 endef
 

file:a/devel/ksymoops/Makefile (deleted)
--- a/devel/ksymoops/Makefile
+++ /dev/null
@@ -1,59 +1,1 @@
-#
-# Copyright (C) 2009 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-PKG_NAME:=ksymoops
-PKG_VERSION:=2.4.11
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=@KERNEL/linux/utils/kernel/ksymoops/v2.4/
-PKG_MD5SUM:=4a8249e182a5dbc75e566d162e9f3314
-
-PKG_BUILD_DEPENDS:=binutils
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/ksymoops
-  SECTION:=utils
-  CATEGORY:=Utilities
-  DEPENDS:=@mips||mipsel||m68k||i386 +zlib
-  TITLE:=Interpret oops of the kernel
-  URL:=http://www.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4/
-  MENU:=1
-endef
-
-define Package/kexec-tools/description
-endef
-
-define Build/Configure
-endef
-
-TARGET=$(strip $(shell echo $(TARGET_CFLAGS) | cut -d- -f4 | cut -d= -f2))
-
-define Build/Compile
-	$(MAKE) -C $(PKG_BUILD_DIR) \
-		CC="$(TARGET_CC)" \
-		BFD_PREFIX="$(STAGING_DIR)/usr" \
-		DEF_TARGET='\"$(TARGET)\"' \
-		DEF_ARCH='\"$(ARCH)\"' \
-		DEF_MAP='\"$(LINUX_DIR)/System.map\"' \
-		CROSS="$(TARGET_CROSS)" \
-		INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \
-		LDFLAGS="-lz" \
-		all install
-endef
-
-define Package/ksymoops/install
-	$(INSTALL_DIR) $(1)/bin
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/bin/$(TARGET_CROSS)ksymoops $(1)/bin/ksymoops
-endef
-
-$(eval $(call BuildPackage,ksymoops))
-

--- a/devel/lttng-tools/Makefile
+++ /dev/null
@@ -1,48 +1,1 @@
-#
-# Copyright (C) 2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=lttng-tools
-PKG_VERSION:=2.1.0
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=https://lttng.org/files/$(PKG_NAME)
-PKG_MD5SUM:=cfc35db9eb2d4ae09a65c006a70204f6
-PKG_FIXUP:=autoreconf
-
-PKG_USE_MIPS16:=0
-PKG_BUILD_PARALLEL:=1
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/lttng-tools
-  SECTION:=devel
-  CATEGORY:=Development
-  DEPENDS:=+lttng-ust +libpopt
-  TITLE:=LTTng tracing tools
-  URL:=https://lttng.org/
-endef
-
-TARGET_LDFLAGS += -lurcu-bp
-
-define Package/lttng-tools/description
-   LTTng Userspace Tracing Library
-endef
-
-define Package/lttng-tools/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/liblttng-ctl.so.* $(1)/usr/lib/
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/lttng $(1)/usr/lib/
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lttng* $(1)/usr/bin/
-endef
-
-$(eval $(call BuildPackage,lttng-tools))
-

--- a/devel/lttng-tools/patches/001-uclibc_sync_file_ranges.patch
+++ /dev/null
@@ -1,45 +1,1 @@
-Make sync_file_range() usage optional
 
-Under uClibc, sync_file_range() is not available under all
-architectures, so we fall back to fdatasync() in this case.
-
-Inspired by the patch done by Thomas Petazzoni for the
-2.0-pre25 version.
-
-Signed-off-by: Samuel Martin <s.martin49@gmail.com>
----
- configure.ac              |    2 +-
- src/common/compat/fcntl.h |    5 +++++
- 2 files changed, 6 insertions(+), 1 deletion(-)
-
---- a/configure.ac
-+++ b/configure.ac
-@@ -150,7 +150,7 @@ AS_IF([test "x$lttng_ust_support" = "xye
- 	)
- ])
- AM_CONDITIONAL([HAVE_LIBLTTNG_UST_CTL], [test "x$lttng_ust_ctl_found" = xyes])
--AC_CHECK_FUNCS([sched_getcpu sysconf])
-+AC_CHECK_FUNCS([sched_getcpu sysconf sync_file_range])
- 
- # check for dlopen
- AC_CHECK_LIB([dl], [dlopen],
-@@ -394,4 +394,3 @@ AS_IF([test "x$consumerd_only" = "xno"],
- ])
- 
- AS_ECHO()
--
---- a/src/common/compat/compat-fcntl.c
-+++ b/src/common/compat/compat-fcntl.c
-@@ -23,7 +23,11 @@
- int compat_sync_file_range(int fd, off64_t offset, off64_t nbytes,
- 		unsigned int flags)
- {
-+#ifdef HAVE_SYNC_FILE_RANGE
- 	return sync_file_range(fd, offset, nbytes, flags);
-+#else
-+	return fdatasync(fd);
-+#endif
- }
- 
- #endif /* __linux__ */
-

file:a/devel/perf/Makefile (deleted)
--- a/devel/perf/Makefile
+++ /dev/null
@@ -1,67 +1,1 @@
-#
-# Copyright (C) 2011-2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-PKG_NAME:=perf
-PKG_VERSION:=$(LINUX_VERSION)
-PKG_RELEASE:=2
-
-PKG_USE_MIPS16:=0
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/perf
-  SECTION:=devel
-  CATEGORY:=Development
-  DEPENDS:= +libelf1 +libdw +libpthread +librt +binutils
-  TITLE:=Linux performance monitoring tool
-  VERSION:=$(LINUX_VERSION)-$(PKG_RELEASE)
-  URL:=http://www.kernel.org
-endef
-
-define Package/perf/description
-  perf is the Linux performance monitoring tool
-endef
-
-# Perf's makefile and headers are not relocatable and must be built from the
-# Linux sources directory
-define Build/Prepare
-	$(RM) -r $(PKG_BUILD_DIR)
-	ln -s $(LINUX_DIR)/tools/perf $(PKG_BUILD_DIR)
-endef
-
-# MAKE_FLAGS should be passed again upon cleaning because Perf's makefile
-# always performs checks before processing any rule
-define Build/Clean
-	-$(MAKE) -C $(PKG_BUILD_DIR) \
-		NO_DWARF=1 \
-		$(MAKE_FLAGS) \
-		clean
-endef
-
-MAKE_FLAGS = \
-	ARCH="$(LINUX_KARCH)" \
-	NO_LIBPERL=1 \
-	NO_LIBPYTHON=1 \
-	NO_NEWT=1 \
-	CROSS_COMPILE="$(TARGET_CROSS)" \
-	CC="$(TARGET_CC)" \
-	LD="$(TARGET_CROSS)ld" \
-	CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
-	LDFLAGS="$(TARGET_LDFLAGS)" \
-	V=1 \
-	prefix=/usr
-
-define Package/perf/install
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(INSTALL_BIN) $(LINUX_DIR)/tools/perf/perf $(1)/usr/bin/
-endef
-
-$(eval $(call BuildPackage,perf))
-

file:a/lang/jamvm/Makefile (deleted)
--- a/lang/jamvm/Makefile
+++ /dev/null
@@ -1,69 +1,1 @@
-#
-# Copyright (C) 2006-2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=jamvm
-PKG_VERSION:=1.6.0-git
-PKG_RELEASE:=2
-
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=git://git.berlios.de/jamvm
-PKG_SOURCE_VERSION:=4617da717ecb05654ea5bb9572338061106a414d
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
-PKG_MIRROR_MD5SUM:=66a728a3cb8dad0e3773035c4049eb5f
-
-PKG_USE_MIPS16:=0
-
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/jamvm
-  SUBMENU:=Java
-  SECTION:=lang
-  CATEGORY:=Languages
-  TITLE:=A compact Java Virtual Machine
-  URL:=http://sourceforge.net/projects/jamvm
-  DEPENDS:=+zlib +libpthread +librt +classpath @!avr32
-endef
-
-define Package/jamvm/description
- JamVM is a new Java Virtual Machine which conforms to the JVM
- specification version (blue book). In comparison to most other VM's (free
- and commercial) it is extremely small.However, unlike other small VMs
- (e.g. KVM) it is designed to support the full specification, and includes
- support for object finalisation, Soft/Weak/Phantom References, the Java
- Native Interface (JNI) and the Reflection API.
-endef
-
-CONFIGURE_ARGS += \
-	--with-java-runtime-library=gnuclasspath \
-	--with-classpath-install-dir=/usr \
-	--disable-int-inlining \
-	--disable-shared \
-	--without-pic
-
-MAKE_FLAGS += \
-	GLIBJ_ZIP=$(STAGING_DIR)/usr/share/classpath/glibj.zip
-
-define Package/jamvm/install
-	$(INSTALL_DIR) $(1)/usr
-	$(CP) \
-		$(PKG_INSTALL_DIR)/usr/bin \
-		$(PKG_INSTALL_DIR)/usr/share \
-		$(1)/usr/
-endef
-
-define Build/InstallDev
-	$(CP) $(PKG_INSTALL_DIR)/* $(1)/
-endef
-
-$(eval $(call BuildPackage,jamvm))
-

--- a/lang/php5-pecl-bcompiler/Makefile
+++ /dev/null
@@ -1,30 +1,1 @@
-#
-# Copyright (C) 2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PECL_NAME:=bcompiler
-PECL_LONGNAME:=PHP bytecode Compiler
-
-PKG_VERSION:=1.0.2
-PKG_RELEASE:=1
-PKG_MD5SUM:=99f76a5ef536d43180b41036a6a13e43
-
-PKG_NAME:=php5-pecl-$(PECL_NAME)
-PKG_SOURCE:=$(PECL_NAME)-$(PKG_VERSION).tgz
-PKG_SOURCE_URL:=http://pecl.php.net/get/
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PECL_NAME)-$(PKG_VERSION)
-PKG_BUILD_PARALLEL:=1
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/nls.mk
-include ../php5/pecl.mk
-
-$(eval $(call PECLPackage,$(PECL_NAME),$(PECL_LONGNAME),@BROKEN))
-$(eval $(call BuildPackage,$(PKG_NAME)))
-

--- a/lang/php5-pecl-dio/Makefile
+++ /dev/null
@@ -1,30 +1,1 @@
-#
-# Copyright (C) 2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PECL_NAME:=dio
-PECL_LONGNAME:=Direct I/O functions
-
-PKG_VERSION:=0.0.6
-PKG_RELEASE:=1
-PKG_MD5SUM:=95bde93a41def9c2d97532eeb0c83bd3
-
-PKG_NAME:=php5-pecl-$(PECL_NAME)
-PKG_SOURCE:=$(PECL_NAME)-$(PKG_VERSION).tgz
-PKG_SOURCE_URL:=http://pecl.php.net/get/
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PECL_NAME)-$(PKG_VERSION)
-PKG_BUILD_PARALLEL:=1
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/nls.mk
-include ../php5/pecl.mk
-
-$(eval $(call PECLPackage,$(PECL_NAME),$(PECL_LONGNAME)))
-$(eval $(call BuildPackage,$(PKG_NAME)))
-

--- a/lang/php5-pecl-dio/patches/010-additional-baudrates.patch
+++ /dev/null
@@ -1,30 +1,1 @@
---- a/dio.c
-+++ b/dio.c
-@@ -442,6 +442,26 @@ PHP_FUNCTION(dio_tcsetattr)
- 
- 	/* assign to correct values... */
- 	switch (Baud_Rate)  {
-+#ifdef B460800
-+		case 460800:
-+			BAUD = B460800;
-+			break;
-+#endif
-+#ifdef B230400
-+		case 230400:
-+			BAUD = B230400;
-+			break;
-+#endif
-+#ifdef B115200
-+		case 115200:
-+			BAUD = B115200;
-+			break;
-+#endif
-+#ifdef B57600
-+		case 57600:
-+			BAUD = B57600;
-+			break;
-+#endif
- 		case 38400:
- 			BAUD = B38400;
- 			break;
 

--- a/lang/php5-pecl-libevent/Makefile
+++ /dev/null
@@ -1,32 +1,1 @@
-#
-# Copyright (C) 2012-2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PECL_NAME:=libevent
-PECL_LONGNAME:=Libevent - event notification
-
-PKG_VERSION:=0.1.0
-PKG_RELEASE:=1
-PKG_MD5SUM:=e091371a9e714098a4c04a6e3daeb56a
-
-PKG_NAME:=php5-pecl-$(PECL_NAME)
-PKG_SOURCE:=$(PECL_NAME)-$(PKG_VERSION).tgz
-PKG_SOURCE_URL:=http://pecl.php.net/get/
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PECL_NAME)-$(PKG_VERSION)
-PKG_BUILD_PARALLEL:=1
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/nls.mk
-include ../php5/pecl.mk
-
-CONFIGURE_ARGS+= --with-libevent=shared,"$(STAGING_DIR)/usr"
-
-$(eval $(call PECLPackage,$(PECL_NAME),$(PECL_LONGNAME),+libevent2))
-$(eval $(call BuildPackage,$(PKG_NAME)))
-

file:a/lang/pymysql/Makefile (deleted)
--- a/lang/pymysql/Makefile
+++ /dev/null
@@ -1,52 +1,1 @@
-#
-# Copyright (C) 2007-2008 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=MySQL-python
-PKG_VERSION:=1.2.2
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=@SF/mysql-python
-PKG_MD5SUM:=532268f02870bea18c1d465e88afff30
-
-PKG_BUILD_DEPENDS:=python
-
-include $(INCLUDE_DIR)/package.mk
-$(call include_mk, python-package.mk)
-
-define Package/python-mysql
-  SUBMENU:=Python
-  SECTION:=lang
-  CATEGORY:=Languages
-  TITLE:=MySQL database adapter for Python
-  URL:=http://mysql-python.sourceforge.net/
-  DEPENDS:=+python +libmysqlclient
-endef
-
-define Package/python-mysql/description
- MySQLdb is an thread-compatible interface to the popular MySQL database
- server that provides the Python database API.
-endef
-
-define PyPackage/python-mysql/filespec
-+|$(PYTHON_PKG_DIR)/_mysql.so
-+|$(PYTHON_PKG_DIR)/_mysql_exceptions.py*
-+|$(PYTHON_PKG_DIR)/MySQLdb
-endef
-
-define Build/Compile
-	$(if $(Build/Compile/PyMod),,@echo Python packaging code not found.; false)
-	$(call Build/Compile/PyMod,., \
-		install --prefix="$(PKG_INSTALL_DIR)/usr", \
-	)
-endef
-
-$(eval $(call PyPackage,python-mysql))
-$(eval $(call BuildPackage,python-mysql))
-

--- a/lang/pymysql/patches/000-setup.patch
+++ /dev/null
@@ -1,13 +1,1 @@
---- MySQL-python-1.2.2/setup.py	2007-02-25 04:37:12.000000000 +0100
-+++ MySQL-python-1.2.2/setup.py	2007-08-15 12:23:18.000000000 +0200
-@@ -2,8 +2,7 @@
- 
- import os
- import sys
--import ez_setup; ez_setup.use_setuptools()
--from setuptools import setup, Extension
-+from distutils.core import setup, Extension
- 
- if sys.version_info < (2, 3):
-     raise Error, "Python-2.3 or newer is required"
 

--- a/lang/pymysql/patches/010-threadsafe.patch
+++ /dev/null
@@ -1,12 +1,1 @@
---- MySQL-python-1.2.2/site_orig.cfg	2007-08-15 12:58:40.000000000 +0200
-+++ MySQL-python-1.2.2/site.cfg	2007-08-15 12:58:49.000000000 +0200
-@@ -4,7 +4,7 @@
- # static: link against a static library (probably required for embedded)
- 
- embedded = False
--threadsafe = True
-+threadsafe = False
- static = False
- 
- # The path to mysql_config.
 

--- a/lang/python-imaging-library/Makefile
+++ /dev/null
@@ -1,60 +1,1 @@
-#
-# Copyright (C) 2011 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=python-imaging-library
-PKG_VERSION:=1.1.7
-PKG_RELEASE:=2
-
-PKG_SOURCE:=Imaging-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://effbot.org/downloads
-PKG_MD5SUM:=fc14a54e1ce02a0225be8854bfba478e
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/Imaging-$(PKG_VERSION)
-PKG_BUILD_DEPENDS:=python
-
-include $(INCLUDE_DIR)/package.mk
-$(call include_mk, python-package.mk)
-
-define Package/python-imaging-library
-  SECTION:=language-python
-  CATEGORY:=Languages
-  SUBMENU:=Python
-  TITLE:=Python Imaging Library (PIL)
-  URL:=http://www.pythonware.com/products/pil/
-  DEPENDS:=+python +libfreetype +libjpeg +zlib
-endef
-
-define Package/python-imaging-library/description
- The Python Imaging Library adds image processing capabilities to your
- Python interpreter.
- .
- This library provides extensive file format support, an efficient
- internal representation, and fairly powerful image processing
- capabilities.
- .
- The core image library is designed for fast access to data stored in a
- few basic pixel formats. It should provide a solid foundation for a
- general image processing tool.
-endef
-
-define Build/Compile
-	$(call Build/Compile/PyMod,., \
-		install --prefix="/usr" --root="$(PKG_INSTALL_DIR)", \
-	)
-endef
-
-define Package/python-imaging-library/install
-	$(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)
-	$(CP) \
-		$(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \
-		$(1)$(PYTHON_PKG_DIR)/
-endef
-
-$(eval $(call BuildPackage,python-imaging-library))
-

--- a/lang/python-imaging-library/patches/101-cross_compile.patch
+++ /dev/null
@@ -1,34 +1,1 @@
---- a/setup.py	2011-11-15 01:06:00.000000000 +0100
-+++ b/setup.py	2011-11-15 01:07:32.000000000 +0100
-@@ -147,7 +147,6 @@
-             add_directory(library_dirs, "/opt/local/lib")
-             add_directory(include_dirs, "/opt/local/include")
- 
--        add_directory(library_dirs, "/usr/local/lib")
-         # FIXME: check /opt/stuff directories here?
- 
-         prefix = sysconfig.get_config_var("prefix")
-@@ -199,22 +198,6 @@
-             add_directory(include_dirs, include_root)
- 
-         #
--        # add standard directories
--
--        # look for tcl specific subdirectory (e.g debian)
--        if _tkinter:
--            tcl_dir = "/usr/include/tcl" + TCL_VERSION
--            if os.path.isfile(os.path.join(tcl_dir, "tk.h")):
--                add_directory(include_dirs, tcl_dir)
--
--        # standard locations
--        add_directory(library_dirs, "/usr/local/lib")
--        add_directory(include_dirs, "/usr/local/include")
--
--        add_directory(library_dirs, "/usr/lib")
--        add_directory(include_dirs, "/usr/include")
--
--        #
-         # insert new dirs *before* default libs, to avoid conflicts
-         # between Python PYD stub libs and real libraries
- 
 

file:a/lang/pyyaml/Makefile (deleted)
--- a/lang/pyyaml/Makefile
+++ /dev/null
@@ -1,48 +1,1 @@
-#
-# Copyright (C) 2008 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=PyYAML
-PKG_VERSION:=3.11
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://pyyaml.org/download/pyyaml/
-PKG_MD5SUM:=f50e08ef0fe55178479d3a618efe21db
-
-PKG_BUILD_DEPENDS:=python
-
-include $(INCLUDE_DIR)/package.mk
-$(call include_mk, python-package.mk)
-
-define Package/pyyaml
-  SUBMENU:=Python
-  SECTION:=lang
-  CATEGORY:=Languages
-  TITLE:=pyyaml
-  URL:=http://pyyaml.org
-  DEPENDS:=+python +libyaml
-endef
-
-define Package/pyyaml/description
-  yaml python bindings
-endef
-
-define Build/Compile
-	$(call Build/Compile/PyMod,,--with-libyaml install --prefix="$(PKG_INSTALL_DIR)/usr")
-endef
-
-define Package/pyyaml/install
-	$(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)
-	$(CP) \
-	    $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \
-	    $(1)$(PYTHON_PKG_DIR)
-endef
-
-$(eval $(call BuildPackage,pyyaml))
-

--- a/lang/simplejson/Makefile
+++ /dev/null
@@ -1,47 +1,1 @@
-#
-# Copyright (C) 2011 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=simplejson
-PKG_VERSION:=2.2.1
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://pypi.python.org/packages/source/s/simplejson/
-PKG_MD5SUM:=070c6467462bd63306f1756b01df6d70
-PKG_BUILD_DEPENDS:=python
-
-include $(INCLUDE_DIR)/package.mk
-$(call include_mk, python-package.mk)
-
-define Package/simplejson
-  SUBMENU:=Python
-  SECTION:=lang
-  CATEGORY:=Languages
-  TITLE:=Simple, fast, extensible JSON encoder/decoder for Python
-  URL:=http://simplejson.readthedocs.org/
-  DEPENDS:=+python +distribute
-endef
-
-define Package/simplejson/description
-  Simple, fast, extensible JSON encoder/decoder for Python
-endef
-
-define Build/Compile
-	$(call Build/Compile/PyMod,,install --prefix=/usr --root=$(PKG_INSTALL_DIR))
-endef
-
-define Package/simplejson/install
-	$(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)
-	$(CP) \
-	    $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \
-	    $(1)$(PYTHON_PKG_DIR)
-endef
-
-$(eval $(call BuildPackage,simplejson))
-

file:a/lang/urbi/Makefile (deleted)
--- a/lang/urbi/Makefile
+++ /dev/null
@@ -1,67 +1,1 @@
-#
-# Copyright (C) 2007-2010 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=urbi
-PKG_VERSION:=1.0RC2-l455
-PKG_RELEASE:=2
-
-PKG_SOURCE:=$(PKG_NAME)-sdk-$(PKG_VERSION)-src.zip
-PKG_SOURCE_URL:=http://www.gostai.com/downloads/aibo/
-PKG_MD5SUM:=02f64abb6232ddd7b0cb6dc182e2df26
-PKG_FIXUP:=libtool-ucxx
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-sdk
-
-include $(INCLUDE_DIR)/package.mk
-
-TARGET_CFLAGS += $(FPIC)
-
-define Package/urbi
-  SECTION:=lang
-  CATEGORY:=Languages
-  DEPENDS:=+uclibcxx +libpthread @BROKEN
-  TITLE:=URBI SDK
-  URL:=http://www.urbiforge.com
-endef
-
-define Package/urbi/description
-  Universal Real-Time Behavior Interface for robots.
-endef
-
-CONFIGURE_VARS += \
-	CXX="g++-uc" \
-	CXXFLAGS="$$$$CXXFLAGS -fno-rtti" \
-	EXAMPLES=0 \
-
-define Build/Compile
-	$(MAKE) -C $(PKG_BUILD_DIR) \
-		$(TARGET_CONFIGURE_OPTS) \
-		DESTDIR="$(PKG_INSTALL_DIR)" \
-		WARNING_CXXFLAGS="-Wall" \
-		all install
-endef
-
-define Build/InstallDev
-	$(INSTALL_DIR) $(1)/usr/include/urbi
-	$(CP) $(PKG_INSTALL_DIR)/usr/include/urbi* $(1)/usr/include/urbi/
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/liburbi* $(1)/usr/lib/
-endef
-
-define Package/urbi/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
-	$(INSTALL_DIR) $(1)/usr/gostai
-	$(CP) $(PKG_INSTALL_DIR)/usr/gostai/* $(1)/usr/gostai/
-endef
-
-$(eval $(call BuildPackage,urbi))
-

--- a/lang/urbi/patches/001-no_examples.patch
+++ /dev/null
@@ -1,32 +1,1 @@
-diff -urN urbi-sdk/src/Makefile.am urbi-sdk.new/src/Makefile.am
---- urbi-sdk/src/Makefile.am	2007-01-31 11:37:04.000000000 +0100
-+++ urbi-sdk.new/src/Makefile.am	2007-10-03 11:17:00.000000000 +0200
-@@ -1,5 +1,5 @@
- SUBDIRS = liburbi 
- 
- if EXAMPLES
--SUBDIRS += utils examples
-+SUBDIRS += utils
- endif
-diff -urN urbi-sdk/src/Makefile.in urbi-sdk.new/src/Makefile.in
---- urbi-sdk/src/Makefile.in	2007-04-10 17:44:07.000000000 +0200
-+++ urbi-sdk.new/src/Makefile.in	2007-10-03 11:14:33.000000000 +0200
-@@ -30,7 +30,7 @@
- POST_UNINSTALL = :
- build_triplet = @build@
- host_triplet = @host@
--@EXAMPLES_TRUE@am__append_1 = utils examples
-+@EXAMPLES_TRUE@am__append_1 = utils
- subdir = src
- DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-@@ -68,7 +68,7 @@
-   distclean-recursive maintainer-clean-recursive
- ETAGS = etags
- CTAGS = ctags
--DIST_SUBDIRS = liburbi utils examples
-+DIST_SUBDIRS = liburbi utils
- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
- INSTALL_HEADER = @INSTALL_HEADER@
- ACLOCAL = @ACLOCAL@
 

--- a/lang/urbi/patches/005-fix-gcc_4_3-compile.patch
+++ /dev/null
@@ -1,23 +1,1 @@
-diff --git a/libport/semaphore.hxx b/libport/semaphore.hxx
-index bb2546d..38b0d8e 100644
---- a/libport/semaphore.hxx
-+++ b/libport/semaphore.hxx
-@@ -5,6 +5,7 @@
- # include "exception.hh"
- # include <sstream>
- # include <string>
-+# include <cstring>
- 
- namespace libport
- {
---- a/src/liburbi/uconversion.cc	2007-01-31 11:37:04.000000000 +0100
-+++ b/src/liburbi/uconversion.cc	2010-03-29 09:43:00.000000000 +0200
-@@ -1,5 +1,7 @@
- #include "urbi/uconversion.hh"
- 
-+#include <cstdio>
-+
- #ifndef NO_IMAGE_CONVERSION
- # include <setjmp.h>
- 
 

file:a/lang/vala/Makefile (deleted)
--- a/lang/vala/Makefile
+++ /dev/null
@@ -1,72 +1,1 @@
-#
-# Copyright (C) 2006-2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=vala
-PKG_VERSION:=0.16.0
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=@GNOME/vala/0.16/
-PKG_MD5SUM:=84b742e9cca4c90fde3026c3793c03c1
-
-PKG_BUILD_DEPENDS:=glib2/host vala/host
-HOST_BUILD_DEPENDS:=glib2/host
-
-include $(INCLUDE_DIR)/host-build.mk
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/nls.mk
-
-TARGET_LDFLAGS+=\
-        -Wl,-rpath-link=$(STAGING_DIR)/usr/lib
-
-define Package/vala
-  SECTION:=lang
-  CATEGORY:=Languages
-  TITLE:=C-sharp like language for the GObject system
-  URL:=http://live.gnome.org/Vala
-endef
-
-define Package/vala/description
-Vala is a C-sharp like language for the GObject system. This package contains
-the Vala-to-C compiler.
-endef
-
-define Build/Compile
-	$(MAKE) -C $(PKG_BUILD_DIR) \
-		DESTDIR="$(PKG_INSTALL_DIR)" \
-		all install
-endef
-
-define Build/InstallDev
-	$(INSTALL_DIR) \
-		$(1)/usr/share/vala-0.16/vapi \
-		$(1)/usr/lib \
-		$(1)/usr/share/pkgconfig \
-		$(1)/usr/bin
-
-	$(INSTALL_DATA) \
-		$(PKG_INSTALL_DIR)/usr/share/vala-0.16/vapi/* \
-		$(1)/usr/share/vala-0.16/vapi
-
-	$(INSTALL_DATA) \
-		$(PKG_INSTALL_DIR)/usr/lib/libvala-0.16.{so*,la} \
-		$(1)/usr/lib
-
-	$(INSTALL_BIN) \
-		$(PKG_INSTALL_DIR)/usr/bin/{vala,vala-0.16,valac,valac-0.16,vapicheck,vapicheck-0.16,vapigen,vapigen-0.16,vala-gen-introspect,vala-gen-introspect-0.16} \
-		$(1)/usr/bin
-
-	$(INSTALL_DATA) \
-		$(PKG_INSTALL_DIR)/usr/share/pkgconfig/*.pc \
-		$(1)/usr/share/pkgconfig
-endef
-
-$(eval $(call HostBuild))
-$(eval $(call BuildPackage,vala))
-

--- a/libs/bluez-libs/Makefile
+++ /dev/null
@@ -1,51 +1,1 @@
-#
-# Copyright (C) 2006-2010 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=bluez-libs
-PKG_VERSION:=3.36
-PKG_RELEASE:=3
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://bluez.sourceforge.net/download
-PKG_MD5SUM:=8c2ca546c0e7bb73dbd0e906fce7f6b1
-
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/bluez-libs
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=Bluetooth library
-  URL:=http://www.bluez.org/
-endef
-
-CONFIGURE_ARGS += \
-		--enable-shared \
-		--enable-static \
-
-TARGET_CFLAGS += $(FPIC)
-
-define Build/InstallDev
-	$(INSTALL_DIR) $(1)/usr/include/bluetooth
-	$(CP) $(PKG_INSTALL_DIR)/usr/include/bluetooth/*.h $(1)/usr/include/bluetooth
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libbluetooth.{a,so*} $(1)/usr/lib/
-	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/bluez.pc $(1)/usr/lib/pkgconfig/
-endef
-
-define Package/bluez-libs/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libbluetooth.so.* $(1)/usr/lib/
-endef
-
-$(eval $(call BuildPackage,bluez-libs))
-

--- a/libs/bluez-libs/patches/010-dont-override-libdir.patch
+++ /dev/null
@@ -1,16 +1,1 @@
-diff --git a/configure b/configure
-index 6a387c6..5ffc003 100755
---- a/configure
-+++ b/configure
-@@ -2430,10 +2430,6 @@ fi
- 		prefix="${ac_default_prefix}"
- 	fi
- 
--	if (test "${libdir}" = '${exec_prefix}/lib'); then
--		libdir="${prefix}/lib"
--	fi
--
- 	if (test "$sysconfdir" = '${prefix}/etc'); then
- 		configdir="${prefix}/etc/bluetooth"
- 	else
 

file:a/libs/boost/Makefile (deleted)
--- a/libs/boost/Makefile
+++ /dev/null
@@ -1,379 +1,1 @@
-#
-# Copyright (C) 2009-2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-# Dude, this "boost" is really one of the most crude stuff I ported yet.
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=boost
-PKG_VERSION:=1_51_0
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=@SF/boost
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)_$(PKG_VERSION)
-HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)_$(PKG_VERSION)
-PKG_MD5SUM:=6a1f32d902203ac70fbec78af95b3cf8
-
-PKG_BUILD_DEPENDS:=boost/host
-PKG_BUILD_PARALLEL:=0
-PKG_USE_MIPS16:=0
-
-PKG_CONFIG_DEPENDS := \
-	CONFIG_PACKAGE_boost-date_time \
-	CONFIG_PACKAGE_boost-filesystem \
-	CONFIG_PACKAGE_boost-graph \
-	CONFIG_PACKAGE_boost-iostreams \
-	CONFIG_PACKAGE_boost-math \
-	CONFIG_PACKAGE_boost-program_options \
-	CONFIG_PACKAGE_boost-python \
-	CONFIG_PACKAGE_boost-regex \
-	CONFIG_PACKAGE_boost-serialization \
-	CONFIG_PACKAGE_boost-signals \
-	CONFIG_PACKAGE_boost-system \
-	CONFIG_PACKAGE_boost-test \
-	CONFIG_PACKAGE_boost-thread \
-	CONFIG_PACKAGE_boost-wave \
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/host-build.mk
-
-define Package/boost/Default
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=Boost C++ source libraries
-  URL:=http://www.boost.org
-  DEPENDS:=+libstdcpp +libpthread +librt
-  MAINTAINER:=Mirko Vogt <mirko@openwrt.org>
-endef
-
-define Package/boost/Default/description
-  Boost provides free peer-reviewed portable C++ source libraries
-endef
-
-define Package/boost-chrono
-  $(call Package/boost/Default)
-  TITLE+= (chrono)
-  DEPENDS+= +boost-system
-endef
-
-define Package/boost-date_time
-  $(call Package/boost/Default)
-  TITLE+= (date_time)
-endef
-
-define Package/boost-exception
-  $(call Package/boost/Default)
-  TITLE+= (exception)
-endef
-
-define Package/boost-filesystem
-  $(call Package/boost/Default)
-  TITLE+= (filesystem)
-  DEPENDS+= +boost-system
-endef
-
-define Package/boost-graph
-  $(call Package/boost/Default)
-  TITLE+= (graph)
-  DEPENDS+= +boost-regex
-endef
-
-define Package/boost-graph_parallel
-  $(call Package/boost/Default)
-  TITLE+= (graph_parallel)
-endef
-
-define Package/boost-iostreams
-  $(call Package/boost/Default)
-  TITLE+= (iostreams)
-  DEPENDS+= +zlib
-endef
-
-define Package/boost-locale
-  $(call Package/boost/Default)
-  TITLE+= (locale)
-endef
-
-define Package/boost-math
-  $(call Package/boost/Default)
-  TITLE+= (math)
-endef
-
-define Package/boost-mpi
-  $(call Package/boost/Default)
-  TITLE+= (mpi)
-endef
-
-define Package/boost-program_options
-  $(call Package/boost/Default)
-  TITLE+= (program_options)
-endef
-
-define Package/boost-python
-  $(call Package/boost/Default)
-  TITLE+= (python)
-  DEPENDS+= +PACKAGE_boost-python:python
-endef
-
-define Package/boost-random
-  $(call Package/boost/Default)
-  TITLE+= (random)
-endef
-
-define Package/boost-regex
-  $(call Package/boost/Default)
-  TITLE+= (regex)
-endef
-
-define Package/boost-serialization
-  $(call Package/boost/Default)
-  TITLE+= (serialization)
-endef
-
-define Package/boost-signals
-  $(call Package/boost/Default)
-  TITLE+= (signals)
-endef
-
-define Package/boost-system
-  $(call Package/boost/Default)
-  TITLE+= (system)
-endef
-
-define Package/boost-test
-  $(call Package/boost/Default)
-  TITLE+= (test)
-endef
-
-define Package/boost-thread
-  $(call Package/boost/Default)
-  TITLE+= (thread)
-  DEPENDS+= +boost-system +boost-chrono
-endef
-
-define Package/boost-timer
-  $(call Package/boost/Default)
-  TITLE+= (timer)
-  DEPENDS+= boost-chrono
-endef
-
-define Package/boost-wave
-  $(call Package/boost/Default)
-  TITLE+= (wave)
-  DEPENDS+= +boost-date_time +boost-thread +boost-filesystem
-endef
-
-define Package/boost
-  $(call Package/boost/Default)
-  TITLE+= (header-only)
-  BUILDONLY:=1
-endef
-
-define Build/Configure
-endef
-
-define Host/Compile
-	# bjam does not provide a configure-script nor a Makefile
-	( cd $(HOST_BUILD_DIR)/tools/build/v2/engine ; ./build.sh gcc )
-endef
-
-CONFIGURE_PREFIX:=$(PKG_INSTALL_DIR)
-TARGET_LDFLAGS += -pthread -lrt
-
-define Build/Compile
-	( cd $(PKG_BUILD_DIR) ; \
-		echo "using gcc : $(ARCH) : $(GNU_TARGET_NAME)-gcc : <compileflags>\"$(TARGET_CFLAGS)\" <cxxflags>\"$(TARGET_CXXFLAGS)\" <linkflags>\"$(TARGET_LDFLAGS)\" ;" > tools/build/v2/user-config.jam ; \
-		$(if $(CONFIG_PACKAGE_boost-python), \
-			echo "using python : : $(STAGING_DIR_ROOT)/usr/bin/python :	$(STAGING_DIR)/usr/include/python2.7/ ;" >> \
-				tools/build/v2/user-config.jam; \
-		) \
-		bjam \
-			'-sBUILD=release <optimization>space <inlining>on <debug-symbols>off' \
-			--toolset=gcc-$(ARCH) --build-type=minimal --layout=system \
-			--disable-long-double \
-			$(CONFIGURE_ARGS) \
-			$(if $(CONFIG_PACKAGE_boost-chrono),,--without-chrono) \
-			$(if $(CONFIG_PACKAGE_boost-date_time),,--without-date_time) \
-			$(if $(CONFIG_PACKAGE_boost-exception),,--without-exception) \
-			$(if $(CONFIG_PACKAGE_boost-filesystem),,--without-filesystem) \
-			$(if $(CONFIG_PACKAGE_boost-graph),,--without-graph) \
-			$(if $(CONFIG_PACKAGE_boost-graph_parallel),,--without-graph_parallel) \
-			$(if $(CONFIG_PACKAGE_boost-iostreams),,--without-iostreams) \
-			$(if $(CONFIG_PACKAGE_boost-locale),,--without-locale) \
-			$(if $(CONFIG_PACKAGE_boost-math),,--without-math) \
-			$(if $(CONFIG_PACKAGE_boost-mpi),,--without-mpi) \
-			$(if $(CONFIG_PACKAGE_boost-program_options),,--without-program_options) \
-			$(if $(CONFIG_PACKAGE_boost-python),,--without-python) \
-			$(if $(CONFIG_PACKAGE_boost-random),,--without-random) \
-			$(if $(CONFIG_PACKAGE_boost-regex),,--without-regex) \
-			$(if $(CONFIG_PACKAGE_boost-serialization),,--without-serialization) \
-			$(if $(CONFIG_PACKAGE_boost-signals),,--without-signals) \
-			$(if $(CONFIG_PACKAGE_boost-system),,--without-system) \
-			$(if $(CONFIG_PACKAGE_boost-test),,--without-test) \
-			$(if $(CONFIG_PACKAGE_boost-thread),,--without-thread) \
-			$(if $(CONFIG_PACKAGE_boost-timer),,--without-timer) \
-			$(if $(CONFIG_PACKAGE_boost-wave),,--without-wave) \
-			\
-			$(if $(CONFIG_PACKAGE_boost-iostreams),-sNO_BZIP2=1 -sZLIB_INCLUDE=$(STAGING_DIR)/usr/include \
-				-sZLIB_LIBPATH=$(STAGING_DIR)/usr/lib) \
-			install \
-	)
-endef
-
-define Build/InstallDev
-	$(INSTALL_DIR) \
-		$(1)/usr/include/boost/
-
-	$(CP) \
-		$(PKG_INSTALL_DIR)/include/boost/* \
-		$(1)/usr/include/boost/ \
-		# copies _all_ header files - independent of <--with-library>-argument above
-
-	if [ -d $(PKG_INSTALL_DIR)/lib ]; then \
-		$(INSTALL_DIR) \
-			$(1)/usr/lib; \
-		$(CP) \
-			$(PKG_INSTALL_DIR)/lib/*.a \
-			$(1)/usr/lib/; \
-		$(CP) \
-			$(PKG_INSTALL_DIR)/lib/*.so* \
-			$(1)/usr/lib/; \
-	fi
-endef
-
-define Host/Install
-	$(INSTALL_DIR) \
-		$(STAGING_DIR_HOST)/bin
-
-	$(CP) \
-		$(HOST_BUILD_DIR)/tools/build/v2/engine/bin.*/bjam \
-		$(STAGING_DIR_HOST)/bin/
-endef
-
-define Package/boost/Default/install
-	$(INSTALL_DIR) \
-		$(1)/usr/lib
-
-	$(CP) \
-		$(PKG_INSTALL_DIR)/lib/libboost_$(2)*.so* \
-		$(1)/usr/lib/
-endef
-
-define Package/boost-chrono/install
-  $(call Package/boost/Default/install,$(1),chrono)
-endef
-
-define Package/boost-date_time/install
-  $(call Package/boost/Default/install,$(1),date_time)
-endef
-
-define Package/boost-exception/install
-  $(call Package/boost/Default/install,$(1),exception)
-endef
-
-define Package/boost-filesystem/install
-  $(call Package/boost/Default/install,$(1),filesystem)
-endef
-
-define Package/boost-graph/install
-  $(call Package/boost/Default/install,$(1),graph)
-endef
-
-define Package/boost-graph_parallel/install
-  $(call Package/boost/Default/install,$(1),graph_parallel)
-endef
-
-define Package/boost-iostreams/install
-  $(call Package/boost/Default/install,$(1),iostreams)
-endef
-
-define Package/boost-math/install
-  $(call Package/boost/Default/install,$(1),math)
-endef
-
-define Package/boost-mpi/install
-  $(call Package/boost/Default/install,$(1),mpi)
-endef
-
-define Package/boost-program_options/install
-  $(call Package/boost/Default/install,$(1),program_options)
-endef
-
-define Package/boost-python/install
-  $(call Package/boost/Default/install,$(1),python)
-endef
-
-define Package/boost-random/install
-  $(call Package/boost/Default/install,$(1),random)
-endef
-
-define Package/boost-regex/install
-  $(call Package/boost/Default/install,$(1),regex)
-endef
-
-define Package/boost-serialization/install
-  $(call Package/boost/Default/install,$(1),serialization)
-endef
-
-define Package/boost-signals/install
-  $(call Package/boost/Default/install,$(1),signals)
-endef
-
-define Package/boost-system/install
-  $(call Package/boost/Default/install,$(1),system)
-endef
-
-define Package/boost-test/install
-	$(INSTALL_DIR) \
-		$(1)/usr/lib
-
-	$(CP) \
-		$(PKG_INSTALL_DIR)/lib/libboost_unit_test_framework*.so* \
-		$(1)/usr/lib/
-
-	$(CP) \
-		$(PKG_INSTALL_DIR)/lib/libboost_prg_exec_monitor*.so* \
-		$(1)/usr/lib/
-endef
-
-define Package/boost-thread/install
-  $(call Package/boost/Default/install,$(1),thread)
-endef
-
-define Package/boost-timer/install
-  $(call Package/boost/Default/install,$(1),timer)
-endef
-
-define Package/boost-wave/install
-  $(call Package/boost/Default/install,$(1),wave)
-endef
-
-$(eval $(call HostBuild))
-$(eval $(call BuildPackage,boost))
-$(eval $(call BuildPackage,boost-chrono))
-$(eval $(call BuildPackage,boost-date_time))
-#$(eval $(call BuildPackage,boost-exception))
-$(eval $(call BuildPackage,boost-filesystem))
-$(eval $(call BuildPackage,boost-graph))
-#$(eval $(call BuildPackage,boost-graph_parallel))
-$(eval $(call BuildPackage,boost-iostreams))
-$(eval $(call BuildPackage,boost-locale))
-$(eval $(call BuildPackage,boost-math))
-#$(eval $(call BuildPackage,boost-mpi))
-$(eval $(call BuildPackage,boost-program_options))
-$(eval $(call BuildPackage,boost-random))
-$(eval $(call BuildPackage,boost-python))
-$(eval $(call BuildPackage,boost-regex))
-$(eval $(call BuildPackage,boost-serialization))
-$(eval $(call BuildPackage,boost-signals))
-$(eval $(call BuildPackage,boost-system))
-$(eval $(call BuildPackage,boost-test))
-$(eval $(call BuildPackage,boost-thread))
-$(eval $(call BuildPackage,boost-timer))
-$(eval $(call BuildPackage,boost-wave))
-

--- a/libs/boost/patches/100-do-not-use-librt.patch
+++ /dev/null
@@ -1,26 +1,1 @@
---- a/tools/build/v2/tools/gcc.jam
-+++ b/tools/build/v2/tools/gcc.jam
-@@ -1063,8 +1063,7 @@ rule setup-threading ( targets * : sourc
-             }
-             case * :
-             {
--                option = -pthread ;
--                libs = rt ;
-+                # pass appropriate options via OpenWrt
-             }
-         }
-     
---- a/tools/build/v2/tools/gcc.py
-+++ b/tools/build/v2/tools/gcc.py
-@@ -685,8 +685,8 @@ elif bjam.variable('UNIX'):
-         # Darwin has no threading options, don't set anything here.
-         pass
-     else:
--        flags('gcc', 'OPTIONS', ['<threading>multi'], ['-pthread'])
--        flags('gcc', 'FINDLIBS-SA', [], ['rt'])
-+        # pass appropriate options via OpenWrt
-+        pass
- 
- def cpu_flags(toolset, variable, architecture, instruction_set, values, default=None):
-     #FIXME: for some reason this fails.  Probably out of date feature code
 

--- a/libs/boost/patches/200-cstdint_missing_include.patch
+++ /dev/null
@@ -1,13 +1,1 @@
---- a/libs/context/src/fcontext.cpp.new	2012-12-11 17:59:59.349131458 +0100
-+++ b/libs/context/src/fcontext.cpp	2012-12-11 18:00:06.925131652 +0100
-@@ -9,6 +9,9 @@
- #include <boost/context/fcontext.hpp>
- 
- #include <cstddef>
-+extern "C" {
-+#include <stdint.h>
-+}
- 
- #ifdef BOOST_HAS_ABI_HEADERS
- #  include BOOST_ABI_PREFIX
 

file:a/libs/check/Makefile (deleted)
--- a/libs/check/Makefile
+++ /dev/null
@@ -1,62 +1,1 @@
-#
-# Copyright (C) 2008-2010 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=check
-PKG_VERSION:=0.9.8
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=@SF/check
-PKG_MD5SUM:=5d75e9a6027cde79d2c339ef261e7470
-
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-TARGET_CFLAGS += $(FPIC)
-
-define Package/check
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=Unit testing framework for C
-  URL:=http://check.sourceforge.net/
-  DEPENDS:= +libpthread
-endef
-
-define Package/check/description
-  Check features a simple interface for defining unit tests, putting little in
-  the way of the developer. Tests are run in a separate address space, so Check
-  can catch both assertion failures and code errors that cause segmentation
-  faults or other signals. The output from unit tests can be used within source
-  code editors and IDEs.
-endef
-
-define Build/Configure
-	$(CP) $(SCRIPT_DIR)/config.* $(PKG_BUILD_DIR)/build-aux/
-	$(call Build/Configure/Default)
-endef
-
-define Build/Install
-	$(call Build/Install/Default)
-	cd $(PKG_INSTALL_DIR)/usr/lib/ ; ln -nsf libcheck.so libcheck_pic.so
-endef
-
-define Build/InstallDev
-	$(INSTALL_DIR) $(1)
-	$(CP) $(PKG_INSTALL_DIR)/* $(1)/
-endef
-
-define Package/check/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libcheck.so.* $(1)/usr/lib/
-endef
-
-$(eval $(call BuildPackage,check))
-

file:a/libs/classpath/Makefile (deleted)
--- a/libs/classpath/Makefile
+++ /dev/null
@@ -1,89 +1,1 @@
-#
-# Copyright (C) 2006-2010 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=classpath
-PKG_VERSION:=0.98
-PKG_RELEASE:=4
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=@GNU/classpath
-PKG_MD5SUM:=90c6571b8b0309e372faa0f9f6255ea9
-
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/classpath
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=GNU Classpath
-  URL:=http://www.gnu.org/software/classpath/
-  MAINTAINER:=Roberto Riggio <roberto.riggio@create-net.org>
-  DEPENDS:=+alsa-lib +libgmp +libmagic
-endef
-
-define Package/classpath/Description
-	GNU Classpath, Essential Libraries for Java, is a GNU project
-	to create free core class libraries for use with virtual
-	machines and compilers for the java programming language.
-endef
-
-define Package/classpath-tools
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=GNU Classpath tools
-  URL:=http://www.gnu.org/software/classpath/
-  MAINTAINER:=Roberto Riggio <roberto.riggio@create-net.org>
-endef
-
-define Download/antlr
-  URL:=http://www.antlr.org/download
-  FILE:=antlr-3.4-complete.jar
-  MD5SUM:=1b91dea1c7d480b3223f7c8a9aa0e172
-endef
-$(eval $(call Download,antlr))
-
-CONFIGURE_ARGS += \
-	--without-x \
-	--disable-gtk-peer \
-	--disable-qt-peer \
-	--disable-dssi \
-	--disable-plugin \
-	--disable-gconf-peer \
-	--disable-gjdoc \
-	--with-antlr-jar=$(DL_DIR)/antlr-3.4-complete.jar
-
-define Package/classpath/install
-	$(INSTALL_DIR) \
-		$(1)/usr/lib/classpath \
-		$(1)/usr/share/classpath
-	$(CP) \
-		$(PKG_INSTALL_DIR)/usr/lib/security \
-		$(PKG_INSTALL_DIR)/usr/lib/logging.properties \
-		$(1)/usr/lib/
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/classpath/*.so* $(1)/usr/lib/classpath/
-	$(CP) $(PKG_INSTALL_DIR)/usr/share/classpath/glibj.zip $(1)/usr/share/classpath/
-endef
-
-define Package/classpath-tools/install
-	$(INSTALL_DIR) \
-		$(1)/usr/bin \
-		$(1)/usr/share/classpath
-	$(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
-	$(CP) $(PKG_INSTALL_DIR)/usr/share/classpath/tools.zip $(1)/usr/share/classpath/
-endef
-
-define Build/InstallDev
-	$(CP) $(PKG_INSTALL_DIR)/* $(1)/
-endef
-
-$(eval $(call BuildPackage,classpath))
-$(eval $(call BuildPackage,classpath-tools))
-

--- a/libs/classpath/patches/000-fix_include.patch
+++ /dev/null
@@ -1,15 +1,1 @@
-Index: classpath-0.98/configure.ac
-===================================================================
---- classpath-0.98.orig/configure.ac	2009-02-06 00:26:08.000000000 +0100
-+++ classpath-0.98/configure.ac	2012-08-22 10:18:53.325876508 +0200
-@@ -762,8 +762,7 @@
-   dnl change the name of the corresponding ac_ variable on lines 860...
-   if test "x${COMPILE_GMP}" = xyes; then
-     AC_CHECK_LIB(gmp, __gmpz_mul_si,
--      [GMP_CFLAGS=-I/usr/include
--       GMP_LIBS=-lgmp ],
-+      [GMP_LIBS=-lgmp ],
-       [GMP_CFLAGS=
-        GMP_LIBS= ])
-     AC_SUBST(GMP_CFLAGS)
 

--- a/libs/clearsilver/Makefile
+++ b/libs/clearsilver/Makefile
@@ -31,7 +31,7 @@
   CATEGORY:=Libraries
   TITLE:=ClearSilver template system
   URL:=http://www.clearsilver.net/

+  MAINTAINER:=Raphaël HUCK <rhk@cksum.org>
   DEPENDS:=+CLEARSILVER_ENABLE_COMPRESSION:zlib +CLEARSILVER_ENABLE_GETTEXT:libintl
 endef
 

file:a/libs/elfutils/Makefile (deleted)
--- a/libs/elfutils/Makefile
+++ /dev/null
@@ -1,77 +1,1 @@
-#
-# Copyright (C) 2010-2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-include $(TOPDIR)/rules.mk
 
-PKG_NAME:=elfutils
-PKG_VERSION:=0.155
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=http://fedorahosted.org/releases/e/l/$(PKG_NAME)/$(PKG_VERSION)
-PKG_MD5SUM:=163a5712b86f6bdfebdf233cc6e2192d
-
-PKG_INSTALL:=1
-PKG_USE_MIPS16:=0
-
-PKG_BUILD_DEPENDS:=USE_UCLIBC:argp-standalone
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/nls.mk
-
-define Package/elfutils/Default
-  SECTION:=libs
-  CATEGORY:=Libraries
-  DEPENDS:=$(INTL_DEPENDS)
-  TITLE:=ELF manipulation libraries
-  URL:=https://fedorahosted.org/elfutils/
-endef
-
-define Package/libdw
-  $(call Package/elfutils/Default)
-  DEPENDS:=libelf1 +zlib +libbz2
-  TITLE+= (libdw)
-endef
-
-define Package/libelf1
-  $(call Package/elfutils/Default)
-  TITLE+= (libelf)
-endef
-
-ifeq ($(CONFIG_BUILD_NLS),y)
-TARGET_LDFLAGS += "-lintl"
-endif
-
-ifdef CONFIG_USE_UCLIBC
-CONFIGURE_VARS += \
-	LIBS="-largp"
-endif
-
-CONFIGURE_ARGS += \
-	--disable-werror \
-	--without-lzma
-
-define Build/InstallDev
-	$(INSTALL_DIR) $(1)/usr/include
-	$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_BUILD_DIR)/libdw/libdw.{a,so*} $(1)/usr/lib/
-	$(CP) $(PKG_BUILD_DIR)/libelf/libelf.{a,so*} $(1)/usr/lib/
-endef
-
-define Package/libdw/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_BUILD_DIR)/libdw/libdw.so* $(1)/usr/lib/
-endef
-
-define Package/libelf1/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_BUILD_DIR)/libelf/libelf.so* $(1)/usr/lib/
-endef
-
-$(eval $(call BuildPackage,libdw))
-$(eval $(call BuildPackage,libelf1))
-

--- a/libs/elfutils/patches/001-elfutils-portability.patch
+++ /dev/null
@@ -1,1685 +1,1 @@
---- elfutils/backends/ChangeLog
-+++ elfutils/backends/ChangeLog
-@@ -135,6 +135,10 @@
- 	* ppc_attrs.c (ppc_check_object_attribute): Handle tag
- 	GNU_Power_ABI_Struct_Return.
- 
-+2009-01-23  Roland McGrath  <roland@redhat.com>
-+
-+	* Makefile.am (libebl_%.so): Use $(LD_AS_NEEDED).
-+
- 2008-10-04  Ulrich Drepper  <drepper@redhat.com>
- 
- 	* i386_reloc.def: Fix entries for TLS_GOTDESC, TLS_DESC_CALL, and
-@@ -462,6 +466,11 @@
- 	* sparc_init.c: Likewise.
- 	* x86_64_init.c: Likewise.
- 
-+2005-11-22  Roland McGrath  <roland@redhat.com>
-+
-+	* Makefile.am (LD_AS_NEEDED): New variable, substituted by configure.
-+	(libebl_%.so rule): Use it in place of -Wl,--as-needed.
-+
- 2005-11-19  Roland McGrath  <roland@redhat.com>
- 
- 	* ppc64_reloc.def: REL30 -> ADDR30.
-@@ -484,6 +493,9 @@
- 	* Makefile.am (uninstall): Don't try to remove $(pkgincludedir).
- 	(CLEANFILES): Add libebl_$(m).so.
- 
-+	* Makefile.am (WEXTRA): New variable, substituted by configure.
-+	(AM_CFLAGS): Use it in place of -Wextra.
-+
- 	* ppc_reloc.def: Update bits per Alan Modra <amodra@bigpond.net.au>.
- 	* ppc64_reloc.def: Likewise.
- 
---- elfutils/backends/Makefile.am
-+++ elfutils/backends/Makefile.am
-@@ -111,7 +111,7 @@ libebl_%.so libebl_%.map: libebl_%_pic.a
- 	$(LINK) -shared -o $(@:.map=.so) \
- 		-Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \
- 		-Wl,--version-script,$(@:.so=.map) \
--		-Wl,-z,defs -Wl,--as-needed $(libelf) $(libdw) $(libmudflap)
-+		-Wl,-z,defs $(LD_AS_NEEDED) $(libelf) $(libdw) $(libmudflap)
- 	$(textrel_check)
- 
- libebl_i386.so: $(cpu_i386)
---- elfutils/backends/Makefile.in
-+++ elfutils/backends/Makefile.in
-@@ -38,7 +38,8 @@ build_triplet = @build@
- host_triplet = @host@
- DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
- 	$(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog
--@MUDFLAP_TRUE@am__append_1 = -fmudflap
-+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
-+@MUDFLAP_TRUE@am__append_2 = -fmudflap
- subdir = backends
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
- am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-@@ -172,6 +173,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
- INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
- LDFLAGS = @LDFLAGS@
-+LD_AS_NEEDED = @LD_AS_NEEDED@
- LEX = @LEX@
- LEXLIB = @LEXLIB@
- LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -201,6 +203,7 @@ SHELL = @SHELL@
- STRIP = @STRIP@
- USE_NLS = @USE_NLS@
- VERSION = @VERSION@
-+WEXTRA = @WEXTRA@
- XGETTEXT = @XGETTEXT@
- XGETTEXT_015 = @XGETTEXT_015@
- XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-@@ -263,10 +266,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
- 	-I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
- 	-I$(top_srcdir)/libelf -I$(top_srcdir)/libdw
- AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
--	$($(*F)_no_Werror),,-Werror) $(if \
--	$($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
-+	$($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
- 	$($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
--	$(am__append_1)
-+	$(am__append_1) $(am__append_2)
- @MUDFLAP_FALSE@libmudflap = 
- @MUDFLAP_TRUE@libmudflap = -lmudflap
- COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
-@@ -725,7 +727,7 @@ libebl_%.so libebl_%.map: libebl_%_pic.a
- 	$(LINK) -shared -o $(@:.map=.so) \
- 		-Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \
- 		-Wl,--version-script,$(@:.so=.map) \
--		-Wl,-z,defs -Wl,--as-needed $(libelf) $(libdw) $(libmudflap)
-+		-Wl,-z,defs $(LD_AS_NEEDED) $(libelf) $(libdw) $(libmudflap)
- 	$(textrel_check)
- 
- libebl_i386.so: $(cpu_i386)
---- elfutils/ChangeLog
-+++ elfutils/ChangeLog
-@@ -16,6 +16,8 @@
- 
- 2012-01-24  Mark Wielaard  <mjw@redhat.com>
- 
-+	* configure.ac: Wrap AC_COMPILE_IFELSE sources in AC_LANG_SOURCE.
-+
- 	* COPYING: Fix address. Updated version from gnulib.
- 
- 2012-01-23  Mark Wielaard  <mjw@redhat.com>
-@@ -34,6 +36,9 @@
- 
- 2011-10-08  Mike Frysinger  <vapier@gentoo.org>
- 
-+	* configure.ac (--disable-werror): Handle it, controlling BUILD_WERROR
-+	automake option.
-+
- 	* configure.ac: Fix use of AC_ARG_ENABLE to handle $enableval correctly.
- 
- 2011-10-02  Ulrich Drepper  <drepper@gmail.com>
-@@ -55,6 +60,10 @@
- 
- 	* configure.ac (LOCALEDIR, DATADIRNAME): Removed.
- 
-+2009-11-22  Roland McGrath  <roland@redhat.com>
-+
-+	* configure.ac: Use sed and expr instead of modern bash extensions.
-+
- 2009-09-21  Ulrich Drepper  <drepper@redhat.com>
- 
- 	* configure.ac: Update for more modern autoconf.
-@@ -63,6 +72,10 @@
- 
- 	* configure.ac (zip_LIBS): Check for liblzma too.
- 
-+2009-08-17  Roland McGrath  <roland@redhat.com>
-+
-+	* configure.ac: Check for -fgnu89-inline; add it to WEXTRA if it works.
-+
- 2009-04-19  Roland McGrath  <roland@redhat.com>
- 
- 	* configure.ac (eu_version): Round down here, not in version.h macros.
-@@ -74,6 +87,8 @@
- 
- 2009-01-23  Roland McGrath  <roland@redhat.com>
- 
-+	* configure.ac: Check for __builtin_popcount.
-+
- 	* configure.ac (zlib check): Check for gzdirect, need zlib >= 1.2.2.3.
- 
- 	* configure.ac (__thread check): Use AC_LINK_IFELSE, in case of
-@@ -154,6 +169,10 @@
- 	* configure.ac: Add dummy automake conditional to get dependencies
- 	for non-generic linker right.  See src/Makefile.am.
- 
-+2005-11-22  Roland McGrath  <roland@redhat.com>
-+
-+	* configure.ac: Check for --as-needed linker option.
-+
- 2005-11-18  Roland McGrath  <roland@redhat.com>
- 
- 	* Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New variable.
-@@ -201,6 +220,17 @@
- 	* Makefile.am (all_SUBDIRS): Add libdwfl.
- 	* configure.ac: Write libdwfl/Makefile.
- 
-+2005-05-31  Roland McGrath  <roland@redhat.com>
-+
-+	* configure.ac (WEXTRA): Check for -Wextra and set this substitution.
-+
-+	* configure.ac: Check for struct stat st_?tim members.
-+	* src/strip.c (process_file): Use st_?time if st_?tim are not there.
-+
-+	* configure.ac: Check for futimes function.
-+	* src/strip.c (handle_elf) [! HAVE_FUTIMES]: Use utimes instead.
-+	(handle_ar) [! HAVE_FUTIMES]: Likewise.
-+
- 2005-05-19  Roland McGrath  <roland@redhat.com>
- 
- 	* configure.ac [AH_BOTTOM] (INTDECL, _INTDECL): New macros.
---- elfutils/config/ChangeLog
-+++ elfutils/config/ChangeLog
-@@ -19,6 +19,10 @@
- 
- 	* known-dwarf.awk: Use gawk.
- 
-+2011-10-08  Mike Frysinger  <vapier@gentoo.org>
-+
-+	* eu.am [BUILD_WERROR]: Conditionalize -Werror use on this.
-+
- 2010-07-02  Ulrich Drepper  <drepper@redhat.com>
- 
- 	* elfutils.spec.in: Add more BuildRequires.
---- elfutils/config/eu.am
-+++ elfutils/config/eu.am
-@@ -1,6 +1,6 @@
- ## Common automake fragments for elfutils subdirectory makefiles.
- ##
--## Copyright (C) 2010 Red Hat, Inc.
-+## Copyright (C) 2010-2011 Red Hat, Inc.
- ##
- ## This file is part of elfutils.
- ##
-@@ -29,14 +29,20 @@
- ## not, see <http://www.gnu.org/licenses/>.
- ##
- 
-+WEXTRA = @WEXTRA@
-+LD_AS_NEEDED = @LD_AS_NEEDED@
-+
- DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DLOCALEDIR='"${localedir}"'
- INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I..
- AM_CFLAGS = -std=gnu99 -Wall -Wshadow \
--	    $(if $($(*F)_no_Werror),,-Werror) \
--	    $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
-+	    $(if $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) \
- 	    $(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2) \
- 	    $($(*F)_CFLAGS)
- 
-+if BUILD_WERROR
-+AM_CFLAGS += $(if $($(*F)_no_Werror),,-Werror)
-+endif
-+
- if MUDFLAP
- AM_CFLAGS += -fmudflap
- libmudflap = -lmudflap
---- elfutils/config/Makefile.in
-+++ elfutils/config/Makefile.in
-@@ -76,6 +76,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
- INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
- LDFLAGS = @LDFLAGS@
-+LD_AS_NEEDED = @LD_AS_NEEDED@
- LEX = @LEX@
- LEXLIB = @LEXLIB@
- LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -105,6 +106,7 @@ SHELL = @SHELL@
- STRIP = @STRIP@
- USE_NLS = @USE_NLS@
- VERSION = @VERSION@
-+WEXTRA = @WEXTRA@
- XGETTEXT = @XGETTEXT@
- XGETTEXT_015 = @XGETTEXT_015@
- XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
---- elfutils/config.h.in
-+++ elfutils/config.h.in
-@@ -6,6 +6,9 @@
- /* Defined if libdw should support GNU ref_alt FORM, dwz multi files. */
- #undef ENABLE_DWZ
- 
-+/* Have __builtin_popcount. */
-+#undef HAVE_BUILTIN_POPCOUNT
-+
- /* $libdir subdirectory containing libebl modules. */
- #undef LIBEBL_SUBDIR
- 
-@@ -64,4 +67,7 @@
- /* Define for large files, on AIX-style hosts. */
- #undef _LARGE_FILES
- 
-+/* Stubbed out if missing compiler support. */
-+#undef __thread
-+
- #include <eu-config.h>
---- elfutils/configure
-+++ elfutils/configure
-@@ -598,6 +598,8 @@ ZLIB_TRUE
- LIBEBL_SUBDIR
- TESTS_RPATH_FALSE
- TESTS_RPATH_TRUE
-+BUILD_WERROR_FALSE
-+BUILD_WERROR_TRUE
- BUILD_STATIC_FALSE
- BUILD_STATIC_TRUE
- GCOV_FALSE
-@@ -612,6 +614,8 @@ NEVER_TRUE
- base_cpu
- NATIVE_LD_FALSE
- NATIVE_LD_TRUE
-+LD_AS_NEEDED
-+WEXTRA
- LEXLIB
- LEX_OUTPUT_ROOT
- LEX
-@@ -726,6 +730,7 @@ enable_mudflap
- enable_debugpred
- enable_gprof
- enable_gcov
-+enable_werror
- enable_tests_rpath
- enable_libebl_subdir
- with_zlib
-@@ -1379,6 +1384,7 @@ Optional Features:
-                           prediction
-   --enable-gprof          build binaries with gprof support
-   --enable-gcov           build binaries with gcov support
-+  --disable-werror        do not build with -Werror
-   --enable-tests-rpath    build $ORIGIN-using rpath into tests
-   --enable-libebl-subdir=DIR
-                           install libebl_CPU modules in $(libdir)/DIR
-@@ -3920,6 +3926,130 @@ if test "x$ac_cv_c99" != xyes; then :
-   as_fn_error $? "gcc with C99 support required" "$LINENO" 5
- fi
- 
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Wextra option to $CC" >&5
-+$as_echo_n "checking for -Wextra option to $CC... " >&6; }
-+if ${ac_cv_cc_wextra+:} false; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  old_CFLAGS="$CFLAGS"
-+CFLAGS="$CFLAGS -Wextra"
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h.  */
-+void foo (void) { }
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+  ac_cv_cc_wextra=yes
-+else
-+  ac_cv_cc_wextra=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+CFLAGS="$old_CFLAGS"
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_wextra" >&5
-+$as_echo "$ac_cv_cc_wextra" >&6; }
-+
-+if test "x$ac_cv_cc_wextra" = xyes; then :
-+  WEXTRA=-Wextra
-+else
-+  WEXTRA=-W
-+fi
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fgnu89-inline option to $CC" >&5
-+$as_echo_n "checking for -fgnu89-inline option to $CC... " >&6; }
-+if ${ac_cv_cc_gnu89_inline+:} false; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  old_CFLAGS="$CFLAGS"
-+CFLAGS="$CFLAGS -fgnu89-inline -Werror"
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h.  */
-+
-+void foo (void)
-+{
-+  inline void bar (void) {}
-+  bar ();
-+}
-+extern inline void baz (void) {}
-+
-+_ACEOF
-+if ac_fn_c_try_compile "$LINENO"; then :
-+  ac_cv_cc_gnu89_inline=yes
-+else
-+  ac_cv_cc_gnu89_inline=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+CFLAGS="$old_CFLAGS"
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_gnu89_inline" >&5
-+$as_echo "$ac_cv_cc_gnu89_inline" >&6; }
-+if test "x$ac_cv_cc_gnu89_inline" = xyes; then :
-+  WEXTRA="${WEXTRA:+$WEXTRA }-fgnu89-inline"
-+fi
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --as-needed linker option" >&5
-+$as_echo_n "checking for --as-needed linker option... " >&6; }
-+if ${ac_cv_as_needed+:} false; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  cat > conftest.c <<EOF
-+int main (void) { return 0; }
-+EOF
-+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-+			    -fPIC -shared -o conftest.so conftest.c
-+			    -Wl,--as-needed 1>&5'
-+  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
-+  (eval $ac_try) 2>&5
-+  ac_status=$?
-+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-+  test $ac_status = 0; }; }
-+then
-+  ac_cv_as_needed=yes
-+else
-+  ac_cv_as_needed=no
-+fi
-+rm -f conftest*
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_as_needed" >&5
-+$as_echo "$ac_cv_as_needed" >&6; }
-+if test "x$ac_cv_as_needed" = xyes; then :
-+  LD_AS_NEEDED=-Wl,--as-needed
-+else
-+  LD_AS_NEEDED=
-+fi
-+
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __builtin_popcount" >&5
-+$as_echo_n "checking for __builtin_popcount... " >&6; }
-+if ${ac_cv_popcount+:} false; then :
-+  $as_echo_n "(cached) " >&6
-+else
-+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h.  */
-+
-+int
-+main ()
-+{
-+exit (__builtin_popcount (127));
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_link "$LINENO"; then :
-+  ac_cv_popcount=yes
-+else
-+  ac_cv_popcount=no
-+fi
-+rm -f core conftest.err conftest.$ac_objext \
-+    conftest$ac_exeext conftest.$ac_ext
-+fi
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_popcount" >&5
-+$as_echo "$ac_cv_popcount" >&6; }
-+if test "x$ac_cv_popcount" = xyes; then :
-+
-+$as_echo "#define HAVE_BUILTIN_POPCOUNT 1" >>confdefs.h
-+
-+fi
-+
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __thread support" >&5
- $as_echo_n "checking for __thread support... " >&6; }
- if ${ac_cv_tls+:} false; then :
-@@ -3956,7 +4086,13 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_tls" >&5
- $as_echo "$ac_cv_tls" >&6; }
- if test "x$ac_cv_tls" != xyes; then :
--  as_fn_error $? "__thread support required" "$LINENO" 5
-+  if test "$use_locks" = yes; then :
-+  as_fn_error $? "--enable-thread-safety requires __thread support" "$LINENO" 5
-+else
-+
-+$as_echo "#define __thread /* empty: no multi-thread support */" >>confdefs.h
-+
-+fi
- fi
- 
- # Check whether --enable-largefile was given.
-@@ -4305,6 +4441,22 @@ else
- fi
- 
- 
-+# Check whether --enable-werror was given.
-+if test "${enable_werror+set}" = set; then :
-+  enableval=$enable_werror; enable_werror=$enableval
-+else
-+  enable_werror=yes
-+fi
-+
-+ if test "$enable_werror" = yes; then
-+  BUILD_WERROR_TRUE=
-+  BUILD_WERROR_FALSE='#'
-+else
-+  BUILD_WERROR_TRUE='#'
-+  BUILD_WERROR_FALSE=
-+fi
-+
-+
- # Check whether --enable-tests-rpath was given.
- if test "${enable_tests_rpath+set}" = set; then :
-   enableval=$enable_tests_rpath; tests_use_rpath=$enableval
-@@ -5025,7 +5177,7 @@ case "$eu_version" in
- esac
- 
- # Round up to the next release API (x.y) version.
--eu_version=$(( (eu_version + 999) / 1000 ))
-+eu_version=`expr \( $eu_version + 999 \) / 1000`
- 
- cat >confcache <<\_ACEOF
- # This file is a shell script that caches the results of configure
-@@ -5188,6 +5340,10 @@ if test -z "${BUILD_STATIC_TRUE}" && tes
-   as_fn_error $? "conditional \"BUILD_STATIC\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
- fi
-+if test -z "${BUILD_WERROR_TRUE}" && test -z "${BUILD_WERROR_FALSE}"; then
-+  as_fn_error $? "conditional \"BUILD_WERROR\" was never defined.
-+Usually this means the macro was only invoked conditionally." "$LINENO" 5
-+fi
- if test -z "${TESTS_RPATH_TRUE}" && test -z "${TESTS_RPATH_FALSE}"; then
-   as_fn_error $? "conditional \"TESTS_RPATH\" was never defined.
- Usually this means the macro was only invoked conditionally." "$LINENO" 5
---- elfutils/configure.ac
-+++ elfutils/configure.ac
-@@ -90,6 +90,54 @@ CFLAGS="$old_CFLAGS"])
- AS_IF([test "x$ac_cv_c99" != xyes],
-       AC_MSG_ERROR([gcc with C99 support required]))
- 
-+AC_CACHE_CHECK([for -Wextra option to $CC], ac_cv_cc_wextra, [dnl
-+old_CFLAGS="$CFLAGS"
-+CFLAGS="$CFLAGS -Wextra"
-+AC_COMPILE_IFELSE([AC_LANG_SOURCE([void foo (void) { }])],
-+		  ac_cv_cc_wextra=yes, ac_cv_cc_wextra=no)
-+CFLAGS="$old_CFLAGS"])
-+AC_SUBST(WEXTRA)
-+AS_IF([test "x$ac_cv_cc_wextra" = xyes], [WEXTRA=-Wextra], [WEXTRA=-W])
-+
-+AC_CACHE_CHECK([for -fgnu89-inline option to $CC], ac_cv_cc_gnu89_inline, [dnl
-+old_CFLAGS="$CFLAGS"
-+CFLAGS="$CFLAGS -fgnu89-inline -Werror"
-+AC_COMPILE_IFELSE([AC_LANG_SOURCE([
-+void foo (void)
-+{
-+  inline void bar (void) {}
-+  bar ();
-+}
-+extern inline void baz (void) {}
-+])], ac_cv_cc_gnu89_inline=yes, ac_cv_cc_gnu89_inline=no)
-+CFLAGS="$old_CFLAGS"])
-+AS_IF([test "x$ac_cv_cc_gnu89_inline" = xyes],
-+      [WEXTRA="${WEXTRA:+$WEXTRA }-fgnu89-inline"])
-+
-+AC_CACHE_CHECK([for --as-needed linker option],
-+	       ac_cv_as_needed, [dnl
-+cat > conftest.c <<EOF
-+int main (void) { return 0; }
-+EOF
-+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
-+			    -fPIC -shared -o conftest.so conftest.c
-+			    -Wl,--as-needed 1>&AS_MESSAGE_LOG_FD])
-+then
-+  ac_cv_as_needed=yes
-+else
-+  ac_cv_as_needed=no
-+fi
-+rm -f conftest*])
-+AS_IF([test "x$ac_cv_as_needed" = xyes],
-+      [LD_AS_NEEDED=-Wl,--as-needed], [LD_AS_NEEDED=])
-+AC_SUBST(LD_AS_NEEDED)
-+
-+AC_CACHE_CHECK([for __builtin_popcount], ac_cv_popcount, [dnl
-+AC_LINK_IFELSE([AC_LANG_PROGRAM([], [[exit (__builtin_popcount (127));]])],
-+	       ac_cv_popcount=yes, ac_cv_popcount=no)])
-+AS_IF([test "x$ac_cv_popcount" = xyes],
-+      [AC_DEFINE([HAVE_BUILTIN_POPCOUNT], [1], [Have __builtin_popcount.])])
-+
- AC_CACHE_CHECK([for __thread support], ac_cv_tls, [dnl
- # Use the same flags that we use for our DSOs, so the test is representative.
- # Some old compiler/linker/libc combinations fail some ways and not others.
-@@ -105,7 +153,10 @@ static __thread int a; int foo (int b) {
- CFLAGS="$save_CFLAGS"
- LDFLAGS="$save_LDFLAGS"])
- AS_IF([test "x$ac_cv_tls" != xyes],
--      AC_MSG_ERROR([__thread support required]))
-+      [AS_IF([test "$use_locks" = yes],
-+	     [AC_MSG_ERROR([--enable-thread-safety requires __thread support])],
-+	     [AC_DEFINE([__thread], [/* empty: no multi-thread support */],
-+			[Stubbed out if missing compiler support.])])])
- 
- dnl This test must come as early as possible after the compiler configuration
- dnl tests, because the choice of the file model can (in principle) affect
-@@ -193,6 +244,11 @@ AM_CONDITIONAL(GCOV, test "$use_gcov" =
- AM_CONDITIONAL(BUILD_STATIC, [dnl
- test "$use_mudflap" = yes -o "$use_gprof" = yes -o "$use_gcov" = yes])
- 
-+AC_ARG_ENABLE([werror],
-+AS_HELP_STRING([--disable-werror],[do not build with -Werror]),
-+	       [enable_werror=$enableval], [enable_werror=yes])
-+AM_CONDITIONAL(BUILD_WERROR, test "$enable_werror" = yes)
-+
- AC_ARG_ENABLE([tests-rpath],
- AS_HELP_STRING([--enable-tests-rpath],[build $ORIGIN-using rpath into tests]),
- 	       [tests_use_rpath=$enableval], [tests_use_rpath=no])
-@@ -304,6 +360,6 @@ case "$eu_version" in
- esac
- 
- # Round up to the next release API (x.y) version.
--eu_version=$(( (eu_version + 999) / 1000 ))
-+eu_version=`expr \( $eu_version + 999 \) / 1000`
- 
- AC_OUTPUT
---- elfutils/lib/ChangeLog
-+++ elfutils/lib/ChangeLog
-@@ -35,6 +35,9 @@
- 
- 2009-01-23  Roland McGrath  <roland@redhat.com>
- 
-+	* eu-config.h [! HAVE_BUILTIN_POPCOUNT]
-+	(__builtin_popcount): New inline function.
-+
- 	* eu-config.h: Add multiple inclusion protection.
- 
- 2009-01-17  Ulrich Drepper  <drepper@redhat.com>
-@@ -91,6 +94,11 @@
- 	* Makefile.am (libeu_a_SOURCES): Add it.
- 	* system.h: Declare crc32_file.
- 
-+2005-02-07  Roland McGrath  <roland@redhat.com>
-+
-+	* Makefile.am (WEXTRA): New variable, substituted by configure.
-+	(AM_CFLAGS): Use it in place of -Wextra.
-+
- 2005-04-30  Ulrich Drepper  <drepper@redhat.com>
- 
- 	* Makefile.am: Use -ffunction-sections for xmalloc.c.
---- elfutils/lib/eu-config.h
-+++ elfutils/lib/eu-config.h
-@@ -162,6 +162,17 @@ asm (".section predict_data, \"aw\"; .pr
- /* This macro is used by the tests conditionalize for standalone building.  */
- #define ELFUTILS_HEADER(name) <lib##name.h>
- 
-+#ifndef HAVE_BUILTIN_POPCOUNT
-+# define __builtin_popcount hakmem_popcount
-+static inline unsigned int __attribute__ ((unused))
-+hakmem_popcount (unsigned int x)
-+{
-+  /* HAKMEM 169 */
-+  unsigned int n = x - ((x >> 1) & 033333333333) - ((x >> 2) & 011111111111);
-+  return ((n + (n >> 3)) & 030707070707) % 63;
-+}
-+#endif	/* HAVE_BUILTIN_POPCOUNT */
-+
- 
- #ifdef SHARED
- # define OLD_VERSION(name, version) \
---- elfutils/lib/Makefile.in
-+++ elfutils/lib/Makefile.in
-@@ -37,7 +37,8 @@ build_triplet = @build@
- host_triplet = @host@
- DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
- 	$(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog
--@MUDFLAP_TRUE@am__append_1 = -fmudflap
-+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
-+@MUDFLAP_TRUE@am__append_2 = -fmudflap
- subdir = lib
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
- am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-@@ -100,6 +101,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
- INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
- LDFLAGS = @LDFLAGS@
-+LD_AS_NEEDED = @LD_AS_NEEDED@
- LEX = @LEX@
- LEXLIB = @LEXLIB@
- LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -129,6 +131,7 @@ SHELL = @SHELL@
- STRIP = @STRIP@
- USE_NLS = @USE_NLS@
- VERSION = @VERSION@
-+WEXTRA = @WEXTRA@
- XGETTEXT = @XGETTEXT@
- XGETTEXT_015 = @XGETTEXT_015@
- XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-@@ -190,10 +193,9 @@ zip_LIBS = @zip_LIBS@
- INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. \
- 	-I$(srcdir)/../libelf
- AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
--	$($(*F)_no_Werror),,-Werror) $(if \
--	$($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
-+	$($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
- 	$($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
--	$(am__append_1) -fpic
-+	$(am__append_1) $(am__append_2) -fpic
- @MUDFLAP_FALSE@libmudflap = 
- @MUDFLAP_TRUE@libmudflap = -lmudflap
- COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
---- elfutils/libasm/ChangeLog
-+++ elfutils/libasm/ChangeLog
-@@ -71,6 +71,11 @@
- 	* asm_error.c: Add new error ASM_E_IOERROR.
- 	* libasmP.h: Add ASM_E_IOERROR definition.
- 
-+2005-05-31  Roland McGrath  <roland@redhat.com>
-+
-+	* Makefile.am (WEXTRA): New variable, substituted by configure.
-+	(AM_CFLAGS): Use it in place of -Wextra.
-+
- 2005-02-15  Ulrich Drepper  <drepper@redhat.com>
- 
- 	* Makefile.am (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
---- elfutils/libasm/Makefile.in
-+++ elfutils/libasm/Makefile.in
-@@ -39,10 +39,11 @@ host_triplet = @host@
- DIST_COMMON = $(noinst_HEADERS) $(pkginclude_HEADERS) \
- 	$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- 	$(top_srcdir)/config/eu.am ChangeLog
--@MUDFLAP_TRUE@am__append_1 = -fmudflap
-+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
-+@MUDFLAP_TRUE@am__append_2 = -fmudflap
- @MUDFLAP_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1)
- @MUDFLAP_TRUE@am_libasm_pic_a_OBJECTS =
--@MUDFLAP_FALSE@@USE_LOCKS_TRUE@am__append_2 = -lpthread
-+@MUDFLAP_FALSE@@USE_LOCKS_TRUE@am__append_3 = -lpthread
- subdir = libasm
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
- am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-@@ -153,6 +154,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
- INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
- LDFLAGS = @LDFLAGS@
-+LD_AS_NEEDED = @LD_AS_NEEDED@
- LEX = @LEX@
- LEXLIB = @LEXLIB@
- LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -182,6 +184,7 @@ SHELL = @SHELL@
- STRIP = @STRIP@
- USE_NLS = @USE_NLS@
- VERSION = 1
-+WEXTRA = @WEXTRA@
- XGETTEXT = @XGETTEXT@
- XGETTEXT_015 = @XGETTEXT_015@
- XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-@@ -244,10 +247,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
- 	-I$(top_srcdir)/libelf -I$(top_srcdir)/libebl \
- 	-I$(top_srcdir)/libdw
- AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
--	$($(*F)_no_Werror),,-Werror) $(if \
--	$($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
-+	$($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
- 	$($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
--	$(am__append_1)
-+	$(am__append_1) $(am__append_2)
- @MUDFLAP_FALSE@libmudflap = 
- @MUDFLAP_TRUE@libmudflap = -lmudflap
- COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
-@@ -276,7 +278,7 @@ libasm_a_SOURCES = asm_begin.c asm_abort
- 
- @MUDFLAP_FALSE@libasm_pic_a_SOURCES = 
- @MUDFLAP_FALSE@am_libasm_pic_a_OBJECTS = $(libasm_a_SOURCES:.c=.os)
--@MUDFLAP_FALSE@libasm_so_LDLIBS = $(am__append_2)
-+@MUDFLAP_FALSE@libasm_so_LDLIBS = $(am__append_3)
- @MUDFLAP_FALSE@libasm_so_SOURCES = 
- noinst_HEADERS = libasmP.h symbolhash.h
- EXTRA_DIST = libasm.map
---- elfutils/libcpu/ChangeLog
-+++ elfutils/libcpu/ChangeLog
-@@ -38,6 +38,9 @@
- 
- 2009-01-23  Roland McGrath  <roland@redhat.com>
- 
-+	* i386_disasm.c (i386_disasm): Add abort after assert-constant for old
-+	compilers that don't realize it's noreturn.
-+
- 	* Makefile.am (i386_parse_CFLAGS): Use quotes around command
- 	substitution that can produce leading whitespace.
- 
-@@ -367,6 +370,11 @@
- 	* defs/i386.doc: New file.
- 	* defs/x86_64: New file.
- 
-+2005-04-04  Roland McGrath  <roland@redhat.com>
-+
-+	* Makefile.am (WEXTRA): New variable, substituted by configure.
-+	(AM_CFLAGS): Use it instead of -Wextra.
-+
- 2005-02-15  Ulrich Drepper  <drepper@redhat.com>
- 
- 	* Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
---- elfutils/libcpu/i386_disasm.c
-+++ elfutils/libcpu/i386_disasm.c
-@@ -822,6 +822,7 @@ i386_disasm (const uint8_t **startp, con
- 
- 			default:
- 			  assert (! "INVALID not handled");
-+			  abort ();
- 			}
- 		    }
- 		  else
---- elfutils/libcpu/Makefile.in
-+++ elfutils/libcpu/Makefile.in
-@@ -39,7 +39,8 @@ host_triplet = @host@
- DIST_COMMON = $(am__noinst_HEADERS_DIST) $(srcdir)/Makefile.am \
- 	$(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog \
- 	i386_lex.c i386_parse.c
--@MUDFLAP_TRUE@am__append_1 = -fmudflap
-+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
-+@MUDFLAP_TRUE@am__append_2 = -fmudflap
- @MAINTAINER_MODE_TRUE@noinst_PROGRAMS = i386_gendis$(EXEEXT)
- subdir = libcpu
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-@@ -117,6 +118,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
- INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
- LDFLAGS = @LDFLAGS@
-+LD_AS_NEEDED = @LD_AS_NEEDED@
- LEX = @LEX@
- LEXLIB = @LEXLIB@
- LEX_OUTPUT_ROOT = lex.$(<F:lex.l=)
-@@ -146,6 +148,7 @@ SHELL = @SHELL@
- STRIP = @STRIP@
- USE_NLS = @USE_NLS@
- VERSION = @VERSION@
-+WEXTRA = @WEXTRA@
- XGETTEXT = @XGETTEXT@
- XGETTEXT_015 = @XGETTEXT_015@
- XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-@@ -208,10 +211,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
- 	-I$(srcdir)/../libelf -I$(srcdir)/../libebl \
- 	-I$(srcdir)/../libdw -I$(srcdir)/../libasm
- AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
--	$($(*F)_no_Werror),,-Werror) $(if \
--	$($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
-+	$($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
- 	$($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
--	$(am__append_1) -fpic -fdollars-in-identifiers
-+	$(am__append_1) $(am__append_2) -fpic -fdollars-in-identifiers
- @MUDFLAP_FALSE@libmudflap = 
- @MUDFLAP_TRUE@libmudflap = -lmudflap
- COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
---- elfutils/libdw/ChangeLog
-+++ elfutils/libdw/ChangeLog
-@@ -82,6 +82,10 @@
- 
- 	* Makefile.am (known-dwarf.h): Run gawk on config/known-dwarf.awk.
- 
-+2011-07-20  Mark Wielaard  <mjw@redhat.com>
-+
-+	* dwarf_begin_elf.c: Add fallback for be64toh if not defined.
-+
- 2011-07-14  Mark Wielaard  <mjw@redhat.com>
- 
- 	* libdw.h (dwarf_offdie): Fix documentation to mention .debug_info.
-@@ -441,6 +445,10 @@
- 
- 	* dwarf_hasattr_integrate.c: Integrate DW_AT_specification too.
- 
-+2009-08-17  Roland McGrath  <roland@redhat.com>
-+
-+	* libdw.h: Disable extern inlines for GCC 4.2.
-+
- 2009-08-10  Roland McGrath  <roland@redhat.com>
- 
- 	* dwarf_getscopevar.c: Use dwarf_diename.
-@@ -1209,6 +1217,11 @@
- 
- 2005-05-31  Roland McGrath  <roland@redhat.com>
- 
-+	* Makefile.am (WEXTRA): New variable, substituted by configure.
-+	(AM_CFLAGS): Use it in place of -Wextra.
-+
-+2005-05-31  Roland McGrath  <roland@redhat.com>
-+
- 	* dwarf_formref_die.c (dwarf_formref_die): Add CU header offset to
- 	formref offset.
- 
---- elfutils/libdw/dwarf_begin_elf.c
-+++ elfutils/libdw/dwarf_begin_elf.c
-@@ -48,6 +48,14 @@
- #if USE_ZLIB
- # include <endian.h>
- # define crc32		loser_crc32
-+# ifndef be64toh
-+#  include <byteswap.h>
-+#  if __BYTE_ORDER == __LITTLE_ENDIAN
-+#   define be64toh(x) bswap_64 (x)
-+#  else
-+#   define be64toh(x) (x)
-+#  endif
-+# endif
- # include <zlib.h>
- # undef crc32
- #endif
---- elfutils/libdw/libdw.h
-+++ elfutils/libdw/libdw.h
-@@ -831,7 +831,7 @@ extern Dwarf_OOM dwarf_new_oom_handler (
- 
- 
- /* Inline optimizations.  */
--#ifdef __OPTIMIZE__
-+#if defined __OPTIMIZE__ && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2)
- /* Return attribute code of given attribute.  */
- __libdw_extern_inline unsigned int
- dwarf_whatattr (Dwarf_Attribute *attr)
---- elfutils/libdw/Makefile.in
-+++ elfutils/libdw/Makefile.in
-@@ -39,8 +39,9 @@ host_triplet = @host@
- DIST_COMMON = $(include_HEADERS) $(noinst_HEADERS) \
- 	$(pkginclude_HEADERS) $(srcdir)/Makefile.am \
- 	$(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog
--@MUDFLAP_TRUE@am__append_1 = -fmudflap
--@BUILD_STATIC_TRUE@am__append_2 = -fpic
-+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
-+@MUDFLAP_TRUE@am__append_2 = -fmudflap
-+@BUILD_STATIC_TRUE@am__append_3 = -fpic
- @MUDFLAP_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1)
- @MUDFLAP_TRUE@am_libdw_pic_a_OBJECTS =
- subdir = libdw
-@@ -198,6 +199,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
- INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
- LDFLAGS = @LDFLAGS@
-+LD_AS_NEEDED = @LD_AS_NEEDED@
- LEX = @LEX@
- LEXLIB = @LEXLIB@
- LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -227,6 +229,7 @@ SHELL = @SHELL@
- STRIP = @STRIP@
- USE_NLS = @USE_NLS@
- VERSION = 1
-+WEXTRA = @WEXTRA@
- XGETTEXT = @XGETTEXT@
- XGETTEXT_015 = @XGETTEXT_015@
- XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-@@ -288,10 +291,9 @@ zip_LIBS = @zip_LIBS@
- INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. \
- 	-I$(srcdir)/../libelf
- AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
--	$($(*F)_no_Werror),,-Werror) $(if \
--	$($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
-+	$($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
- 	$($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
--	$(am__append_1) $(am__append_2)
-+	$(am__append_1) $(am__append_2) $(am__append_3)
- @MUDFLAP_FALSE@libmudflap = 
- @MUDFLAP_TRUE@libmudflap = -lmudflap
- COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
---- elfutils/libdwfl/ChangeLog
-+++ elfutils/libdwfl/ChangeLog
-@@ -1420,6 +1420,11 @@
- 
- 2005-07-21  Roland McGrath  <roland@redhat.com>
- 
-+	* Makefile.am (WEXTRA): New variable, substituted by configure.
-+	(AM_CFLAGS): Use it in place of -Wextra.
-+
-+2005-07-21  Roland McGrath  <roland@redhat.com>
-+
- 	* Makefile.am (noinst_HEADERS): Add loc2c.c.
- 
- 	* test2.c (main): Check sscanf result to quiet warning.
---- elfutils/libdwfl/Makefile.in
-+++ elfutils/libdwfl/Makefile.in
-@@ -38,11 +38,12 @@ host_triplet = @host@
- DIST_COMMON = $(noinst_HEADERS) $(pkginclude_HEADERS) \
- 	$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- 	$(top_srcdir)/config/eu.am ChangeLog
--@MUDFLAP_TRUE@am__append_1 = -fmudflap
--@MUDFLAP_FALSE@am__append_2 = libdwfl_pic.a
--@ZLIB_TRUE@am__append_3 = gzip.c
--@BZLIB_TRUE@am__append_4 = bzip2.c
--@LZMA_TRUE@am__append_5 = lzma.c
-+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
-+@MUDFLAP_TRUE@am__append_2 = -fmudflap
-+@MUDFLAP_FALSE@am__append_3 = libdwfl_pic.a
-+@ZLIB_TRUE@am__append_4 = gzip.c
-+@BZLIB_TRUE@am__append_5 = bzip2.c
-+@LZMA_TRUE@am__append_6 = lzma.c
- @MUDFLAP_TRUE@am_libdwfl_pic_a_OBJECTS =
- subdir = libdwfl
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-@@ -188,6 +189,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
- INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
- LDFLAGS = @LDFLAGS@
-+LD_AS_NEEDED = @LD_AS_NEEDED@
- LEX = @LEX@
- LEXLIB = @LEXLIB@
- LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -217,6 +219,7 @@ SHELL = @SHELL@
- STRIP = @STRIP@
- USE_NLS = @USE_NLS@
- VERSION = 1
-+WEXTRA = @WEXTRA@
- XGETTEXT = @XGETTEXT@
- XGETTEXT_015 = @XGETTEXT_015@
- XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-@@ -279,10 +282,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
- 	-I$(srcdir)/../libelf -I$(srcdir)/../libebl \
- 	-I$(srcdir)/../libdw
- AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
--	$($(*F)_no_Werror),,-Werror) $(if \
--	$($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
-+	$($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
- 	$($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
--	$(am__append_1)
-+	$(am__append_1) $(am__append_2)
- @MUDFLAP_FALSE@libmudflap = 
- @MUDFLAP_TRUE@libmudflap = -lmudflap
- COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
-@@ -290,7 +292,7 @@ COMPILE.os = $(filter-out -fprofile-arcs
- 
- CLEANFILES = *.gcno *.gcda $(am_libdwfl_pic_a_OBJECTS)
- textrel_check = if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
--noinst_LIBRARIES = libdwfl.a $(am__append_2)
-+noinst_LIBRARIES = libdwfl.a $(am__append_3)
- pkginclude_HEADERS = libdwfl.h
- libdwfl_a_SOURCES = dwfl_begin.c dwfl_end.c dwfl_error.c \
- 	dwfl_version.c dwfl_module.c dwfl_report_elf.c relocate.c \
-@@ -311,8 +313,8 @@ libdwfl_a_SOURCES = dwfl_begin.c dwfl_en
- 	dwfl_module_getsym.c dwfl_module_addrname.c \
- 	dwfl_module_addrsym.c dwfl_module_return_value_location.c \
- 	dwfl_module_register_names.c dwfl_segment_report_module.c \
--	link_map.c core-file.c open.c image-header.c $(am__append_3) \
--	$(am__append_4) $(am__append_5)
-+	link_map.c core-file.c open.c image-header.c $(am__append_4) \
-+	$(am__append_5) $(am__append_6)
- @MUDFLAP_FALSE@libdwfl = $(libdw)
- @MUDFLAP_TRUE@libdwfl = libdwfl.a $(libdw) $(libebl) $(libelf) $(libeu)
- @MUDFLAP_FALSE@libdw = ../libdw/libdw.so
---- elfutils/libebl/ChangeLog
-+++ elfutils/libebl/ChangeLog
-@@ -658,6 +658,11 @@
- 	* Makefile.am (libebl_*_so_SOURCES): Set to $(*_SRCS) so dependency
- 	tracking works right.
- 
-+2005-05-31  Roland McGrath  <roland@redhat.com>
-+
-+	* Makefile.am (WEXTRA): New variable, substituted by configure.
-+	(AM_CFLAGS): Use it in place of -Wextra.
-+
- 2005-05-21  Ulrich Drepper  <drepper@redhat.com>
- 
- 	* libebl_x86_64.map: Add x86_64_core_note.
---- elfutils/libebl/Makefile.in
-+++ elfutils/libebl/Makefile.in
-@@ -38,7 +38,8 @@ host_triplet = @host@
- DIST_COMMON = $(noinst_HEADERS) $(pkginclude_HEADERS) \
- 	$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- 	$(top_srcdir)/config/eu.am ChangeLog
--@MUDFLAP_TRUE@am__append_1 = -fmudflap
-+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
-+@MUDFLAP_TRUE@am__append_2 = -fmudflap
- subdir = libebl
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
- am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-@@ -150,6 +151,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
- INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
- LDFLAGS = @LDFLAGS@
-+LD_AS_NEEDED = @LD_AS_NEEDED@
- LEX = @LEX@
- LEXLIB = @LEXLIB@
- LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -179,6 +181,7 @@ SHELL = @SHELL@
- STRIP = @STRIP@
- USE_NLS = @USE_NLS@
- VERSION = 1
-+WEXTRA = @WEXTRA@
- XGETTEXT = @XGETTEXT@
- XGETTEXT_015 = @XGETTEXT_015@
- XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-@@ -241,10 +244,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
- 	-I$(srcdir)/../libelf -I$(srcdir)/../libdw \
- 	-I$(srcdir)/../libasm
- AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
--	$($(*F)_no_Werror),,-Werror) $(if \
--	$($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
-+	$($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
- 	$($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
--	$(am__append_1) -fpic
-+	$(am__append_1) $(am__append_2) -fpic
- @MUDFLAP_FALSE@libmudflap = 
- @MUDFLAP_TRUE@libmudflap = -lmudflap
- COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
---- elfutils/libelf/ChangeLog
-+++ elfutils/libelf/ChangeLog
-@@ -34,6 +34,11 @@
- 
- 	* elf-knowledge.h (SECTION_STRIP_P): Remove < SHT_NUM check.
- 
-+2011-03-10  Roland McGrath  <roland@redhat.com>
-+
-+	* gnuhash_xlate.h (elf_cvt_gnuhash): Avoid post-increment in bswap_32
-+	argument, since some implementations are buggy macros.
-+
- 2011-02-26  Mark Wielaard  <mjw@redhat.com>
- 
- 	* elf_end.c (elf_end): Call rwlock_unlock before rwlock_fini.
-@@ -711,6 +716,11 @@
- 
- 	* elf.h: Update from glibc.
- 
-+2005-05-31  Roland McGrath  <roland@redhat.com>
-+
-+	* Makefile.am (WEXTRA): New variable, substituted by configure.
-+	(AM_CFLAGS): Use it in place of -Wextra.
-+
- 2005-05-08  Roland McGrath  <roland@redhat.com>
- 
- 	* elf_begin.c (read_file) [_MUDFLAP]: Don't use mmap for now.
---- elfutils/libelf/common.h
-+++ elfutils/libelf/common.h
-@@ -139,7 +139,7 @@ libelf_release_all (Elf *elf)
-   (Var) = (sizeof (Var) == 1						      \
- 	   ? (unsigned char) (Var)					      \
- 	   : (sizeof (Var) == 2						      \
--	      ? bswap_16 (Var)						      \
-+	      ? (unsigned short int) bswap_16 (Var)			      \
- 	      : (sizeof (Var) == 4					      \
- 		 ? bswap_32 (Var)					      \
- 		 : bswap_64 (Var))))
-@@ -148,7 +148,7 @@ libelf_release_all (Elf *elf)
-   (Dst) = (sizeof (Var) == 1						      \
- 	   ? (unsigned char) (Var)					      \
- 	   : (sizeof (Var) == 2						      \
--	      ? bswap_16 (Var)						      \
-+	      ? (unsigned short int) bswap_16 (Var)			      \
- 	      : (sizeof (Var) == 4					      \
- 		 ? bswap_32 (Var)					      \
- 		 : bswap_64 (Var))))
---- elfutils/libelf/gnuhash_xlate.h
-+++ elfutils/libelf/gnuhash_xlate.h
-@@ -1,5 +1,5 @@
- /* Conversion functions for versioning information.
--   Copyright (C) 2006, 2007 Red Hat, Inc.
-+   Copyright (C) 2006-2011 Red Hat, Inc.
-    This file is part of elfutils.
-    Written by Ulrich Drepper <drepper@redhat.com>, 2006.
- 
-@@ -68,7 +68,9 @@ elf_cvt_gnuhash (void *dest, const void
-   dest32 = (Elf32_Word *) &dest64[bitmask_words];
-   while (len >= 4)
-     {
--      *dest32++ = bswap_32 (*src32++);
-+      *dest32 = bswap_32 (*src32);
-+      ++dest32;
-+      ++src32;
-       len -= 4;
-     }
- }
---- elfutils/libelf/Makefile.in
-+++ elfutils/libelf/Makefile.in
-@@ -39,11 +39,12 @@ host_triplet = @host@
- DIST_COMMON = $(include_HEADERS) $(noinst_HEADERS) \
- 	$(pkginclude_HEADERS) $(srcdir)/Makefile.am \
- 	$(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog
--@MUDFLAP_TRUE@am__append_1 = -fmudflap
--@BUILD_STATIC_TRUE@am__append_2 = -fpic
-+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
-+@MUDFLAP_TRUE@am__append_2 = -fmudflap
-+@BUILD_STATIC_TRUE@am__append_3 = -fpic
- @MUDFLAP_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1)
- @MUDFLAP_TRUE@am_libelf_pic_a_OBJECTS =
--@MUDFLAP_FALSE@@USE_LOCKS_TRUE@am__append_3 = -lpthread
-+@MUDFLAP_FALSE@@USE_LOCKS_TRUE@am__append_4 = -lpthread
- subdir = libelf
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
- am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-@@ -195,6 +196,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
- INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
- LDFLAGS = @LDFLAGS@
-+LD_AS_NEEDED = @LD_AS_NEEDED@
- LEX = @LEX@
- LEXLIB = @LEXLIB@
- LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -224,6 +226,7 @@ SHELL = @SHELL@
- STRIP = @STRIP@
- USE_NLS = @USE_NLS@
- VERSION = 1
-+WEXTRA = @WEXTRA@
- XGETTEXT = @XGETTEXT@
- XGETTEXT_015 = @XGETTEXT_015@
- XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-@@ -284,10 +287,9 @@ top_srcdir = @top_srcdir@
- zip_LIBS = @zip_LIBS@
- INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I..
- AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
--	$($(*F)_no_Werror),,-Werror) $(if \
--	$($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
-+	$($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
- 	$($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
--	$(am__append_1) $(am__append_2)
-+	$(am__append_1) $(am__append_2) $(am__append_3)
- @MUDFLAP_FALSE@libmudflap = 
- @MUDFLAP_TRUE@libmudflap = -lmudflap
- COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
-@@ -352,7 +354,7 @@ libelf_a_SOURCES = elf_version.c elf_has
- 
- @MUDFLAP_FALSE@libelf_pic_a_SOURCES = 
- @MUDFLAP_FALSE@am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os)
--@MUDFLAP_FALSE@libelf_so_LDLIBS = $(am__append_3)
-+@MUDFLAP_FALSE@libelf_so_LDLIBS = $(am__append_4)
- @MUDFLAP_FALSE@libelf_so_SOURCES = 
- noinst_HEADERS = elf.h abstract.h common.h exttypes.h gelf_xlate.h libelfP.h \
- 		 version_xlate.h gnuhash_xlate.h note_xlate.h dl-hash.h
---- elfutils/m4/Makefile.in
-+++ elfutils/m4/Makefile.in
-@@ -75,6 +75,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
- INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
- LDFLAGS = @LDFLAGS@
-+LD_AS_NEEDED = @LD_AS_NEEDED@
- LEX = @LEX@
- LEXLIB = @LEXLIB@
- LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -104,6 +105,7 @@ SHELL = @SHELL@
- STRIP = @STRIP@
- USE_NLS = @USE_NLS@
- VERSION = @VERSION@
-+WEXTRA = @WEXTRA@
- XGETTEXT = @XGETTEXT@
- XGETTEXT_015 = @XGETTEXT_015@
- XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
---- elfutils/Makefile.in
-+++ elfutils/Makefile.in
-@@ -165,6 +165,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
- INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
- LDFLAGS = @LDFLAGS@
-+LD_AS_NEEDED = @LD_AS_NEEDED@
- LEX = @LEX@
- LEXLIB = @LEXLIB@
- LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -194,6 +195,7 @@ SHELL = @SHELL@
- STRIP = @STRIP@
- USE_NLS = @USE_NLS@
- VERSION = @VERSION@
-+WEXTRA = @WEXTRA@
- XGETTEXT = @XGETTEXT@
- XGETTEXT_015 = @XGETTEXT_015@
- XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
---- elfutils/src/addr2line.c
-+++ elfutils/src/addr2line.c
-@@ -447,10 +447,10 @@ handle_address (const char *string, Dwfl
-       bool parsed = false;
-       int i, j;
-       char *name = NULL;
--      if (sscanf (string, "(%m[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2
-+      if (sscanf (string, "(%a[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2
- 	  && string[i] == '\0')
- 	parsed = adjust_to_section (name, &addr, dwfl);
--      switch (sscanf (string, "%m[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j))
-+      switch (sscanf (string, "%a[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j))
- 	{
- 	default:
- 	  break;
---- elfutils/src/ChangeLog
-+++ elfutils/src/ChangeLog
-@@ -606,8 +606,16 @@
- 	* readelf.c (attr_callback): Use print_block only when we don't use
- 	print_ops.
- 
-+2009-08-17  Roland McGrath  <roland@redhat.com>
-+
-+	* ld.h: Disable extern inlines for GCC 4.2.
-+
- 2009-08-14  Roland McGrath  <roland@redhat.com>
- 
-+	* strings.c (read_block): Conditionalize posix_fadvise use
-+	on [POSIX_FADV_SEQUENTIAL].
-+	From Petr Salinger <Petr.Salinger@seznam.cz>.
-+
- 	* ar.c (do_oper_extract): Use pathconf instead of statfs.
- 
- 2009-08-01  Ulrich Drepper  <drepper@redhat.com>
-@@ -771,6 +779,8 @@
- 	* readelf.c (print_debug_frame_section): Use t instead of j formats
- 	for ptrdiff_t OFFSET.
- 
-+	* addr2line.c (handle_address): Use %a instead of %m for compatibility.
-+
- 2009-01-21  Ulrich Drepper  <drepper@redhat.com>
- 
- 	* elflint.c (check_program_header): Fix typo in .eh_frame_hdr section
-@@ -954,6 +964,11 @@
- 	that matches its PT_LOAD's p_flags &~ PF_W.  On sparc, PF_X really
- 	is valid in RELRO.
- 
-+2008-03-01  Roland McGrath  <roland@redhat.com>
-+
-+	* readelf.c (dump_archive_index): Tweak portability hack
-+	to match [__GNUC__ < 4] too.
-+
- 2008-02-29  Roland McGrath  <roland@redhat.com>
- 
- 	* readelf.c (print_attributes): Add a cast.
-@@ -1205,6 +1220,8 @@
- 
- 	* readelf.c (hex_dump): Fix rounding error in whitespace calculation.
- 
-+	* Makefile.am (readelf_no_Werror): New variable.
-+
- 2007-10-15  Roland McGrath  <roland@redhat.com>
- 
- 	* make-debug-archive.in: New file.
-@@ -1644,6 +1661,10 @@
- 	* elflint.c (valid_e_machine): Add EM_ALPHA.
- 	Reported by Christian Aichinger <Greek0@gmx.net>.
- 
-+	* strings.c (map_file): Define POSIX_MADV_SEQUENTIAL to
-+	MADV_SEQUENTIAL if undefined.  	Don't call posix_madvise
-+	if neither is defined.
-+
- 2006-08-08  Ulrich Drepper  <drepper@redhat.com>
- 
- 	* elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB.
-@@ -1720,6 +1741,10 @@
- 	* Makefile.am: Add hacks to create dependency files for non-generic
- 	linker.
- 
-+2006-04-05  Roland McGrath  <roland@redhat.com>
-+
-+	* strings.c (MAP_POPULATE): Define to 0 if undefined.
-+
- 2006-06-12  Ulrich Drepper  <drepper@redhat.com>
- 
- 	* ldgeneric.c (ld_generic_generate_sections): Don't create .interp
-@@ -2068,6 +2093,11 @@
- 	* readelf.c (print_debug_loc_section): Fix indentation for larger
- 	address size.
- 
-+2005-05-31  Roland McGrath  <roland@redhat.com>
-+
-+	* Makefile.am (WEXTRA): New variable, substituted by configure.
-+	(AM_CFLAGS): Use it in place of -Wextra.
-+
- 2005-05-30  Roland McGrath  <roland@redhat.com>
- 
- 	* readelf.c (print_debug_line_section): Print section offset of each
---- elfutils/src/findtextrel.c
-+++ elfutils/src/findtextrel.c
-@@ -496,7 +496,11 @@ ptrcompare (const void *p1, const void *
- 
- 
- static void
--check_rel (size_t nsegments, struct segments segments[nsegments],
-+check_rel (size_t nsegments, struct segments segments[
-+#if __GNUC__ >= 4
-+						      nsegments
-+#endif
-+	   ],
- 	   GElf_Addr addr, Elf *elf, Elf_Scn *symscn, Dwarf *dw,
- 	   const char *fname, bool more_than_one, void **knownsrcs)
- {
---- elfutils/src/ld.h
-+++ elfutils/src/ld.h
-@@ -1114,6 +1114,7 @@ extern bool dynamically_linked_p (void);
- 
- /* Checked whether the symbol is undefined and referenced from a DSO.  */
- extern bool linked_from_dso_p (struct scninfo *scninfo, size_t symidx);
-+#if defined __OPTIMIZE__ && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2)
- #ifdef __GNUC_STDC_INLINE__
- __attribute__ ((__gnu_inline__))
- #endif
-@@ -1131,5 +1132,6 @@ linked_from_dso_p (struct scninfo *scnin
- 
-   return sym->defined && sym->in_dso;
- }
-+#endif	/* Optimizing and not GCC 4.2.  */
- 
- #endif	/* ld.h */
---- elfutils/src/Makefile.am
-+++ elfutils/src/Makefile.am
-@@ -95,6 +95,9 @@ addr2line_no_Wformat = yes
- # XXX While the file is not finished, don't warn about this
- ldgeneric_no_Wunused = yes
- 
-+# Buggy old compilers.
-+readelf_no_Werror = yes
-+
- readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
- nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \
- 	   $(demanglelib)
---- elfutils/src/Makefile.in
-+++ elfutils/src/Makefile.in
-@@ -40,7 +40,8 @@ host_triplet = @host@
- DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
- 	$(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog \
- 	ldlex.c ldscript.c
--@MUDFLAP_TRUE@am__append_1 = -fmudflap
-+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
-+@MUDFLAP_TRUE@am__append_2 = -fmudflap
- bin_PROGRAMS = readelf$(EXEEXT) nm$(EXEEXT) size$(EXEEXT) \
- 	strip$(EXEEXT) ld$(EXEEXT) elflint$(EXEEXT) \
- 	findtextrel$(EXEEXT) addr2line$(EXEEXT) elfcmp$(EXEEXT) \
-@@ -49,9 +50,9 @@ bin_PROGRAMS = readelf$(EXEEXT) nm$(EXEE
- @NATIVE_LD_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1)
- # We never build this library but we need to get the dependency files
- # of all the linker backends that might be used in a non-generic linker.
--@NEVER_TRUE@am__append_2 = libdummy.a
-+@NEVER_TRUE@am__append_3 = libdummy.a
- # -ldl is always needed for libebl.
--@NATIVE_LD_TRUE@am__append_3 = libld_elf.a
-+@NATIVE_LD_TRUE@am__append_4 = libld_elf.a
- @NATIVE_LD_TRUE@am_libld_elf_i386_pic_a_OBJECTS =
- subdir = src
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-@@ -115,7 +116,7 @@ am_ld_OBJECTS = ld.$(OBJEXT) ldgeneric.$
- 	versionhash.$(OBJEXT)
- ld_OBJECTS = $(am_ld_OBJECTS)
- ld_DEPENDENCIES = $(libebl) $(libelf) $(libeu) $(am__DEPENDENCIES_1) \
--	$(am__append_3)
-+	$(am__append_4)
- ld_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(ld_LDFLAGS) $(LDFLAGS) -o \
- 	$@
- am_libld_elf_i386_so_OBJECTS =
-@@ -235,6 +236,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
- INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
- LDFLAGS = @LDFLAGS@
-+LD_AS_NEEDED = @LD_AS_NEEDED@
- LEX = @LEX@
- LEXLIB = @LEXLIB@
- LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -264,6 +266,7 @@ SHELL = @SHELL@
- STRIP = @STRIP@
- USE_NLS = @USE_NLS@
- VERSION = @VERSION@
-+WEXTRA = @WEXTRA@
- XGETTEXT = @XGETTEXT@
- XGETTEXT_015 = @XGETTEXT_015@
- XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-@@ -327,10 +330,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
- 	-I$(srcdir)/../libdw -I$(srcdir)/../libdwfl \
- 	-I$(srcdir)/../libasm
- AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
--	$($(*F)_no_Werror),,-Werror) $(if \
--	$($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
-+	$($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
- 	$($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
--	$(am__append_1)
-+	$(am__append_1) $(am__append_2)
- @MUDFLAP_FALSE@libmudflap = 
- @MUDFLAP_TRUE@libmudflap = -lmudflap
- COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
-@@ -346,8 +348,8 @@ AM_LFLAGS = -Pld -olex.yy.c
- native_ld = @native_ld@
- ld_dsos = libld_elf_i386_pic.a
- @NATIVE_LD_FALSE@noinst_LIBRARIES = libld_elf.a libar.a $(ld_dsos) \
--@NATIVE_LD_FALSE@	$(am__append_2)
--@NATIVE_LD_TRUE@noinst_LIBRARIES = libld_elf.a libar.a $(am__append_2)
-+@NATIVE_LD_FALSE@	$(am__append_3)
-+@NATIVE_LD_TRUE@noinst_LIBRARIES = libld_elf.a libar.a $(am__append_3)
- @NATIVE_LD_TRUE@native_ld_cflags = -DBASE_ELF_NAME=elf_$(base_cpu)
- @NEVER_TRUE@libdummy_a_SOURCES = i386_ld.c
- ld_SOURCES = ld.c ldgeneric.c ldlex.l ldscript.y symbolhash.c sectionhash.c \
-@@ -376,6 +378,9 @@ strings_no_Wformat = yes
- addr2line_no_Wformat = yes
- # XXX While the file is not finished, don't warn about this
- ldgeneric_no_Wunused = yes
-+
-+# Buggy old compilers.
-+readelf_no_Werror = yes
- readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
- nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \
- 	   $(demanglelib)
-@@ -383,7 +388,7 @@ nm_LDADD = $(libdw) $(libebl) $(libelf)
- size_LDADD = $(libelf) $(libeu) $(libmudflap)
- strip_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
- ld_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \
--	$(am__append_3)
-+	$(am__append_4)
- ld_LDFLAGS = -rdynamic
- elflint_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
- findtextrel_LDADD = $(libdw) $(libelf) $(libmudflap)
---- elfutils/src/readelf.c
-+++ elfutils/src/readelf.c
-@@ -3949,10 +3949,11 @@ struct listptr
- #define listptr_offset_size(p)	((p)->dwarf64 ? 8 : 4)
- #define listptr_address_size(p)	((p)->addr64 ? 8 : 4)
- 
-+static const char *listptr_name;
- static int
--compare_listptr (const void *a, const void *b, void *arg)
-+compare_listptr (const void *a, const void *b)
- {
--  const char *name = arg;
-+  const char *const name = listptr_name;
-   struct listptr *p1 = (void *) a;
-   struct listptr *p2 = (void *) b;
- 
-@@ -4033,8 +4034,11 @@ static void
- sort_listptr (struct listptr_table *table, const char *name)
- {
-   if (table->n > 0)
--    qsort_r (table->table, table->n, sizeof table->table[0],
--	     &compare_listptr, (void *) name);
-+    {
-+      listptr_name = name;
-+      qsort (table->table, table->n, sizeof table->table[0],
-+	     &compare_listptr);
-+    }
- }
- 
- static bool
-@@ -8442,7 +8446,7 @@ dump_archive_index (Elf *elf, const char
- 	  if (unlikely (elf_rand (elf, as_off) == 0)
- 	      || unlikely ((subelf = elf_begin (-1, ELF_C_READ_MMAP, elf))
- 			   == NULL))
--#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 7)
-+#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 7) || __GNUC__ < 4
- 	    while (1)
- #endif
- 	      error (EXIT_FAILURE, 0,
---- elfutils/src/strings.c
-+++ elfutils/src/strings.c
-@@ -43,6 +43,10 @@
- 
- #include <system.h>
- 
-+#ifndef MAP_POPULATE
-+# define MAP_POPULATE 0
-+#endif
-+
- 
- /* Prototypes of local functions.  */
- static int read_fd (int fd, const char *fname, off64_t fdlen);
-@@ -483,8 +487,13 @@ map_file (int fd, off64_t start_off, off
- 		    fd, start_off);
-       if (mem != MAP_FAILED)
- 	{
-+#if !defined POSIX_MADV_SEQUENTIAL && defined MADV_SEQUENTIAL
-+# define POSIX_MADV_SEQUENTIAL MADV_SEQUENTIAL
-+#endif
-+#ifdef POSIX_MADV_SEQUENTIAL
- 	  /* We will go through the mapping sequentially.  */
- 	  (void) posix_madvise (mem, map_size, POSIX_MADV_SEQUENTIAL);
-+#endif
- 	  break;
- 	}
-       if (errno != EINVAL && errno != ENOMEM)
-@@ -576,9 +585,11 @@ read_block (int fd, const char *fname, o
-       elfmap_off = from & ~(ps - 1);
-       elfmap_base = elfmap = map_file (fd, elfmap_off, fdlen, &elfmap_size);
- 
-+#ifdef POSIX_FADV_SEQUENTIAL
-       if (unlikely (elfmap == MAP_FAILED))
- 	/* Let the kernel know we are going to read everything in sequence.  */
- 	(void) posix_fadvise (fd, 0, 0, POSIX_FADV_SEQUENTIAL);
-+#endif
-     }
- 
-   if (unlikely (elfmap == MAP_FAILED))
---- elfutils/src/strip.c
-+++ elfutils/src/strip.c
-@@ -45,6 +45,12 @@
- #include <libebl.h>
- #include <system.h>
- 
-+#ifdef HAVE_FUTIMES
-+# define FUTIMES(fd, fname, tvp) futimes (fd, tvp)
-+#else
-+# define FUTIMES(fd, fname, tvp) utimes (fname, tvp)
-+#endif
-+
- typedef uint8_t GElf_Byte;
- 
- /* Name and version of program.  */
-@@ -318,8 +324,18 @@ process_file (const char *fname)
- 
-       /* If we have to preserve the timestamp, we need it in the
- 	 format utimes() understands.  */
-+#ifdef HAVE_STRUCT_STAT_ST_ATIM
-       TIMESPEC_TO_TIMEVAL (&tv[0], &pre_st.st_atim);
-+#else
-+      tv[0].tv_sec = pre_st.st_atime;
-+      tv[0].tv_usec = 0;
-+#endif
-+#ifdef HAVE_STRUCT_STAT_ST_MTIM
-       TIMESPEC_TO_TIMEVAL (&tv[1], &pre_st.st_mtim);
-+#else
-+      tv[1].tv_sec = pre_st.st_atime;
-+      tv[1].tv_usec = 0;
-+#endif
-     }
- 
-   /* Open the file.  */
-@@ -2055,7 +2071,7 @@ while computing checksum for debug infor
-   /* If requested, preserve the timestamp.  */
-   if (tvp != NULL)
-     {
--      if (futimes (fd, tvp) != 0)
-+      if (FUTIMES (fd, output_fname, tvp) != 0)
- 	{
- 	  error (0, errno, gettext ("\
- cannot set access and modification date of '%s'"),
-@@ -2112,7 +2128,7 @@ handle_ar (int fd, Elf *elf, const char
- 
-   if (tvp != NULL)
-     {
--      if (unlikely (futimes (fd, tvp) != 0))
-+      if (unlikely (FUTIMES (fd, fname, tvp) != 0))
- 	{
- 	  error (0, errno, gettext ("\
- cannot set access and modification date of '%s'"), fname);
---- elfutils/tests/ChangeLog
-+++ elfutils/tests/ChangeLog
-@@ -439,6 +439,8 @@
- 
- 2008-01-21  Roland McGrath  <roland@redhat.com>
- 
-+	* line2addr.c (main): Revert last change.
-+
- 	* testfile45.S.bz2: Add tests for cltq, cqto.
- 	* testfile45.expect.bz2: Adjust.
- 
-@@ -1147,6 +1149,11 @@
- 	* Makefile.am (TESTS): Add run-elflint-test.sh.
- 	(EXTRA_DIST): Add run-elflint-test.sh and testfile18.bz2.
- 
-+2005-05-31  Roland McGrath  <roland@redhat.com>
-+
-+	* Makefile.am (WEXTRA): New variable, substituted by configure.
-+	(AM_CFLAGS): Use it in place of -Wextra.
-+
- 2005-05-24  Ulrich Drepper  <drepper@redhat.com>
- 
- 	* get-files.c (main): Use correct format specifier.
---- elfutils/tests/line2addr.c
-+++ elfutils/tests/line2addr.c
-@@ -124,7 +124,7 @@ main (int argc, char *argv[])
-     {
-       struct args a = { .arg = argv[cnt] };
- 
--      switch (sscanf (a.arg, "%m[^:]:%d", &a.file, &a.line))
-+      switch (sscanf (a.arg, "%a[^:]:%d", &a.file, &a.line))
- 	{
- 	default:
- 	case 0:
---- elfutils/tests/Makefile.in
-+++ elfutils/tests/Makefile.in
-@@ -35,14 +35,15 @@ build_triplet = @build@
- host_triplet = @host@
- DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- 	$(top_srcdir)/config/eu.am ChangeLog
--@MUDFLAP_TRUE@am__append_1 = -fmudflap
--@STANDALONE_FALSE@am__append_2 = -I$(top_srcdir)/libasm -I$(top_srcdir)/libdw \
-+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
-+@MUDFLAP_TRUE@am__append_2 = -fmudflap
-+@STANDALONE_FALSE@am__append_3 = -I$(top_srcdir)/libasm -I$(top_srcdir)/libdw \
- @STANDALONE_FALSE@	    -I$(top_srcdir)/libdwfl \
- @STANDALONE_FALSE@	    -I$(top_srcdir)/libebl -I$(top_srcdir)/libelf \
- @STANDALONE_FALSE@	    -I$(top_srcdir)/lib -I..
- 
--@STANDALONE_FALSE@am__append_3 = -Wl,-rpath-link,../libasm:../libdw:../libelf
--@TESTS_RPATH_TRUE@am__append_4 = -Wl,-rpath,$(BUILD_RPATH)
-+@STANDALONE_FALSE@am__append_4 = -Wl,-rpath-link,../libasm:../libdw:../libelf
-+@TESTS_RPATH_TRUE@am__append_5 = -Wl,-rpath,$(BUILD_RPATH)
- check_PROGRAMS = arextract$(EXEEXT) arsymtest$(EXEEXT) \
- 	newfile$(EXEEXT) saridx$(EXEEXT) scnnames$(EXEEXT) \
- 	sectiondump$(EXEEXT) showptable$(EXEEXT) update1$(EXEEXT) \
-@@ -92,12 +93,12 @@ TESTS = run-arextract.sh run-arsymtest.s
- 	run-readelf-gdb_index.sh run-unstrip-n.sh run-low_high_pc.sh \
- 	run-macro-test.sh run-elf_cntl_gelf_getshdr.sh \
- 	run-test-archive64.sh $(am__EXEEXT_1) $(am__EXEEXT_3) \
--	$(am__append_9)
--@STANDALONE_FALSE@am__append_5 = msg_tst md5-sha1-test
-+	$(am__append_10)
- @STANDALONE_FALSE@am__append_6 = msg_tst md5-sha1-test
--@HAVE_LIBASM_TRUE@am__append_7 = $(asm_TESTS)
-+@STANDALONE_FALSE@am__append_7 = msg_tst md5-sha1-test
- @HAVE_LIBASM_TRUE@am__append_8 = $(asm_TESTS)
--@ENABLE_DWZ_TRUE@am__append_9 = run-readelf-dwz-multi.sh
-+@HAVE_LIBASM_TRUE@am__append_9 = $(asm_TESTS)
-+@ENABLE_DWZ_TRUE@am__append_10 = run-readelf-dwz-multi.sh
- subdir = tests
- ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
- am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-@@ -412,6 +413,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
- INSTALL_SCRIPT = @INSTALL_SCRIPT@
- INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
- LDFLAGS = @LDFLAGS@
-+LD_AS_NEEDED = @LD_AS_NEEDED@
- LEX = @LEX@
- LEXLIB = @LEXLIB@
- LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -441,6 +443,7 @@ SHELL = @SHELL@
- STRIP = @STRIP@
- USE_NLS = @USE_NLS@
- VERSION = @VERSION@
-+WEXTRA = @WEXTRA@
- XGETTEXT = @XGETTEXT@
- XGETTEXT_015 = @XGETTEXT_015@
- XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-@@ -499,12 +502,11 @@ top_build_prefix = @top_build_prefix@
- top_builddir = @top_builddir@
- top_srcdir = @top_srcdir@
- zip_LIBS = @zip_LIBS@
--INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. $(am__append_2)
-+INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. $(am__append_3)
- AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
--	$($(*F)_no_Werror),,-Werror) $(if \
--	$($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
-+	$($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
- 	$($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
--	$(am__append_1)
-+	$(am__append_1) $(am__append_2)
- @MUDFLAP_FALSE@libmudflap = 
- @MUDFLAP_TRUE@libmudflap = -lmudflap
- COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
-@@ -514,7 +516,7 @@ CLEANFILES = *.gcno *.gcda
- textrel_check = if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
- @MUDFLAP_FALSE@BUILD_RPATH = \$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../backends:\$$ORIGIN/../libelf
- @MUDFLAP_TRUE@BUILD_RPATH = \$$ORIGIN/../backends
--AM_LDFLAGS = $(am__append_3) $(am__append_4)
-+AM_LDFLAGS = $(am__append_4) $(am__append_5)
- @TESTS_RPATH_FALSE@tests_rpath = no
- @TESTS_RPATH_TRUE@tests_rpath = yes
- asm_TESTS = asm-tst1 asm-tst2 asm-tst3 asm-tst4 asm-tst5 \
 

--- a/libs/elfutils/patches/002-no_tests.patch
+++ /dev/null
@@ -1,23 +1,1 @@
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -31,7 +31,7 @@ pkginclude_HEADERS = version.h
- 
- # Add doc back when we have some real content.
- SUBDIRS = config m4 lib libelf libebl libdwfl libdw libcpu libasm backends \
--	  src po tests
-+	  src po
- 
- EXTRA_DIST = elfutils.spec GPG-KEY NOTES EXCEPTION
- 
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -249,7 +249,7 @@ pkginclude_HEADERS = version.h
- 
- # Add doc back when we have some real content.
- SUBDIRS = config m4 lib libelf libebl libdwfl libdw libcpu libasm backends \
--	  src po tests
-+	  src po
- 
- EXTRA_DIST = elfutils.spec GPG-KEY NOTES EXCEPTION
- 
 

--- a/libs/elfutils/patches/004-memcpy_def.patch
+++ /dev/null
@@ -1,15 +1,1 @@
---- a/libelf/libelf.h
-+++ b/libelf/libelf.h
-@@ -34,6 +34,11 @@
- /* Get the ELF types.  */
- #include <elf.h>
- 
-+#ifndef _LIBC
-+#ifndef __mempcpy
-+#define __mempcpy mempcpy
-+#endif
-+#endif
- 
- /* Known translation types.  */
- typedef enum
 

--- a/libs/elfutils/patches/005-only_libdw_libelf.patch
+++ /dev/null
@@ -1,25 +1,1 @@
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -23,8 +23,7 @@ ACLOCAL_AMFLAGS = -I m4
- pkginclude_HEADERS = version.h
- 
- # Add doc back when we have some real content.
--SUBDIRS = config m4 lib libelf libebl libdwfl libdw libcpu libasm backends \
--	  src po
-+SUBDIRS = config m4 lib libelf libebl libdwfl libdw
- 
- EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \
- 	     COPYING COPYING-GPLV2 COPYING-LGPLV3
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -258,8 +258,7 @@ ACLOCAL_AMFLAGS = -I m4
- pkginclude_HEADERS = version.h
- 
- # Add doc back when we have some real content.
--SUBDIRS = config m4 lib libelf libebl libdwfl libdw libcpu libasm backends \
--	  src po
-+SUBDIRS = config m4 lib libelf libebl libdwfl libdw
- 
- EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \
- 	     COPYING COPYING-GPLV2 COPYING-LGPLV3
 

--- a/libs/elfutils/patches/006-libdw_LIBS.patch
+++ /dev/null
@@ -1,23 +1,1 @@
---- a/libdw/Makefile.am
-+++ b/libdw/Makefile.am
-@@ -111,7 +111,7 @@ libdw.so: $(srcdir)/libdw.map libdw_pic.
- 		-Wl,--enable-new-dtags,-rpath,$(pkglibdir) \
- 		-Wl,--version-script,$<,--no-undefined \
- 		-Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\
--		-ldl $(zip_LIBS)
-+		-ldl $(zip_LIBS) $(LIBS)
- 	if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
- 	ln -fs $@ $@.$(VERSION)
- 
---- a/libdw/Makefile.in
-+++ b/libdw/Makefile.in
-@@ -845,7 +845,7 @@ uninstall-am: uninstall-includeHEADERS u
- @MUDFLAP_FALSE@		-Wl,--enable-new-dtags,-rpath,$(pkglibdir) \
- @MUDFLAP_FALSE@		-Wl,--version-script,$<,--no-undefined \
- @MUDFLAP_FALSE@		-Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\
--@MUDFLAP_FALSE@		-ldl $(zip_LIBS)
-+@MUDFLAP_FALSE@		-ldl $(zip_LIBS) $(LIBS)
- @MUDFLAP_FALSE@	if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
- @MUDFLAP_FALSE@	ln -fs $@ $@.$(VERSION)
- 
 

--- a/libs/elfutils/patches/007-no_textrel_checks.patch
+++ /dev/null
@@ -1,61 +1,1 @@
---- a/libasm/Makefile.am
-+++ b/libasm/Makefile.am
-@@ -69,7 +69,6 @@ libasm.so: libasm_pic.a libasm.map
- 		-Wl,--version-script,$(srcdir)/libasm.map,--no-undefined \
- 		-Wl,--soname,$@.$(VERSION) \
- 		../libebl/libebl.a ../libelf/libelf.so  $(libasm_so_LDLIBS)
--	if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
- 	ln -fs $@ $@.$(VERSION)
- 
- install: install-am libasm.so
---- a/libasm/Makefile.in
-+++ b/libasm/Makefile.in
-@@ -656,7 +656,6 @@ uninstall-am: uninstall-libLIBRARIES uni
- @MUDFLAP_FALSE@		-Wl,--version-script,$(srcdir)/libasm.map,--no-undefined \
- @MUDFLAP_FALSE@		-Wl,--soname,$@.$(VERSION) \
- @MUDFLAP_FALSE@		../libebl/libebl.a ../libelf/libelf.so  $(libasm_so_LDLIBS)
--@MUDFLAP_FALSE@	if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
- @MUDFLAP_FALSE@	ln -fs $@ $@.$(VERSION)
- 
- @MUDFLAP_FALSE@install: install-am libasm.so
---- a/libdw/Makefile.am
-+++ b/libdw/Makefile.am
-@@ -112,7 +112,6 @@ libdw.so: $(srcdir)/libdw.map libdw_pic.
- 		-Wl,--version-script,$<,--no-undefined \
- 		-Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\
- 		-ldl $(zip_LIBS) $(LIBS)
--	if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
- 	ln -fs $@ $@.$(VERSION)
- 
- install: install-am libdw.so
---- a/libdw/Makefile.in
-+++ b/libdw/Makefile.in
-@@ -846,7 +846,6 @@ uninstall-am: uninstall-includeHEADERS u
- @MUDFLAP_FALSE@		-Wl,--version-script,$<,--no-undefined \
- @MUDFLAP_FALSE@		-Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\
- @MUDFLAP_FALSE@		-ldl $(zip_LIBS) $(LIBS)
--@MUDFLAP_FALSE@	if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
- @MUDFLAP_FALSE@	ln -fs $@ $@.$(VERSION)
- 
- @MUDFLAP_FALSE@install: install-am libdw.so
---- a/libelf/Makefile.am
-+++ b/libelf/Makefile.am
-@@ -106,7 +106,6 @@ libelf.so: libelf_pic.a libelf.map
- 	$(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \
- 		-Wl,--version-script,$(srcdir)/libelf.map,--no-undefined \
- 		-Wl,--soname,$@.$(VERSION),-z,defs,-z,relro $(libelf_so_LDLIBS)
--	if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
- 	ln -fs $@ $@.$(VERSION)
- 
- install: install-am libelf.so
---- a/libelf/Makefile.in
-+++ b/libelf/Makefile.in
-@@ -832,7 +832,6 @@ uninstall-am: uninstall-includeHEADERS u
- @MUDFLAP_FALSE@	$(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \
- @MUDFLAP_FALSE@		-Wl,--version-script,$(srcdir)/libelf.map,--no-undefined \
- @MUDFLAP_FALSE@		-Wl,--soname,$@.$(VERSION),-z,defs,-z,relro $(libelf_so_LDLIBS)
--@MUDFLAP_FALSE@	if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
- @MUDFLAP_FALSE@	ln -fs $@ $@.$(VERSION)
- 
- @MUDFLAP_FALSE@install: install-am libelf.so
 

file:a/libs/fftw3/Makefile (deleted)
--- a/libs/fftw3/Makefile
+++ /dev/null
@@ -1,119 +1,1 @@
-#
-# Copyright (C) 2007-2010 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=fftw3
-PKG_VERSION:=3.2.2
-PKG_RELEASE:=2
-
-PKG_SOURCE:=fftw-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://www.fftw.org
-PKG_MD5SUM:=b616e5c91218cc778b5aa735fefb61ae
-
-PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/fftw-$(PKG_VERSION)
-PKG_FIXUP:=autoreconf
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/fftw3
-  SECTION:=libs
-  CATEGORY:=Libraries
-  DEPENDS:=@!avr32 +libpthread
-  VARIANT:=double
-  TITLE:=Fast Fourier transform library
-  URL:=http://www.fftw.org/
-endef
-
-define Package/fftw3f
-  $(call Package/fftw3)
-  VARIANT:=single
-  TITLE+= (single precision)
-endef
-
-define Package/fftw3l
-  $(call Package/fftw3)
-  DEPENDS:=@BROKEN
-  VARIANT:=long-double
-  TITLE+= (long-double precision)
-endef
-
-define Package/fftw3/description
-	FFTW is a collection of fast C routines for computing the
-	Discrete Fourier Transform in one or more dimensions. It
-	includes complex, real, and parallel transforms, and can
-	handle arbitrary array sizes efficiently.
-endef
-
-define Package/fftw3f/description
-  $(call Package/fftw3/description)
-
-  This package contains the single precision library.
-endef
-
-define Package/fftw3l/description
-  $(call Package/fftw3/description)
-
-  This package contains the long-double precision library.
-endef
-
-TARGET_CFLAGS += $(FPIC)
-
-CONFIGURE_ARGS += \
-	--prefix=/usr \
-	--without-libiconv-prefix \
-	--without-libintl-prefix \
-	--disable-nls \
-	--enable-shared \
-	--enable-threads \
-	--enable-type-prefix \
-	--disable-debug \
-	--disable-fortran
-
-ifeq ($(BUILD_VARIANT), single)
-CONFIGURE_ARGS += \
-	--enable-single
-endif
-
-ifeq ($(BUILD_VARIANT), long-double)
-CONFIGURE_ARGS += \
-	--enable-long-double
-endif
-
-define Build/Compile
-	$(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" install
-endef
-
-define Build/InstallDev
-	$(INSTALL_DIR) $(1)/usr/include
-	$(CP) $(PKG_INSTALL_DIR)/usr/include/fftw3.h $(1)/usr/include
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfftw3*.{a,la} $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfftw3*.so* $(1)/usr/lib
-	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(1)/usr/lib/pkgconfig/
-endef
-
-define Package/fftw3/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfftw3.so* $(1)/usr/lib/
-endef
-
-define Package/fftw3f/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfftw3f.so* $(1)/usr/lib/
-endef
-
-define Package/fftw3l/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfftw3l.so* $(1)/usr/lib/
-endef
-
-$(eval $(call BuildPackage,fftw3))
-$(eval $(call BuildPackage,fftw3f))
-$(eval $(call BuildPackage,fftw3l))
-

--- a/libs/fftw3/patches/001-makefile.patch
+++ /dev/null
@@ -1,21 +1,1 @@
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -110,7 +110,7 @@ RECURSIVE_CLEAN_TARGETS = mostlyclean-re
- ETAGS = etags
- CTAGS = ctags
- DIST_SUBDIRS = support genfft kernel simd dft rdft reodft api threads \
--	cell libbench2 . tests doc tools m4
-+	cell libbench2 . doc tools m4
- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
- distdir = $(PACKAGE)-$(VERSION)
- top_distdir = $(distdir)
-@@ -278,7 +278,7 @@ lib_LTLIBRARIES = libfftw3@PREC_SUFFIX@.
- @MAINTAINER_MODE_TRUE@GENFFT = genfft
- ACLOCAL_AMFLAGS = -I m4
- SUBDIRS = support $(GENFFT) kernel simd dft rdft reodft api threads \
--cell libbench2 . tests doc tools m4
-+cell libbench2 . m4
- 
- EXTRA_DIST = COPYRIGHT bootstrap.sh CONVENTIONS fftw.pc.in README.Cell
- @HAVE_SIMD_TRUE@SIMD_LIBS = \
 

file:a/libs/giflib/Makefile (deleted)
--- a/libs/giflib/Makefile
+++ /dev/null
@@ -1,60 +1,1 @@
-#
-# Copyright (C) 2006-2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=giflib
-PKG_VERSION:=5.1.0
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=@SF/giflib
-PKG_MD5SUM:=c7e9f1c10b755ab955156d4c1ac7fc5d
-
-PKG_LICENSE:=MIT
-PKG_LICENSE_FILES:=COPYING
-
-PKG_FIXUP:=autoreconf
-PKG_REMOVE_FILES:=autogen.sh aclocal.m4
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/giflib
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=GIF libraries
-  URL:=http://sourceforge.net/projects/giflib
-endef
-
-define Package/giflib/description
-  giflib is a library for reading and writing gif images.
-  It is API and ABI compatible with libungif which was in wide use while
-  the LZW compression algorithm was patented.
-endef
-
-TARGET_CFLAGS += $(FPIC)
-CONFIGURE_ARGS += --enable-x11=no
-
-define Build/Compile
-	$(MAKE) -C $(PKG_BUILD_DIR)
-endef
-
-define Build/InstallDev
-	$(INSTALL_DIR) $(1)/usr/{lib,include}
-	$(CP) $(PKG_BUILD_DIR)/lib/.libs/lib*so* $(1)/usr/lib
-	$(CP) $(PKG_BUILD_DIR)/lib/.libs/libgif.a $(1)/usr/lib
-	$(CP) $(PKG_BUILD_DIR)/lib/libgif.la $(1)/usr/lib
-	$(CP) $(PKG_BUILD_DIR)/lib/*.h $(1)/usr/include/
-endef
-
-define Package/giflib/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_BUILD_DIR)/lib/.libs/lib*so* $(1)/usr/lib/
-endef
-
-$(eval $(call BuildPackage,giflib))
-

file:a/libs/gperf/Makefile (deleted)
--- a/libs/gperf/Makefile
+++ /dev/null
@@ -1,40 +1,1 @@
-#
-# Copyright (C) 2006-2008 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=gperf
-PKG_VERSION:=3.0.3
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=@GNU/gperf
-PKG_MD5SUM:=cc20e58975a38075440423c8fb85fd00
-PKG_HOST_ONLY=1
-
-include $(INCLUDE_DIR)/host-build.mk
-include $(INCLUDE_DIR)/package.mk
-
-define Package/gperf
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=Perfect hash function generator
-  BUILDONLY:=1
-  URL:=http://www.gnu.org/software/gperf
-endef
-
-define Package/lua/Default/description
- gperf is a perfect hash function generator
-endef
-
-define Host/Install
-	$(MAKE) -C $(HOST_BUILD_DIR) install
-endef
-
-
-$(eval $(call HostBuild))
-$(eval $(call BuildPackage,gperf))
-

file:a/libs/jansson/Makefile (deleted)
--- a/libs/jansson/Makefile
+++ /dev/null
@@ -1,44 +1,1 @@
-#
-# Copyright (C) 2011-2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=jansson
-PKG_VERSION:=2.2.1
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://www.digip.org/jansson/releases/
-PKG_MD5SUM:=ebf4ebc7af47de27f7b9d79ad5853176
-
-PKG_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/jansson
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=JSON library
-endef
-
-TARGET_CFLAGS += $(FPIC)
-
-define Build/InstallDev
-	$(INSTALL_DIR) $(1)/usr/{lib,include}
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libjansson* $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
-endef
-
-define Package/jansson/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libjansson*so* $(1)/usr/lib/
-endef
-
-$(eval $(call BuildPackage,jansson))
-

--- a/libs/jansson/patches/01-jansson-add-jason_object_deep_update.patch
+++ /dev/null
@@ -1,51 +1,1 @@
-This patch adds a function which can be used to update
-json key values on all levels, not just one, automagically
-adding new keys to objects which do not exist in old object.
 
-Signed-off-by: Roman Yeryomin <roman@advem.lv>
-
---- a/src/value.c      2011-04-21 13:15:58.000000000 +0300
-+++ b/src/value.c      2011-07-01 00:23:05.105103308 +0300
-@@ -215,6 +215,41 @@
-     return 0;
- }
-
-+int json_object_deep_update(json_t *object, json_t *other)
-+{
-+    void *iter;
-+
-+    if(!json_is_object(object) || !json_is_object(other))
-+        return -1;
-+
-+    iter = json_object_iter(other);
-+    while(iter) {
-+        const char *key;
-+        json_t *value;
-+
-+        key = json_object_iter_key(iter);
-+        value = json_object_iter_value(iter);
-+
-+        if (!json_is_object(value)) {
-+            if ( json_object_set_nocheck( object, key, value ) )
-+                return -1;
-+        } else {
-+            json_t *subobj = json_object_get(object, key);
-+            if (!subobj) {
-+                json_object_set_nocheck( object, key, value );
-+                iter = json_object_iter_next(other, iter);
-+                continue;
-+            }
-+            if (json_object_deep_update( subobj, value ) == -1)
-+                return -1;
-+        }
-+
-+        iter = json_object_iter_next(other, iter);
-+    }
-+
-+    return 0;
-+}
-+
- void *json_object_iter(json_t *json)
- {
-     json_object_t *object;
-

--- a/libs/jansson/patches/100-add-jason_object_deep_update.patch
+++ /dev/null
@@ -1,11 +1,1 @@
---- a/src/jansson.h
-+++ b/src/jansson.h
-@@ -126,6 +126,7 @@ int json_object_set_new_nocheck(json_t *
- int json_object_del(json_t *object, const char *key);
- int json_object_clear(json_t *object);
- int json_object_update(json_t *object, json_t *other);
-+int json_object_deep_update(json_t *object, json_t *other);
- void *json_object_iter(json_t *object);
- void *json_object_iter_at(json_t *object, const char *key);
- void *json_object_iter_next(json_t *object, void *iter);
 

file:a/libs/ldns/Makefile (deleted)
--- a/libs/ldns/Makefile
+++ /dev/null
@@ -1,81 +1,1 @@
-#
-# Copyright (C) 2011-2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=ldns
-PKG_VERSION:=1.6.17
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://www.nlnetlabs.nl/downloads/ldns
-PKG_MD5SUM:=a79423bcc4129e6d59b616b1cae11e5e
-
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/libldns/Default
-  URL:=http://www.nlnetlabs.nl/projects/ldns/
-  DEPENDS:=+libopenssl
-endef
-
-define Package/libldns
-  $(call Package/libldns/Default)
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=A library to simplify DNS programming
-endef
-
-define Package/libldns/description
-  The goal of ldns is to simplify DNS programming, it supports recent RFCs like
-  the DNSSEC documents, and allows developers to easily create software
-  conforming to current RFCs, and experimental software for current Internet
-  Drafts.
-endef
-
-define Package/drill
-  $(call Package/libldns/Default)
-  SECTION:=net
-  CATEGORY:=Network
-  SUBMENU:=IP Addresses and Names
-  TITLE:=DNS(SEC) information tool
-  DEPENDS+= +libldns
-endef
-
-define Package/drill/description
-  drill is a tool to designed to get all sorts of information out of the DNS. It
-  is specificly designed to be used with DNSSEC.
-endef
-
-CONFIGURE_ARGS += \
-	--disable-ecdsa \
-	--disable-gost \
-	--with-drill \
-	--with-ssl="$(STAGING_DIR)/usr"
-
-define Build/InstallDev
-	$(INSTALL_DIR) $(1)/usr/include
-	$(CP) $(PKG_INSTALL_DIR)/usr/include/ldns $(1)/usr/include/
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libldns.{a,so*} $(1)/usr/lib/
-endef
-
-define Package/libldns/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libldns.so.* $(1)/usr/lib/
-endef
-
-define Package/drill/install
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(CP) $(PKG_INSTALL_DIR)/usr/bin/drill $(1)/usr/bin/
-endef
-
-$(eval $(call BuildPackage,libldns))
-$(eval $(call BuildPackage,drill))
-

file:a/libs/libdaq/Makefile (deleted)
--- a/libs/libdaq/Makefile
+++ /dev/null
@@ -1,71 +1,1 @@
-#
-# Copyright (C) 2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=libdaq
-PKG_VERSION:=1.1.1
-PKG_RELEASE:=1
-
-PKG_SOURCE_URL:=http://www.snort.org/dl/snort-current/
-PKG_SOURCE:=daq-$(PKG_VERSION).tar.gz
-PKG_MD5SUM:=bc204ea09165b4ecbb1bb49c7c1a2ad4
-PKG_BUILD_DIR:=$(BUILD_DIR)/daq-$(PKG_VERSION)
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/nls.mk
-
-define Package/libdaq
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=DAQ library
-  URL:=$(PKG_SOURCE_URL)
-  DEPENDS:=+libdnet +libpcap
-endef
-
-define Package/libdaq/description
- Data Acquisition library for packet I/O.
-endef
-
-CONFIGURE_ARGS+= \
-	--disable-static \
-	--disable-nfq-module \
-	--with-dnet-includes="$(STAGING_DIR)/usr/include" \
-	--with-dnet-libraries="$(STAGING_DIR)/usr/lib" \
-	--with-libpcap-includes="$(STAGING_DIR)/usr/include" \
-	--with-libpcap-libraries="$(STAGING_DIR)/usr/lib" \
-
-define Build/Compile
-	$(MAKE) $(MAKE_FLAGS) -C $(PKG_BUILD_DIR)
-endef
-
-define Build/Install
-	$(MAKE) $(MAKE_FLAGS) -C $(PKG_BUILD_DIR) install DESTDIR=$(PKG_INSTALL_DIR)
-endef
-
-define Build/InstallDev
-	$(INSTALL_DIR) $(STAGING_DIR)/usr/include
-	$(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(STAGING_DIR)/usr/include/
-	$(INSTALL_DIR) $(STAGING_DIR)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib* $(STAGING_DIR)/usr/lib/
-	$(INSTALL_DIR) $(STAGING_DIR)/usr/lib/daq
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/daq/* $(STAGING_DIR)/usr/lib/daq/
-	$(INSTALL_DIR) $(STAGING_DIR)/usr/bin
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/daq-modules-config $(STAGING_DIR)/usr/bin/
-endef
-
-define Package/libdaq/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
-	$(INSTALL_DIR) $(1)/usr/lib/daq
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/daq/*.so* $(1)/usr/lib/daq/
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/daq-modules-config $(1)/usr/bin/
-endef
-
-$(eval $(call BuildPackage,libdaq))
-

--- a/libs/libdaq/patches/001-cross-compile-test.patch
+++ /dev/null
@@ -1,19 +1,1 @@
---- daq-1.1.1/configure	2012-07-10 21:32:51.000000000 +0200
-+++ daq-new/configure	2012-08-03 15:47:07.654945651 +0200
-@@ -12717,10 +12717,11 @@
-     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libpcap version >= \"1.0.0\"" >&5
- $as_echo_n "checking for libpcap version >= \"1.0.0\"... " >&6; }
-     if test "$cross_compiling" = yes; then :
--  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
--$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
--as_fn_error $? "cannot run test program while cross compiling
--See \`config.log' for more details" "$LINENO" 5; }
-+#  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-+#$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+#as_fn_error $? "cannot run test program while cross compiling
-+#See \`config.log' for more details" "$LINENO" 5; }
-+        echo "    No cross compiling test."
- else
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h.  */
 

file:a/libs/libdnet/Makefile (deleted)
--- a/libs/libdnet/Makefile
+++ /dev/null
@@ -1,145 +1,1 @@
-#
-# Copyright (C) 2006-2010 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=libdnet
-PKG_VERSION:=1.11
-PKG_RELEASE:=2
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=@SF/$(PKG_NAME)
-PKG_MD5SUM:=04c394ed8e1e7fc455456e79e908916d
-
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-
-PKG_CONFIG_DEPENDS:=\
-	CONFIG_PACKAGE_libdnet \
-	CONFIG_PACKAGE_pydnet
-
-PKG_BUILD_DEPENDS:=PACKAGE_pydnet:python
-
-include $(INCLUDE_DIR)/package.mk
-$(call include_mk, python-package.mk)
-
-define Package/libdnet/Default
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=Low-level network library
-  URL:=http://sourceforge.net/projects/libdnet/
-endef
-
-define Package/libdnet/Default/description
-	libdnet is a library of simplified, portable interface to several
-	low-level networking routines.
-endef
-
-define Package/libdnet
-  $(call Package/libdnet/Default)
-endef
-
-define Package/libdnet/description
-  $(call Package/libdnet/Default/description)
-endef
-
-define Package/pydnet
-  $(call Package/libdnet/Default)
-  DEPENDS:=libdnet +python-mini
-endef
-
-define Package/pydnet/description
-  $(call Package/libdnet/Default/description)
-  This package contains the python dnet library.
-endef
-
-TARGET_CFLAGS += $(FPIC)
-
-CONFIGURE_ARGS += \
-	--enable-shared \
-	--enable-static \
-	--without-check \
-	--without-python
-
-CONFIGURE_VARS += \
-	ac_cv_dnet_bsd_bpf=no
-
-MAKE_FLAGS += \
-	CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE"
-
-define Build/Configure
-	(cd $(PKG_BUILD_DIR); \
-		ln -sf config/acinclude.m4 . ; \
-		autoreconf -v --install || exit 1 \
-	);
-	$(call Build/Configure/Default)
-endef
-
-define Build/Compile
-	$(call Build/Compile/Default)
-	$(if $(CONFIG_PACKAGE_pydnet), \
-		$(call Build/Compile/PyMod, \
-			python/, \
-			build \
-		) \
-	)
-endef
-
-define Build/Install
-	$(call Build/Install/Default)
-	$(if $(CONFIG_PACKAGE_pydnet), \
-		$(call Build/Compile/PyMod, \
-			python/, \
-			install --no-compile --prefix $(PKG_INSTALL_DIR)/usr \
-		) \
-	)
-endef
-
-define Build/InstallDev
-	$(INSTALL_DIR) $(2)/bin
-	$(INSTALL_BIN) \
-		$(PKG_INSTALL_DIR)/usr/bin/dnet-config \
-		$(2)/bin/
-	$(SED) \
-		's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' \
-		$(2)/bin/dnet-config
-
-	$(INSTALL_DIR) $(1)/usr/include
-	$(INSTALL_DATA)\
-		$(PKG_INSTALL_DIR)/usr/include/dnet.h \
-		$(1)/usr/include/
-	$(CP) \
-		$(PKG_INSTALL_DIR)/usr/include/dnet \
-		$(1)/usr/include/
-
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) \
-		$(PKG_INSTALL_DIR)/usr/lib/libdnet.{la,a,so*} \
-		$(1)/usr/lib/
-endef
-
-define Package/libdnet/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) \
-		$(PKG_INSTALL_DIR)/usr/lib/libdnet.so.* \
-		$(1)/usr/lib/
-
-	$(INSTALL_DIR) $(1)/usr/sbin
-	$(INSTALL_BIN) \
-		$(PKG_INSTALL_DIR)/usr/sbin/dnet \
-		$(1)/usr/sbin/
-endef
-
-define Package/pydnet/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/python* $(1)/usr/lib/
-endef
-
-
-$(eval $(call BuildPackage,libdnet))
-$(eval $(call BuildPackage,pydnet))
-

--- a/libs/libdnet/patches/001-dnet_config.patch
+++ /dev/null
@@ -1,24 +1,1 @@
---- a/dnet-config.in
-+++ b/dnet-config.in
-@@ -45,10 +45,18 @@ while test $# -gt 0; do
- done
- 
- if test "$echo_cflags" = "yes"; then
--      echo -I@includedir@
-+      includes=
-+      if test "@includedir@" != "/usr/include" ; then
-+             includes=-I@includedir@
-+      fi
-+      echo $includes
- fi
- 
- if test "$echo_libs" = "yes"; then
--      echo -L@libdir@ -ldnet @LIBS@
-+      libs=
-+      if test "@libdir@" != "/usr/lib" ; then
-+             libs=-I@libdir@
-+      fi
-+      echo $libs -ldnet @LIBS@
- fi      
- 
 

--- a/libs/libdnet/patches/002-fix_avr32_compile.patch
+++ /dev/null
@@ -1,21 +1,1 @@
---- a/config/config.sub
-+++ b/config/config.sub
-@@ -228,7 +228,7 @@ case $basic_machine in
- 	| a29k \
- 	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
- 	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
--	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
-+	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
- 	| c4x | clipper \
- 	| d10v | d30v | dlx | dsp16xx \
- 	| fr30 | frv \
-@@ -290,7 +290,7 @@ case $basic_machine in
- 	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- 	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
- 	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
--	| avr-* \
-+	| avr-* | avr32-* \
- 	| bs2000-* \
- 	| c[123]* | c30-* | [cjt]90-* | c54x-* \
- 	| clipper-* | cydra-* \
 

--- a/libs/libdnet/patches/010-gcc4.patch
+++ /dev/null
@@ -1,21 +1,1 @@
---- a/python/dnet.c
-+++ b/python/dnet.c
-@@ -2726,7 +2726,7 @@ static PyObject *__pyx_f_4dnet_15__addr_
-   PyObject *__pyx_3 = 0;
-   unsigned short __pyx_4;
-   Py_INCREF(__pyx_v_self);
--  ((PyObject*)__pyx_v_next) = Py_None; Py_INCREF(((PyObject*)__pyx_v_next));
-+  __pyx_v_next = Py_None; Py_INCREF(((PyObject*)__pyx_v_next));
- 
-   /* "/Users/dugsong/projects/libdnet/python/./dnet.pyx":634 */
-   __pyx_1 = (((struct __pyx_obj_4dnet___addr_ip4_iter *)__pyx_v_self)->cur <= ((struct __pyx_obj_4dnet___addr_ip4_iter *)__pyx_v_self)->max);
-@@ -2738,7 +2738,7 @@ static PyObject *__pyx_f_4dnet_15__addr_
-     Py_DECREF(__pyx_2); __pyx_2 = 0;
-     if (!__Pyx_TypeTest(__pyx_3, __pyx_ptype_4dnet_addr)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 635; goto __pyx_L1;}
-     Py_DECREF(((PyObject *)__pyx_v_next));
--    ((PyObject *)__pyx_v_next) = __pyx_3;
-+    __pyx_v_next = __pyx_3;
-     __pyx_3 = 0;
- 
-     /* "/Users/dugsong/projects/libdnet/python/./dnet.pyx":636 */
 

--- a/libs/libmicrohttpd/Makefile
+++ /dev/null
@@ -1,54 +1,1 @@
-#
-# Copyright (C) 2011-2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=libmicrohttpd
-PKG_VERSION:=0.9.19
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=@GNU/libmicrohttpd
-PKG_MD5SUM:=0f4c55ba224ce75b3b993b558e072a6b
-
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/libmicrohttpd
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=Microhttpd
-  URL:=http://www.gnu.org/software/libmicrohttpd
-  DEPENDS:=+libpthread
-endef
-
-define Package/libmicrohttpd/description
- GNU libmicrohttpd is a small C library that is supposed to make it easy to run an HTTP server as part of another application.
-endef
-
-CONFIGURE_ARGS+= \
-	--disable-curl \
-	--disable-https \
-
-define Build/InstallDev
-	$(INSTALL_DIR) $(1)/usr/include
-	$(CP) $(PKG_INSTALL_DIR)/usr/include/microhttpd.h $(1)/usr/include/
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libmicrohttpd.{a,so*} $(1)/usr/lib/
-	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libmicrohttpd.pc $(1)/usr/lib/pkgconfig/
-endef
-
-define Package/libmicrohttpd/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libmicrohttpd.so* $(1)/usr/lib/
-endef
-
-$(eval $(call BuildPackage,libmicrohttpd))
-

--- a/libs/libmicroxml/Makefile
+++ /dev/null
@@ -1,54 +1,1 @@
-#
-# Copyright (C) 2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=libmicroxml
-PKG_VERSION:=2012-06-11
-PKG_RELEASE=$(PKG_SOURCE_VERSION)
-
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=git://dev.freecwmp.org/microxml
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=72965423184f24cc0b963d91c2d1863cdb01b6aa
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
-
-PKG_FIXUP:=autoreconf
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/libmicroxml
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=XML library
-endef
-
-define Package/libmicroxml/description
- A micro sized XML library
-endef
-
-CONFIGURE_ARGS += \
-	--disable-threads \
-	--enable-static \
-	--enable-shared
-
-define Build/InstallDev
-	$(INSTALL_DIR) $(1)/usr/include
-	$(CP) $(PKG_BUILD_DIR)/microxml.h $(1)/usr/include
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_BUILD_DIR)/libmicroxml.so* $(1)/usr/lib
-	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
-	$(CP) $(PKG_BUILD_DIR)/microxml.pc $(1)/usr/lib/pkgconfig
-endef
-
-define Package/libmicroxml/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_BUILD_DIR)/libmicroxml.so* $(1)/usr/lib
-endef
-
-$(eval $(call BuildPackage,libmicroxml))
-

file:a/libs/libnfc/Makefile (deleted)
--- a/libs/libnfc/Makefile
+++ /dev/null
@@ -1,119 +1,1 @@
-#
-# Copyright (C) 2010-2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=libnfc
-PKG_VERSION:=1.7.0
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=http://libnfc.googlecode.com/files
-PKG_MD5SUM:=8d8aced79cc0859c605c04d59e4484b3
-
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/libnfc/Default
-  TITLE:=Near Field Communication (NFC) library
-  URL:=http://www.libnfc.org
-endef
-
-define Package/libnfc
-$(call Package/libnfc/Default)
-  SECTION:=libs
-  CATEGORY:=Libraries
-  DEPENDS:=+libusb-compat +pcscd +ccid
-endef
-
-define Package/libnfc/description
-  libnfc is a free software library used to handle NFC capable devices.
-  It supports the four main NFC modulations:
-   * ISO14443-A (NXP MIFARE),
-   * ISO14443-B,
-   * JIS X 6319-4 (Sony Felica) and
-   * Jewel Topaz (Innovision Research & Development).
-  And depending on hardware, it supports:
-   * Read (RFID @13.56Mhz),
-   * Emulation and
-   * Peer2Peer mode.
-endef
-
-define Package/libnfc-bin
-$(call Package/libnfc/Default)
-  TITLE+= (binaries)
-  SECTION:=utils
-  CATEGORY:=Utilities
-  DEPENDS:=+libnfc
-endef
-
-define Package/libnfc-bin/description
-  libnfc is provided with some useful tools:
-   * nfc-list: target listing;
-   * nfc-mfclassic: Mifare Classic operations;
-   * nfc-mfultralight: Mifare Ultralight operations.
-endef
-
-define Package/libnfc-examples
-$(call Package/libnfc/Default)
-  TITLE+= (examples)
-  SECTION:=utils
-  CATEGORY:=Utilities
-  DEPENDS:=+libnfc
-endef
-
-define Package/libnfc-examples/description
-  libnfc is provided with some examples like:
-   * various targets emulation;
-   * NFC frames relay (ie. over network);
-   * manually done anticollision;
-   * etc.
-endef
-
-TARGET_CFLAGS += $(FPIC)
-CONFIGURE_ARGS += --without-readline
-
-define Build/InstallDev
-	$(INSTALL_DIR) $(1)/usr/include
-	$(CP) $(PKG_INSTALL_DIR)/usr/include/nfc $(1)/usr/include/
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnfc.{a,so*} $(1)/usr/lib/
-	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libnfc.pc $(1)/usr/lib/pkgconfig/
-endef
-
-define Package/libnfc/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnfc.so.* $(1)/usr/lib/
-endef
-
-define Package/libnfc-bin/install
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(CP) $(PKG_INSTALL_DIR)/usr/bin/nfc-list $(1)/usr/bin/
-	$(CP) $(PKG_INSTALL_DIR)/usr/bin/nfc-mfclassic $(1)/usr/bin/
-	$(CP) $(PKG_INSTALL_DIR)/usr/bin/nfc-mfultralight $(1)/usr/bin/
-endef
-
-define Package/libnfc-examples/install
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(CP) $(PKG_INSTALL_DIR)/usr/bin/nfc-anticol $(1)/usr/bin/
-	$(CP) $(PKG_INSTALL_DIR)/usr/bin/nfc-dep-initiator $(1)/usr/bin/
-	$(CP) $(PKG_INSTALL_DIR)/usr/bin/nfc-dep-target $(1)/usr/bin/
-	$(CP) $(PKG_INSTALL_DIR)/usr/bin/nfc-emulate-forum-tag4 $(1)/usr/bin/
-	$(CP) $(PKG_INSTALL_DIR)/usr/bin/nfc-emulate-tag $(1)/usr/bin/
-	$(CP) $(PKG_INSTALL_DIR)/usr/bin/nfc-emulate-uid $(1)/usr/bin/
-	$(CP) $(PKG_INSTALL_DIR)/usr/bin/nfc-poll $(1)/usr/bin/
-	$(CP) $(PKG_INSTALL_DIR)/usr/bin/nfc-relay $(1)/usr/bin/
-	$(CP) $(PKG_INSTALL_DIR)/usr/bin/nfc-relay-picc $(1)/usr/bin/
-endef
-
-$(eval $(call BuildPackage,libnfc))
-$(eval $(call BuildPackage,libnfc-bin))
-$(eval $(call BuildPackage,libnfc-examples))
-

file:a/libs/libshout/Makefile (deleted)
--- a/libs/libshout/Makefile
+++ /dev/null
@@ -1,67 +1,1 @@
-#
-# Copyright (C) 2008-2010 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=libshout
-PKG_VERSION:=2.3.1
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://downloads.us.xiph.org/releases/libshout/
-PKG_MD5SUM:=11765b2592e7ea623ccd93d3f8df172c
-
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-TARGET_CFLAGS += $(FPIC) -Wl,-rpath-link=$(STAGING_DIR)/usr/lib
-
-define Package/libshout
-  SECTION:=libs
-  DEPENDS:= +libspeex +libtheora +libvorbis +libvorbisidec +libpthread
-  CATEGORY:=Libraries
-  TITLE:=Library which can be used to write a source client like ices
-  URL:=http://www.icecast.org/download.php
-endef
-
-define Package/libshout/description
-	libshout allows applications to easily communicate and broadcast
-	to an Icecast streaming media server. It handles the socket connections,
-	metadata communication, and data streaming for the calling application,
-	and lets developers focus on feature sets instead of implementation
-	details.
-endef
-
-define Build/Configure
-	$(call Build/Configure/Default, \
-		VORBIS_CFLAGS="-I$(STAGING_DIR)/usr/include/tremor/" \
-		VORBIS_LIBS="$(TARGET_LDFLAGS) -lvorbis -lvorbisidec" \
-		--enable-shared \
-		--enable-static \
-	)
-endef
-
-define Build/InstallDev
-	$(INSTALL_DIR) $(1)/usr/include/shout
-	$(CP) $(PKG_INSTALL_DIR)/usr/include/shout/shout.h $(1)/usr/include/shout
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libshout.{a,so*} $(1)/usr/lib/
-	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
-	$(SED) 's|/usr/include|$(STAGING_DIR)/usr/include|' \
-		$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/shout.pc
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/shout.pc $(1)/usr/lib/pkgconfig/		
-endef
-
-define Package/libshout/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libshout.so.* $(1)/usr/lib/
-endef
-
-$(eval $(call BuildPackage,libshout))
-

--- a/libs/libshout/patches/120-vorbis-c.patch
+++ /dev/null
@@ -1,12 +1,1 @@
---- a/src/vorbis.c
-+++ b/src/vorbis.c
-@@ -28,7 +28,7 @@
- #endif
- #include <stdlib.h>
- 
--#include <vorbis/codec.h>
-+#include <tremor/ivorbiscodec.h>
- 
- #include "shout_private.h"
- #include "shout_ogg.h"
 

--- a/libs/libshout/patches/140-no_example_doc_win32.patch
+++ /dev/null
@@ -1,18 +1,1 @@
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -288,12 +288,12 @@ top_builddir = @top_builddir@
- top_srcdir = @top_srcdir@
- AUTOMAKE_OPTIONS = 1.6 foreign
- ACLOCAL_AMFLAGS = -I m4
--SUBDIRS = include src examples debian doc win32
-+SUBDIRS = include src debian
- EXTRA_DIST = INSTALL m4/shout.m4 m4/acx_pthread.m4 \
- 	m4/ogg.m4 m4/vorbis.m4 m4/xiph_compiler.m4 m4/xiph_net.m4 \
- 	m4/xiph_types.m4
- 
--doc_DATA = COPYING NEWS README examples/example.c examples/nonblocking.c
-+doc_DATA = COPYING NEWS README
- m4datadir = $(datadir)/aclocal
- m4data_DATA = m4/shout.m4
- @HAVE_PKGCONFIG_TRUE@pkgconfigdir = $(libdir)/pkgconfig
 

--- a/libs/libtorrent/Makefile
+++ /dev/null
@@ -1,72 +1,1 @@
-#
-# Copyright (C) 2007-2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=libtorrent
-PKG_VERSION:=0.13.3-git
-PKG_RELEASE=$(PKG_SOURCE_VERSION)-1
-
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/rakshasa/libtorrent.git
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=680576e23e7d5f642ee51486fdf301ac0195e188
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
-
-PKG_FIXUP:=autoreconf
-PKG_BUILD_PARALLEL:=1
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/libtorrent
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=Rakshasa's BitTorrent library
-  URL:=http://libtorrent.rakshasa.no/
-  DEPENDS:=+libopenssl +libsigcxx
-endef
-
-define Package/libtorrent/description
- LibTorrent is a BitTorrent library written in C++ for *nix, with a focus on
- high performance and good code. The library differentiates itself from other
- implementations by transfering directly from file pages to the network stack.
- On high-bandwidth connections it is able to seed at 3 times the speed of the
- official client.
-endef
-
-TARGET_LDFLAGS += $(LIBGCC_S)
-
-CONFIGURE_ARGS+= \
-	--enable-shared \
-	--enable-static \
-	--enable-aligned \
-	--disable-debug \
-	--enable-openssl \
-	--disable-instrumentation
-
-define Build/Configure
-	( cd $(PKG_BUILD_DIR); ./autogen.sh );
-	$(call Build/Configure/Default)
-endef
-
-define Build/InstallDev
-	$(INSTALL_DIR) $(1)/usr/include
-	$(CP) $(PKG_INSTALL_DIR)/usr/include/torrent $(1)/usr/include/
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libtorrent.{a,so*} $(1)/usr/lib/
-	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libtorrent.pc $(1)/usr/lib/pkgconfig/
-endef
-
-define Package/libtorrent/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libtorrent.so.* $(1)/usr/lib/
-endef
-
-$(eval $(call BuildPackage,libtorrent))
-

--- a/libs/libtorrent/patches/100-fix_cross_compile.patch
+++ /dev/null
@@ -1,42 +1,1 @@
---- a/configure.ac
-+++ b/configure.ac
-@@ -19,7 +19,6 @@ AC_SUBST(LIBTORRENT_INTERFACE_VERSION_NO
- 
- AM_INIT_AUTOMAKE
- AC_CONFIG_HEADERS(config.h)
--AM_PATH_CPPUNIT(1.9.6)
- 
- AC_PROG_CXX
- 
---- a/scripts/checks.m4
-+++ b/scripts/checks.m4
-@@ -96,7 +96,7 @@ AC_DEFUN([TORRENT_CHECK_KQUEUE], [
- AC_DEFUN([TORRENT_CHECK_KQUEUE_SOCKET_ONLY], [
-   AC_MSG_CHECKING(whether kqueue supports pipes and ptys)
- 
--  AC_RUN_IFELSE([AC_LANG_SOURCE([
-+  AC_LINK_IFELSE([AC_LANG_SOURCE([
-       #include <fcntl.h>
-       #include <stdlib.h>
-       #include <unistd.h>
---- a/scripts/common.m4
-+++ b/scripts/common.m4
-@@ -223,7 +223,7 @@ dnl   Need to fix this so that it uses t
- AC_DEFUN([TORRENT_CHECK_EXECINFO], [
-   AC_MSG_CHECKING(for execinfo.h)
- 
--  AC_RUN_IFELSE([AC_LANG_SOURCE([
-+  AC_LINK_IFELSE([AC_LANG_SOURCE([
-       #include <execinfo.h>
-       int main() { backtrace((void**)0, 0); backtrace_symbols((char**)0, 0); return 0;}
-       ])],
-@@ -238,7 +238,7 @@ AC_DEFUN([TORRENT_CHECK_EXECINFO], [
- AC_DEFUN([TORRENT_CHECK_ALIGNED], [
-   AC_MSG_CHECKING(the byte alignment)
- 
--  AC_RUN_IFELSE([AC_LANG_SOURCE([
-+  AC_LINK_IFELSE([AC_LANG_SOURCE([
-       #include <inttypes.h>
-       int main() {
-         char buf@<:@8@:>@ = { 0, 0, 0, 0, 1, 0, 0, 0 };
 

--- a/libs/libtorrent/patches/120-fix-ipv6_socket_datagram.patch
+++ /dev/null
@@ -1,27 +1,1 @@
---- a/src/net/socket_datagram.cc
-+++ b/src/net/socket_datagram.cc
-@@ -73,6 +73,23 @@ SocketDatagram::write_datagram(const voi
-   int r;
- 
-   if (sa != NULL) {
-+#ifdef RAK_USE_INET6
-+    if (m_ipv6_socket && sa->family() == rak::socket_address::pf_inet) {
-+      uint32_t addr32[4];
-+      sockaddr_in6 mapped_addr;
-+      memset(&mapped_addr, 0, sizeof(mapped_addr));
-+      mapped_addr.sin6_family = AF_INET6;
-+      addr32[0] = 0;
-+      addr32[1] = 0;
-+      addr32[2] = htonl(0xffff);
-+      addr32[3] = sa->sa_inet()->address_n();
-+      memcpy(mapped_addr.sin6_addr.s6_addr, addr32, sizeof(uint32_t) * 4);
-+      mapped_addr.sin6_port = sa->sa_inet()->port_n();
-+      r = ::sendto(m_fileDesc, buffer, length, 0, (sockaddr*)&mapped_addr, sizeof(mapped_addr));
-+    } else if (m_ipv6_socket && sa->family() == rak::socket_address::pf_inet6) {
-+      r = ::sendto(m_fileDesc, buffer, length, 0, sa->sa_inet6()->c_sockaddr(), sizeof(rak::socket_address_inet6));
-+    } else
-+#endif
-     r = ::sendto(m_fileDesc, buffer, length, 0, sa->sa_inet()->c_sockaddr(), sizeof(rak::socket_address_inet));
-   } else {
-     r = ::send(m_fileDesc, buffer, length, 0);
 

file:a/libs/libugpio/Makefile (deleted)
--- a/libs/libugpio/Makefile
+++ /dev/null
@@ -1,74 +1,1 @@
-#
-# Copyright (C) 2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=libugpio
-PKG_VERSION:=0.0.1
-PKG_RELEASE=$(PKG_SOURCE_VERSION)-1
-
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=git://github.com/mhei/libugpio.git
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=8235d04096bfa9db594d5df75c5cd634a3bbc39a
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
-
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/libugpio
-  SECTION:=libs
-  CATEGORY:=Libraries
-  URL:=https://github.com/mhei/libugpio
-  TITLE:=Library for using sysfs gpio interface from C programs
-  DEPENDS:=@GPIO_SUPPORT
-endef
-
-define Package/libugpio/description
-  libugpio is a library to ease the use of linux kernel's sysfs
-  gpio interface from C programs and/or other libraries.
-endef
-
-define Package/gpioctl-sysfs
-  SECTION:=utils
-  CATEGORY:=Utilities
-  TITLE:=Tool for controlling gpio pins
-  DEPENDS:=+libugpio
-endef
-
-define Package/gpioctl-sysfs/description
-  Tool for controlling gpio pins using the sysfs api provided by the kernel.
-endef
-
-define Build/Configure
-	( cd "$(PKG_BUILD_DIR)"; ./autogen.sh )
-	$(call Build/Configure/Default)
-endef
-
-define Build/InstallDev
-	$(INSTALL_DIR) $(1)/usr/include
-	$(CP) $(PKG_INSTALL_DIR)/usr/include/ugpio $(1)/usr/include/
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libugpio.{so*,a} $(1)/usr/lib/
-	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libugpio.pc $(1)/usr/lib/pkgconfig/
-endef
-
-define Package/libugpio/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libugpio.so* $(1)/usr/lib/
-endef
-
-define Package/gpioctl-sysfs/install
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/gpioctl $(1)/usr/bin/
-endef
-
-$(eval $(call BuildPackage,libugpio))
-$(eval $(call BuildPackage,gpioctl-sysfs))
-

file:a/libs/libyaml/Makefile (deleted)
--- a/libs/libyaml/Makefile
+++ /dev/null
@@ -1,49 +1,1 @@
-#
-# Copyright (C) 2008-2010 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=yaml
-PKG_VERSION:=0.1.6
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://pyyaml.org/download/libyaml/
-PKG_MD5SUM:=5fe00cda18ca5daeb43762b80c38e06e
-
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-TARGET_CFLAGS += $(FPIC)
-
-define Package/libyaml
-  SUBMENU:=Python
-  SECTION:=lang
-  CATEGORY:=Languages
-  TITLE:=libyaml
-  URL:=http://pyyaml.org/wiki/LibYAML
-endef
-
-define Package/libyaml/description
-  yaml library written in c
-endef
-
-define Package/libyaml/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libyaml.so $(1)/usr/lib/
-endef
-
-define Build/InstallDev
-	$(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib
-	$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
-	$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libyaml.{a,la} $(1)/usr/lib/
-endef
-
-$(eval $(call BuildPackage,libyaml))
-

file:a/libs/lttng-ust/Makefile (deleted)
--- a/libs/lttng-ust/Makefile
+++ /dev/null
@@ -1,49 +1,1 @@
-#
-# Copyright (C) 2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=lttng-ust
-PKG_VERSION:=2.1.0
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=https://lttng.org/files/$(PKG_NAME)
-PKG_MD5SUM:=2032e66f3438949c51ec9922c6f8542b
-
-PKG_BUILD_PARALLEL:=1
-PKG_USE_MIPS16:=0
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/lttng-ust
-  SECTION:=libs
-  CATEGORY:=Libraries
-  DEPENDS:=+liburcu +libuuid +librt
-  TITLE:=LTTng Userspace Tracing Library
-  URL:=https://lttng.org/
-endef
-
-define Package/lttng-ust/description
-   LTTng Userspace Tracing Library
-endef
-
-define Build/InstallDev
-	$(INSTALL_DIR) $(1)/usr/include
-	$(CP) $(PKG_INSTALL_DIR)/usr/include/lttng* $(1)/usr/include/
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/liblttng-ust*.{a,so*} $(1)/usr/lib/
-endef
-
-define Package/lttng-ust/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/liblttng-ust*.so.* $(1)/usr/lib/
-endef
-
-$(eval $(call BuildPackage,lttng-ust))
-

--- a/libs/lttng-ust/patches/001.no_docs_tests.patch
+++ /dev/null
@@ -1,36 +1,1 @@
-diff -urN lttng-ust-2.1.0/Makefile.am lttng-ust-2.1.0.new/Makefile.am
---- lttng-ust-2.1.0/Makefile.am	2012-12-10 21:29:20.000000000 +0100
-+++ lttng-ust-2.1.0.new/Makefile.am	2013-01-14 14:25:41.923661688 +0100
-@@ -5,9 +5,7 @@
- 		liblttng-ust-ctl \
- 		liblttng-ust-fork \
- 		liblttng-ust-libc-wrapper \
--		tools \
--		tests \
--		doc
-+		tools
- 
- if BUILD_JNI_INTERFACE
- SUBDIRS += liblttng-ust-java
-diff -urN lttng-ust-2.1.0/Makefile.in lttng-ust-2.1.0.new/Makefile.in
---- lttng-ust-2.1.0/Makefile.in	2012-12-20 19:24:57.000000000 +0100
-+++ lttng-ust-2.1.0.new/Makefile.in	2013-01-14 14:25:31.247661789 +0100
-@@ -135,7 +135,7 @@
- CTAGS = ctags
- DIST_SUBDIRS = . include snprintf libringbuffer liblttng-ust-comm \
- 	liblttng-ust liblttng-ust-ctl liblttng-ust-fork \
--	liblttng-ust-libc-wrapper tools tests doc liblttng-ust-java
-+	liblttng-ust-libc-wrapper tools liblttng-ust-java
- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
- distdir = $(PACKAGE)-$(VERSION)
- top_distdir = $(distdir)
-@@ -307,7 +307,7 @@
- ACLOCAL_AMFLAGS = -I config
- SUBDIRS = . include snprintf libringbuffer liblttng-ust-comm \
- 	liblttng-ust liblttng-ust-ctl liblttng-ust-fork \
--	liblttng-ust-libc-wrapper tools tests doc $(am__append_1)
-+	liblttng-ust-libc-wrapper tools $(am__append_1)
- 
- #temporarily disabled
- # liblttng-ust-malloc
 

file:a/libs/mxml/Makefile (deleted)
--- a/libs/mxml/Makefile
+++ /dev/null
@@ -1,57 +1,1 @@
-#
-# Copyright (C) 2010 Tobias Schneider
-# Copyright (C) 2007 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=mxml
-PKG_VERSION:=2.8
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://www.msweet.org/files/project3/
-PKG_FIXUP:=autoreconf
-PKG_MD5SUM:=d85ee6d30de053581242c4a86e79a5d2
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/mxml
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=mini-xml
-  URL:=http://www.minixml.org/
-endef
-
-define Package/mxml/description
-  A small xml library.
-endef
-
-TARGET_CFLAGS += $(FPIC)
-
-define Build/Configure
-	$(call Build/Configure/Default, \
-		--enable-shared \
-		--enable-static \
-	)
-endef
-
-define Build/InstallDev
-	mkdir -p $(1)/usr/include
-	$(CP) $(PKG_BUILD_DIR)/mxml.h $(1)/usr/include/
-	mkdir -p $(1)/usr/lib
-	$(CP) $(PKG_BUILD_DIR)/libmxml.so* $(1)/usr/lib/
-	mkdir -p $(1)/usr/lib/pkgconfig
-	$(CP) $(PKG_BUILD_DIR)/mxml.pc $(1)/usr/lib/pkgconfig/
-endef
-
-define Package/mxml/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_BUILD_DIR)/libmxml.so*  $(1)/usr/lib/
-endef
-
-$(eval $(call BuildPackage,mxml))
-

--- a/libs/mxml/patches/001-targets.patch
+++ /dev/null
@@ -1,12 +1,1 @@
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -88,7 +88,7 @@ PUBLIBOBJS	=	mxml-attr.o mxml-entity.o m
- 			mxml-index.o mxml-node.o mxml-search.o mxml-set.o
- LIBOBJS		=	$(PUBLIBOBJS) mxml-private.o mxml-string.o
- OBJS		=	mxmldoc.o testmxml.o $(LIBOBJS)
--TARGETS		=	$(LIBMXML) mxmldoc testmxml mxml.xml doc/mxml.man
-+TARGETS		=	$(LIBMXML)
- 
- 
- #
 

file:a/libs/ortp/Makefile (deleted)
--- a/libs/ortp/Makefile
+++ /dev/null
@@ -1,76 +1,1 @@
-#
-# Copyright (C) 2010-2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=ortp
-PKG_VERSION:=0.16.3
-PKG_RELEASE:=2
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:= \
-	http://download.savannah.gnu.org/releases-noredirect/linphone/ortp/sources/ \
-	http://www.very-clever.com/download/nongnu/linphone/ortp/sources/
-PKG_MD5SUM:=2b0281600cb958d1c94e318a86b62fe3
-
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/libortp
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=Real-time Transport Protocol (RTP) library
-  URL:=http://www.linphone.org/index.php/eng/code_review/ortp
-  DEPENDS:= +libpthread
-endef
-
-ifneq ($(CONFIG_avr32),)
-  TARGET_CFLAGS += -fsigned-char
-endif
-
-CONFIGURE_ARGS += \
-	--disable-debug \
-	--enable-ipv6 \
-	--enable-perf \
-	--disable-ssl-hmac \
-	--disable-so-reuseaddr \
-	--without-srtp \
-
-CONFIGURE_VARS += \
-	ac_cv_header_srtp_srtp_h=no \
-	ac_cv_lib_srtp_srtp_init=no \
-
-define Build/InstallDev
-	$(INSTALL_DIR) $(1)/usr/include
-	( cd $(PKG_INSTALL_DIR); $(CP) \
-		./usr/include/ortp \
-		$(1)/usr/include/ \
-	)
-	$(INSTALL_DIR) $(1)/usr/lib
-	( cd $(PKG_INSTALL_DIR); $(CP) \
-		./usr/lib/libortp.{a,so*} \
-		$(1)/usr/lib/ \
-	)
-	$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
-	( cd $(PKG_INSTALL_DIR); $(CP) \
-		./usr/lib/pkgconfig/ortp.pc \
-		$(1)/usr/lib/pkgconfig/ \
-	)
-endef
-
-define Package/libortp/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	( cd $(PKG_INSTALL_DIR); $(CP) \
-		./usr/lib/libortp.so.* \
-		$(1)/usr/lib/ \
-	)
-endef
-
-$(eval $(call BuildPackage,libortp))
-

--- a/libs/ortp/patches/001-memset_fix.patch
+++ /dev/null
@@ -1,12 +1,1 @@
---- a/src/stun.c
-+++ b/src/stun.c
-@@ -399,7 +399,7 @@ stunParseMessage( char* buf, unsigned in
-    char* body;
-    unsigned int size;
- 	 ortp_debug("stun: Received stun message: %i bytes\n", bufLen);
--   memset(msg, 0, sizeof(msg));
-+   memset(msg, 0, sizeof(*msg));
- 	
-    if (sizeof(StunMsgHdr) > bufLen)
-    {
 

file:a/libs/pthsem/Makefile (deleted)
--- a/libs/pthsem/Makefile
+++ /dev/null
@@ -1,60 +1,1 @@
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=pthsem
-PKG_VERSION:=2.0.8
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://www.auto.tuwien.ac.at/~mkoegler/pth/
-PKG_MD5SUM:=9144b26dcc27e67498d63dd5456f934c
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_FIXUP:=autoreconf
-PKG_BUILD_PARALLEL:=1
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/pthsem
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=GNU pth extended with semaphore support
-  URL:=http://www.auto.tuwien.ac.at/~mkoegler/index.php/pth
-  DEPENDS:=@USE_EGLIBC @TARGET_x86
-endef
-
-define Package/pthsem/description
-  GNU pth is a user mode multi threading library.
-  pthsem is an extend version, with support for semaphores added. It can be installed parallel to a normal pth.
-endef
-
-MAKE_FLAGS += \
-        OPTIM="$(TARGET_CFLAGS)" \
-        CFLAGS="$(TARGET_CFLAGS)" \
-        DESTDIR="$(PKG_INSTALL_DIR)"
-
-define Build/InstallDev
-	$(INSTALL_DIR) $(2)/bin
-	$(INSTALL_BIN) \
-		$(PKG_INSTALL_DIR)/usr/bin/pthsem-config \
-		$(2)/bin/
-	$(SED) \
-		's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' \
-		$(2)/bin/pthsem-config
-
-	$(INSTALL_DIR) $(1)/usr/include
-	$(CP)   $(PKG_INSTALL_DIR)/usr/include/*.h \
-		$(1)/usr/include/
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP)   $(PKG_INSTALL_DIR)/usr/lib/libpthsem.{a,la,so*} \
-		$(1)/usr/lib/
-endef
-
-define Package/pthsem/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpthsem.so.* $(1)/usr/lib/
-endef
-
-$(eval $(call BuildPackage,pthsem))
-

file:a/libs/qrencode/Makefile (deleted)
--- a/libs/qrencode/Makefile
+++ /dev/null
@@ -1,68 +1,1 @@
-#
-# Copyright (C) 2006-2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=qrencode
-PKG_VERSION:=3.4.3
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://fukuchi.org/works/qrencode/
-PKG_MD5SUM:=2bb7fb7c7bd1a4042d4910b29609319e
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/libqrencode
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=Library for encoding data in a QR Code symbol
-  URL:=http://fukuchi.org/works/qrencode/
-endef
-
-define Package/libqrencode/description
-Libqrencode is a C library for encoding data in a QR Code symbol,
-a kind of 2D symbology that can be scanned by handy terminals such
-as a mobile phone with CCD. The capacity of QR Code is up to 7000
-digits or 4000 characters, and is highly robust.
-
-
-endef
-
-CONFIGURE_ARGS+= \
-	--enable-shared \
-	--enable-static \
-	--disable-rpath \
-	--disable-sdltest \
-	--without-tools \
-	--without-tests
-
-TARGET_LDFLAGS+= -s
-
-define Build/Compile
-	$(MAKE) -C $(PKG_BUILD_DIR) \
-		$(TARGET_CONFIGURE_OPTS) \
-		CFLAGS="$(TARGET_CFLAGS)" \
-		LDFLAGS="$(TARGET_LDFLAGS)" \
-		DESTDIR="$(PKG_INSTALL_DIR)" \
-		all install
-endef
-
-define Build/InstallDev
-	$(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib $(1)/usr/lib/pkgconfig
-	$(CP) $(PKG_INSTALL_DIR)/usr/include/qrencode.h $(1)/usr/include/
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libqrencode.{a,so*} $(1)/usr/lib/
-	$(CP) $(PKG_BUILD_DIR)/libqrencode.pc $(1)/usr/lib/pkgconfig/
-endef
-
-define Package/libqrencode/install
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libqrencode.so* $(1)/usr/lib/
-endef
-
-$(eval $(call BuildPackage,libqrencode))
-

--- a/libs/rblibtorrent/Makefile
+++ /dev/null
@@ -1,78 +1,1 @@
-#
-# Copyright (C) 2007 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-# $Id: Makefile 9173 2007-10-07 03:20:26Z blogic $
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=rblibtorrent
-PKG_VERSION:=0.14.7
-PKG_RELEASE:=1
-
-PKG_SOURCE:=libtorrent-rasterbar-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=@SF/libtorrent
-PKG_MD5SUM:=6959f719245d82758235fd73d93373b2
-PKG_BUILD_DIR:=$(BUILD_DIR)/libtorrent-rasterbar-$(PKG_VERSION)
-PKG_BUILD_DEPENDS:=libtool
-BOOSTPOSTFIX=mt
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/rblibtorrent
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=Rasterbar BitTorrent library
-  URL:=http://www.rasterbar.com/products/libtorrent/
-  DEPENDS:=+boost +boost-python +boost-filesystem +boost-regex +boost-thread +boost-program_options +boost-system +libopenssl @BROKEN
-endef
-
-define Package/rblibtorrent/description
-Rasterbar libtorrent is a C++ library that aims to be a good alternative to
-all the other bittorrent implementations around. It is a library and not a
-full featured client, although it comes with a working example client.
-endef
-
-CONFIGURE_ARGS+= \
-	--enable-shared \
-	--disable-debug \
-	--enable-python-binding \
-	--with-ssl=$(STAGING_DIR)/usr \
-	--with-boost=$(STAGING_DIR)/usr/include \
-	--with-boost-libdir=$(STAGING_DIR)/usr/lib \
-	--with-zlib=detect \
-	--with-boost-system=boost_system-$(BOOSTPOSTFIX) \
-	--with-boost-filesystem=boost_filesystem-$(BOOSTPOSTFIX) \
-	--with-boost-thread=boost_thread-$(BOOSTPOSTFIX) \
-	--with-boost-regex=boost_regex-$(BOOSTPOSTFIX) \
-	--with-boost-python=boost_python-$(BOOSTPOSTFIX) \
-	--with-boost-program_options=boost_program_options-$(BOOSTPOSTFIX)
-
-CONFIGURE_VARS+=CC="$(TARGET_CXX)"
-
-EXTRA_LDFLAGS+=-lz -lpthread
-
-define Build/Compile
-	$(call Build/Compile/Default)
-	$(call Build/Install/Default)
-endef
-
-define Build/InstallDev
-	mkdir -p $(1)/usr/include
-	$(CP) $(PKG_INSTALL_DIR)/usr/include/libtorrent $(1)/usr/include/
-	mkdir -p $(1)/usr/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
-	mkdir -p $(1)/usr/lib/pkgconfig
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libtorrent-rasterbar.pc $(1)/usr/lib/pkgconfig/
-endef
-
-define Package/rblibtorrent/install
-	$(INSTALL_DIR) $(1)/usr/lib $(1)/usr/lib/python2.6/site-packages/
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/python2.6/site-packages/*.so* $(1)/usr/lib/python2.6/site-packages/
-endef
-
-$(eval $(call BuildPackage,rblibtorrent))
-

--- a/libs/rblibtorrent/patches/enable-shared-linking.patch
+++ /dev/null
@@ -1,12 +1,1 @@
---- libtorrent-rasterbar-0.14.7/bindings/python/Makefile.in	2009-11-18 09:25:39.000000000 +0100
-+++ libtorrent-rasterbar-0.14.7/bindings/python/Makefile.in	2010-02-26 13:27:58.000000000 +0100
-@@ -408,7 +408,7 @@
- 
- 
- @ENABLE_PYTHON_BINDING_TRUE@all-local:
--@ENABLE_PYTHON_BINDING_TRUE@	$(PYTHON) setup.py build
-+@ENABLE_PYTHON_BINDING_TRUE@	CXX="$(CXX) -pthread -shared" $(PYTHON) setup.py build
- 
- @ENABLE_PYTHON_BINDING_TRUE@install-exec-local:
- @ENABLE_PYTHON_BINDING_TRUE@	$(PYTHON) setup.py install @PYTHON_INSTALL_PARAMS@
 

file:a/libs/sctp/Makefile (deleted)
--- a/libs/sctp/Makefile
+++ /dev/null
@@ -1,61 +1,1 @@
-#
-# Copyright (C) 2010 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=lksctp-tools
-PKG_VERSION:=1.0.11
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=@SF/lksctp/
-PKG_MD5SUM:=e9cf6c57402c9d4f1173a9529466e16d
-
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-#####
-## lksctp library: provides sctp_* functions in user space
-#####
-
-define Package/sctp
-  SECTION:=libs
-  CATEGORY:=Network
-  TITLE:=SCTP user-land library
-  URL:=http://lksctp.sourceforge.net
-  DEPENDS:=+kmod-sctp
-endef
-
-define Package/sctp/description
- SCTP user-land library for sctp_* functions (when socket API is too limited).
-endef
-
-TARGET_LDFLAGS := -L$(STAGING_DIR)/usr/lib $(TARGET_LDFLAGS)
-
-define Package/sctp/install
-	# Install the library in the router
-	$(INSTALL_DIR) $(1)/usr/lib
-	$(CP) \
-		$(PKG_INSTALL_DIR)/usr/lib/libsctp.so* \
-		$(1)/usr/lib/
-	# And also in staging for dependent packages
-	$(INSTALL_DIR) $(STAGING_DIR)/usr/include/netinet
-	$(CP) \
-		$(PKG_INSTALL_DIR)/usr/include/netinet/* \
-		$(STAGING_DIR)/usr/include/netinet/
-	$(INSTALL_DIR) $(STAGING_DIR)/usr/lib
-	$(CP) \
-		$(PKG_INSTALL_DIR)/usr/lib/libsctp.so* \
-		$(STAGING_DIR)/usr/lib/
-
-endef
-
-$(eval $(call BuildPackage,sctp))
-
-

--- a/libs/uclibc++/patches/001-do-not-set-make.patch
+++ /dev/null
@@ -1,9 +1,1 @@
-diff -Nur uClibc++-0.2.4.orig/Makefile uClibc++-0.2.4/Makefile
---- uClibc++-0.2.4.orig/Makefile	2012-05-25 23:15:31.000000000 +0200
-+++ uClibc++-0.2.4/Makefile	2013-03-11 11:50:03.000000000 +0100
-@@ -1,4 +1,3 @@
--MAKE    = make
- SUBDIRS = bin include src
- 
- # User defines:
 

file:a/mail/alpine/Makefile (deleted)
--- a/mail/alpine/Makefile
+++ /dev/null
@@ -1,71 +1,1 @@
-#
-# Copyright (C) 2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=alpine
-PKG_VERSION:=2.11
-PKG_RELEASE:=1
-
-PKG_SOURCE_URL:=http://patches.freeiz.com/alpine/release/src/
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_MD5SUM:=a3bba218787691080d706b36215eec06
-
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/alpine
-  SECTION:=mail
-  CATEGORY:=Mail
-  DEPENDS:=+libopenssl +libncurses +libpthread +libpam
-  TITLE:=Alternatively Licensed Program for Internet News and Email
-  URL:=http://www.washington.edu/alpine
-endef
-
-define Package/alpine/description
- Alpine (Alternatively Licenced Program for Internet News and Email) is a
- free software email client developed at the University of Washington.
- It is suitable for both the inexperienced email user as well as for
- the most demanding power user.
-endef
-
-CONFIGURE_ARGS += \
-	--with-ssl-include-dir=$(STAGING_DIR)/usr/include/openssl/. \
-	--with-ssl-lib-dir=$(STAGING_DIR)/usr/lib \
-	--without-tcl \
-	--without-ldap \
-	--without-krb5 \
-	--with-system-pinerc=/etc/pine.conf \
-	--with-system-fixed-pinerc=/etc/pine.conf.fixed \
-	--disable-debug \
-	--disable-mouse \
-	--with-c-client-target=slx \
-
-ifeq ($(CONFIG_IPV6),y)
-  DISABLE_IPV6:=
-else
-  DISABLE_IPV6:=--without-ipv6
-endif
-
-define Build/Compile
-	( cd $(PKG_BUILD_DIR)/pith ; \
-		$(HOSTCC) help_h_gen.c -c -o help_h_gen.o ; \
-		$(HOSTCC) help_h_gen.o -o help_h_gen ; \
-		$(HOSTCC) help_c_gen.c -c -o help_c_gen.o ; \
-		$(HOSTCC) help_c_gen.o -o help_c_gen ; \
-	)
-	$(call Build/Compile/Default)
-endef
-
-define Package/alpine/install
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/alpine $(1)/usr/bin/
-endef
-
-$(eval $(call BuildPackage,alpine))
-

file:a/mail/msmtp/Makefile (deleted)
--- a/mail/msmtp/Makefile
+++ /dev/null
@@ -1,123 +1,1 @@
-#
-# Copyright (C) 2009 David Cooper <dave@kupesoft.com>
-# Copyright (C) 2009-2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=msmtp
-PKG_VERSION:=1.4.27
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=@SF/msmtp
-PKG_MD5SUM:=2d6d10d9c59ed2b2635554ed35fb9226
-
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/msmtp/Default
-  SECTION:=mail
-  CATEGORY:=Mail
-  TITLE:=Simple sendmail SMTP forwarding
-  URL:=http://msmtp.sourceforge.net/
-endef
-
-define Package/msmtp/Default/description
- msmtp is an SMTP client. In the default mode, it transmits a mail to
- an SMTP server (for example at a free mail provider) which does the
- delivery. To use this program with your mail user agent (MUA), create
- a configuration file with your mail account(s) and tell your MUA to
- call msmtp instead of /usr/sbin/sendmail.
-endef
-
-define Package/msmtp
-$(call Package/msmtp/Default)
-  DEPENDS+= +libopenssl
-  TITLE+= (with SSL support)
-  VARIANT:=ssl
-endef
-
-define Package/msmtp/conffiles
-/etc/msmtprc
-endef
-
-define Package/msmtp/description
-$(call Package/msmtp/Default/description)
- This package is built with SSL support.
-endef
-
-define Package/msmtp-nossl
-$(call Package/msmtp/Default)
-  TITLE+= (without SSL support)
-  VARIANT:=nossl
-endef
-
-define Package/msmtp-nossl/description
-$(call Package/msmtp/Default/description)
- This package is built without SSL support.
-endef
-
-define Package/msmtp-queue
-$(call Package/msmtp/Default)
-  DEPENDS+= +bash
-  TITLE+= (queue scripts)
-endef
-
-define Package/msmtp-queue/description
-$(call Package/msmtp/Default/description)
- This package contains the msmtp queue scripts.
-endef
-
-CONFIGURE_ARGS += \
-	--disable-rpath \
-	--without-libintl-prefix \
-	--without-libgsasl \
-	--without-libidn
-
-MAKE_FLAGS :=
-
-ifeq ($(BUILD_VARIANT),ssl)
-	CONFIGURE_ARGS += \
-		--with-ssl=openssl
-endif
-
-ifeq ($(BUILD_VARIANT),nossl)
-	CONFIGURE_ARGS += \
-		--with-ssl=no
-endif
-
-define Package/msmtp/install
-	$(INSTALL_DIR) $(1)/etc
-	$(INSTALL_CONF) $(PKG_BUILD_DIR)/doc/msmtprc-system.example \
-		$(1)/etc/msmtprc
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/msmtp $(1)/usr/bin/
-	$(INSTALL_DIR) $(1)/usr/sbin
-endef
-
-define Package/msmtp/postinst
-	ln -sf ../bin/msmtp $${IPKG_INSTROOT}/usr/sbin/sendmail
-endef
-
-Package/msmtp-nossl/conffiles = $(Package/msmtp/conffiles)
-Package/msmtp-nossl/install = $(Package/msmtp/install)
-Package/msmtp-nossl/postinst = $(Package/msmtp/postinst)
-
-define Package/msmtp-queue/install
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/scripts/msmtpq/msmtp{q,-queue} $(1)/usr/bin/
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/scripts/msmtpqueue/msmtp-{en,list,run}queue.sh $(1)/usr/bin/
-endef
-
-$(eval $(call BuildPackage,msmtp))
-$(eval $(call BuildPackage,msmtp-nossl))
-$(eval $(call BuildPackage,msmtp-queue))
-

--- a/multimedia/tvheadend/Config.in
+++ /dev/null
@@ -1,22 +1,1 @@
-config TVHEADEND_CWC_SUPPORT
-	bool "NewCamD support"
-	default n
 
-config TVHEADEND_V4L_SUPPORT
-	bool "Video4Linux v2 support"
-	default n
-
-config TVHEADEND_LINUXDVB_SUPPORT
-	bool "Linux DVB support"
-	default n
-
-config TVHEADEND_DVBSCAN_SUPPORT
-	bool "Fetch DVB-scan data"
-	depends on TVHEADEND_LINUXDVB_SUPPORT
-	default TVHEADEND_LINUXDVB_SUPPORT
-
-config TVHEADEND_AVAHI_SUPPORT
-	bool "Avahi client support"
-	select PACKAGE_libavahi-client
-	default n
-

--- a/multimedia/tvheadend/Makefile
+++ /dev/null
@@ -1,80 +1,1 @@
-#
-# Copyright (C) 2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=tvheadend
-PKG_VERSION:=3.4patch1
-PKG_RELEASE:=0.1
-
-PKG_SOURCE:=$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://github.com/tvheadend/tvheadend/archive/
-PKG_MD5SUM:=86d1be0ad6e02bd2aecd3d529a026797
-
-PKG_USE_MIPS16:=0
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/tvheadend
-  SECTION:=multimedia
-  CATEGORY:=Multimedia
-  TITLE:=Tvheadend is a TV streaming server for Linux
-  DEPENDS:=+libcurl +libopenssl +librt +zlib +TVHEADEND_AVAHI_SUPPORT:libavahi-client
-  URL:=https://tvheadend.org/
-endef
-
-define Package/tvheadend/description
-  Tvheadend is a TV streaming server for Linux supporting DVB, ATSC, IPTV,
-  and Analog video (V4L) as input sources.
-  Can be used as a backend to Showtime, XBMC and various other clients.
-endef
-
-define Package/tvheadend/config
-  menu "Configuration"
-  depends on PACKAGE_tvheadend
-  source "$(SOURCE)/Config.in"
-  endmenu
-endef
-
-ifeq ($(CONFIG_TVHEADEND_CWC_SUPPORT),)
-  CONFIGURE_ARGS += --disable-cwc
-endif
-
-ifeq ($(CONFIG_TVHEADEND_V4L_SUPPORT),)
-  CONFIGURE_ARGS += --disable-v4l
-endif
-
-ifeq ($(CONFIG_TVHEADEND_LINUXDVB_SUPPORT),)
-  CONFIGURE_ARGS += --disable-linuxdvb
-endif
-
-ifeq ($(CONFIG_TVHEADEND_DVBSCAN_SUPPORT),)
-  CONFIGURE_ARGS += --disable-dvbscan
-endif
-
-ifeq ($(CONFIG_TVHEADEND_AVAHI_SUPPORT),)
-  CONFIGURE_ARGS += --disable-avahi
-else
-  CONFIGURE_ARGS += --enable-avahi
-endif
-
-CONFIGURE_ARGS += \
-	--release \
-	--enable-bundle
-
-define Package/tvheadend/install
-	$(INSTALL_DIR) $(1)/etc/tvheadend
-	$(INSTALL_DIR) $(1)/etc/init.d
-	$(INSTALL_BIN) ./files/tvheadend.init $(1)/etc/init.d/tvheadend
-	$(INSTALL_DIR) $(1)/lib/upgrade/keep.d
-	$(INSTALL_DATA) ./files/tvheadend.upgrade $(1)/lib/upgrade/keep.d/tvheadend
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/build.linux/tvheadend $(1)/usr/bin/
-endef
-
-$(eval $(call BuildPackage,tvheadend))
-

--- a/multimedia/tvheadend/files/tvheadend.init
+++ /dev/null
@@ -1,16 +1,1 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2012 OpenWrt.org
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-START=80
-
-start() {
-	service_start /usr/bin/tvheadend -f -c /etc/tvheadend
-}
-
-stop() {
-	service_stop /usr/bin/tvheadend
-}
-

--- a/multimedia/tvheadend/files/tvheadend.upgrade
+++ /dev/null
@@ -1,2 +1,1 @@
-/etc/tvheadend
 

--- a/multimedia/tvheadend/patches/001-fix_Makefile_VFP_CFLAGS.patch
+++ /dev/null
@@ -1,12 +1,1 @@
---- a/Makefile
-+++ b/Makefile
-@@ -282,7 +282,7 @@ include support/${OSENV}.mk
- # Bundle files
- $(BUILDDIR)/bundle.o: $(BUILDDIR)/bundle.c
- 	@mkdir -p $(dir $@)
--	$(CC) -I${CURDIR}/src -c -o $@ $<
-+	$(CC) $(CFLAGS) -I${CURDIR}/src -c -o $@ $<
- 
- $(BUILDDIR)/bundle.c:
- 	@mkdir -p $(dir $@)
 

--- a/net/aircrack-ng/Makefile
+++ /dev/null
@@ -1,53 +1,1 @@
-#
-# Copyright (C) 2006-2011 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=aircrack-ng
-PKG_VERSION:=1.1
-PKG_RELEASE:=3
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://download.aircrack-ng.org/ \
-	http://archive.aircrack-ng.org/aircrack-ng/$(PKG_VERSION)/
-PKG_MD5SUM:=f7a24ed8fad122c4187d06bfd6f998b4
-
-PKG_BUILD_PARALLEL:=0
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/aircrack-ng
-  SECTION:=net
-  CATEGORY:=Network
-  DEPENDS:=+libpthread +libopenssl +libpcap
-  TITLE:=next generation of aircrack with new features
-  URL:=http://www.aircrack-ng.org/
-  SUBMENU:=wireless
-endef
-
-define Package/aircrack-ng/description
-Aircrack-ng is the next generation of aircrack with new features
-endef
-
-MAKE_FLAGS += \
-	CFLAGS="$(TARGET_CFLAGS) -Wall -Iinclude/ $(TARGET_CPPFLAGS) -D_REVISION=0" \
-	LDFLAGS="$(TARGET_LDFLAGS)" \
-	OSNAME=Linux \
-	prefix="/usr" \
-	sqlite="false" \
-	unstable="true"
-
-define Package/aircrack-ng/install
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
-	$(INSTALL_DIR) $(1)/usr/sbin
-	$(CP) $(PKG_INSTALL_DIR)/usr/sbin/* $(1)/usr/sbin/
-endef
-
-$(eval $(call BuildPackage,aircrack-ng))
-

--- a/net/aircrack-ng/patches/100-add-ignore-channel-negative-1.patch
+++ /dev/null
@@ -1,53 +1,1 @@
---- a/src/aireplay-ng.c
-+++ b/src/aireplay-ng.c
-@@ -200,7 +200,9 @@ char usage[] =
- "\n"
- "  Miscellaneous options:\n"
- "\n"
--"      -R        : disable /dev/rtc usage\n"
-+"      -R                    : disable /dev/rtc usage\n"
-+"      --ignore-negative-one : if the interface's channel can't be determined,\n"
-+"                              ignore the mismatch, needed for unpatched cfg80211\n"
- "\n"
- "  Attack modes (numbers can still be used):\n"
- "\n"
-@@ -268,6 +270,7 @@ struct options
-     int bittest;
- 
-     int nodetect;
-+    int ignore_negative_one;
-     int rtc;
- }
- opt;
-@@ -715,6 +718,13 @@ int attack_check(uchar* bssid, char* ess
- 
-     iface_chan = wi_get_channel(wi);
- 
-+    if(iface_chan == -1 && !opt.ignore_negative_one)
-+    {
-+        PCT; printf("Couldn't determine current channel for %s, you should either force the operation with --ignore-negative-one or apply a kernel patch\n",
-+                wi_get_ifname(wi));
-+        return -1;
-+    }
-+
-     if(bssid != NULL)
-     {
-         ap_chan = wait_for_beacon(bssid, capa, essid);
-@@ -723,7 +733,7 @@ int attack_check(uchar* bssid, char* ess
-             PCT; printf("No such BSSID available.\n");
-             return -1;
-         }
--        if(ap_chan != iface_chan)
-+        if((ap_chan != iface_chan) && (iface_chan != -1 || !opt.ignore_negative_one))
-         {
-             PCT; printf("%s is on channel %d, but the AP uses channel %d\n", wi_get_ifname(wi), iface_chan, ap_chan);
-             return -1;
-@@ -5765,6 +5775,7 @@ int main( int argc, char *argv[] )
-             {"help",        0, 0, 'H'},
-             {"fast",        0, 0, 'F'},
-             {"bittest",     0, 0, 'B'},
-+            {"ignore-negative-one", 0, &opt.ignore_negative_one, 1},
-             {0,             0, 0,  0 }
-         };
- 
 

file:a/net/aodv-uu/Makefile (deleted)
--- a/net/aodv-uu/Makefile
+++ /dev/null
@@ -1,105 +1,1 @@
-#
-# Copyright (C) 2006-2008 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-PKG_NAME:=aodv-uu
-PKG_VERSION:=0.9.3
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://core.it.uu.se/core/files/
-PKG_MD5SUM:=05460543054449cb4b170252a7168c65
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/aodv-uu/Default
-  TITLE:=Ad-hoc On-demand Distance Vector Routing
-  DEPENDS:=@BROKEN
-  URL:=http://core.it.uu.se/core/index.php/AODV-UU
-endef
-
-define Package/aodv-uu/Default/description
- AODV is the Ad-hoc On-demand Distance Vector routing protocol
- implementation created at Uppsala University.
-endef
-
-define Package/aodv-uu
-$(call Package/aodv-uu/Default)
-  SECTION:=net
-  CATEGORY:=Network
-  TITLE+= (daemon)
-endef
-
-define Package/aodv-uu/description
-$(call Package/aodv-uu/Default/description)
- This package contains the AODV userland daemon.
-endef
-
-define KernelPackage/aodv-uu
-$(call Package/aodv-uu/Default)
-  TITLE+= (kernel module)
-  FILES:=$(PKG_BUILD_DIR)/lnx/kaodv.$(LINUX_KMOD_SUFFIX)
-  SUBMENU:=Network Support
-  AUTOLOAD:=$(call AutoLoad,80,$(shell cat ./files/aodv-uu.modules))
-endef
-
-define KernelPackage/aodv-uu/description
-$(call Package/aodv-uu/Default/description)
- This package contains the AODV kernel module.
-endef
-
-ifneq ($(CONFIG_LINUX_2_4),y)
-  define Build/Compile/linux26
-	$(MAKE) -C $(LINUX_DIR) \
-		ARCH="$(LINUX_KARCH)" \
-		CROSS_COMPILE="$(TARGET_CROSS)" \
-		PATCHLEVEL="$(LINUX_VERSION)" \
-		KERNDIR="$(LINUX_DIR)" \
-		SUBDIRS="$(PKG_BUILD_DIR)/lnx" \
-                modules
-  endef
-else
-  # We assume 2.4 builds are only for brcm-2.4 yet
-  define Build/Compile/linux24-brcm
-	$(call Build/Compile/Default,\
-		KERNEL_DIR="$(LINUX_DIR)" \
-		KCC="$(TARGET_CC)" \
-		CFLAGS="$(TARGET_CFLAGS)" \
-		kaodv-mips \
-	)
-	cp $(PKG_BUILD_DIR)/lnx/kaodv-mips.$(LINUX_KMOD_SUFFIX) $(PKG_BUILD_DIR)/lnx/kaodv.$(LINUX_KMOD_SUFFIX)
-  endef
-endif
-
-define Build/Compile
-	$(call Build/Compile/linux26)
-	$(call Build/Compile/linux24-brcm)
-	$(call Build/Compile/Default,\
-		KERNEL_DIR="$(LINUX_DIR)" \
-		KCC="$(TARGET_CC)" \
-		CFLAGS="$(TARGET_CFLAGS)" \
-		aodvd \
-	)
-endef
-
-define Package/aodv-uu/install
-	$(INSTALL_DIR) $(1)/usr/sbin
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/aodvd $(1)/usr/sbin
-endef
-
-define Package/kmod-aodv-uu/install
-	$(INSTALL_DIR) $(1)/etc/modules.d
-	$(INSTALL_DATA) ./files/aodv-uu.modules $(1)/etc/modules.d/80-aodv-uu
-	$(INSTALL_DIR) $(1)/lib/modules/$(LINUX_VERSION)
-	$(CP) $(PKG_BUILD_DIR)/lnx/kaodv.$(LINUX_KMOD_SUFFIX) $(1)/lib/modules/$(LINUX_VERSION)/
-endef
-
-$(eval $(call BuildPackage,aodv-uu))
-$(eval $(call KernelPackage,aodv-uu))
-

--- a/net/aodv-uu/files/aodv-uu.modules
+++ /dev/null
@@ -1,2 +1,1 @@
-kaodv
 

--- a/net/aodv-uu/patches/001-normalize.patch
+++ /dev/null
@@ -1,65 +1,1 @@
-Index: aodv-uu-0.9.3/lnx/Makefile
-===================================================================
---- aodv-uu-0.9.3.orig/lnx/Makefile	2007-06-04 13:22:19.859836128 +0200
-+++ aodv-uu-0.9.3/lnx/Makefile	2007-06-04 13:22:19.932825032 +0200
-@@ -30,7 +30,7 @@
- KCFLAGS=-Wall -Wno-strict-aliasing -O2 $(KDEFS) $(KINC) $(XDEFS)
- KCFLAGS_ARM=-Wall -O2 -D__KERNEL__ -DMODULE -nostdinc $(shell $(ARM_CC) -print-search-dirs | sed -ne 's/install: \(.*\)/-I \1include/gp') -I$(KERNEL_INC)
- KCFLAGS_MIPS=-Wall -mips2 -O2 -fno-pic -mno-abicalls -mlong-calls -G0 -msoft-float -D__KERNEL__ -DMODULE -nostdinc $(shell $(MIPS_CC) -print-search-dirs | sed -ne 's/install: \(.*\)/-I \1include/gp') -I$(KERNEL_INC) $(XDEFS)
--
-+endif
- .PHONY: clean clean-2.4 clean-2.6 indent default
- 
- # Check for kernel version
-@@ -89,5 +89,3 @@
- 	etags *.c *.h
- indent:
- 	indent -kr -i8 -ts8 -sob -l80 -ss -ncs *.c *.h 
--endif
--
-Index: aodv-uu-0.9.3/Makefile
-===================================================================
---- aodv-uu-0.9.3.orig/Makefile	2007-06-04 13:22:19.866835064 +0200
-+++ aodv-uu-0.9.3/Makefile	2007-06-04 13:22:19.932825032 +0200
-@@ -87,7 +87,7 @@
- mips: aodvd-mips kaodv-mips
- 
- endian.h:
--	$(CC) $(CFLAGS) -o endian endian.c
-+	gcc -o endian endian.c
- 	./endian > endian.h
- 
- $(OBJS): %.o: %.c Makefile
-@@ -143,19 +143,18 @@
- 	@makedepend -Y./ -- $(DEFS) -- $(SRC) &>/dev/null
- 	@makedepend -a -Y./ -- $(KDEFS) kaodv.c &>/dev/null
- 
--install: default
--	install -s -m 755 aodvd /usr/sbin/aodvd
--	@if [ ! -d /lib/modules/$(KERNEL)/aodv ]; then \
--		mkdir /lib/modules/$(KERNEL)/aodv; \
--	fi
--
--	@echo "Installing kernel module in /lib/modules/$(KERNEL)/aodv/";
--	@if [ -f ./kaodv.ko ]; then \
--		install -m 644 kaodv.ko /lib/modules/$(KERNEL)/aodv/kaodv.ko; \
--	else \
--		install -m 644 kaodv.o /lib/modules/$(KERNEL)/aodv/kaodv.o; \
--	fi
--	/sbin/depmod -a
-+install: install-aodvd install-kaodv
-+
-+install-aodvd:
-+	@echo "Installing aodv in $(DESTDIR)/usr/sbin";
-+	install -d -m0755 $(DESTDIR)/usr/sbin/
-+	install -m0755 aodvd $(DESTDIR)/usr/sbin/aodvd
-+
-+install-kaodv:
-+	@echo "Installing kernel module in $(DESTDIR)/lib/modules/$(KERNEL)/";
-+	install -d -m0644 $(DESTDIR)/lib/modules/$(KERNEL)/
-+	install -m 644 lnx/kaodv.$(KMOD_SUFFIX) $(DESTDIR)/lib/modules/$(KERNEL)/kaodv.$(KMOD_SUFFIX);
-+
- uninstall:
- 	rm -f /usr/sbin/aodvd
- 	rm -rf /lib/modules/$(KERNEL)/aodv
 

--- a/net/aodv-uu/patches/002-linux_2.6.19_ip_route_me_harder_change.patch
+++ /dev/null
@@ -1,50 +1,1 @@
-Index: aodv-uu-0.9.3/lnx/kaodv-mod.c
-===================================================================
---- aodv-uu-0.9.3.orig/lnx/kaodv-mod.c	2007-06-04 13:22:19.830840536 +0200
-+++ aodv-uu-0.9.3/lnx/kaodv-mod.c	2007-06-04 13:22:20.130794936 +0200
-@@ -19,7 +19,7 @@

-  * 
-  *****************************************************************************/
--#include <linux/config.h>
-+#include <linux/autoconf.h>
- #include <linux/version.h>
- 
- #ifdef KERNEL26
-@@ -258,7 +258,11 @@
- 			if (!(*skb))
- 				return NF_STOLEN;
- 			
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
-+			ip_route_me_harder(skb, RTN_UNSPEC);
-+#else
- 			ip_route_me_harder(skb);
-+#endif
- 		}
- 		break;
- 	case NF_IP_POST_ROUTING:
-Index: aodv-uu-0.9.3/lnx/kaodv-queue.c
-===================================================================
---- aodv-uu-0.9.3.orig/lnx/kaodv-queue.c	2007-06-04 13:22:19.837839472 +0200
-+++ aodv-uu-0.9.3/lnx/kaodv-queue.c	2007-06-04 13:22:20.130794936 +0200
-@@ -29,6 +29,7 @@
- #include <linux/spinlock.h>
- #include <linux/sysctl.h>
- #include <linux/proc_fs.h>
-+#include <linux/version.h>
- #include <net/sock.h>
- #include <net/route.h>
- #include <net/icmp.h>
-@@ -246,7 +247,11 @@
- 				if (!entry->skb)
- 					goto next;
- 			}
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
-+			ip_route_me_harder(&entry->skb, RTN_UNSPEC);
-+#else
- 			ip_route_me_harder(&entry->skb);
-+#endif
- 
- 			pkts++;
- 
 

--- a/net/aodv-uu/patches/003-linux_2.6.19_security_netlink_recv_change.patch
+++ /dev/null
@@ -1,17 +1,1 @@
-Index: aodv-uu-0.9.3/lnx/kaodv-netlink.c
-===================================================================
---- aodv-uu-0.9.3.orig/lnx/kaodv-netlink.c	2007-06-04 13:22:19.810843576 +0200
-+++ aodv-uu-0.9.3/lnx/kaodv-netlink.c	2007-06-04 13:22:20.326765144 +0200
-@@ -284,7 +284,11 @@
- /* 		RCV_SKB_FAIL(-EINVAL); */
- 
- #ifdef KERNEL26
-+# if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)	
-+	if (security_netlink_recv(skb, CAP_NET_ADMIN))
-+# else	
- 	if (security_netlink_recv(skb))
-+# endif
- 		RCV_SKB_FAIL(-EPERM);
- #endif
- 	//write_lock_bh(&queue_lock);
 

--- a/net/aodv-uu/patches/004-linux_2.6.19_includes.patch
+++ /dev/null
@@ -1,29 +1,1 @@
-Index: aodv-uu-0.9.3/main.c
-===================================================================
---- aodv-uu-0.9.3.orig/main.c	2007-06-04 13:22:19.782847832 +0200
-+++ aodv-uu-0.9.3/main.c	2007-06-04 13:22:20.513736720 +0200
-@@ -26,6 +26,8 @@
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <sys/stat.h>
-+#include <linux/types.h>
-+#include <linux/if.h>
- #include <linux/sockios.h>
- #include <linux/wireless.h>
- #include <getopt.h>
-Index: aodv-uu-0.9.3/nl.c
-===================================================================
---- aodv-uu-0.9.3.orig/nl.c	2007-06-04 13:22:19.789846768 +0200
-+++ aodv-uu-0.9.3/nl.c	2007-06-04 13:22:20.513736720 +0200
-@@ -33,6 +33,10 @@
- #include <netinet/in.h>
- #include <arpa/inet.h>
- #include <linux/rtnetlink.h>
-+#include <linux/version.h>
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
-+#include <linux/if_addr.h>
-+#endif
- 
- #include "defs.h"
- #include "lnx/kaodv-netlink.h"
 

--- a/net/aodv-uu/patches/005-linux_2.6.22_skbuff.patch
+++ /dev/null
@@ -1,165 +1,1 @@
-Index: aodv-uu-0.9.3/lnx/kaodv-compat.h
-===================================================================
---- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ aodv-uu-0.9.3/lnx/kaodv-compat.h	2007-06-17 02:49:46.844217144 +0200
-@@ -0,0 +1,15 @@
-+#ifndef __KAODV_COMPAT_H
-+#define __KAODV_COMPAT_H
-+
-+#include <linux/version.h>
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
-+
-+#define ip_hdr(_skb) (_skb)->nh.iph
-+#define skb_reset_network_header(_skb) do { \
-+		_skb->nh.iph = (struct iphdr *)_skb->data; \
-+	} while (0);
-+
-+
-+#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22) */
-+
-+#endif
-Index: aodv-uu-0.9.3/lnx/kaodv-ipenc.c
-===================================================================
---- aodv-uu-0.9.3.orig/lnx/kaodv-ipenc.c	2007-06-17 02:31:56.448941960 +0200
-+++ aodv-uu-0.9.3/lnx/kaodv-ipenc.c	2007-06-17 02:45:50.420159064 +0200
-@@ -64,7 +64,7 @@
-     if (skb->sk != NULL)
- 	skb_set_owner_w(nskb, skb->sk);
- 
--    iph = skb->nh.iph;
-+    iph = ip_hdr(skb);
- 
-     skb_put(nskb, sizeof(struct min_ipenc_hdr));
-     
-@@ -78,7 +78,8 @@
-     skb = nskb;
-     
-     /* Update pointers */
--    iph = skb->nh.iph = (struct iphdr *)skb->data;
-+	skb_reset_network_header(skb);
-+    iph = (struct iphdr *)skb->data;
- 
-     ipe = (struct min_ipenc_hdr *)(skb->data + (iph->ihl << 2));
-     
-@@ -99,8 +100,8 @@
- 
-     ip_send_check(iph);
- 
--    if (skb->nh.iph->id == 0)
--	ip_select_ident(skb->nh.iph, skb->dst, NULL);
-+    if (ip_hdr(skb)->id == 0)
-+	ip_select_ident(ip_hdr(skb), skb->dst, NULL);
-         
-     return skb;
- }
-@@ -108,9 +109,7 @@
- struct sk_buff *ip_pkt_decapsulate(struct sk_buff *skb)
- {
-     struct min_ipenc_hdr *ipe;
--    /* skb->nh.iph is probably not set yet */
--    struct iphdr *iph = skb->nh.iph;
--
-+    struct iphdr *iph = ip_hdr(skb);
- 
-     ipe = (struct min_ipenc_hdr *)((char *)iph + (iph->ihl << 2));
- 
-@@ -123,8 +122,9 @@
- 	    skb->len - (iph->ihl << 2) - sizeof(struct min_ipenc_hdr));
-     
-     skb_trim(skb, skb->len - sizeof(struct min_ipenc_hdr));
--    
--    skb->nh.iph = iph = (struct iphdr *)skb->data;
-+
-+	skb_reset_network_header(skb);
-+    iph = (struct iphdr *)skb->data;
- 
-     iph->tot_len = htons((ntohs(iph->tot_len) - sizeof(struct min_ipenc_hdr))); 
-     ip_send_check(iph);
-Index: aodv-uu-0.9.3/lnx/kaodv-ipenc.h
-===================================================================
---- aodv-uu-0.9.3.orig/lnx/kaodv-ipenc.h	2007-06-17 02:44:13.881835120 +0200
-+++ aodv-uu-0.9.3/lnx/kaodv-ipenc.h	2007-06-17 02:44:16.549429584 +0200
-@@ -27,6 +27,7 @@
- #include <linux/ip.h>
- #include <linux/skbuff.h>
- #include <asm/byteorder.h>
-+#include "kaodv-compat.h"
- 
- #define IPPROTO_MIPE 55
- 
-Index: aodv-uu-0.9.3/lnx/kaodv-mod.c
-===================================================================
---- aodv-uu-0.9.3.orig/lnx/kaodv-mod.c	2007-06-17 02:43:33.776931992 +0200
-+++ aodv-uu-0.9.3/lnx/kaodv-mod.c	2007-06-17 02:43:39.008136728 +0200
-@@ -120,7 +120,7 @@
- 			       const struct net_device *out,
- 			       int (*okfn) (struct sk_buff *))
- {
--	struct iphdr *iph = (*skb)->nh.iph;
-+	struct iphdr *iph = ip_hdr(*skb);
- 	struct expl_entry e;
- 	struct in_addr ifaddr, bcaddr;
- 	int res = 0;
-@@ -188,7 +188,7 @@
- 		if (is_gateway && iph->protocol == IPPROTO_MIPE &&
- 		    iph->daddr == ifaddr.s_addr) {
- 			ip_pkt_decapsulate(*skb);
--			iph = (*skb)->nh.iph;
-+			iph = ip_hdr(*skb);
- 			return NF_ACCEPT;
- 		}
- 		/* Ignore packets generated locally or that are for this
-Index: aodv-uu-0.9.3/lnx/kaodv-mod.h
-===================================================================
---- aodv-uu-0.9.3.orig/lnx/kaodv-mod.h	2007-06-17 02:44:32.498005032 +0200
-+++ aodv-uu-0.9.3/lnx/kaodv-mod.h	2007-06-17 02:44:34.662675952 +0200
-@@ -5,6 +5,7 @@
- #include <linux/inetdevice.h>
- #include <linux/list.h>
- #include <linux/spinlock.h>
-+#include "kaodv-compat.h"
- 
- /* Interface information */
- struct if_info {
-Index: aodv-uu-0.9.3/lnx/kaodv-queue.c
-===================================================================
---- aodv-uu-0.9.3.orig/lnx/kaodv-queue.c	2007-06-17 02:45:01.513593992 +0200
-+++ aodv-uu-0.9.3/lnx/kaodv-queue.c	2007-06-17 02:45:11.534070648 +0200
-@@ -152,7 +152,7 @@
- {
- 	int status = -EINVAL;
- 	struct kaodv_queue_entry *entry;
--	struct iphdr *iph = skb->nh.iph;
-+	struct iphdr *iph = ip_hdr(skb);
- 
- 	entry = kmalloc(sizeof(*entry), GFP_ATOMIC);
- 
-Index: aodv-uu-0.9.3/lnx/kaodv-queue.h
-===================================================================
---- aodv-uu-0.9.3.orig/lnx/kaodv-queue.h	2007-06-17 02:44:50.537262648 +0200
-+++ aodv-uu-0.9.3/lnx/kaodv-queue.h	2007-06-17 02:44:53.629792512 +0200
-@@ -21,6 +21,7 @@
-  *****************************************************************************/
- #ifndef _KAODV_QUEUE_H
- #define _KAODV_QUEUE_H
-+#include "kaodv-compat.h"
- 
- #define KAODV_QUEUE_DROP 1
- #define KAODV_QUEUE_SEND 2
-Index: aodv-uu-0.9.3/lnx/kaodv-netlink.c
-===================================================================
---- aodv-uu-0.9.3.orig/lnx/kaodv-netlink.c	2007-06-17 02:47:48.927143264 +0200
-+++ aodv-uu-0.9.3/lnx/kaodv-netlink.c	2007-06-17 02:49:11.604574384 +0200
-@@ -338,8 +338,10 @@
- 	netlink_register_notifier(&kaodv_nl_notifier);
- #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14))
- 	kaodvnl = netlink_kernel_create(NETLINK_AODV, kaodv_netlink_rcv_sk);
--#else
-+#elif (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22))
- 	kaodvnl = netlink_kernel_create(NETLINK_AODV, AODVGRP_MAX, kaodv_netlink_rcv_sk, THIS_MODULE);
-+#else
-+	kaodvnl = netlink_kernel_create(NETLINK_AODV, AODVGRP_MAX, kaodv_netlink_rcv_sk, NULL, THIS_MODULE);
- #endif
- 	if (kaodvnl == NULL) {
- 		printk(KERN_ERR "kaodv_netlink: failed to create netlink socket\n");
 

file:a/net/apcupsd/Makefile (deleted)
--- a/net/apcupsd/Makefile
+++ /dev/null
@@ -1,75 +1,1 @@
-#
-# Copyright (C) 2006-2011 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=apcupsd
-PKG_VERSION:=3.14.7
-PKG_RELEASE:=2
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=@SF/apcupsd
-PKG_MD5SUM:=bb2f8e4fc6b2f5d7b3e236eb57b81640
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/apcupsd
-  SECTION:=utils
-  CATEGORY:=Utilities
-  DEPENDS:=+libpthread +libusb-compat
-  TITLE:=UPS control software
-  URL:=http://www.apcupsd.org/
-endef
-
-define Build/Configure
-	$(CP) $(SCRIPT_DIR)/config.* $(PKG_BUILD_DIR)/autoconf/
-	$(call Build/Configure/Default, \
-		--with-distname=unknown \
-		--sysconfdir=/etc/apcupsd \
-		--enable-usb \
-		--without-x \
-	)
-endef
-
-define Build/Compile
-	$(MAKE) -C $(PKG_BUILD_DIR) \
-		DESTDIR="$(PKG_INSTALL_DIR)" \
-		LD="$(TARGET_CC)" \
-		all install
-endef
-
-define Package/apcupsd/install
-	$(INSTALL_DIR) $(1)/usr/sbin
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/apcupsd $(1)/usr/sbin/
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/smtp $(1)/usr/sbin/
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/apctest $(1)/usr/sbin/
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/apcaccess $(1)/usr/sbin/
-	$(INSTALL_DIR) $(1)/etc/apcupsd
-	$(INSTALL_CONF) ./files/apcupsd.conf $(1)/etc/apcupsd/
-	$(INSTALL_CONF) ./files/apcupsd_mail.conf $(1)/etc/apcupsd/
-	$(INSTALL_BIN) ./files/changeme $(1)/etc/apcupsd/
-	$(INSTALL_BIN) ./files/commfailure $(1)/etc/apcupsd/
-	$(INSTALL_BIN) ./files/commok $(1)/etc/apcupsd/
-	$(INSTALL_BIN) ./files/offbattery $(1)/etc/apcupsd/
-	$(INSTALL_BIN) ./files/onbattery $(1)/etc/apcupsd/
-	$(INSTALL_BIN) ./files/apccontrol $(1)/etc/apcupsd/
-	$(INSTALL_DIR) $(1)/etc/init.d
-	$(INSTALL_BIN)	./files/apcupsd.init $(1)/etc/init.d/apcupsd
-endef
-
-define Package/apcupsd/conffiles
-/etc/apcupsd/apcupsd.conf
-/etc/apcupsd/apcupsd_mail.conf
-/etc/apcupsd/changeme
-/etc/apcupsd/commfailure
-/etc/apcupsd/commok
-/etc/apcupsd/offbattery
-/etc/apcupsd/onbattery
-endef
-
-$(eval $(call BuildPackage,apcupsd))
-

--- a/net/apcupsd/files/apccontrol
+++ /dev/null
@@ -1,147 +1,1 @@
-#!/bin/sh
-#
-# Copyright (C) 1999-2002 Riccardo Facchetti <riccardo@master.oasi.gpa.it>
-#
-#  for apcupsd release 3.14.1 (04 May 2007) - unknown
-#
-# platforms/apccontrol.  Generated from apccontrol.in by configure.
-#
-#  Note, this is a generic file that can be used by most
-#   systems. If a particular system needs to have something
-#   special, start with this file, and put a copy in the
-#   platform subdirectory.
-#
 
-#
-# These variables are needed for set up the autoconf other variables.
-#
-prefix=/usr
-exec_prefix=/usr
-
-APCPID=/var/run/apcupsd.pid
-APCUPSD=/usr/sbin/apcupsd
-SHUTDOWN=/sbin/shutdown
-SCRIPTSHELL=/bin/sh
-SCRIPTDIR=/etc/apcupsd
-WALL=true
-
-#
-# Concatenate all output from this script to the events file
-#  Note, the following kills the script in a power fail situation
-#   where the disks are mounted read-only.
-# exec >>/var/log/apcupsd.events 2>&1
-
-#
-# This piece is to substitute the default behaviour with your own script,
-# perl, or C program.
-# You can customize every single command creating an executable file (may be a
-# script or a compiled program) and calling it the same as the $1 parameter
-# passed by apcupsd to this script.
-#
-# After executing your script, apccontrol continues with the default action.
-# If you do not want apccontrol to continue, exit your script with exit 
-# code 99. E.g. "exit 99".
-#
-# WARNING: the apccontrol file will be overwritten every time you update your
-# apcupsd, doing `make install'. Your own customized scripts will _not_ be
-# overwritten. If you wish to make changes to this file (discouraged), you
-# should change apccontrol.sh.in and then rerun the configure process.
-#
-if [ -f ${SCRIPTDIR}/${1} -a -x ${SCRIPTDIR}/${1} ]
-then
-    ${SCRIPTDIR}/${1} ${2} ${3} ${4}
-    # exit code 99 means he does not want us to do default action
-    if [ $? = 99 ] ; then
-	exit 0
-    fi
-fi
-
-case "$1" in
-    killpower)
-	echo "Apccontrol doing: ${APCUPSD} --killpower on UPS ${2}"
-	sleep 10
-	${APCUPSD} --killpower
-	echo "Apccontrol has done: ${APCUPSD} --killpower on UPS ${2}" | ${WALL}
-    ;;
-    commfailure)
-	echo "Warning communications lost with UPS ${2}" | ${WALL}
-    ;;
-    commok)
-	echo "Communications restored with UPS ${2}" | ${WALL}
-    ;;
-#
-# powerout, onbattery, offbattery, mainsback events occur
-#   in that order.
-#
-    powerout)
-	echo "Warning power loss detected on UPS ${2}" | ${WALL}
-    ;;
-    onbattery)
-	echo "Power failure on UPS ${2}. Running on batteries." | ${WALL}
-    ;;
-    offbattery)
-    ;;
-    mainsback)
-	echo "Power has returned on UPS ${2}..." | ${WALL}
-	if [ -f /etc/powerfail ] ; then
-	   printf "Continuing with shutdown."  | ${WALL}
-	fi
-    ;;
-    failing)
-	echo "Battery power exhaused on UPS ${2}. Doing shutdown." | ${WALL}
-    ;;
-    timeout)
-	echo "Battery time limit exceeded on UPS ${2}. Doing shutdown." | ${WALL}
-    ;;
-    loadlimit)
-	echo "Remaining battery charge below limit on UPS ${2}. Doing shutdown." | ${WALL}
-    ;;
-    runlimit)
-	echo "Remaining battery runtime below limit on UPS ${2}. Doing shutdown." | ${WALL}
-    ;;
-    doreboot)
-	echo "UPS ${2} initiating Reboot Sequence" | ${WALL}
-	${SHUTDOWN} -r now "apcupsd UPS ${2} initiated reboot"
-    ;;
-    doshutdown)
-	echo "UPS ${2} initiated Shutdown Sequence" | ${WALL}
-	${SHUTDOWN} -h now "apcupsd UPS ${2} initiated shutdown"
-    ;;
-    annoyme)
-	echo "Power problems with UPS ${2}. Please logoff." | ${WALL}
-    ;;
-    emergency)
-	echo "Emergency Shutdown. Possible battery failure on UPS ${2}." | ${WALL}
-    ;;
-    changeme)
-	echo "Emergency! Batteries have failed on UPS ${2}. Change them NOW" | ${WALL}
-    ;;
-    remotedown)
-	echo "Remote Shutdown. Beginning Shutdown Sequence." | ${WALL}
-    ;;
-    restartme)
-	echo -n "Restarting APCUPSD Power Management: "
-	THEPID=`cat ${APCPID}`
-	kill ${THEPID}
-	rm -f ${APCPID}
-	rm -f /etc/powerfail
-	rm -f /etc/nologin
-	sleep 5
-	`${APCUPSD}`
-	echo "apcupsd"
-    ;;
-    startselftest)
-    ;;
-    endselftest)
-    ;;
-    battdetach)
-    ;;
-    battattach)
-    ;;
-    *)	echo "Usage: ${0##*/} command"
-	echo "	     warning: this script is intended to be launched by"
-	echo "	     apcupsd and should never be launched by users."
-	exit 1
-    ;;
-esac
-

--- a/net/apcupsd/files/apcupsd.conf
+++ /dev/null
@@ -1,323 +1,1 @@
-## apcupsd.conf v1.1 ##
-# 
-#  for apcupsd release 3.14.1 (04 May 2007) - unknown
-#
-# "apcupsd" POSIX config file
 
-#
-# ========= General configuration parameters ============
-#
-
-# UPSNAME xxx
-#   Use this to give your UPS a name in log files and such. This
-#   is particulary useful if you have multiple UPSes. This does not
-#   set the EEPROM. It should be 8 characters or less.
-UPSNAME ups1
-
-# UPSCABLE <cable>
-#   Defines the type of cable connecting the UPS to your computer.
-#
-#   Possible generic choices for <cable> are:
-#     simple, smart, ether, usb
-#
-#   Or a specific cable model number may be used:
-#     940-0119A, 940-0127A, 940-0128A, 940-0020B,
-#     940-0020C, 940-0023A, 940-0024B, 940-0024C,
-#     940-1524C, 940-0024G, 940-0095A, 940-0095B,
-#     940-0095C, M-04-02-2000
-#
-UPSCABLE smart
-
-# To get apcupsd to work, in addition to defining the cable
-# above, you must also define a UPSTYPE, which corresponds to
-# the type of UPS you have (see the Description for more details).
-# You must also specify a DEVICE, sometimes referred to as a port.
-# For USB UPSes, please leave the DEVICE directive blank. For
-# other UPS types, you must specify an appropriate port or address.
-#
-# UPSTYPE   DEVICE           Description
-# apcsmart  /dev/tty**       Newer serial character device,
-#                            appropriate for SmartUPS models using
-#                            a serial cable (not USB).
-#
-# usb       <BLANK>          Most new UPSes are USB. A blank DEVICE
-#                            setting enables autodetection, which is
-#                            the best choice for most installations.
-#
-# net       hostname:port    Network link to a master apcupsd
-#                            through apcupsd's Network Information
-#                            Server. This is used if you don't have
-#                            a UPS directly connected to your computer.
-#
-# snmp      hostname:port:vendor:community
-#                            SNMP Network link to an SNMP-enabled
-#                            UPS device. Vendor is the MIB used by
-#                            the UPS device: can be "APC", "APC_NOTRAP"
-#                            or "RFC" where APC is the powernet MIB,
-#                            "APC_NOTRAP" is powernet with SNMP trap
-#                            catching disabled, and RFC is the IETF's 
-#                            rfc1628 UPS-MIB. You usually want "APC".
-#                            Port is usually 161. Community is usually
-#                            "private".
-#
-# dumb      /dev/tty**       Old serial character device for use 
-#                            with simple-signaling UPSes.
-#
-# pcnet    ipaddr:username:passphrase
-#                            PowerChute Network Shutdown protocol
-#                            which can be used as an alternative to SNMP
-#                            with AP9617 family of smart slot cards.
-#                            ipaddr is the IP address of the UPS mgmt
-#                            card. username and passphrase are the
-#                            credentials for which the card has been
-#                            configured.
-#
-UPSTYPE apcsmart
-DEVICE /dev/ttyS0
-
-
-# LOCKFILE <path to lockfile>
-#   Path for device lock file. Not used on Win32.
-LOCKFILE /var/lock
-
-# SCRIPTDIR <path to script directory>
-#   Directory in which apccontrol and event scripts are located.
-SCRIPTDIR /etc/apcupsd
-
-# PWRFAILDIR <path to powerfail directory>
-#   Directory in which to write the powerfail flag file. This file
-#   is created when apcupsd initiates a system shutdown and is
-#   checked in the OS halt scripts to determine if a killpower
-#   (turning off UPS output power) is required.
-PWRFAILDIR /etc
-
-# NOLOGINDIR <path to nologin directory>
-#   Directory in which to write the nologin file. The existence
-#   of this flag file tells the OS to disallow new logins.
-NOLOGINDIR /etc
-
-
-#
-# ======== Configuration parameters used during power failures ==========
-#
-
-# The ONBATTERYDELAY is the time in seconds from when a power failure
-#   is detected until we react to it with an onbattery event.
-#
-#   This means that, apccontrol will be called with the powerout argument
-#   immediately when a power failure is detected.  However, the
-#   onbattery argument is passed to apccontrol only after the 
-#   ONBATTERYDELAY time.  If you don't want to be annoyed by short
-#   powerfailures, make sure that apccontrol powerout does nothing
-#   i.e. comment out the wall.
-#ONBATTERYDELAY 6
-
-# 
-# Note: BATTERYLEVEL, MINUTES, and TIMEOUT work in conjunction, so
-# the first that occurs will cause the initation of a shutdown.
-#
-
-# If during a power failure, the remaining battery percentage
-# (as reported by the UPS) is below or equal to BATTERYLEVEL, 
-# apcupsd will initiate a system shutdown.
-BATTERYLEVEL 5
-
-# If during a power failure, the remaining runtime in minutes 
-# (as calculated internally by the UPS) is below or equal to MINUTES,
-# apcupsd, will initiate a system shutdown.
-MINUTES 3
-
-# If during a power failure, the UPS has run on batteries for TIMEOUT
-# many seconds or longer, apcupsd will initiate a system shutdown.
-# A value of 0 disables this timer.
-#
-#  Note, if you have a Smart UPS, you will most likely want to disable
-#    this timer by setting it to zero. That way, you UPS will continue
-#    on batteries until either the % charge remaing drops to or below BATTERYLEVEL,
-#    or the remaining battery runtime drops to or below MINUTES.  Of course,
-#    if you are testing, setting this to 60 causes a quick system shutdown
-#    if you pull the power plug.   
-#  If you have an older dumb UPS, you will want to set this to less than
-#    the time you know you can run on batteries.
-TIMEOUT 0
-
-#  Time in seconds between annoying users to signoff prior to
-#  system shutdown. 0 disables.
-ANNOY 300
-
-# Initial delay after power failure before warning users to get
-# off the system.
-ANNOYDELAY 60
-
-# The condition which determines when users are prevented from
-# logging in during a power failure.
-# NOLOGON <string> [ disable | timeout | percent | minutes | always ]
-NOLOGON disable
-
-# If KILLDELAY is non-zero, apcupsd will continue running after a
-# shutdown has been requested, and after the specified time in
-# seconds attempt to kill the power. This is for use on systems
-# where apcupsd cannot regain control after a shutdown.
-# KILLDELAY <seconds>  0 disables
-KILLDELAY 0
-
-#
-# ==== Configuration statements for Network Information Server ====
-#
-
-# NETSERVER [ on | off ] on enables, off disables the network
-#  information server. If netstatus is on, a network information
-#  server process will be started for serving the STATUS and
-#  EVENT data over the network (used by CGI programs).
-NETSERVER on
-
-# NISIP <dotted notation ip address>
-#  IP address on which NIS server will listen for incoming connections.
-#  This is useful if your server is multi-homed (has more than one
-#  network interface and IP address). Default value is 0.0.0.0 which
-#  means any incoming request will be serviced. Alternatively, you can
-#  configure this setting to any specific IP address of your server and 
-#  NIS will listen for connections only on that interface. Use the
-#  loopback address (127.0.0.1) to accept connections only from the
-#  local machine.
-NISIP 0.0.0.0
-
-# NISPORT <port> default is 3551 as registered with the IANA
-#  port to use for sending STATUS and EVENTS data over the network.
-#  It is not used unless NETSERVER is on. If you change this port,
-#  you will need to change the corresponding value in the cgi directory
-#  and rebuild the cgi programs.
-NISPORT 3551
-
-# If you want the last few EVENTS to be available over the network
-# by the network information server, you must define an EVENTSFILE.
-EVENTSFILE /var/log/apcupsd.events
-
-# EVENTSFILEMAX <kilobytes>
-#  By default, the size of the EVENTSFILE will be not be allowed to exceed
-#  10 kilobytes.  When the file grows beyond this limit, older EVENTS will
-#  be removed from the beginning of the file (first in first out).  The
-#  parameter EVENTSFILEMAX can be set to a different kilobyte value, or set
-#  to zero to allow the EVENTSFILE to grow without limit.
-EVENTSFILEMAX 10
-
-#
-# ========== Configuration statements used if sharing =============
-#            a UPS with more than one machine
-
-# NETTIME <int>
-#   Interval (in seconds) at which the NIS client polls the server.
-#   Used only when this apcupsd is a network client (UPSTYPE net).
-#NETTIME 60
-
-#
-# Remaining items are for ShareUPS (APC expansion card) ONLY
-#
-
-# UPSCLASS [ standalone | shareslave | sharemaster ]
-#   Normally standalone unless you share an UPS using an APC ShareUPS
-#   card.
-UPSCLASS standalone
-
-# UPSMODE [ disable | share ]
-#   Normally disable unless you share an UPS using an APC ShareUPS card.
-UPSMODE disable
-
-#
-# ===== Configuration statements to control apcupsd system logging ========
-#
-
-# Time interval in seconds between writing the STATUS file; 0 disables
-STATTIME 0
-
-# Location of STATUS file (written to only if STATTIME is non-zero)
-STATFILE /var/log/apcupsd.status
-
-# LOGSTATS [ on | off ] on enables, off disables
-# Note! This generates a lot of output, so if         
-#       you turn this on, be sure that the
-#       file defined in syslog.conf for LOG_NOTICE is a named pipe.
-#  You probably do not want this on.
-LOGSTATS off
-
-# Time interval in seconds between writing the DATA records to
-#   the log file. 0 disables.
-DATATIME 0
-
-# FACILITY defines the logging facility (class) for logging to syslog. 
-#          If not specified, it defaults to "daemon". This is useful 
-#          if you want to separate the data logged by apcupsd from other
-#          programs.
-#FACILITY DAEMON
-
-#
-# ========== Configuration statements used in updating the UPS EPROM =========
-#
-
-#
-# These statements are used only by apctest when choosing "Set EEPROM with conf
-# file values" from the EEPROM menu. THESE STATEMENTS HAVE NO EFFECT ON APCUPSD.
-#
-
-# UPS name, max 8 characters 
-#UPSNAME UPS_IDEN
-
-# Battery date - 8 characters
-#BATTDATE mm/dd/yy
-
-# Sensitivity to line voltage quality (H cause faster transfer to batteries)  
-# SENSITIVITY H M L        (default = H)
-#SENSITIVITY H
-
-# UPS delay after power return (seconds)
-# WAKEUP 000 060 180 300   (default = 0)
-#WAKEUP 60
-
-# UPS Grace period after request to power off (seconds)
-# SLEEP 020 180 300 600    (default = 20)
-#SLEEP 180
-
-# Low line voltage causing transfer to batteries
-# The permitted values depend on your model as defined by last letter 
-#  of FIRMWARE or APCMODEL. Some representative values are:
-#    D 106 103 100 097
-#    M 177 172 168 182
-#    A 092 090 088 086
-#    I 208 204 200 196     (default = 0 => not valid)
-#LOTRANSFER  208
-
-# High line voltage causing transfer to batteries
-# The permitted values depend on your model as defined by last letter 
-#  of FIRMWARE or APCMODEL. Some representative values are:
-#    D 127 130 133 136
-#    M 229 234 239 224
-#    A 108 110 112 114
-#    I 253 257 261 265     (default = 0 => not valid)
-#HITRANSFER 253
-
-# Battery charge needed to restore power
-# RETURNCHARGE 00 15 50 90 (default = 15)
-#RETURNCHARGE 15
-
-# Alarm delay 
-# 0 = zero delay after pwr fail, T = power fail + 30 sec, L = low battery, N = never
-# BEEPSTATE 0 T L N        (default = 0)
-#BEEPSTATE T
-
-# Low battery warning delay in minutes
-# LOWBATT 02 05 07 10      (default = 02)
-#LOWBATT 2
-
-# UPS Output voltage when running on batteries
-# The permitted values depend on your model as defined by last letter 
-#  of FIRMWARE or APCMODEL. Some representative values are:
-#    D 115
-#    M 208
-#    A 100
-#    I 230 240 220 225     (default = 0 => not valid)
-#OUTPUTVOLTS 230
-
-# Self test interval in hours 336=2 weeks, 168=1 week, ON=at power on
-# SELFTEST 336 168 ON OFF  (default = 336)
-#SELFTEST 336
-

--- a/net/apcupsd/files/apcupsd.init
+++ /dev/null
@@ -1,13 +1,1 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2006 OpenWrt.org
-START=50
-STOP=50
 
-start() {
-	/usr/sbin/apcupsd -f /etc/apcupsd/apcupsd.conf
-}
-
-stop() {
-	kill $(cat /var/run/apcupsd.pid)
-}
-

--- a/net/apcupsd/files/apcupsd_mail.conf
+++ /dev/null
@@ -1,7 +1,1 @@
-#!/bin/sh
 
-MAILPROG="/usr/sbin/smtp"
-MAILHOST="mail:25"
-FROM="OpenWrt"
-TO="apcups@example.com"
-HOSTNAME="OpenWrt"

--- a/net/apcupsd/files/changeme
+++ /dev/null
@@ -1,18 +1,1 @@
-#!/bin/sh
-#
-# This shell script if placed in /etc/apcupsd
-# will be called by /etc/apcupsd/apccontrol when apcupsd
-# detects that the battery should be replaced.
-# We send an email message to root to notify him.
-#
-. /etc/apcupsd/apcupsd_mail.conf
 
-MSG="$HOSTNAME UPS battery needs changing NOW."
-#
-(
-   echo "$MSG"
-   echo " "
-   /usr/sbin/apcaccess status
-) | $MAILPROG -h $MAILHOST -f $FROM -s "$MSG" $TO
-exit 0
-

--- a/net/apcupsd/files/commfailure
+++ /dev/null
@@ -1,18 +1,1 @@
-#!/bin/sh
-#
-# This shell script if placed in /etc/apcupsd
-# will be called by /etc/apcupsd/apccontrol when apcupsd
-# loses contact with the UPS (i.e. the serial connection is not responding).
-# We send an email message to root to notify him.
-#
-. /etc/apcupsd/apcupsd_mail.conf
 
-MSG="$HOSTNAME Communications with UPS lost"
-#
-(
-   echo "$MSG"
-   echo " "
-   /usr/sbin/apcaccess status
-) | $MAILPROG -h $MAILHOST -f $FROM -s "$MSG" $TO
-exit 0
-

--- a/net/apcupsd/files/commok
+++ /dev/null
@@ -1,18 +1,1 @@
-#!/bin/sh
-#
-# This shell script if placed in /etc/apcupsd
-# will be called by /etc/apcupsd/apccontrol when apcupsd
-# restores contact with the UPS (i.e. the serial connection is restored).
-# We send an email message to root to notify him.
-#
-. /etc/apcupsd/apcupsd_mail.conf
 
-MSG="$HOSTNAME Communications with UPS restored"
-#
-(
-   echo "$MSG"
-   echo " "
-   /usr/sbin/apcaccess status
-) | $MAILPROG -h $MAILHOST -f $FROM -s "$MSG" $TO
-exit 0
-

--- a/net/apcupsd/files/offbattery
+++ /dev/null
@@ -1,18 +1,1 @@
-#!/bin/sh
-#
-# This shell script if placed in /etc/apcupsd
-# will be called by /etc/apcupsd/apccontrol when the    
-# UPS goes back on to the mains after a power failure.
-# We send an email message to root to notify him.
-#
-. /etc/apcupsd/apcupsd_mail.conf
 
-MSG="$HOSTNAME Power has returned"
-#
-(
-   echo "$MSG"
-   echo " "
-   /usr/sbin/apcaccess status
-) | $MAILPROG -h $MAILHOST -f $FROM -s "$MSG" $TO
-exit 0
-

--- a/net/apcupsd/files/onbattery
+++ /dev/null
@@ -1,18 +1,1 @@
-#!/bin/sh
-#
-# This shell script if placed in /etc/apcupsd
-# will be called by /etc/apcupsd/apccontrol when the UPS
-# goes on batteries.
-# We send an email message to root to notify him.
-#
-. /etc/apcupsd/apcupsd_mail.conf
 
-MSG="$HOSTNAME Power Failure !!!"
-#
-(
-   echo "$MSG"
-   echo " "
-   /usr/sbin/apcaccess status
-) | $MAILPROG -h $MAILHOST -f $FROM -s "$MSG" $TO
-exit 0
-

--- a/net/apcupsd/patches/010-fix-include-paths.patch
+++ /dev/null
@@ -1,14 +1,1 @@
-diff --git a/autoconf/variables.mak.in b/autoconf/variables.mak.in
-index b67e467..6022434 100644
---- a/autoconf/variables.mak.in
-+++ b/autoconf/variables.mak.in
-@@ -65,7 +65,7 @@ DRVLIBS = @PTHREAD_LFLAGS@ @DRVLIBS@
- X_LIBS = @X_LIBS@
- X_EXTRA_LIBS = @X_EXTRA_LIBS@
- 
--CPPFLAGS = @CPPFLAGS@ -I$(topdir)/include $(EXTRAINCS)
-+CPPFLAGS = -I$(topdir)/include @CPPFLAGS@ $(EXTRAINCS)
- CFLAGS = $(CPPFLAGS) @CFLAGS@ @PTHREAD_CFLAGS@
- CXXFLAGS = $(CPPFLAGS) @CXXFLAGS@ @PTHREAD_CFLAGS@
- LDFLAGS = @LDFLAGS@
 

--- a/net/atftp/Makefile
+++ b/net/atftp/Makefile
@@ -43,7 +43,7 @@
 CONFIGURE_VARS += \
 	LDFLAGS="$(TARGET_LDFLAGS) $(TARGET_CFLAGS)"
 
-ifdef CONFIG_USE_EGLIBC
+ifdef CONFIG_USE_GLIBC
   TARGET_CFLAGS += -DHAVE_ARGZ=1
 
   define Build/Prepare

file:a/net/bmon/Makefile (deleted)
--- a/net/bmon/Makefile
+++ /dev/null
@@ -1,50 +1,1 @@
-#
-# Copyright (C) 2007 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=bmon
-PKG_VERSION:=2.1.0
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://people.suug.ch/~tgr/bmon/files/
-PKG_MD5SUM:=3111a027907016c0902d67350c619df6
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/bmon
-  SECTION:=net
-  CATEGORY:=Network
-  DEPENDS:=+libncurses
-  TITLE:=bmon is a portable bandwidth monitor
-  URL:=http://people.suug.ch/~tgr/bmon/
-endef
-
-define Package/bmon/description
-	bmon is a portable bandwidth monitor
-	and rate estimator running on various
-	operating systems. It supports various
-	input methods for different architectures.
-endef
-
-CONFIGURE_ARGS += \
-	--disable-cnt-workaround \
-	--disable-dbi \
-	--disable-rrd \
-	--disable-asound \
-
-CONFIGURE_VARS += \
-	ac_cv_lib_nl_nl_connect=no \
-
-define Package/bmon/install
-	$(INSTALL_DIR) $(1)/usr/sbin
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/bmon $(1)/usr/sbin/
-endef
-
-$(eval $(call BuildPackage,bmon))
-

--- a/net/bmon/patches/001-bugfixes.patch
+++ /dev/null
@@ -1,27 +1,1 @@
-Index: bmon-2.1.0/src/out_audio.c
-===================================================================
---- bmon-2.1.0.orig/src/out_audio.c	2007-11-20 17:25:54.000000000 +0100
-+++ bmon-2.1.0/src/out_audio.c	2007-11-20 17:25:54.000000000 +0100
-@@ -141,7 +141,7 @@
- 	.om_draw = audio_draw,
- 	.om_set_opts = audio_set_opts,
- 	.om_probe = audio_probe,
--	.om_shutdown audio_shutdown,
-+	.om_shutdown = audio_shutdown,
- };
- 
- static void __init audio_init(void)
-Index: bmon-2.1.0/src/out_xml_event.c
-===================================================================
---- bmon-2.1.0.orig/src/out_xml_event.c	2007-11-20 17:25:54.000000000 +0100
-+++ bmon-2.1.0/src/out_xml_event.c	2007-11-20 17:25:54.000000000 +0100
-@@ -127,7 +127,7 @@
- 	.om_draw = xml_event_draw,
- 	.om_set_opts = xml_event_set_opts,
- 	.om_probe = xml_event_probe,
--	.om_shutdown xml_event_shutdown,
-+	.om_shutdown = xml_event_shutdown,
- };
- 
- static void __init xml_event_init(void)
 

--- a/net/bridge-utils/Makefile
+++ /dev/null
@@ -1,52 +1,1 @@
-#
-# Copyright (C) 2006-2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-PKG_NAME:=bridge-utils
-PKG_RELEASE:=2
-PKG_SOURCE_URL:=@SF/bridge
-PKG_VERSION:=1.5
-PKG_MD5SUM:=ec7b381160b340648dede58c31bb2238
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/bridge
-  SECTION:=net
-  CATEGORY:=Base system
-  TITLE:=Ethernet bridging configuration utility
-  URL:=http://bridge.sourceforge.net/
-endef
-
-define Package/bridge/description
- Manage ethernet bridging: a way to connect networks together to
- form a larger network.
-endef
-
-CONFIGURE_ARGS += \
-	--with-linux-headers="$(LINUX_DIR)" \
-
-define Build/Prepare
-$(call Build/Prepare/Default)
-	( cd $(PKG_BUILD_DIR) ; \
-		[ -f ./configure ] || { \
-			ln -sf configure.in configure.ac ; \
-			autoconf ; \
-		} \
-	)
-endef
-
-define Package/bridge/install
-	$(INSTALL_DIR) $(1)/usr/sbin
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/brctl/brctl $(1)/usr/sbin
-endef
-
-$(eval $(call BuildPackage,bridge))
-

--- a/net/bridge-utils/patches/001-libbridge_cflags.patch
+++ /dev/null
@@ -1,12 +1,1 @@
---- a/libbridge/Makefile.in
-+++ b/libbridge/Makefile.in
-@@ -5,7 +5,7 @@ AR=ar
- RANLIB=@RANLIB@
- 
- CC=@CC@
--CFLAGS = -Wall -g $(KERNEL_HEADERS)
-+CFLAGS = -Wall -g @CFLAGS@ $(KERNEL_HEADERS)
- 
- prefix=@prefix@
- exec_prefix=@exec_prefix@
 

--- a/net/bridge-utils/patches/010-fix_struct_in6_addr_usage.patch
+++ /dev/null
@@ -1,11 +1,1 @@
---- a/libbridge/libbridge.h
-+++ b/libbridge/libbridge.h
-@@ -20,6 +20,7 @@
- #define _LIBBRIDGE_H
- 
- #include <sys/socket.h>
-+#include <netinet/in.h>
- #include <linux/if.h>
- #include <linux/if_bridge.h>
- 
 

file:a/net/chaosvpn/Makefile (deleted)
--- a/net/chaosvpn/Makefile
+++ /dev/null
@@ -1,49 +1,1 @@
-#
-# Copyright (C) 2010-2011 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=chaosvpn
-PKG_VERSION:=2.0
-PKG_RELEASE:=3
-
-PKG_SOURCE:=${PKG_NAME}-${PKG_VERSION}.tar.gz
-PKG_SOURCE_URL:=http://github.com/downloads/ryd/chaosvpn/
-PKG_MD5SUM:=4263202d65bf4ab0d1356b149d7c53af
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/chaosvpn
-  SECTION:=net
-  CATEGORY:=Network
-  TITLE:=Config generator for chaos vpn
-  SUBMENU:=VPN
-  DEPENDS:=+ip +tinc +kmod-tun +libopenssl
-  URL:=https://wiki.hamburg.ccc.de/index.php/ChaosVPN::DebianHowto
-  MAINTAINER:=Christopher J. Pilkington <cjp@0x1.net>
-endef
-
-define Package/chaosvpn/description
-	Configure tincd for the chaosvpn network
-endef
-
-MAKE_FLAGS += \
-	COPT="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS) $(TARGET_LDFLAGS)"
-
-define Package/chaosvpn/install
-	$(INSTALL_DIR) $(1)/etc/tinc/chaos/ $(1)/usr/sbin/ $(1)/etc/init.d/ $(1)/etc/hotplug.d/iface/
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/chaosvpn $(1)/usr/sbin/
-	#$(INSTALL_DATA) $(PKG_BUILD_DIR)/chaosvpn.conf $(1)/etc/tinc/
-	sed -e 's/"\/sbin\/ip /"\/usr\/sbin\/ip /' <$(PKG_BUILD_DIR)/chaosvpn.conf >$(1)/etc/tinc/chaosvpn.conf
-	$(INSTALL_BIN) ./files/chaosvpn_config.sh $(1)/usr/sbin/
-	$(INSTALL_BIN) ./files/chaosvpn.init $(1)/etc/init.d/chaosvpn
-	$(INSTALL_BIN) ./files/chaosvpn.hotplug $(1)/etc/hotplug.d/iface/40-chaosvpn
-endef
-
-$(eval $(call BuildPackage,chaosvpn))
-
-

--- a/net/chaosvpn/files/chaosvpn.hotplug
+++ /dev/null
@@ -1,4 +1,1 @@
-[ "$INTERFACE" == "wan" ] || return
-[ "$ACTION" == "ifup" ] && /etc/init.d/chaosvpn restart
 
-

--- a/net/chaosvpn/files/chaosvpn.init
+++ /dev/null
@@ -1,22 +1,1 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2010-2011 OpenWrt.org
 
-START=99
-
-SERVICE_DAEMONIZE=1
-
-start()
-{
-	/usr/sbin/chaosvpn_config.sh
-	[ $? = 0 ] || {
-		logger "not starting chaosvpn, check your config"
-		exit 1
-	}
-	service_start /usr/sbin/chaosvpn -f -c /etc/tinc/chaosvpn.conf
-}
-
-stop()
-{
-	service_stop /usr/sbin/chaosvpn
-}
-

--- a/net/chaosvpn/files/chaosvpn_config.sh
+++ /dev/null
@@ -1,15 +1,1 @@
-#!/bin/sh
 
-[ -f "/etc/tinc/chaos/rsa_key.pub" -a -f "/etc/tinc/chaos/rsa_key.priv" ] || {
-	echo "please generate rsa key pair"
-	echo "tincd -n chaos --generate-keys=2048"
-	exit 1
-}
-
-C=`grep unconfigured_please_change_me /etc/tinc/chaosvpn.conf  | wc -l`
-[ "$C" = "0" ] || {
-	echo "/etc/tinc/chaosvpn.conf is not configured yet"
-	exit 1
-}
-exit 0
-

--- a/net/chaosvpn/patches/001-dist-makefile.patch
+++ /dev/null
@@ -1,31 +1,1 @@
---- a/Makefile	2010-07-17 14:20:07.000000000 -0400
-+++ b/Makefile	2010-07-17 18:50:30.000000000 -0400
-@@ -1,10 +1,7 @@
--CC?=gcc
--INCLUDES?=-I/usr/local/include
--LIBDIRS?=-L/usr/local/lib
--CFLAGS?=-std=c99 -D_POSIX_C_SOURCE=2 -D_BSD_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -Wall -g $(INCLUDES)
--LIB?=-lz -lcrypto
--LEX?=flex
--YACC?=yacc
-+CC := gcc
-+LIBS := -lssl -lz -lcrypto
-+LEX := flex
-+YACC := yacc
- 
- PREFIX?=/usr
- TINCDIR?=/etc/tinc
-@@ -21,10 +18,10 @@
- GITDEBVERSION=$(shell debian/scripts/calcdebversion )
- 
- $(NAME): main.o $(OBJ) $(HEADERS)
--	$(CC) -o $@ main.o $(OBJ) $(LIB) $(LIBDIRS)
-+	$(CC) $(COPT) -o $@ main.o $(OBJ) $(LIBS) $(LIB)
- 
- %.o: %.c $(HEADERS)
--	$(CC) $(CFLAGS) -o $(patsubst %.c,%.o,$<) -c $<
-+	$(CC) $(COPT) -o $(patsubst %.c,%.o,$<) -c $<
- 
- lex.yy.o: lex.yy.c y.tab.h
- 
 

file:a/net/chrony/Makefile (deleted)
--- a/net/chrony/Makefile
+++ /dev/null
@@ -1,73 +1,1 @@
-#
-# Copyright (C) 2006-2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=chrony
-PKG_VERSION:=1.26
-PKG_RELEASE:=2
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:= ftp://download.tuxfamily.org/projects/chrony/ \
-	http://download.tuxfamily.org/chrony/
-PKG_MD5SUM:=ad6dd619ff1986e4ff780363c64e2246
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/chrony
-  SUBMENU:=Time Synchronization
-  SECTION:=net
-  CATEGORY:=Network
-  DEPENDS:=+libreadline +libncurses @!TARGET_avr32 @!powerpc
-  TITLE:=NTP client/server for on-demand connections
-  URL:=http://chrony.sunsite.dk/
-endef
-
-define Package/chrony/description
-	A NTP implementation that has been specifically written to work
-	well in the case of an intermittent (e.g. dial-on-demand)
-	connection to the network where your NTP servers are.
-endef
-
-define Package/chrony/conffiles
-/etc/chrony/chrony.conf
-endef
-
-define Build/Configure
-	$(call Build/Configure/Default, \
-			--target=$(GNU_TARGET_NAME) \
-			--prefix=/usr \
-			--with-readline-includes=$(STAGING_DIR)/usr/include \
-			--with-readline-library=$(STAGING_DIR)/usr/lib \
-			--disable-linuxcaps \
-	)
-endef
-
-define Build/Compile
-	$(MAKE) -C $(PKG_BUILD_DIR) \
-		$(TARGET_CONFIGURE_OPTS) \
-		prefix="$(PKG_INSTALL_DIR)/usr"
-endef
-
-define Package/chrony/install
-	$(INSTALL_DIR) $(1)/usr/bin/
-	$(INSTALL_DIR) $(1)/usr/sbin/
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/chronyd $(1)/usr/sbin
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/chronyc $(1)/usr/bin
-	$(INSTALL_DIR) $(1)/etc/init.d
-	$(INSTALL_DIR) $(1)/etc/config
-	$(INSTALL_DIR) $(1)/etc/chrony
-	$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
-	$(INSTALL_BIN) ./files/ntpd.hotplug $(1)/etc/hotplug.d/iface/20-ntpd
-	$(INSTALL_BIN) ./files/ntpd.init $(1)/etc/init.d/ntpd
-	$(INSTALL_CONF) ./files/ntpd.config $(1)/etc/config/ntpd
-	$(INSTALL_CONF) ./files/chrony.conf $(1)/etc/chrony/chrony.conf
-	$(INSTALL_CONF) ./files/chrony.keys $(1)/etc/chrony/chrony.keys
-endef
-
-$(eval $(call BuildPackage,chrony))
-

--- a/net/chrony/files/chrony.conf
+++ /dev/null
@@ -1,18 +1,1 @@
-# Chrony configuration
 
-# Note: time servers and ntp client access is configured in /etc/config/ntpd 
-# and automatically set at startup
-
-# Log clock errors above 0.5 seconds
-logchange 0.5
-
-# Allow command access only from localhost
-cmdallow localhost
-cmddeny
-
-# Password config for chronyc
-# Note: Using a command key other than "1" will break 
-# /etc/init.d/ntpd and /etc/hotplug.d/iface/20-ntpd
-keyfile /etc/chrony/chrony.keys
-commandkey 1
-

--- a/net/chrony/files/chrony.keys
+++ /dev/null
@@ -1,2 +1,1 @@
-1 chronyc
 

--- a/net/chrony/files/ntpd.config
+++ /dev/null
@@ -1,7 +1,1 @@
-# Generic NTP configuration
-# Time servers and network(s) that may access the time service
 
-config ntpd
-	option TimeServers	"0.openwrt.pool.ntp.org 1.openwrt.pool.ntp.org 2.openwrt.pool.ntp.org 3.openwrt.pool.ntp.org"
-	option ClientAccessFrom	"lan"
-

--- a/net/chrony/files/ntpd.hotplug
+++ /dev/null
@@ -1,22 +1,1 @@
-COMMAND=/usr/bin/chronyc
-CHRONY_KEY=$(awk '/^1 / { print $2; }' /etc/chrony/chrony.keys)
 
-chrony_control() {
-$COMMAND << EOF
-password $CHRONY_KEY
-$1
-EOF
-}
-
-[ "$ACTION" = "ifup" -a "$INTERFACE" = "wan" ] && {
-	[ -x $COMMAND ] && [ -n "$CHRONY_KEY" ] &&{
-		chrony_control online
-	}
-}
-
-[ "$ACTION" = "ifdown" -a "$INTERFACE" = "wan" ] && {
-	[ -x $COMMAND ] && [ -n "$CHRONY_KEY" ] &&{
-		chrony_control offline
-	}
-}
-

--- a/net/chrony/files/ntpd.init
+++ /dev/null
@@ -1,57 +1,1 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2006 OpenWrt.org
 
-START=60
-
-start() {
-	[ ! -f /var/run/chronyd.pid ] && (
-		/usr/sbin/chronyd -f /etc/chrony/chrony.conf
-
-		local NTP_SERVERS
-		local NTP_SERVER
-		local CLIENT_NETWORKS
-		local NETNAME
-		config_load ntpd
-		config_get NTP_SERVERS $CONFIG_SECTION TimeServers
-		config_get CLIENT_NETWORKS $CONFIG_SECTION ClientAccessFrom
-		CHRONY_KEY=$(awk '/^1 / { print $2; }' /etc/chrony/chrony.keys)
-
-		. /lib/functions/network.sh
-
-		# Define servers and do a rapid series of time measurements
-		# to get up to date
-		(
-			echo password $CHRONY_KEY
-			for NTP_SERVER in $NTP_SERVERS; do
-				echo add server $NTP_SERVER
-			done
-			echo burst 5/5
-		) | chronyc > /dev/null 2>&1
-		# ... wait until a reference ID is found ...
-		while chronyc tracking | grep 'Reference ID.*0.0.0.0' >/dev/null ; do sleep 1; done
-		# ... and finally, adjust the time in a single step
-		# and allow clients to access the server
-		(
-			echo password $CHRONY_KEY
-			echo makestep
-			for NETNAME in $CLIENT_NETWORKS; do
-				local subnet
-				if network_get_subnet subnet "$NETNAME"; then
-					echo allow $subnet
-				fi
-			done
-		) | chronyc > /dev/null 2>&1
-	)
-}
-
-stop() {
-	[ -r /var/run/chronyd.pid ] && PID=$(cat /var/run/chronyd.pid)
-	[ -n "$PID" ] && kill $PID
-}
-
-restart() {
-	stop
-	while [ -r /var/run/chronyd.pid ] ; do sleep 1; done
-	start
-}
-

--- a/net/chrony/patches/001-crosscompile.patch
+++ /dev/null
@@ -1,26 +1,1 @@
---- a/configure
-+++ b/configure
-@@ -254,6 +254,13 @@ do
-     --host-machine=* )
-       MACHINE=`echo $option | sed -e 's/^.*=//;'`
-     ;;
-+    --target=* )
-+      TARGET=`echo $option | sed -e 's/[^=]*=//;'`
-+      OPERATINGSYSTEM=`echo $TARGET | sed -e 's/.*-//;'`
-+      MACHINE=`echo $TARGET | sed -e 's/-.*//;'`
-+      VERSION=""
-+      SYSTEM=${OPERATINGSYSTEM}-${MACHINE}
-+    ;;
-     --help | -h )
-       usage
-       exit 0
-@@ -287,7 +294,7 @@ case $SYSTEM in
-         ;;
-     esac
-     ;;
--    Linux* )
-+    Linux* | linux* )
-         EXTRA_OBJECTS="sys_linux.o wrap_adjtimex.o"
-         try_linuxcaps=1
-         try_rtc=1
 

--- a/net/chrony/patches/002-ipv6_disabled_fixes.patch
+++ /dev/null
@@ -1,35 +1,1 @@
---- a/ntp_io.c
-+++ b/ntp_io.c
-@@ -355,6 +355,7 @@ read_from_socket(void *anything)
-       }
- #endif
- 
-+#ifdef HAVE_IPV6
- #ifdef IPV6_PKTINFO
-       if (cmsg->cmsg_level == IPPROTO_IPV6 && cmsg->cmsg_type == IPV6_PKTINFO) {
-         struct in6_pktinfo ipi;
-@@ -365,6 +366,7 @@ read_from_socket(void *anything)
-         remote_addr.local_ip_addr.family = IPADDR_INET6;
-       }
- #endif
-+#endif
- 
- #ifdef SO_TIMESTAMP
-       if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SO_TIMESTAMP) {
-@@ -466,6 +468,7 @@ send_packet(void *packet, int packetlen,
-   }
- #endif
- 
-+#ifdef HAVE_IPV6
- #ifdef IPV6_PKTINFO
-   if (remote_addr->local_ip_addr.family == IPADDR_INET6) {
-     struct cmsghdr *cmsg;
-@@ -484,6 +487,7 @@ send_packet(void *packet, int packetlen,
-         sizeof(ipi->ipi6_addr.s6_addr));
-   }
- #endif
-+#endif
- 
- #if 0
-     LOG(LOGS_INFO, LOGF_NtpIO, "sending to %s:%d from %s",
 

file:a/net/click/Makefile (deleted)
--- a/net/click/Makefile
+++ /dev/null
@@ -1,76 +1,1 @@
-#
-# Copyright (C) 2006-2010 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=click
-PKG_VERSION:=20101020
-PKG_RELEASE:=1
-PKG_REV:=8f521a2dcd58ea8205b3b6070be605a21fb9154b
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=git://read.cs.ucla.edu/git/click
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=$(PKG_REV)
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_MD5SUM:=c3cba1c923d0a034cc518720b5ba7b40
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/click
-	SECTION:=net
-	CATEGORY:=Network
-	DEPENDS:=@BROKEN
-	TITLE:=Click Modular Router
-	URL:=http://read.cs.ucla.edu/click
-endef
-
-define Package/click/Description
-	The Click Modular Router userspace package
-endef
-
-TARGET_CFLAGS += "-static -O2 -MD"
-TARGET_CXXFLAGS += "-static -O2 -MD"
-
-define Build/Configure
-	(cd $(PKG_BUILD_DIR); \
-		rm -rf config.{cache,status} ; \
-		./configure \
-			--prefix=/usr \
-			--target=$(GNU_TARGET_NAME) \
-			--host=$(GNU_HOST_NAME) \
-			--build=$(GNU_BUILD_NAME) \
-			--enable-tools=mixed \
-			--enable-userlevel \
-			--enable-wifi \
-			--enable-fixincludes \
-			--disable-linuxmodule \
-	)
-endef
-
-define Build/Compile
-	$(MAKE) -C $(PKG_BUILD_DIR) \
-		tools elementmap.xml
-	(cd $(PKG_BUILD_DIR)/userlevel; \
-		../tools/click-mkmindriver/click-mkmindriver -p $(PKG_NAME) -C .. \
-		-f $(PKG_BUILD_DIR)/conf/wifi/dump.click \
-		-A --all -E Discard -E Print; \
-	)
-	$(MAKE) -C $(PKG_BUILD_DIR) MINDRIVER=$(PKG_NAME)
-endef
-
-define Package/click/install
-	$(INSTALL_DIR) $(1)/usr
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(INSTALL_DIR) $(1)/usr/share/click
-	$(CP) $(PKG_BUILD_DIR)/userlevel/$(PKG_NAME)click $(1)/usr/bin/click
-	$(CP) $(PKG_BUILD_DIR)/tools/click-align/click-align $(1)/usr/bin/click-align
-	$(CP) $(PKG_BUILD_DIR)/elementmap.xml $(1)/usr/share/click/elementmap.xml
-endef
-
-$(eval $(call BuildPackage,click))
-

--- a/net/click/files/roofnet.init
+++ /dev/null
@@ -1,16 +1,1 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2006 OpenWrt.org
-START=50
 
-start() {
-	killall -q click
-	cp /usr/bin/srcr.click /tmp
-	sh /usr/bin/gen_config_roofnet.sh > /tmp/unaligned.click
-	click-align /tmp/unaligned.click > /tmp/roofnet.click
-	/usr/bin/click /tmp/roofnet.click > /tmp/roofnet.log 2>&1 &
-}
-
-stop() {
-	killall click
-}
-

--- a/net/click/patches/100-compile_fix.patch
+++ /dev/null
@@ -1,23 +1,1 @@
---- a/tools/click-mkmindriver/Makefile.in
-+++ b/tools/click-mkmindriver/Makefile.in
-@@ -60,7 +60,7 @@ DEPCFLAGS = @DEPCFLAGS@
- DEFS = @DEFS@
- INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \
- 	-I$(top_srcdir)/tools/lib -I$(srcdir)
--LDFLAGS = @LDFLAGS@
-+LDFLAGS = @LDFLAGS@ -lrt
- LIBS = @LIBS@ @POSIX_CLOCK_LIBS@ $(DL_LIBS)
- 
- CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CXXFLAGS) $(DEPCFLAGS)
---- a/configure
-+++ b/configure
-@@ -7135,7 +7135,7 @@ fi
- $as_echo "$ac_cv_va_list_addr" >&6; }
-     if test "x$ac_cv_va_list_addr" = xyes; then
- 
--$as_echo "#define HAVE_ADDRESSABLE_VA_LIST 1" >>confdefs.h
-+$as_echo "#define HAVE_ADDRESSABLE_VA_LIST 0" >>confdefs.h
- 
-     fi
- 
 

--- a/net/click/patches/110-multithread_fix.patch
+++ /dev/null
@@ -1,13 +1,1 @@
---- a/lib/master.cc
-+++ b/lib/master.cc
-@@ -409,7 +409,9 @@ Master::process_pending(RouterThread *th
-     while (Task *t = Task::pending_to_task(my_pending)) {
- 	my_pending = t->_pending_nextptr;
- 	t->_pending_nextptr = 0;
-+# if HAVE_MULTITHREAD
- 	click_master_mb();
-+# endif
- 	t->process_pending(thread);
-     }
- }
 

--- a/net/coova-chilli/Config.in
+++ /dev/null
@@ -1,49 +1,1 @@
-# CoovaChilli avanced configuration
 
-menu "Configuration"
-	depends on PACKAGE_coova-chilli
-
-config COOVACHILLI_REDIR
-	bool "Enable support for redir server. Required for uamregex"
-	default n
-
-config COOVACHILLI_MINIPORTAL
-	bool "Enable support Coova miniportal"
-	default n
-
-config COOVACHILLI_USERAGENT
-	bool "Enable recording user-agent"
-	default n
-
-config COOVACHILLI_DNSLOG
-	bool "Enable support to log DNS name queries"
-	default n
-
-config COOVACHILLI_UAMDOMAINFILE
-	bool "Enable loading of mass uamdomains from file"
-	default n
-
-config COOVACHILLI_LARGELIMITS
-	bool "Enable larger limits for use with non-embedded systems"
-	default n
-
-choice
-	prompt "SSL library"
-	default COOVACHILLI_NOSSL
-
-config COOVACHILLI_NOSSL
-	bool "No SSL support"
-
-config COOVACHILLI_MATRIXSSL
-	bool "MatrixSSL"
-
-config COOVACHILLI_CYASSL
-	bool "CyaSSL"
-
-config COOVACHILLI_OPENSSL
-	bool "OpenSSL"
-
-endchoice
-
-endmenu
-

--- a/net/coova-chilli/Makefile
+++ /dev/null
@@ -1,91 +1,1 @@
-#
-# Copyright (C) 2007-2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=coova-chilli
-PKG_VERSION:=1.3.0
-PKG_RELEASE:=5
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://ap.coova.org/chilli
-PKG_MD5SUM:=dc0037e3cdebcb60508081b4e42e984a
-
-PKG_INSTALL:=1
-
-PKG_CONFIG_DEPENDS := \
-  COOVACHILLI_MINIPORTAL \
-  COOVACHILLI_REDIR \
-  COOVACHILLI_USERAGENT \
-  COOVACHILLI_DNSLOG \
-  COOVACHILLI_UAMDOMAINFILE \
-  COOVACHILLI_LARGELIMITS \
-  COOVACHILLI_NOSSL \
-  COOVACHILLI_MATRIXSSL \
-  COOVACHILLI_CYASSL \
-  COOVACHILLI_OPENSSL
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/coova-chilli
-  SUBMENU:=Captive Portals
-  SECTION:=net
-  CATEGORY:=Network
-  DEPENDS:=+kmod-tun +librt +COOVACHILLI_MATRIXSSL:libmatrixssl +COOVACHILLI_CYASSL:libcyassl +COOVACHILLI_OPENSSL:libopenssl
-  TITLE:=Wireless LAN HotSpot controller (Coova Chilli Version)
-  URL:=http://www.coova.org/CoovaChilli
-  MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
-  MENU:=1
-endef
-
-define Package/coova-chilli/description
-	CoovaChilli is an open source access controller for wireless LAN
-	access points and is based on ChilliSpot. It is used for authenticating
-	users of a wireless (or wired) LAN. It supports web based login (UAM)
-	which is today's standard for public HotSpots and it supports Wireless
-	Protected Access (WPA) which is the standard of the future.
-	Authentication,	authorization and accounting (AAA) is handled by your
-	favorite radius server.
-endef
-
-define Package/coova-chilli/config
-  source "$(SOURCE)/Config.in"
-endef
-
-define Build/Configure
-	$(call Build/Configure/Default, \
-	$(if $(CONFIG_COOVACHILLI_REDIR),--enable,--disable)-chilliredir \
-	$(if $(CONFIG_COOVACHILLI_DNSLOG),--enable,--disable)-dnslog \
-	$(if $(CONFIG_COOVACHILLI_MINIPORTAL),--enable,--disable)-miniportal \
-	$(if $(CONFIG_COOVACHILLI_USERAGENT),--enable,--disable)-useragent \
-	$(if $(CONFIG_COOVACHILLI_LARGELIMITS),--enable,--disable)-largelimits \
-	$(if $(CONFIG_COOVACHILLI_UAMDOMAINFILE),--enable,--disable)-uamdomainfile \
-	$(if $(CONFIG_COOVACHILLI_MATRIXSSL),--with,--without)-matrixssl \
-	$(if $(CONFIG_COOVACHILLI_CYASSL),--with,--without)-cyaxssl \
-	$(if $(CONFIG_COOVACHILLI_OPENSSL),--with,--without)-openssl \
-	)
-endef
-
-define Package/coova-chilli/conffiles
-/etc/chilli.conf
-endef
-
-define Package/coova-chilli/install
-	$(INSTALL_DIR) $(1)/etc
-	$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/chilli.conf $(1)/etc/
-	$(INSTALL_DIR) $(1)/etc/chilli
-	$(CP) $(PKG_INSTALL_DIR)/etc/chilli/* $(1)/etc/chilli/
-	$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
-	$(INSTALL_DATA) ./files/chilli.hotplug $(1)/etc/hotplug.d/iface/30-chilli
-	$(INSTALL_DIR) $(1)/usr/sbin
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/chilli* $(1)/usr/sbin/
-	$(INSTALL_DIR) $(1)/usr/lib/
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so.* $(1)/usr/lib/
-endef
-
-$(eval $(call BuildPackage,coova-chilli))
-

--- a/net/coova-chilli/files/chilli.hotplug
+++ /dev/null
@@ -1,8 +1,1 @@
-#!/bin/sh
 
-[ "$ACTION" == "ifup" ] || exit 0
-
-[ "$INTERFACE" = "wan" ] && {
-	/etc/init.d/chilli restart
-}
-

--- a/net/coova-chilli/patches/100-fix-sysinfo-redeclaration.patch
+++ /dev/null
@@ -1,25 +1,1 @@
---- a/src/system.h
-+++ b/src/system.h
-@@ -76,10 +76,6 @@
- #include <sys/stat.h>
- #endif
- 
--#ifdef HAVE_SYS_SYSINFO_H
--#include <sys/sysinfo.h>
--#endif
--
- #ifdef HAVE_TIME_H
- #include <time.h>
- #endif
-@@ -132,6 +128,10 @@
- #include <linux/un.h>
- #endif
- 
-+#ifdef HAVE_SYS_SYSINFO_H
-+#include <sys/sysinfo.h>
-+#endif
-+
- #elif defined (__FreeBSD__)  || defined (__APPLE__) || defined (__OpenBSD__) || defined (__NetBSD__) 
- #include <net/if.h>
- #include <net/bpf.h>
 

--- a/net/cups/Makefile
+++ b/net/cups/Makefile
@@ -398,6 +398,7 @@
 		--enable-shared \
 		--enable-image \
 		--enable-libusb \
+		--disable-acl \
 		--disable-dbus \
 		--disable-dnssd \
 		--disable-launchd \

--- a/net/dansguardian/Makefile
+++ /dev/null
@@ -1,63 +1,1 @@
-#
-# Copyright (C) 2008-2009 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=dansguardian
-PKG_VERSION:=2.10.1.1
-PKG_RELEASE:=2
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://dansguardian.org/downloads/2/Stable
-PKG_MD5SUM:=0987a1c9bfbdf398118386f10279611a
-
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/uclibc++.mk
-include $(INCLUDE_DIR)/package.mk
-
-define Package/dansguardian
-  SECTION:=net
-  DEPENDS:=+libpthread $(CXX_DEPENDS) +zlib
-  CATEGORY:=Network
-  SUBMENU:=Web Servers/Proxies
-  TITLE:=DansGuardian
-  URL:=http://dansguardian.org
-endef
-
-define Package/dansguardian/conffiles
-/etc/dansguardian/dansguardian.conf
-endef
-
-CONFIGURE_VARS += \
-	INCLUDES="" \
-	CXXFLAGS="$$$$CXXFLAGS -fno-rtti"  \
-	LIBS="-lpthread" \
-
-define Build/Configure
-	$(call Build/Configure/Default,\
-		--disable-clamav \
-		--with-sysconfsubdir=dansguardian \
-		--with-proxyuser=root \
-		--with-proxygroup=root \
-		--disable-pcre \
-	)
-endef
-
-define Package/dansguardian/install
-	$(INSTALL_DIR) $(1)/usr/sbin
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dansguardian $(1)/usr/sbin/
-	$(INSTALL_DIR) $(1)/etc
-	$(CP) $(PKG_INSTALL_DIR)/etc/dansguardian $(1)/etc/
-	$(INSTALL_DIR) $(1)/usr/share/dansguardian
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/share/dansguardian/transparent1x1.gif $(1)/usr/share/dansguardian/
-	$(INSTALL_DIR) $(1)/usr/share/dansguardian/languages/ukenglish
-	$(CP) $(PKG_INSTALL_DIR)/usr/share/dansguardian/languages/ukenglish/* $(1)/usr/share/dansguardian/languages/ukenglish/
-endef
-
-$(eval $(call BuildPackage,dansguardian))
-

--- a/net/dansguardian/patches/001-include_dir.patch
+++ /dev/null
@@ -1,30 +1,1 @@
---- a/configure
-+++ b/configure
-@@ -861,7 +861,7 @@ sysconfdir='${prefix}/etc'
- sharedstatedir='${prefix}/com'
- localstatedir='${prefix}/var'
- includedir='${prefix}/include'
--oldincludedir='/usr/include'
-+oldincludedir='${prefix}/usr/include'
- docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
- infodir='${datarootdir}/info'
- htmldir='${docdir}'
-@@ -6317,7 +6317,7 @@ $as_echo_n "checking for zlib... " >&6; 
- # Check whether --with-zlib was given.
- if test "${with_zlib+set}" = set; then
-   withval=$with_zlib;  # check for header & func (in library) in given prefix
--	CPPFLAGS="${CPPFLAGS} -I${withval}/include"
-+	CPPFLAGS="${CPPFLAGS}"
- 	if test "x$staticzlib" = "xtrue"; then
- 		LIBS="-Bstatic -L${withval} -lz -Bdynamic ${LIBS}"
- 	else
-@@ -10042,7 +10042,7 @@ _ACEOF
- if test "${with_libiconv+set}" = set; then
-   withval=$with_libiconv;  # check for header & func (in library) in given prefix
- 			if test "x$withval" != "x"; then
--				CPPFLAGS="${CPPFLAGS} -I${withval}/include"
-+				CPPFLAGS="${CPPFLAGS}"
- 				LIBS="-L${withval}/lib -liconv ${LIBS}"
- 			else
- 				LIBS="-liconv ${LIBS}"
 

file:a/net/deluge/Makefile (deleted)
--- a/net/deluge/Makefile
+++ /dev/null
@@ -1,112 +1,1 @@
-#
-# Copyright (C) 2008-2011 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=deluge
-PKG_VERSION:=1.2.0
-PKG_RELEASE:=3
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://download.deluge-torrent.org/source/
-PKG_MD5SUM:=cec6b48f0abd79ea2cff3815a1124192
-
-PKG_BUILD_DEPENDS:=distribute/host
-
-include $(INCLUDE_DIR)/package.mk
-$(call include_mk, python-package.mk)
-
-define Package/deluge/Default
-  SUBMENU:=BitTorrent
-  SECTION:=net
-  CATEGORY:=Network
-  TITLE:=A lightweight BitTorrent client
-  URL:=http://deluge-torrent.org/
-endef
-
-define Package/deluge
-$(call Package/deluge/Default)
-  TITLE+= (console UI & daemon)
-  DEPENDS+=+python +rblibtorrent +python2-chardet +pyxdg +twisted +twisted-web +pyopenssl
-endef
-
-define Package/deluge-ui-gtk
-$(call Package/deluge/Default)
-  TITLE+= (GTK+ UI)
-  DEPENDS+=deluge +python-gtk
-endef
-
-define Package/deluge-ui-web
-$(call Package/deluge/Default)
-  TITLE+= (Web UI)
-  DEPENDS+=deluge +mako
-endef
-
-define Package/deluge/description
-  BitTorrent client with a client/server model.
-endef
-
-define Package/deluge/conffiles
-/etc/config/deluge
-endef
-
-define Build/Compile
-	$(call Build/Compile/PyMod,,install --prefix=/usr --root=$(PKG_INSTALL_DIR))
-
-	$(SED) 's,#!$(STAGING_DIR)/host/bin/$(PYTHON),#!/usr/bin/$(PYTHON),' $(PKG_INSTALL_DIR)/usr/bin/*
-endef
-
-define Package/deluge/install
-	$(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)
-	$(CP) \
-	    $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \
-	    $(1)$(PYTHON_PKG_DIR)/
-	rm -rf $(1)$(PYTHON_PKG_DIR)/deluge/ui/gtkui
-	rm -rf $(1)$(PYTHON_PKG_DIR)/deluge/ui/web
-
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(CP) \
-	    $(PKG_INSTALL_DIR)/usr/bin/* \
-	    $(1)/usr/bin/
-	rm -rf $(1)/usr/bin/deluge-gtk
-	rm -rf $(1)/usr/bin/deluge-web
-
-	$(INSTALL_DIR) $(1)/etc/config
-	$(INSTALL_CONF) ./files/deluge.config $(1)/etc/config/deluge
-
-	$(INSTALL_DIR) $(1)/etc/init.d
-	$(INSTALL_BIN) ./files/deluge.init $(1)/etc/init.d/deluge
-endef
-
-define Package/deluge-ui-gtk/install
-	$(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)/deluge/ui
-	$(CP) \
-	    $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/deluge/ui/gtkui \
-	    $(1)$(PYTHON_PKG_DIR)/deluge/ui/
-
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(CP) \
-	    $(PKG_INSTALL_DIR)/usr/bin/deluge-gtk \
-	    $(1)/usr/bin/
-endef
-
-define Package/deluge-ui-web/install
-	$(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)/deluge/ui
-	$(CP) \
-	    $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/deluge/ui/web \
-	    $(1)$(PYTHON_PKG_DIR)/deluge/ui/
-
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(CP) \
-	    $(PKG_INSTALL_DIR)/usr/bin/deluge-web \
-	    $(1)/usr/bin/
-endef
-
-$(eval $(call BuildPackage,deluge))
-$(eval $(call BuildPackage,deluge-ui-gtk))
-$(eval $(call BuildPackage,deluge-ui-web))
-

--- a/net/deluge/files/deluge.config
+++ /dev/null
@@ -1,7 +1,1 @@
-config global deluged
-	option 'user' 'deluge'
-	option 'group' 'deluge'
-	option 'home' ''
-	option 'options' ''
-	option 'enabled' 1
 

--- a/net/deluge/files/deluge.init
+++ /dev/null
@@ -1,87 +1,1 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2010-2011 OpenWrt.org
-# Copyright (C) 2010 Alexander Sulfrian
 
-START=50
-STOP=50
-
-SERVICE_DAEMONIZE=1
-SERVICE_WRITE_PID=1
-SERVICE_PID_FILE="/var/run/deluged.pid"
-
-error() {
-	echo "${initscript}:" "$@" 1>&2
-}
-
-section_enabled() {
-	config_get_bool enabled "$1" 'enabled' 0
-	[ $enabled -gt 0 ]
-}
-
-start_instance() {
-	local s="$1"
-
-	section_enabled "$s" || return 1
-
-	config_get uid "$s" 'user'
-	[ -n "$uid" ] || {
-		error "user is not set"
-		return 1
-	}
-	user_exists $uid || {
-		error "user '$uid' dos not exist"
-		return 1
-	}
-
-	config_get gid "$s" 'group'
-	[ -n "$gid" ] || {
-		error "group is not set"
-		return 1
-	}
-	group_exists $gid || {
-		error "group '$gid' dos not exist"
-		return 1
-	}
-
-	config_get home "$s" 'home'
-	[ -n "$home" ] || {
-		home=$(grep "^${user}:" /etc/passwd | cut -d ':' -f 6)
-	fi
-	[ -d "$home" ] || {
-		error "home directory '$home' for user '$uid' dos not exist"
-		return 1
-	}
-
-	config_get options "$s" 'options'
-
-	HOME="$home" \
-	SERVICE_UID="$uid" \
-	SERVICE_GID="$gid" \
-	service_start /usr/bin/python2.6 /usr/bin/deluged --do-not-daemonize $options
-}
-
-stop_instance() {
-	local s="$1"
-
-	section_enabled "$s" || return 1
-
-	config_get uid "$s" 'user'
-	config_get gid "$s" 'group'
-
-	SERVICE_UID="$uid" \
-	SERVICE_GID="$gid" \
-	service_stop /usr/bin/python2.6
-}
-
-start()
-{
-	config_load 'deluged'
-	config_foreach start_instance 'deluged'
-}
-
-stop()
-{
-	config_load 'deluged'
-	config_foreach stop_instance 'deluged'
-}
-

file:a/net/fakeidentd/Makefile (deleted)
--- a/net/fakeidentd/Makefile
+++ /dev/null
@@ -1,47 +1,1 @@
-#
-# Copyright (C) 2006-2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=fakeidentd
-PKG_VERSION:=2.6
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).c
-PKG_SOURCE_URL:=http://distfiles.gentoo.org/distfiles/
-PKG_MD5SUM:=d26693c1a7c883d1432e05fb6f7ead6e
-UNPACK_CMD=$(CP) $(DL_DIR)/$(PKG_SOURCE) $(1)/
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/fakeidentd
-  SECTION:=net
-  CATEGORY:=Network
-  TITLE:=A static, secure identd.
-  URL:=http://www.guru-group.fi/~too/sw/releases/
-endef
-
-define Package/fakeidentd/description
-	A static secure identd, only one source file.
-endef
-
-define Build/Compile
-	$(SHELL) "$(PKG_BUILD_DIR)/$(MAKE_PATH)/$(PKG_SOURCE)" \
-	CC="$(TARGET_CC)" TRG="$(PKG_BUILD_DIR)/$(MAKE_PATH)/$(PKG_NAME)" \
-	$(TARGET_CFLAGS) $(EXTRA_CFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS) \
-	$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS) -DUSE_UNIX_OS
-endef
-
-define Package/fakeidentd/install
-	$(INSTALL_DIR) $(1)/usr/sbin
-	$(CP) $(PKG_BUILD_DIR)/$(PKG_NAME) $(1)/usr/sbin/
-	$(INSTALL_DIR) $(1)/etc/init.d
-	$(INSTALL_BIN) ./files/$(PKG_NAME).init $(1)/etc/init.d/$(PKG_NAME)
-endef
-
-$(eval $(call BuildPackage,fakeidentd))
-

--- a/net/fakeidentd/files/fakeidentd.init
+++ /dev/null
@@ -1,13 +1,1 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2006-2012 OpenWrt.org
 
-START=85
-
-start() {
-	service_start /usr/sbin/fakeidentd -r
-}
-
-stop() {
-	service_stop /usr/sbin/fakeidentd
-}
-

file:a/net/freepops/Makefile (deleted)
--- a/net/freepops/Makefile
+++ /dev/null
@@ -1,68 +1,1 @@
-#
-# Copyright (C) 2010-2011 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-# $Id: Makefile 5624 2006-11-23 00:29:07Z nbd $
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=freepops
-PKG_VERSION:=0.2.4
-PKG_RELEASE:=2
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=@SF/freepops
-PKG_MD5SUM:=d18848b903ceb68a53ded6b6d9e33047
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/freepops
-  SECTION:=net
-  CATEGORY:=Network
-  TITLE:=POP3 interface to several webmails
-  DEPENDS:=+libpthread +liblua +luafilesystem +luaexpat @BROKEN # +luacurl
-  URL:=http://www.freepops.org
-endef
-
-define Package/freepops/description
-	FreePOPs is a POP3 daemon that translates local POP3 commands
-	to remote HTTP requests to the supported webmail sites.
-
-	FreePOPs can also be used as RSS aggregator and POP3 forwarder.
-endef
-
-define Build/Configure
-	cd $(PKG_BUILD_DIR) && \
-	$(TARGET_CONFIGURE_OPTS) \
-	CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS) -DHAVE_CONFIG_H -I$(PKG_BUILD_DIR)" \
-	LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS) -llua -llua-filesystem -llua-curl -llua-expat" \
-	PKGCONFIG=true \
-	./configure.sh openwrt -lua -luafilesystem -luacurl -luaexpat
-endef
-
-define Build/Compile
-	$(MAKE) -C $(PKG_BUILD_DIR) WHERE=/usr/ all
-	$(TARGET_CROSS)strip $(PKG_BUILD_DIR)/src/freepopsd
-endef
-
-define Package/freepops/install
-	$(MAKE) -C $(PKG_BUILD_DIR) DESTDIR=$(PKG_INSTALL_DIR)/ WHERE=/usr/ install
-	mkdir -p $(PKG_INSTALL_DIR)/etc/init.d
-	$(CP) $(PKG_BUILD_DIR)/buildfactory/openwrt/S50freepopsd \
-		$(PKG_INSTALL_DIR)/etc/init.d
-	chmod a+x $(PKG_INSTALL_DIR)/etc/init.d/*
-	rm -rf $(PKG_INSTALL_DIR)/usr/share/doc
-	rm -rf $(PKG_INSTALL_DIR)/usr/share/man
-	rm -rf $(PKG_INSTALL_DIR)/usr/bin/freepops-updater-dialog
-	rm -rf $(PKG_INSTALL_DIR)/usr/share/freepops/lua/foo.lua
-	rm -rf $(PKG_INSTALL_DIR)/usr/share/freepops/lua/skeleton.lua
-	cp -r $(PKG_INSTALL_DIR)/* $(1)
-endef
-
-$(eval $(call BuildPackage,freepops))
-

file:a/net/htpdate/Makefile (deleted)
--- a/net/htpdate/Makefile
+++ /dev/null
@@ -1,57 +1,1 @@
-#
-# Copyright (C) 2006 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=htpdate
-PKG_VERSION:=1.0.4
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=http://www.clevervest.com/htp/archive/c/
-PKG_MD5SUM:=a13ec89839c33965794ebf53c4e690db
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/htpdate
-  SUBMENU:=Time Synchronization
-  SECTION:=net
-  CATEGORY:=Network
-  TITLE:=an HTP (Hypertext Time Protocol) implementation
-  URL:=http://www.clevervest.com/htp/
-endef
-
-define Package/htpdate/description
-	The HTTP Time Protocol (HTP) is used to synchronize a computer's time
-	with web servers as reference time source. Htpdate will synchronize your
-	computer's time by extracting timestamps from HTTP headers found
-	in web server responses. Htpdate can be used as a daemon, to keep your
-	computer synchronized.
-endef
-
-define Package/htpdate/conffiles
-/etc/default/htpdate
-endef
-
-define Build/Compile
-	$(MAKE) -C $(PKG_BUILD_DIR) \
-		$(TARGET_CONFIGURE_OPTS) \
-		CFLAGS="$(TARGET_CFLAGS)"
-endef
-
-define Package/htpdate/install
-	$(INSTALL_DIR) $(1)/usr/sbin
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/htpdate $(1)/usr/sbin/
-	$(INSTALL_DIR) $(1)/etc/default/
-	$(INSTALL_CONF) ./files/htpdate.default $(1)/etc/default/htpdate
-	$(INSTALL_DIR) $(1)/etc/init.d/
-	$(INSTALL_BIN) ./files/htpdate.init $(1)/etc/init.d/htpdate
-endef
-
-$(eval $(call BuildPackage,htpdate))
-
-

--- a/net/htpdate/files/htpdate.default
+++ /dev/null
@@ -1,2 +1,1 @@
-OPTIONS="www.google.com www.yahoo.com www.linux.org www.freebsd.org"
 

--- a/net/htpdate/files/htpdate.init
+++ /dev/null
@@ -1,20 +1,1 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2006 OpenWrt.org
 
-START=49
-BIN=htpdate
-DEFAULT=/etc/default/$BIN
-RUN_D=/var/run
-PID_F=$RUN_D/$BIN.pid
-
-start() {
-	[ -f $DEFAULT ] && . $DEFAULT
-	mkdir -p $RUN_D
-	$BIN -l -s -t $OPTIONS && $BIN -D $OPTIONS
-}
-
-stop() {
-	[ -f $PID_F ] && kill $(cat $PID_F)
-}
-
-

--- a/net/htpdate/patches/100-adjtimex.patch
+++ /dev/null
@@ -1,21 +1,1 @@
---- a/htpdate.c
-+++ b/htpdate.c
-@@ -359,7 +359,7 @@ static int htpdate_adjtimex( double drif
- 
- 	/* Read current kernel frequency */
- 	tmx.modes = 0;
--	ntp_adjtime(&tmx);
-+	adjtimex(&tmx);
- 
- 	/* Calculate new frequency */
- 	freq = (long)(65536e6 * drift);
-@@ -377,7 +377,7 @@ static int htpdate_adjtimex( double drif
- 		printlog( 1, "seteuid()" );
- 		exit(1);
- 	} else {
--		return( ntp_adjtime(&tmx) );
-+		return( adjtimex(&tmx) );
- 	}
- 
- }
 

file:a/net/keepalived/Makefile (deleted)
--- a/net/keepalived/Makefile
+++ /dev/null
@@ -1,67 +1,1 @@
-#
-# Copyright (C) 2006-2011 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=keepalived
-PKG_VERSION:=1.1.19
-PKG_RELEASE:=2
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:= http://www.keepalived.org/software
-PKG_MD5SUM:=a35b8d9d462810f7650d292bd7457523
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-define Package/keepalived
-  SECTION:=net
-  CATEGORY:=Network
-  TITLE:=Failover and monitoring daemon for LVS clusters
-  URL:=http://www.keepalived.org/
-  DEPENDS:=+libpopt +libopenssl
-endef
-
-define Package/keepalived/description
- Failover and monitoring daemon for Linux Virtual Server (LVS) clusters.
-endef
-
-define Package/keepalived/conffiles
-/etc/keepalived/keepalived.conf
-endef
-
-acvar=$(subst -,_,$(subst .,_,$(subst /,_,$(1))))
-
-CONFIGURE_ARGS+= \
-	--enable-shared \
-	--disable-static \
-	--disable-debug \
-	--disable-strip \
-	--disable-lvs \
-	--disable-lvs-syncd \
-	--with-kernel-dir="$(LINUX_DIR)/$(LINUX_UAPI_DIR)"
-
-define Build/Compile
-	$(MAKE) -C $(PKG_BUILD_DIR) \
-		DESTDIR="$(PKG_INSTALL_DIR)" \
-		STRIP="/bin/true" \
-		all install
-endef
-
-define Package/keepalived/install
-	$(INSTALL_DIR) $(1)/usr/sbin
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/keepalived $(1)/usr/sbin/
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/genhash $(1)/usr/bin/
-	$(INSTALL_DIR) $(1)/etc/keepalived
-	$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/keepalived/keepalived.conf $(1)/etc/keepalived/
-	$(INSTALL_DIR) $(1)/etc/init.d
-	$(INSTALL_BIN) ./files/keepalived.init $(1)/etc/init.d/keepalived
-endef
-
-$(eval $(call BuildPackage,keepalived))
-

--- a/net/keepalived/files/keepalived.init
+++ /dev/null
@@ -1,15 +1,1 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2007-2011 OpenWrt.org
 
-START=70
-
-SERVICE_USE_PID=1
-
-start() {
-	service_start /usr/sbin/keepalived
-}
-
-stop() {
-	service_stop /usr/sbin/keepalived
-}
-

--- a/net/l7-protocols/Makefile
+++ /dev/null
@@ -1,79 +1,1 @@
-include $(TOPDIR)/rules.mk
 
-PKG_NAME:=l7-protocols
-PKG_VERSION:=2009-05-28
-PKG_RELEASE:=2
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=@SF/l7-filter
-PKG_MD5SUM:=91be154d12134dcdbc560cc7aa7fe4ce
-
-include $(INCLUDE_DIR)/uclibc++.mk
-include $(INCLUDE_DIR)/package.mk
-
-define Package/l7-protocols
-  SECTION:=net
-  CATEGORY:=Network
-  TITLE:=Protocols for layer7 filtering
-  URL:=http://l7-filter.sourceforge.net/
-  SUBMENU:=Firewall
-  DEPENDS:=iptables-mod-filter
-endef
-
-define Package/l7-protocols/description
-       l7-filter classifies packets based on patterns in application
-       layer data. This allows correct classification of P2P traffic that
-       uses unpredictable ports as well as standard protocols running on
-       non-standard ports.
-endef
-
-define Package/l7-protocols-testing
-	$(call Package/l7-protocols)
-	TITLE:=testing utilities for layer7
-	DEPENDS+=l7-protocols $(CXX_DEPENDS)
-endef
-
-define Package/l7-protocols-testing/description
-	testing utilities for layer 7 patterns
-endef
-
-define Build/Configure
-endef
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_l7-protocols-testing),)
-  define Build/Compile
-	cd $(PKG_BUILD_DIR)/testing && $(MAKE) $(CONFIGURE_VARS)
-  endef
-else
-  define Build/Compile
-  endef
-endif
-
-define Package/l7-protocols/install
-	$(INSTALL_DIR) $(1)/etc/l7-protocols
-	$(CP) $(PKG_BUILD_DIR)/example_traffic \
-		$(PKG_BUILD_DIR)/extra \
-		$(PKG_BUILD_DIR)/file_types \
-		$(PKG_BUILD_DIR)/groups.sh \
-		$(PKG_BUILD_DIR)/malware \
-		$(PKG_BUILD_DIR)/protocols \
-		$(1)/etc/l7-protocols
-endef
-
-define Package/l7-protocols-testing/install
-	$(INSTALL_DIR) $(1)/etc/l7-protocols/testing
-	$(CP) $(PKG_BUILD_DIR)/testing/data \
-		$(1)/etc/l7-protocols/testing
-	$(INSTALL_BIN) \
-		$(PKG_BUILD_DIR)/testing/rand{chars,printable} \
-		$(PKG_BUILD_DIR)/testing/test_speed-{kernel,userspace} \
-		$(PKG_BUILD_DIR)/testing/match_kernel \
-		$(PKG_BUILD_DIR)/testing/doallspeeds.sh \
-		$(PKG_BUILD_DIR)/testing/test_match.sh \
-		$(PKG_BUILD_DIR)/testing/timeit.sh \
-		$(1)/etc/l7-protocols/testing
-endef
-
-$(eval $(call BuildPackage,l7-protocols))
-$(eval $(call BuildPackage,l7-protocols-testing))
-

--- a/net/l7-protocols/patches/100-testing_crosscompile.patch
+++ /dev/null
@@ -1,28 +1,1 @@
---- a/testing/Makefile
-+++ b/testing/Makefile
-@@ -1,19 +1,19 @@
- all: randchars randprintable test_speed-kernel test_speed-userspace match_kernel
- 
- randchars: randchars.c
--	gcc -O2 -o randchars randchars.c
-+	$(CC) $(CFLAGS) -o randchars randchars.c
- 
- randprintable: randprintable.c
--	gcc -O2 -o randprintable randprintable.c
-+	$(CC) $(CFLAGS) -o randprintable randprintable.c
- 
- test_speed-kernel: test_speed-kernel.c
--	gcc -o test_speed-kernel test_speed-kernel.c
-+	$(CC) $(CFLAGS) -o test_speed-kernel test_speed-kernel.c
- 
- test_speed-userspace: test_speed-userspace.cpp l7-parse-patterns.cpp l7-parse-patterns.h
--	g++ -Wall -o test_speed-userspace test_speed-userspace.cpp l7-parse-patterns.cpp
-+	$(CXX) $(CXXFLAGS) -Wall -o test_speed-userspace test_speed-userspace.cpp l7-parse-patterns.cpp
- 
- match_kernel: match-kernel.c
--	gcc -O2 -o match_kernel match-kernel.c
-+	$(CC) $(CFLAGS) -o match_kernel match-kernel.c
- 
- clean:
- 	rm -f randprintable randchars test_speed-kernel test_speed-userspace match_kernel
 

--- a/net/l7-protocols/patches/101-testing-timeit.patch
+++ /dev/null
@@ -1,103 +1,1 @@
---- a/testing/timeit.sh
-+++ b/testing/timeit.sh
-@@ -1,11 +1,8 @@
- #!/bin/bash
- 
--# "man 1 time" for details
--export TIME="%U seconds"
--
- add()
- {
--	if ! dc -e ""; then
-+	if ! dc p >/dev/null 2>&1; then
- 	        echo you do not have dc, so I cannot add these numbers...
- 	        exit 1
- 	fi
-@@ -14,7 +11,7 @@ add()
- 	tot=0
- 
- 	while read n; do
--	        tot=`dc -e "$n $tot + pop" 2> /dev/null`
-+	        tot=`dc $n $tot + p 2> /dev/null`
- 	done
- 
- 	echo $tot seconds
-@@ -34,7 +31,7 @@ extract()
- 
- if [ ! $3 ] || [ $2 == "-h" ] || [ $2 == "--help" ]; then
- 	echo
--	echo Syntax: ./timeit.sh patternfile kernel\|userspace all\|print\|real [data_files]
-+	echo Syntax: .//usr/bin/timeit.sh patternfile kernel\|userspace all\|print\|real [data_files]
- 	echo
- 	echo \"kernel\" uses the kernel pattern and library
- 	echo \"userspace\" uses userspace pattern and library
-@@ -72,12 +69,12 @@ echo Timing $1
- if [ $3 == "all" ]; then
- 	echo Using all characters
- 	if [ $2 == "kernel" ]; then
--		if ! ./randchars | time $speedprog "`extract $1`" verbose; then
-+		if ! ./randchars | /usr/bin/time $speedprog "`extract $1`" verbose 2>&1 >/dev/null | grep user | cut -d\  -f2; then
- 			echo $speedprog failed. > /dev/stderr
- 			exit 1
- 		fi
- 	else
--		if ! ./randchars | time $speedprog -f "$1" -v; then
-+		if ! ./randchars | /usr/bin/time $speedprog -f "$1" -v 2>&1 >/dev/null | grep user | cut -d\  -f2; then
- 			echo $speedprog failed. > /dev/stderr
- 			exit 1
- 		fi
-@@ -85,12 +82,12 @@ if [ $3 == "all" ]; then
- elif [ $3 == "print" ]; then
- 	echo Using only printable characters
- 	if [ $2 == "kernel" ]; then
--		if ! ./randprintable | time $speedprog "`extract $1`" verbose; then
-+		if ! ./randprintable | /usr/bin/time $speedprog "`extract $1`" verbose 2>&1 >/dev/null | grep user | cut -d\  -f2; then
- 			echo $speedprog failed. > /dev/stderr
- 			exit 1
- 		fi
- 	else
--		if ! ./randprintable | time $speedprog -f "$1" -v; then
-+		if ! ./randprintable | /usr/bin/time $speedprog -f "$1" -v 2>&1 >/dev/null | grep user | cut -d\  -f2; then
- 			echo $speedprog failed. > /dev/stderr
- 			exit 1
- 		fi
-@@ -107,12 +104,12 @@ elif [ $3 == "real" ]; then
- 				printf $f\\t
- 				#echo `extract $1`
- 				if [ $2 == "kernel" ]; then
--					if ! cat $f | time $speedprog "`extract $1`" 2> /dev/stdout | tee -a tmp.$$; then
-+					if ! cat $f | /usr/bin/time $speedprog "`extract $1`" 2>&1 >/dev/null | grep user | cut -d\  -f2 | tee -a tmp.$$; then
- 						echo $speedprog failed. > /dev/stderr
- 						exit 1
- 					fi
- 				else
--					if ! cat $f | time $speedprog -f "$1" 2> /dev/stdout | tee -a tmp.$$; then
-+					if ! cat $f | /usr/bin/time $speedprog -f "$1" 2>&1 >/dev/null | grep user | cut -d\  -f2 | tee -a tmp.$$; then
- 						echo $speedprog failed. > /dev/stderr
- 						exit 1
- 					fi
-@@ -123,12 +120,12 @@ elif [ $3 == "real" ]; then
- 		for f in data/*; do
- 			printf $f\\t
- 			if [ $2 == "kernel" ]; then
--				if ! cat $f | time $speedprog "`extract $1`" 2> /dev/stdout | tee -a tmp.$$; then
-+				if ! cat $f | /usr/bin/time $speedprog "`extract $1`" 2>&1 >/dev/null | grep user | cut -d\  -f2 | tee -a tmp.$$; then
- 					echo $speedprog failed. > /dev/stderr
- 					exit 1
- 				fi
- 			else
--				if ! cat $f | time $speedprog -f "$1" 2> /dev/stdout | tee -a tmp.$$; then
-+				if ! cat $f | /usr/bin/time $speedprog -f "$1" 2>&1 >/dev/null | grep user | cut -d\  -f2 | tee -a tmp.$$; then
- 					echo $speedprog failed. > /dev/stderr
- 					exit 1
- 				fi
-@@ -137,7 +134,7 @@ elif [ $3 == "real" ]; then
- 	fi
- 
- 	printf Total:\ 
--	cat tmp.$$ | cut -d\  -f 2 | add
-+	cat tmp.$$ | cut -ds -f 1| add
- 
- 	rm tmp.$$
- else
 

--- a/net/l7-protocols/patches/102-testing-doallspeeds.patch
+++ /dev/null
@@ -1,17 +1,1 @@
---- a/testing/doallspeeds.sh
-+++ b/testing/doallspeeds.sh
-@@ -25,11 +25,11 @@ for f in ../*/*.pat; do 
- 	printf `basename $f .pat`
- 
- 	if [ $userspace ]; then 
--		gtime=`./timeit.sh $f userspace   real | grep Total | cut -d\  -f 2`
-+		gtime=`./timeit.sh $f userspace   real | grep Total | cut -d\  -f 2 | awk '{print $1}'`
- 		printf \\t$gtime
- 	fi
- 	if [ $kernel ]; then 
--		htime=`./timeit.sh $f kernel real | grep Total | cut -d\  -f 2`
-+		htime=`./timeit.sh $f kernel real | grep Total | cut -d\  -f 2 | awk '{print $1}'`
- 		printf \\t$htime
- 	fi
- 	printf \\n
 

file:a/net/linuxigd/Makefile (deleted)
--- a/net/linuxigd/Makefile
+++ /dev/null
@@ -1,70 +1,1 @@
-#
-# Copyright (C) 2006-2012 OpenWrt.org
-# Copyright (C) 2006 loswillios
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=linuxigd
-PKG_VERSION:=1.0
-PKG_RELEASE:=3
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=@SF/linux-igd
-PKG_MD5SUM:=929f5c4878c91d534613b7c7070215d9
-
-PKG_BUILD_DEPENDS:=iptables libupnp
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/linuxigd
-  SECTION:=net
-  CATEGORY:=Network
-  TITLE:=UPnP daemon
-  SUBMENU:=Firewall
-  DEPENDS:=+libip4tc +libupnp +libpthread @BROKEN
-  URL:=http://linux-igd.sourceforge.net/
-endef
-
-define Package/linuxigd/description
-	It implements the UPnP Internet Gateway Device specification (IGD)
-	and allows UPnP aware clients, such as MSN Messenger, Azureus or
-	Miranda to work properly from behind a NAT firewall.
-
-	Please edit /etc/upnpd.conf before using upnpd!
-endef
-
-define Build/Compile
-	$(MAKE) -C $(PKG_BUILD_DIR)  \
-		$(TARGET_CONFIGURE_OPTS) \
-		CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include -DIPTABLES_143 -Wl,-rpath-link=$(STAGING_DIR)/usr/lib" \
-		BINDIR="/usr/sbin" \
-		MANDIR="/usr/man" \
-		HAVE_LIBIPTC=1 \
-		LIBIPTC_PREFIX="$(STAGING_DIR)/usr" \
-		LIBUPNP_PREFIX="$(STAGING_DIR)/usr" \
-		LIBS="-lpthread -lupnp -lixml -lthreadutil -lip4tc -L../lib" \
-		all
-endef
-
-define Package/linuxigd/conffiles
-/etc/upnpd.conf
-endef
-
-define Package/linuxigd/install
-	$(INSTALL_DIR) $(1)/usr/sbin
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/upnpd $(1)/usr/sbin/
-	$(INSTALL_DIR) $(1)/etc/linuxigd
-	$(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/*.gif $(1)/etc/linuxigd/
-	$(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/*.xml $(1)/etc/linuxigd/
-	$(INSTALL_DIR) $(1)/etc
-	$(INSTALL_DATA) ./files/upnpd.conf $(1)/etc/
-	$(INSTALL_DIR) $(1)/etc/init.d
-	$(INSTALL_BIN) ./files/upnpd.init $(1)/etc/init.d/upnpd
-endef
-
-$(eval $(call BuildPackage,linuxigd))
-

--- a/net/linuxigd/files/upnpd.conf
+++ /dev/null
@@ -1,72 +1,1 @@
-#
-# The full path and name of the iptables executable,
-# (enclosed in quotes).
-#
-iptables_location = "/usr/sbin/iptables"
 
-#
-# Daemon debug level. Messages are logged via syslog to debug.
-# 0 - no debug messages
-# 1 - log errors
-# 2 - log errors and basic info
-# 3 - log errors and verbose info
-# default = 0
-debug_mode = 2
-
-#
-# Should the daemon insert rules in the forward chain
-# This is necessary if your firewall has a drop or reject
-# policy in your forward chain.
-# allowed values: yes,no
-# default = no
-insert_forward_rules = yes
-
-#
-# The name of the chain to put the forward rules in.
-# This directive is only activ if "insert_forward_rules = yes"
-# above.
-# allowed values: a-z, A-Z, _, -
-# default = FORWARD
-forward_chain_name = forwarding_wan
-
-#
-# The name of the chain to put prerouting rules in.
-# allowed values: a-z, A-Z, _, -
-# default = PREROUTING
-prerouting_chain_name = prerouting_wan 
-
-#
-# The internet line upstream bit rate reported from
-# the daemon. Value in bits per second
-# default = 0
-upstream_bitrate = 512000
-
-#
-# The internet line downstream bit rate reported from
-# the daemon. Value in bits per second
-# default = 0
-downstream_bitrate = 512000
-
-#
-# The default duration of port mappings, used when the client
-# doesn't specify a duration.
-# Can have the following values:
-# 0 - no default duration specified
-# seconds | HH:MM - duration from the time of addition
-# @seconds | @HH:MM - expire mapping at the specified time of day
-# default = 0
-duration = 0
-
-# The name of the igd device xml description document
-# default = gatedesc.xml
-description_document_name = gatedesc.xml
-
-# The path to the xml documents
-# Do not include the trailing "/"
-# default = /etc/linuxigd
-# WARNING! The make install does put the xml files
-# in /etc/linuxigd, if you change this variable
-# you have to make sure the xml docs are in the
-# right place
-xml_document_path = /etc/linuxigd
-

--- a/net/linuxigd/files/upnpd.init
+++ /dev/null
@@ -1,25 +1,1 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2006-2012 OpenWrt.org
-# Copyright (C) 2006 loswillios
 
-START=65
-
-start() {
-	. /lib/functions/network.sh
-
-	network_get_device wan_if 'wan' || return 1
-	network_get_device lan_if 'lan' || return 1
-
-	route add -net 239.0.0.0 netmask 255.0.0.0 $lan_if
-	service_start /usr/sbin/upnpd $wan_if $lan_if
-}
-
-stop() {
-	. /lib/functions/network.sh
-
-	service_stop /usr/sbin/upnpd
-
-	network_get_device lan_if 'lan' && \
-		route del -net 239.0.0.0 netmask 255.0.0.0 $lan_if
-}
-

--- a/net/linuxigd/patches/001-iptables_defs.patch
+++ /dev/null
@@ -1,74 +1,1 @@
-diff -urN linuxigd-1.0/iptc.c linuxigd-1.0.new/iptc.c
---- linuxigd-1.0/iptc.c	2006-09-11 17:55:48.000000000 +0200
-+++ linuxigd-1.0.new/iptc.c	2007-06-02 12:24:34.000000000 +0200
-@@ -22,9 +22,9 @@
- struct ipt_entry_match *get_udp_match(const char *sports, const char *dports, unsigned int *nfcache);
- struct ipt_entry_target *get_dnat_target(const char *input, unsigned int *nfcache);
- 
--static u_int16_t parse_port(const char *port);
--static void parse_ports(const char *portstring, u_int16_t *ports);
--static int service_to_port(const char *name);
-+static u_int16_t igd_parse_port(const char *port);
-+void parse_ports(const char *portstring, u_int16_t *ports);
-+static int igd_service_to_port(const char *name);
- 
- static void parse_range(const char *input, struct ip_nat_range *range);
- static struct ipt_natinfo *append_range(struct ipt_natinfo *info, const struct ip_nat_range *range);
-@@ -336,13 +336,12 @@
- }
- 
- /* Copied and modified from libipt_tcp.c and libipt_udp.c */
--
- static u_int16_t
--parse_port(const char *port)
-+igd_parse_port(const char *port)
- {
- 	unsigned int portnum;
- 
--	if ((portnum = service_to_port(port)) != -1) {
-+	if ((portnum = igd_service_to_port(port)) != -1) {
- 		return (u_int16_t)portnum;
- 	}
- 	else {
-@@ -350,7 +349,7 @@
- 	}
- }
- 
--static void
-+void
- parse_ports(const char *portstring, u_int16_t *ports)
- {
- 	char *buffer;
-@@ -358,19 +357,18 @@
- 
- 	buffer = strdup(portstring);
- 	if ((cp = strchr(buffer, ':')) == NULL)
--		ports[0] = ports[1] = parse_port(buffer);
-+		ports[0] = ports[1] = igd_parse_port(buffer);
- 	else {
- 		*cp = '\0';
- 		cp++;
- 
--		ports[0] = buffer[0] ? parse_port(buffer) : 0;
--		ports[1] = cp[0] ? parse_port(cp) : 0xFFFF;
-+		ports[0] = buffer[0] ? igd_parse_port(buffer) : 0;
-+		ports[1] = cp[0] ? igd_parse_port(cp) : 0xFFFF;
- 	}
- 	free(buffer);
- }
--
- static int
--service_to_port(const char *name)
-+igd_service_to_port(const char *name)
- {
- 	struct servent *service;
- 
-@@ -382,7 +380,6 @@
- 
- 
- 
--
- /* Copied and modified from libipt_DNAT.c */
- 
- static void
 

--- a/net/linuxigd/patches/002-netfilter_nat_headers.patch
+++ /dev/null
@@ -1,17 +1,1 @@
-diff -urN linuxigd-1.0/iptc.c linuxigd-1.0.new/iptc.c
---- linuxigd-1.0/iptc.c	2006-09-11 17:55:48.000000000 +0200
-+++ linuxigd-1.0.new/iptc.c	2007-07-13 14:50:23.000000000 +0200
-@@ -6,7 +6,12 @@
- #include <string.h>
- #include <iptables.h>
- #include <libiptc/libiptc.h>
-+#include <linux/version.h>
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
-+#include <linux/netfilter/nf_nat.h>
-+#else
- #include <linux/netfilter_ipv4/ip_nat.h>
-+#endif
- #include <arpa/inet.h> /* inet_addr */
- #include "globals.h"
- #include "util.h"
 

--- a/net/linuxigd/patches/003-Makefile-fix.patch
+++ /dev/null
@@ -1,14 +1,1 @@
-Index: linuxigd-1.0/Makefile
-===================================================================
---- linuxigd-1.0.orig/Makefile	2008-02-27 10:45:26.000000000 +0100
-+++ linuxigd-1.0/Makefile	2008-02-27 10:45:54.000000000 +0100
-@@ -27,7 +27,7 @@
- 	@echo "make $@ finished on `date`"
- 
- %.o:	%.c
--	$(CC) $(CFLAGS) $(INCLUDES) -c $<
-+	$(CC) $(CFLAGS) $(INCLUDES) -D_GNU_SOURCE -c $<
- 
- clean:
- 	rm -f *.o upnpd
 

--- a/net/linuxigd/patches/004-iptables-1.4.3.2-compat.patch
+++ /dev/null
@@ -1,102 +1,1 @@
-diff -ur linuxigd-1.0.orig/iptc.c linuxigd-1.0/iptc.c
---- linuxigd-1.0.orig/iptc.c	2009-05-05 14:01:59.000000000 +0200
-+++ linuxigd-1.0/iptc.c	2009-05-05 14:05:48.000000000 +0200
-@@ -7,16 +7,24 @@
- #include <iptables.h>
- #include <libiptc/libiptc.h>
- #include <linux/version.h>
--#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
--#include <linux/netfilter/nf_nat.h>
-+#ifdef IPTABLES_143
-+#  include <net/netfilter/nf_nat.h>
-+#  define ip_nat_multi_range nf_nat_multi_range_compat
-+#  define ip_nat_range nf_nat_range
- #else
--#include <linux/netfilter_ipv4/ip_nat.h>
-+#  if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,22)
-+#    include <linux/netfilter/nf_nat.h>
-+#  else
-+#    include <linux/netfilter_ipv4/ip_nat.h>
-+#  endif
- #endif
- #include <arpa/inet.h> /* inet_addr */
- #include "globals.h"
- #include "util.h"
- #include "iptc.h"
- 
-+#define IPTC_HANDLE struct iptc_handle *
-+
- struct ipt_natinfo
- {
- 	struct ipt_entry_target t;
-@@ -49,7 +57,7 @@
-                    const char *dnat_to,
-                    const int append)
- {
--	iptc_handle_t handle;
-+	IPTC_HANDLE handle;
- 	struct ipt_entry *chain_entry;
- 	struct ipt_entry_match *entry_match = NULL;
- 	struct ipt_entry_target *entry_target = NULL;
-@@ -126,15 +134,15 @@
- 		return;
- 	}
- 	if (append)
--		result = iptc_append_entry(labelit, chain_entry, &handle);
-+		result = iptc_append_entry(labelit, chain_entry, handle);
- 	else
--		result = iptc_insert_entry(labelit, chain_entry, 0, &handle);
-+		result = iptc_insert_entry(labelit, chain_entry, 0, handle);
- 
- 	if (!result) {
- 		trace(1, "libiptc error: Can't add, %s", iptc_strerror(errno));
- 		return;
- 	}
--	result = iptc_commit(&handle);
-+	result = iptc_commit(handle);
- 	if (!result) {
- 	  trace(1, "libiptc error: Commit error, %s", iptc_strerror(errno));
- 		return;
-@@ -159,7 +167,7 @@
-                       const char *target,
-                       const char *dnat_to)
- {
--	iptc_handle_t handle;
-+	IPTC_HANDLE handle;
- 	const struct ipt_entry *e;
- 	ipt_chainlabel labelit;
- 	int i, result;
-@@ -182,7 +190,7 @@
- 	}
- 	
- 	/* check through rules to find match */
--	for (e = iptc_first_rule(chain, &handle), i=0; e; e = iptc_next_rule(e, &handle), i++)  {
-+	for (e = iptc_first_rule(chain, handle), i=0; e; e = iptc_next_rule(e, handle), i++)  {
- 		if (s_src != INADDR_NONE && e->ip.src.s_addr != s_src) continue;
- 		if (s_dest != INADDR_NONE && e->ip.dst.s_addr != s_dest) continue;
- 		if (iniface && strcmp(e->ip.iniface, iniface) != 0) continue;
-@@ -190,7 +198,7 @@
- 		if (protocol && strcmp(protocol, "TCP") == 0 && e->ip.proto != IPPROTO_TCP) continue;
- 		if (protocol && strcmp(protocol, "UDP") == 0 && e->ip.proto != IPPROTO_UDP) continue;
- 		if ((srcports || destports) && IPT_MATCH_ITERATE(e, matchcmp, srcports, destports) == 0) continue;
--		if (target && strcmp(target, iptc_get_target(e, &handle)) != 0) continue;
-+		if (target && strcmp(target, iptc_get_target(e, handle)) != 0) continue;
- 		if (dnat_to && strcmp(target, "DNAT") == 0) {
- 			struct ipt_entry_target *t;
- 			struct ip_nat_multi_range *mr;
-@@ -214,12 +222,12 @@
- 		break;
- 	}
- 	if (!e) return;
--	result = iptc_delete_num_entry(chain, i, &handle);
-+	result = iptc_delete_num_entry(chain, i, handle);
- 	if (!result) {
- 	  trace(1, "libiptc error: Delete error, %s", iptc_strerror(errno));
- 		return;
- 	}
--	result = iptc_commit(&handle);
-+	result = iptc_commit(handle);
- 	if (!result) {
- 	  trace(1, "libiptc error: Commit error, %s", iptc_strerror(errno));
- 		return;
 

--- a/net/linuxigd/patches/005-includes.patch
+++ /dev/null
@@ -1,31 +1,1 @@
---- a/gatedevice.c
-+++ b/gatedevice.c
-@@ -1,5 +1,6 @@
- #include <syslog.h>
- #include <stdlib.h>
-+#include <stdio.h>
- #include <upnp/ixml.h>
- #include <string.h>
- #include <time.h>
---- a/main.c
-+++ b/main.c
-@@ -10,6 +10,7 @@
- #include <time.h>
- #include <net/if.h>
- #include <upnp/upnp.h>
-+#include <string.h>
- #include "globals.h"
- #include "config.h"
- #include "gatedevice.h"
---- a/pmlist.c
-+++ b/pmlist.c
-@@ -2,6 +2,8 @@
- #include <sys/wait.h>
- #include <unistd.h>
- #include <upnp/upnp.h>
-+#include <stdio.h>
-+#include <string.h>
- #include "globals.h"
- #include "config.h"
- #include "pmlist.h"
 

--- a/net/madwifi/Makefile
+++ b/net/madwifi/Makefile
@@ -162,7 +162,7 @@
   SUBMENU:=Wireless Drivers
   TITLE:=Driver for Atheros wireless chipsets
   URL:=http://madwifi-project.org/
-  DEPENDS:=+wireless-tools @PCI_SUPPORT @(!(TARGET_avr32||TARGET_brcm63xx||TARGET_cobalt||TARGET_ep93xx||TARGET_etrax||TARGET_octeon||TARGET_pxcab||TARGET_sibyte)||BROKEN) +@DRIVER_WEXT_SUPPORT +hostapd-common-old
+  DEPENDS:=+wireless-tools @PCI_SUPPORT @(!(TARGET_avr32||TARGET_brcm63xx||TARGET_cobalt||TARGET_ep93xx||TARGET_etrax||TARGET_octeon||TARGET_pxcab||TARGET_sibyte)||BROKEN) +@DRIVER_WEXT_SUPPORT +hostapd-common-old @BROKEN
   FILES:=$(MADWIFI_FILES)
   AUTOLOAD:=$(call AutoLoad,50,$(MADWIFI_AUTOLOAD))
   MENU:=1

file:a/net/mtr/Makefile (deleted)
--- a/net/mtr/Makefile
+++ /dev/null
@@ -1,68 +1,1 @@
-#
-# Copyright (C) 2006-2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=mtr
-PKG_VERSION:=0.82
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=ftp://ftp.bitwizard.nl/mtr
-PKG_MD5SUM:=10601ea543fda3e51545c4bce195b64c
-
-PKG_INSTALL:=1
-
-PKG_FIXUP:=autoreconf
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/mtr
-  SECTION:=net
-  CATEGORY:=Network
-  DEPENDS:=+libncurses
-  TITLE:=Full screen ncurses traceroute tool
-  URL:=http://www.bitwizard.nl/mtr/
-endef
-
-define Package/mtr/description
-	mtr combines the functionality of the 'traceroute' and 'ping' programs
-	in a single network diagnostic tool.
-	As mtr starts, it investigates the network connection between the host
-	mtr runs on and a user-specified destination host. After it
-	determines the address of each network hop between the machines,
-	it sends a sequence ICMP ECHO requests to each one to determine the
-	quality of the link to each machine. As it does this, it prints
-	running statistics about each machine.
-endef
-
-CONFIGURE_ARGS += \
-	--without-gtk \
-
-#CONFIGURE_VARS += \
-#	ac_cv_lib_resolv_res_mkquery=no \
-
-define Build/Configure
-	(cd $(PKG_BUILD_DIR); touch \
-		configure.in \
-		aclocal.m4 \
-		Makefile.in \
-		img/Makefile.in \
-		stamp-h.in \
-		config.h.in \
-		configure \
-	);
-	$(call Build/Configure/Default)
-endef
-
-define Package/mtr/install
-	$(INSTALL_DIR) $(1)/usr/sbin
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/mtr $(1)/usr/sbin/
-endef
-
-$(eval $(call BuildPackage,mtr))
-

--- a/net/mtr/patches/501-dns.patch
+++ /dev/null
@@ -1,511 +1,1 @@
---- a/dns.c
-+++ b/dns.c
-@@ -880,6 +880,507 @@ void restell(char *s)
-   fputs("\r",stderr);
- }
- 
-+#ifdef __UCLIBC__
-+
-+static const char       digits[] = "0123456789";
-+#define __set_errno(e) (errno = (e))
-+
-+#define NS_PUT16(s, cp) do { \
-+        register u_int16_t t_s = (u_int16_t)(s); \
-+        register u_char *t_cp = (u_char *)(cp); \
-+        *t_cp++ = t_s >> 8; \
-+        *t_cp   = t_s; \
-+        (cp) += NS_INT16SZ; \
-+} while (0)
-+
-+
-+
-+#define NS_PUT32(l, cp) do { \
-+        register u_int32_t t_l = (u_int32_t)(l); \
-+        register u_char *t_cp = (u_char *)(cp); \
-+        *t_cp++ = t_l >> 24; \
-+        *t_cp++ = t_l >> 16; \
-+        *t_cp++ = t_l >> 8; \
-+        *t_cp   = t_l; \
-+        (cp) += NS_INT32SZ; \
-+} while (0)
-+
-+
-+void
-+ns_put16(u_int src, u_char *dst) {
-+        NS_PUT16(src, dst);
-+}
-+
-+void
-+ns_put32(u_long src, u_char *dst) {
-+        NS_PUT32(src, dst);
-+}
-+
-+void __putshort(u_int16_t src, u_char *dst) { ns_put16(src, dst); }
-+void __putlong(u_int32_t src, u_char *dst) { ns_put32(src, dst); }
-+
-+int
-+mklower(int ch) {
-+        if (ch >= 0x41 && ch <= 0x5A)
-+                return (ch + 0x20);
-+        return (ch);
-+}
-+
-+
-+static int
-+dn_find(const u_char *domain, const u_char *msg,
-+        const u_char * const *dnptrs,
-+        const u_char * const *lastdnptr)
-+{
-+        const u_char *dn, *cp, *sp;
-+        const u_char * const *cpp;
-+        u_int n;
-+
-+        for (cpp = dnptrs; cpp < lastdnptr; cpp++) {
-+                sp = *cpp;
-+                /*
-+                 * terminate search on:
-+                 * root label
-+                 * compression pointer
-+                 * unusable offset
-+                 */
-+                while (*sp != 0 && (*sp & NS_CMPRSFLGS) == 0 &&
-+                       (sp - msg) < 0x4000) {
-+                        dn = domain;
-+                        cp = sp;
-+                        while ((n = *cp++) != 0) {
-+                                /*
-+                                 * check for indirection
-+                                 */
-+                                switch (n & NS_CMPRSFLGS) {
-+                                case 0:         /* normal case, n == len */
-+                                        if (n != *dn++)
-+                                                goto next;
-+                                        for ((void)NULL; n > 0; n--)
-+                                                if (mklower(*dn++) !=
-+                                                    mklower(*cp++))
-+                                                        goto next;
-+                                        /* Is next root for both ? */
-+                                        if (*dn == '\0' && *cp == '\0')
-+                                                return (sp - msg);
-+                                        if (*dn)
-+                                                continue;
-+                                        goto next;
-+
-+                                case NS_CMPRSFLGS:      /* indirection */
-+                                        cp = msg + (((n & 0x3f) << 8) | *cp);
-+                                        break;
-+
-+                                default:        /* illegal type */
-+                                        __set_errno (EMSGSIZE);
-+                                        return (-1);
-+                                }
-+                        }
-+ next:
-+                        sp += *sp + 1;
-+                }
-+        }
-+        __set_errno (ENOENT);
-+        return (-1);
-+}
-+
-+
-+int
-+ns_name_pack(const u_char *src, u_char *dst, int dstsiz,
-+             const u_char **dnptrs, const u_char **lastdnptr)
-+{
-+        u_char *dstp;
-+        const u_char **cpp, **lpp, *eob, *msg;
-+        const u_char *srcp;
-+        int n, l, first = 1;
-+
-+        srcp = src;
-+        dstp = dst;
-+        eob = dstp + dstsiz;
-+        lpp = cpp = NULL;
-+        if (dnptrs != NULL) {
-+                if ((msg = *dnptrs++) != NULL) {
-+                        for (cpp = dnptrs; *cpp != NULL; cpp++)
-+                                (void)NULL;
-+                        lpp = cpp;      /* end of list to search */
-+                }
-+        } else
-+                msg = NULL;
-+
-+        /* make sure the domain we are about to add is legal */
-+        l = 0;
-+        do {
-+                n = *srcp;
-+                if ((n & NS_CMPRSFLGS) != 0 && n != 0x41) {
-+                        __set_errno (EMSGSIZE);
-+                        return (-1);
-+                }
-+                if (n == 0x41)
-+                        n = *++srcp / 8;
-+                l += n + 1;
-+                if (l > MAXCDNAME) {
-+                        __set_errno (EMSGSIZE);
-+                        return (-1);
-+                }
-+                srcp += n + 1;
-+        } while (n != 0);
-+
-+        /* from here on we need to reset compression pointer array on error */
-+        srcp = src;
-+        do {
-+                /* Look to see if we can use pointers. */
-+                n = *srcp;
-+                if (n != 0 && n != 0x41 && msg != NULL) {
-+                        l = dn_find(srcp, msg, (const u_char * const *)dnptrs,
-+                                    (const u_char * const *)lpp);
-+                        if (l >= 0) {
-+                                if (dstp + 1 >= eob) {
-+                                        goto cleanup;
-+                                }
-+                                *dstp++ = (l >> 8) | NS_CMPRSFLGS;
-+                                *dstp++ = l % 256;
-+                                return (dstp - dst);
-+                        }
-+                        /* Not found, save it. */
-+                        if (lastdnptr != NULL && cpp < lastdnptr - 1 &&
-+                            (dstp - msg) < 0x4000 && first) {
-+                                *cpp++ = dstp;
-+                                *cpp = NULL;
-+                                first = 0;
-+                        }
-+                }
-+                /* copy label to buffer */
-+                if ((n & NS_CMPRSFLGS) != 0 && n != 0x41) {             /* Should not happen. */
-+                        goto cleanup;
-+                }
-+                if (n == 0x41) {
-+                        n = *++srcp / 8;
-+                        if (dstp + 1 >= eob)
-+                                goto cleanup;
-+                        *dstp++ = 0x41;
-+                }
-+                if (dstp + 1 + n >= eob) {
-+                        goto cleanup;
-+                }
-+                memcpy(dstp, srcp, n + 1);
-+                srcp += n + 1;
-+                dstp += n + 1;
-+        } while (n != 0);
-+
-+        if (dstp > eob) {
-+cleanup:
-+                if (msg != NULL)
-+                        *lpp = NULL;
-+                __set_errno (EMSGSIZE);
-+                return (-1);
-+        }
-+        return (dstp - dst);
-+}
-+
-+
-+int
-+ns_name_pton(const char *src, u_char *dst, size_t dstsiz) {
-+        u_char *label, *bp, *eom;
-+        int c, n, escaped;
-+        char *cp;
-+
-+        escaped = 0;
-+        bp = dst;
-+        eom = dst + dstsiz;
-+        label = bp++;
-+
-+        while ((c = *src++) != 0) {
-+                if (escaped) {
-+                        if ((cp = strchr(digits, c)) != NULL) {
-+                                n = (cp - digits) * 100;
-+                                if ((c = *src++) == 0 ||
-+                                    (cp = strchr(digits, c)) == NULL) {
-+                                        __set_errno (EMSGSIZE);
-+                                        return (-1);
-+                                }
-+                                n += (cp - digits) * 10;
-+                                if ((c = *src++) == 0 ||
-+                                    (cp = strchr(digits, c)) == NULL) {
-+                                        __set_errno (EMSGSIZE);
-+                                        return (-1);
-+                                }
-+                                n += (cp - digits);
-+                                if (n > 255) {
-+                                        __set_errno (EMSGSIZE);
-+                                        return (-1);
-+                                }
-+                                c = n;
-+                        } else if (c == '[' && label == bp - 1 && *src == 'x') {
-+                                /* Theoretically we would have to handle \[o
-+                                   as well but we do not since we do not need
-+                                   it internally.  */
-+                                *label = 0x41;
-+                                label = bp++;
-+                                ++src;
-+                                while (isxdigit (*src)) {
-+                                        n = *src > '9' ? *src - 'a' + 10 : *src - '0';
-+                                        ++src;
-+                                        if (! isxdigit(*src)) {
-+                                                __set_errno (EMSGSIZE);
-+                                                return (-1);
-+                                        }
-+                                        n <<= 4;
-+                                        n += *src > '9' ? *src - 'a' + 10 : *src - '0';
-+                                        if (bp + 1 >= eom) {
-+                                                __set_errno (EMSGSIZE);
-+                                                return (-1);
-+                                        }
-+                                        *bp++ = n;
-+                                        ++src;
-+                                }
-+                                *label = (bp - label - 1) * 8;
-+                                if (*src++ != ']' || *src++ != '.') {
-+                                        __set_errno (EMSGSIZE);
-+                                        return (-1);
-+                                }
-+                                escaped = 0;
-+                                label = bp++;
-+                                if (bp >= eom) {
-+                                        __set_errno (EMSGSIZE);
-+                                        return (-1);
-+                                }
-+                                continue;
-+                        }
-+                        escaped = 0;
-+                } else if (c == '\\') {
-+                        escaped = 1;
-+                        continue;
-+                } else if (c == '.') {
-+                        c = (bp - label - 1);
-+                        if ((c & NS_CMPRSFLGS) != 0) {  /* Label too big. */
-+                                __set_errno (EMSGSIZE);
-+                                return (-1);
-+                        }
-+                        if (label >= eom) {
-+                                __set_errno (EMSGSIZE);
-+                                return (-1);
-+                        }
-+                        *label = c;
-+                        /* Fully qualified ? */
-+                        if (*src == '\0') {
-+                                if (c != 0) {
-+                                        if (bp >= eom) {
-+                                                __set_errno (EMSGSIZE);
-+                                                return (-1);
-+                                        }
-+                                        *bp++ = '\0';
-+                                }
-+                                if ((bp - dst) > MAXCDNAME) {
-+                                        __set_errno (EMSGSIZE);
-+                                        return (-1);
-+                                }
-+                                return (1);
-+                        }
-+                        if (c == 0 || *src == '.') {
-+                                __set_errno (EMSGSIZE);
-+                                return (-1);
-+                        }
-+                        label = bp++;
-+                        continue;
-+                }
-+                if (bp >= eom) {
-+                        __set_errno (EMSGSIZE);
-+                        return (-1);
-+                }
-+                *bp++ = (u_char)c;
-+        }
-+        c = (bp - label - 1);
-+        if ((c & NS_CMPRSFLGS) != 0) {          /* Label too big. */
-+                __set_errno (EMSGSIZE);
-+                return (-1);
-+        }
-+        if (label >= eom) {
-+                __set_errno (EMSGSIZE);
-+                return (-1);
-+        }
-+        *label = c;
-+        if (c != 0) {
-+                if (bp >= eom) {
-+                        __set_errno (EMSGSIZE);
-+                        return (-1);
-+                }
-+                *bp++ = 0;
-+        }
-+        if ((bp - dst) > MAXCDNAME) {   /* src too big */
-+                __set_errno (EMSGSIZE);
-+                return (-1);
-+        }
-+        return (0);
-+}
-+
-+
-+
-+int
-+ns_name_compress(const char *src, u_char *dst, size_t dstsiz,
-+                 const u_char **dnptrs, const u_char **lastdnptr)
-+{
-+        u_char tmp[NS_MAXCDNAME];
-+
-+        if (ns_name_pton(src, tmp, sizeof tmp) == -1)
-+                return (-1);
-+        return (ns_name_pack(tmp, dst, dstsiz, dnptrs, lastdnptr));
-+}
-+
-+
-+int
-+dn_comp(const char *src, u_char *dst, int dstsiz,
-+        u_char **dnptrs, u_char **lastdnptr)
-+{
-+        return (ns_name_compress(src, dst, (size_t)dstsiz,
-+                                 (const u_char **)dnptrs,
-+                                 (const u_char **)lastdnptr));
-+}
-+
-+
-+
-+
-+int
-+res_nmkquery(res_state statp,
-+             int op,                    /* opcode of query */
-+             const char *dname,         /* domain name */
-+             int class, int type,       /* class and type of query */
-+             const u_char *data,        /* resource record data */
-+             int datalen,               /* length of data */
-+             const u_char *newrr_in,    /* new rr for modify or append */
-+             u_char *buf,               /* buffer to put query */
-+             int buflen)                /* size of buffer */
-+{
-+        register HEADER *hp;
-+        register u_char *cp;
-+        register int n;
-+        u_char *dnptrs[20], **dpp, **lastdnptr;
-+
-+#ifdef DEBUG
-+        if (statp->options & RES_DEBUG)
-+                printf(";; res_nmkquery(%s, %s, %s, %s)\n",
-+                       _res_opcodes[op], dname, p_class(class), p_type(type));
-+#endif
-+        /*
-+         * Initialize header fields.
-+         */
-+        if ((buf == NULL) || (buflen < HFIXEDSZ))
-+                return (-1);
-+        memset(buf, 0, HFIXEDSZ);
-+        hp = (HEADER *) buf;
-+        /* We randomize the IDs every time.  The old code just
-+           incremented by one after the initial randomization which
-+           still predictable if the application does multiple
-+           requests.  */
-+#if 0
-+        hp->id = htons(++statp->id);
-+#else
-+        hp->id = htons(statp->id);
-+        int randombits;
-+        do
-+          {
-+#ifdef RANDOM_BITS
-+            RANDOM_BITS (randombits);
-+#else
-+            struct timeval tv;
-+            gettimeofday (&tv, NULL);
-+            randombits = (tv.tv_sec << 8) ^ tv.tv_usec;
-+#endif
-+          }
-+        while ((randombits & 0xffff) == 0);
-+        statp->id = (statp->id + randombits) & 0xffff;
-+#endif
-+        hp->opcode = op;
-+        hp->rd = (statp->options & RES_RECURSE) != 0;
-+        hp->rcode = NOERROR;
-+        cp = buf + HFIXEDSZ;
-+        buflen -= HFIXEDSZ;
-+        dpp = dnptrs;
-+        *dpp++ = buf;
-+        *dpp++ = NULL;
-+        lastdnptr = dnptrs + sizeof dnptrs / sizeof dnptrs[0];
-+        /*
-+         * perform opcode specific processing
-+         */
-+        switch (op) {
-+        case QUERY:     /*FALLTHROUGH*/
-+        case NS_NOTIFY_OP:
-+                if ((buflen -= QFIXEDSZ) < 0)
-+                        return (-1);
-+                if ((n = dn_comp(dname, cp, buflen, dnptrs, lastdnptr)) < 0)
-+                        return (-1);
-+                cp += n;
-+                buflen -= n;
-+                __putshort(type, cp);
-+                cp += INT16SZ;
-+                __putshort(class, cp);
-+                cp += INT16SZ;
-+                hp->qdcount = htons(1);
-+                if (op == QUERY || data == NULL)
-+                        break;
-+                /*
-+                 * Make an additional record for completion domain.
-+                 */
-+                buflen -= RRFIXEDSZ;
-+                n = dn_comp((char *)data, cp, buflen, dnptrs, lastdnptr);
-+                if (n < 0)
-+                        return (-1);
-+                cp += n;
-+                buflen -= n;
-+                __putshort(T_NULL, cp);
-+                cp += INT16SZ;
-+                __putshort(class, cp);
-+                cp += INT16SZ;
-+                __putlong(0, cp);
-+                cp += INT32SZ;
-+                __putshort(0, cp);
-+                cp += INT16SZ;
-+                hp->arcount = htons(1);
-+                break;
-+
-+        case IQUERY:
-+                /*
-+                 * Initialize answer section
-+                 */
-+                if (buflen < 1 + RRFIXEDSZ + datalen)
-+                        return (-1);
-+                *cp++ = '\0';   /* no domain name */
-+                __putshort(type, cp);
-+                cp += INT16SZ;
-+                __putshort(class, cp);
-+                cp += INT16SZ;
-+                __putlong(0, cp);
-+                cp += INT32SZ;
-+                __putshort(datalen, cp);
-+                cp += INT16SZ;
-+                if (datalen) {
-+                        memcpy(cp, data, datalen);
-+                        cp += datalen;
-+                }
-+                hp->ancount = htons(1);
-+                break;
-+
-+        default:
-+                return (-1);
-+        }
-+        return (cp - buf);
-+}
-+
-+int
-+res_mkquery(int op,                     /* opcode of query */
-+            const char *dname,          /* domain name */
-+            int class, int type,        /* class and type of query */
-+            const u_char *data,         /* resource record data */
-+            int datalen,                /* length of data */
-+            const u_char *newrr_in,     /* new rr for modify or append */
-+            u_char *buf,                /* buffer to put query */
-+            int buflen)                 /* size of buffer */
-+{
-+        return (res_nmkquery(&_res, op, dname, class, type,
-+                             data, datalen,
-+                             newrr_in, buf, buflen));
-+}
-+
-+#endif
- 
- void dorequest(char *s,int type,word id)
- {
 

--- a/net/mtr/patches/502-fix-res_ninit.patch
+++ /dev/null
@@ -1,32 +1,1 @@
---- a/dns.c
-+++ b/dns.c
-@@ -1267,28 +1267,6 @@ res_nmkquery(res_state statp,
-                 return (-1);
-         memset(buf, 0, HFIXEDSZ);
-         hp = (HEADER *) buf;
--        /* We randomize the IDs every time.  The old code just
--           incremented by one after the initial randomization which
--           still predictable if the application does multiple
--           requests.  */
--#if 0
--        hp->id = htons(++statp->id);
--#else
--        hp->id = htons(statp->id);
--        int randombits;
--        do
--          {
--#ifdef RANDOM_BITS
--            RANDOM_BITS (randombits);
--#else
--            struct timeval tv;
--            gettimeofday (&tv, NULL);
--            randombits = (tv.tv_sec << 8) ^ tv.tv_usec;
--#endif
--          }
--        while ((randombits & 0xffff) == 0);
--        statp->id = (statp->id + randombits) & 0xffff;
--#endif
-         hp->opcode = op;
-         hp->rd = (statp->options & RES_RECURSE) != 0;
-         hp->rcode = NOERROR;
 

--- a/net/mtr/patches/520-libresolv_fix.patch
+++ /dev/null
@@ -1,18 +1,1 @@
---- a/configure.in
-+++ b/configure.in
-@@ -72,10 +72,10 @@ AC_CHECK_FUNC(gethostbyname, ,
- AC_CHECK_FUNCS(seteuid)
- #  AC_CHECK_FUNC(setuid, , AC_MSG_ERROR (I Need either seteuid or setuid))
- 
--AC_CHECK_FUNC(res_mkquery, , 
--  AC_CHECK_LIB(bind, res_mkquery, , 
--   AC_CHECK_LIB(resolv, res_mkquery, ,
--     AC_CHECK_LIB(resolv, __res_mkquery, , AC_MSG_ERROR(No resolver library found)))))
-+#AC_CHECK_FUNC(res_mkquery, ,
-+#  AC_CHECK_LIB(bind, res_mkquery, ,
-+#   AC_CHECK_LIB(resolv, res_mkquery, ,
-+#     AC_CHECK_LIB(resolv, __res_mkquery, , AC_MSG_ERROR(No resolver library found)))))
- # This next line would override the just detected-or-not -lresolv. 
- # This apparently hurts BSD. And it's bad practise. So it should go. 
- # However, it probably didn't get added for nothing..... Holler if
 

--- a/net/mtr/patches/521-gtk_fix.patch
+++ /dev/null
@@ -1,28 +1,1 @@
---- a/configure.in
-+++ b/configure.in
-@@ -48,16 +48,16 @@ AC_ARG_ENABLE(ipv6,
- [  --disable-ipv6          Do not enable IPv6],
- WANTS_IPV6=$enableval, WANTS_IPV6=yes)
-    
--if test "x$WANTS_GTK" = "xyes"; then
--        AM_PATH_GTK_2_0(2.6.0, CFLAGS="$CFLAGS $GTK_CFLAGS"
--                           LIBS="$LIBS $GTK_LIBS -lm",
--                           AC_MSG_WARN(Building without GTK2 display support)
--                   AC_DEFINE(NO_GTK, 1, [Define if you don't have the GTK+ libraries available.])
--                           GTK_OBJ="")
--else
-+#if test "x$WANTS_GTK" = "xyes"; then
-+#        AM_PATH_GTK_2_0(2.6.0, CFLAGS="$CFLAGS $GTK_CFLAGS"
-+#                           LIBS="$LIBS $GTK_LIBS -lm",
-+#                           AC_MSG_WARN(Building without GTK2 display support)
-+#                   AC_DEFINE(NO_GTK, 1, [Define if you don't have the GTK+ libraries available.])
-+#                           GTK_OBJ="")
-+#else
- 	AC_DEFINE(NO_GTK)
- 	GTK_OBJ=""
--fi
-+#fi
- 
- AC_CHECK_FUNC(socket, , 
-   AC_CHECK_LIB(socket, socket, , AC_MSG_ERROR(No socket library found)))
 

file:a/net/nbd/Makefile (deleted)
--- a/net/nbd/Makefile
+++ /dev/null
@@ -1,53 +1,1 @@
-#
-# Copyright (C) 2006-2011 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=nbd
-PKG_VERSION:=2.9.23
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=@SF/nbd
-PKG_MD5SUM:=065b6ded41887a08be6dbb8d77280f24
-
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-# -liconv due to glib2, to be revisited later
-include $(INCLUDE_DIR)/nls.mk
-
-PKG_BUILD_DEPENDS:=glib2 libintl
-
-define Package/nbd
-  SECTION:=net
-  CATEGORY:=Network
-  TITLE:=Network Block Device utilities
-  URL:=http://nbd.sourceforge.net
-  DEPENDS:=+kmod-nbd
-endef
-
-define Package/nbd/description
-  This package contains the network block device client.
-endef
-
-CONFIGURE_ARGS+= \
-	--disable-glibtest
-
-define Build/Compile
-	$(MAKE) -C $(PKG_BUILD_DIR) \
-		nbd-client
-endef
-
-define Package/nbd/install
-	$(INSTALL_DIR) $(1)/usr/sbin
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/nbd-client $(1)/usr/sbin/
-endef
-
-$(eval $(call BuildPackage,nbd))
-

file:a/net/netcat/Makefile (deleted)
--- a/net/netcat/Makefile
+++ /dev/null
@@ -1,58 +1,1 @@
-include $(TOPDIR)/rules.mk
 
-PKG_NAME:=netcat
-PKG_VERSION:=0.7.1
-PKG_RELEASE:=2
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=@SF/$(PKG_NAME)
-PKG_MD5SUM:=0a29eff1736ddb5effd0b1ec1f6fe0ef
-
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/netcat
-  SECTION:=net
-  CATEGORY:=Network
-  TITLE:=A feature-rich network debugging and exploration tool.
-  URL:=http://netcat.sourceforge.net/
-endef
-
-define Package/netcat/description
-		Netcat is a featured networking utility which reads and writes data across network connections, using the TCP/IP protocol.
-	It is designed to be a reliable "back-end" tool that can be used directly or easily driven by other programs and scripts. At the same time, it is a feature-rich network debugging and exploration tool, since it can create almost any kind of connection you would need and has several interesting built-in capabilities.
-endef
-
-define Build/Configure
-	$(call Build/Configure/Default, \
-		--disable-rpath \
-		--with-included-getopt \
-	)
-endef
-
-define Package/netcat/install
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/netcat \
-		$(1)/usr/bin
-endef
-
-define Package/netcat/postinst
-#!/bin/sh
-if [ -e $${IPKG_INSTROOT}/usr/bin/nc ]; then
-  rm -rf $${IPKG_INSTROOT}/usr/bin/nc;
-fi
-ln -s ./netcat $${IPKG_INSTROOT}/usr/bin/nc
-endef
-
-define Package/netcat/postrm
-#!/bin/sh
-rm $${IPKG_INSTROOT}/usr/bin/nc
-ln -s ../../bin/busybox $${IPKG_INSTROOT}/usr/bin/nc
-$${IPKG_INSTROOT}/usr/bin/nc 2>&1 | grep 'applet not found' > /dev/null 2>&1 && rm $${IPKG_INSTROOT}/usr/bin/nc
-exit 0
-endef
-
-
-$(eval $(call BuildPackage,netcat))
-

--- a/net/netcat/patches/001-netcat_flag_count.patch
+++ /dev/null
@@ -1,23 +1,1 @@
-Index: netcat-0.7.1/src/flagset.c
-===================================================================
---- netcat-0.7.1.orig/src/flagset.c	2009-02-06 19:56:01.000000000 +0100
-+++ netcat-0.7.1/src/flagset.c	2009-02-06 19:56:13.000000000 +0100
-@@ -134,7 +134,7 @@
- 
- int netcat_flag_count(void)
- {
--  register char c;
-+  register unsigned char c;
-   register int i;
-   int ret = 0;
- 
-@@ -154,7 +154,7 @@
- 	Assumed that the bit number 1 is the sign, and that we will shift the
- 	bit 1 (or the bit that takes its place later) until the the most right,
- 	WHY it has to keep the wrong sign? */
--      ret -= (c >> 7);
-+      ret += (c >> 7);
-       c <<= 1;
-     }
-   }
 

--- a/net/netdiscover/Makefile
+++ /dev/null
@@ -1,42 +1,1 @@
-#
-# Copyright (C) 2009-2010 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=netdiscover
-PKG_VERSION:=0.3-beta6
-PKG_RELEASE:=3
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://nixgeneration.com/~jaime/netdiscover/releases/
-PKG_MD5SUM:=0919227a91ecaeeb2443cff249417be2
-
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/netdiscover
-  SECTION:=net
-  CATEGORY:=Network
-  DEPENDS:=+libpcap +libnet1 +libpthread
-  TITLE:=An active/passive address reconnaissance tool
-  URL:=http://nixgeneration.com/~jaime/netdiscover/
-  MAINTAINER:=Daniel Dickinson <openwrt@cshore.neomailbox.net>
-endef
-
-CONFIGURE_VARS+= \
-	CPPFLAGS="$(TARGET_CPPFLAGS) -I$(STAGING_DIR)/usr/lib/libnet-1.1.x/include" \
-	LDFLAGS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib/libnet-1.1.x/lib" \
-
-define Package/netdiscover/install
-	$(INSTALL_DIR) $(1)/usr/sbin
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/netdiscover $(1)/usr/sbin/
-endef
-
-$(eval $(call BuildPackage,netdiscover))
-

--- a/net/netdiscover/patches/00-add-machine-ouput.patch
+++ /dev/null
@@ -1,468 +1,1 @@
-diff -Naur netdiscover-0.3-beta6.orig/src/ifaces.c netdiscover-0.3-beta6/src/ifaces.c
---- netdiscover-0.3-beta6.orig/src/ifaces.c	2009-06-24 18:21:11.000000000 -0400
-+++ netdiscover-0.3-beta6/src/ifaces.c	2009-06-24 21:44:05.000000000 -0400
-@@ -127,6 +127,7 @@
-       memcpy(type, packet + 20, 2); 		/* ARP Opcode */
-       new_arprep_l->header = new_header;	/* Add header */
-       new_arprep_l->count = 1;				/* Count      */
-+      new_arprep_l->printed = 0;
-       new_arprep_l->next = NULL;
-       
-       /* Source IP */
-diff -Naur netdiscover-0.3-beta6.orig/src/main.c netdiscover-0.3-beta6/src/main.c
---- netdiscover-0.3-beta6.orig/src/main.c	2009-06-24 18:21:11.000000000 -0400
-+++ netdiscover-0.3-beta6/src/main.c	2009-06-24 21:34:59.000000000 -0400
-@@ -30,6 +30,7 @@
- #include <unistd.h>
- #include <stdlib.h>
- #include <string.h>
-+#include <signal.h>
- #include "ifaces.h"
- #include "screen.h"
- 
-@@ -39,8 +40,17 @@
- 	char *disp;
- 	char *sip;
- 	int autos;
-+	int machine;
- };
- 
-+/* Injection Thread data structure */
-+struct t_inject {
-+  struct t_data *datos;
-+  pthread_t *sniffer;
-+  pthread_t *screen;
-+  pthread_t *keys;
-+  int scan_secs;
-+};
- 
- void *inject_arp(void *arg);
- void *screen_refresh(void *arg);
-@@ -77,7 +87,7 @@
- 
- 
- pthread_t injection, sniffer, screen, keys;
--int fastmode, pcount, node, ssleep;
-+int fastmode, pcount, node, ssleep, nokeywait;
- long sleept;
- 
- 
-@@ -86,7 +96,9 @@
- {
-     while ( 1 == 1 )
-     {
--        read_key();
-+	struct t_data *datos;
-+	datos = (struct t_data *)arg;
-+        read_key(datos->machine);
-     }
- }
- 
-@@ -97,20 +109,24 @@
- 	int c;
- 	int esniff = 0;
- 	int erange = 0;
-+	int scan_secs = 0;
- 	struct t_data datos;
--	
-+	struct t_inject injectdata;
-+
- 	datos.sip = NULL;
- 	datos.disp = NULL;
-+	datos.machine = 0;
- 	datos.autos = 0;
- 	sleept = 99;
- 	node = 67;
- 	pcount = 1;
-+	nokeywait = 0;
- 	
- 	current_network = (char *) malloc ((sizeof(char)) * 16);
- 	sprintf(current_network,"Starting.");
- 	
- 	/* Fetch parameters */
--	while ((c = getopt(argc, argv, "i:s:r:n:c:pSfh")) != EOF)
-+	while ((c = getopt(argc, argv, "i:s:r:n:c:t:pSfhkm")) != EOF)
- 	{
- 		switch (c)
- 		{
-@@ -138,12 +154,20 @@
- 			case  'n':
- 				node = atoi(optarg);
- 				break;
-+
-+            		case 't':
-+		                scan_secs = atoi(optarg);
-+                                break;
- 			
- 			case  'r':
- 				datos.sip = (char *) malloc (sizeof(char) * strlen(optarg));
- 				sprintf(datos.sip, "%s", optarg);
- 				erange = 1;
- 				break;
-+
-+			case 'm':
-+			       datos.machine = 1;
-+			       break;
- 			
- 			case  'f':
- 				fastmode = 1;
-@@ -153,6 +177,10 @@
- 				usage(argv[0]);
- 				exit(1);
- 				break;
-+
-+               		case 'k':
-+			        nokeywait = 1;
-+			        break;
- 			
- 			default:
- 				break;
-@@ -181,7 +209,7 @@
- 	/* Init some stuff */
- 	lnet_init(datos.disp);
- 	init_lists();
--	system("clear");
-+	if (!datos.machine) system("clear");
- 	
- 	/* If no mode was selected, enable auto scan */
- 	if ((erange != 1) && (esniff != 1))
-@@ -189,9 +217,15 @@
- 		datos.autos = 1;
- 	}
- 	
-+	
- 	/* Start the execution */
--	pthread_create(&screen, NULL, screen_refresh, (void *)NULL);
--	pthread_create(&keys, NULL, keys_thread, (void *)NULL);
-+	pthread_create(&screen, NULL, screen_refresh, (void *)&datos);
-+	if (!nokeywait) {
-+	  pthread_create(&keys, NULL, keys_thread, (void *)&datos);
-+	  injectdata.keys = &keys;
-+	} else {
-+	  injectdata.keys = NULL;
-+	}
- 	pthread_create(&sniffer, NULL, start_sniffer, (void *)&datos);
- 	
- 	if (esniff == 1)
-@@ -201,10 +235,19 @@
- 	}
- 	else
- 	{
--		if (pthread_create(&injection, NULL, inject_arp, (void *)&datos))
-+                injectdata.datos = &datos;
-+                injectdata.sniffer = &sniffer;
-+                injectdata.screen = &screen;
-+                injectdata.scan_secs = scan_secs;
-+
-+		if (pthread_create(&injection, NULL, inject_arp, (void *)&injectdata))
- 			perror("Could not create injection thread");
- 		
--		pthread_join(sniffer,NULL);
-+		if (scan_secs > 0) {
-+		  pthread_join(injection,NULL);
-+		} else {
-+		  pthread_join(sniffer,NULL);
-+		}
- 	}
- 	
- 	
-@@ -215,10 +258,11 @@
- /* Refresh screen function called by screen thread */
- void *screen_refresh(void *arg)
- {
--	
-+	struct t_data *datos;
-+	datos = (struct t_data *)arg;
- 	while (1==1)
- 	{
--		print_screen();
-+		print_screen(datos->machine);
- 		sleep(1);
- 	}
- 	
-@@ -228,9 +272,11 @@
- /* Inject ARP Replys to the network */
- void *inject_arp(void *arg)
- {	
-+        struct t_inject *inject;
- 	struct t_data *datos;
- 		
--	datos = (struct t_data *)arg;
-+	inject = (struct t_inject *)arg;
-+	datos = inject->datos;
- 	sleep(2);
- 	
- 	if ( datos->autos != 1 )
-@@ -251,6 +297,12 @@
- 	
- 	sprintf(current_network,"Finished!");
- 	lnet_destroy();
-+	if (inject->scan_secs > 0) {
-+ 		sleep(inject->scan_secs);  
-+		pthread_kill(*(inject->sniffer), SIGKILL);
-+		pthread_kill(*(inject->screen), SIGKILL);
-+		pthread_kill(*(inject->keys), SIGKILL);
-+	}
- 	
- 	return NULL;
- }
-@@ -400,6 +452,9 @@
- 		"  -n node: last ip octet used for scanning (from 2 to 253)\n"
- 		"  -S enable sleep time supression betwen each request (hardcore mode)\n"
- 		"  -f enable fastmode scan, saves a lot of time, recommended for auto\n\n"
-+	        "  -k nokeywait: Don't wait for keypress\n"
-+		"  -t time: maximum time to listen after last arp request sent (seconds)\n"
-+	        "  -m don't clear and format screen, just output replies\n"
- 		"If -p or -r arent enabled, netdiscover will scan for common lan addresses\n",
- 		VERSION, comando);
- }
-diff -Naur netdiscover-0.3-beta6.orig/src/screen.c netdiscover-0.3-beta6/src/screen.c
---- netdiscover-0.3-beta6.orig/src/screen.c	2009-06-24 18:21:11.000000000 -0400
-+++ netdiscover-0.3-beta6/src/screen.c	2009-06-25 19:15:24.000000000 -0400
-@@ -114,7 +114,7 @@
- 
- 
- /* Read input keys */
--void read_key()
-+void read_key(int machine)
- {
-     int ch;
-     ch = getchar();
-@@ -162,12 +162,12 @@
-        smode = 2;
-     }
- 	 
--	 print_screen();
-+	 print_screen(machine);
- }
- 
- 
- /* Clear and fill the screen */
--void print_screen()
-+void print_screen(int machine)
- {
- 	/* Get Console Size */
-    if (ioctl(0, TIOCGWINSZ, &win_sz) < 0)
-@@ -177,16 +177,16 @@
-    }
- 	 
- 	/* Flush and print screen */
--	fprintf( stderr, "\33[1;1H" );
--	fill_screen();
--	fprintf( stderr, "\33[J" );
-+        if (!machine) fprintf( stderr, "\33[1;1H" );
-+	fill_screen(machine);
-+	if (!machine) fprintf( stderr, "\33[J" );
- 	fflush(stdout);
- }
- 
- 
- /* Fills the screen using white spaces to avoid refresh problems  *
-  * not a very smart way, but it works :)                          */
--void fill_screen()
-+void fill_screen(int machine)
- {
-    int x, j;
-    struct arp_rep_l *arprep_l;
-@@ -196,40 +196,42 @@
-    
-    pthread_mutex_lock(listm);	
- 	
--   sprintf(line, " Currently scanning: %s   |   Our Mac is: %s - %i", 
--           current_network, ourmac, scroll);
--   printf("%s", line);
--	
--   /* Fill with spaces */
--   for (j=strlen(line); j<win_sz.ws_col - 1; j++)
--         printf(" ");
--   printf("\n");
--	
--	/* Print blank line with spaces */
--   for (j=0; j<win_sz.ws_col - 1; j++)
--         printf(" ");
--   printf("\n");
--
--
--   sprintf(line, " %d Captured ARP Req/Rep packets, from %d hosts.   Total size: %d", 
--           arprep_count->count, arprep_count->hosts, arprep_count->length);
--   printf("%s", line);
--	
--   /* Fill with spaces */
--   for (j=strlen(line); j<win_sz.ws_col - 1; j++)
--         printf(" ");
--   printf("\n");
--	
--	
--   /* Print Header and counters */
--   printf(" _____________________________________________________________________________\n");
--   if (smode == 0 || (oldmode == 0 && smode == 2))
--   	printf("   IP            At MAC Address      Count  Len   MAC Vendor                   \n");
--   else if (smode == 1 || (oldmode == 1 && smode == 2))
--   	printf("   IP            At MAC Address      Requests IP     Count                     \n");
--   printf(" ----------------------------------------------------------------------------- \n");
--
--
-+   
-+   if (!machine) {
-+     sprintf(line, " Currently scanning: %s   |   Our Mac is: %s - %i", 
-+	     current_network, ourmac, scroll);
-+     printf("%s", line);
-+	
-+     /* Fill with spaces */
-+     for (j=strlen(line); j<win_sz.ws_col - 1; j++)
-+       printf(" ");
-+     printf("\n");
-+     
-+     /* Print blank line with spaces */
-+     for (j=0; j<win_sz.ws_col - 1; j++)
-+       printf(" ");
-+     printf("\n");
-+     
-+
-+     sprintf(line, " %d Captured ARP Req/Rep packets, from %d hosts.   Total size: %d", 
-+	     arprep_count->count, arprep_count->hosts, arprep_count->length);
-+     printf("%s", line);
-+     
-+     /* Fill with spaces */
-+     for (j=strlen(line); j<win_sz.ws_col - 1; j++)
-+       printf(" ");
-+     printf("\n");
-+	
-+     
-+     /* Print Header and counters */
-+     printf(" _____________________________________________________________________________\n");
-+     if (smode == 0 || (oldmode == 0 && smode == 2))
-+       printf("   IP            At MAC Address      Count  Len   MAC Vendor                   \n");
-+     else if (smode == 1 || (oldmode == 1 && smode == 2))
-+       printf("   IP            At MAC Address      Requests IP     Count                     \n");
-+     printf(" ----------------------------------------------------------------------------- \n");
-+   }
-+   
-    /* Print each found station trough arp reply */
-    if (smode == 0)
-    {
-@@ -243,12 +245,12 @@
-             sprintf(tline, " ");
-             
-             /* Set IP */
--            sprintf(tline, "%s ", arprep_l->sip);
-+            sprintf(tline, "%s ", arprep_l->sip);	    
-             strcat(line, tline);
--            
--            /* Fill with spaces */
--            for (j=strlen(line); j<17; j++)
--               strcat(line, blank);
-+   
-+	    /* Fill with spaces */
-+	    for (j=strlen(line); j<17; j++)
-+	      strcat(line, blank);
-             
-             /* IP & MAC */
-             sprintf(tline, "%02x:%02x:%02x:%02x:%02x:%02x    ",
-@@ -260,21 +262,29 @@
-             /* Count, Length & Vendor */
-             sprintf(tline, "%02d    %03d   %s", arprep_l->count, 
-                     arprep_l->header->length, arprep_l->vendor );
--            strcat(line, tline);
--            
--            /* Fill again with spaces */
--            for (j=strlen(line); j<win_sz.ws_col - 1; j++)
--               strcat(line, blank);
-+	    strcat(line, tline);
-             
--            printf("%s\n", line);
-+	    /* Fill again with spaces */
-+	    for (j=strlen(line); j<win_sz.ws_col - 1; j++)
-+	      strcat(line, blank);
-+
-+	    if (!arprep_l->printed) {
-+	      printf("%s\n", line);	    
-+	      arprep_l->printed = 1;
-+	      if (!machine) {
-+		arprep_l->printed = 0;
-+	      }
-+	    }
-          }
-          
-          arprep_l = arprep_l->next;
-          x += 1;
--      
--         /* Check if end of screen was reached */
--         if (x >= ( (win_sz.ws_row + scroll) - 7))
--            break;
-+
-+	 if (!machine) {
-+	   /* Check if end of screen was reached */
-+	   if (x >= ( (win_sz.ws_row + scroll) - 7))
-+	     break;
-+	 }
-       }
-       
-    } /* Print only arp request */
-@@ -292,10 +302,10 @@
-             /* Get source IP */
-             sprintf(tline, "%s ", arprep_l->sip);
-             strcat(line, tline);
--            
--            /* Fill with spaces */
--            for (j=strlen(line); j<17; j++)
--               strcat(line, blank);
-+
-+	    /* Fill with spaces */
-+	    for (j=strlen(line); j<17; j++)
-+	      strcat(line, blank);
-             
-             /* Get source MAC */
-             sprintf(tline, "%02x:%02x:%02x:%02x:%02x:%02x   ",
-@@ -308,27 +318,29 @@
-             sprintf(tline, "%s", arprep_l->dip);
-             strcat(line, tline);
-             
--            /* Fill with spaces */
--            for (j=strlen(line); j<54; j++)
--               strcat(line, blank);
-+	    /* Fill with spaces */
-+	    for (j=strlen(line); j<54; j++)
-+	      strcat(line, blank);
-             
-             /* Count, Length & Vendor */
-             sprintf(tline, "%02d", arprep_l->count);
-             strcat(line, tline);
-             
--            /* Fill again with spaces */
--            for (j=strlen(line); j<win_sz.ws_col - 1; j++)
--               strcat(line, blank);
-+	    /* Fill again with spaces */
-+	    for (j=strlen(line); j<win_sz.ws_col - 1; j++)
-+	      strcat(line, blank);
-             
-             printf("%s\n", line);
-          }
-          
-          arprep_l = arprep_l->next;
-          x += 1;
--      
--         /* Check if end of screen was reached */
--         if (x >= ( (win_sz.ws_row + scroll) - 7))
--            break;
-+
-+	 if (!machine) {
-+	   /* Check if end of screen was reached */
-+	   if (x >= ( (win_sz.ws_row + scroll) - 7))
-+	     break;
-+	 }
-       }
-    }
-    else if(smode == 2)
-diff -Naur netdiscover-0.3-beta6.orig/src/screen.h netdiscover-0.3-beta6/src/screen.h
---- netdiscover-0.3-beta6.orig/src/screen.h	2009-06-24 18:21:11.000000000 -0400
-+++ netdiscover-0.3-beta6/src/screen.h	2009-06-24 21:42:13.000000000 -0400
-@@ -60,6 +60,7 @@
- 	char *vendor;
- 	short type;
- 	unsigned int count;
-+        int printed;
- 	struct arp_rep_l *next;
- };
- 
 

--- a/net/netdiscover/patches/01-initfix+end-fix.patch
+++ /dev/null
@@ -1,35 +1,1 @@
-diff -Naur netdiscover-0.3-beta6.01machine/src/main.c netdiscover-0.3-beta6/src/main.c
---- netdiscover-0.3-beta6.01machine/src/main.c	2009-06-25 18:19:18.000000000 -0400
-+++ netdiscover-0.3-beta6/src/main.c	2009-07-16 06:37:43.000000000 -0400
-@@ -121,6 +121,8 @@
- 	node = 67;
- 	pcount = 1;
- 	nokeywait = 0;
-+	fastmode = 0;
-+	ssleep = 0;
- 	
- 	current_network = (char *) malloc ((sizeof(char)) * 16);
- 	sprintf(current_network,"Starting.");
-@@ -250,7 +252,6 @@
- 		}
- 	}
- 	
--	
- 	return 0;
- }
- 
-@@ -299,9 +300,10 @@
- 	lnet_destroy();
- 	if (inject->scan_secs > 0) {
-  		sleep(inject->scan_secs);  
--		pthread_kill(*(inject->sniffer), SIGKILL);
--		pthread_kill(*(inject->screen), SIGKILL);
--		pthread_kill(*(inject->keys), SIGKILL);
-+		pthread_kill(*(inject->sniffer), SIGTERM);
-+		pthread_kill(*(inject->screen), SIGTERM);
-+		pthread_kill(*(inject->keys), SIGTERM);
-+		sighandler(SIGTERM);
- 	}
- 	
- 	return NULL;
 

file:a/net/netperf/Makefile (deleted)
--- a/net/netperf/Makefile
+++ /dev/null
@@ -1,48 +1,1 @@
-#
-# Copyright (C) 2006-2011 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=netperf
-PKG_VERSION:=2.6.0
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=ftp://ftp.netperf.org/netperf/
-PKG_MD5SUM:=9654ffdfd4c4f2c93ce3733cd9ed9236
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/netperf
-  SECTION:=net
-  CATEGORY:=Network
-  TITLE:=Network performance measurement tool
-  URL:=http://www.netperf.org/
-endef
-
-CONFIGURE_ARGS += --enable-demo
-
-define Package/netperf/install
-	$(INSTALL_DIR) $(1)/etc/init.d
-	$(INSTALL_BIN) ./files/netserver.init $(1)/etc/init.d/netserver
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/netperf $(1)/usr/bin/
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/netserver $(1)/usr/bin/
-	$(INSTALL_DIR) $(1)/lib/netperf
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/doc/examples/arr_script $(1)/lib/netperf
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/doc/examples/packet_byte_script $(1)/lib/netperf
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/doc/examples/sctp_stream_script $(1)/lib/netperf
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/doc/examples/snapshot_script $(1)/lib/netperf
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/doc/examples/tcp_range_script $(1)/lib/netperf
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/doc/examples/tcp_rr_script $(1)/lib/netperf
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/doc/examples/tcp_stream_script $(1)/lib/netperf
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/doc/examples/udp_rr_script $(1)/lib/netperf
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/doc/examples/udp_stream_script $(1)/lib/netperf
-endef
-
-$(eval $(call BuildPackage,netperf))
-

--- a/net/netperf/files/netserver.init
+++ /dev/null
@@ -1,13 +1,1 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2006-2011 OpenWrt.org
 
-START=50
-
-start() {
-	service_start /usr/bin/netserver
-}
-
-stop() {
-	service_stop /usr/bin/netserver
-}
-

file:a/net/ngircd/Makefile (deleted)
--- a/net/ngircd/Makefile
+++ /dev/null
@@ -1,94 +1,1 @@
-#
-# Copyright (C) 2008-2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=ngircd
-PKG_VERSION:=18
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:= \
-        http://ngircd.barton.de/pub/ngircd/ \
-        ftp://ftp.berlios.de/pub/ngircd/
-PKG_MD5SUM:=4958c8b2d128cf3e9888af3f782892a1
-
-PKG_INSTALL:=1
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/ngircd/Default
-  SECTION:=net
-  CATEGORY:=Network
-  SUBMENU:=Instant Messaging
-  DEPENDS:=+zlib
-  TITLE:=Next Generation IRC Server
-  URL:=http://ngircd.barton.de
-endef
-
-define Package/ngircd/Default/description
-  ngIRCd is an Open Source server for the Internet Relay Chat (IRC), which
-  is developed and published under the terms of the GNU General Public Licence.
-  ngIRCd means "next generation IRC daemon", it's written from scratch and
-  not deduced from the "grandfather of IRC daemons", the daemon of the IRCNet.
-endef
-
-define Package/ngircd
-  $(call Package/ngircd/Default)
-  TITLE+= (with OpenSSL support)
-  DEPENDS+= +libopenssl
-  VARIANT:=ssl
-endef
-
-define Package/ngircd/conffiles
-/etc/ngircd.conf
-endef
-
-define Package/ngircd/description
-  $(call Package/ngircd/Default/description)
-  This package is built with OpenSSL support.
-endef
-
-define Package/ngircd-nossl
-$(call Package/ngircd/Default)
-  TITLE+= (without OpenSSL support)
-  VARIANT:=nossl
-endef
-
-Package/ngircd-nossl/conffiles = $(Package/ngircd/conffiles)
-
-define Package/ngircd-nossl/description
-  $(call Package/ngircd/Default/description)
-  This package is built without OpenSSL support.
-endef
-
-ifeq ($(BUILD_VARIANT),ssl)
-	CONFIGURE_ARGS += \
-		--with-openssl="$(STAGING_DIR)/usr"
-endif
-
-ifeq ($(BUILD_VARIANT),nossl)
-	CONFIGURE_ARGS += \
-		--without-openssl
-endif
-
-define Package/ngircd/install
-	$(INSTALL_DIR) $(1)/usr/sbin
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ngircd $(1)/usr/sbin/
-	$(INSTALL_DIR) $(1)/etc
-	$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/ngircd.conf $(1)/etc/
-	$(INSTALL_DIR) $(1)/etc/init.d
-	$(INSTALL_BIN) ./files/ngircd.init $(1)/etc/init.d/ngircd
-endef
-
-Package/ngircd-nossl/install = $(Package/ngircd/install)
-
-$(eval $(call BuildPackage,ngircd))
-$(eval $(call BuildPackage,ngircd-nossl))
-

--- a/net/ngircd/files/ngircd.init
+++ /dev/null
@@ -1,12 +1,1 @@
-#!/bin/sh /etc/rc.common
 
-START=65
-
-start() {
-	service_start /usr/sbin/ngircd
-}
-
-stop() {
-	service_stop /usr/sbin/ngircd
-}
-

file:a/net/pen/Makefile (deleted)
--- a/net/pen/Makefile
+++ /dev/null
@@ -1,59 +1,1 @@
-#
-# Copyright (C) 2006 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=pen
-PKG_VERSION:=0.18.0
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=ftp://siag.nu/pub/pen/
-PKG_MD5SUM:=96f6d39e7e7cca11a647e795550f3829
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/pen
-  SECTION:=net
-  CATEGORY:=Network
-  DEPENDS:=+libopenssl
-  TITLE:=Simple tcp load balancer
-  URL:=http://siag.nu/pen/
-endef
-
-define Package/pen/description
-	This is pen, a load balancer for "simple" tcp based protocols
-	such as http or smtp. It allows several servers to appear as
-	one to the outside and automatically detects servers that are
-	down and distributes clients among the available servers.
-	This gives high availability and scalable performance.
-endef
-
-define Build/Configure
-	$(call Build/Configure/Default, \
-		--with-poll \
-		--with-experimental-only-ssl="$(STAGING_DIR)/usr" \
-	)
-endef
-
-define Build/Compile
-	$(MAKE) -C $(PKG_BUILD_DIR)
-endef
-
-define Package/pen/install
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/mergelogs $(1)/usr/bin/
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/pen $(1)/usr/bin/
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/penctl $(1)/usr/bin/
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/penctl.cgi $(1)/usr/bin/
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/penlog $(1)/usr/bin/
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/penlogd $(1)/usr/bin/
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/penstats $(1)/usr/bin/
-endef
-
-$(eval $(call BuildPackage,pen))
-

file:a/net/pptpd/Makefile (deleted)
--- a/net/pptpd/Makefile
+++ /dev/null
@@ -1,67 +1,1 @@
-#
-# Copyright (C) 2006-2014 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=pptpd
-PKG_VERSION:=1.4.0
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=@SF/poptop
-PKG_MD5SUM:=36f9f45c6ffa92bc3b6e24ae2d053505
-
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/pptpd
-  SECTION:=net
-  CATEGORY:=Network
-  DEPENDS:=+kmod-ppp +kmod-gre +kmod-mppe +ppp
-  TITLE:=PopTop pptp server
-  URL:=http://www.poptop.org/
-  SUBMENU:=VPN
-endef
-
-CONFIGURE_ARGS += \
-	--enable-bcrelay \
-
-CONFIGURE_VARS += \
-	ac_cv_header_libintl_h=no \
-
-MAKE_FLAGS += \
-	COPTS="$(TARGET_CFLAGS)" \
-	INSTALL="install" \
-
-define Package/pptpd/conffiles
-/etc/pptpd.conf
-/etc/ppp/options.pptpd
-/etc/config/pptpd
-endef
-
-define Package/pptpd/install
-	$(INSTALL_DIR) $(1)/usr/sbin
-	$(CP) \
-		$(PKG_INSTALL_DIR)/usr/sbin/bcrelay \
-		$(PKG_INSTALL_DIR)/usr/sbin/pptpctrl \
-		$(PKG_INSTALL_DIR)/usr/sbin/pptpd \
-		$(1)/usr/sbin/
-	$(INSTALL_DIR) $(1)/usr/lib/pptpd
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/pptpd/* $(1)/usr/lib/pptpd/
-	$(INSTALL_DIR) $(1)/etc
-	$(INSTALL_DATA) ./files/pptpd.conf $(1)/etc/
-	$(INSTALL_DIR) $(1)/etc/init.d
-	$(INSTALL_BIN) ./files/pptpd.init $(1)/etc/init.d/pptpd
-	$(INSTALL_DIR) $(1)/etc/ppp
-	$(INSTALL_DATA) ./files/options.pptpd $(1)/etc/ppp/
-	$(INSTALL_DIR) $(1)/etc/config
-	$(INSTALL_DATA) ./files/pptpd.config $(1)/etc/config/pptpd
-endef
-
-$(eval $(call BuildPackage,pptpd))
-

--- a/net/pptpd/files/options.pptpd
+++ /dev/null
@@ -1,23 +1,1 @@
-#debug
-#logfile /tmp/pptp-server.log
-auth
-name "pptp-server"
-lcp-echo-failure 3
-lcp-echo-interval 60
-default-asyncmap
-mtu 1482
-mru 1482
-nobsdcomp
-nodeflate
-#noproxyarp
-#nomppc
-mppe required,no40,no56,stateless
-require-mschap-v2
-refuse-chap
-refuse-mschap
-refuse-eap
-refuse-pap
-#ms-dns 172.16.1.1
-#plugin radius.so
-#radius-config-file /etc/radius.conf
 

--- a/net/pptpd/files/pptpd.conf
+++ /dev/null
@@ -1,6 +1,1 @@
-#debug
-option /etc/ppp/options.pptpd
-speed 115200
-stimeout 10
-#localip & remoteip are not needed, ip management is done by pppd
 

--- a/net/pptpd/files/pptpd.config
+++ /dev/null
@@ -1,9 +1,1 @@
-config service 'pptpd'
-	option 'enabled' '0'
-	option 'localip' '192.168.0.1'
-	option 'remoteip' '192.168.0.20-30'
 
-config 'login'
-	option 'username' 'youruser'
-	option 'password' 'yourpass'
-

--- a/net/pptpd/files/pptpd.init
+++ /dev/null
@@ -1,59 +1,1 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2006 OpenWrt.org
 
-START=60
-BIN=/usr/sbin/pptpd
-DEFAULT=/etc/default/$BIN
-RUN_D=/var/run
-PID_F=$RUN_D/$BIN.pid
-CONFIG=/var/etc/pptpd.conf
-CHAP_SECRETS=/var/etc/chap-secrets
-
-setup_login() {
-	local section="$1"
-
-	config_get username "$section" username
-	config_get password "$section" password
-	[ -n "$username" ] || return 0
-	[ -n "$password" ] || return 0
-
-	echo "$username pptp-server $password *" >> $CHAP_SECRETS
-}
-
-setup_config() {
-	local section="$1"
-
-	config_get enabled "$section" enabled
-	[ "$enabled" -eq 0 ] && return 1
-
-	mkdir -p /var/etc
-	cp /etc/pptpd.conf $CONFIG
-
-	config_get localip "$section" localip
-	config_get remoteip "$section" remoteip
-	[ -n "$localip" ] && echo "localip  $localip" >> $CONFIG
-	[ -n "$remoteip" ] && echo "remoteip  $remoteip" >> $CONFIG
-	return 0
-}
-
-start_pptpd() {
-	[ -f $DEFAULT ] && . $DEFAULT
-	mkdir -p $RUN_D
-	for m in arc4 sha1_generic slhc crc-ccitt ppp_generic ppp_async ppp_mppe; do
-		insmod $m >/dev/null 2>&1
-	done
-	ln -sfn $CHAP_SECRETS /etc/ppp/chap-secrets
-	service_start $BIN $OPTIONS -c $CONFIG
-}
-
-start() {
-	config_load pptpd
-	setup_config pptpd || return
-	config_foreach setup_login login
-	start_pptpd
-}
-
-stop() {
-	service_stop $BIN
-}
-

--- a/net/pptpd/patches/001-bad_pqueue_debug.patch
+++ /dev/null
@@ -1,19 +1,1 @@
---- a/pqueue.c
-+++ b/pqueue.c
-@@ -7,13 +7,11 @@
- #include "pqueue.h"
- 
- #ifdef DEBUG_PQUEUE
--#define DEBUG_ON 1
-+#define DEBUG_CMD(_a) { _a }
- #else
--#define DEBUG_ON 0
-+#define DEBUG_CMD(_a)
- #endif
- 
--#define DEBUG_CMD(_a) if (DEBUG_ON) { _a }
--
- #define MIN_CAPACITY 128 /* min allocated buffer for a packet */
- 
- static int pqueue_alloc (int seq, unsigned char *packet, int packlen, pqueue_t **new);
 

--- a/net/pptpd/patches/002-makefile_fix.patch
+++ /dev/null
@@ -1,12 +1,1 @@
---- a/plugins/Makefile
-+++ b/plugins/Makefile
-@@ -18,7 +18,7 @@ all:	$(PLUGINS)
- %.so: %.c
- 	$(CC) -o $@ $(LDFLAGS) $(CFLAGS) $^ $(LDADD)
- 
--LIBDIR	?= $(DESTDIR)$(prefix)/lib/pptpd
-+LIBDIR	= $(DESTDIR)$(prefix)/lib/pptpd
- 
- install: $(PLUGINS)
- 	$(INSTALL) -d $(LIBDIR)
 

--- a/net/pptpd/patches/003-opt_flags.patch
+++ /dev/null
@@ -1,12 +1,1 @@
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -153,7 +153,7 @@ AUTOMAKE = @AUTOMAKE@
- AWK = @AWK@
- CC = @CC@
- CCDEPMODE = @CCDEPMODE@
--CFLAGS = -O2 -fno-builtin -Wall -DSBINDIR='"$(sbindir)"'
-+CFLAGS = $(COPTS) -fno-builtin -Wall -DSBINDIR='"$(sbindir)"'
- CPP = @CPP@
- CPPFLAGS = @CPPFLAGS@
- CYGPATH_W = @CYGPATH_W@
 

file:a/net/privoxy/Makefile (deleted)
--- a/net/privoxy/Makefile
+++ /dev/null
@@ -1,65 +1,1 @@
-#
-# Copyright (C) 2006-2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=privoxy
-PKG_VERSION:=3.0.21
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-stable-src.tar.gz
-PKG_SOURCE_URL:=@SF/ijbswa
-PKG_MD5SUM:=79558f2545cfcf9731f7de611646d837
-
-PKG_LICENSE:=GPLv2
-PKG_LICENSE_FILES:=LICENSE
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-stable
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/privoxy
-  SECTION:=net
-  CATEGORY:=Network
-  SUBMENU:=Web Servers/Proxies
-  DEPENDS:=+libpcre +libpthread +zlib
-  TITLE:=web proxy with advanced filtering capabilities
-  URL:=http://www.privoxy.org/
-endef
-
-define Package/privoxy/description
-	Privoxy is a web proxy with advanced filtering capabilities for
-	protecting privacy, modifying web page content, managing cookies,
-	controlling access, and removing ads, banners, pop-ups and other
-	obnoxious Internet junk. Privoxy has a very flexible configuration
-	and can be customized to suit individual needs and tastes. Privoxy
-	has application for both stand-alone systems and multi-user networks.
-endef
-
-CONFIGURE_ARGS += \
-	--sysconfdir=/etc/privoxy \
-
-MAKE_FLAGS :=
-
-define Package/privoxy/conffiles
-/etc/privoxy/config
-endef
-
-define Package/privoxy/install
-	$(INSTALL_DIR) $(1)/usr/sbin
-	$(CP) $(PKG_INSTALL_DIR)/usr/sbin/privoxy $(1)/usr/sbin/
-	$(INSTALL_DIR) $(1)/etc/privoxy
-	$(CP) $(PKG_INSTALL_DIR)/etc/privoxy/* $(1)/etc/privoxy/
-	$(INSTALL_CONF) ./files/privoxy.config $(1)/etc/privoxy/config
-	$(INSTALL_DIR) $(1)/etc/init.d
-	$(INSTALL_BIN) ./files/privoxy.init $(1)/etc/init.d/privoxy
-endef
-
-$(eval $(call BuildPackage,privoxy))
-

--- a/net/privoxy/files/privoxy.config
+++ /dev/null
@@ -1,28 +1,1 @@
-confdir /etc/privoxy
-logdir /var/log
-filterfile default.filter
-logfile privoxy
-actionsfile match-all.action # Actions that are applied to all sites and maybe overruled later on.
-actionsfile default.action   # Main actions file
-#actionsfile user.action      # User customizations
-listen-address  127.0.0.1:8118
-toggle  1
-enable-remote-toggle  1
-enable-remote-http-toggle  0
-enable-edit-actions 1
-enforce-blocks 0
-buffer-limit 4096
-forwarded-connect-retries  0
-accept-intercepted-requests 0
-allow-cgi-request-crunching 0
-split-large-forms 0
-keep-alive-timeout 300
-socket-timeout 300
-permit-access  192.168.1.0/24
-debug   1    # show each GET/POST/CONNECT request
-debug   4096 # Startup banner and warnings
-debug   8192 # Errors - *we highly recommended enabling this*
-#admin-address privoxy-admin@example.com
-#proxy-info-url http://www.example.com/proxy-service.html
 
-

--- a/net/privoxy/files/privoxy.init
+++ /dev/null
@@ -1,17 +1,1 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2006-2011 OpenWrt.org
 
-START=80
-STOP=80
-
-SERVICE_USE_PID=1
-
-start() {
-	service_start /usr/sbin/privoxy --pidfile /var/run/privoxy.pid \
-					/etc/privoxy/config
-}
-
-stop() {
-	service_stop /usr/sbin/privoxy
-}
-

file:a/net/reaver/Makefile (deleted)
--- a/net/reaver/Makefile
+++ /dev/null
@@ -1,54 +1,1 @@
-#
-# Copyright (C) 2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=reaver
-PKG_REV:=113
-PKG_VERSION:=r$(PKG_REV)
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://reaver-wps.googlecode.com/svn/trunk
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=$(PKG_REV)
-PKG_SOURCE_PROTO:=svn
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/reaver
-  SECTION:=net
-  CATEGORY:=Network
-  SUBMENU:=wireless
-  TITLE:=Efficient brute force attack against Wifi Protected Setup
-  URL:=https://code.google.com/p/reaver-wps/
-  DEPENDS:=+libpcap +libsqlite3
-endef
-
-define Package/reaver/description
-  Reaver targets the external registrar functionality mandated by the WiFi
-  Protected Setup specification.
-  Access points will provide authenticated registrars with their current
-  wireless configuration (including the WPA PSK), and also accept a new
-  configuration from the registrar.
-endef
-
-CONFIGURE_PATH:=src
-
-MAKE_PATH:=src
-
-TARGET_CFLAGS+=$(TARGET_CPPFLAGS)
-
-define Package/reaver/install
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/{reaver,wash} $(1)/usr/bin/
-	$(INSTALL_DIR) $(1)/etc/reaver
-	$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/reaver.db $(1)/etc/reaver/
-endef
-
-$(eval $(call BuildPackage,reaver))
-

--- a/net/reaver/patches/0001-wpscrack-big-endian-fixes.patch
+++ /dev/null
@@ -1,566 +1,1 @@
-From 4e7af9f022996cb0a03b30f6af265b757807dfa2 Mon Sep 17 00:00:00 2001
-From: Paul Fertser <fercerpav@gmail.com>
-Date: Wed, 27 Jun 2012 17:44:55 +0400
-Subject: [PATCH 1/3] wpscrack: big-endian fixes
 
-This should fix access to the radiotap, 802.11, LLC/SNAP and WFA
-headers' fields. Run-time tested on an ar71xx BE system.
-
-Signed-off-by: Paul Fertser <fercerpav@gmail.com>
----
- src/80211.c    |   65 +++++++++++++++++++------------
- src/builder.c  |   23 +++++------
- src/defs.h     |  116 +++++++++++++++++++++++++++++++++++++++-----------------
- src/exchange.c |   23 ++++++-----
- src/wpsmon.c   |   13 ++++--
- 5 files changed, 151 insertions(+), 89 deletions(-)
-
-diff --git a/src/80211.c b/src/80211.c
-index c2aff59..19f1e92 100644
---- a/src/80211.c
-+++ b/src/80211.c
-@@ -90,17 +90,19 @@ void read_ap_beacon()
-                 if(header.len >= MIN_BEACON_SIZE)
-                 {
-                         rt_header = (struct radio_tap_header *) radio_header(packet, header.len);
--                        frame_header = (struct dot11_frame_header *) (packet + rt_header->len);
--
-+			size_t rt_header_len = __le16_to_cpu(rt_header->len);
-+			frame_header = (struct dot11_frame_header *) (packet + rt_header_len);
-+			
- 			if(is_target(frame_header))
- 			{
--                                if(frame_header->fc.type == MANAGEMENT_FRAME && frame_header->fc.sub_type == SUBTYPE_BEACON)
-+                                if((frame_header->fc & __cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) ==
-+				   __cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_BEACON))
-                                 {
--                                       	beacon = (struct beacon_management_frame *) (packet + rt_header->len + sizeof(struct dot11_frame_header));
-+                                       	beacon = (struct beacon_management_frame *) (packet + rt_header_len + sizeof(struct dot11_frame_header));
-                                        	set_ap_capability(beacon->capability);
- 
- 					/* Obtain the SSID and channel number from the beacon packet */
--					tag_offset = rt_header->len + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame);
-+					tag_offset = rt_header_len + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame);
- 					channel = parse_beacon_tags(packet, header.len);
- 					
- 					/* If no channel was manually specified, switch to the AP's current channel */
-@@ -135,29 +137,31 @@ int8_t signal_strength(const u_char *packet, size_t len)
- 	{
- 		header = (struct radio_tap_header *) packet;
- 
--		if((header->flags & SSI_FLAG) == SSI_FLAG)
-+		uint32_t flags = __le32_to_cpu(header->flags);
-+		
-+		if((flags & SSI_FLAG) == SSI_FLAG)
- 		{
--			if((header->flags & TSFT_FLAG) == TSFT_FLAG)
-+			if((flags & TSFT_FLAG) == TSFT_FLAG)
- 			{
- 				offset += TSFT_SIZE;
- 			}
- 
--			if((header->flags & FLAGS_FLAG) == FLAGS_FLAG)
-+			if((flags & FLAGS_FLAG) == FLAGS_FLAG)
- 			{
- 				offset += FLAGS_SIZE;
- 			}
- 	
--			if((header->flags & RATE_FLAG) == RATE_FLAG)
-+			if((flags & RATE_FLAG) == RATE_FLAG)
- 			{
- 				offset += RATE_SIZE;
- 			}
- 
--			if((header->flags & CHANNEL_FLAG) == CHANNEL_FLAG)
-+			if((flags & CHANNEL_FLAG) == CHANNEL_FLAG)
- 			{
- 				offset += CHANNEL_SIZE;
- 			}
- 
--			if((header->flags & FHSS_FLAG) == FHSS_FLAG)
-+			if((flags & FHSS_FLAG) == FHSS_FLAG)
- 			{
- 				offset += FHSS_FLAG;
- 			}
-@@ -196,11 +200,13 @@ int is_wps_locked()
- 		if(header.len >= MIN_BEACON_SIZE)
- 		{
- 			rt_header = (struct radio_tap_header *) radio_header(packet, header.len);
--			frame_header = (struct dot11_frame_header *) (packet + rt_header->len);
-+			size_t rt_header_len = __le16_to_cpu(rt_header->len);
-+			frame_header = (struct dot11_frame_header *) (packet + rt_header_len);
- 
- 			if(memcmp(frame_header->addr3, get_bssid(), MAC_ADDR_LEN) == 0)
- 			{
--				if(frame_header->fc.type == MANAGEMENT_FRAME && frame_header->fc.sub_type == SUBTYPE_BEACON)
-+                                if((frame_header->fc & __cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) ==
-+				   __cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_BEACON))
- 				{
- 					if(parse_wps_parameters(packet, header.len, &wps))
- 					{
-@@ -411,24 +417,30 @@ int associate_recv_loop()
-                 if(header.len >= MIN_AUTH_SIZE)
-                 {
- 			rt_header = (struct radio_tap_header *) radio_header(packet, header.len);
--                        dot11_frame = (struct dot11_frame_header *) (packet + rt_header->len);
-+			size_t rt_header_len = __le16_to_cpu(rt_header->len);
-+			dot11_frame = (struct dot11_frame_header *) (packet + rt_header_len);
- 
-                         if((memcmp(dot11_frame->addr3, get_bssid(), MAC_ADDR_LEN) == 0) &&
-                            (memcmp(dot11_frame->addr1, get_mac(), MAC_ADDR_LEN) == 0))
-                         {
--				if(dot11_frame->fc.type == MANAGEMENT_FRAME)
-+                                if((dot11_frame->fc & __cpu_to_le16(IEEE80211_FCTL_FTYPE)) ==
-+				   __cpu_to_le16(IEEE80211_FTYPE_MGMT))
- 				{
--                                	auth_frame = (struct authentication_management_frame *) (packet + sizeof(struct dot11_frame_header) + rt_header->len);
--                                	assoc_frame = (struct association_response_management_frame *) (packet + sizeof(struct dot11_frame_header) + rt_header->len);
-+                                	auth_frame = (struct authentication_management_frame *) (packet + sizeof(struct dot11_frame_header) + rt_header_len);
-+                                	assoc_frame = (struct association_response_management_frame *) (packet + sizeof(struct dot11_frame_header) + rt_header_len);
- 
- 					/* Did we get an authentication packet with a successful status? */
--					if((dot11_frame->fc.sub_type == SUBTYPE_AUTHENTICATION) && (auth_frame->status == AUTHENTICATION_SUCCESS))
-+					if((dot11_frame->fc & __cpu_to_le16(IEEE80211_FCTL_STYPE)) ==
-+					   __cpu_to_le16(IEEE80211_STYPE_AUTH)
-+					   && (auth_frame->status == __cpu_to_le16(AUTHENTICATION_SUCCESS)))
-                                		{
-                                	        	ret_val = AUTH_OK;
-                                	        	break;
-                                		}
- 					/* Did we get an association packet with a successful status? */
--                               		else if((dot11_frame->fc.sub_type == SUBTYPE_ASSOCIATION) && (assoc_frame->status == ASSOCIATION_SUCCESS))
-+                               		else if((dot11_frame->fc & __cpu_to_le16(IEEE80211_FCTL_STYPE)) ==
-+						__cpu_to_le16(IEEE80211_STYPE_ASSOC_RESP)
-+						&& (assoc_frame->status == __cpu_to_le16(ASSOCIATION_SUCCESS)))
- 					{
- 						ret_val = ASSOCIATE_OK;
- 						break;
-@@ -455,13 +467,14 @@ enum encryption_type supported_encryption(const u_char *packet, size_t len)
- 	if(len > MIN_BEACON_SIZE)
- 	{
- 		rt_header = (struct radio_tap_header *) radio_header(packet, len);
--		beacon = (struct beacon_management_frame *) (packet + rt_header->len + sizeof(struct dot11_frame_header));
--		offset = tag_offset = rt_header->len + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame);
-+		size_t rt_header_len = __le16_to_cpu(rt_header->len);
-+		beacon = (struct beacon_management_frame *) (packet + rt_header_len + sizeof(struct dot11_frame_header));
-+		offset = tag_offset = rt_header_len + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame);
- 		
- 		tag_len = len - tag_offset;
- 		tag_data = (const u_char *) (packet + tag_offset);
- 
--		if((beacon->capability & CAPABILITY_WEP) == CAPABILITY_WEP)
-+		if((__le16_to_cpu(beacon->capability) & CAPABILITY_WEP) == CAPABILITY_WEP)
- 		{
- 			enc = WEP;
- 
-@@ -509,7 +522,7 @@ int parse_beacon_tags(const u_char *packet, size_t len)
- 	struct radio_tap_header *rt_header = NULL;
- 
- 	rt_header = (struct radio_tap_header *) radio_header(packet, len);
--	tag_offset = rt_header->len + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame);
-+	tag_offset = __le16_to_cpu(rt_header->len) + sizeof(struct dot11_frame_header) + sizeof(struct beacon_management_frame);
- 
- 	if(tag_offset < len)
- 	{
-@@ -548,7 +561,7 @@ int parse_beacon_tags(const u_char *packet, size_t len)
- 		{
- 			if(ie_len  == 1)
- 			{
--				memcpy((int *) &channel, channel_data, ie_len);
-+				channel = *(uint8_t*)channel_data;
- 			}
- 			free(channel_data);
- 		}
-@@ -603,13 +616,13 @@ int check_fcs(const u_char *packet, size_t len)
- 	if(len > 4)
- 	{
- 		/* Get the packet's reported FCS (last 4 bytes of the packet) */
--		memcpy((uint32_t *) &fcs, (packet + (len-4)), 4);
-+		fcs = __le32_to_cpu(*(uint32_t*)(packet + (len-4)));
- 
- 		/* FCS is not calculated over the radio tap header */
- 		if(has_rt_header())
- 		{
- 			rt_header = (struct radio_tap_header *) packet;
--			offset += rt_header->len;
-+			offset += __le16_to_cpu(rt_header->len);
- 		}
- 
- 		if(len > offset)
-diff --git a/src/builder.c b/src/builder.c
-index 37f2de7..6bf89e7 100644
---- a/src/builder.c
-+++ b/src/builder.c
-@@ -44,9 +44,8 @@ const void *build_radio_tap_header(size_t *len)
- 		memset((void *) buf, 0, sizeof(struct radio_tap_header));
- 		rt_header = (struct radio_tap_header *) buf;
- 
--		rt_header->len = sizeof(struct radio_tap_header);
--	
--		*len = rt_header->len;
-+		*len = sizeof(struct radio_tap_header);
-+		rt_header->len = __cpu_to_le16(*len);
- 	}
- 	
- 	return buf;
-@@ -67,9 +66,9 @@ const void *build_dot11_frame_header(uint16_t fc, size_t *len)
- 	
- 		frag_seq += SEQ_MASK;
- 
--		header->duration = DEFAULT_DURATION;
--		memcpy((void *) &header->fc, (void *) &fc, sizeof(struct frame_control));
--		header->frag_seq = frag_seq;
-+		header->duration = __cpu_to_le16(DEFAULT_DURATION);
-+		header->fc = __cpu_to_le16(fc);
-+		header->frag_seq = __cpu_to_le16(frag_seq);
- 
- 		memcpy((void *) header->addr1, get_bssid(), MAC_ADDR_LEN);
- 		memcpy((void *) header->addr2, get_mac(), MAC_ADDR_LEN);
-@@ -91,8 +90,8 @@ const void *build_authentication_management_frame(size_t *len)
- 		memset((void *) buf, 0, *len);
- 		frame = (struct authentication_management_frame *) buf;
- 
--		frame->algorithm = OPEN_SYSTEM;
--		frame->sequence = 1;
-+		frame->algorithm = __cpu_to_le16(OPEN_SYSTEM);
-+		frame->sequence = __cpu_to_le16(1);
- 		frame->status = 0;
- 	}
- 	
-@@ -111,8 +110,8 @@ const void *build_association_management_frame(size_t *len)
- 		memset((void *) buf, 0, *len);
- 		frame = (struct association_request_management_frame *) buf;
- 
--		frame->capability = get_ap_capability();
--		frame->listen_interval = LISTEN_INTERVAL;
-+		frame->capability = __cpu_to_le16(get_ap_capability());
-+		frame->listen_interval = __cpu_to_le16(LISTEN_INTERVAL);
- 	}
- 
- 	return buf;
-@@ -133,7 +132,7 @@ const void *build_llc_header(size_t *len)
- 		header->dsap = LLC_SNAP;
- 		header->ssap = LLC_SNAP;
- 		header->control_field = UNNUMBERED_FRAME;
--		header->type = DOT1X_AUTHENTICATION;
-+		header->type = __cpu_to_be16(DOT1X_AUTHENTICATION);
- 
- 	}
- 
-@@ -279,7 +278,7 @@ const void *build_wfa_header(uint8_t op_code, size_t *len)
- 		header = (struct wfa_expanded_header *) buf;
- 	
- 		memcpy(header->id, WFA_VENDOR_ID, sizeof(header->id));
--		header->type = SIMPLE_CONFIG;
-+		header->type = __cpu_to_be32(SIMPLE_CONFIG);
- 		header->opcode = op_code;
- 	}
- 	
-diff --git a/src/defs.h b/src/defs.h
-index b2f45ea..0c628e7 100644
---- a/src/defs.h
-+++ b/src/defs.h
-@@ -41,6 +41,7 @@
- #include <string.h>
- #include <time.h>
- #include <pcap.h>
-+#include <asm/byteorder.h>
- 
- #include "wps.h"
- 
-@@ -65,10 +66,10 @@
- #define MANAGEMENT_FRAME	0x00
- #define SUBTYPE_BEACON		0x08
- 
--#define DOT1X_AUTHENTICATION	0x8E88
-+#define DOT1X_AUTHENTICATION	0x888E
- #define DOT1X_EAP_PACKET	0x00
- 
--#define SIMPLE_CONFIG		0x01000000
-+#define SIMPLE_CONFIG		0x00000001
- 
- #define P1_SIZE			10000
- #define P2_SIZE			1000
-@@ -282,66 +283,111 @@ enum wfa_elements
- 	WEP_TRANSMIT_KEY = 0x10064
- };
- 
-+#define IEEE80211_FCTL_VERS		0x0003
-+#define IEEE80211_FCTL_FTYPE		0x000c
-+#define IEEE80211_FCTL_STYPE		0x00f0
-+#define IEEE80211_FCTL_TODS		0x0100
-+#define IEEE80211_FCTL_FROMDS		0x0200
-+#define IEEE80211_FCTL_MOREFRAGS	0x0400
-+#define IEEE80211_FCTL_RETRY		0x0800
-+#define IEEE80211_FCTL_PM		0x1000
-+#define IEEE80211_FCTL_MOREDATA		0x2000
-+#define IEEE80211_FCTL_PROTECTED	0x4000
-+#define IEEE80211_FCTL_ORDER		0x8000
-+
-+#define IEEE80211_SCTL_FRAG		0x000F
-+#define IEEE80211_SCTL_SEQ		0xFFF0
-+
-+#define IEEE80211_FTYPE_MGMT		0x0000
-+#define IEEE80211_FTYPE_CTL		0x0004
-+#define IEEE80211_FTYPE_DATA		0x0008
-+
-+/* management */
-+#define IEEE80211_STYPE_ASSOC_REQ	0x0000
-+#define IEEE80211_STYPE_ASSOC_RESP	0x0010
-+#define IEEE80211_STYPE_REASSOC_REQ	0x0020
-+#define IEEE80211_STYPE_REASSOC_RESP	0x0030
-+#define IEEE80211_STYPE_PROBE_REQ	0x0040
-+#define IEEE80211_STYPE_PROBE_RESP	0x0050
-+#define IEEE80211_STYPE_BEACON		0x0080
-+#define IEEE80211_STYPE_ATIM		0x0090
-+#define IEEE80211_STYPE_DISASSOC	0x00A0
-+#define IEEE80211_STYPE_AUTH		0x00B0
-+#define IEEE80211_STYPE_DEAUTH		0x00C0
-+#define IEEE80211_STYPE_ACTION		0x00D0
-+
-+/* control */
-+#define IEEE80211_STYPE_BACK_REQ	0x0080
-+#define IEEE80211_STYPE_BACK		0x0090
-+#define IEEE80211_STYPE_PSPOLL		0x00A0
-+#define IEEE80211_STYPE_RTS		0x00B0
-+#define IEEE80211_STYPE_CTS		0x00C0
-+#define IEEE80211_STYPE_ACK		0x00D0
-+#define IEEE80211_STYPE_CFEND		0x00E0
-+#define IEEE80211_STYPE_CFENDACK	0x00F0
-+
-+/* data */
-+#define IEEE80211_STYPE_DATA			0x0000
-+#define IEEE80211_STYPE_DATA_CFACK		0x0010
-+#define IEEE80211_STYPE_DATA_CFPOLL		0x0020
-+#define IEEE80211_STYPE_DATA_CFACKPOLL		0x0030
-+#define IEEE80211_STYPE_NULLFUNC		0x0040
-+#define IEEE80211_STYPE_CFACK			0x0050
-+#define IEEE80211_STYPE_CFPOLL			0x0060
-+#define IEEE80211_STYPE_CFACKPOLL		0x0070
-+#define IEEE80211_STYPE_QOS_DATA		0x0080
-+#define IEEE80211_STYPE_QOS_DATA_CFACK		0x0090
-+#define IEEE80211_STYPE_QOS_DATA_CFPOLL		0x00A0
-+#define IEEE80211_STYPE_QOS_DATA_CFACKPOLL	0x00B0
-+#define IEEE80211_STYPE_QOS_NULLFUNC		0x00C0
-+#define IEEE80211_STYPE_QOS_CFACK		0x00D0
-+#define IEEE80211_STYPE_QOS_CFPOLL		0x00E0
-+#define IEEE80211_STYPE_QOS_CFACKPOLL		0x00F0
-+
- #pragma pack(1)
- struct radio_tap_header
- {
- 	uint8_t revision;	
- 	uint8_t pad;
--	uint16_t len;
--	uint32_t flags;
--};
--
--struct frame_control
--{
--        unsigned version : 2;
--        unsigned type : 2;
--        unsigned sub_type : 4;
--
--        unsigned to_ds : 1;
--        unsigned from_ds : 1;
--        unsigned more_frag : 1;
--        unsigned retry : 1;
--        unsigned pwr_mgt : 1;
--        unsigned more_data : 1;
--        unsigned protected_frame : 1;
--        unsigned order : 1;
-+	__le16 len;
-+	__le32 flags;
- };
- 
- struct dot11_frame_header
- {
--	struct frame_control fc;
--        uint16_t duration;
-+	__le16 fc;
-+	__le16 duration;
- 	unsigned char addr1[MAC_ADDR_LEN];
- 	unsigned char addr2[MAC_ADDR_LEN];
- 	unsigned char addr3[MAC_ADDR_LEN];
--	uint16_t frag_seq;
-+	__le16 frag_seq;
- };
- 
- struct authentication_management_frame
- {
--	uint16_t algorithm;
--	uint16_t sequence;
--	uint16_t status;
-+	__le16 algorithm;
-+	__le16 sequence;
-+	__le16 status;
- };
- 
- struct association_request_management_frame
- {
--	uint16_t capability;
--	uint16_t listen_interval;
-+	__le16 capability;
-+	__le16 listen_interval;
- };
- 
- struct association_response_management_frame
- {
--	uint16_t capability;
--	uint16_t status;
--	uint16_t id;
-+	__le16 capability;
-+	__le16 status;
-+	__le16 id;
- };
- 
- struct beacon_management_frame
- {
- 	unsigned char timestamp[TIMESTAMP_LEN];
--	uint16_t beacon_interval;
--	uint16_t capability;
-+	__le16 beacon_interval;
-+	__le16 capability;
- };
- 
- struct llc_header
-@@ -350,7 +396,7 @@ struct llc_header
- 	uint8_t ssap;
- 	uint8_t control_field;
- 	unsigned char org_code[3];
--	uint16_t type;
-+	__be16 type;
- };
- 
- struct dot1X_header
-@@ -371,7 +417,7 @@ struct eap_header
- struct wfa_expanded_header
- {
- 	unsigned char id[3];
--	uint32_t type;
-+	__be32 type;
- 	uint8_t opcode;
- 	uint8_t flags;
- };
-diff --git a/src/exchange.c b/src/exchange.c
-index 23c87e9..4f9a82b 100644
---- a/src/exchange.c
-+++ b/src/exchange.c
-@@ -306,26 +306,27 @@ enum wps_type process_packet(const u_char *packet, struct pcap_pkthdr *header)
- 
- 	/* Cast the radio tap and 802.11 frame headers and parse out the Frame Control field */
- 	rt_header = (struct radio_tap_header *) packet;
--	frame_header = (struct dot11_frame_header *) (packet+rt_header->len);
-+	size_t rt_header_len = __le16_to_cpu(rt_header->len);
-+	frame_header = (struct dot11_frame_header *) (packet+rt_header_len);
- 
- 	/* Does the BSSID/source address match our target BSSID? */
- 	if(memcmp(frame_header->addr3, get_bssid(), MAC_ADDR_LEN) == 0)
- 	{
- 		/* Is this a data packet sent to our MAC address? */
--		if(frame_header->fc.type == DATA_FRAME && 
--			frame_header->fc.sub_type == SUBTYPE_DATA && 
--			(memcmp(frame_header->addr1, get_mac(), MAC_ADDR_LEN) == 0)) 
-+		if (((frame_header->fc & __cpu_to_le16(IEEE80211_FCTL_FTYPE | IEEE80211_FCTL_STYPE)) ==
-+		     __cpu_to_le16(IEEE80211_FTYPE_DATA | IEEE80211_STYPE_DATA)) &&
-+		    (memcmp(frame_header->addr1, get_mac(), MAC_ADDR_LEN) == 0)) 
- 		{
- 			llc = (struct llc_header *) (packet +
--							rt_header->len +
-+							rt_header_len +
- 							sizeof(struct dot11_frame_header)
- 			);
- 
- 			/* All packets in our exchanges will be 802.1x */
--			if(llc->type == DOT1X_AUTHENTICATION)
-+			if(llc->type == __cpu_to_be16(DOT1X_AUTHENTICATION))
- 			{
- 				dot1x = (struct dot1X_header *) (packet +
--								rt_header->len +
-+								rt_header_len +
- 								sizeof(struct dot11_frame_header) +
- 								sizeof(struct llc_header)
- 				);
-@@ -334,7 +335,7 @@ enum wps_type process_packet(const u_char *packet, struct pcap_pkthdr *header)
- 				if(dot1x->type == DOT1X_EAP_PACKET && (header->len >= EAP_PACKET_SIZE))
- 				{
- 					eap = (struct eap_header *) (packet +
--									rt_header->len +
-+									rt_header_len +
- 									sizeof(struct dot11_frame_header) +
- 									sizeof(struct llc_header) +
- 									sizeof(struct dot1X_header)
-@@ -366,7 +367,7 @@ enum wps_type process_packet(const u_char *packet, struct pcap_pkthdr *header)
- 						else if((eap->type == EAP_EXPANDED) && (header->len > WFA_PACKET_SIZE))
- 						{
- 							wfa = (struct wfa_expanded_header *) (packet +
--											rt_header->len +
-+											rt_header_len +
- 											sizeof(struct dot11_frame_header) +
- 											sizeof(struct llc_header) +
- 											sizeof(struct dot1X_header) +
-@@ -374,14 +375,14 @@ enum wps_type process_packet(const u_char *packet, struct pcap_pkthdr *header)
- 							);
- 						
- 							/* Verify that this is a WPS message */
--							if(wfa->type == SIMPLE_CONFIG)
-+							if(wfa->type == __cpu_to_be32(SIMPLE_CONFIG))
- 							{
- 								wps_msg_len = 	(size_t) ntohs(eap->len) - 
- 										sizeof(struct eap_header) - 
- 										sizeof(struct wfa_expanded_header);
- 
- 								wps_msg = (const void *) (packet +
--											rt_header->len +
-+											rt_header_len +
-                                                                        	                sizeof(struct dot11_frame_header) +
-                                                                                	        sizeof(struct llc_header) +
-                                                                                        	sizeof(struct dot1X_header) +
-diff --git a/src/wpsmon.c b/src/wpsmon.c
-index d976924..22a394f 100644
---- a/src/wpsmon.c
-+++ b/src/wpsmon.c
-@@ -295,7 +295,8 @@ void parse_wps_settings(const u_char *packet, struct pcap_pkthdr *header, char *
-         }
- 
- 	rt_header = (struct radio_tap_header *) radio_header(packet, header->len);
--	frame_header = (struct dot11_frame_header *) (packet + rt_header->len);
-+	size_t rt_header_len = __le16_to_cpu(rt_header->len);
-+	frame_header = (struct dot11_frame_header *) (packet + rt_header_len);
- 
- 	/* If a specific BSSID was specified, only parse packets from that BSSID */
- 	if(!is_target(frame_header))
-@@ -323,15 +324,17 @@ void parse_wps_settings(const u_char *packet, struct pcap_pkthdr *header, char *
- 				channel_changed = 1;
- 			}
- 
--			if(frame_header->fc.sub_type == PROBE_RESPONSE ||
--                                   frame_header->fc.sub_type == SUBTYPE_BEACON)
-+			unsigned fsub_type = frame_header->fc & __cpu_to_le16(IEEE80211_FCTL_STYPE);
-+
-+			if(fsub_type == __cpu_to_le16(IEEE80211_STYPE_PROBE_RESP) ||
-+			   fsub_type == __cpu_to_le16(IEEE80211_STYPE_BEACON))
- 			{
- 				wps_parsed = parse_wps_parameters(packet, header->len, wps);
- 			}
- 	
- 			if(!is_done(bssid) && (get_channel() == channel || source == PCAP_FILE))
- 			{
--				if(frame_header->fc.sub_type == SUBTYPE_BEACON && 
-+				if(fsub_type == __cpu_to_le16(IEEE80211_STYPE_BEACON) && 
- 				   mode == SCAN && 
- 				   !passive && 
- 				   should_probe(bssid))
-@@ -369,7 +372,7 @@ void parse_wps_settings(const u_char *packet, struct pcap_pkthdr *header, char *
- 				 * If there was no WPS information, then the AP does not support WPS and we should ignore it from here on.
- 				 * If this was a probe response, then we've gotten all WPS info we can get from this AP and should ignore it from here on.
- 				 */
--				if(!wps_parsed || frame_header->fc.sub_type == PROBE_RESPONSE)
-+				if(!wps_parsed || fsub_type == __cpu_to_le16(IEEE80211_STYPE_PROBE_RESP))
- 				{
- 					mark_ap_complete(bssid);
- 				}
--- 
-1.7.7
-
-

--- a/net/reaver/patches/0002-Use-the-current-directory-for-storing-and-loading-se.patch
+++ /dev/null
@@ -1,54 +1,1 @@
-From cd444949f3176790101b8bdc9656831a03d8c01d Mon Sep 17 00:00:00 2001
-From: Paul Fertser <fercerpav@gmail.com>
-Date: Tue, 10 Jul 2012 11:13:29 +0400
-Subject: [PATCH 2/3] Use the current directory for storing and loading
- sessions
 
-This allows the user to always explicitely choose (by changing the
-current directory before launching the program) where the session
-files should go. Useful e.g. to avoid hogging the precious space on
-embedded devices, just cd /tmp before starting the app.
-
-Signed-off-by: Paul Fertser <fercerpav@gmail.com>
----
- src/session.c |   16 +++-------------
- 1 files changed, 3 insertions(+), 13 deletions(-)
-
-diff --git a/src/session.c b/src/session.c
-index d3af0c3..308f213 100644
---- a/src/session.c
-+++ b/src/session.c
-@@ -62,7 +62,7 @@ int restore_session()
- 		memset(file, 0, FILENAME_MAX);
- 
- 		bssid = mac2str(get_bssid(), '\0');
--		snprintf(file, FILENAME_MAX, "%s/%s.%s", CONF_DIR, bssid, CONF_EXT);
-+		snprintf(file, FILENAME_MAX, "%s.%s", bssid, CONF_EXT);
- 		free(bssid);
- 	}
- 
-@@ -199,18 +199,8 @@ int save_session()
- 		}
- 		else
- 		{	
--			/* 
--			 * If the configuration directory exists, save the session file there; else, save it to the 
--			 * current working directory.
--			 */
--			if(configuration_directory_exists())
--			{
--        			snprintf((char *) &file_name, FILENAME_MAX, "%s/%s.%s", CONF_DIR, bssid, CONF_EXT);
--			}
--			else
--			{
--				snprintf((char *) &file_name, FILENAME_MAX, "%s.%s", bssid, CONF_EXT);
--			}
-+			/* save session to the current directory */
-+			snprintf((char *) &file_name, FILENAME_MAX, "%s.%s", bssid, CONF_EXT);
- 		}
- 
- 		/* Don't bother saving anything if nothing has been done */
--- 
-1.7.7
-
-

--- a/net/reaver/patches/0003-wash-wpsmon-use-less-useless-spaces-in-output-to-fit.patch
+++ /dev/null
@@ -1,39 +1,1 @@
-From 638bb8d70d6c7e5dc99975e0bf57d8ce0455e2cc Mon Sep 17 00:00:00 2001
-From: Paul Fertser <fercerpav@gmail.com>
-Date: Tue, 10 Jul 2012 11:25:00 +0400
-Subject: [PATCH 3/3] wash/wpsmon: use less useless spaces in output to fit
- narrow terminals
 
-Signed-off-by: Paul Fertser <fercerpav@gmail.com>
----
- src/wpsmon.c |    6 +++---
- 1 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/wpsmon.c b/src/wpsmon.c
-index 22a394f..e0948b3 100644
---- a/src/wpsmon.c
-+++ b/src/wpsmon.c
-@@ -262,8 +262,8 @@ void monitor(char *bssid, int passive, int source, int channel, int mode)
- 
- 	if(!header_printed)
- 	{
--		cprintf(INFO, "BSSID                  Channel       RSSI       WPS Version       WPS Locked        ESSID\n");
--		cprintf(INFO, "---------------------------------------------------------------------------------------------------------------\n");
-+		cprintf(INFO, "BSSID              Channel  RSSI  WPS Version  WPS Locked  ESSID\n");
-+		cprintf(INFO, "--------------------------------------------------------------------------------------\n");
- 		header_printed = 1;
- 	}
- 
-@@ -360,7 +360,7 @@ void parse_wps_settings(const u_char *packet, struct pcap_pkthdr *header, char *
- 							break;
- 					}
- 
--					cprintf(INFO, "%17s      %2d            %.2d        %d.%d               %s               %s\n", bssid, channel, rssi, (wps->version >> 4), (wps->version & 0x0F), lock_display, ssid);
-+					cprintf(INFO, "%17s    %2d       %.2d   %d.%d          %s         %s\n", bssid, channel, rssi, (wps->version >> 4), (wps->version & 0x0F), lock_display, ssid);
- 				}
- 
- 				if(probe_sent)
--- 
-1.7.7
-
-

file:a/net/redsocks/Makefile (deleted)
--- a/net/redsocks/Makefile
+++ /dev/null
@@ -1,53 +1,1 @@
-#
-# Copyright (C) 2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-include $(TOPDIR)/rules.mk
 
-PKG_NAME:=redsocks
-PKG_VERSION:=0.4
-PKG_RELEASE=$(PKG_SOURCE_VERSION)
-
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/darkk/redsocks.git
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=a9cfd090119385a1ef973baf94342a2db20595b9
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/redsocks
-  SECTION:=net
-  CATEGORY:=Network
-  SUBMENU:=Web Servers/Proxies
-  DEPENDS:=+libevent2
-  TITLE:=Redirect any TCP connection to a SOCKS or HTTPS proxy server
-endef
-
-define Package/redsocks/description
-  Redsocks is a daemon running on the local system, that will transparently
-  tunnel any TCP connection via a remote SOCKS4, SOCKS5 or HTTP proxy server. It
-  uses the system firewall's redirection facility to intercept TCP connections,
-  thus the redirection is system-wide, with fine-grained control, and does
-  not depend on LD_PRELOAD libraries.
-
-  Redsocks supports tunneling TCP connections and UDP packets. It has
-  authentication support for both, SOCKS and HTTP proxies.
-
-  Also included is a small DNS server returning answers with the "truncated" flag
-  set for any UDP query, forcing the resolver to use TCP.
-endef
-
-define Package/redsocks/install
-	$(INSTALL_DIR) $(1)/usr/sbin
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/redsocks $(1)/usr/sbin/
-	$(INSTALL_DIR) $(1)/etc/init.d
-	$(INSTALL_BIN) ./files/redsocks.init $(1)/etc/init.d/redsocks
-	$(INSTALL_DIR) $(1)/etc
-	$(INSTALL_CONF) $(PKG_BUILD_DIR)/redsocks.conf.example $(1)/etc/redsocks.conf
-endef
-
-$(eval $(call BuildPackage,redsocks))
-

--- a/net/redsocks/files/redsocks.init
+++ /dev/null
@@ -1,15 +1,1 @@
-#!/bin/sh /etc/rc.common
 
-START=80
-APP=redsocks
-PID_FILE=/var/run/$APP.pid
-
-start() {
-        start-stop-daemon -S -x $APP -p $PID_FILE -m -b -- -c /etc/redsocks.conf
-}
-
-stop() {
-        start-stop-daemon -K -n $APP -p $PID_FILE -s TERM
-        rm -rf $PID_FILE
-}
-

--- a/net/redsocks/patches/010-fix-undeclared.diff
+++ /dev/null
@@ -1,29 +1,1 @@
-diff -ur redsocks-0.4.orig/redudp.c redsocks-0.4/redudp.c
---- redsocks-0.4.orig/redudp.c 2012-07-27 20:30:40.283988208 +0200
-+++ redsocks-0.4/redudp.c      2012-07-27 20:31:35.759985938 +0200
-@@ -33,6 +33,10 @@
- #include "redsocks.h"
- #include "redudp.h"
- 
-+#define IP_ORIGDSTADDR 20
-+#define IP_TRANSPARENT 19
-+#define IP_RECVORIGDSTADDR IP_ORIGDSTADDR
-+
- #define redudp_log_error(client, prio, msg...) \
-       redsocks_log_write_plain(__FILE__, __LINE__, __func__, 0, &(client)->clientaddr, get_destaddr(client), prio, ## msg)
- #define redudp_log_errno(client, prio, msg...) \
-diff -ur redsocks-0.4.orig/utils.c redsocks-0.4/utils.c
---- redsocks-0.4.orig/utils.c  2012-07-27 20:30:40.283988208 +0200
-+++ redsocks-0.4/utils.c       2012-07-27 20:31:20.075986580 +0200
-@@ -26,6 +26,10 @@
- #include "utils.h"
- #include "redsocks.h" // for redsocks_close
- 
-+#define IP_ORIGDSTADDR 20
-+#define IP_TRANSPARENT 19
-+#define IP_RECVORIGDSTADDR IP_ORIGDSTADDR
-+
- int red_recv_udp_pkt(int fd, char *buf, size_t buflen, struct sockaddr_in *inaddr, struct sockaddr_in *toaddr)
- {
-       socklen_t addrlen = sizeof(*inaddr);
 

file:a/net/ser2net/Makefile (deleted)
--- a/net/ser2net/Makefile
+++ /dev/null
@@ -1,51 +1,1 @@
-#
-# Copyright (C) 2006-2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=ser2net
-PKG_VERSION:=2.9.1
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=@SF/ser2net
-PKG_MD5SUM:=80011ac0e60bbdcb65f1d7a86251e3f3
-
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/ser2net
-  SECTION:=net
-  CATEGORY:=Network
-  TITLE:=Serial port TCP/IP redirector
-  URL:=http://sourceforge.net/projects/ser2net/
-endef
-
-define Package/ser2net/description
-  This is ser2net, a program for allowing network connections to serial ports.
-  See the man page for information about using the program. Note that ser2net
-  supports RFC 2217 (remote control of serial port parameters), but you must
-  have a complient client.
-endef
-
-define Package/ser2net/conffiles
-/etc/ser2net.conf
-endef
-
-# uses GNU configure
-
-define Package/ser2net/install
-	$(INSTALL_DIR) $(1)/usr/sbin
-	$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ser2net $(1)/usr/sbin/
-	$(INSTALL_DIR) $(1)/etc
-	$(INSTALL_CONF) $(PKG_BUILD_DIR)/ser2net.conf $(1)/etc/
-endef
-
-$(eval $(call BuildPackage,ser2net))
-

file:a/net/siit/Makefile (deleted)
--- a/net/siit/Makefile
+++ /dev/null
@@ -1,41 +1,1 @@
-#
-# Copyright (C) 2006-2010 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
 
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-PKG_NAME:=siit
-PKG_VERSION:=1.1
-PKG_RELEASE:=2
-
-include $(INCLUDE_DIR)/package.mk
-
-define KernelPackage/siit
-  SUBMENU:=Network Devices
-  TITLE:=Stateless IP ICMP Translation Algorithm
-  DEPENDS:= @(!(TARGET_ps3||TARGET_pxcab)||BROKEN)
-  FILES:=$(PKG_BUILD_DIR)/siit.ko
-  AUTOLOAD:=$(call AutoLoad,50,siit)
-endef
-
-include $(INCLUDE_DIR)/kernel-defaults.mk
-
-define KernelPackage/siit/description
- Stateless IP ICMP Translation Algorithm
-endef
-
-define Build/Prepare
-	mkdir -p $(PKG_BUILD_DIR)
-	cp src/Makefile src/siit.h src/siit.c $(PKG_BUILD_DIR)/
-endef
-
-define Build/Compile
-	$(MAKE) $(KERNEL_MAKEOPTS) SUBDIRS="$(PKG_BUILD_DIR)" modules
-endef
-
-$(eval $(call KernelPackage,siit))
-

file:a/net/siit/src/Makefile (deleted)
--- a/net/siit/src/Makefile
+++ /dev/null
@@ -1,6 +1,1 @@
-obj-m   := siit.o
-ifeq ($(MAKING_MODULES),1)
--include $(TOPDIR)/Rules.make
-endif
 
-

file:a/net/siit/src/siit.c (deleted)
--- a/net/siit/src/siit.c
+++ /dev/null
@@ -1,1426 +1,1 @@
-/*
- * siit.c: the Stateless IP/ICMP Translator (SIIT) module for Linux.
- *
- *
- */
 
-#include <linux/version.h>
-#include <linux/module.h>
-#include <linux/sched.h>
-#include <linux/kernel.h>       /* printk() */
-#include <linux/slab.h>
-
-#include <linux/errno.h>        /* error codes */
-#include <linux/types.h>        /* size_t */
-#include <linux/interrupt.h>    /* mark_bh */
-#include <linux/random.h>
-#include <linux/in.h>
-#include <linux/netdevice.h>    /* struct device, and other headers */
-#include <linux/etherdevice.h>  /* eth_type_trans */
-#include <net/ip.h>             /* struct iphdr */
-#include <net/icmp.h>           /* struct icmphdr */
-#include <net/ipv6.h>
-#include <net/udp.h>
-#include <linux/skbuff.h>
-#include <linux/in6.h>
-#include <linux/init.h>
-#include <asm/uaccess.h>
-#include <asm/checksum.h>
-#include <net/ip6_checksum.h>
-#include <linux/in6.h>
-#include "siit.h"
-
-MODULE_AUTHOR("Dmitriy Moscalev, Grigory Klyuchnikov, Felix Fietkau");
-
-/*
- * If tos_ignore_flag != 0, we don't copy TOS and Traffic Class
- * from origin paket and set it to 0
- */
-int tos_ignore_flag = 0;
-
-#define siit_stats(_dev) (&(_dev)->stats)
-
-/*
- * The Utility  stuff
- */
-
-#ifdef SIIT_DEBUG
-/* print dump bytes (data point data area sizeof len and message
- * before dump.
- */
-static int siit_print_dump(char *data, int len, char *message)
-{
-	int i;
-	int j = 0, k = 1;
-
-	len = len > BUFF_SIZE ? BUFF_SIZE : len;
-	printk("%s:\n", message);
-	for (i=0; i < len; i++, k++) {
-		if( i == len-1 || k == 16) {
-			printk("%02x\n", (~(~0 << 8) & *(data+i)));
-			j = 0;
-			k = 0;
-		}
-		else if (j) {
-			printk("%02x ", (~(~0 << 8) & *(data+i)));
-			j--;
-		}
-		else {
-			printk("%02x", (~(~0 << 8) & *(data+i)));
-			j++;
-		}
-	}
-	return 0;
-}
-#endif
-
-/*
- * Open and close
- */
-static int siit_open(struct net_device *dev)
-{
-	netif_start_queue(dev);
-	return 0;
-}
-
-
-static int siit_release(struct net_device *dev)
-{
-	netif_stop_queue(dev); /* can't transmit any more */
-	return 0;
-}
-
-/*
- * Translation IPv4 to IPv6 stuff
- *
- * ip4_ip6 (src, len, dst, include_flag)
- *
- * where
- * src - buffer with original IPv4 packet,
- * len - size of original packet,
- * dst - new buffer for IPv6 packet,
- * include_flag - if = 1, dst point to IPv4 packet that is ICMP error
- *                included IP packet, else = 0
- */
-
-static int ip4_ip6(char *src, int len, char *dst, int include_flag)
-{
-	struct iphdr *ih4 = (struct iphdr *) src; /* point to current IPv4 header struct */
-	struct icmphdr *icmp_hdr;   /* point to current ICMPv4 header struct */
-	struct udphdr *udp_hdr;     /* point to current IPv4 UDP header struct */
-
-	struct ipv6hdr *ih6 = (struct ipv6hdr *) dst; /* point to current IPv6 header struct */
-	struct frag_hdr *ih6_frag = (struct frag_hdr *)(dst+sizeof(struct ipv6hdr));
-										      /* point to current IPv6 fragment header struct */
-	struct icmp6hdr *icmp6_hdr; /* point to current ICMPv6 header */
-
-	int hdr_len = (int)(ih4->ihl * 4); /* IPv4 header length */
-	int icmp_len;               /* ICMPv4 packet length */
-	int plen;                   /* payload length */
-
-	unsigned int csum;          /* need to calculate ICMPv6 and UDP checksum */
-	int fl_csum = 0;            /* flag to calculate UDP checksum */
-	int icmperr = 1;            /* flag to indicate ICMP error message and to need
-								   translate ICMP included IP packet */
-	int fr_flag = 0;            /* fragment flag, if = 0 - don't add
-								   fragment header */
-	__u16 new_tot_len;          /* need to calculate IPv6 total length */
-	__u8 new_nexthdr;           /* next header code */
-	__u16 icmp_ptr = 0;         /* Pointer field in ICMP_PARAMETERPROB */
-
-#ifdef SIIT_DEBUG              /* print IPv4 header dump */
-	siit_print_dump(src, hdr_len, "siit: ip4_ip6() (in) ip4 header dump");
-#endif
-
-	/* If DF == 1 && MF == 0 && Fragment Offset == 0
-	 * or this packet is ICMP included IP packet
-	 * we don't need fragment header */
-	if (ntohs(ih4->frag_off) == IP_DF || include_flag ) {
-		/* not fragment and we need not to add Fragment
-		 * Header to IPv6 packet. */
-		/* total length = total length from IPv4 packet */
-		new_tot_len = ntohs(ih4->tot_len);
-
-		if (ih4->protocol == IPPROTO_ICMP)
-			new_nexthdr = NEXTHDR_ICMP;
-		else
-			new_nexthdr = ih4->protocol;
-	}
-	else {
-		/* need to add Fragment Header */
-		fr_flag = 1;
-		/* total length = total length from IPv4 packet +
-		   length of Fragment Header */
-		new_tot_len = ntohs(ih4->tot_len) + sizeof(struct frag_hdr);
-		/* IPv6 Header NextHeader = NEXTHDR_FRAGMENT */
-		new_nexthdr = NEXTHDR_FRAGMENT;
-		/* Fragment Header NextHeader copy from IPv4 packet */
-		if (ih4->protocol == IPPROTO_ICMP)
-			ih6_frag->nexthdr = NEXTHDR_ICMP;
-		else
-			ih6_frag->nexthdr = ih4->protocol;
-
-		/* copy frag offset from IPv4 packet */
-		ih6_frag->frag_off = htons((ntohs(ih4->frag_off) & IP_OFFSET) << 3);
-		/* copy MF flag from IPv4 packet */
-		ih6_frag->frag_off = htons((ntohs(ih6_frag->frag_off) |
-									((ntohs(ih4->frag_off) & IP_MF) >> 13)));
-		/* copy Identification field from IPv4 packet */
-		ih6_frag->identification = htonl(ntohs(ih4->id));
-		/* reserved field initialized to zero */
-		ih6_frag->reserved = 0;
-	}
-
-	/* Form rest IPv6 fields */
-
-	/*
-	 * At this point we need to add checking of unxpired source
-	 * route optin and if it is, send ICMPv4 "destination
-	 * unreacheble/source route failes" Type 3/Code 5 and
-	 * drop packet. (NOT RELEASED YET)
-	 */
-
-	/* IP version = 6 */
-	ih6->version = 6;
-
-	if (tos_ignore_flag) {
-		ih6->priority = 0;
-		ih6->flow_lbl[0] = 0;
-	} else {
-		ih6->priority = (ih4->tos & 0xf0) >> 4;
-		ih6->flow_lbl[0] = (ih4->tos & 0x0f) << 4;
-	}
-	ih6->flow_lbl[1] = 0;
-	ih6->flow_lbl[2] = 0;
-
-	/* Hop Limit = IPv4 TTL */
-	ih6->hop_limit = ih4->ttl;
-
-	/* Translate source destination addresses,
-	   for IPv6 host it's IPv4-translated IPv6 address,
-	   for IPv4 host it's IPv4-mapped IPv6 address
-
-	   !!WARNING!! Instead IPv4-mapped IPv6 addresses we use addreesses
-	   with unused prefix ::ffff:ffff:0:0/96, because KAME implementation
-	   doesn't support IPv4-mapped addresses in IPv6 packets and discard them.
-
-	*/
-
-	if (include_flag) {
-		/*
-		   It's ICMP included IP packet and there is a diffirence
-		   in src/dst addresses then src/dst in normal direction
-		 */
-
-		/*
-		   Source address
-		   is IPv4-translated IPv6 address because packet traveled
-		   from IPv6 to IPv4 area
-		*/
-		ih6->saddr.in6_u.u6_addr32[0] = 0;
-		ih6->saddr.in6_u.u6_addr32[1] = 0;
-		ih6->saddr.in6_u.u6_addr32[2] = htonl(TRANSLATED_PREFIX); /* to network order bytes */
-		ih6->saddr.in6_u.u6_addr32[3] = ih4->saddr;
-
-		/*
-		   Destination address
-		   is IPv4-mapped address (but it's not IPv4- mapped, we use
-		   prefix ::ffff:ffff:0:0/96
-		 */
-		ih6->daddr.in6_u.u6_addr32[0] = 0;
-		ih6->daddr.in6_u.u6_addr32[1] = 0;
-		ih6->daddr.in6_u.u6_addr32[2] = htonl(MAPPED_PREFIX); /* to network order bytes */
-		ih6->daddr.in6_u.u6_addr32[3] = ih4->daddr;
-	}
-	else {
-
-		/*
-		   This is normal case (packet isn't included IP packet)
-
-		   Source address
-		   is IPv4-mapped address (but it's not IPv4- mapped, we use
-		   prefix ::ffff:ffff:0:0/96)
-		*/
-		ih6->saddr.in6_u.u6_addr32[0] = 0;
-		ih6->saddr.in6_u.u6_addr32[1] = 0;
-		ih6->saddr.in6_u.u6_addr32[2] = htonl(MAPPED_PREFIX); /* to network order bytes */
-		ih6->saddr.in6_u.u6_addr32[3] = ih4->saddr;
-
-		/* Destination address
-		   is is IPv4-translated IPv6 address
-		 */
-		ih6->daddr.in6_u.u6_addr32[0] = 0;
-		ih6->daddr.in6_u.u6_addr32[1] = 0;
-		ih6->daddr.in6_u.u6_addr32[2] = htonl(TRANSLATED_PREFIX); /* to network order bytes */
-		ih6->daddr.in6_u.u6_addr32[3] = ih4->daddr;
-	}
-
-	/* Payload Length */
-	plen = new_tot_len - hdr_len; /* Payload length = IPv4 total len - IPv4 header len */
-	ih6->payload_len = htons(plen);
-
-	/* Next Header */
-	ih6->nexthdr = new_nexthdr; /* Next Header */
-
-	/* Process ICMP protocols data */
-
-	switch (ih4->protocol) {
-	case IPPROTO_ICMP:
-		if ( (ntohs(ih4->frag_off) & IP_OFFSET) != 0 || (ntohs(ih4->frag_off) & IP_MF) != 0 ) {
-			PDEBUG("ip4_ip6(): don't translate ICMPv4 fragments - packet dropped.\n");
-			return -1;
-		}
-
-		icmp_hdr = (struct icmphdr *) (src+hdr_len); /* point to ICMPv4 header */
-		csum = 0;
-		icmp_len =  ntohs(ih4->tot_len) - hdr_len; /* ICMPv4 packet length */
-		icmp6_hdr = (struct icmp6hdr *)(dst+sizeof(struct ipv6hdr)
-									    +fr_flag*sizeof(struct frag_hdr)); /* point to ICMPv6 header */
-
-		if (include_flag) {
-			/* ICMPv4 packet cannot be included in ICMPv4 Error message */
-			/* !!! May be it's WRONG !!! ICMPv4 QUERY packet can be included
-			   in ICMPv4 Error message */
-			PDEBUG("ip4_ip6(): It's included ICMPv4 in ICMPv4 Error message - packet dropped.\n");
-			return -1;
-		}
-
-		/* Check ICMPv4 Type field */
-		switch (icmp_hdr->type) {
-		/* ICMP Error messages */
-		/* Destination Unreachable (Type 3) */
-		case ICMP_DEST_UNREACH:
-			icmp6_hdr->icmp6_type = ICMPV6_DEST_UNREACH; /* to Type 1 */
-			icmp6_hdr->icmp6_unused = 0;
-			switch (icmp_hdr->code)
-			{
-			case ICMP_NET_UNREACH: /* Code 0 */
-			case ICMP_HOST_UNREACH: /* Code 1 */
-			case ICMP_SR_FAILED: /* Code 5 */
-			case ICMP_NET_UNKNOWN: /* Code 6 */
-			case ICMP_HOST_UNKNOWN: /* Code 7 */
-			case ICMP_HOST_ISOLATED: /* Code 8 */
-			case ICMP_NET_UNR_TOS: /* Code 11 */
-			case ICMP_HOST_UNR_TOS: /* Code 12 */
-				icmp6_hdr->icmp6_code = ICMPV6_NOROUTE; /* to Code 0 */
-				break;
-			case ICMP_PROT_UNREACH: /* Code 2 */
-				icmp6_hdr->icmp6_type = ICMPV6_PARAMPROB; /* to Type 4 */
-				icmp6_hdr->icmp6_code = ICMPV6_UNK_NEXTHDR; /* to Code 1 */
-				/* Set pointer filed to 6, it's octet offset IPv6 Next Header field */
-				icmp6_hdr->icmp6_pointer = htonl(6);
-				break;
-			case ICMP_PORT_UNREACH: /* Code 3 */
-				icmp6_hdr->icmp6_code = ICMPV6_PORT_UNREACH; /* to Code 4 */
-				break;
-			case ICMP_FRAG_NEEDED: /* Code 4 */
-				icmp6_hdr->icmp6_type = ICMPV6_PKT_TOOBIG; /* to Type 2 */
-				icmp6_hdr->icmp6_code = 0;
-				/* Correct MTU  */
-				if (icmp_hdr->un.frag.mtu == 0)
-					/* we use minimum MTU for IPv4 PMTUv4 RFC1191, section 5;
-					   IPv6 implementation wouldn't accept Path MTU < 1280,
-					   but it records info correctly to always include
-					   a fragment header */
-					icmp6_hdr->icmp6_mtu = htonl(576);
-				else
-					/* needs to adjusted for difference between IPv4/IPv6 headers
-					 * SIIT RFC2765, section 3.3,
-					 * we assume that difference is 20 bytes */
-					icmp6_hdr->icmp6_mtu = htonl(ntohs(icmp_hdr->un.frag.mtu)+IP4_IP6_HDR_DIFF);
-
-				break;
-			case ICMP_NET_ANO: /* Code 9 */
-			case ICMP_HOST_ANO: /* Code 10 */
-				icmp6_hdr->icmp6_code = ICMPV6_ADM_PROHIBITED; /* to Code 1 */
-				break;
-			default: /* discard any other Code */
-				PDEBUG("ip4_ip6(): Unknown ICMPv4 Type %d Code %d - packet dropped.\n",
-					   ICMP_DEST_UNREACH, icmp_hdr->code);
-				return -1;
-			}
-			break;
-			/* Time Exceeded (Type 11) */
-		case ICMP_TIME_EXCEEDED:
-			icmp6_hdr->icmp6_type = ICMPV6_TIME_EXCEED;
-			icmp6_hdr->icmp6_code = icmp_hdr->code;
-			break;
-			/* Parameter Problem (Type 12) */
-		case ICMP_PARAMETERPROB:
-			icmp6_hdr->icmp6_type = ICMPV6_PARAMPROB;
-			icmp6_hdr->icmp6_code = icmp_hdr->code;
-
-			icmp_ptr = ntohs(icmp_hdr->un.echo.id) >> 8;
-			switch (icmp_ptr) {
-			case 0:
-				icmp6_hdr->icmp6_pointer = 0; /* IPv4 Version -> IPv6 Version */
-				break;
-			case 2:
-				icmp6_hdr->icmp6_pointer = __constant_htonl(4); /* IPv4 length -> IPv6 Payload Length */
-				break;
-			case 8:
-				icmp6_hdr->icmp6_pointer = __constant_htonl(7); /* IPv4 TTL -> IPv6 Hop Limit */
-				break;
-			case 9:
-				icmp6_hdr->icmp6_pointer = __constant_htonl(6); /* IPv4 Protocol -> IPv6 Next Header */
-				break;
-			case 12:
-				icmp6_hdr->icmp6_pointer = __constant_htonl(8); /* IPv4 Src Addr -> IPv6 Src Addr */
-				break;
-			case 16:
-				icmp6_hdr->icmp6_pointer = __constant_htonl(24); /* IPv4 Dst Addr -> IPv6 Dst Addr */
-				break;
-			default:
-				icmp6_hdr->icmp6_pointer = 0xffffffff; /* set to all ones in any other cases */
-				break;
-			}
-			break;
-		case ICMP_ECHO:
-			icmperr = 0;
-			icmp6_hdr->icmp6_type = ICMPV6_ECHO_REQUEST;
-			icmp6_hdr->icmp6_code = 0;
-			/* Copy rest ICMP data to new IPv6 packet without changing */
-			memcpy(((char *)icmp6_hdr)+4, ((char *)icmp_hdr)+4, len - hdr_len - 4);
-			break;
-
-		case ICMP_ECHOREPLY:
-			icmperr = 0;
-			icmp6_hdr->icmp6_type = ICMPV6_ECHO_REPLY;
-			icmp6_hdr->icmp6_code = 0;
-			/* Copy rest ICMP data to new IPv6 packet without changing */
-			memcpy(((char *)icmp6_hdr)+4, ((char *)icmp_hdr)+4, len - hdr_len - 4);
-			break;
-
-			/* Discard any other ICMP messages */
-		default:
-			PDEBUG("ip4_ip6(): Unknown ICMPv4 packet Type %x - packet dropped.\n", icmp_hdr->type);
-			return -1;
-		}
-
-		/* Now if it's ICMPv4 Error message we must translate included IP packet */
-
-		if (icmperr) {
-			/* Call our ip4_ip6() to translate included IP packet */
-			if (ip4_ip6(src+hdr_len+sizeof(struct icmphdr), len - hdr_len - sizeof(struct icmphdr),
-						dst+sizeof(struct ipv6hdr)+fr_flag*sizeof(struct frag_hdr)
-						+sizeof(struct icmp6hdr), 1) == -1) {
-				PDEBUG("ip4_ip6(): Uncorrect translation of ICMPv4 Error message - packet dropped.\n");
-				return -1;
-			}
-			/* correct ICMPv6 packet length for diffirence between IPv4 and IPv6 headers
-			   in included IP packet
-			   */
-			icmp_len += 20;
-			/* and correct Payload length for diffirence between IPv4 and IPv6 headers */
-			plen += 20;
-			ih6->payload_len = htons(plen);
-		}
-
-		/* Calculate ICMPv6 checksum */
-
-		icmp6_hdr->icmp6_cksum = 0;
-		csum = 0;
-
-		csum = csum_partial((u_char *)icmp6_hdr, icmp_len, csum);
-		icmp6_hdr->icmp6_cksum = csum_ipv6_magic(&ih6->saddr, &ih6->daddr, icmp_len,
-									         IPPROTO_ICMPV6, csum);
-		break;
-
-	/* Process TCP protocols data */
-	case IPPROTO_TCP:
-		/* Copy TCP data to new IPv6 packet without changing */
-		memcpy(dst+sizeof(struct ipv6hdr)+fr_flag*sizeof(struct frag_hdr),
-				   src+hdr_len, len - hdr_len);
-		break;
-
-	/* Process UDP protocols data */
-	case IPPROTO_UDP:
-		udp_hdr = (struct udphdr *)(src+hdr_len);
-		if ((ntohs(ih4->frag_off) & IP_OFFSET) == 0) {
-			if ((ntohs(ih4->frag_off) & IP_MF) != 0) {
-				/* It's a first fragment */
-				if (udp_hdr->check == 0) {
-					/* System management event */
-					printk("siit: First fragment of UDP with zero checksum - packet droped\n");
-					printk("siit: addr: %x src port: %d dst port: %d\n",
-						   htonl(ih4->saddr), htons(udp_hdr->source), htons(udp_hdr->dest));
-					return -1;
-				}
-			}
-			else if (udp_hdr->check == 0)
-				fl_csum = 1;
-		}
-
-		/* Copy UDP data to new IPv6 packet */
-		udp_hdr = (struct udphdr *)(dst+sizeof(struct ipv6hdr)
-									+ fr_flag*sizeof(struct frag_hdr));
-		memcpy((char *)udp_hdr, src+hdr_len, len - hdr_len);
-
-		/* Calculate UDP checksum if UDP checksum in IPv4 packet was ZERO
-		   and if it isn't included IP packet
-		 */
-		if (fl_csum && (!include_flag)) {
-			udp_hdr->check = 0;
-			csum = 0;
-			csum = csum_partial((unsigned char *)udp_hdr, plen - fr_flag*sizeof(struct frag_hdr), csum);
-			udp_hdr->check = csum_ipv6_magic(&ih6->saddr, &ih6->daddr, plen -
-										     fr_flag*sizeof(struct frag_hdr), IPPROTO_UDP, csum);
-		}
-		break;
-
-	/* Discard packets with any other protocol */
-	default:
-		PDEBUG("ip4_ip6(): Unknown upper protocol - packet dropped.\n");
-		return -1;
-	}
-
-#ifdef SIIT_DEBUG
-	siit_print_dump(dst, sizeof(struct ipv6hdr), "siit: ip4_ip6(): (out) ipv6 header dump");
-#endif
-
-	return 0;
-}
-
-/*
- * Translation IPv6 to IPv4 stuff
- *
- * ip6_ip4(src, len, dst, include_flag)
- *
- * where
- * src - buffer with original IPv6 packet,
- * len - size of original packet,
- * dst - new buffer for IPv4 packet,
- * include_flag - if = 1, dst point to IPv6 packet that is ICMP error
- *                included IP packet, else = 0
- *
- */
-
-static int ip6_ip4(char *src, int len, char *dst, int include_flag)
-{
-	struct ipv6hdr *ip6_hdr;    /* point to current IPv6 header struct */
-	struct iphdr *ip_hdr;       /* point to current IPv4 header struct */
-	int opts_len = 0;           /* to sum Option Headers length */
-	int icmperr = 1;            /* if = 1, indicate that packet is ICMP Error message, else = 0 */
-	int ntot_len = 0;           /* to calculate IPv6 Total Length field */
-	int real_len;
-	int len_delta;
-	int ip6_payload_len;
-	int inc_opts_len = 0;       /* to sum Option Headers length in ICMP included IP packet */
-	__u8 next_hdr;              /* Next Header */
-
-#ifdef SIIT_DEBUG
-	siit_print_dump(src, sizeof(struct ipv6hdr), "siit: ip6_ip4(): (in) ipv6 header dump");
-#endif
-
-	if ( (len_delta = len - sizeof(struct ipv6hdr)) >= 0)
-	{
-		ip6_hdr = (struct ipv6hdr *)src;
-		ip_hdr = (struct iphdr *)dst;
-
-		real_len = sizeof(struct iphdr);
-
-		/* Check validation of Saddr & Daddr? is a packet to fall under our translation? */
-		if (include_flag) { /* It's ICMP included IP packet,
-							   about process include_flag see comment in ip4_ip6() */
-			if (ip6_hdr->saddr.s6_addr32[2] != htonl(MAPPED_PREFIX)) {
-				PDEBUG("ip6_ip4(): Included IP packet Src addr isn't mapped addr: %x%x%x%x, packet dropped.\n",
-					   ip6_hdr->saddr.s6_addr32[0], ip6_hdr->saddr.s6_addr32[1],
-					   ip6_hdr->saddr.s6_addr32[2], ip6_hdr->saddr.s6_addr32[3]);
-				return -1;
-			}
-			if ( ip6_hdr->daddr.s6_addr32[2] != htonl(TRANSLATED_PREFIX)) {
-				PDEBUG("ip6_ip4(): Included IP packet Dst addr isn't translated addr: %x%x%x%x, packet dropped.\n",
-					   ip6_hdr->daddr.s6_addr32[0], ip6_hdr->daddr.s6_addr32[1],
-					   ip6_hdr->daddr.s6_addr32[2], ip6_hdr->daddr.s6_addr32[3]);
-				return -1;
-			}
-		}
-		else { /* It's normal IP packet (not included in ICMP) */
-			if (ip6_hdr->saddr.s6_addr32[2] != htonl(TRANSLATED_PREFIX)) {
-				PDEBUG("ip6_ip4(): Src addr isn't translated addr: %x%x%x%x, packet dropped.\n",
-					   ip6_hdr->saddr.s6_addr32[0], ip6_hdr->saddr.s6_addr32[1],
-					   ip6_hdr->saddr.s6_addr32[2], ip6_hdr->saddr.s6_addr32[3]);
-				return -1;
-			}
-			if ( ip6_hdr->daddr.s6_addr32[2] != htonl(MAPPED_PREFIX)) {
-				PDEBUG("ip6_ip4(): Dst addr isn't mapped addr: %x%x%x%x, packet dropped.\n",
-					   ip6_hdr->daddr.s6_addr32[0], ip6_hdr->daddr.s6_addr32[1],
-					   ip6_hdr->daddr.s6_addr32[2], ip6_hdr->daddr.s6_addr32[3]);
-				return -1;
-			}
-		}
-
-		/* Set IPv4 Fragment Offset and ID to 0
-		   before process any Option Headers */
-		ip_hdr->frag_off = 0;
-		ip_hdr->id = 0;
-
-		/*
-		 * We process only Fragment Header. Any other options headers
-		 * are ignored, i.e. there is no attempt to translate them.
-		 * However, the Total Length field and the Protocol field would
-		 * have to be adjusted to "skip" these extension headers.
-		 */
-
-		next_hdr = ip6_hdr->nexthdr;
-
-		/* Hop_by_Hop options header (ip6_hdr->nexthdr = 0). It must
-		 * appear only in IPv6 header's Next Header field.
-		 */
-		if (next_hdr == NEXTHDR_HOP) {
-			if ( (len_delta - sizeof(struct ipv6_opt_hdr)) >= 0)
-			{
-				struct ipv6_opt_hdr *ip6h =
-					(struct ipv6_opt_hdr *)(src+sizeof(struct ipv6hdr) + opts_len);
-				if ( (len_delta -= ip6h->hdrlen*8 + 8) >= 0)
-				{
-					opts_len += ip6h->hdrlen*8 + 8;  /* See  RFC 2460 page 11:
-							Hdr Ext Len  8-bit unsigned integer.  Length of the Hop-by-
-										 Hop Options header in 8-octet units, not
-										 including the first 8 octets.
-							*/
-					next_hdr = ip6h->nexthdr;
-				}
-				else
-				{
-					PDEBUG("ip6_ip4(): hop_by_hop header error, packet droped");
-					/* Generate ICMP Parameter Problem */
-					return -1;
-				}
-			}
-		}
-
-		if (len_delta > 0)
-		{
-			while(next_hdr != NEXTHDR_ICMP && next_hdr != NEXTHDR_TCP
-				  && next_hdr != NEXTHDR_UDP)
-			{
-				/* Destination options header */
-				if (next_hdr == NEXTHDR_DEST)
-				{
-					if ( (len_delta - sizeof(struct ipv6_opt_hdr)) >= 0)
-					{
-						struct ipv6_opt_hdr *ip6d =
-							(struct ipv6_opt_hdr *)(src + sizeof(struct ipv6hdr) + opts_len);
-						if ( (len_delta -= ip6d->hdrlen*8 + 8) >= 0)
-						{
-							opts_len += ip6d->hdrlen*8 + 8;
-							next_hdr = ip6d->nexthdr;
-						}
-					}
-					else
-					{
-						PDEBUG("ip6_ip4(): destination header error, packet droped");
-						/* Generate ICMP Parameter Problem */
-						return -1;
-					}
-				}
-				/* Routing options header */
-				else if (next_hdr == NEXTHDR_ROUTING)
-				{
-					if ( (len_delta - sizeof(struct ipv6_rt_hdr)) >= 0)
-					{
-						struct ipv6_rt_hdr *ip6rt =
-							(struct ipv6_rt_hdr *)(src+sizeof(struct ipv6hdr) + opts_len);
-						/* RFC 2765 SIIT, 4.1:
-						   If a routing header with a non-zero Segments Left field is present
-						   then the packet MUST NOT be translated, and an ICMPv6 "parameter
-						   problem/ erroneous header field encountered" (Type 4/Code 0) error
-						   message, with the Pointer field indicating the first byte of the
-						   Segments Left field, SHOULD be returned to the sender.
-						   */
-						if (ip6rt->segments_left != 0) {
-							/* Build ICMPv6 "Parameter Problem/Erroneous Header
-							   Field Encountered" & drop the packet */
-							/* !!! We don't send ICMPv6 "Parameter Problem" !!! */
-							PDEBUG("ip6_ip4(): routing header type != 0\n");
-							return -1;
-						}
-						if ( (len_delta -= ip6rt->hdrlen*8 + 8) >= 0)
-						{
-							opts_len += ip6rt->hdrlen*8 + 8;
-							next_hdr = ip6rt->nexthdr;
-						}
-						else
-						{
-							PDEBUG("ip6_ip4(): routing header error, packet droped");
-							/* Generate ICMP Parameter Problem */
-							return -1;
-						}
-					}
-				}
-				/* Fragment options header */
-				else if (next_hdr == NEXTHDR_FRAGMENT)
-				{
-					if ( (len_delta -= sizeof(struct frag_hdr)) >= 0)
-					{
-						struct frag_hdr *ip6f =
-							(struct frag_hdr *)(src+sizeof(struct ipv6hdr)+opts_len);
-
-						opts_len += sizeof(struct frag_hdr);      /* Frag Header Length = 8 */
-						ip_hdr->id = htons(ntohl(ip6f->identification)); /* ID field */
-						ip_hdr->frag_off = htons((ntohs(ip6f->frag_off) & IP6F_OFF_MASK) >> 3);
-										                                   /* fragment offset */
-						ip_hdr->frag_off = htons(ntohs(ip_hdr->frag_off) |
-										         ((ntohs(ip6f->frag_off) & IP6F_MORE_FRAG) << 13));
-										                                  /* more fragments flag */
-						next_hdr = ip6f->nexthdr;
-					}
-					else
-					{
-						PDEBUG("ip6_ip4(): fragment header error, packet droped");
-						/* Generate ICMP Parameter Problem */
-						return -1;
-					}
-				}
-				/* No Next Header */
-				else if (next_hdr == NEXTHDR_NONE)
-				{
-					/* RFC 2460 IPv6 Specification, 4.7
-					   4.7 No Next Header
-
-					   The value 59 in the Next Header field of an IPv6 header or any
-					   extension header indicates that there is nothing following that
-					   header.  If the Payload Length field of the IPv6 header indicates the
-					   presence of octets past the end of a header whose Next Header field
-					   contains 59, those octets must be ignored, and passed on unchanged if
-					   the packet is forwarded.
-					   */
-					break;
-				}
-				else if (next_hdr == NEXTHDR_ESP || next_hdr == NEXTHDR_AUTH)
-				{
-					PDEBUG("ip6_ip4(): cannot translate AUTH or ESP extention header, packet dropped\n");
-					return -1;
-				}
-				else if (next_hdr == NEXTHDR_IPV6)
-				{
-					PDEBUG("ip6_ip4(): cannot translate IPv6-IPv6 packet, packet dropped\n");
-					return -1;
-				}
-				else if (next_hdr == 0)
-				{
-					/* As say RFC 2460 (IPv6 Spec) we should discard the packet and send an
-					   ICMP Parameter Problem message to the source of the packet, with an
-					   ICMP Code value of 1 ("unrecognized Next Header type encountered")
-					   and the ICMP Pointer field containing the offset of the unrecognized
-					   value within the original packet
-					   */
-					/* NOT IMPLEMENTED */
-					PDEBUG("ip6_ip4(): NEXTHDR in extention header = 0, packet dropped\n");
-					return -1;
-				}
-				else
-				{
-					PDEBUG("ip6_ip4(): cannot translate extention header = %d, packet dropped\n", next_hdr);
-					return -1;
-				}
-			}
-		}
-	}
-	else
-	{
-	   PDEBUG("ip6_ip4(): error packet len, packet dropped.\n");
-	   return -1;
-	}
-
-	/* Building ipv4 packet */
-
-	ip_hdr->version = IPVERSION;
-	ip_hdr->ihl = 5;
-
-	/* TOS see comment about TOS in ip4_ip6() */
-	if (tos_ignore_flag)
-		ip_hdr->tos = 0;
-	else {
-		ip_hdr->tos = ip6_hdr->priority << 4;
-		ip_hdr->tos = ip_hdr->tos | (ip6_hdr->flow_lbl[0] >> 4);
-	}
-
-	/* IPv4 Total Len = IPv6 Payload Len +
-	   IPv4 Header Len (without options) - Options Headers Len */
-	ip6_payload_len = ntohs(ip6_hdr->payload_len);
-
-	if (ip6_payload_len == 0)
-		ntot_len = 0;
-	else
-		ntot_len = ip6_payload_len + IP4_IP6_HDR_DIFF - opts_len;
-
-	ip_hdr->tot_len = htons(ntot_len);
-
-	/* IPv4 TTL = IPv6 Hop Limit */
-	ip_hdr->ttl = ip6_hdr->hop_limit;
-
-	/* IPv4 Protocol = Next Header that will point to upper layer protocol */
-	ip_hdr->protocol = next_hdr;
-
-	/* IPv4 Src addr = last 4 bytes from IPv6 Src addr */
-	ip_hdr->saddr = ip6_hdr->saddr.s6_addr32[3];
-	/* IPv4 Dst addr = last 4 bytes from IPv6 Dst addr */
-	ip_hdr->daddr = ip6_hdr->daddr.s6_addr32[3];
-
-	/* Calculate IPv4 header checksum */
-	ip_hdr->check = 0;
-	ip_hdr->check = ip_fast_csum((unsigned char *)ip_hdr, ip_hdr->ihl);
-
-	if (len_delta > 0)
-	{
-		/* PROCESS ICMP */
-
-		if (next_hdr == NEXTHDR_ICMP)
-		{
-			struct icmp6hdr *icmp6_hdr;
-			struct icmphdr *icmp_hdr;
-
-			if ((len_delta -= sizeof(struct icmp6hdr)) >= 0)
-			{
-				icmp6_hdr = (struct icmp6hdr *)(src + sizeof(struct ipv6hdr) + opts_len);
-				icmp_hdr = (struct icmphdr *)(dst + sizeof(struct iphdr));
-
-				real_len += len_delta + sizeof(struct icmphdr);
-
-				/* There is diffirent between ICMPv4/ICMPv6 protocol codes
-				   IPPROTO_ICMP = 1
-				   IPPROTO_ICMPV6 = 58        */
-				ip_hdr->protocol = IPPROTO_ICMP;
-
-				if (include_flag) {
-					/* !!! Warnig !!! We discard ICMP packets with any ICMP as included
-					   in ICMP Error. But ICMP Error messages can include ICMP Query message
-					   */
-					if (icmp6_hdr->icmp6_type != ICMPV6_ECHO_REQUEST)
-					{
-						PDEBUG("ip6_ip4(): included ICMPv6 in ICMPv6 Error message, packet dropped\n");
-						return -1;
-					}
-				}
-
-			/* Translate ICMPv6 to ICMPv4 */
-				switch (icmp6_hdr->icmp6_type)
-				{
-/* ICMP Error messages */
-			/* Destination Unreachable (Type 1) */
-				case ICMPV6_DEST_UNREACH: /* Type 1 */
-					icmp_hdr->type = ICMP_DEST_UNREACH; /* to Type 3 */
-					icmp_hdr->un.echo.id = 0;
-					icmp_hdr->un.echo.sequence = 0;
-					switch (icmp6_hdr->icmp6_code)
-					{
-					case ICMPV6_NOROUTE: /* Code 0 */
-					case ICMPV6_NOT_NEIGHBOUR: /* Code 2 */
-					case ICMPV6_ADDR_UNREACH: /* Code 3  */
-						icmp_hdr->code = ICMP_HOST_UNREACH; /* To Code 1 */
-						break;
-					case ICMPV6_ADM_PROHIBITED: /* Code 1 */
-						icmp_hdr->code = ICMP_HOST_ANO; /* To Code 10 */
-						break;
-					case ICMPV6_PORT_UNREACH: /* Code 4 */
-						icmp_hdr->code = ICMP_PORT_UNREACH; /* To Code 3 */
-
-						break;
-					default:            /* discard any other codes */
-						PDEBUG("ip6_ip4(): Unknown ICMPv6 Type %d Code %d - packet dropped.\n",
-							   ICMPV6_DEST_UNREACH, icmp6_hdr->icmp6_code);
-						return -1;
-					}
-					break;
-			/* Packet Too Big (Type 2) */
-				case ICMPV6_PKT_TOOBIG: /* Type 2 */
-					icmp_hdr->type = ICMP_DEST_UNREACH; /* to Type 3  */
-					icmp_hdr->code = ICMP_FRAG_NEEDED; /*  to Code 4 */
-					/* Change MTU, RFC 2765 (SIIT), 4.2:
-					   The MTU field needs to be adjusted for the difference between
-					   the IPv4 and IPv6 header sizes taking into account whether or
-					   not the packet in error includes a Fragment header.
-					   */
-					/* !!! Don't implement !!! */
-					icmp_hdr->un.frag.mtu = (__u16) icmp6_hdr->icmp6_mtu;
-					break;
-			/* Time Exceeded (Type 3) */
-				case ICMPV6_TIME_EXCEED:
-					icmp_hdr->type = ICMP_TIME_EXCEEDED; /* to Type 11 */
-					icmp_hdr->code = icmp6_hdr->icmp6_code; /* Code unchanged */
-					break;
-			/* Parameter Problem (Type 4) */
-				case ICMPV6_PARAMPROB:
-					switch (icmp6_hdr->icmp6_code) {
-					case ICMPV6_UNK_NEXTHDR: /* Code 1 */
-						icmp_hdr->type = ICMP_DEST_UNREACH; /* to Type 3 */
-						icmp_hdr->code = ICMP_PROT_UNREACH; /* to Code 2 */
-						break;
-					default: /* if Code != 1 */
-						icmp_hdr->type = ICMP_PARAMETERPROB; /* to Type 12 */
-						icmp_hdr->code = 0; /* to Code 0 */
-						/* Update Pointer field
-						   RFC 2765 (SIIT), 4.2:
-						   The Pointer needs to be updated to point to the corresponding
-						   field in the translated include IP header.
-						   */
-						switch (ntohl(icmp6_hdr->icmp6_pointer))
-						{
-						case 0: /* IPv6 Version -> IPv4 Version */
-							icmp_hdr->un.echo.id = 0;
-							break;
-						case 4: /* IPv6 PayloadLength -> IPv4 Total Length */
-							icmp_hdr->un.echo.id = 0x0002; /* 2 */
-							break;
-						case 6: /* IPv6 Next Header-> IPv4 Protocol */
-							icmp_hdr->un.echo.id = 0x0009; /* 9 */
-							break;
-						case 7: /* IPv6 Hop Limit -> IPv4 TTL */
-							icmp_hdr->un.echo.id = 0x0008; /* 8 */
-							break;
-						case 8: /* IPv6 Src addr -> IPv4 Src addr */
-							icmp_hdr->un.echo.id = 0x000c; /* 12 */
-							break;
-						case 24: /* IPv6 Dst addr -> IPv4 Dst addr*/
-							icmp_hdr->un.echo.id = 0x0010; /* 16 */
-							break;
-						default: /* set all ones in other cases */
-							icmp_hdr->un.echo.id = 0xff;
-							break;
-						}
-						break;
-					}
-					break;
-
-/* End of ICMP Error messages */
-
-			/* Echo Request and Echo Reply (Type 128 and 129)  */
-				case ICMPV6_ECHO_REQUEST:
-					icmperr = 0;        /* not error ICMP message */
-					icmp_hdr->type = ICMP_ECHO; /* to Type 8 */
-					icmp_hdr->code = 0; /* to Code 0 */
-					icmp_hdr->un.echo.id = icmp6_hdr->icmp6_identifier;
-					icmp_hdr->un.echo.sequence = icmp6_hdr->icmp6_sequence;
-					/* copy rest of ICMP data to result packet */
-					if (len_delta > 0)
-						memcpy(((char *)icmp_hdr) + sizeof(struct icmphdr),
-							   ((char *)icmp6_hdr) + sizeof(struct icmp6hdr), len_delta);
-					break;
-				case ICMPV6_ECHO_REPLY:
-					icmperr = 0;        /* not error ICMP message */
-					icmp_hdr->type = ICMP_ECHOREPLY; /* to Type 0 */
-					icmp_hdr->code = 0; /* to Code 0 */
-					icmp_hdr->un.echo.id = icmp6_hdr->icmp6_identifier;
-					icmp_hdr->un.echo.sequence = icmp6_hdr->icmp6_sequence;
-					/* copy rest of ICMP data */
-					if (len_delta > 0)
-						memcpy(((char *)icmp_hdr) + sizeof(struct icmphdr),
-							   ((char *)icmp6_hdr) + sizeof(struct icmp6hdr), len_delta);
-					break;
-				default:
-					/* Unknown error messages. Silently drop. */
-					PDEBUG("ip6_ip4(): unknown ICMPv6 Type %d, packet dropped.\n", icmp6_hdr->icmp6_type);
-					return -1;
-				}
-
-				if (icmperr)
-				{
-					/* If ICMP Error message, we translate IP included packet*/
-					if (len_delta >= sizeof(struct ipv6hdr))
-					{
-						if((inc_opts_len = ip6_ip4((char *)icmp6_hdr + sizeof(struct icmp6hdr), len_delta,
-										           (char *)icmp_hdr + sizeof(struct icmphdr), 1)) == -1) {
-							PDEBUG("ip6_ip4(): incorrect translation of ICMPv6 Error message, packet dropped\n");
-							return -1;
-						}
-						/* correct IPv4 Total Len that = old Total Len
-						   - Options Headers Len in included IP packet
-						   - diffirence between IPv6 Header Len and IPv4 Header Len
-						   */
-						if (ntot_len != 0)
-							ip_hdr->tot_len = htons(ntot_len - inc_opts_len - IP4_IP6_HDR_DIFF);
-						real_len = real_len - inc_opts_len - IP4_IP6_HDR_DIFF;
-					}
-					else if (len_delta > 0)
-					{
-						/* May be it need set 0x0 to rest area in result IPv4 packet,
-						 * but we copy rest data unchanged
-						 */
-						memcpy(((char *)icmp_hdr) + sizeof(struct icmphdr),
-							   ((char *)icmp6_hdr) + sizeof(struct icmp6hdr), len_delta);
-					}
-				}
-
-				/* Calculate IPv4 Header checksum */
-				ip_hdr->check = 0;
-				ip_hdr->check = ip_fast_csum((unsigned char *)ip_hdr, ip_hdr->ihl);
-
-				/* Calculate ICMPv4 checksum */
-				if (ntot_len != 0)
-				{
-					icmp_hdr->checksum = 0;
-					icmp_hdr->checksum = ip_compute_csum((unsigned char *)icmp_hdr, ntohs(ip_hdr->tot_len)
-										             - sizeof(struct iphdr));
-				}
-			}
-			else
-			{
-				PDEBUG("ip6_ip4(): error length ICMP packet, packet dropped.\n");
-				return -1;
-			}
-
-		}
-		/* PROCESS TCP and UDP (and rest data) */
-
-		else {
-			real_len += len_delta;
-			/* we copy rest data to IPv4 packet without changing */
-			memcpy(dst+sizeof(struct iphdr), src + sizeof(struct ipv6hdr) + opts_len, len_delta);
-		}
-	}
-
-	if (include_flag)           /* if it's included IP packet */
-		return opts_len;        /* return options headers length */
-	else
-		return real_len; /* result packet len */
-}
-
-/*
- * ip4_fragment(skb, len, hdr_len, dev, eth_h)
- * to fragment original IPv4 packet if result IPv6 packet will be > 1280
- */
-
-static int ip4_fragment(struct sk_buff *skb, int len, int hdr_len, struct net_device *dev, struct ethhdr *eth_h)
-{
-	struct sk_buff *skb2 = NULL;       /* pointer to new struct sk_buff for transleded packet */
-	char buff[FRAG_BUFF_SIZE+hdr_len]; /* buffer to form new fragment packet */
-	char *cur_ptr = skb->data+hdr_len; /* pointter to current packet data with len = frag_len */
-	struct iphdr *ih4 = (struct iphdr *) skb->data;
-	struct iphdr *new_ih4 = (struct iphdr *) buff; /* point to new IPv4 hdr */
-	struct ethhdr *new_eth_h;   /* point to ether hdr, need to set hard header data in fragment */
-	int data_len = len - hdr_len; /* origin packet data len */
-	int rest_len = data_len;    /* rest data to fragment */
-	int frag_len = 0;           /* current fragment len */
-	int last_frag = 0;          /* last fragment flag, if = 1, it's last fragment */
-	int flag_last_mf = 0;
-	__u16 new_id = 0;           /* to generate identification field */
-	__u16 frag_offset = 0;      /* fragment offset */
-	unsigned int csum;
-	unsigned short udp_len;
-
-#ifdef SIIT_DEBUG
-	printk("siit: it's DF == 0 and result IPv6 packet will be > 1280\n");
-	siit_print_dump(skb->data, hdr_len, "siit: (orig) ipv4_hdr dump");
-#endif
-
-	if ((ntohs(ih4->frag_off) & IP_MF) == 0 )
-		/* it's a case we'll clear MF flag in our last packet */
-		flag_last_mf = 1;
-
-	if (ih4->protocol == IPPROTO_UDP) {
-		if ( (ntohs(ih4->frag_off) & IP_OFFSET) == 0) {
-			struct udphdr *udp_hdr = (struct udphdr *)((char *)ih4 + hdr_len);
-			if (!flag_last_mf) {
-				if (udp_hdr->check == 0) {
-					/* it's a first fragment with ZERO checksum and we drop packet */
-					printk("siit: First fragment of UDP with zero checksum - packet droped\n");
-					printk("siit: addr: %x src port: %d dst port: %d\n",
-						   htonl(ih4->saddr), htons(udp_hdr->source), htons(udp_hdr->dest));
-					return -1;
-				}
-			}
-			else if (udp_hdr->check == 0) {
-				/* Calculate UDP checksum only if it's not fragment */
-				udp_len = ntohs(udp_hdr->len);
-				csum = 0;
-				csum = csum_partial((unsigned char *)udp_hdr, udp_len, csum);
-				udp_hdr->check = csum_tcpudp_magic(ih4->saddr, ih4->daddr, udp_len, IPPROTO_UDP, csum);
-			}
-		}
-	}
-
-	frag_offset = ntohs(ih4->frag_off) & IP_OFFSET;
-
-	new_id = ih4->id;
-
-	while(1) {
-		if (rest_len <= FRAG_BUFF_SIZE) {
-			/* it's last fragmen */
-			frag_len = rest_len; /* rest data */
-			last_frag = 1;
-		}
-		else
-			frag_len = FRAG_BUFF_SIZE;
-
-		/* copy IP header to buffer */
-		memcpy(buff, skb->data, hdr_len);
-		/* copy data to buffer with len = frag_len */
-		memcpy(buff + hdr_len, cur_ptr, frag_len);
-
-		/* set id field in new IPv4 header*/
-		new_ih4->id = new_id;
-
-		/* is it last fragmet */
-		if(last_frag && flag_last_mf)
-			/* clear MF flag */
-			new_ih4->frag_off = htons(frag_offset & (~IP_MF));
-		else
-			/* set MF flag */
-			new_ih4->frag_off = htons(frag_offset | IP_MF);
-
-		/* change packet total length */
-		new_ih4->tot_len = htons(frag_len+hdr_len);
-
-		/* rebuild the header checksum (IP needs it) */
-		new_ih4->check = 0;
-		new_ih4->check = ip_fast_csum((unsigned char *)new_ih4,new_ih4->ihl);
-
-		/* Allocate new sk_buff to compose translated packet */
-		skb2 = dev_alloc_skb(frag_len+hdr_len+dev->hard_header_len+IP4_IP6_HDR_DIFF+IP6_FRAGMENT_SIZE);
-		if (!skb2) {
-			printk(KERN_DEBUG "%s: alloc_skb failure - packet dropped.\n", dev->name);
-			dev_kfree_skb(skb2);
-			return -1;
-		}
-		/* allocate skb->data portion for IP header len, fragment data len and ether header len
-		 * and copy to head ether header from origin skb
-		 */
-		memcpy(skb_put(skb2, frag_len+hdr_len+dev->hard_header_len+IP4_IP6_HDR_DIFF+IP6_FRAGMENT_SIZE), (char *) eth_h,
-			   dev->hard_header_len);
-		/* correct ether header data, ether protocol field to ETH_P_IPV6 */
-		new_eth_h = (struct ethhdr *)skb2->data;
-		new_eth_h->h_proto = htons(ETH_P_IPV6);
-
-		/* reset the mac header */
-		skb_reset_mac_header(skb2);
-
-		/* pull ether header from new skb->data */
-		skb_pull(skb2, dev->hard_header_len);
-		/* set skb protocol to IPV6 */
-		skb2->protocol = htons(ETH_P_IPV6);
-
-		/* call translation function */
-		if ( ip4_ip6(buff, frag_len+hdr_len, skb2->data, 0) == -1) {
-			dev_kfree_skb(skb2);
-			return -1;
-		}
-
-		/*
-		 * Set needed fields in new sk_buff
-		 */
-		skb2->dev = dev;
-		skb2->ip_summed = CHECKSUM_UNNECESSARY;
-		skb2->pkt_type = PACKET_HOST;
-
-		/* Add transmit statistic */
-		siit_stats(dev)->tx_packets++;
-		siit_stats(dev)->tx_bytes += skb2->len;
-
-		/* send packet to upper layer */
-		netif_rx(skb2);
-
-		/* exit if it was last fragment */
-		if (last_frag)
-			break;
-
-		/* correct current data pointer */
-		cur_ptr += frag_len;
-		/* rest data len */
-		rest_len -= frag_len;
-		/* current fragment offset */
-		frag_offset = (frag_offset*8 + frag_len)/8;
-	}
-
-	return 0;
-}
-/*
- * Transmit a packet (called by the kernel)
- *
- * siit_xmit(skb, dev)
- *
- * where
- * skb - pointer to struct sk_buff with incomed packet
- * dev - pointer to struct device on which packet revieved
- *
- * Statistic:
- * for all incoming packes:
- *            stats.rx_bytes+=skb->len
- *            stats.rx_packets++
- * for packets we can't transle:
- *            stats.tx_errors++
- * device busy:
- *            stats.tx_errors++
- * for packets we can't allocate sk_buff:
- *            stats.tx_dropped++
- * for outgoing packes:
- *            stats.tx_packets++
- *            stats.tx_bytes+=skb2->len !!! But we don't set skb2->len !!!
- */
-
-static int siit_xmit(struct sk_buff *skb, struct net_device *dev)
-{
-	struct sk_buff *skb2 = NULL;/* pointer to new struct sk_buff for transleded packet */
-	struct ethhdr *eth_h;       /* pointer to incoming Ether header */
-	int len;                    /* original packets length */
-	int new_packet_len;
-	int skb_delta = 0;          /* delta size for allocate new skb */
-	char new_packet_buff[2048];
-
-	/* Check pointer to sk_buff and device structs */
-	if (skb == NULL || dev == NULL)
-		return -EINVAL;
-
-	/* Add receive statistic */
-	siit_stats(dev)->rx_bytes += skb->len;
-	siit_stats(dev)->rx_packets++;
-
-	dev->trans_start = jiffies;
-
-	/* Upper layer (IP) protocol forms sk_buff for outgoing packet
-	 * and sets IP header + Ether header too. IP layer sets outgoing
-	 * device in sk_buff->dev.
-	 * In function (from linux/net/core/dev.c) ther is a call to
-	 * device transmit function (dev->hard_start_xmit):
-	 *
-	 *    dev_queue_xmit(struct sk_buff *skb)
-	 *    {
-	 *    ...
-	 *          device *dev = skb->dev;
-	 *    ...
-	 *          dev->hard_start_xmit(skb, dev);
-	 *    ...
-	 *    }
-	 * We save pointer to ether header in eth_h and skb_pull ether header
-	 * from data field of skb_buff
-	 */
-
-	eth_h = (struct ethhdr *)skb->data; /* point to incoming packet Ether Header */
-
-#ifdef SIIT_DEBUG
-	siit_print_dump(skb->data, ETH_HLEN, "siit: eth_hdr dump");
-#endif
-
-	/* Remove hardware header from origin sk_buff */
-	skb_pull(skb,dev->hard_header_len);
-
-	/*
-	 * Process IPv4 paket
-	 */
-	if (ntohs(skb->protocol) == ETH_P_IP) {
-		int hdr_len;            /* IPv4 header length */
-		int data_len;           /* IPv4 data length */
-		struct iphdr *ih4;      /* pointer to IPv4 header */
-		struct icmphdr *icmp_hdr;   /* point to current ICMPv4 header struct */
-
-		ih4 = (struct iphdr *)skb->data; /* point to incoming packet's IPv4 header */
-
-		/* Check IPv4 Total Length */
-		if (skb->len != ntohs(ih4->tot_len)) {
-			PDEBUG("siit_xmit(): Different skb_len %x and ip4 tot_len %x - packet dropped.\n",
-				   skb->len, ih4->tot_len);
-			siit_stats(dev)->tx_errors++;
-			dev_kfree_skb(skb);
-			return 0;
-		}
-
-		len = skb->len;     /* packet's total len */
-		hdr_len = (int)(ih4->ihl * 4); /* packet's header len */
-		data_len = len - hdr_len; /* packet's data len */
-
-		/* If DF == 0 */
-		if ( (ntohs(ih4->frag_off) & IP_DF) == 0 ) {
-			/* If result IPv6 packet will be > 1280
-			   we need to fragment original IPv4 packet
-			*/
-			if ( data_len > FRAG_BUFF_SIZE ) {
-				/* call function that fragment packet and translate to IPv6 each fragment
-				 * and send to upper layer
-				 */
-				if ( ip4_fragment(skb, len, hdr_len, dev, eth_h) == -1) {
-					siit_stats(dev)->tx_errors++;
-				}
-				/* Free incoming skb */
-				dev_kfree_skb(skb);
-				/* Device can accept a new packet */
-
-				return 0;
-
-			}
-		}
-		/* If DF == 1 && MF == 0 && Fragment Offset == 0
-		 * we don't include fragment header
-		 */
-		if ( ntohs(ih4->frag_off) == IP_DF )
-			skb_delta = IP4_IP6_HDR_DIFF; /* delta is +20 */
-		else
-			skb_delta = IP4_IP6_HDR_DIFF + IP6_FRAGMENT_SIZE; /* delta is +20 and +8 */
-
-		/* If it's ICMP, check is it included IP packet in it */
-		if ( ih4->protocol == IPPROTO_ICMP) {
-			icmp_hdr = (struct icmphdr *) (skb->data+hdr_len); /* point to ICMPv4 header */
-			if ( icmp_hdr->type != ICMP_ECHO && icmp_hdr->type != ICMP_ECHOREPLY) {
-				/*
-				 * It's ICMP Error that has included IP packet
-				 * we'll add only +20 because we don't include Fragment Header
-				 * into translated included IP packet
-				 */
-				skb_delta += IP4_IP6_HDR_DIFF;
-			}
-		}
-
-		/* Allocate new sk_buff to compose translated packet */
-		skb2 = dev_alloc_skb(len+dev->hard_header_len+skb_delta);
-		if (!skb2) {
-			printk(KERN_DEBUG "%s: alloc_skb failure - packet dropped.\n", dev->name);
-			dev_kfree_skb(skb);
-			siit_stats(dev)->rx_dropped++;
-
-			return 0;
-		}
-		/* allocate skb->data portion = IPv4 packet len + ether header len
-		 * + skb_delta (max = two times (diffirence between IPv4 header and
-		 * IPv6 header + Frag Header), second for included packet,
-		 * and copy to head of skb->data ether header from origin skb
-		 */
-		memcpy(skb_put(skb2, len+dev->hard_header_len+skb_delta), (char *)eth_h, dev->hard_header_len);
-		/* correct ether header data, ether protocol field to ETH_P_IPV6 */
-		eth_h = (struct ethhdr *)skb2->data;
-		eth_h->h_proto = htons(ETH_P_IPV6);
-		skb_reset_mac_header(skb2);
-		/* remove ether header from new skb->data,
-		 * NOTE! data will rest, pointer to data and data len will change
-		 */
-		skb_pull(skb2,dev->hard_header_len);
-		/* set skb protocol to IPV6 */
-		skb2->protocol = htons(ETH_P_IPV6);
-
-		/* call translation function */
-		if (ip4_ip6(skb->data, len, skb2->data, 0) == -1 ) {
-			dev_kfree_skb(skb);
-			dev_kfree_skb(skb2);
-			siit_stats(dev)->rx_errors++;
-
-			return 0;
-		}
-	}
-	/*
-	 * IPv6 paket
-	 */
-	else if (ntohs(skb->protocol) == ETH_P_IPV6) {
-
-#ifdef SIIT_DEBUG
-		siit_print_dump(skb->data, sizeof(struct ipv6hdr), "siit: (in) ip6_hdr dump");
-#endif
-		/* packet len = skb->data len*/
-		len = skb->len;
-
-		/* call translation function */
-		if ((new_packet_len = ip6_ip4(skb->data, len, new_packet_buff, 0)) == -1 )
-		{
-			PDEBUG("siit_xmit(): error translation ipv6->ipv4, packet dropped.\n");
-			siit_stats(dev)->rx_dropped++;
-			goto end;
-		}
-
-		/* Allocate new sk_buff to compose translated packet */
-		skb2 = dev_alloc_skb(new_packet_len + dev->hard_header_len);
-		if (!skb2) {
-			printk(KERN_DEBUG "%s: alloc_skb failure, packet dropped.\n", dev->name);
-			siit_stats(dev)->rx_dropped++;
-			goto end;
-		}
-		memcpy(skb_put(skb2, new_packet_len + dev->hard_header_len), (char *)eth_h, dev->hard_header_len);
-		eth_h = (struct ethhdr *)skb2->data;
-		eth_h->h_proto = htons(ETH_P_IP);
-		skb_reset_mac_header(skb2);
-		skb_pull(skb2, dev->hard_header_len);
-		memcpy(skb2->data, new_packet_buff, new_packet_len);
-		skb2->protocol = htons(ETH_P_IP);
-	}
-	else {
-		PDEBUG("siit_xmit(): unsupported protocol family %x, packet dropped.\n", skb->protocol);
-		goto end;
-	}
-
-	/*
-	 * Set needed fields in new sk_buff
-	 */
-	skb2->pkt_type = PACKET_HOST;
-	skb2->dev = dev;
-	skb2->ip_summed = CHECKSUM_UNNECESSARY;
-
-	/* Add transmit statistic */
-	siit_stats(dev)->tx_packets++;
-	siit_stats(dev)->tx_bytes += skb2->len;
-
-	/* Send packet to upper layer protocol */
-	netif_rx(skb2);
-
-end:
-	dev_kfree_skb(skb);
-
-	return 0;
-}
-
-static bool header_ops_init = false;
-static struct header_ops siit_header_ops ____cacheline_aligned;
-
-static const struct net_device_ops siit_netdev_ops = {
-	.ndo_open		= siit_open,
-	.ndo_stop		= siit_release,
-	.ndo_start_xmit		= siit_xmit,
-};
-
-/*
- * The init function initialize of the SIIT device..
- * It is invoked by register_netdev()
- */
-
-static void
-siit_init(struct net_device *dev)
-{
-	ether_setup(dev);    /* assign some of the fields */
-	random_ether_addr(dev->dev_addr);
-
-	/*
-	 * Assign device function.
-	 */
-	dev->netdev_ops = &siit_netdev_ops;
-	dev->flags           |= IFF_NOARP;     /* ARP not used */
-	dev->tx_queue_len = 10;
-
-	if (!header_ops_init) {
-		memcpy(&siit_header_ops, dev->header_ops, sizeof(struct header_ops));
-		siit_header_ops.cache = NULL;
-	}
-	dev->header_ops = &siit_header_ops;
-}
-
-/*
- * Finally, the module stuff
- */
-static struct net_device *siit_dev = NULL;
-
-int init_module(void)
-{
-	int res = -ENOMEM;
-	int priv_size;
-
-	priv_size = sizeof(struct header_ops);
-	siit_dev = alloc_netdev(priv_size, "siit%d", siit_init);
-	if (!siit_dev)
-		goto err_alloc;
-
-	res = register_netdev(siit_dev);
-	if (res)
-		goto err_register;
-
-	return 0;
-
-err_register:
-	free_netdev(siit_dev);
-err_alloc:
-	printk(KERN_ERR "Error creating siit device: %d\n", res);
-	return res;
-}
-
-void cleanup_module(void)
-{
-	unregister_netdev(siit_dev);
-	free_netdev(siit_dev);
-}
-
-MODULE_LICENSE("GPL");
-

file:a/net/siit/src/siit.h (deleted)
--- a/net/siit/src/siit.h
+++ /dev/null
@@ -1,62 +1,1 @@
-/*
- * siit.h -- definitions for the SIIT module
- *
- *
- */
 
-/*
- * Constants
- */
-
-/* SIIT_ETH control the name of SIIT interface:
- * 0 - interface name is siit0,
- * 1 - interface name is ethX.
- */
-#define SIIT_ETH 0
-
-#define BUFF_SIZE 4096
-#define FRAG_BUFF_SIZE 1232     /* IPv6 max fragment size without IPv6 header 
-                                 * to fragmanet IPv4 if result IPv6 packet will be > 1280
-                                 */
-
-#define TRANSLATED_PREFIX 0x0000ffff /* third byte in IPv4-translated addr prefix */
-#define MAPPED_PREFIX 0x0000ffff     /* third byte in IPv4-mapped addr prefix */
-
-#define IP4_IP6_HDR_DIFF 20     /* diffirence between IPv4 and IPv6 headers */
-#define IP6_FRAGMENT_SIZE 8     /* size of Fragment Header */
-
-/* IPv6 header fields masks */
-#define IP6F_OFF_MASK       0xfff8  /* mask out offset from frag_off */
-#define IP6F_RESERVED_MASK  0x0006  /* reserved bits in frag_off */
-#define IP6F_MORE_FRAG      0x0001  /* more-fragments flag */
-
-
-
-/*
- * Macros to help debugging
- */
-
-#undef PDEBUG             /* undef it, just in case */
-#ifdef SIIT_DEBUG
-#  ifdef __KERNEL__
-     /* This one if debugging is on, and kernel space */
-#    define PDEBUG(fmt, args...) printk(KERN_DEBUG "siit: " fmt, ## args)
-#  else
-     /* This one for user space */
-#    define PDEBUG(fmt, args...) fprintf(stderr, fmt, ## args)
-#  endif
-#else
-#  define PDEBUG(fmt, args...) /* not debugging: nothing */
-#endif
-
-#undef PDEBUGG
-#define PDEBUGG(fmt, args...)
-
-
-
-
-
-
-
-
-

file:a/net/snort/Makefile (deleted)
--- a/net/snort/Makefile
+++ /dev/null
@@ -1,182 +1,1 @@
 
-# Copyright (C) 2006-2012 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=snort
-PKG_VERSION:=2.9.2.2
-PKG_RELEASE:=3
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://snort.org/dl/snort-current/
-PKG_MD5SUM:=4254389550e3be31afebc70e64e6002f
-
-PKG_BUILD_DEPENDS:=librpc
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
-PKG_FIXUP:=autoreconf
-PKG_INSTALL:=1
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/snort/Default
-  SUBMENU:=Firewall
-  SECTION:=net
-  CATEGORY:=Network
-  DEPENDS:=+libpcap +libpcre +libdnet +libdaq +libpthread +libuuid +zlib
-  TITLE:=Lightweight Network Intrusion Detection System
-  URL:=http://www.snort.org/
-endef
-
-define Package/snort/Default/description
-  Snort is an open source network intrusion detection and prevention system.
-  It is capable of performing real-time traffic analysis, alerting, blocking
-  and packet logging on IP networks.  It utilizes a combination of protocol
-  analysis and pattern matching in order to detect anomalies, misuse and
-  attacks.
-endef
-
-define Package/snort
-  $(call Package/snort/Default)
-  VARIANT:=basic
-endef
-
-define Package/snort/description
-  $(call Package/snort/Default/description)
-endef
-
-define Package/snort-mysql
-  $(call Package/snort/Default)
-  DEPENDS+= +libmysqlclient
-  TITLE+= (MySQL)
-  VARIANT:=mysql
-endef
-
-define Package/snort-mysql/description
-  $(call Package/snort/Default/description)
-  This package contains snort with support for logging to a MySQL database.
-endef
-
-define Package/snort-pgsql
-  $(call Package/snort/Default)
-  DEPENDS+= +libpq +libuuid
-  TITLE+= (PostgreSQL)
-  VARIANT:=pgsql
-endef
-
-define Package/snort-pgsql/description
-  $(call Package/snort/Default/description)
-  This package contains snort with support for logging to a PostgreSQL database.
-endef
-
-
-CONFIGURE_ARGS += \
-	--prefix="/usr" \
-	--enable-flexresp \
-	--with-dnet-includes="$(STAGING_DIR)/usr/include" \
-	--with-dnet-libraries="$(STAGING_DIR)/usr/lib" \
-	--with-libpcap-includes="$(STAGING_DIR)/usr/include" \
-	--with-libpcap-libraries="$(STAGING_DIR)/usr/lib" \
-	--with-libpcre-includes="$(STAGING_DIR)/usr/include" \
-	--with-libpcre-libraries="$(STAGING_DIR)/usr/lib" \
-	--with-daq-includes="$(STAGING_DIR)/usr/include" \
-	--with-daq-libraries="$(STAGING_DIR)/usr/lib" \
-	--disable-static-daq
-
-CONFIGURE_VARS += \
-	CPPFLAGS="$$$$CPPFLAGS -I$(STAGING_DIR)/usr/include/mysql" \
-	LDFLAGS="$$$$LDFLAGS -L$(STAGING_DIR)/usr/lib/mysql" \
-	PATH="$(STAGING_DIR)/usr/lib/libnet-1.0.x/bin:$$$$PATH" \
-
-MAKE_FLAGS += \
-	extra_incl="" \
-
-ifeq ($(BUILD_VARIANT),basic)
-
-  CONFIGURE_ARGS += \
-	--without-mysql \
-	--without-postgresql \
-
-endif
-ifeq ($(BUILD_VARIANT),mysql)
-  CONFIGURE_VARS += \
-	mysql_has_reconnect=yes
-
-  CONFIGURE_ARGS += \
-	--with-mysql="$(STAGING_DIR)/usr" \
-	--without-postgresql \
-
-endif
-ifeq ($(BUILD_VARIANT),pgsql)
-
-  CONFIGURE_ARGS += \
-	--without-mysql \
-	--with-postgresql="$(STAGING_DIR)/usr" \
-
-endif
-
-define Build/InstallDev
-	$(INSTALL_DIR) $(STAGING_DIR)/usr/include/snort/dynamic_preproc
-	$(CP) \
-		$(PKG_INSTALL_DIR)/usr/include/snort/dynamic_preproc/* \
-		$(STAGING_DIR)/usr/include/snort/dynamic_preproc/
-	$(INSTALL_DIR) $(STAGING_DIR)/usr/lib/snort/dynamic_preproc
-	$(CP) \
-		$(PKG_INSTALL_DIR)/usr/lib/snort/dynamic_preproc/* \
-		$(STAGING_DIR)/usr/lib/snort/dynamic_preproc/
-	$(INSTALL_DIR) $(STAGING_DIR)/usr/lib/snort_dynamicengine
-	$(CP) \
-		$(PKG_INSTALL_DIR)/usr/lib/snort_dynamicengine/* \
-		$(STAGING_DIR)/usr/lib/snort_dynamicengine/
-	$(INSTALL_DIR) $(STAGING_DIR)/usr/lib/snort_dynamicpreprocessor
-	$(CP) \
-		$(PKG_INSTALL_DIR)/usr/lib/snort_dynamicpreprocessor/* \
-		$(STAGING_DIR)/usr/lib/snort_dynamicpreprocessor/
-endef
-
-define Package/snort/conffiles
-/etc/default/snort
-/etc/snort/snort.conf
-/etc/snort/threshold.conf
-endef
-
-define Package/snort/install
-	$(INSTALL_DIR) $(1)/usr/bin
-	$(CP) $(PKG_INSTALL_DIR)/usr/bin/snort $(1)/usr/bin/snort.bin
-	$(CP) $(PKG_INSTALL_DIR)/usr/bin/u2{boat,spewfoo} $(1)/usr/bin
-	$(INSTALL_BIN) ./files/snort.bin $(1)/usr/bin/snort
-	$(INSTALL_DIR) $(1)/usr/lib/snort_dynamicengine
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/snort_dynamicengine/libsf_engine.so* $(1)/usr/lib/snort_dynamicengine/
-	$(INSTALL_DIR) $(1)/usr/lib/snort_dynamicpreprocessor
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/snort_dynamicpreprocessor/libsf*.so* $(1)/usr/lib/snort_dynamicpreprocessor/
-	$(INSTALL_DIR) $(1)/etc/snort
-	$(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/snort.conf $(1)/etc/snort/
-	$(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/attribute_table.dtd $(1)/etc/snort/
-	$(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/classification.config $(1)/etc/snort/
-	$(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/gen-msg.map $(1)/etc/snort/
-	$(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/reference.config $(1)/etc/snort/
-	$(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/threshold.conf $(1)/etc/snort/
-	$(INSTALL_DATA) $(PKG_BUILD_DIR)/etc/unicode.map $(1)/etc/snort/
-	$(INSTALL_DIR) $(1)/etc/snort/preproc_rules
-	$(INSTALL_DATA) $(PKG_BUILD_DIR)/preproc_rules/*.rules $(1)/etc/snort/preproc_rules/
-	$(INSTALL_DIR) $(1)/etc/snort/rules
-	$(INSTALL_DATA) ./files/snort.local.rules $(1)/etc/snort/rules/local.rules
-	$(INSTALL_DIR) $(1)/etc/default
-	$(INSTALL_DATA) ./files/snort.default $(1)/etc/default/snort
-	$(INSTALL_DIR) $(1)/etc/init.d
-	$(INSTALL_BIN) ./files/snort.init $(1)/etc/init.d/snort
-endef
-
-Package/snort-mysql/conffiles = $(Package/snort/conffiles)
-Package/snort-mysql/install = $(Package/snort/install)
-
-Package/snort-pgsql/conffiles = $(Package/snort/conffiles)
-Package/snort-pgsql/install = $(Package/snort/install)
-
-$(eval $(call BuildPackage,snort))
-$(eval $(call BuildPackage,snort-mysql))
-$(eval $(call BuildPackage,snort-pgsql))
-

--- a/net/snort/files/snort.bin
+++ /dev/null
@@ -1,4 +1,1 @@
-#!/bin/sh
 
-exec snort.bin --daq-dir /usr/lib/daq/ $*
-

--- a/net/snort/files/snort.default
+++ /dev/null
@@ -1,3 +1,1 @@
-INTERFACE="lo"
-OPTIONS="-i $INTERFACE -c /etc/snort/snort.conf -D -N -q -s"
 

--- a/net/snort/files/snort.init
+++ /dev/null
@@ -1,21 +1,1 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2012 OpenWrt.org
 
-START=99
-APP=snort.bin
-BIN_FILE="/usr/bin/"$APP
-PID_FILE="/var/run/"$APP"_"$INTERFACE".pid"
-OPTIONS="--daq-dir /usr/lib/daq/"
-DEFAULT=/etc/default/snort
-LOG_D=/var/log/snort
-
-start() {
-	[ -d $LOG_D ] || mkdir -p $LOG_D
-	start-stop-daemon -S -x $APP -p $PID_FILE -b -m -- $OPTIONS
-}
-
-stop() {
-	start-stop-daemon -K -x $APP -p $PID_FILE -s TERM
-	rm -rf $PID_FILE
-}
-

--- a/net/snort/files/snort.local.rules
+++ /dev/null
@@ -1,6 +1,1 @@
-# ----------------
-# LOCAL RULES
-# ----------------
-# This file intentionally does not come with signatures.  Put your local
-# additions here.
 

--- a/net/snort/patches/001-automake-compat.patch
+++ /dev/null
@@ -1,5 +1,1 @@
---- /dev/null
-+++ b/acinclude.m4
-@@ -0,0 +1 @@
-+sinclude(m4/libprelude.m4)
 

--- a/net/snort/patches/100-INADDR_NONE.patch
+++ /dev/null
@@ -1,41 +1,1 @@
---- a/configure.in
-+++ b/configure.in
-@@ -283,21 +283,22 @@ AC_CHECK_TYPES([int8_t,int16_t,int32_t,i
- AC_CHECK_TYPES([boolean])
- 
- # In case INADDR_NONE is not defined (like on Solaris)
--have_inaddr_none="no"
--AC_MSG_CHECKING([for INADDR_NONE])
--AC_RUN_IFELSE(
--[AC_LANG_PROGRAM(
--[[
--#include <sys/types.h>
--#include <netinet/in.h>
--#include <arpa/inet.h>
--]],
--[[
--	if (inet_addr("10,5,2") == INADDR_NONE);
--    return 0;
--]])],
--[have_inaddr_none="yes"],
--[have_inaddr_none="no"])
-+have_inaddr_none="yes"
-+#AC_MSG_CHECKING([for INADDR_NONE])
-+#AC_RUN_IFELSE(
-+#[AC_LANG_PROGRAM(
-+#[[
-+##include <sys/types.h>
-+##include <netinet/in.h>
-+##include <arpa/inet.h>
-+#]],
-+#[[
-+#	if (inet_addr("10,5,2") == INADDR_NONE);
-+#    return 0;
-+#]])],
-+#[have_inaddr_none="yes"],
-+#[have_inaddr_none="yes"])
-+
- AC_MSG_RESULT($have_inaddr_none)
- if test "x$have_inaddr_none" = "xno"; then
- 	AC_DEFINE([INADDR_NONE],[-1],[For INADDR_NONE definition])
 

--- a/net/snort/patches/101-PCAP.patch
+++ /dev/null
@@ -1,32 +1,1 @@
---- a/configure.in
-+++ b/configure.in
-@@ -401,16 +401,18 @@ if test "x$LPCAP" = "xno"; then
- fi
- 
- AC_MSG_CHECKING([for pcap_lex_destroy])
--AC_RUN_IFELSE(
--[AC_LANG_PROGRAM(
--[[
--#include <pcap.h>
--]],
--[[
--   pcap_lex_destroy();
--]])],
--[have_pcap_lex_destroy="yes"],
--[have_pcap_lex_destroy="no"])
-+have_pcap_lex_destroy="yes"
-+#AC_RUN_IFELSE(
-+#[AC_LANG_PROGRAM(
-+#[[
-+##include <pcap.h>
-+#]],
-+#[[
-+#   pcap_lex_destroy();
-+#]])],
-+#[have_pcap_lex_destroy="yes"],
-+#[have_pcap_lex_destroy="no"])
-+
- AC_MSG_RESULT($have_pcap_lex_destroy)
- if test "x$have_pcap_lex_destroy" = "xyes"; then
-     AC_DEFINE([HAVE_PCAP_LEX_DESTROY],[1],[Can cleanup lex buffer stack created by pcap bpf filter])
 

--- a/net/snort/patches/150-config-preprocessors-disable.patch
+++ /dev/null
@@ -1,492 +1,1 @@
---- a/etc/snort.conf
-+++ b/etc/snort.conf
-@@ -20,6 +20,13 @@
- #     test mode -T you are required to supply an interface -i <interface>
- #     or test mode will fail to fully validate the configuration and
- #     exit with a FATAL error
-+#!
-+#!  OpenWrt:
-+#!    Some options in this config were changed to adapt snort for OpenWrt. Any changes
-+#!    made to the original default configuration will start with '#! ' so you can track
-+#!    the changes.
-+#!
-+#!    Most preprocessors and rules were disabled to save memory.
- #--------------------------------------------------
- 
- ###################################################
-@@ -42,10 +49,12 @@
- ###################################################
- 
- # Setup the network addresses you are protecting
--ipvar HOME_NET any
-+#! ipvar HOME_NET any
-+ipvar HOME_NET 192.168.1.0/24
- 
- # Set up the external network addresses. Leave as "any" in most situations
--ipvar EXTERNAL_NET any
-+#! ipvar EXTERNAL_NET any
-+ipvar EXTERNAL_NET !$HOME_NET
- 
- # List of DNS servers on your network 
- ipvar DNS_SERVERS $HOME_NET
-@@ -101,17 +110,23 @@ ipvar AIM_SERVERS [64.12.24.0/23,64.12.2
- # Path to your rules files (this can be a relative path)
- # Note for Windows users:  You are advised to make this an absolute path,
- # such as:  c:\snort\rules
--var RULE_PATH ../rules
--var SO_RULE_PATH ../so_rules
--var PREPROC_RULE_PATH ../preproc_rules
-+#! Those paths are relative to this snort.conf file.
-+#! var RULE_PATH ../rules
-+#! var SO_RULE_PATH ../so_rules
-+#! var PREPROC_RULE_PATH ../preproc_rules
-+var RULE_PATH ./rules
-+var SO_RULE_PATH ./so_rules
-+var PREPROC_RULE_PATH ./preproc_rules
- 
- # If you are using reputation preprocessor set these
- # Currently there is a bug with relative paths, they are relative to where snort is
- # not relative to snort.conf like the above variables
- # This is completely inconsistent with how other vars work, BUG 89986
- # Set the absolute path appropriately
--var WHITE_LIST_PATH ../rules
--var BLACK_LIST_PATH ../rules
-+#! var WHITE_LIST_PATH ../rules
-+#! var BLACK_LIST_PATH ../rules
-+var WHITE_LIST_PATH ./rules
-+var BLACK_LIST_PATH ./rules
- 
- ###################################################
- # Step #2: Configure the decoder.  For more information, see README.decode
-@@ -244,13 +259,16 @@ config paf_max: 16000
- ###################################################
- 
- # path to dynamic preprocessor libraries
--dynamicpreprocessor directory /usr/local/lib/snort_dynamicpreprocessor/
-+#! dynamicpreprocessor directory /usr/local/lib/snort_dynamicpreprocessor/
-+dynamicpreprocessor directory /usr/lib/snort_dynamicpreprocessor/
- 
- # path to base preprocessor engine
--dynamicengine /usr/local/lib/snort_dynamicengine/libsf_engine.so
-+#! dynamicengine /usr/local/lib/snort_dynamicengine/libsf_engine.so
-+#! dynamicengine /usr/lib/snort_dynamicengine/libsf_engine.so #! disabled for performance reasons
- 
- # path to dynamic rules libraries
--dynamicdetection directory /usr/local/lib/snort_dynamicrules
-+#! dynamicdetection directory /usr/local/lib/snort_dynamicrules
-+#! dynamicdetection directory /usr/lib/snort_dynamicrules #! disabled for performance reasons
- 
- ###################################################
- # Step #5: Configure preprocessors
-@@ -294,124 +312,128 @@ preprocessor stream5_udp: timeout 180
- # preprocessor perfmonitor: time 300 file /var/snort/snort.stats pktcnt 10000
- 
- # HTTP normalization and anomaly detection.  For more information, see README.http_inspect
--preprocessor http_inspect: global iis_unicode_map unicode.map 1252 compress_depth 65535 decompress_depth 65535
--preprocessor http_inspect_server: server default \
--    http_methods { GET POST PUT SEARCH MKCOL COPY MOVE LOCK UNLOCK NOTIFY POLL BCOPY BDELETE BMOVE LINK UNLINK OPTIONS HEAD DELETE TRACE TRACK CONNECT SOURCE SUBSCRIBE UNSUBSCRIBE PROPFIND PROPPATCH BPROPFIND BPROPPATCH RPC_CONNECT PROXY_SUCCESS BITS_POST CCM_POST SMS_POST RPC_IN_DATA RPC_OUT_DATA RPC_ECHO_DATA } \
--    chunk_length 500000 \
--    server_flow_depth 0 \
--    client_flow_depth 0 \
--    post_depth 65495 \
--    oversize_dir_length 500 \
--    max_header_length 750 \
--    max_headers 100 \
--    max_spaces 0 \
--    small_chunk_length { 10 5 } \
--    ports { 80 81 311 591 593 901 1220 1414 1830 2301 2381 2809 3128 3702 4343 5250 7001 7145 7510 7777 7779 8000 8008 8014 8028 8080 8088 8118 8123 8180 8181 8243 8280 8800 8888 8899 9080 9090 9091 9443 9999 11371 55555 } \
--    non_rfc_char { 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 } \
--    enable_cookie \
--    extended_response_inspection \
--    inspect_gzip \
--    normalize_utf \
--    unlimited_decompress \
--    normalize_javascript \
--    apache_whitespace no \
--    ascii no \
--    bare_byte no \
--    directory no \
--    double_decode no \
--    iis_backslash no \
--    iis_delimiter no \
--    iis_unicode no \
--    multi_slash no \
--    utf_8 no \
--    u_encode yes \
--    webroot no
-+#! disabled for performance reasons:
-+#! preprocessor http_inspect: global iis_unicode_map unicode.map 1252 compress_depth 65535 decompress_depth 65535
-+#! preprocessor http_inspect_server: server default \
-+#!     http_methods { GET POST PUT SEARCH MKCOL COPY MOVE LOCK UNLOCK NOTIFY POLL BCOPY BDELETE BMOVE LINK UNLINK OPTIONS HEAD DELETE TRACE TRACK CONNECT SOURCE SUBSCRIBE UNSUBSCRIBE PROPFIND PROPPATCH BPROPFIND BPROPPATCH RPC_CONNECT PROXY_SUCCESS BITS_POST CCM_POST SMS_POST RPC_IN_DATA RPC_OUT_DATA RPC_ECHO_DATA } \
-+#!     chunk_length 500000 \
-+#!     server_flow_depth 0 \
-+#!     client_flow_depth 0 \
-+#!     post_depth 65495 \
-+#!     oversize_dir_length 500 \
-+#!     max_header_length 750 \
-+#!     max_headers 100 \
-+#!     max_spaces 0 \
-+#!     small_chunk_length { 10 5 } \
-+#!     ports { 80 81 311 591 593 901 1220 1414 1830 2301 2381 2809 3128 3702 4343 5250 7001 7145 7510 7777 7779 8000 8008 8014 8028 8080 8088 8118 8123 8180 8181 8243 8280 8800 8888 8899 9080 9090 9091 9443 9999 11371 55555 } \
-+#!     non_rfc_char { 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 } \
-+#!     enable_cookie \
-+#!     extended_response_inspection \
-+#!     inspect_gzip \
-+#!     normalize_utf \
-+#!     unlimited_decompress \
-+#!     normalize_javascript \
-+#!     apache_whitespace no \
-+#!     ascii no \
-+#!     bare_byte no \
-+#!     directory no \
-+#!     double_decode no \
-+#!     iis_backslash no \
-+#!     iis_delimiter no \
-+#!     iis_unicode no \
-+#!     multi_slash no \
-+#!     utf_8 no \
-+#!     u_encode yes \
-+#!     webroot no
- 
- # ONC-RPC normalization and anomaly detection.  For more information, see the Snort Manual, Configuring Snort - Preprocessors - RPC Decode
--preprocessor rpc_decode: 111 32770 32771 32772 32773 32774 32775 32776 32777 32778 32779 no_alert_multiple_requests no_alert_large_fragments no_alert_incomplete
-+#! disabled for performance reasons:
-+#! preprocessor rpc_decode: 111 32770 32771 32772 32773 32774 32775 32776 32777 32778 32779 no_alert_multiple_requests no_alert_large_fragments no_alert_incomplete
- 
- # Back Orifice detection.
--preprocessor bo
-+#! preprocessor bo #! disabled for performance reasons
- 
- # FTP / Telnet normalization and anomaly detection.  For more information, see README.ftptelnet
--preprocessor ftp_telnet: global inspection_type stateful encrypted_traffic no
--preprocessor ftp_telnet_protocol: telnet \
--    ayt_attack_thresh 20 \
--    normalize ports { 23 } \
--    detect_anomalies
--preprocessor ftp_telnet_protocol: ftp server default \
--    def_max_param_len 100 \
--    ports { 21 2100 3535 } \
--    telnet_cmds yes \
--    ignore_telnet_erase_cmds yes \
--    ftp_cmds { ABOR ACCT ADAT ALLO APPE AUTH CCC CDUP } \
--    ftp_cmds { CEL CLNT CMD CONF CWD DELE ENC EPRT } \
--    ftp_cmds { EPSV ESTA ESTP FEAT HELP LANG LIST LPRT } \
--    ftp_cmds { LPSV MACB MAIL MDTM MIC MKD MLSD MLST } \
--    ftp_cmds { MODE NLST NOOP OPTS PASS PASV PBSZ PORT } \
--    ftp_cmds { PROT PWD QUIT REIN REST RETR RMD RNFR } \
--    ftp_cmds { RNTO SDUP SITE SIZE SMNT STAT STOR STOU } \
--    ftp_cmds { STRU SYST TEST TYPE USER XCUP XCRC XCWD } \
--    ftp_cmds { XMAS XMD5 XMKD XPWD XRCP XRMD XRSQ XSEM } \
--    ftp_cmds { XSEN XSHA1 XSHA256 } \
--    alt_max_param_len 0 { ABOR CCC CDUP ESTA FEAT LPSV NOOP PASV PWD QUIT REIN STOU SYST XCUP XPWD } \
--    alt_max_param_len 200 { ALLO APPE CMD HELP NLST RETR RNFR STOR STOU XMKD } \
--    alt_max_param_len 256 { CWD RNTO } \
--    alt_max_param_len 400 { PORT } \
--    alt_max_param_len 512 { SIZE } \
--    chk_str_fmt { ACCT ADAT ALLO APPE AUTH CEL CLNT CMD } \
--    chk_str_fmt { CONF CWD DELE ENC EPRT EPSV ESTP HELP } \
--    chk_str_fmt { LANG LIST LPRT MACB MAIL MDTM MIC MKD } \
--    chk_str_fmt { MLSD MLST MODE NLST OPTS PASS PBSZ PORT } \
--    chk_str_fmt { PROT REST RETR RMD RNFR RNTO SDUP SITE } \
--    chk_str_fmt { SIZE SMNT STAT STOR STRU TEST TYPE USER } \
--    chk_str_fmt { XCRC XCWD XMAS XMD5 XMKD XRCP XRMD XRSQ } \ 
--    chk_str_fmt { XSEM XSEN XSHA1 XSHA256 } \
--    cmd_validity ALLO < int [ char R int ] > \    
--    cmd_validity EPSV < [ { char 12 | char A char L char L } ] > \
--    cmd_validity MACB < string > \
--    cmd_validity MDTM < [ date nnnnnnnnnnnnnn[.n[n[n]]] ] string > \
--    cmd_validity MODE < char ASBCZ > \
--    cmd_validity PORT < host_port > \
--    cmd_validity PROT < char CSEP > \
--    cmd_validity STRU < char FRPO [ string ] > \    
--    cmd_validity TYPE < { char AE [ char NTC ] | char I | char L [ number ] } >
--preprocessor ftp_telnet_protocol: ftp client default \
--    max_resp_len 256 \
--    bounce yes \
--    ignore_telnet_erase_cmds yes \
--    telnet_cmds yes
-+#! disabled for performance reasons:
-+#! preprocessor ftp_telnet: global inspection_type stateful encrypted_traffic no check_encrypted
-+#! preprocessor ftp_telnet_protocol: telnet \
-+#!     ayt_attack_thresh 20 \
-+#!     normalize ports { 23 } \
-+#!     detect_anomalies
-+#! preprocessor ftp_telnet_protocol: ftp server default \
-+#!     def_max_param_len 100 \
-+#!     ports { 21 2100 3535 } \
-+#!     telnet_cmds yes \
-+#!     ignore_telnet_erase_cmds yes \
-+#!     ftp_cmds { ABOR ACCT ADAT ALLO APPE AUTH CCC CDUP } \
-+#!     ftp_cmds { CEL CLNT CMD CONF CWD DELE ENC EPRT } \
-+#!     ftp_cmds { EPSV ESTA ESTP FEAT HELP LANG LIST LPRT } \
-+#!     ftp_cmds { LPSV MACB MAIL MDTM MIC MKD MLSD MLST } \
-+#!     ftp_cmds { MODE NLST NOOP OPTS PASS PASV PBSZ PORT } \
-+#!     ftp_cmds { PROT PWD QUIT REIN REST RETR RMD RNFR } \
-+#!     ftp_cmds { RNTO SDUP SITE SIZE SMNT STAT STOR STOU } \
-+#!     ftp_cmds { STRU SYST TEST TYPE USER XCUP XCRC XCWD } \
-+#!     ftp_cmds { XMAS XMD5 XMKD XPWD XRCP XRMD XRSQ XSEM } \
-+#!     ftp_cmds { XSEN XSHA1 XSHA256 } \
-+#!     alt_max_param_len 0 { ABOR CCC CDUP ESTA FEAT LPSV NOOP PASV PWD QUIT REIN STOU SYST XCUP XPWD } \
-+#!     alt_max_param_len 200 { ALLO APPE CMD HELP NLST RETR RNFR STOR STOU XMKD } \
-+#!     alt_max_param_len 256 { CWD RNTO } \
-+#!     alt_max_param_len 400 { PORT } \
-+#!     alt_max_param_len 512 { SIZE } \
-+#!     chk_str_fmt { ACCT ADAT ALLO APPE AUTH CEL CLNT CMD } \
-+#!     chk_str_fmt { CONF CWD DELE ENC EPRT EPSV ESTP HELP } \
-+#!     chk_str_fmt { LANG LIST LPRT MACB MAIL MDTM MIC MKD } \
-+#!     chk_str_fmt { MLSD MLST MODE NLST OPTS PASS PBSZ PORT } \
-+#!     chk_str_fmt { PROT REST RETR RMD RNFR RNTO SDUP SITE } \
-+#!     chk_str_fmt { SIZE SMNT STAT STOR STRU TEST TYPE USER } \
-+#!     chk_str_fmt { XCRC XCWD XMAS XMD5 XMKD XRCP XRMD XRSQ } \ 
-+#!     chk_str_fmt { XSEM XSEN XSHA1 XSHA256 } \
-+#!     cmd_validity ALLO < int [ char R int ] > \    
-+#!     cmd_validity EPSV < [ { char 12 | char A char L char L } ] > \
-+#!     cmd_validity MACB < string > \
-+#!     cmd_validity MDTM < [ date nnnnnnnnnnnnnn[.n[n[n]]] ] string > \
-+#!     cmd_validity MODE < char ASBCZ > \
-+#!     cmd_validity PORT < host_port > \
-+#!     cmd_validity PROT < char CSEP > \
-+#!     cmd_validity STRU < char FRPO [ string ] > \    
-+#!     cmd_validity TYPE < { char AE [ char NTC ] | char I | char L [ number ] } >
-+#! preprocessor ftp_telnet_protocol: ftp client default \
-+#!     max_resp_len 256 \
-+#!     bounce yes \
-+#!     ignore_telnet_erase_cmds yes \
-+#!     telnet_cmds yes
- 
- 
- # SMTP normalization and anomaly detection.  For more information, see README.SMTP
--preprocessor smtp: ports { 25 465 587 691 } \
--    inspection_type stateful \
--    b64_decode_depth 0 \
--    qp_decode_depth 0 \
--    bitenc_decode_depth 0 \
--    uu_decode_depth 0 \
--    log_mailfrom \
--    log_rcptto \
--    log_filename \
--    log_email_hdrs \
--    normalize cmds \
--    normalize_cmds { ATRN AUTH BDAT CHUNKING DATA DEBUG EHLO EMAL ESAM ESND ESOM ETRN EVFY } \
--    normalize_cmds { EXPN HELO HELP IDENT MAIL NOOP ONEX QUEU QUIT RCPT RSET SAML SEND SOML } \
--    normalize_cmds { STARTTLS TICK TIME TURN TURNME VERB VRFY X-ADAT X-DRCP X-ERCP X-EXCH50 } \
--    normalize_cmds { X-EXPS X-LINK2STATE XADR XAUTH XCIR XEXCH50 XGEN XLICENSE XQUE XSTA XTRN XUSR } \
--    max_command_line_len 512 \
--    max_header_line_len 1000 \
--    max_response_line_len 512 \
--    alt_max_command_line_len 260 { MAIL } \
--    alt_max_command_line_len 300 { RCPT } \
--    alt_max_command_line_len 500 { HELP HELO ETRN EHLO } \
--    alt_max_command_line_len 255 { EXPN VRFY ATRN SIZE BDAT DEBUG EMAL ESAM ESND ESOM EVFY IDENT NOOP RSET } \
--    alt_max_command_line_len 246 { SEND SAML SOML AUTH TURN ETRN DATA RSET QUIT ONEX QUEU STARTTLS TICK TIME TURNME VERB X-EXPS X-LINK2STATE XADR XAUTH XCIR XEXCH50 XGEN XLICENSE XQUE XSTA XTRN XUSR } \
--    valid_cmds { ATRN AUTH BDAT CHUNKING DATA DEBUG EHLO EMAL ESAM ESND ESOM ETRN EVFY } \ 
--    valid_cmds { EXPN HELO HELP IDENT MAIL NOOP ONEX QUEU QUIT RCPT RSET SAML SEND SOML } \
--    valid_cmds { STARTTLS TICK TIME TURN TURNME VERB VRFY X-ADAT X-DRCP X-ERCP X-EXCH50 } \
--    valid_cmds { X-EXPS X-LINK2STATE XADR XAUTH XCIR XEXCH50 XGEN XLICENSE XQUE XSTA XTRN XUSR } \
--    xlink2state { enabled }
-+#! disabled for performance reasons:
-+#! preprocessor smtp: ports { 25 465 587 691 } \
-+#!     inspection_type stateful \
-+#!     b64_decode_depth 0 \
-+#!     qp_decode_depth 0 \
-+#!     bitenc_decode_depth 0 \
-+#!     uu_decode_depth 0 \
-+#!     log_mailfrom \
-+#!     log_rcptto \
-+#!     log_filename \
-+#!     log_email_hdrs \
-+#!     normalize cmds \
-+#!     normalize_cmds { ATRN AUTH BDAT CHUNKING DATA DEBUG EHLO EMAL ESAM ESND ESOM ETRN EVFY } \
-+#!     normalize_cmds { EXPN HELO HELP IDENT MAIL NOOP ONEX QUEU QUIT RCPT RSET SAML SEND SOML } \
-+#!     normalize_cmds { STARTTLS TICK TIME TURN TURNME VERB VRFY X-ADAT X-DRCP X-ERCP X-EXCH50 } \
-+#!     normalize_cmds { X-EXPS X-LINK2STATE XADR XAUTH XCIR XEXCH50 XGEN XLICENSE XQUE XSTA XTRN XUSR } \
-+#!     max_command_line_len 512 \
-+#!     max_header_line_len 1000 \
-+#!     max_response_line_len 512 \
-+#!     alt_max_command_line_len 260 { MAIL } \
-+#!     alt_max_command_line_len 300 { RCPT } \
-+#!     alt_max_command_line_len 500 { HELP HELO ETRN EHLO } \
-+#!     alt_max_command_line_len 255 { EXPN VRFY ATRN SIZE BDAT DEBUG EMAL ESAM ESND ESOM EVFY IDENT NOOP RSET } \
-+#!     alt_max_command_line_len 246 { SEND SAML SOML AUTH TURN ETRN DATA RSET QUIT ONEX QUEU STARTTLS TICK TIME TURNME VERB X-EXPS X-LINK2STATE XADR XAUTH XCIR XEXCH50 XGEN XLICENSE XQUE XSTA XTRN XUSR } \
-+#!     valid_cmds { ATRN AUTH BDAT CHUNKING DATA DEBUG EHLO EMAL ESAM ESND ESOM ETRN EVFY } \ 
-+#!     valid_cmds { EXPN HELO HELP IDENT MAIL NOOP ONEX QUEU QUIT RCPT RSET SAML SEND SOML } \
-+#!     valid_cmds { STARTTLS TICK TIME TURN TURNME VERB VRFY X-ADAT X-DRCP X-ERCP X-EXCH50 } \
-+#!     valid_cmds { X-EXPS X-LINK2STATE XADR XAUTH XCIR XEXCH50 XGEN XLICENSE XQUE XSTA XTRN XUSR } \
-+#!     xlink2state { enabled }
- 
- # Portscan detection.  For more information, see README.sfportscan
- # preprocessor sfportscan: proto  { all } memcap { 10000000 } sense_level { low }
-@@ -430,17 +452,19 @@ preprocessor ssh: server_ports { 22 } \
-                   enable_srvoverflow enable_protomismatch
- 
- # SMB / DCE-RPC normalization and anomaly detection.  For more information, see README.dcerpc2
--preprocessor dcerpc2: memcap 102400, events [co ]
--preprocessor dcerpc2_server: default, policy WinXP, \
--    detect [smb [139,445], tcp 135, udp 135, rpc-over-http-server 593], \
--    autodetect [tcp 1025:, udp 1025:, rpc-over-http-server 1025:], \
--    smb_max_chain 3, smb_invalid_shares ["C$", "D$", "ADMIN$"]
-+#! disabled for performance reasons:
-+#! preprocessor dcerpc2: memcap 102400, events [co ]
-+#! preprocessor dcerpc2_server: default, policy WinXP, \
-+#!     detect [smb [139,445], tcp 135, udp 135, rpc-over-http-server 593], \
-+#!     autodetect [tcp 1025:, udp 1025:, rpc-over-http-server 1025:], \
-+#!     smb_max_chain 3, smb_invalid_shares ["C$", "D$", "ADMIN$"]
- 
- # DNS anomaly detection.  For more information, see README.dns
--preprocessor dns: ports { 53 } enable_rdata_overflow
-+#! preprocessor dns: ports { 53 } enable_rdata_overflow #! disabled for performance reasons
- 
- # SSL anomaly detection and traffic bypass.  For more information, see README.ssl
--preprocessor ssl: ports { 443 465 563 636 989 992 993 994 995 7801 7802 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920 }, trustservers, noinspect_encrypted
-+#! disabled for performance reasons:
-+#! preprocessor ssl: ports { 443 465 563 636 989 992 993 994 995 7801 7802 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920 }, trustservers, noinspect_encrypted
- 
- # SDF sensitive data preprocessor.  For more information see README.sensitive_data
- preprocessor sensitive_data: alert_threshold 25
-@@ -503,12 +527,13 @@ preprocessor dnp3: ports { 20000 } \
-    check_crc
- 
- # Reputation preprocessor. For more information see README.reputation
--preprocessor reputation: \
--   memcap 500, \
--   priority whitelist, \
--   nested_ip inner, \
--   whitelist $WHITE_LIST_PATH/white_list.rules, \
--   blacklist $BLACK_LIST_PATH/black_list.rules 
-+#! disabled for performance reasons:
-+#! preprocessor reputation: \
-+#!    memcap 500, \
-+#!    priority whitelist, \
-+#!    nested_ip inner, \
-+#!    whitelist $WHITE_LIST_PATH/white_list.rules, \
-+#!    blacklist $BLACK_LIST_PATH/black_list.rules 
- 
- ###################################################
- # Step #6: Configure output plugins
-@@ -551,60 +576,71 @@ include reference.config
- # site specific rules
- include $RULE_PATH/local.rules
- 
--include $RULE_PATH/attack-responses.rules
--include $RULE_PATH/backdoor.rules
--include $RULE_PATH/bad-traffic.rules
--include $RULE_PATH/blacklist.rules
--include $RULE_PATH/botnet-cnc.rules
--include $RULE_PATH/chat.rules
--include $RULE_PATH/content-replace.rules
--include $RULE_PATH/ddos.rules
--include $RULE_PATH/dns.rules
--include $RULE_PATH/dos.rules
--include $RULE_PATH/exploit.rules
--include $RULE_PATH/file-identify.rules
--include $RULE_PATH/finger.rules
--include $RULE_PATH/ftp.rules
--include $RULE_PATH/icmp.rules
--include $RULE_PATH/icmp-info.rules
--include $RULE_PATH/imap.rules
--include $RULE_PATH/info.rules
--include $RULE_PATH/misc.rules
--include $RULE_PATH/multimedia.rules
--include $RULE_PATH/mysql.rules
--include $RULE_PATH/netbios.rules
--include $RULE_PATH/nntp.rules
--include $RULE_PATH/oracle.rules
--include $RULE_PATH/other-ids.rules
--include $RULE_PATH/p2p.rules
--include $RULE_PATH/phishing-spam.rules
--include $RULE_PATH/policy.rules
--include $RULE_PATH/pop2.rules
--include $RULE_PATH/pop3.rules
--include $RULE_PATH/rpc.rules
--include $RULE_PATH/rservices.rules
--include $RULE_PATH/scada.rules
--include $RULE_PATH/scan.rules
--include $RULE_PATH/shellcode.rules
--include $RULE_PATH/smtp.rules
--include $RULE_PATH/snmp.rules
--include $RULE_PATH/specific-threats.rules
--include $RULE_PATH/spyware-put.rules
--include $RULE_PATH/sql.rules
--include $RULE_PATH/telnet.rules
--include $RULE_PATH/tftp.rules
--include $RULE_PATH/virus.rules
--include $RULE_PATH/voip.rules
--include $RULE_PATH/web-activex.rules
--include $RULE_PATH/web-attacks.rules
--include $RULE_PATH/web-cgi.rules
--include $RULE_PATH/web-client.rules
--include $RULE_PATH/web-coldfusion.rules
--include $RULE_PATH/web-frontpage.rules
--include $RULE_PATH/web-iis.rules
--include $RULE_PATH/web-misc.rules
--include $RULE_PATH/web-php.rules
--include $RULE_PATH/x11.rules
-+#! include $RULE_PATH/attack-responses.rules
-+#! include $RULE_PATH/backdoor.rules
-+#! include $RULE_PATH/bad-traffic.rules
-+#! include $RULE_PATH/blacklist.rules
-+#! include $RULE_PATH/botnet-cnc.rules
-+#! include $RULE_PATH/chat.rules
-+#! include $RULE_PATH/content-replace.rules
-+#! include $RULE_PATH/ddos.rules
-+#! include $RULE_PATH/dns.rules
-+#! include $RULE_PATH/dos.rules
-+#! include $RULE_PATH/exploit.rules
-+#! include $RULE_PATH/file-identify.rules
-+#! include $RULE_PATH/file-office.rules
-+#! include $RULE_PATH/file-other.rules
-+#! include $RULE_PATH/file-pdf.rules
-+#! include $RULE_PATH/finger.rules
-+#! include $RULE_PATH/ftp.rules
-+#! include $RULE_PATH/icmp.rules
-+#! include $RULE_PATH/icmp-info.rules
-+#! include $RULE_PATH/imap.rules
-+#! include $RULE_PATH/indicator-compromise.rules
-+#! include $RULE_PATH/indicator-obfuscation.rules
-+#! include $RULE_PATH/info.rules
-+#! include $RULE_PATH/misc.rules
-+#! include $RULE_PATH/multimedia.rules
-+#! include $RULE_PATH/mysql.rules
-+#! include $RULE_PATH/netbios.rules
-+#! include $RULE_PATH/nntp.rules
-+#! include $RULE_PATH/oracle.rules
-+#! include $RULE_PATH/other-ids.rules
-+#! include $RULE_PATH/p2p.rules
-+#! include $RULE_PATH/phishing-spam.rules
-+#! include $RULE_PATH/policy.rules
-+#! include $RULE_PATH/policy-multimedia.rules
-+#! include $RULE_PATH/policy-other.rules
-+#! include $RULE_PATH/policy-social.rules
-+#! include $RULE_PATH/pop2.rules
-+#! include $RULE_PATH/pop3.rules
-+#! include $RULE_PATH/pua-p2p.rules
-+#! include $RULE_PATH/pua-toolbars.rules
-+#! include $RULE_PATH/rpc.rules
-+#! include $RULE_PATH/rservices.rules
-+#! include $RULE_PATH/scada.rules
-+#! include $RULE_PATH/scan.rules
-+#! include $RULE_PATH/server-mail.rules
-+#! include $RULE_PATH/shellcode.rules
-+#! include $RULE_PATH/smtp.rules
-+#! include $RULE_PATH/snmp.rules
-+#! include $RULE_PATH/specific-threats.rules
-+#! include $RULE_PATH/spyware-put.rules
-+#! include $RULE_PATH/sql.rules
-+#! include $RULE_PATH/telnet.rules
-+#! include $RULE_PATH/tftp.rules
-+#! include $RULE_PATH/virus.rules
-+#! include $RULE_PATH/voip.rules
-+#! include $RULE_PATH/web-activex.rules
-+#! include $RULE_PATH/web-attacks.rules
-+#! include $RULE_PATH/web-cgi.rules
-+#! include $RULE_PATH/web-client.rules
-+#! include $RULE_PATH/web-coldfusion.rules
-+#! include $RULE_PATH/web-frontpage.rules
-+#! include $RULE_PATH/web-iis.rules
-+#! include $RULE_PATH/web-misc.rules
-+#! include $RULE_PATH/web-php.rules
-+#! include $RULE_PATH/x11.rules
- 
- ###################################################
- # Step #8: Customize your preprocessor and decoder alerts
 

--- a/net/snort/patches/160-mysql_cross_compiling_checks.patch
+++ /dev/null
@@ -1,67 +1,1 @@
---- a/configure.in
-+++ b/configure.in
-@@ -1128,63 +1128,6 @@ if test "x$with_mysql" != "xno"; then
-     fi
-   fi
- 
--  AC_MSG_CHECKING([for mysql default client reconnect])
--
--  AC_RUN_IFELSE(
--  [AC_LANG_PROGRAM(
--  [[
--  #include <mysql.h>
--  ]],
--  [[
--      if (mysql_get_client_version() < 50003)
--          return 1;
--  ]])],
--  [mysql_default_reconnect="no"],
--  [mysql_default_reconnect="yes"])
--
--  AC_MSG_RESULT($mysql_default_reconnect)
--
--  if test "x$mysql_default_reconnect" = "xno"; then
--      AC_MSG_CHECKING([for mysql reconnect option])
--
--      AC_RUN_IFELSE(
--      [AC_LANG_PROGRAM(
--      [[
--      #include <mysql.h>
--      ]],
--      [[
--          if (mysql_get_client_version() < 50013)
--              return 1;
--      ]])],
--      [mysql_has_reconnect="yes"],
--      [mysql_has_reconnect="no"])
--
--      AC_MSG_RESULT($mysql_has_reconnect)
--
--      if test "x$mysql_has_reconnect" = "xyes"; then
--          AC_DEFINE([MYSQL_HAS_OPT_RECONNECT],[1],[For MySQL versions 5.0.13 and greater])
--
--          AC_MSG_CHECKING([for mysql setting of reconnect option before connect bug])
--
--          AC_RUN_IFELSE(
--          [AC_LANG_PROGRAM(
--          [[
--          #include <mysql.h>
--          ]],
--          [[
--              if (mysql_get_client_version() < 50019)
--                  return 1;
--          ]])],
--          [mysql_has_reconnect_bug="no"],
--          [mysql_has_reconnect_bug="yes"])
--
--          AC_MSG_RESULT($mysql_has_reconnect_bug)
--
--          if test "x$mysql_has_reconnect_bug" = "xyes"; then
--              AC_DEFINE([MYSQL_HAS_OPT_RECONNECT_BUG],[1],[For MySQL versions 5.0.13 to 5.0.18])
--          fi
--      fi
--  fi
- fi
- 
- AC_ARG_WITH(odbc,
 

--- a/net/snort/patches/200-snortsam.patch
+++ /dev/null
@@ -1,3017 +1,1 @@
-diff -ruN snort-2.9.2.2/autojunk.sh snort-2.9.2.2_bkup/autojunk.sh
---- snort-2.9.2.2/autojunk.sh	1969-12-31 16:00:00.000000000 -0800
-+++ snort-2.9.2.2_bkup/autojunk.sh	2012-04-08 20:34:57.385687022 -0700
-@@ -0,0 +1,7 @@
-+#!/bin/sh
-+# the list of commands that need to run before we do a compile
-+libtoolize --automake --copy
-+aclocal -I m4
-+autoheader
-+automake --add-missing --copy
-+autoconf
-diff -ruN snort-2.9.2.2/etc/snort.conf snort-2.9.2.2_bkup/etc/snort.conf
---- snort-2.9.2.2/etc/snort.conf	2012-03-19 15:57:09.000000000 -0700
-+++ snort-2.9.2.2_bkup/etc/snort.conf	2012-04-08 20:34:57.385687022 -0700
-@@ -536,11 +536,38 @@
- # prelude
- # output alert_prelude
- 
-+###################################################
-+# snortsam
-+###################################################
-+# In order to cause Snort to send a blocking request to the SnortSam agent,
-+# that agent has to be listed, including the port it listens on,
-+# and the encryption key it is using. The statement for that is:
-+#
-+# output alert_fwsam: {SnortSam Station}:{port}/{password}
-+#
-+#  {SnortSam Station}: IP address or host name of the host where SnortSam is running.
-+#  {port}:             The port the remote SnortSam agent listens on.
-+#  {password}:         The password, or key, used for encryption of the
-+#                      communication to the remote agent.
-+#
-+# At the very least, the IP address or host name of the host running SnortSam
-+# needs to be specified. If the port is omitted, it defaults to TCP port 898.
-+# If the password is omitted, it defaults to a preset password.
-+# (In which case it needs to be omitted on the SnortSam agent as well)
-+#
-+# More than one host can be specified, but has to be done on the same line.
-+# Just separate them with one or more spaces.
-+#
-+# Examples:
-+#
-+# output alert_fwsam: firewall/idspassword
-+# output alert_fwsam: fw1.domain.tld:898/mykey
-+# output alert_fwsam: 192.168.0.1/borderfw  192.168.1.254/wanfw
-+
- # metadata reference data.  do not modify these lines
- include classification.config
- include reference.config
- 
--
- ###################################################
- # Step #7: Customize your rule set
- # For more information, see Snort Manual, Writing Snort Rules
-diff -ruN snort-2.9.2.2/src/fatal.h snort-2.9.2.2_bkup/src/fatal.h
---- snort-2.9.2.2/src/fatal.h	1969-12-31 16:00:00.000000000 -0800
-+++ snort-2.9.2.2_bkup/src/fatal.h	2012-04-08 20:34:57.385687022 -0700
-@@ -0,0 +1,40 @@
-+/* $Id$ */
-+/*
-+** Copyright (C) 2002-2008 Sourcefire, Inc.
-+** Copyright (C) 1998-2002 Martin Roesch <roesch@sourcefire.com>
-+**
-+** This program is free software; you can redistribute it and/or modify
-+** it under the terms of the GNU General Public License Version 2 as
-+** published by the Free Software Foundation.  You may not use, modify or
-+** distribute this program under any other version of the GNU General
-+** Public License.
-+**
-+** This program is distributed in the hope that it will be useful,
-+** but WITHOUT ANY WARRANTY; without even the implied warranty of
-+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+** GNU General Public License for more details.
-+**
-+** You should have received a copy of the GNU General Public License
-+** along with this program; if not, write to the Free Software
-+** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+*/
-+
-+#ifndef __FATAL_H__
-+#define __FATAL_H__
-+
-+
-+/*
-+ * in debugging mode print out the filename and the line number where the
-+ * failure have occured
-+ */
-+
-+
-+#ifdef DEBUG
-+	#define	FATAL(msg) 	{ printf("%s:%d: ", __FILE__, __LINE__); FatalError( (char *) msg); }
-+#else
-+	#define	FATAL(msg)	FatalError( (char *) msg)
-+#endif
-+
-+
-+
-+#endif	/* __FATAL_H__ */
-diff -ruN snort-2.9.2.2/src/Makefile.am snort-2.9.2.2_bkup/src/Makefile.am
---- snort-2.9.2.2/src/Makefile.am	2011-10-26 11:28:52.000000000 -0700
-+++ snort-2.9.2.2_bkup/src/Makefile.am	2012-04-08 20:34:57.385687022 -0700
-@@ -59,6 +59,7 @@
- rate_filter.c rate_filter.h \
- obfuscation.c obfuscation.h \
- rule_option_types.h \