rtklib: move to github
rtklib: move to github

Signed-off-by: Nuno Goncalves <nunojpg@gmail.com>

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

#  
# 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:=diffutils  
PKG_VERSION:=3.0  
PKG_RELEASE:=3  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz  
PKG_SOURCE_URL:=@GNU/diffutils  
PKG_MD5SUM:=684aaba1baab743a2a90e52162ff07da  
 
PKG_INSTALL:=1  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/diffutils  
SECTION:=devel  
CATEGORY:=Development  
DEPENDS:=+USE_EGLIBC:librt  
TITLE:=diffutils  
URL:=http://www.gnu.org/software/diffutils/  
endef  
 
define Package/diffutils/description  
The Diffutils package contains programs that show the differences between  
files or directories.  
endef  
 
CONFIGURE_VARS += \  
ac_cv_func_mempcpy=n \  
 
define Package/diffutils/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{sdiff,diff3,diff,cmp} $(1)/usr/bin/  
endef  
 
define Package/diffutils/preinst  
#!/bin/sh  
for x in sdiff diff3 diff cmp; do  
[ -L "$${IPKG_INSTROOT}/usr/bin/$$x" ] && rm -f "$${IPKG_INSTROOT}/usr/bin/$$x"  
done  
exit 0  
endef  
 
define Package/diffutils/postrm  
#!/bin/sh  
for x in sdiff diff3 diff cmp; do  
/bin/busybox $$x -h 2>&1 | grep -q BusyBox && ln -sf ../../bin/busybox /usr/bin/$$x  
done  
exit 0  
endef  
 
$(eval $(call BuildPackage,diffutils))  
 
file:a/devel/gcc/Makefile (deleted)
#  
# 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:=gcc  
PKG_VERSION:=$(strip $(subst ",, $(CONFIG_GCC_VERSION)))#"))  
PKG_RELEASE:=1  
PATCH_DIR=$(TOPDIR)/toolchain/gcc/patches/$(PKG_VERSION)  
PKG_SOURCE_URL:=ftp://ftp.fu-berlin.de/unix/languages/gcc/releases/gcc-$(PKG_VERSION) \  
http://mirrors.rcn.net/pub/sourceware/gcc/releases/gcc-$(PKG_VERSION) \  
ftp://ftp.gnu.org/gnu/gcc/releases/gcc-$(PKG_VERSION)  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2  
PKG_MD5SUM:=354853e0b2da90c527e35aabb8d6f1e6  
 
include $(INCLUDE_DIR)/package.mk  
 
SEP:=,  
TARGET_LANGUAGES:="c$(if $(CONFIG_INSTALL_LIBSTDCPP),$(SEP)c++)$(if $(CONFIG_INSTALL_LIBGCJ),$(SEP)java)"  
EXTRA_TARGET=$(if $(CONFIG_EXTRA_TARGET_ARCH),--enable-biarch --enable-targets=$(call qstrip,$(CONFIG_EXTRA_TARGET_ARCH_NAME))-linux-uclibc)  
 
define Package/gcc  
SECTION:=devel  
CATEGORY:=Development  
TITLE:=gcc  
DEPENDS:=@TARGET_x86 @NO_STRIP  
endef  
 
define Package/gcc/description  
build a native toolchain for compiling on target  
endef  
 
define Build/Prepare  
$(call Build/Prepare/Default)  
$(SED) 's,\(version_string.. = "[0-9\.]*\).*\(";\),\1 (OpenWrt-2.0)\2,' $(PKG_BUILD_DIR)/gcc/version.c  
$(SED) 's,\(bug_report_url.. = "\).*\(";\),\1<URL:https://dev.openwrt.org/>\2,' $(PKG_BUILD_DIR)/gcc/version.c  
(cd $(PKG_BUILD_DIR)/libstdc++-v3; autoconf;);  
$(SED) 's,gcc_no_link=yes,gcc_no_link=no,' $(PKG_BUILD_DIR)/libstdc++-v3/configure  
endef  
 
define Build/Configure  
(cd $(PKG_BUILD_DIR); rm -f config.cache; \  
SHELL="$(BASH)" \  
$(TARGET_CONFIGURE_OPTS) \  
$(PKG_BUILD_DIR)/configure \  
$(TARGET_CONFIGURE_ARGS) \  
--build=$(GNU_HOST_NAME) \  
--host=$(REAL_GNU_TARGET_NAME) \  
--target=$(REAL_GNU_TARGET_NAME) \  
--enable-languages=$(TARGET_LANGUAGES) \  
--enable-shared \  
--disable-__cxa_atexit \  
--enable-target-optspace \  
--with-gnu-ld \  
--disable-nls \  
--disable-libmudflap \  
--disable-multilib \  
$(EXTRA_TARGET) \  
$(SOFT_FLOAT_CONFIG_OPTION) \  
$(call qstrip,$(CONFIG_EXTRA_GCC_CONFIG_OPTIONS)) \  
);  
endef  
 
define Build/Compile  
export SHELL="$(BASH)"; $(MAKE_VARS) $(MAKE) -C $(PKG_BUILD_DIR) \  
DESTDIR="$(PKG_INSTALL_DIR)" $(MAKE_ARGS) all install  
# Set up the symlinks to enable lying about target name.  
set -e; \  
(cd $(TOOLCHAIN_DIR); \  
ln -sf $(REAL_GNU_TARGET_NAME) $(GNU_TARGET_NAME); \  
cd bin; \  
for app in $(REAL_GNU_TARGET_NAME)-* ; do \  
ln -sf $$$${app} \  
$(GNU_TARGET_NAME)$$$${app##$(REAL_GNU_TARGET_NAME)}; \  
done; \  
);  
endef  
 
define Package/gcc/install  
$(INSTALL_DIR) $(1)/usr/lib/  
cp -r $(PKG_INSTALL_DIR)/* $(1)  
cp -r $(TOOLCHAIN_DIR)/include $(1)/usr/  
cp $(TOOLCHAIN_DIR)/lib/crt* $(1)/usr/lib/  
cp $(TOOLCHAIN_DIR)/lib/libc.so $(1)/usr/lib/  
endef  
 
$(eval $(call BuildPackage,gcc))  
 
file:a/lang/erlang/Makefile (deleted)
#  
# 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:=erlang  
PKG_VERSION:=R16B02  
PKG_RELEASE:=1  
 
PKG_SOURCE:=otp_src_$(PKG_VERSION).tar.gz  
PKG_SOURCE_URL:= http://www.erlang.org/download/ \  
http://erlang.mirror.su.se/  
PKG_MD5SUM:= ca63bcde0e5ae0f2df9457f97b3115a4  
 
PKG_BUILD_DEPENDS:=erlang/host openssl  
 
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/otp_src_$(PKG_VERSION)  
PKG_BUILD_DIR:=$(BUILD_DIR)/otp_src_$(PKG_VERSION)  
 
include $(INCLUDE_DIR)/host-build.mk  
include $(INCLUDE_DIR)/package.mk  
 
define Package/erlang/Default  
SUBMENU:=Erlang  
SECTION:=lang  
CATEGORY:=Languages  
TITLE:=Erlang/OTP programming language  
URL:=http://www.erlang.org/  
endef  
 
define Package/erlang/Default/description  
Erlang/OTP is a general-purpose programming language and runtime  
environment. Erlang has built-in support for concurrency, distribution  
and fault tolerance.  
endef  
 
define Package/erlang  
$(call Package/erlang/Default)  
DEPENDS+= +libncurses +librt +zlib  
PROVIDES:= erlang-erts=5.10.3 erlang-kernel=2.16.3 erlang-sasl=2.3.3 erlang-stdlib=1.19.3  
endef  
 
define Package/erlang/description  
$(call Package/erlang/Default/description)  
.  
This package contains the runtime implementation and a minimal set of  
modules (erts, kernel, sasl & stdlib).  
endef  
 
 
define Package/erlang-asn1  
$(call Package/erlang/Default)  
TITLE:=Abstract Syntax Notation One (ASN.1) support  
VERSION:=2.0.3  
DEPENDS+= +erlang +erlang-syntax-tools  
endef  
 
define Package/erlang-asn1/description  
$(call Package/erlang/Default/description)  
.  
This Erlang/OTP package provides Abstract Syntax Notation One (ASN.1)  
support.  
endef  
 
 
define Package/erlang-compiler  
$(call Package/erlang/Default)  
TITLE:=Byte code compiler  
VERSION:=4.9.3  
DEPENDS+= +erlang +erlang-hipe  
endef  
 
define Package/erlang-compiler/description  
$(call Package/erlang/Default/description)  
.  
This Erlang/OTP package provides a byte code compiler for Erlang which  
produces highly compact code.  
endef  
 
 
define Package/erlang-crypto  
$(call Package/erlang/Default)  
TITLE:=Cryptography support  
VERSION:=3.1  
DEPENDS+= +erlang +libopenssl  
endef  
 
define Package/erlang-crypto/description  
$(call Package/erlang/Default/description)  
.  
This Erlang/OTP package provides functions for computation of message  
digests, and encryption and decryption functions.  
endef  
 
 
define Package/erlang-hipe  
$(call Package/erlang/Default)  
TITLE:=High Performance Erlang  
VERSION:=3.10.2.1  
DEPENDS+= +erlang  
endef  
 
define Package/erlang-hipe/description  
$(call Package/erlang/Default/description)  
.  
This Erlang/OTP package provides HiPE (High Performance Erlang)  
support.  
endef  
 
 
define Package/erlang-inets  
$(call Package/erlang/Default)  
TITLE:=Internet clients and servers  
VERSION:=5.9.6  
DEPENDS+= +erlang  
endef  
 
define Package/erlang-inets/description  
$(call Package/erlang/Default/description)  
.  
This Erlang/OTP package provides a container for Internet clients and  
servers. Currently a FTP client, a HTTP client and server, and a tftp  
client and server have been incorporated in Inets.  
endef  
 
 
define Package/erlang-mnesia  
$(call Package/erlang/Default)  
TITLE:=Distributed database  
VERSION:=4.10  
DEPENDS+= +erlang  
endef  
 
define Package/erlang-mnesia/description  
$(call Package/erlang/Default/description)  
.  
This Erlang/OTP package provides a distributed DataBase Management  
System (DBMS), appropriate for telecommunications applications and  
other Erlang applications which require continuous operation and  
exhibit soft real-time properties.  
endef  
 
 
define Package/erlang-runtime-tools  
$(call Package/erlang/Default)  
TITLE:=Low-profile debugging/tracing tools  
VERSION:=1.8.12  
DEPENDS+= +erlang  
endef  
 
define Package/erlang-runtime-tools/description  
$(call Package/erlang/Default/description)  
.  
This Erlang/OTP package provides low footprint tracing/debugging tools  
suitable for inclusion in a production system.  
endef  
 
 
define Package/erlang-snmp  
$(call Package/erlang/Default)  
TITLE:=Simple Network Management Protocol (SNMP) support  
VERSION:=4.24.2  
DEPENDS+= +erlang +erlang-asn1  
endef  
 
define Package/erlang-snmp/description  
$(call Package/erlang/Default/description)  
.  
This Erlang/OTP package provides Simple Network Management Protocol  
(SNMP) support including a MIB compiler and tools for creating SNMP  
agents.  
endef  
 
 
define Package/erlang-ssh  
$(call Package/erlang/Default)  
TITLE:=Secure Shell (SSH) support  
VERSION:=2.1.8  
DEPENDS+= +erlang +erlang-crypto  
endef  
 
define Package/erlang-ssh/description  
$(call Package/erlang/Default/description)  
.  
This Erlang/OTP package provides an implementation of the Secure Shell  
protocol, with SSH & SFTP support.  
endef  
 
 
define Package/erlang-ssl  
$(call Package/erlang/Default)  
TITLE:=Secure Sockets Layer (SSL) support  
VERSION:=5.3.1  
DEPENDS+= +erlang +erlang-crypto  
endef  
 
define Package/erlang-ssl/description  
$(call Package/erlang/Default/description)  
.  
This Erlang/OTP package provides support for secure communication over  
sockets.  
endef  
 
 
define Package/erlang-syntax-tools  
$(call Package/erlang/Default)  
TITLE:=Abstract Erlang syntax trees handling support  
VERSION:=1.6.11  
DEPENDS+= +erlang  
endef  
 
define Package/erlang-syntax-tools/description  
$(call Package/erlang/Default/description)  
.  
This Erlang/OTP package provides support for handling abstract Erlang  
syntax trees.  
endef  
 
 
# Host  
 
HOST_CONFIGURE_ARGS += \  
--disable-hipe \  
--disable-smp-support \  
--without-javac  
 
define Host/Compile  
$(MAKE) -C $(HOST_BUILD_DIR) all  
endef  
 
define Host/Install  
$(MAKE) -C $(HOST_BUILD_DIR) install  
endef  
 
 
# Target  
 
CONFIGURE_ARGS += \  
--disable-hipe \  
--disable-smp-support \  
--without-javac \  
--enable-dynamic-ssl-lib  
 
CONFIGURE_VARS += \  
SHLIB_LD="$(TARGET_CC)" \  
TARGET_ARCH="$(TARGET_ARCH)" \  
ac_cv_func_mmap_fixed_mapped=yes \  
ac_cv_path_WX_CONFIG_PATH=no \  
erl_xcomp_getaddrinfo=no \  
erl_xcomp_sysroot="$(STAGING_DIR)"  
 
EXTRA_LDFLAGS+=-lz  
 
define Build/Compile  
$(MAKE) -C $(PKG_BUILD_DIR) \  
noboot  
$(MAKE) -C $(PKG_BUILD_DIR) \  
INSTALL_PREFIX="$(PKG_INSTALL_DIR)" \  
install  
endef  
 
define Package/erlang/install  
$(INSTALL_DIR) $(1)/usr/bin  
for f in epmd erl erlc escript run_erl; do \  
$(CP) $(PKG_INSTALL_DIR)/usr/bin/$$$$f $(1)/usr/bin/ ; \  
done  
$(INSTALL_DIR) $(1)/usr/lib/erlang/bin  
for f in erl erlc escript run_erl start start.boot start.script start_clean.boot start_erl start_sasl.boot to_erl; do \  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/erlang/bin/$$$$f $(1)/usr/lib/erlang/bin/ ; \  
done  
$(INSTALL_DIR) $(1)/usr/lib/erlang/lib  
for m in erts kernel sasl stdlib; do \  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/erlang/lib/$$$$m-* $(1)/usr/lib/erlang/lib/ ; \  
rm -rf $(1)/usr/lib/erlang/lib/$$$$m-*/examples ; \  
rm -rf $(1)/usr/lib/erlang/lib/$$$$m-*/src ; \  
done  
$(INSTALL_DIR) $(1)/usr/lib/erlang  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/erlang/erts-* $(1)/usr/lib/erlang/  
rm -rf $(1)/usr/lib/erlang/erts-*/{doc,include,lib,man,src}  
rm -rf $(1)/usr/lib/erlang/erts-*/bin/*.src  
$(INSTALL_DIR) $(1)/usr/lib/erlang/releases  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/erlang/releases/* $(1)/usr/lib/erlang/releases/  
$(SED) 's,%ERL_ROOT%,/usr/lib/erlang,g' \  
$(1)/usr/lib/erlang/releases/RELEASES.src  
mv -f $(1)/usr/lib/erlang/releases/RELEASES.src \  
$(1)/usr/lib/erlang/releases/RELEASES  
for f in bin/erl bin/start erts-*/bin/erl erts-*/bin/start; do \  
$(SED) 's,^\(ROOTDIR\)=.*,\1=/usr/lib/erlang,g' \  
$(1)/usr/lib/erlang/$$$$f ; \  
done  
endef  
 
define Build/InstallDev  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_BUILD_DIR)/lib/erl_interface/obj/*/*.a $(1)/usr/lib  
$(INSTALL_DIR) $(1)/usr/include  
$(CP) $(PKG_BUILD_DIR)/lib/erl_interface/include/*.h $(1)/usr/include  
endef  
 
define BuildModule  
 
define Package/erlang-$(1)/install  
$(INSTALL_DIR) $$(1)/usr/lib/erlang/lib  
for m in $(2); do \  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/erlang/lib/$$$$$$$$m-* $$(1)/usr/lib/erlang/lib/ ; \  
rm -rf $$(1)/usr/lib/erlang/lib/$$$$$$$$m-*/{examples,priv/obj,src} ; \  
done  
endef  
 
$$(eval $$(call BuildPackage,erlang-$(1)))  
 
endef  
 
 
$(eval $(call HostBuild))  
$(eval $(call BuildPackage,erlang))  
$(eval $(call BuildModule,asn1,asn1))  
$(eval $(call BuildModule,compiler,compiler))  
$(eval $(call BuildModule,crypto,crypto))  
$(eval $(call BuildModule,hipe,hipe))  
$(eval $(call BuildModule,inets,inets))  
$(eval $(call BuildModule,mnesia,mnesia))  
$(eval $(call BuildModule,runtime-tools,runtime_tools))  
$(eval $(call BuildModule,snmp,snmp))  
$(eval $(call BuildModule,ssh,ssh))  
$(eval $(call BuildModule,ssl,ssl))  
$(eval $(call BuildModule,syntax-tools,syntax_tools))  
 
--- a/erts/emulator/Makefile.in  
+++ b/erts/emulator/Makefile.in  
@@ -591,7 +591,7 @@ endif  
 
 
$(OBJDIR)/%.o: beam/%.c  
- $(V_CC) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) $(INCLUDES) -c $< -o $@  
+ $(V_CC) $(INCLUDES) $(subst -O2, $(GEN_OPT_FLGS), $(CFLAGS)) -c $< -o $@  
 
else  
 
 
--- a/lib/tools/Makefile  
+++ b/lib/tools/Makefile  
@@ -23,7 +23,7 @@ include $(ERL_TOP)/make/$(TARGET)/otp.mk  
# Macros  
# ----------------------------------------------------  
 
-SUB_DIRECTORIES = c_src src doc/src examples priv emacs  
+SUB_DIRECTORIES = c_src src doc/src examples priv  
 
include vsn.mk  
VSN = $(TOOLS_VSN)  
 
file:a/lang/luasoap/Makefile (deleted)
#  
# 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:=luasoap  
PKG_VERSION:=2.0.2  
PKG_RELEASE:=2  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz  
PKG_SOURCE_URL:=https://github.com/downloads/tomasguisasola/luasoap/  
PKG_MD5SUM:=3aafa06f3a65e65f4ee08e12b89ec583  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/luasoap  
SUBMENU:=Lua  
SECTION:=lang  
CATEGORY:=Languages  
TITLE:=LuaSOAP  
URL:=https://github.com/tomasguisasola/luasoap  
DEPENDS:=+lua +luaexpat +luasec +luasocket  
endef  
 
define Package/luasoap/description  
LuaSOAP is a library of functions to deal with SOAP.  
endef  
 
define Build/Configure  
endef  
 
define Build/Compile  
endef  
 
define Package/luasoap/install  
$(INSTALL_DIR) $(1)/usr/lib/lua  
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/soap.lua $(1)/usr/lib/lua/  
$(INSTALL_DIR) $(1)/usr/lib/lua/soap  
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/{client,server}.lua $(1)/usr/lib/lua/soap/  
$(INSTALL_DIR) $(1)/usr/lib/lua/soap/client  
$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/client/https.lua $(1)/usr/lib/lua/soap/client/  
$(INSTALL_DIR) $(1)/usr/lib/lua/soap/tests  
$(INSTALL_DATA) $(PKG_BUILD_DIR)/tests/test{,-http,-server}.lua $(1)/usr/lib/lua/soap/tests/  
endef  
 
$(eval $(call BuildPackage,luasoap))  
 
file:a/lang/luasql/Makefile (deleted)
#  
# 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:=luasql  
PKG_VERSION:=2.1.1  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz  
PKG_SOURCE_URL:=http://luaforge.net/frs/download.php/2686/  
PKG_MD5SUM:=63bdd57de4b9d1be336ba112d8cb69eb  
 
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/luasql/Default  
SUBMENU:=Lua  
SECTION:=lang  
CATEGORY:=Languages  
TITLE:=Lua SQL binding  
URL:=http://www.keplerproject.org/luasql/  
DEPENDS:= +lua  
endef  
 
define Package/luasql/Default/description  
LuaSQL is a simple interface from Lua to a DBMS.  
endef  
 
 
define Package/luasql-mysql  
$(call Package/luasql/Default)  
TITLE+= for MySQL  
DEPENDS+= +libmysqlclient  
VARIANT:=mysql  
endef  
 
define Package/luasql-mysql/description  
$(call Package/luasql/Default/description)  
.  
This package contains the MySQL binding.  
endef  
 
 
define Package/luasql-pgsql  
$(call Package/luasql/Default)  
TITLE+= for PostgreSQL  
DEPENDS+= +libpq  
VARIANT:=postgres  
endef  
 
define Package/luasql-pgsql/description  
$(call Package/luasql/Default/description)  
.  
This package contains the PostgreSQL binding.  
endef  
 
 
define Package/luasql-sqlite3  
$(call Package/luasql/Default)  
TITLE+= for SQLite 3  
DEPENDS+= +libsqlite3  
VARIANT:=sqlite3  
endef  
 
define Package/luasql-sqlite3/description  
$(call Package/luasql/Default/description)  
.  
This package contains the SQLite 3 binding.  
endef  
 
 
TARGET_CFLAGS += $(FPIC) -std=gnu99  
TARGET_CPPFLAGS += -DLUA_USE_LINUX  
 
ifeq ($(BUILD_VARIANT),mysql)  
TARGET_CPPFLAGS += -I$(STAGING_DIR)/usr/include/mysql  
TARGET_LDFLAGS += -L$(STAGING_DIR)/usr/lib/mysql -lmysqlclient -lz  
endif  
 
ifeq ($(BUILD_VARIANT),postgres)  
TARGET_LDFLAGS += -lpq  
endif  
 
ifeq ($(BUILD_VARIANT),sqlite3)  
TARGET_LDFLAGS += -lsqlite3 -lpthread  
endif  
 
define Build/Compile  
$(MAKE) -C $(PKG_BUILD_DIR) \  
T="$(BUILD_VARIANT)" \  
PREFIX="$(STAGING_DIR)/usr" \  
LUA_LIBDIR="$(STAGING_DIR)/usr/lib/lua" \  
DRIVER_INCS="$(TARGET_CPPFLAGS)" \  
DRIVER_LIBS="$(TARGET_LDFLAGS)" \  
CC="$(TARGET_CROSS)gcc" \  
CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \  
lib  
$(MAKE) -C $(PKG_BUILD_DIR) \  
T="$(BUILD_VARIANT)" \  
LUA_LIBDIR="$(PKG_INSTALL_DIR)/usr/lib/lua" \  
install  
endef  
 
define Build/Install/Default  
$(INSTALL_DIR) $(1)/usr/lib/lua/luasql  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lua/luasql/*.so $(1)/usr/lib/lua/luasql/  
endef  
 
Package/luasql-mysql/install = $(Build/Install/Default)  
Package/luasql-pgsql/install = $(Build/Install/Default)  
Package/luasql-sqlite3/install = $(Build/Install/Default)  
 
$(eval $(call BuildPackage,luasql-mysql))  
$(eval $(call BuildPackage,luasql-pgsql))  
$(eval $(call BuildPackage,luasql-sqlite3))  
 
file:a/lang/ruby/Makefile (deleted)
#  
# Copyright (C) 2006-2010 OpenWrt.org  
#  
# This is free software, licensed under the GNU General Public License v2.  
# See /LICENSE for more information.  
#  
 
#  
# To Do:  
# - split up encodings  
# - allow selection of either native or pure version of a library where supported  
# +-> some native libraries are probably only supported if ruby-dl is enabled  
# anything else?  
 
include $(TOPDIR)/rules.mk  
 
PKG_NAME:=ruby  
PKG_VERSION:=1.9.3-p545  
PKG_RELEASE:=1  
 
PKG_LIBVER:=1.9  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2  
PKG_SOURCE_URL:=ftp://ftp.ruby-lang.org/pub/ruby/$(PKG_LIBVER)/  
PKG_MD5SUM:=4743c1dc48491070bae8fc8b423bc1a7  
 
PKG_BUILD_DEPENDS:=ruby/host  
PKG_INSTALL:=1  
PKG_BUILD_PARALLEL:=1  
PKG_FIXUP:=autoreconf  
 
include $(INCLUDE_DIR)/host-build.mk  
include $(INCLUDE_DIR)/package.mk  
include $(INCLUDE_DIR)/nls.mk  
 
define Package/ruby/Default  
SUBMENU:=Ruby  
SECTION:=lang  
CATEGORY:=Languages  
TITLE:=Ruby scripting language  
URL:=http://www.ruby-lang.org/  
endef  
 
define Package/ruby/Default/description  
Ruby is the interpreted scripting language for quick and easy  
object-oriented programming. It has many features to process text files  
and to do system management tasks (as in perl). It is simple,  
straight-forward, and extensible.  
endef  
 
define Package/ruby  
$(call Package/ruby/Default)  
TITLE+= (interpreter)  
DEPENDS:=+libruby  
endef  
 
define Package/ruby/description  
$(call Package/ruby/Default/description)  
endef  
 
define Package/libruby  
$(call Package/ruby/Default)  
SUBMENU:=  
SECTION:=libs  
CATEGORY:=Libraries  
TITLE+= (shared library)  
DEPENDS+= +libpthread +librt  
endef  
 
# Ongoing work to break up ruby's standard library into coherent pieces  
# with minimal dependencies between them  
 
define Package/ruby-core  
$(call Package/ruby/Default)  
TITLE:=Ruby standard libraries  
DEPENDS:=ruby +libdb47 +libffi  
endef  
 
define Package/ruby-cgi  
$(call Package/ruby/Default)  
TITLE:=Ruby CGI support toolkit  
DEPENDS:=ruby  
endef  
 
define Package/ruby-dl  
$(call Package/ruby/Default)  
TITLE+= (dynamic linker support) (adds 5MB+)  
DEPENDS:=ruby  
endef  
 
define Package/ruby-enc  
$(call Package/ruby/Default)  
TITLE+= (character re-coding library) (adds 2MB+)  
DEPENDS:=ruby  
endef  
 
define Package/ruby-erb  
$(call Package/ruby/Default)  
TITLE+= (embedded interpreter)  
DEPENDS:=ruby  
endef  
 
define Package/ruby-gdbm  
$(call Package/ruby/Default)  
TITLE:=Ruby support for gdbm  
DEPENDS:=ruby +libgdbm  
endef  
 
define Package/ruby-gems  
$(call Package/ruby/Default)  
TITLE:=Ruby gems packet management  
DEPENDS:=ruby +ruby-yaml +ruby-zlib +ruby-openssl +ruby-webrick +ruby-erb  
endef  
 
define Package/ruby-irb  
$(call Package/ruby/Default)  
TITLE+= (interactive shell)  
DEPENDS:=ruby +ruby-core  
endef  
 
define Package/ruby-json  
$(call Package/ruby/Default)  
TITLE:=Ruby support for JSON  
DEPENDS:=ruby  
endef  
 
define Package/ruby-ncurses  
$(call Package/ruby/Default)  
TITLE:=Ruby support for ncurses  
DEPENDS:=ruby +libncurses +libncursesw  
endef  
 
define Package/ruby-nkf  
$(call Package/ruby/Default)  
TITLE:=Ruby Network Kanji Filter  
DEPENDS:=ruby  
endef  
 
define Package/ruby-openssl  
$(call Package/ruby/Default)  
TITLE:=Ruby support for openssl  
DEPENDS:=ruby +libopenssl  
endef  
 
define Package/ruby-rdoc  
$(call Package/ruby/Default)  
TITLE+= (documentation generator)  
DEPENDS:=ruby  
endef  
 
define Package/ruby-rake  
$(call Package/ruby/Default)  
TITLE+=Ruby Rake (make replacement)  
DEPENDS:=ruby  
endef  
 
define Package/ruby-readline  
$(call Package/ruby/Default)  
TITLE:=Ruby support for readline  
DEPENDS:=ruby +libncurses +libreadline  
endef  
 
define Package/ruby-rexml  
$(call Package/ruby/Default)  
TITLE:=Ruby XML toolkit  
DEPENDS:=ruby  
endef  
 
define Package/ruby-rss  
$(call Package/ruby/Default)  
TITLE:=Ruby RSS toolkit  
DEPENDS:=ruby  
endef  
 
define Package/ruby-unit  
$(call Package/ruby/Default)  
TITLE:=Ruby unit testing toolkit  
DEPENDS:=ruby  
endef  
 
define Package/ruby-webrick  
$(call Package/ruby/Default)  
TITLE:=Ruby Web server toolkit  
DEPENDS:=ruby  
endef  
 
define Package/ruby-xmlrpc  
$(call Package/ruby/Default)  
TITLE:=Ruby XML-RPC toolkit  
DEPENDS:=ruby  
endef  
 
define Package/ruby-yaml  
$(call Package/ruby/Default)  
TITLE:=Ruby YAML toolkit  
DEPENDS:=ruby  
endef  
 
define Package/ruby-zlib  
$(call Package/ruby/Default)  
TITLE:=Ruby support for zlib  
DEPENDS:=ruby +zlib  
endef  
 
HOST_CONFIGURE_ARGS += \  
--disable-install-doc \  
--disable-install-rdoc \  
--disable-install-capi  
 
CONFIGURE_ARGS += \  
--enable-shared \  
--enable-static \  
--disable-rpath \  
--enable-ipv6 \  
--with-ruby-version=minor \  
--with-iconv-dir=$(ICONV_PREFIX) \  
 
TARGET_LDFLAGS += -L$(PKG_BUILD_DIR)  
 
MAKE_FLAGS += \  
DESTDIR="$(PKG_INSTALL_DIR)" \  
SHELL="/bin/bash"  
 
define Package/ruby/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ruby $(1)/usr/bin/  
endef  
 
define Package/libruby/install  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libruby.so.* $(1)/usr/lib/  
endef  
 
define Package/ruby-core/install  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby $(1)/usr/lib/  
rm -rf \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/*/curses.so \  
\  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/*/gdbm.so \  
\  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/kconv.rb \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/*/nkf.so \  
\  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/digest \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/digest.rb \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/*/digest \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/*/digest.so \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/openssl \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/openssl.rb \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/*/openssl.so \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/drb/ssl.rb \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/net/https.rb \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/webrick/ssl.rb \  
\  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/*/dl.so \  
\  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/*/enc \  
\  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/*/readline.so \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/irb/completion.rb \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/irb/ext/save-history.rb \  
\  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/*/zlib.so \  
\  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/erb.rb \  
\  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/json.rb \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/json \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/*/json \  
\  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/irb.rb \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/irb \  
\  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/rdoc \  
\  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/rake.rb \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/rake \  
\  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/rubygems.rb \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/rubygems \  
\  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/cgi.rb \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/cgi \  
\  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/rexml \  
\  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/rss \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/rss.rb \  
\  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/test \  
\  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/webrick \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/webrick.rb \  
\  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/xmlrpc \  
\  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/yaml \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/yaml.rb \  
$(1)/usr/lib/ruby/$(PKG_LIBVER)/*/syck.so \  
 
find $(1) -name '*.h' | xargs rm -f  
endef  
 
define Package/ruby-cgi/install  
$(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/cgi $(1)/usr/lib/ruby/$(PKG_LIBVER)/  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/cgi.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/  
endef  
 
define Package/ruby-dl/install  
( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \  
usr/lib/ruby/$(PKG_LIBVER)/*/dl.so \  
) | ( cd $(1); $(TAR) -xf - )  
endef  
 
define Package/ruby-enc/install  
( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \  
usr/lib/ruby/$(PKG_LIBVER)/*/enc \  
) | ( cd $(1); $(TAR) -xf - )  
endef  
 
define Package/ruby-erb/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/erb $(1)/usr/bin/  
$(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)/  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/erb.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/  
endef  
 
define Package/ruby-gdbm/install  
( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \  
usr/lib/ruby/$(PKG_LIBVER)/*/gdbm.so \  
) | ( cd $(1); $(TAR) -xf - )  
endef  
 
define Package/ruby-gems/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(CP) $(PKG_INSTALL_DIR)/usr/bin/gem $(1)/usr/bin/  
$(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rubygems.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rubygems $(1)/usr/lib/ruby/$(PKG_LIBVER)/  
endef  
 
define Package/ruby-irb/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/irb $(1)/usr/bin/  
$(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/irb $(1)/usr/lib/ruby/$(PKG_LIBVER)/  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/irb.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/  
endef  
 
define Package/ruby-json/install  
( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \  
usr/lib/ruby/$(PKG_LIBVER)/json.rb \  
usr/lib/ruby/$(PKG_LIBVER)/json \  
usr/lib/ruby/$(PKG_LIBVER)/*/json \  
) | ( cd $(1); $(TAR) -xf - )  
endef  
 
define Package/ruby-ncurses/install  
( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \  
usr/lib/ruby/$(PKG_LIBVER)/*/curses.so \  
) | ( cd $(1); $(TAR) -xf - )  
endef  
 
define Package/ruby-nkf/install  
( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \  
usr/lib/ruby/$(PKG_LIBVER)/kconv.rb \  
usr/lib/ruby/$(PKG_LIBVER)/*/nkf.so \  
) | ( cd $(1); $(TAR) -xf - )  
endef  
 
define Package/ruby-openssl/install  
( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \  
usr/lib/ruby/$(PKG_LIBVER)/digest \  
usr/lib/ruby/$(PKG_LIBVER)/digest.rb \  
usr/lib/ruby/$(PKG_LIBVER)/*/digest.so \  
usr/lib/ruby/$(PKG_LIBVER)/*/digest/*.so \  
usr/lib/ruby/$(PKG_LIBVER)/openssl \  
usr/lib/ruby/$(PKG_LIBVER)/openssl.rb \  
usr/lib/ruby/$(PKG_LIBVER)/*/openssl.so \  
usr/lib/ruby/$(PKG_LIBVER)/drb/ssl.rb \  
usr/lib/ruby/$(PKG_LIBVER)/net/https.rb \  
) | ( cd $(1); $(TAR) -xf - )  
endef  
 
define Package/ruby-rdoc/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rdoc $(1)/usr/bin/  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ri $(1)/usr/bin/  
$(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rdoc $(1)/usr/lib/ruby/$(PKG_LIBVER)/  
endef  
 
define Package/ruby-rake/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/rake $(1)/usr/bin/  
$(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rake.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rake $(1)/usr/lib/ruby/$(PKG_LIBVER)/  
endef  
 
define Package/ruby-readline/install  
( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \  
usr/lib/ruby/$(PKG_LIBVER)/*/readline.so \  
) | ( cd $(1); $(TAR) -xf - )  
endef  
 
define Package/ruby-rexml/install  
$(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rexml $(1)/usr/lib/ruby/$(PKG_LIBVER)/  
endef  
 
 
define Package/ruby-rss/install  
$(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rss $(1)/usr/lib/ruby/$(PKG_LIBVER)/  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/rss.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/  
endef  
 
define Package/ruby-unit/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/testrb $(1)/usr/bin/  
$(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/test $(1)/usr/lib/ruby/$(PKG_LIBVER)/  
endef  
 
define Package/ruby-webrick/install  
$(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/webrick $(1)/usr/lib/ruby/$(PKG_LIBVER)/  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/webrick.rb $(1)/usr/lib/ruby/$(PKG_LIBVER)/  
endef  
 
define Package/ruby-xmlrpc/install  
$(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ruby/$(PKG_LIBVER)/xmlrpc $(1)/usr/lib/ruby/$(PKG_LIBVER)/  
endef  
 
define Package/ruby-yaml/install  
( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \  
usr/lib/ruby/$(PKG_LIBVER)/yaml \  
usr/lib/ruby/$(PKG_LIBVER)/yaml.rb \  
usr/lib/ruby/$(PKG_LIBVER)/*/syck.so \  
) | ( cd $(1); $(TAR) -xf - )  
endef  
 
define Package/ruby-zlib/install  
( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \  
usr/lib/ruby/$(PKG_LIBVER)/*/zlib.so \  
) | ( cd $(1); $(TAR) -xf - )  
endef  
 
define Build/InstallDev  
( cd $(PKG_INSTALL_DIR); $(TAR) -cf - \  
. \  
) | ( cd $(1); $(TAR) -xf - )  
endef  
 
$(eval $(call BuildPackage,ruby))  
$(eval $(call BuildPackage,libruby))  
$(eval $(call BuildPackage,ruby-core))  
$(eval $(call BuildPackage,ruby-cgi))  
$(eval $(call BuildPackage,ruby-dl))  
$(eval $(call BuildPackage,ruby-enc))  
$(eval $(call BuildPackage,ruby-erb))  
$(eval $(call BuildPackage,ruby-gdbm))  
$(eval $(call BuildPackage,ruby-gems))  
$(eval $(call BuildPackage,ruby-json))  
$(eval $(call BuildPackage,ruby-irb))  
$(eval $(call BuildPackage,ruby-ncurses))  
$(eval $(call BuildPackage,ruby-nkf))  
$(eval $(call BuildPackage,ruby-openssl))  
$(eval $(call BuildPackage,ruby-rake))  
$(eval $(call BuildPackage,ruby-rdoc))  
$(eval $(call BuildPackage,ruby-readline))  
$(eval $(call BuildPackage,ruby-rexml))  
$(eval $(call BuildPackage,ruby-rss))  
$(eval $(call BuildPackage,ruby-unit))  
$(eval $(call BuildPackage,ruby-webrick))  
$(eval $(call BuildPackage,ruby-xmlrpc))  
$(eval $(call BuildPackage,ruby-yaml))  
$(eval $(call BuildPackage,ruby-zlib))  
$(eval $(call HostBuild))  
 
--- a/ext/socket/extconf.rb 2013-02-14 23:20:13.581918676 -0200  
+++ b/ext/socket/extconf.rb 2013-02-14 23:21:25.761918667 -0200  
@@ -254,6 +254,7 @@  
end  
 
getaddr_info_ok = (enable_config("wide-getaddrinfo") && :wide) ||  
+ (CROSS_COMPILING && :cross) ||  
(checking_for("wide getaddrinfo") {try_run(<<EOF)} && :os)  
#{cpp_include(headers)}  
#include <stdlib.h>  
 
file:a/libs/freetype/Makefile (deleted)
#  
# 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:=freetype  
PKG_VERSION:=2.4.8  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2  
PKG_SOURCE_URL:=@SF/freetype  
PKG_MD5SUM:=dbf2caca1d3afd410a29217a9809d397  
 
PKG_LICENSE:=FTL GPLv2 MIT ZLIB  
PKG_LICENSE_FILES:=docs/LICENSE.TXT docs/FTL.TXT docs/GPLv2.TXT src/bdf/README src/pcf/README src/gzip/zlib.h  
 
PKG_FIXUP:=autoreconf  
PKG_LIBTOOL_PATHS:=builds/unix  
 
include $(INCLUDE_DIR)/host-build.mk  
include $(INCLUDE_DIR)/package.mk  
 
define Package/libfreetype  
SECTION:=libs  
CATEGORY:=Libraries  
TITLE:=A free, high-quality and portable font engine  
URL:=http://www.freetype.org/  
DEPENDS:=+zlib +libbz2  
endef  
 
define Package/libfreetype/description  
The FreeType project is a team of volunteers who develop free,  
portable and high-quality software solutions for digital typography.  
They specifically target embedded systems and focus on bringing small,  
efficient and ubiquitous products.  
endef  
 
TARGET_CFLAGS += $(FPIC)  
 
CONFIGURE_ARGS += \  
--enable-shared \  
--enable-static \  
 
define Build/Compile  
$(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" all install  
endef  
 
define Build/InstallDev  
$(INSTALL_DIR) $(2)/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/freetype-config $(2)/bin/  
$(INSTALL_DIR) $(1)/usr/include  
$(CP) $(PKG_INSTALL_DIR)/usr/include/freetype2 $(1)/usr/include/  
$(CP) $(PKG_INSTALL_DIR)/usr/include/ft2build.h $(1)/usr/include/  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfreetype.{a,so*} $(1)/usr/lib/  
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/freetype2.pc $(1)/usr/lib/pkgconfig/  
 
$(SED) \  
's,^\(prefix\|exec_prefix\)=.*,\1="$(STAGING_DIR)/usr",g' \  
$(2)/bin/freetype-config  
endef  
 
 
define Package/libfreetype/install  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfreetype.so.* $(1)/usr/lib/  
endef  
 
$(eval $(call HostBuild))  
$(eval $(call BuildPackage,libfreetype))  
 
file:a/libs/libcelt/Makefile (deleted)
#  
# 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:=celt  
PKG_VERSION:=0.7.0  
PKG_RELEASE:=2  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz  
PKG_SOURCE_URL:=http://downloads.us.xiph.org/releases/celt/  
PKG_MD5SUM:=0bb72abec367f4ef12551f79dda11b23  
 
PKG_BUILD_DEPENDS:=libogg  
 
PKG_FIXUP:=autoreconf  
 
PKG_INSTALL:=1  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/libcelt  
SECTION:=libs  
CATEGORY:=Libraries  
TITLE:=CELT Codec  
URL:=http://www.celt-codec.org/  
endef  
 
define Package/libcelt/description  
The CELT codec is an experimental audio codec for use in low-delay speech and audio communication.  
endef  
 
define Build/Configure  
$(call Build/Configure/Default, \  
--without-ogg \  
)  
endef  
 
define Build/InstallDev  
$(INSTALL_DIR) $(1)/usr/include/celt  
$(CP) $(PKG_INSTALL_DIR)/usr/include/celt/celt*.h \  
$(1)/usr/include/celt  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/* \  
$(1)/usr/lib/  
endef  
 
define Package/libcelt/install  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libcelt.so* $(1)/usr/lib/  
endef  
 
$(eval $(call BuildPackage,libcelt))  
 
#  
# Copyright (C) 2009-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:=libdbi-drivers  
PKG_VERSION:=0.9.0  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz  
PKG_SOURCE_URL:=@SF/libdbi-drivers  
PKG_MD5SUM:=9f47b960e225eede2cdeaabf7d22f59f  
 
PKG_FIXUP:=autoreconf  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/libdbi-drivers/default  
SECTION:=libs  
CATEGORY:=Libraries  
TITLE:=libdbi-drivers  
URL:=http://libdbi-drivers.sourceforge.net/  
endef  
 
define Package/libdbi-drivers/default/description  
libdbi-drivers project provides the database-specific drivers  
for the libdbi framework  
endef  
 
define Package/libdbi-drivers-mysql  
$(call Package/libdbi-drivers/default)  
DEPENDS:=libdbi +PACKAGE_libdbi-drivers-mysql:libmysqlclient  
TITLE:= libdbi-drivers-mysql  
endef  
 
define Package/libdbi-drivers-mysql2/description  
libdbi-driver for mysql  
endef  
 
define Package/libdbi-drivers-pgsql  
$(call Package/libdbi-drivers/default)  
DEPENDS:=libdbi +PACKAGE_libdbi-drivers-pgsql:libpq  
TITLE:= libdbi-drivers-pgsql  
endef  
 
define Package/libdbi-drivers-pgsql/description  
libdbi-driver for pgsql  
endef  
 
define Package/libdbi-drivers-sqlite2  
$(call Package/libdbi-drivers/default)  
DEPENDS:=libdbi +PACKAGE_libdbi-drivers-sqlite2:libsqlite2  
TITLE:= libdbi-drivers-sqlite2  
endef  
 
define Package/libdbi-drivers-sqlite2/description  
libdbi-driver for sqlite2  
endef  
 
define Package/libdbi-drivers-sqlite3  
$(call Package/libdbi-drivers/default)  
DEPENDS:=libdbi +PACKAGE_libdbi-drivers-sqlite3:libsqlite3  
TITLE:= libdbi-drivers-sqlite3  
endef  
 
define Package/libdbi-drivers-sqlite3/description  
libdbi-driver for sqlite3  
endef  
 
CONFIGURE_ARGS += \  
--enable-shared \  
--disable-static \  
--disable-rpath \  
--disable-docs \  
--with-dbi-incdir=$(STAGING_DIR)/usr/include \  
--with-dbi-libdir=$(STAGING_DIR)/usr/lib  
 
ifneq ($(CONFIG_PACKAGE_libdbi-drivers-mysql),)  
CONFIGURE_ARGS += \  
--with-mysql \  
--with-mysql-incdir=$(STAGING_DIR)/usr/include/mysql \  
--with-mysql-libdir=$(STAGING_DIR)/usr/lib/mysql  
TARGET_LDFLAGS += \  
-L$(STAGING_DIR)/usr/lib/mysql/  
endif  
 
ifneq ($(SDK)$(CONFIG_PACKAGE_libdbi-drivers-pgsql),)  
CONFIGURE_ARGS += \  
--with-pgsql \  
--with-pgsql-incdir=$(STAGING_DIR)/usr/include \  
--with-pgsql-libdir=$(STAGING_DIR)/usr/lib  
endif  
 
ifneq ($(SDK)$(CONFIG_PACKAGE_libdbi-drivers-sqlite2),)  
CONFIGURE_ARGS += \  
--with-sqlite \  
--with-sqlite-incdir=$(STAGING_DIR)/usr/include \  
--with-sqlite-libdir=$(STAGING_DIR)/usr/lib  
endif  
 
ifneq ($(SDK)$(CONFIG_PACKAGE_libdbi-drivers-sqlite3),)  
CONFIGURE_ARGS += \  
--with-sqlite3 \  
--with-sqlite3-incdir=$(STAGING_DIR)/usr/include \  
--with-sqlite3-libdir=$(STAGING_DIR)/usr/lib  
endif  
 
define Package/libdbi-drivers-mysql/install  
$(INSTALL_DIR) $(1)/usr/lib/dbd  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/drivers/mysql/.libs/libdbdmysql.so $(1)/usr/lib/dbd  
endef  
 
define Package/libdbi-drivers-pgsql/install  
$(INSTALL_DIR) $(1)/usr/lib/dbd  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/drivers/pgsql/.libs/libdbdpgsql.so $(1)/usr/lib/dbd  
endef  
 
define Package/libdbi-drivers-sqlite2/install  
$(INSTALL_DIR) $(1)/usr/lib/dbd  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/drivers/sqlite/.libs/libdbdsqlite.so $(1)/usr/lib/dbd  
endef  
 
define Package/libdbi-drivers-sqlite3/install  
$(INSTALL_DIR) $(1)/usr/lib/dbd  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/drivers/sqlite3/.libs/libdbdsqlite3.so $(1)/usr/lib/dbd  
endef  
 
 
#$(eval $(call BuildPackage,libdbi-drivers))  
$(eval $(call BuildPackage,libdbi-drivers-mysql))  
$(eval $(call BuildPackage,libdbi-drivers-pgsql))  
$(eval $(call BuildPackage,libdbi-drivers-sqlite2))  
$(eval $(call BuildPackage,libdbi-drivers-sqlite3))  
 
--- a/acinclude.m4  
+++ b/acinclude.m4  
@@ -310,7 +310,7 @@ if test "$ac_sqlite3" = "yes"; then  
AC_SEARCH_LIBS_VAR([sqlite3_exec], sqlite3, , , , SQLITE3_LIBS)  
SQLITE3_LDFLAGS=""  
else  
- SQLITE3_LIBS=-lsqlite  
+ SQLITE3_LIBS=-lsqlite3  
SQLITE3_LDFLAGS=-L$ac_sqlite3_libdir  
fi  
 
 
file:a/libs/libdbi/Makefile (deleted)
#  
# Copyright (C) 2009-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:=libdbi  
PKG_VERSION:=0.9.0  
PKG_RELEASE:=4  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz  
PKG_SOURCE_URL:=@SF/libdbi  
PKG_MD5SUM:=05e2ceeac4bc85fbe40de8b4b22d9ab3  
 
PKG_FIXUP:=autoreconf  
PKG_INSTALL:=1  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/libdbi  
NAME:=libdbi  
SECTION:=libs  
CATEGORY:=Libraries  
TITLE+= (library)  
URL:=http://libdbi.sourceforge.net/  
endef  
 
define Package/libdbi/description  
libdbi implements a database-independent abstraction layer in C.  
endef  
 
CONFIGURE_ARGS += \  
--enable-shared \  
--enable-static \  
--disable-docs  
 
define Build/InstallDev  
$(INSTALL_DIR) $(1)/usr/include  
$(CP) $(PKG_INSTALL_DIR)/usr/include/dbi $(1)/usr/include/  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libdbi.{a,so*} $(1)/usr/lib/  
endef  
 
define Package/libdbi/install  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libdbi.so.* $(1)/usr/lib/  
endef  
 
$(eval $(call BuildPackage,libdbi))  
 
file:a/libs/liblo/Makefile (deleted)
#  
# 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:=liblo  
PKG_VERSION:=0.26  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz  
PKG_SOURCE_URL:=@SF/liblo  
PKG_MD5SUM:=5351de14262560e15e7f23865293b16f  
 
PKG_FIXUP:=autoreconf  
PKG_REMOVE_FILES:=autogen.sh aclocal.m4  
 
PKG_INSTALL:=1  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/liblo/Default  
SUBMENU:=Sound  
TITLE:=Lightweight Open Sound Control (OSC)  
URL:=http://liblo.sourceforge.net/  
endef  
 
define Package/liblo  
$(call Package/liblo/Default)  
SECTION:=libs  
CATEGORY:=Libraries  
TITLE+= library  
DEPENDS:= +libpthread  
endef  
 
define Package/liblo-utils  
$(call Package/liblo/Default)  
SECTION:=utils  
CATEGORY:=Utilities  
TITLE+= utilities  
DEPENDS:= +liblo  
endef  
 
define Build/InstallDev  
$(INSTALL_DIR) $(1)/usr/include  
( cd $(PKG_INSTALL_DIR); $(CP) \  
./usr/include/lo \  
$(1)/usr/include/ \  
)  
$(INSTALL_DIR) $(1)/usr/lib  
( cd $(PKG_INSTALL_DIR); $(CP) \  
./usr/lib/liblo.so* \  
$(1)/usr/lib/ \  
)  
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig  
( cd $(PKG_INSTALL_DIR); $(CP) \  
./usr/lib/pkgconfig/liblo.pc \  
$(1)/usr/lib/pkgconfig/ \  
)  
endef  
 
define Package/liblo/install  
$(INSTALL_DIR) $(1)/usr/lib  
( cd $(PKG_INSTALL_DIR); $(CP) \  
./usr/lib/liblo.so.* \  
$(1)/usr/lib/ \  
)  
endef  
 
define Package/liblo-utils/install  
$(INSTALL_DIR) $(1)/usr/bin  
( cd $(PKG_INSTALL_DIR); $(CP) \  
./usr/bin/oscdump \  
./usr/bin/oscsend \  
$(1)/usr/bin/ \  
)  
endef  
 
$(eval $(call BuildPackage,liblo))  
$(eval $(call BuildPackage,liblo-utils))  
 
file:a/libs/libnatpmp/Makefile (deleted)
#  
# 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:=libnatpmp  
PKG_VERSION:=20110808  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz  
PKG_SOURCE_URL:=http://miniupnp.free.fr/files  
PKG_MD5SUM:=22a1225b890471a7750a9bf26eb863f7  
 
PKG_INSTALL:=1  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/libnatpmp/Default  
TITLE:=NAT Port Mapping Protocol (NAT-PMP)  
URL:=http://miniupnp.free.fr/libnatpmp.html  
endef  
 
define Package/libnatpmp/Default/description  
libnatpmp is an attempt to make a portable and fully compliant implementation  
of the protocol for the client side. It is based on non blocking sockets and  
all calls of the API are asynchronous. It is therefore very easy to integrate  
the NAT-PMP code to any event driven code.  
endef  
 
define Package/libnatpmp  
$(call Package/libnatpmp/Default)  
SECTION:=libs  
CATEGORY:=Libraries  
TITLE+= library  
endef  
 
define Package/libnatpmp/description  
$(call Package/libnatpmp/Default/description)  
This package contains the shared library.  
endef  
 
define Package/natpmpc  
$(call Package/libnatpmp/Default)  
SECTION:=net  
CATEGORY:=Network  
SUBMENU:=Firewall  
TITLE+= client  
DEPENDS:=+libnatpmp  
endef  
 
define Package/natpmpc/description  
$(call Package/libnatpmp/Default/description)  
This package contains the natpmp client.  
endef  
 
MAKE_FLAGS += \  
COPTS="$(TARGET_CFLAGS)" \  
PREFIX="$(PKG_INSTALL_DIR)" \  
OS="Linux"  
 
define Build/InstallDev  
$(INSTALL_DIR) $(1)/usr/include  
$(CP) $(PKG_INSTALL_DIR)/usr/include/natpmp.h $(1)/usr/include/  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnatpmp*.{so*,a} $(1)/usr/lib/  
endef  
 
define Package/libnatpmp/install  
$(INSTALL_DIR) $(1)/usr/lib  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libnatpmp.so.* $(1)/usr/lib/  
endef  
 
define Package/natpmpc/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/natpmpc $(1)/usr/bin/  
endef  
 
$(eval $(call BuildPackage,libnatpmp))  
$(eval $(call BuildPackage,natpmpc))  
 
--- a/Makefile  
+++ b/Makefile  
@@ -11,7 +11,8 @@ INSTALL = install  
# APIVERSION is used in soname  
APIVERSION = 1  
#LDFLAGS = -Wl,--no-undefined  
-CFLAGS = -O -fPIC -Wall -DENABLE_STRNATPMPERR  
+COPTS = -O  
+CFLAGS = $(COPTS) -fPIC -Wall -DENABLE_STRNATPMPERR  
 
LIBOBJS = natpmp.o getgateway.o  
 
 
#  
# 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:=libnetfilter_log  
PKG_VERSION:=1.0.0  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2  
PKG_SOURCE_URL:= \  
http://www.netfilter.org/projects/libnetfilter_log/files/ \  
ftp://ftp.netfilter.org/pub/libnetfilter_log/ \  
http://mirrors.evolva.ro/netfilter.org/libnetfilter_log/  
PKG_MD5SUM:=acdb188a1e7504e95636d0770ade393c  
 
PKG_FIXUP:=autoreconf  
 
PKG_INSTALL:=1  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/libnetfilter-log  
SECTION:=libs  
CATEGORY:=Libraries  
DEPENDS:=+libnfnetlink +kmod-nfnetlink-log  
TITLE:=API to packets logged by the kernel packet filter  
URL:=http://www.netfilter.org/projects/libnetfilter_log/  
endef  
 
define Package/libnetfilter-log/description  
libnetfilter_log is a userspace library providing interface to  
packets that have been logged by the kernel packet filter.  
endef  
 
TARGET_CFLAGS += $(FPIC)  
 
CONFIGURE_ARGS += \  
--enable-static \  
--enable-shared \  
 
CONFIGURE_VARS += \  
LIBNFNETLINK_CFLAGS="$(TARGET_CPPFLAGS)" \  
LIBNFNETLINK_LIBS="$(TARGET_LDFLAGS)"  
 
define Build/InstallDev  
$(INSTALL_DIR) $(1)/usr/include/libnetfilter_log  
$(INSTALL_DATA) \  
$(PKG_INSTALL_DIR)/usr/include/libnetfilter_log/*.h \  
$(1)/usr/include/libnetfilter_log/  
 
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) \  
$(PKG_INSTALL_DIR)/usr/lib/libnetfilter_log*.{so*,a,la} \  
$(1)/usr/lib/  
 
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig  
$(INSTALL_DATA) \  
$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libnetfilter_log.pc \  
$(1)/usr/lib/pkgconfig/  
endef  
 
define Package/libnetfilter-log/install  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnetfilter_log*.so.* $(1)/usr/lib/  
endef  
 
$(eval $(call BuildPackage,libnetfilter-log))  
 
#  
# 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:=libnetfilter_queue  
PKG_VERSION:=1.0.0  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2  
PKG_SOURCE_URL:= \  
http://www.netfilter.org/projects/libnetfilter_queue/files/ \  
ftp://ftp.netfilter.org/pub/libnetfilter_queue/ \  
http://mirrors.evolva.ro/netfilter.org/libnetfilter_queue/  
PKG_MD5SUM:=af6a9ea350f63a13609bc3b47b5c395c  
 
PKG_FIXUP:=autoreconf  
 
PKG_INSTALL:=1  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/libnetfilter-queue  
SECTION:=libs  
CATEGORY:=Libraries  
DEPENDS:=+libnfnetlink +kmod-nfnetlink-queue  
TITLE:=API to packets queued by the kernel packet filter  
URL:=http://www.netfilter.org/projects/libnetfilter_queue/  
endef  
 
define Package/libnetfilter-queue/description  
libnetfilter_queue is a userspace library providing an API to packets  
that have been queued by the kernel packet filter.  
endef  
 
TARGET_CFLAGS += $(FPIC)  
 
CONFIGURE_ARGS += \  
--enable-static \  
--enable-shared \  
 
CONFIGURE_VARS += \  
LIBNFNETLINK_CFLAGS="$(TARGET_CPPFLAGS)" \  
LIBNFNETLINK_LIBS="$(TARGET_LDFLAGS)"  
 
define Build/InstallDev  
$(INSTALL_DIR) $(1)/usr/include/libnetfilter_queue  
$(INSTALL_DATA) \  
$(PKG_INSTALL_DIR)/usr/include/libnetfilter_queue/*.h \  
$(1)/usr/include/libnetfilter_queue/  
 
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) \  
$(PKG_INSTALL_DIR)/usr/lib/libnetfilter_queue*.{so*,a,la} \  
$(1)/usr/lib/  
 
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig  
$(INSTALL_DATA) \  
$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libnetfilter_queue.pc \  
$(1)/usr/lib/pkgconfig/  
endef  
 
define Package/libnetfilter-queue/install  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libnetfilter_queue*.so.* $(1)/usr/lib/  
endef  
 
$(eval $(call BuildPackage,libnetfilter-queue))  
 
file:a/libs/neon/Makefile (deleted)
#  
# Copyright (C) 2007-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:=neon  
PKG_VERSION:=0.29.6  
PKG_RELEASE:=2  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz  
PKG_SOURCE_URL:=http://www.webdav.org/neon  
PKG_MD5SUM:=591e0c82e6979e7e615211b386b8f6bc  
 
PKG_FIXUP:=autoreconf  
PKG_INSTALL:=1  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/libneon  
SECTION:=libs  
CATEGORY:=Libraries  
TITLE:=HTTP and WebDAV client library  
URL:=http://www.webdav.org/neon/  
DEPENDS:=+libopenssl +libexpat  
endef  
 
TARGET_CFLAGS += $(FPIC)  
TARGET_CPPFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE  
 
CONFIGURE_ARGS += \  
--enable-shared \  
--enable-static \  
--with-expat \  
--with-ssl="openssl" \  
--without-egd \  
--without-libproxy \  
 
CONFIGURE_VARS += \  
LDFLAGS="$$$$LDFLAGS -lcrypto -lssl"  
 
define Build/InstallDev  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/neon-config $(1)/usr/bin/  
$(INSTALL_DIR) $(1)/usr/include  
$(CP) $(PKG_INSTALL_DIR)/usr/include/neon $(1)/usr/include/  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libneon.{a,so*} $(1)/usr/lib/  
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/neon.pc $(1)/usr/lib/pkgconfig/  
$(SED) 's,-I$$$${includedir}/,-I$(STAGING_DIR)/usr/include/,g' $(1)/usr/bin/neon-config  
$(SED) 's,-L$$$${libdir},,g' $(1)/usr/bin/neon-config  
endef  
 
define Package/libneon/install  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libneon.so.* $(1)/usr/lib/  
endef  
 
$(eval $(call BuildPackage,libneon))  
 
--- /dev/null  
+++ b/Makefile.am  
@@ -0,0 +1,2 @@  
+SUBDIRS = .  
+ACLOCAL_AMFLAGS = -I macros  
 
#  
# 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:=fswebcam  
PKG_VERSION:=20110717  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz  
PKG_SOURCE_URL:=http://www.sanslogic.co.uk/fswebcam/files  
PKG_MD5SUM:=0b343a827771b7546cf4ede19a5ed000  
 
PKG_INSTALL:=1  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/fswebcam  
SECTION:=multimedia  
CATEGORY:=Multimedia  
TITLE:=fswebcam  
URL:=http://www.sanslogic.co.uk/fswebcam/  
DEPENDS:=+libgd  
endef  
 
define Package/fswebcam/description  
fswebcam is a neat and simple webcam app. It captures images from a V4L1/V4L2 compatible  
device or file, averages them to reduce noise and draws a caption using the GD Graphics  
Library which also handles compressing the image to PNG or JPEG. The resulting image  
is saved to a file or sent to stdio where it can be piped to something like ncftpput or scp.  
endef  
 
EXTRA_CFLAGS+= $(TARGET_CPPFLAGS)  
EXTRA_LDFLAGS+= $(TARGET_LDFLAGS) -Wl,-rpath-link,$(STAGING_DIR)/usr/lib  
 
define Package/fswebcam/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(CP) $(PKG_INSTALL_DIR)/usr/bin/fswebcam $(1)/usr/bin/  
endef  
 
$(eval $(call BuildPackage,fswebcam))  
 
file:a/net/bind/Makefile (deleted)
#  
# 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:=bind  
PKG_VERSION:=9.9.4  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz  
PKG_SOURCE_URL:= \  
ftp://ftp.isc.org/isc/bind9/$(PKG_VERSION) \  
http://www.mirrorservice.org/sites/ftp.isc.org/isc/bind9/$(PKG_VERSION)  
PKG_MD5SUM:=f69757adc86776daed8e5acb0ee7c0ca  
 
PKG_FIXUP:=autoreconf  
PKG_REMOVE_FILES:=aclocal.m4 libtool.m4  
 
PKG_INSTALL:=1  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/bind/Default  
SECTION:=net  
CATEGORY:=Network  
DEPENDS:=+bind-libs  
TITLE:=bind  
URL:=https://www.isc.org/software/bind  
SUBMENU:=IP Addresses and Names  
endef  
 
define Package/bind-libs  
SECTION:=libs  
CATEGORY:=Libraries  
DEPENDS:=+libopenssl  
TITLE:=bind shared libraries  
URL:=https://www.isc.org/software/bind  
endef  
 
define Package/bind-server  
$(call Package/bind/Default)  
TITLE+= DNS server  
endef  
 
define Package/bind-client  
$(call Package/bind/Default)  
TITLE+= dynamic DNS client  
endef  
 
define Package/bind-tools  
$(call Package/bind/Default)  
TITLE+= administration tools (all)  
endef  
 
define Package/bind-rndc  
$(call Package/bind/Default)  
TITLE+= administration tools (rndc and rndc-confgen only)  
endef  
 
define Package/bind-check  
$(call Package/bind/Default)  
TITLE+= administration tools (named-checkconf and named-checkzone only)  
endef  
 
define Package/bind-dnssec  
$(call Package/bind/Default)  
TITLE+= administration tools (dnssec-keygen and dnssec-signzone only)  
endef  
 
define Package/bind-host  
$(call Package/bind/Default)  
TITLE+= simple DNS client  
endef  
 
define Package/bind-dig  
$(call Package/bind/Default)  
TITLE+= DNS excavation tool  
endef  
 
export BUILD_CC="$(TARGET_CC)"  
 
CONFIGURE_ARGS += \  
--enable-shared \  
--enable-static \  
--with-randomdev="/dev/urandom" \  
--disable-threads \  
--disable-linux-caps \  
--with-openssl="$(STAGING_DIR)/usr" \  
--with-libtool \  
--with-libxml2=no \  
--enable-epoll=yes \  
--with-gost=no \  
--with-gssapi=no \  
--with-ecdsa=no \  
--with-readline=no  
 
CONFIGURE_VARS += \  
BUILD_CC="$(TARGET_CC)" \  
 
define Build/Compile  
$(MAKE) -C $(PKG_BUILD_DIR)/lib/dns \  
BUILD_CC="$(HOSTCC)" \  
CC="$(HOSTCC)" \  
CFLAGS="-O2" \  
LIBS="" \  
gen  
$(call Build/Compile/Default)  
endef  
 
define Package/bind-libs/install  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib  
endef  
 
define Package/bind-server/install  
$(INSTALL_DIR) $(1)/usr/sbin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/named $(1)/usr/sbin/  
$(INSTALL_DIR) $(1)/etc/bind  
$(CP) \  
./files/bind/db.0 \  
./files/bind/db.127 \  
./files/bind/db.255 \  
./files/bind/db.local \  
./files/bind/db.root \  
$(1)/etc/bind/  
$(CP) ./files/bind/named.conf.example $(1)/etc/bind/named.conf  
$(INSTALL_DIR) $(1)/etc/init.d  
$(INSTALL_BIN) ./files/named.init $(1)/etc/init.d/named  
find $(1)/etc/bind/ -name ".svn" | xargs rm -rf  
endef  
 
define Package/bind-server/conffiles  
/etc/bind/db.0  
/etc/bind/db.127  
/etc/bind/db.255  
/etc/bind/db.local  
/etc/bind/db.root  
/etc/bind/named.conf  
endef  
 
define Package/bind-client/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nsupdate $(1)/usr/bin/  
endef  
 
define Package/bind-tools/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/dig $(1)/usr/bin/  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/host $(1)/usr/bin/  
$(INSTALL_DIR) $(1)/usr/sbin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dnssec-keygen $(1)/usr/sbin/  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dnssec-signzone $(1)/usr/sbin/  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/named-checkconf $(1)/usr/sbin/  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/named-checkzone $(1)/usr/sbin/  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rndc $(1)/usr/sbin/  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rndc-confgen $(1)/usr/sbin/  
endef  
 
define Package/bind-rndc/install  
$(INSTALL_DIR) $(1)/usr/sbin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rndc $(1)/usr/sbin/  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/rndc-confgen $(1)/usr/sbin/  
endef  
 
define Package/bind-check/install  
$(INSTALL_DIR) $(1)/usr/sbin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/named-checkconf $(1)/usr/sbin/  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/named-checkzone $(1)/usr/sbin/  
endef  
 
define Package/bind-dnssec/install  
$(INSTALL_DIR) $(1)/usr/sbin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dnssec-keygen $(1)/usr/sbin/  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/dnssec-signzone $(1)/usr/sbin/  
endef  
 
define Package/bind-host/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/host $(1)/usr/bin/  
endef  
 
define Package/bind-dig/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/dig $(1)/usr/bin/  
endef  
 
$(eval $(call BuildPackage,bind-libs))  
$(eval $(call BuildPackage,bind-server))  
$(eval $(call BuildPackage,bind-client))  
$(eval $(call BuildPackage,bind-tools))  
$(eval $(call BuildPackage,bind-rndc))  
$(eval $(call BuildPackage,bind-check))  
$(eval $(call BuildPackage,bind-dnssec))  
$(eval $(call BuildPackage,bind-host))  
$(eval $(call BuildPackage,bind-dig))  
 
;  
; BIND reverse data file for broadcast zone  
;  
$TTL 604800  
@ IN SOA localhost. root.localhost. (  
1 ; Serial  
604800 ; Refresh  
86400 ; Retry  
2419200 ; Expire  
604800 ) ; Negative Cache TTL  
;  
@ IN NS localhost.  
 
;  
; BIND reverse data file for local loopback interface  
;  
$TTL 604800  
@ IN SOA localhost. root.localhost. (  
1 ; Serial  
604800 ; Refresh  
86400 ; Retry  
2419200 ; Expire  
604800 ) ; Negative Cache TTL  
;  
@ IN NS localhost.  
1.0.0 IN PTR localhost.  
 
;  
; BIND reverse data file for broadcast zone  
;  
$TTL 604800  
@ IN SOA localhost. root.localhost. (  
1 ; Serial  
604800 ; Refresh  
86400 ; Retry  
2419200 ; Expire  
604800 ) ; Negative Cache TTL  
;  
@ IN NS localhost.  
 
;  
; BIND data file for local loopback interface  
;  
$TTL 604800  
@ IN SOA localhost. root.localhost. (  
1 ; Serial  
604800 ; Refresh  
86400 ; Retry  
2419200 ; Expire  
604800 ) ; Negative Cache TTL  
;  
@ IN NS localhost.  
@ IN A 127.0.0.1  
 
 
; <<>> DiG 9.2.3 <<>> ns . @a.root-servers.net.  
;; global options: printcmd  
;; Got answer:  
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18944  
;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13  
 
;; QUESTION SECTION:  
;. IN NS  
 
;; ANSWER SECTION:  
. 518400 IN NS A.ROOT-SERVERS.NET.  
. 518400 IN NS B.ROOT-SERVERS.NET.  
. 518400 IN NS C.ROOT-SERVERS.NET.  
. 518400 IN NS D.ROOT-SERVERS.NET.  
. 518400 IN NS E.ROOT-SERVERS.NET.  
. 518400 IN NS F.ROOT-SERVERS.NET.  
. 518400 IN NS G.ROOT-SERVERS.NET.  
. 518400 IN NS H.ROOT-SERVERS.NET.  
. 518400 IN NS I.ROOT-SERVERS.NET.  
. 518400 IN NS J.ROOT-SERVERS.NET.  
. 518400 IN NS K.ROOT-SERVERS.NET.  
. 518400 IN NS L.ROOT-SERVERS.NET.  
. 518400 IN NS M.ROOT-SERVERS.NET.  
 
;; ADDITIONAL SECTION:  
A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4  
B.ROOT-SERVERS.NET. 3600000 IN A 192.228.79.201  
C.ROOT-SERVERS.NET. 3600000 IN A 192.33.4.12  
D.ROOT-SERVERS.NET. 3600000 IN A 128.8.10.90  
E.ROOT-SERVERS.NET. 3600000 IN A 192.203.230.10  
F.ROOT-SERVERS.NET. 3600000 IN A 192.5.5.241  
G.ROOT-SERVERS.NET. 3600000 IN A 192.112.36.4  
H.ROOT-SERVERS.NET. 3600000 IN A 128.63.2.53  
I.ROOT-SERVERS.NET. 3600000 IN A 192.36.148.17  
J.ROOT-SERVERS.NET. 3600000 IN A 192.58.128.30  
K.ROOT-SERVERS.NET. 3600000 IN A 193.0.14.129  
L.ROOT-SERVERS.NET. 3600000 IN A 199.7.83.42  
M.ROOT-SERVERS.NET. 3600000 IN A 202.12.27.33  
 
;; Query time: 81 msec  
;; SERVER: 198.41.0.4#53(a.root-servers.net.)  
;; WHEN: Sun Feb 1 11:27:14 2004  
;; MSG SIZE rcvd: 436  
 
 
// This is the primary configuration file for the BIND DNS server named.  
 
options {  
directory "/tmp";  
 
// If your ISP provided one or more IP addresses for stable  
// nameservers, you probably want to use them as forwarders.  
// Uncomment the following block, and insert the addresses replacing  
// the all-0's placeholder.  
 
// forwarders {  
// 0.0.0.0;  
// };  
 
auth-nxdomain no; # conform to RFC1035  
};  
 
// prime the server with knowledge of the root servers  
zone "." {  
type hint;  
file "/etc/bind/db.root";  
};  
 
// be authoritative for the localhost forward and reverse zones, and for  
// broadcast zones as per RFC 1912  
 
zone "localhost" {  
type master;  
file "/etc/bind/db.local";  
};  
 
zone "127.in-addr.arpa" {  
type master;  
file "/etc/bind/db.127";  
};  
 
zone "0.in-addr.arpa" {  
type master;  
file "/etc/bind/db.0";  
};  
 
zone "255.in-addr.arpa" {  
type master;  
file "/etc/bind/db.255";  
};  
 
#!/bin/sh /etc/rc.common  
START=50  
 
config_file=/etc/bind/named.conf  
pid_file=/var/run/named/named.pid  
 
start() {  
if [ -e $pid_file ]  
then  
echo " named already running with PID `cat $pid_file`"  
return 1  
fi  
echo Starting isc-bind  
 
/usr/sbin/named -c $config_file  
 
if [ $? -ne 0 ]  
then  
echo " isc-bind failed to start"  
fi  
}  
 
stop() {  
echo "Stopping isc-bind"  
if [ -e $pid_file ]  
then  
kill `cat $pid_file`  
 
if [ $? -ne 0 ]  
then  
echo " PID " `cat $pid_file` not found  
echo " Is the named server running?"  
fi  
 
rm -f $pid_file  
 
else  
echo " $pid_file not found"  
fi  
}  
 
Index: bind-9.9.4/bin/Makefile.in  
===================================================================  
--- bind-9.9.4.orig/bin/Makefile.in  
+++ bind-9.9.4/bin/Makefile.in  
@@ -19,7 +19,7 @@ srcdir = @srcdir@  
VPATH = @srcdir@  
top_srcdir = @top_srcdir@  
 
-SUBDIRS = named rndc dig dnssec tools tests nsupdate \  
+SUBDIRS = named rndc dig dnssec tools nsupdate \  
check confgen @PYTHON_TOOLS@ @PKCS11_TOOLS@  
TARGETS =  
 
Index: bind-9.9.4/lib/Makefile.in  
===================================================================  
--- bind-9.9.4.orig/lib/Makefile.in  
+++ bind-9.9.4/lib/Makefile.in  
@@ -23,7 +23,7 @@ top_srcdir = @top_srcdir@  
# Attempt to disable parallel processing.  
.NOTPARALLEL:  
.NO_PARALLEL:  
-SUBDIRS = isc isccc dns isccfg bind9 lwres tests  
+SUBDIRS = isc isccc dns isccfg bind9 lwres  
TARGETS =  
 
@BIND9_MAKE_RULES@  
 
#  
# 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  
include $(INCLUDE_DIR)/kernel.mk  
 
PKG_NAME:=ipsec-tools  
PKG_VERSION:=0.8.1  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2  
PKG_SOURCE_URL:=@SF/ipsec-tools  
PKG_MD5SUM:=d38b39f291ba2962387c3232e7335dd8  
 
PKG_BUILD_PARALLEL:=1  
PKG_INSTALL:=1  
 
PKG_FIXUP:=autoreconf  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/ipsec-tools  
SECTION:=net  
CATEGORY:=Network  
SUBMENU:=VPN  
DEPENDS:=+libopenssl +kmod-ipsec  
TITLE:=IPsec management tools  
URL:=http://ipsec-tools.sourceforge.net/  
endef  
 
CONFIGURE_ARGS += \  
--enable-shared \  
--enable-static \  
--with-kernel-headers="$(LINUX_DIR)/include" \  
--without-readline \  
--with-openssl="$(STAGING_DIR)/usr" \  
--without-libradius \  
--without-libpam \  
--enable-dpd \  
--enable-hybrid \  
--enable-security-context=no \  
--enable-natt \  
--enable-adminport \  
--enable-frag \  
$(call autoconf_bool,CONFIG_IPV6,ipv6)  
 
# override CFLAGS holding "-Werror" that break builds on compile warnings  
MAKE_FLAGS+=\  
CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS) $(TARGET_CPPFLAGS) $(EXTRA_CPPFLAGS)"  
 
define Build/Prepare  
$(call Build/Prepare/Default)  
chmod -R u+w $(PKG_BUILD_DIR)  
endef  
 
define Build/Configure  
(cd $(PKG_BUILD_DIR); touch \  
configure.ac \  
aclocal.m4 \  
Makefile.in \  
config.h.in \  
configure \  
);  
$(call Build/Configure/Default)  
echo "#undef HAVE_SHADOW_H" >> $(PKG_BUILD_DIR)/config.h  
endef  
 
define Package/ipsec-tools/install  
$(INSTALL_DIR) $(1)/etc  
$(INSTALL_CONF) $(PKG_BUILD_DIR)/src/racoon/samples/racoon.conf $(1)/etc/  
$(SED) 's|@sysconfdir_x@|/etc|g' $(1)/etc/racoon.conf  
$(INSTALL_DIR) $(1)/etc/racoon  
$(INSTALL_CONF) $(PKG_BUILD_DIR)/src/racoon/samples/psk.txt $(1)/etc/racoon/  
$(INSTALL_DIR) $(1)/etc/init.d  
$(INSTALL_BIN) ./files/racoon.init $(1)/etc/init.d/racoon  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libipsec.so.* $(1)/usr/lib/  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libracoon.so.* $(1)/usr/lib/  
$(INSTALL_DIR) $(1)/usr/sbin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/plainrsa-gen $(1)/usr/sbin/  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/racoon $(1)/usr/sbin/  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/racoonctl $(1)/usr/sbin/  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/setkey $(1)/usr/sbin/  
endef  
 
define Package/ipsec-tools/conffiles  
/etc/racoon.conf  
/etc/racoon/psk.txt  
endef  
 
$(eval $(call BuildPackage,ipsec-tools))  
 
#!/bin/sh /etc/rc.common  
# Copyright (C) 2009-2011 OpenWrt.org  
# Copyright (C) 2011 Artem Makhutov  
 
START=49  
 
SERVICE_USE_PID=1  
 
start() {  
mkdir -m 0700 -p /var/racoon  
[ -f /etc/ipsec.conf ] && /usr/sbin/setkey -f /etc/ipsec.conf  
service_start /usr/sbin/racoon -f /etc/racoon.conf  
}  
 
stop() {  
service_stop /usr/sbin/racoon  
}  
 
--- a/src/racoon/oakley.c  
+++ b/src/racoon/oakley.c  
@@ -2424,8 +2424,21 @@ oakley_skeyid(iph1)  
plog(LLV_ERROR, LOCATION, iph1->remote,  
"couldn't find the pskey for %s.\n",  
saddrwop2str(iph1->remote));  
+ }  
+ }  
+ if (iph1->authstr == NULL) {  
+ /*  
+ * If we could not locate a psk above try and locate  
+ * the default psk, ie, "*".  
+ */  
+ iph1->authstr = privsep_getpsk("*", 1);  
+ if (iph1->authstr == NULL) {  
+ plog(LLV_ERROR, LOCATION, iph1->remote,  
+ "couldn't find the the default pskey either.\n");  
goto end;  
}  
+ plog(LLV_NOTIFY, LOCATION, iph1->remote,  
+ "Using default PSK.\n");  
}  
plog(LLV_DEBUG, LOCATION, NULL, "the psk found.\n");  
/* should be secret PSK */  
 
--- a/src/racoon/cftoken.l  
+++ b/src/racoon/cftoken.l  
@@ -104,6 +104,8 @@ static struct include_stack {  
static int incstackp = 0;  
 
static int yy_first_time = 1;  
+  
+int yywrap(void) { return 1; }  
%}  
 
/* common seciton */  
--- a/src/setkey/token.l  
+++ b/src/setkey/token.l  
@@ -86,6 +86,8 @@  
#if defined(SADB_X_EALG_AES) && ! defined(SADB_X_EALG_AESCBC)  
#define SADB_X_EALG_AESCBC SADB_X_EALG_AES  
#endif  
+  
+int yywrap(void) { return 1; }  
%}  
 
/* common section */  
 
--- a/src/racoon/isakmp_cfg.c  
+++ b/src/racoon/isakmp_cfg.c  
@@ -38,7 +38,7 @@  
#include <sys/socket.h>  
#include <sys/queue.h>  
 
-#include <utmpx.h>  
+#include <utmp.h>  
#if defined(__APPLE__) && defined(__MACH__)  
#include <util.h>  
#endif  
@@ -1661,7 +1661,8 @@ isakmp_cfg_accounting_system(port, raddr  
int inout;  
{  
int error = 0;  
- struct utmpx ut;  
+ struct utmp ut;  
+ char term[UT_LINESIZE];  
char addr[NI_MAXHOST];  
 
if (usr == NULL || usr[0]=='\0') {  
@@ -1670,34 +1671,37 @@ isakmp_cfg_accounting_system(port, raddr  
return -1;  
}  
 
- memset(&ut, 0, sizeof ut);  
- gettimeofday((struct timeval *)&ut.ut_tv, NULL);  
- snprintf(ut.ut_id, sizeof ut.ut_id, TERMSPEC, port);  
+ sprintf(term, TERMSPEC, port);  
 
switch (inout) {  
case ISAKMP_CFG_LOGIN:  
- ut.ut_type = USER_PROCESS;  
- strncpy(ut.ut_user, usr, sizeof ut.ut_user);  
+ strncpy(ut.ut_name, usr, UT_NAMESIZE);  
+ ut.ut_name[UT_NAMESIZE - 1] = '\0';  
+  
+ strncpy(ut.ut_line, term, UT_LINESIZE);  
+ ut.ut_line[UT_LINESIZE - 1] = '\0';  
 
GETNAMEINFO_NULL(raddr, addr);  
- strncpy(ut.ut_host, addr, sizeof ut.ut_host);  
+ strncpy(ut.ut_host, addr, UT_HOSTSIZE);  
+ ut.ut_host[UT_HOSTSIZE - 1] = '\0';  
+  
+ ut.ut_time = time(NULL);  
 
plog(LLV_INFO, LOCATION, NULL,  
"Accounting : '%s' logging on '%s' from %s.\n",  
- ut.ut_user, ut.ut_id, addr);  
-  
- pututxline(&ut);  
+ ut.ut_name, ut.ut_line, ut.ut_host);  
 
+ login(&ut);  
+  
break;  
case ISAKMP_CFG_LOGOUT:  
- ut.ut_type = DEAD_PROCESS;  
 
plog(LLV_INFO, LOCATION, NULL,  
"Accounting : '%s' unlogging from '%s'.\n",  
- usr, ut.ut_id);  
-  
- pututxline(&ut);  
+ usr, term);  
 
+ logout(term);  
+  
break;  
default:  
plog(LLV_ERROR, LOCATION, NULL, "Unepected inout\n");  
 
--- a/src/racoon/ipsec_doi.c  
+++ b/src/racoon/ipsec_doi.c  
@@ -3582,8 +3582,8 @@ ipsecdoi_checkid1(iph1)  
iph1->approval->authmethod == OAKLEY_ATTR_AUTH_METHOD_PSKEY) {  
if (id_b->type != IPSECDOI_ID_IPV4_ADDR  
&& id_b->type != IPSECDOI_ID_IPV6_ADDR) {  
- plog(LLV_ERROR, LOCATION, NULL,  
- "Expecting IP address type in main mode, "  
+ plog(LLV_WARNING, LOCATION, NULL,  
+ "Expecting IP address type in main mode (RFC2409) , "  
"but %s.\n", s_ipsecdoi_ident(id_b->type));  
return ISAKMP_NTYPE_INVALID_ID_INFORMATION;  
}  
 
--- a/src/racoon/isakmp.c  
+++ b/src/racoon/isakmp.c  
@@ -31,6 +31,8 @@  
* SUCH DAMAGE.  
*/  
 
+#define __packed __attribute__((__packed__))  
+  
#include "config.h"  
 
#include <sys/types.h>  
 
--- a/configure.ac  
+++ b/configure.ac  
@@ -74,9 +74,10 @@ case "$host_os" in  
[ KERNEL_INCLUDE="/lib/modules/`uname -r`/build/include" ])  
 
AC_CHECK_HEADER($KERNEL_INCLUDE/linux/pfkeyv2.h, ,  
- [ AC_CHECK_HEADER(/usr/src/linux/include/linux/pfkeyv2.h,  
- KERNEL_INCLUDE=/usr/src/linux/include ,  
- [ AC_MSG_ERROR([Unable to find linux-2.6 kernel headers. Aborting.]) ] ) ] )  
+ [ AC_CHECK_HEADER($KERNEL_INCLUDE/uapi/linux/pfkeyv2.h, ,  
+ [ AC_CHECK_HEADER(/usr/src/linux/include/linux/pfkeyv2.h,  
+ KERNEL_INCLUDE=/usr/src/linux/include ,  
+ [ AC_MSG_ERROR([Unable to find linux-2.6 kernel headers. Aborting.]) ] ) ] ) ] )  
AC_SUBST(KERNEL_INCLUDE)  
# We need the configure script to run with correct kernel headers.  
# However we don't want to point to kernel source tree in compile time,  
@@ -643,7 +644,14 @@ AC_EGREP_CPP(yes,  
#ifdef SADB_X_EXT_NAT_T_TYPE  
yes  
#endif  
-], [kernel_natt="yes"])  
+], [kernel_natt="yes"], [  
+ AC_EGREP_CPP(yes,  
+ [#include <uapi/linux/pfkeyv2.h>  
+ #ifdef SADB_X_EXT_NAT_T_TYPE  
+ yes  
+ #endif  
+ ], [kernel_natt="yes"])  
+])  
;;  
freebsd*|netbsd*)  
# NetBSD case  
--- a/src/include-glibc/Makefile.am  
+++ b/src/include-glibc/Makefile.am  
@@ -1,14 +1,7 @@  
-  
-.includes: ${top_builddir}/config.status  
- ln -snf $(KERNEL_INCLUDE)/linux  
- touch .includes  
-  
-all: .includes  
-  
EXTRA_DIST = \  
glibc-bugs.h \  
net/pfkeyv2.h \  
netinet/ipsec.h \  
sys/queue.h  
 
-DISTCLEANFILES = .includes linux  
+DISTCLEANFILES = linux  
 
file:a/net/lftp/Makefile (deleted)
#  
# 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:=lftp  
PKG_VERSION:=4.3.6  
PKG_RELEASE:=2  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz  
PKG_SOURCE_URL:=http://lftp.cybermirror.org \  
http://lftp.cybermirror.org/old  
PKG_MD5SUM:=ffcdbaec5d1416cb6dd754efd43fa61a  
 
PKG_INSTALL:=1  
 
include $(INCLUDE_DIR)/uclibc++.mk  
include $(INCLUDE_DIR)/package.mk  
 
define Package/lftp  
SUBMENU:=File Transfer  
SECTION:=net  
CATEGORY:=Network  
DEPENDS:=+libncurses +libopenssl +libreadline $(CXX_DEPENDS) +libexpat  
TITLE:=Sophisticated file transfer program  
URL:=http://lftp.yar.ru/  
endef  
 
define Package/lftp/description  
lftp is sophisticated file transfer program with command line interface. It  
supports FTP, HTTP, FISH, SFTP and FILE (local FS) protocols. GNU Readline  
library is used for input. BitTorrent protocol is supported as built-in  
`torrent' command.  
endef  
 
CONFIGURE_ARGS += \  
--without-libiconv-prefix \  
--without-libintl-prefix \  
--without-gnutls \  
--without-libresolv \  
--with-openssl="$(STAGING_DIR)/usr" \  
--disable-static  
 
CONFIGURE_VARS += \  
LIBS="-lz -lutil -lcurses -ldl" \  
i_cv_posix_fallocate_works=no  
 
MAKE_VARS += \  
LD="$(TARGET_CXX)"  
 
define Package/lftp/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lftp $(1)/usr/bin/  
endef  
 
$(eval $(call BuildPackage,lftp))  
 
--- a/lib/gettext.h  
+++ b/lib/gettext.h  
@@ -22,7 +22,6 @@  
#if ENABLE_NLS  
 
/* Get declarations of GNU message catalog functions. */  
-# include <libintl.h>  
 
/* You can set the DEFAULT_TEXT_DOMAIN macro to specify the domain used by  
the gettext() and ngettext() macros. This is an alternative to calling  
@@ -54,7 +53,6 @@  
#if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3)  
# include <cstdlib>  
# if (__GLIBC__ >= 2 && !defined __UCLIBC__) || _GLIBCXX_HAVE_LIBINTL_H  
-# include <libintl.h>  
# endif  
#endif  
 
 
file:a/net/memcached/Makefile (deleted)
#  
# Copyright (C) 2009-2012 OpenWrt.org  
# Copyright (C) 2009-2012 Thomas Heil <heil@terminal-consulting.de>  
#  
# This is free software, licensed under the GNU General Public License v2.  
# See /LICENSE for more information.  
#  
 
include $(TOPDIR)/rules.mk  
 
PKG_NAME:=memcached  
PKG_VERSION:=1.4.12  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz  
PKG_SOURCE_URL:=http://memcached.googlecode.com/files  
PKG_MD5SUM:=4194de21b58a92de684ce69b8e501c44  
 
PKG_INSTALL:=1  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/memcached  
SECTION:=net  
CATEGORY:=Network  
DEPENDS:=+libevent +libpthread  
TITLE:=The high-performance, distributed memory object caching system  
MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>  
URL:=http://memcached.org/  
endef  
 
define Package/memcached/description  
Free and open source, high-performance, distributed memory object caching system  
endef  
 
define Package/memcached/conffiles  
/etc/config/memcached  
endef  
 
ifeq ($(CONFIG_BIG_ENDIAN),y)  
CONFIGURE_VARS += ac_cv_c_endian=big  
else  
CONFIGURE_VARS += ac_cv_c_endian=little  
endif  
 
CONFIGURE_ARGS += \  
--with-libevent=$(STAGING_DIR)/usr/include/libevent \  
--disable-docs \  
--disable-dtrace \  
--disable-coverage \  
--disable-sasl  
 
TARGET_CFLAGS += \  
-std=gnu99  
 
TARGET_LDFLAGS = \  
-L$(STAGING_DIR)/usr/lib/libevent -L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib  
 
define Package/memcached/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/memcached $(1)/usr/bin/  
$(INSTALL_DIR) $(1)/etc/config  
$(INSTALL_CONF) ./files/memcached.config $(1)/etc/config/memcached  
$(INSTALL_DIR) $(1)/etc/init.d  
$(INSTALL_BIN) ./files/memcached.init $(1)/etc/init.d/memcached  
endef  
 
$(eval $(call BuildPackage,memcached))  
 
config memcached  
option user 'nobody'  
option maxconn '1024'  
option listen '0.0.0.0'  
option port '11211'  
option memory '64'  
 
#!/bin/sh /etc/rc.common  
# Copyright (C) 2010-2011 OpenWrt.org  
 
START=80  
 
start_instance () {  
local section="$1"  
 
config_get user "$section" user  
config_get maxconn "$section" maxconn  
config_get listen "$section" listen  
config_get port "$section" port  
config_get memory "$section" memory  
 
service_start /usr/bin/memcached -d -u ${user:-nobody} \  
-c ${maxconn:-1024} -l ${listen:-0.0.0.0} \  
-p ${port:-11211} -U ${port:-11211} -m ${memory:-64}  
}  
 
start() {  
config_load 'memcached'  
config_foreach start_instance 'memcached'  
}  
 
stop() {  
service_stop /usr/bin/memcached  
}  
 
--- a/memcached.c  
+++ b/memcached.c  
@@ -13,6 +13,10 @@  
* Anatoly Vorobey <mellon@pobox.com>  
* Brad Fitzpatrick <brad@danga.com>  
*/  
+#ifndef __need_IOV_MAX  
+#define __need_IOV_MAX  
+#endif  
+  
#include "memcached.h"  
#include <sys/stat.h>  
#include <sys/socket.h>  
@@ -29,9 +33,6 @@  
#define _P1003_1B_VISIBLE  
#endif  
/* need this to get IOV_MAX on some platforms. */  
-#ifndef __need_IOV_MAX  
-#define __need_IOV_MAX  
-#endif  
#include <pwd.h>  
#include <sys/mman.h>  
#include <fcntl.h>  
 
file:a/net/nmap/Makefile (deleted)
#  
# Copyright (C) 2006-2014 OpenWrt.org  
#  
# This is free software, licensed under the GNU General Public License v2.  
# See /LICENSE for more information.  
 
#TODO  
#  
# * uClibcpp not supported, performance +100x slower. libstdcpp is being used. https://bugs.busybox.net/show_bug.cgi?id=2545  
# * liblua is still not recognized/blindly accepted. Impossible to compile with support  
#  
 
include $(TOPDIR)/rules.mk  
 
PKG_NAME:=nmap  
PKG_VERSION:=6.46  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2  
PKG_SOURCE_URL:=http://nmap.org/dist/  
PKG_MD5SUM:=5a36ad3a63d5b7ea5514f745a397436a  
 
PKG_INSTALL:=1  
 
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)  
 
include $(INCLUDE_DIR)/package.mk  
 
NMAP_DEPENDS:=+libpcap +libstdcpp  
NCAT_DEPENDS:=+libpcap  
NPING_DEPENDS:=+libpcap +libpthread +libstdcpp  
NDIFF_DEPENDS:=+python  
 
define Package/nmap/default  
SUBMENU:=NMAP Suite  
SECTION:=net  
CATEGORY:=Network  
URL:=http://nmap.org/  
endef  
 
define Package/nmap  
$(call Package/nmap/default)  
DEPENDS:=$(NMAP_DEPENDS)  
VARIANT:=nossl  
TITLE:=Utility for network exploration or security auditing  
endef  
 
define Package/nmap-ssl  
$(call Package/nmap/default)  
DEPENDS:=$(NMAP_DEPENDS) +libopenssl  
VARIANT:=ssl  
TITLE:=Nmap (with OpenSSL support)  
endef  
 
define Package/ncat  
$(call Package/nmap/default)  
DEPENDS:=$(NCAT_DEPENDS)  
VARIANT:=nossl  
TITLE:=Much-improved reimplementation of Netcat  
endef  
 
define Package/ncat-ssl  
$(call Package/nmap/default)  
DEPENDS:=$(NCAT_DEPENDS) +libopenssl  
VARIANT:=ssl  
TITLE:=Ncat (with OpenSSL support)  
endef  
 
define Package/nping  
$(call Package/nmap/default)  
DEPENDS:=$(NPING_DEPENDS)  
VARIANT:=nossl  
TITLE:=Network packet generation tool / ping utility  
endef  
 
define Package/ndiff  
$(call Package/nmap/default)  
DEPENDS:=$(NDIFF_DEPENDS)  
VARIANT:=nossl  
TITLE:=Utility to compare the results of Nmap scans  
endef  
 
CONFIGURE_ARGS += \  
--with-libdnet=included \  
--with-libpcre=included \  
--with-libpcap="$(STAGING_DIR)/usr" \  
--without-liblua  
 
CONFIGURE_VARS += CXXFLAGS="$$$$CXXFLAGS -fno-builtin"  
 
ifeq ($(BUILD_VARIANT),ssl)  
CONFIGURE_ARGS += --with-openssl="$(STAGING_DIR)/usr"  
else  
CONFIGURE_ARGS += --without-openssl  
endif  
 
define Package/nmap/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nmap $(1)/usr/bin/  
$(INSTALL_DIR) $(1)/usr/share/nmap  
$(CP) $(PKG_INSTALL_DIR)/usr/share/nmap/* $(1)/usr/share/nmap/  
endef  
 
define Package/nmap-ssl/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nmap $(1)/usr/bin/  
$(INSTALL_DIR) $(1)/usr/share/nmap  
$(CP) $(PKG_INSTALL_DIR)/usr/share/nmap/* $(1)/usr/share/nmap/  
endef  
 
define Package/ncat/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ncat $(1)/usr/bin/  
endef  
 
define Package/ncat-ssl/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ncat $(1)/usr/bin/  
$(INSTALL_DIR) $(1)/usr/share/ncat  
$(CP) $(PKG_INSTALL_DIR)/usr/share/ncat/ca-bundle.crt $(1)/usr/share/ncat/  
endef  
 
define Package/ndiff/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ndiff $(1)/usr/bin/  
endef  
 
define Package/nping/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nping $(1)/usr/bin/  
endef  
 
 
$(eval $(call BuildPackage,nmap))  
$(eval $(call BuildPackage,nmap-ssl))  
$(eval $(call BuildPackage,ncat))  
$(eval $(call BuildPackage,ncat-ssl))  
$(eval $(call BuildPackage,nping))  
$(eval $(call BuildPackage,ndiff))  
 
file:a/net/ntpclient/Makefile (deleted)
#  
# 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:=ntpclient  
PKG_VERSION:=2007_365  
PKG_RELEASE:=4  
 
PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.gz  
PKG_SOURCE_URL:=http://doolittle.icarus.com/ntpclient/  
PKG_MD5SUM:=cb98711f11769cdd22fc592844cef414  
 
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-2007  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/ntpclient  
SUBMENU:=Time Synchronization  
SECTION:=net  
CATEGORY:=Network  
TITLE:=NTP (Network Time Protocol) client  
URL:=http://doolittle.icarus.com/ntpclient/  
DEPENDS:=+librt  
endef  
 
define Package/ntpclient/description  
NTP client for setting system time from NTP servers.  
endef  
 
define Package/ntpclient/conffiles  
/etc/config/ntpclient  
endef  
 
MAKE_FLAGS += \  
all adjtimex  
 
define Package/ntpclient/install  
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface  
$(INSTALL_DATA) ./files/ntpclient.hotplug $(1)/etc/hotplug.d/iface/20-ntpclient  
$(INSTALL_DIR) $(1)/etc/config  
$(INSTALL_CONF) ./files/ntpclient.config $(1)/etc/config/ntpclient  
$(INSTALL_DIR) $(1)/usr/sbin  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ntpclient $(1)/usr/sbin/  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/adjtimex $(1)/usr/sbin/  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/rate.awk $(1)/usr/sbin/  
endef  
 
$(eval $(call BuildPackage,ntpclient))  
 
config ntpserver  
option hostname '0.openwrt.pool.ntp.org'  
option port '123'  
 
config ntpserver  
option hostname '1.openwrt.pool.ntp.org'  
option port '123'  
 
config ntpserver  
option hostname '2.openwrt.pool.ntp.org'  
option port '123'  
 
config ntpserver  
option hostname '3.openwrt.pool.ntp.org'  
option port '123'  
 
config ntpdrift  
option freq '0'  
 
config ntpclient  
option interval 600  
#option count 10  
#option interface wan  
 
#!/bin/sh  
# Copyright (C) 2006 OpenWrt.org  
 
. /lib/functions.sh  
 
unset SERVER  
unset PORT  
unset INTERVAL  
unset COUNT  
unset INTERFACE_GLOBAL  
 
NTPC=`which ntpclient`  
 
check_server() {  
local hostname  
local port  
local interface  
[ -n "$SERVER" ] && return  
config_get hostname $1 hostname  
config_get port $1 port  
config_get interface $1 interface  
 
[ -z "$interface" ] && interface=$INTERFACE_GLOBAL  
 
[ -n "$interface" ] && {  
# $INTERFACE is passed from hotplug event  
[ "$interface" = "$INTERFACE" ] || return  
}  
 
[ -z "$hostname" ] && return  
$NTPC -c 1 -p ${port:-123} -i 2 -h $hostname > /dev/null && { SERVER=$hostname; PORT=${port:-123}; }  
}  
 
set_drift() {  
config_get freq $1 freq  
[ -n "$freq" ] && adjtimex -f $freq >/dev/null  
}  
 
start_ntpclient() {  
config_foreach set_drift ntpdrift  
config_foreach check_server ntpserver  
[ -z "$SERVER" ] && exit 0  
logger starting ntpclient  
$NTPC ${COUNT:+-c $COUNT} ${INTERVAL:+-i $INTERVAL} -s -l -D -p $PORT -h $SERVER 2> /dev/null  
}  
 
stop_ntpclient() {  
logger stopping ntpclient  
killall ntpclient  
}  
 
load_settings() {  
local interval  
local count  
local iface  
 
config_get interval $1 interval  
config_get count $1 count  
config_get interface $1 interface  
 
[ -n "$count" ] && COUNT=$count  
[ -n "$interval" ] && INTERVAL=$interval  
[ -n "$interface" ] && INTERFACE_GLOBAL=$interface  
}  
 
config_load ntpclient  
config_foreach load_settings ntpclient  
 
NTP_RUNNING=`ps | grep $NTPC | grep -v grep`  
 
case "${ACTION:-ifup}" in  
ifup)  
[ -z "$NTP_RUNNING" ] && start_ntpclient  
;;  
ifdown)  
[ -n "$NTP_RUNNING" ] && stop_ntpclient  
;;  
esac  
 
Index: ntpclient-2007/ntpclient.c  
===================================================================  
--- ntpclient-2007.orig/ntpclient.c 2008-08-12 03:11:34.000000000 +0200  
+++ ntpclient-2007/ntpclient.c 2008-08-12 03:11:36.000000000 +0200  
@@ -614,7 +614,7 @@  
ntpc.cross_check=1;  
 
for (;;) {  
- c = getopt( argc, argv, "c:" DEBUG_OPTION "f:g:h:i:lp:q:" REPLAY_OPTION "st");  
+ c = getopt( argc, argv, "c:" DEBUG_OPTION "f:g:h:i:lp:q:" REPLAY_OPTION "stD");  
if (c == EOF) break;  
switch (c) {  
case 'c':  
@@ -663,6 +663,10 @@  
(ntpc.cross_check)=0;  
break;  
 
+ case 'D':  
+ daemon();  
+ break;  
+  
default:  
usage(argv[0]);  
exit(1);  
 
#  
# Copyright (C) 2011 segal.ubi.pt  
#  
# This is free software, licensed under the GNU General Public License v2.  
# See /LICENSE for more information.  
#  
 
include $(TOPDIR)/rules.mk  
 
PKG_NAME:=ntripcaster  
PKG_VERSION:=0.1.5  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)$(PKG_VERSION).zip  
PKG_SOURCE_URL:=http://igs.bkg.bund.de/root_ftp/NTRIP/software/  
PKG_MD5SUM:=8c85a6c31d8c5cdf2638fe103207a1fd  
 
PKG_MAINTAINER:=Nuno Goncalves <nunojpg@gmail.com>  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/ntripcaster  
SECTION:=net  
CATEGORY:=Network  
SUBMENU:=NTRIP  
TITLE:=Standard Ntrip Broadcaster  
URL:=http://igs.bkg.bund.de/ntrip/download  
DEPENDS:=+libpthread  
endef  
 
define Package/ntripcaster/description  
BKG Standard Ntrip Broadcaster  
endef  
 
define Build/Prepare  
mkdir -p $(PKG_BUILD_DIR)  
unzip $(DL_DIR)/$(PKG_SOURCE) -d $(PKG_BUILD_DIR)  
mv $(PKG_BUILD_DIR)/$(PKG_NAME)$(PKG_VERSION)/* $(PKG_BUILD_DIR)  
chmod +x $(PKG_BUILD_DIR)/configure  
endef  
 
define Package/ntripcaster/install  
$(INSTALL_DIR) $(1)/usr/local/ntripcaster/bin  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/ntripcaster $(1)/usr/local/ntripcaster/bin/  
$(INSTALL_DIR) $(1)/usr/local/ntripcaster/conf  
$(INSTALL_DATA) $(PKG_BUILD_DIR)/conf/ntripcaster.conf.dist $(1)/usr/local/ntripcaster/conf/  
$(INSTALL_DATA) $(PKG_BUILD_DIR)/conf/sourcetable.dat.dist $(1)/usr/local/ntripcaster/conf/  
endef  
 
$(eval $(call BuildPackage,ntripcaster))  
 
#  
# Copyright (C) 2011 segal.ubi.pt  
#  
# This is free software, licensed under the GNU General Public License v2.  
# See /LICENSE for more information.  
#  
 
include $(TOPDIR)/rules.mk  
 
PKG_NAME:=ntripclient  
PKG_VERSION:=1.5.0  
PKG_RELEASE:=2  
 
PKG_SOURCE:=$(PKG_NAME).zip  
PKG_SOURCE_URL:=http://igs.bkg.bund.de/root_ftp/NTRIP/software/  
PKG_MD5SUM:=4b357fa648d74e4e13c4b5a2a39f5624  
 
PKG_MAINTAINER:=Nuno Goncalves <nunojpg@gmail.com>  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/ntripclient  
SECTION:=net  
CATEGORY:=Network  
SUBMENU:=NTRIP  
TITLE:=Ntrip Version 2.0 Command Line Client  
URL:=http://igs.bkg.bund.de/ntrip/download  
endef  
 
define Package/ntripclient/description  
Ntrip Version 2.0 Command Line Client, reading from Ntrip Version 1.0 or 2.0 Caster  
endef  
 
define Build/Prepare  
mkdir -p $(PKG_BUILD_DIR)  
unzip $(DL_DIR)/$(PKG_SOURCE) -d $(PKG_BUILD_DIR)  
endef  
 
MAKE_FLAGS += \  
OPTS="$(TARGET_CFLAGS)"  
 
define Package/ntripclient/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ntripclient $(1)/usr/bin/  
endef  
 
$(eval $(call BuildPackage,ntripclient))  
 
#  
# Copyright (C) 2011 segal.ubi.pt  
#  
# This is free software, licensed under the GNU General Public License v2.  
# See /LICENSE for more information.  
#  
 
include $(TOPDIR)/rules.mk  
 
PKG_NAME:=ntripserver  
PKG_VERSION:=1.5.1  
PKG_RELEASE:=2  
 
PKG_SOURCE:=$(PKG_NAME).zip  
PKG_SOURCE_URL:=http://igs.bkg.bund.de/root_ftp/NTRIP/software/  
PKG_MD5SUM:=cecff5da0173896df041bd889935fc12  
 
PKG_MAINTAINER:=Nuno Goncalves <nunojpg@gmail.com>  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/ntripserver  
SECTION:=net  
CATEGORY:=Network  
SUBMENU:=NTRIP  
TITLE:=Ntrip Version 2.0 Command Line Server  
URL:=http://igs.bkg.bund.de/ntrip/download  
endef  
 
define Package/ntripserver/description  
Ntrip Version 2.0 Command Line Server, reading from SISNeT Server, TCP/UDP IP Port, Serial port, or NtripCaster to support an Ntrip Version 1.0 or 2.0 Caster  
endef  
 
MAKE_FLAGS += \  
OPTS="$(TARGET_CFLAGS)"  
 
define Build/Prepare  
mkdir -p $(PKG_BUILD_DIR)  
unzip $(DL_DIR)/$(PKG_SOURCE) -d $(PKG_BUILD_DIR)  
endef  
 
define Package/ntripserver/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ntripserver $(1)/usr/bin/  
endef  
 
$(eval $(call BuildPackage,ntripserver))  
 
file:a/net/opennhrp/Makefile (deleted)
#  
# Copyright (C) 2009-2011 OpenWrt.org  
# Copyright (C) 2009 Jakob Pfeiffer  
#  
# This is free software, licensed under the GNU General Public License v2.  
# See /LICENSE for more information.  
#  
 
include $(TOPDIR)/rules.mk  
 
PKG_NAME:=opennhrp  
PKG_VERSION:=0.12.3  
PKG_RELEASE:=2  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2  
PKG_SOURCE_URL:=@SF/opennhrp  
PKG_MD5SUM:=4d0ec7c0282e181ecca4d78e52067da3  
 
PKG_FIXUP:=autoreconf  
PKG_BUILD_PARALLEL:=1  
PKG_INSTALL:=1  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/opennhrp  
SECTION:=net  
CATEGORY:=Network  
SUBMENU:=VPN  
DEPENDS:=+libcares +ipsec-tools +ip +kmod-gre  
KCONFIG:=CONFIG_ARPD=y  
TITLE:=NBMA Next Hop Resolution Protocol  
URL:=http://opennhrp.sourceforge.net/  
endef  
 
define Package/opennhrp/description  
OpenNHRP implements NBMA Next Hop Resolution Protocol (as defined in RFC 2332).  
It makes it possible to create dynamic multipoint VPN Linux router using NHRP,  
GRE and IPsec. It aims to be Cisco DMVPN compatible.  
endef  
 
define Package/opennhrp/conffiles  
/etc/opennhrp/opennhrp.conf  
endef  
 
define Package/opennhrp/install  
$(INSTALL_DIR) $(1)/usr/sbin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/opennhrp{,ctl} $(1)/usr/sbin/  
$(INSTALL_DIR) $(1)/etc/opennhrp  
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/opennhrp/opennhrp.conf $(1)/etc/opennhrp/  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/etc/opennhrp/opennhrp-script $(1)/etc/opennhrp/  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/etc/opennhrp/racoon-ph1down.sh $(1)/etc/opennhrp/  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/etc/opennhrp/racoon-ph1dead.sh $(1)/etc/opennhrp/  
$(INSTALL_DIR) $(1)/etc/init.d  
$(INSTALL_BIN) ./files/opennhrp.init $(1)/etc/init.d/opennhrp  
endef  
 
$(eval $(call BuildPackage,opennhrp))  
 
#!/bin/sh /etc/rc.common  
# Copyright (C) 2009-2011 OpenWrt.org  
# Copyright (C) 2009 Jakob Pfeiffer  
 
START=50  
 
SERVICE_USE_PID=1  
 
start() {  
service_start /usr/sbin/opennhrp -d  
}  
 
stop() {  
service_stop /usr/sbin/opennhrp  
}  
 
file:a/net/sshtunnel/Makefile (deleted)
#  
# Copyright (C) 2010-2011 OpenWrt.org  
# Copyright (C) 2010 segal.di.ubi.pt  
#  
# This is free software, licensed under the GNU General Public License v2.  
# See /LICENSE for more information.  
#  
 
include $(TOPDIR)/rules.mk  
 
PKG_NAME:=sshtunnel  
PKG_VERSION:=3  
PKG_RELEASE:=3  
 
PKG_MAINTAINER:=Nuno Goncalves <nunojpg@gmail.com>  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/sshtunnel  
SECTION:=net  
CATEGORY:=Network  
SUBMENU:=SSH  
TITLE:=Manages Local and Remote openssh ssh(1) tunnels  
DEPENDS:=+openssh-client  
endef  
 
define Package/sshtunnel/description  
Creates openssh ssh(1) Local and Remote tunnels configured in UCI file. Can be used to allow remote connections, possibly over NATed connections or without public IP/DNS  
endef  
 
define Package/sshtunnel/conffiles  
/etc/config/sshtunnel  
endef  
 
define Build/Compile  
endef  
 
define Package/sshtunnel/install  
$(INSTALL_DIR) $(1)/etc/init.d  
$(INSTALL_BIN) ./files/sshtunnel.init $(1)/etc/init.d/sshtunnel  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) ./files/sshtunnel.sh $(1)/usr/bin/  
$(INSTALL_DIR) $(1)/etc/config  
$(INSTALL_DATA) ./files/uci_sshtunnel $(1)/etc/config/sshtunnel  
endef  
 
$(eval $(call BuildPackage,sshtunnel))  
 
#!/bin/sh /etc/rc.common  
 
START=99  
STOP=01  
 
PIDFILE="/tmp/run/sshtunnel"  
 
 
append_params() {  
local p; local v; local args;  
for p in $*; do  
eval "v=\$$p"  
[ -n "$v" ] && args="$args -o $p=$v"  
done  
 
ARGS_options="${args# *}"  
}  
 
append_string() {  
local varname="$1"; local add="$2"; local separator="${3:- }"; local actual  
eval "actual=\$$varname"  
 
new="${actual:+$actual$separator}$add"  
eval "$varname=\$new"  
}  
 
load_tunnelR() {  
config_get section_server $1 server  
[ "$server" = "$section_server" ] || return 0 # continue to read next section if this is not for the current server  
let count++ # count nr of valid sections to make sure there are at least one  
 
config_get remoteaddress $1 remoteaddress "*"  
config_get remoteport $1 remoteport  
config_get localaddress $1 localaddress  
config_get localport $1 localport  
 
[ "$remoteport" -gt 0 ] || append_string "error" "[tunnelR: $1]remoteport must be a positive integer" "; "  
[ "$localport" -gt 0 ] || append_string "error" "[tunnelR: $1]localport must be a positive integer" "; "  
[ -n "$error" ] && return 1  
 
append_string "ARGS_tunnels" "-R $remoteaddress:$remoteport:$localaddress:$localport"  
}  
 
load_tunnelL() {  
config_get section_server $1 server  
[ "$server" = "$section_server" ] || return 0 # continue to read next section if this is not for the current server  
let count++ # count nr of valid sections to make sure there are at least one  
 
config_get localaddress $1 localaddress "*"  
config_get localport $1 localport  
config_get remoteaddress $1 remoteaddress  
config_get remoteport $1 remoteport  
 
[ "$remoteport" -gt 0 ] || append_string "error" "[tunnelL: $1]remoteport must be a positive integer" "; "  
[ "$localport" -gt 0 ] || append_string "error" "[tunnelL: $1]localport must be a positive integer" "; "  
[ -n "$error" ] && return 1  
 
append_string "ARGS_tunnels" "-L $localaddress:$localport:$remoteaddress:$remoteport"  
}  
 
load_tunnelD() {  
config_get section_server $1 server  
[ "$server" = "$section_server" ] || return 0 # continue to read next section if this is not for the current server  
let count++ # count nr of valid sections to make sure there are at least one  
 
config_get localaddress $1 localaddress "*"  
config_get localport $1 localport  
 
[ "$remoteport" -gt 0 ] || append_string "error" "[tunnelD: $1]remoteport must be a positive integer" "; "  
[ "$localport" -gt 0 ] || append_string "error" "[tunnelD: $1]localport must be a positive integer" "; "  
[ -n "$error" ] && return 1  
 
append_string "ARGS_tunnels" "-D $localaddress:$localport"  
}  
 
load_tunnelW() {  
config_get section_server $1 server  
[ "$server" = "$section_server" ] || return 0 # continue to read next section if this is not for the current server  
let count++ # count nr of valid sections to make sure there are at least one  
 
config_get localdev $1 localdev "*"  
config_get remotedev $1 remotedev "*"  
config_get vpntype $1 vpntype "*"  
 
[ "$vpntype" == "ethernet" ] || [ "$vpntype" == "point-to-point" ] || append_string "error" "[tunnelW: $1] vpntype must be \"ethernet\" (tap) or \"pointopoint\" (tun)" "; "  
[ "$localdev" == "any" ] || [ "$localdev" -ge 0 ] || append_string "error" "[tunnelW: $1] localdev must be an integer or \"any\"" "; "  
[ "$remotedev" == "any" ] || [ "$remotedev" -ge 0 ] || append_string "error" "[tunnelW: $1] remotedev must be an integer or \"any\"" "; "  
[ "$user" == "root" ] || logger -p user.warn -t "sshtunnel" "warning: root is required unless the tunnel device has been created manually"  
[ -n "$error" ] && return 1  
 
append_string "ARGS_tunnels" "-w $localdev:$remotedev -o Tunnel=$vpntype"  
}  
 
load_server() {  
server="$1"  
 
config_get user $1 user  
config_get hostname $1 hostname  
config_get port $1 port "22"  
config_get retrydelay $1 retrydelay "60"  
config_get PKCS11Provider $1 PKCS11Provider  
config_get CheckHostIP $1 CheckHostIP  
config_get Compression $1 Compression  
config_get CompressionLevel $1 CompressionLevel  
config_get IdentityFile $1 IdentityFile  
config_get LogLevel $1 LogLevel  
config_get ServerAliveCountMax $1 ServerAliveCountMax  
config_get ServerAliveInterval $1 ServerAliveInterval  
config_get StrictHostKeyChecking $1 StrictHostKeyChecking  
config_get TCPKeepAlive $1 TCPKeepAlive  
config_get VerifyHostKeyDNS $1 VerifyHostKeyDNS  
 
error=""  
[ -n "$user" ] \  
|| append_string "error" "user is not set" "; "  
[ -n "$hostname" ] \  
|| append_string "error" "hostname is not set" "; "  
[ "$retrydelay" -ge 1 ] \  
|| append_string "error" "retrydelay must be a positive integer" "; "  
[ -z "$PKCS11Provider" -o -f "$PKCS11Provider" ] \  
|| append_string "error" "PKCS11Provider must be a pkcs11 shared library accessible" "; "  
[ -z "$CheckHostIP" -o "$CheckHostIP"="yes" -o "$CheckHostIP"="no" ] \  
|| append_string "error" "CheckHostIP must be 'yes' or 'no'" "; "  
[ -z "$Compression" -o "$Compression"="yes" -o "$Compression"="no" ] \  
|| append_string "error" "Compression must be 'yes' or 'no'" "; "  
[ -z "$CompressionLevel" ] || [ "$CompressionLevel" -ge 1 -a "$CompressionLevel" -le 9 ] \  
|| append_string "error" "CompressionLevel must be between 1 and 9" "; "  
[ -z "$IdentityFile" -o -f "$IdentityFile" ] \  
|| append_string "error" "IdentityFile $IdentityFile not accessible" "; "  
[ -z "$LogLevel" -o "$LogLevel" = "QUIET" -o "$LogLevel" = "FATAL" -o "$LogLevel" = "ERROR" -o \  
"$LogLevel" = "INFO" -o "$LogLevel" = "VERBOSE" -o "$LogLevel" = "DEBUG" -o \  
"$LogLevel" = "DEBUG1" -o "$LogLevel" = "DEBUG2" -o "$LogLevel" = "DEBUG3" ] \  
|| append_string "error" "LogLevel is invalid" "; "  
[ -z "$ServerAliveCountMax" ] || [ "$ServerAliveCountMax" -ge 1 ] \  
|| append_string "error" "ServerAliveCountMax must be greater or equal than 1" "; "  
[ -z "$ServerAliveInterval" ] || [ "$ServerAliveInterval" -ge 0 ] \  
|| append_string "error" "ServerAliveInterval must be greater or equal than 0" "; "  
[ -z "$StrictHostKeyChecking" -o "$StrictHostKeyChecking" = "yes" -o "$StrictHostKeyChecking" = "ask" -o "$StrictHostKeyChecking" = "no" ] \  
|| append_string "error" "StrictHostKeyChecking must be 'yes', 'ask' or 'no'" "; "  
[ -z "$TCPKeepAlive" -o "$TCPKeepAlive" = "yes" -o "$TCPKeepAlive" = "no" ] \  
|| append_string "error" "TCPKeepAlive must be 'yes' or 'no'" "; "  
[ -z "$VerifyHostKeyDNS" -o "$VerifyHostKeyDNS" = "yes" -o "$VerifyHostKeyDNS" = "no" ] \  
|| append_string "error" "VerifyHostKeyDNS must be 'yes' or 'no'" "; "  
 
[ -n "$error" ] && { logger -p user.err -t "sshtunnel" "tunnels to $server not started - $error"; return; }  
 
 
ARGS=""  
ARGS_options=""  
ARGS_tunnels=""  
 
count=0  
config_foreach load_tunnelR tunnelR && config_foreach load_tunnelL tunnelL && config_foreach load_tunnelD tunnelD  
[ -n "$error" ] && { logger -p user.err -t "sshtunnel" "tunnels to $server not started - $error"; return; }  
[ "$count" -eq 0 ] && { logger -p user.err -t "sshtunnel" "tunnels to $server not started - no tunnels defined"; return; }  
 
append_params CheckHostIP Compression CompressionLevel IdentityFile LogLevel PKCS11Provider ServerAliveCountMax ServerAliveInterval StrictHostKeyChecking TCPKeepAlive VerifyHostKeyDNS  
ARGS="$ARGS_options -o ExitOnForwardFailure=yes -o BatchMode=yes -nN $ARGS_tunnels -p $port $user@$hostname"  
 
/usr/bin/sshtunnel.sh "$ARGS" "$retrydelay" "$server" &  
echo $! >> "${PIDFILE}.pids"  
logger -p user.info -t "sshtunnel" "started tunnels to $server (pid=$!;retrydelay=$retrydelay)"  
}  
 
stop() {  
if [ -f "$PIDFILE".pids ]  
then  
logger -p user.info -t "sshtunnel" "stopping all tunnels"  
 
while read pid  
do  
kill "$pid" # kill mother process first  
 
[ -f "${PIDFILE}_${pid}.pid" ] && { # if ssh was running, kill it also (mother process could be in retry wait)  
start-stop-daemon -K -p "${PIDFILE}_${pid}.pid"  
rm "${PIDFILE}_${pid}.pid"  
}  
 
logger -p daemon.info -t "sshtunnel[$pid]" "tunnel stopped"  
 
done < "${PIDFILE}.pids"  
 
rm "${PIDFILE}.pids"  
 
logger -p user.info -t "sshtunnel" "all tunnels stopped"  
else  
logger -p user.info -t "sshtunnel" "no tunnels running"  
fi  
}  
 
start() {  
[ -f "${PIDFILE}.pids" ] && stop  
 
config_load sshtunnel  
if [ -n "$(uci show sshtunnel.@server[0])" ] # at least one server section exists  
then  
logger -p user.info -t "sshtunnel" "starting all tunnels"  
config_foreach load_server server  
logger -p user.info -t "sshtunnel" "all tunnels started"  
else  
logger -p user.info -t "sshtunnel" "no servers defined"  
fi  
}  
 
#!/bin/sh  
 
PIDFILE="/tmp/run/sshtunnel"  
 
args="$1"  
retrydelay="$2"  
server="$3"  
 
while true  
do  
logger -p daemon.info -t "sshtunnel[$$][$server]" "connection started"  
 
start-stop-daemon -S -p "${PIDFILE}_${$}.pid" -mx ssh -- $args &>/tmp/log/sshtunnel_$$  
 
logger -p daemon.err -t "sshtunnel[$$][$server]" < /tmp/log/sshtunnel_$$  
rm /tmp/log/sshtunnel_$$  
logger -p daemon.info -t "sshtunnel[$$][$server]" "ssh exited with code $?, retrying in $retrydelay seconds"  
rm "${PIDFILE}_${$}.pid"  
 
sleep "$retrydelay" & wait  
done  
 
#  
# password authentication is not possible, public key authentication must be used.  
# set "option IdentityFile" to he file from which the identity (private key) for RSA or DSA authentication is read.  
# The default is ~/.ssh/identity for protocol version 1, and ~/.ssh/id_rsa and ~/.ssh/id_dsa for protocol version 2.  
# ssh will also try to load certificate information from the filename obtained by appending -cert.pub to identity filenames.  
#  
 
#config server disney  
# option user mourinho  
# option hostname server.disney.com  
# option port 22  
# option retrydelay 1  
# option CheckHostIP yes  
# option Compression no  
# option CompressionLevel 6  
# option IdentityFile ~/.ssh/id_rsa  
# option LogLevel INFO  
# option PKCS11Provider /lib/pteidpkcs11.so  
# option ServerAliveCountMax 3  
# option ServerAliveInterval 0  
# option StrictHostKeyChecking ask  
# option TCPKeepAlive yes  
# option VerifyHostKeyDNS yes  
 
# tunnelR(emote) - when the connection will be initiated to the R(emote) endpoint at  
# remoteaddress:remoteport and then forwarded to localaddress:localport  
#  
#config tunnelR http  
# option server disney  
# option remoteaddress *  
# option remoteport 9009  
# option localaddress 192.168.1.13  
# option localport 80  
 
# tunnelL(ocal) - when the connection will be initiated to the L(ocal) endpoint at  
# localaddress:localport and then forwarded to remoteaddress:remoteport  
#  
#config tunnelL test  
# option server disney  
# option localaddress *  
# option localport 1022  
# option remoteaddress secretserver.disney.com  
# option remoteport 22  
 
# tunnelD(ynamic) - when the connection will be initiated with the SOCKS4 or SOCKS5 protocol  
# to the local endpoint at localaddress:localport and then forwarded over the remote host  
#  
#config tunnelD proxy  
# option server disney  
# option localaddress *  
# option localport 4055  
 
# tunnelW - creates TUN/TAP devices on client and server to establish a VPN tunnel between them  
# vpntypes:  
# point-to-point = TUN  
# ethernet = TAP  
#  
#config tunnelW proxy  
# option server disney  
# option vpntype point-to-point|ethernet  
# option localdev any|0|1|2|...  
# option remotedev any|0|1|2|...  
 
 
menu "Configuration"  
depends on PACKAGE_strongswan  
 
# --with-random-device  
config STRONGSWAN_DEVICE_RANDOM  
string  
prompt "Set the device to read real random data from"  
default "/dev/random"  
 
# --with-urandom-device  
config STRONGSWAN_DEVICE_URANDOM  
string  
prompt "Set the device to read pseudo random data from"  
default "/dev/urandom"  
 
# --with-routing-table  
config STRONGSWAN_ROUTING_TABLE  
string  
prompt "Set the IPsec routing table ID"  
default "220"  
 
# --with-routing-table-prio  
config STRONGSWAN_ROUTING_TABLE_PRIO  
string  
prompt "Set the IPsec routing table priority"  
default "220"  
 
endmenu  
 
file:a/net/strongswan/Makefile (deleted)
#  
# Copyright (C) 2012-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:=strongswan  
PKG_VERSION:=5.1.3  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2  
PKG_SOURCE_URL:=http://download.strongswan.org/ http://download2.strongswan.org/  
PKG_MD5SUM:=1d1c108775242743cd8699215b2918c3  
 
PKG_MOD_AVAILABLE:= \  
addrblock \  
aes \  
af-alg \  
agent \  
attr \  
attr-sql \  
blowfish \  
ccm \  
cmac \  
constraints \  
coupling \  
ctr \  
curl \  
des \  
dhcp \  
dnskey \  
duplicheck \  
eap-identity \  
eap-md5 \  
eap-mschapv2 \  
eap-radius \  
farp \  
fips-prf \  
gcm \  
gcrypt \  
gmp \  
ha \  
hmac \  
kernel-klips \  
kernel-libipsec \  
kernel-netlink \  
kernel-pfkey \  
ldap \  
led \  
load-tester \  
nonce \  
md4 \  
md5 \  
mysql \  
openssl \  
padlock \  
pem \  
pgp \  
pkcs1 \  
pkcs8 \  
pkcs11 \  
pubkey \  
random \  
resolve \  
revocation \  
sha1 \  
sha2 \  
smp \  
socket-default \  
socket-dynamic \  
sql \  
sqlite \  
stroke \  
test-vectors \  
unity \  
uci \  
updown \  
whitelist \  
x509 \  
xauth-eap \  
xauth-generic \  
xcbc  
 
PKG_CONFIG_DEPENDS:= \  
CONFIG_STRONGSWAN_DEVICE_RANDOM \  
CONFIG_STRONGSWAN_DEVICE_URANDOM \  
CONFIG_STRONGSWAN_ROUTING_TABLE \  
CONFIG_STRONGSWAN_ROUTING_TABLE_PRIO \  
$(patsubst %,CONFIG_PACKAGE_strongswan-mod-%,$(PKG_MOD_AVAILABLE)) \  
 
PKG_FIXUP:=autoreconf  
PKG_INSTALL:=1  
PKG_BUILD_PARALLEL:=1  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/strongswan/Default  
SUBMENU:=VPN  
SECTION:=net  
CATEGORY:=Network  
TITLE:=StrongSwan  
URL:=http://www.strongswan.org/  
endef  
 
define Package/strongswan/description/Default  
StrongSwan is an OpenSource IPsec implementation for the Linux operating system.  
endef  
 
define Package/strongswan  
$(call Package/strongswan/Default)  
DEPENDS:= +libpthread +ip \  
+kmod-crypto-authenc \  
+kmod-ipsec +kmod-ipsec4 +kmod-ipsec6 \  
+kmod-ipt-ipsec +iptables-mod-ipsec  
endef  
 
define Package/strongswan/config  
source "$(SOURCE)/Config.in"  
endef  
 
define Package/strongswan/description  
$(call Package/strongswan/description/Default)  
This package contains shared libraries and scripts.  
endef  
 
define Package/strongswan-full  
$(call Package/strongswan/Default)  
TITLE+= (full)  
DEPENDS:= +strongswan \  
+strongswan-charon \  
+strongswan-libfast \  
+strongswan-mod-addrblock \  
+strongswan-mod-aes \  
+strongswan-mod-af-alg \  
+strongswan-mod-agent \  
+strongswan-mod-attr \  
+strongswan-mod-attr-sql \  
+strongswan-mod-blowfish \  
+strongswan-mod-ccm \  
+strongswan-mod-cmac \  
+strongswan-mod-constraints \  
+strongswan-mod-coupling \  
+strongswan-mod-ctr \  
+strongswan-mod-curl \  
+strongswan-mod-des \  
+strongswan-mod-dhcp \  
+strongswan-mod-dnskey \  
+strongswan-mod-duplicheck \  
+strongswan-mod-eap-identity \  
+strongswan-mod-eap-md5 \  
+strongswan-mod-eap-mschapv2 \  
+strongswan-mod-eap-radius \  
+strongswan-mod-farp \  
+strongswan-mod-fips-prf \  
+strongswan-mod-gcm \  
+strongswan-mod-gcrypt \  
+strongswan-mod-gmp \  
+strongswan-mod-ha \  
+strongswan-mod-hmac \  
+strongswan-mod-kernel-netlink \  
+strongswan-mod-ldap \  
+strongswan-mod-led \  
+strongswan-mod-load-tester \  
+strongswan-mod-nonce \  
+strongswan-mod-md4 \  
+strongswan-mod-md5 \  
+strongswan-mod-mysql \  
+strongswan-mod-openssl \  
+TARGET_x86:strongswan-mod-padlock \  
+strongswan-mod-pem \  
+strongswan-mod-pgp \  
+strongswan-mod-pkcs1 \  
+strongswan-mod-pkcs8 \  
+strongswan-mod-pkcs11 \  
+strongswan-mod-pubkey \  
+strongswan-mod-random \  
+strongswan-mod-resolve \  
+strongswan-mod-revocation \  
+strongswan-mod-sha1 \  
+strongswan-mod-sha2 \  
+strongswan-mod-smp \  
+strongswan-mod-socket-default \  
+strongswan-mod-sql \  
+strongswan-mod-sqlite \  
+strongswan-mod-stroke \  
+strongswan-mod-test-vectors \  
+strongswan-mod-uci \  
+strongswan-mod-unity \  
+strongswan-mod-updown \  
+strongswan-mod-whitelist \  
+strongswan-mod-x509 \  
+strongswan-mod-xauth-eap \  
+strongswan-mod-xauth-generic \  
+strongswan-mod-xcbc \  
+strongswan-utils \  
@DEVEL  
endef  
 
define Package/strongswan-full/description  
$(call Package/strongswan/description/Default)  
This meta-package contains dependencies for all of the strongswan plugins  
except kernel-klips, kernel-libipsec, kernel-pfkey,  
socket-dynamic and which are ommitted in favor of the kernel-netlink and  
socket-default plugins.  
endef  
 
 
define Package/strongswan-default  
$(call Package/strongswan/Default)  
TITLE+= (default)  
DEPENDS:= +strongswan \  
+strongswan-charon \  
+strongswan-mod-aes \  
+strongswan-mod-attr \  
+strongswan-mod-constraints \  
+strongswan-mod-des \  
+strongswan-mod-dnskey \  
+strongswan-mod-fips-prf \  
+strongswan-mod-gmp \  
+strongswan-mod-hmac \  
+strongswan-mod-kernel-netlink \  
+strongswan-mod-md5 \  
+strongswan-mod-nonce \  
+strongswan-mod-pem \  
+strongswan-mod-pgp \  
+strongswan-mod-pkcs1 \  
+strongswan-mod-pubkey \  
+strongswan-mod-random \  
+strongswan-mod-resolve \  
+strongswan-mod-revocation \  
+strongswan-mod-sha1 \  
+strongswan-mod-sha2 \  
+strongswan-mod-socket-default \  
+strongswan-mod-stroke \  
+strongswan-mod-updown \  
+strongswan-mod-x509 \  
+strongswan-mod-xauth-generic \  
+strongswan-mod-xcbc \  
+strongswan-utils  
endef  
 
define Package/strongswan-default/description  
$(call Package/strongswan/description/Default)  
This meta-package contains only dependencies to match upstream defaults.  
endef  
 
define Package/strongswan-minimal  
$(call Package/strongswan/Default)  
TITLE+= (minimal)  
DEPENDS:= +strongswan \  
+strongswan-charon \  
+strongswan-mod-aes \  
+strongswan-mod-gmp \  
+strongswan-mod-hmac \  
+strongswan-mod-kernel-netlink \  
+strongswan-mod-nonce \  
+strongswan-mod-pubkey \  
+strongswan-mod-random \  
+strongswan-mod-sha1 \  
+strongswan-mod-socket-default \  
+strongswan-mod-stroke \  
+strongswan-mod-updown \  
+strongswan-mod-x509 \  
+strongswan-mod-xcbc  
endef  
 
define Package/strongswan-minimal/description  
$(call Package/strongswan/description/Default)  
This meta-package contains only dependencies for a minimal IKEv2 setup.  
endef  
 
define Package/strongswan-charon  
$(call Package/strongswan/Default)  
TITLE+= IKEv1/IKEv2 keying daemon  
DEPENDS:= +strongswan  
endef  
 
define Package/strongswan-charon/description  
$(call Package/strongswan/description/Default)  
This package contains charon, an IKEv2 keying daemon.  
endef  
 
define Package/strongswan-libfast  
$(call Package/strongswan/Default)  
TITLE+= libfast  
DEPENDS:= +strongswan \  
+PACKAGE_strongswan-libfast:zlib \  
+PACKAGE_strongswan-libfast:fcgi \  
+PACKAGE_strongswan-libfast:clearsilver  
endef  
 
define Package/strongswan-libfast/description  
$(call Package/strongswan/description/Default)  
This package contains libfast, a lightweight framework to build native web  
applications using ClearSilver and FastCGI.  
endef  
 
define Package/strongswan-utils  
$(call Package/strongswan/Default)  
TITLE+= utilities  
DEPENDS:= +strongswan  
endef  
 
define Package/strongswan-utils/description  
$(call Package/strongswan/description/Default)  
This package contains the pki & scepclient utilities.  
endef  
 
define BuildPlugin  
define Package/strongswan-mod-$(1)  
$$(call Package/strongswan/Default)  
TITLE:= StrongSwan $(2) plugin  
DEPENDS:= +strongswan $(3)  
endef  
 
strongswan_mod_conf=$(wildcard $(PKG_INSTALL_DIR)/etc/strongswan.d/charon/$(1).conf)  
define Package/strongswan-mod-$(1)/install  
$(INSTALL_DIR) $$(1)/etc/strongswan.d/charon  
$(if $(call strongswan_mod_conf,$(1)), \  
$(INSTALL_DATA) \  
$(call strongswan_mod_conf,$(1)) \  
$$(1)/etc/strongswan.d/charon/ \  
)  
$(INSTALL_DIR) $$(1)/usr/lib/ipsec/plugins  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-$(1).so \  
$$(1)/usr/lib/ipsec/plugins/  
$(call Plugin/$(1)/install,$$(1))  
endef  
 
Package/strongswan-mod-$(1)/conffiles=$(patsubst $(PKG_INSTALL_DIR)%,%,$(call strongswan_mod_conf,$(1)))  
 
$$(eval $$(call BuildPackage,strongswan-mod-$(1)))  
endef  
 
CONFIGURE_ARGS+= \  
--disable-scripts \  
--disable-static \  
$(if $(CONFIG_PACKAGE_strongswan-libfast),--enable-fast,--disable-fast) \  
$(if $(CONFIG_PACKAGE_strongswan-utils),--enable-tools,--disable-tools) \  
--with-random-device="$(call qstrip,$(CONFIG_STRONGSWAN_DEVICE_RANDOM))" \  
--with-urandom-device="$(call qstrip,$(CONFIG_STRONGSWAN_DEVICE_URANDOM))" \  
--with-routing-table="$(call qstrip,$(CONFIG_STRONGSWAN_ROUTING_TABLE))" \  
--with-routing-table-prio="$(call qstrip,$(CONFIG_STRONGSWAN_ROUTING_TABLE_PRIO))" \  
$(foreach m,$(PKG_MOD_AVAILABLE), \  
$(if $(CONFIG_PACKAGE_strongswan-mod-$(m)),--enable-$(m),--disable-$(m)) \  
)  
 
ifneq ($(CONFIG_PACKAGE_strongswan-libfast),)  
EXTRA_CPPFLAGS+= -I$(STAGING_DIR)/usr/include/ClearSilver  
endif  
 
EXTRA_LDFLAGS+= -Wl,-rpath-link,$(STAGING_DIR)/usr/lib  
 
define Package/strongswan/conffiles  
/etc/ipsec.conf  
/etc/ipsec.secrets  
/etc/ipsec.user  
/etc/strongswan.conf  
endef  
 
define Package/strongswan/install  
$(INSTALL_DIR) $(1)/etc  
$(CP) $(PKG_INSTALL_DIR)/etc/strongswan.conf $(1)/etc/  
$(INSTALL_DIR) $(1)/usr/lib/ipsec  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/{libstrongswan.so.*,libhydra.so.*} $(1)/usr/lib/ipsec/  
$(INSTALL_CONF) ./files/ipsec.secrets $(1)/etc/  
$(INSTALL_DIR) $(1)/etc/init.d  
$(INSTALL_BIN) ./files/ipsec.init $(1)/etc/init.d/ipsec  
endef  
 
define Package/strongswan-default/install  
true  
endef  
 
define Package/strongswan-full/install  
true  
endef  
 
define Package/strongswan-minimal/install  
true  
endef  
 
define Package/strongswan-charon/install  
$(INSTALL_DIR) $(1)/usr/lib/ipsec  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ipsec/charon $(1)/usr/lib/ipsec/  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/libcharon.so.* $(1)/usr/lib/ipsec/  
endef  
 
define Package/strongswan-libfast/install  
$(INSTALL_DIR) $(1)/usr/lib/ipsec  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/libfast.so.* $(1)/usr/lib/ipsec/  
endef  
 
define Package/strongswan-utils/install  
$(INSTALL_DIR) $(1)/usr/sbin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ipsec $(1)/usr/sbin/  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/pki $(1)/usr/bin/  
$(INSTALL_DIR) $(1)/usr/lib/ipsec  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ipsec/scepclient $(1)/usr/lib/ipsec/  
endef  
 
define Plugin/duplicheck/install  
$(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/duplicheck $(1)/usr/lib/ipsec/  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-duplicheck.so $(1)/usr/lib/ipsec/plugins/  
endef  
 
define Plugin/eap-radius/install  
$(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/libradius.so.* $(1)/usr/lib/ipsec/  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-eap-radius.so $(1)/usr/lib/ipsec/plugins/  
endef  
 
define Plugin/attr-sql/install  
$(INSTALL_DIR) $(1)/usr/lib/ipsec  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/pool $(1)/usr/lib/ipsec/  
endef  
 
define Plugin/stroke/install  
$(INSTALL_DIR) $(1)/etc/ipsec.d/aacerts  
$(INSTALL_DIR) $(1)/etc/ipsec.d/acerts  
$(INSTALL_DIR) $(1)/etc/ipsec.d/cacerts  
$(INSTALL_DIR) $(1)/etc/ipsec.d/certs  
$(INSTALL_DIR) $(1)/etc/ipsec.d/crls  
$(INSTALL_DIR) $(1)/etc/ipsec.d/ocspcerts  
$(INSTALL_DIR) $(1)/etc/ipsec.d/private  
$(INSTALL_DIR) $(1)/etc/ipsec.d/reqs  
 
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/ipsec.conf $(1)/etc/  
 
$(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/ipsec/{starter,stroke} $(1)/usr/lib/ipsec/  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-stroke.so $(1)/usr/lib/ipsec/plugins/  
endef  
 
define Plugin/updown/install  
$(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/{_updown,_updown_espmark} $(1)/usr/lib/ipsec/  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-updown.so $(1)/usr/lib/ipsec/plugins/  
$(INSTALL_DIR) $(1)/etc  
$(INSTALL_CONF) ./files/ipsec.user $(1)/etc/  
endef  
 
define Plugin/whitelist/install  
$(INSTALL_DIR) $(1)/usr/lib/ipsec/plugins  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/whitelist $(1)/usr/lib/ipsec/  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/plugins/libstrongswan-whitelist.so $(1)/usr/lib/ipsec/plugins/  
endef  
 
define Plugin/kernel-libipsec/install  
$(INSTALL_DIR) $(1)/usr/lib/ipsec  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ipsec/libipsec.so.* $(1)/usr/lib/ipsec/  
endef  
 
$(eval $(call BuildPackage,strongswan))  
$(eval $(call BuildPackage,strongswan-default))  
$(eval $(call BuildPackage,strongswan-full))  
$(eval $(call BuildPackage,strongswan-minimal))  
$(eval $(call BuildPackage,strongswan-charon))  
$(eval $(call BuildPackage,strongswan-libfast))  
$(eval $(call BuildPackage,strongswan-utils))  
$(eval $(call BuildPlugin,addrblock,RFC 3779 address block constraint support,))  
$(eval $(call BuildPlugin,aes,AES crypto,))  
$(eval $(call BuildPlugin,af-alg,AF_ALG crypto interface to Linux Crypto API,+kmod-crypto-user))  
$(eval $(call BuildPlugin,agent,SSH agent signing,))  
$(eval $(call BuildPlugin,attr,file based config,))  
$(eval $(call BuildPlugin,attr-sql,SQL based config,+strongswan-mod-sql))  
$(eval $(call BuildPlugin,blowfish,Blowfish crypto,))  
$(eval $(call BuildPlugin,ccm,CCM AEAD wrapper crypto,))  
$(eval $(call BuildPlugin,cmac,CMAC crypto,))  
$(eval $(call BuildPlugin,constraints,advanced X509 constraint checking,))  
$(eval $(call BuildPlugin,coupling,IKEv2 plugin to couple peer certificates permanently to authentication,))  
$(eval $(call BuildPlugin,ctr,Counter Mode wrapper crypto,))  
$(eval $(call BuildPlugin,curl,cURL fetcher plugin,+PACKAGE_strongswan-mod-curl:libcurl))  
$(eval $(call BuildPlugin,des,DES crypto,))  
$(eval $(call BuildPlugin,dhcp,DHCP based attribute provider,))  
$(eval $(call BuildPlugin,dnskey,DNS RR key decoding,))  
$(eval $(call BuildPlugin,duplicheck,advanced duplicate checking,))  
$(eval $(call BuildPlugin,eap-identity,EAP identity helper,))  
$(eval $(call BuildPlugin,eap-md5,EAP MD5 (CHAP) EAP auth,))  
$(eval $(call BuildPlugin,eap-mschapv2,EAP MS-CHAPv2 EAP auth,+strongswan-mod-md4 +strongswan-mod-des))  
$(eval $(call BuildPlugin,eap-radius,EAP RADIUS auth,))  
$(eval $(call BuildPlugin,farp,fake arp respsonses,))  
$(eval $(call BuildPlugin,fips-prf,FIPS PRF crypto,+strongswan-mod-sha1))  
$(eval $(call BuildPlugin,gcm,GCM AEAD wrapper crypto,))  
$(eval $(call BuildPlugin,gcrypt,libgcrypt,+PACKAGE_strongswan-mod-gcrypt:libgcrypt))  
$(eval $(call BuildPlugin,gmp,libgmp,+PACKAGE_strongswan-mod-gmp:libgmp))  
$(eval $(call BuildPlugin,ha,high availability cluster,))  
$(eval $(call BuildPlugin,hmac,HMAC crypto,))  
$(eval $(call BuildPlugin,kernel-klips,KLIPS kernel interface,))  
$(eval $(call BuildPlugin,kernel-libipsec,libipsec kernel interface,))  
$(eval $(call BuildPlugin,kernel-netlink,netlink kernel interface,))  
$(eval $(call BuildPlugin,kernel-pfkey,PK_KEY kernel interface,))  
$(eval $(call BuildPlugin,ldap,LDAP,+PACKAGE_strongswan-mod-ldap:libopenldap))  
$(eval $(call BuildPlugin,led,LED blink on IKE activity,))  
$(eval $(call BuildPlugin,load-tester,load testing,))  
$(eval $(call BuildPlugin,nonce,nonce genereation,))  
$(eval $(call BuildPlugin,md4,MD4 crypto,))  
$(eval $(call BuildPlugin,md5,MD5 crypto,))  
$(eval $(call BuildPlugin,mysql,MySQL database interface,+strongswan-mod-sql +PACKAGE_strongswan-mod-mysql:libmysqlclient-r))  
$(eval $(call BuildPlugin,openssl,OpenSSL crypto,+PACKAGE_strongswan-mod-openssl:libopenssl))  
$(eval $(call BuildPlugin,padlock,VIA PadLock crypto,@TARGET_x86))  
$(eval $(call BuildPlugin,pem,PEM decoding,))  
$(eval $(call BuildPlugin,pgp,PGP key decoding,))  
$(eval $(call BuildPlugin,pkcs1,PKCS1 key decoding,))  
$(eval $(call BuildPlugin,pkcs8,PKCS8 key decoding,))  
$(eval $(call BuildPlugin,pkcs11,PKCS11 key decoding,))  
$(eval $(call BuildPlugin,pubkey,raw public key,))  
$(eval $(call BuildPlugin,random,RNG,))  
$(eval $(call BuildPlugin,resolve,DNS resolver,))  
$(eval $(call BuildPlugin,revocation,X509 CRL/OCSP revocation,))  
$(eval $(call BuildPlugin,sha1,SHA1 crypto,))  
$(eval $(call BuildPlugin,sha2,SHA2 crypto,))  
$(eval $(call BuildPlugin,smp,SMP configuration and control interface,+PACKAGE_strongswan-mod-smp:libxml2))  
$(eval $(call BuildPlugin,socket-default,default socket implementation for charon,))  
$(eval $(call BuildPlugin,socket-dynamic,dynamic socket implementation for charon,))  
$(eval $(call BuildPlugin,sql,SQL database interface,))  
$(eval $(call BuildPlugin,sqlite,SQLite database interface,+strongswan-mod-sql +PACKAGE_strongswan-mod-sqlite:libsqlite3))  
$(eval $(call BuildPlugin,stroke,Stroke,+strongswan-utils))  
$(eval $(call BuildPlugin,test-vectors,crypto test vectors,))  
$(eval $(call BuildPlugin,uci,UCI config interface,+PACKAGE_strongswan-mod-uci:libuci))  
$(eval $(call BuildPlugin,unity,Cisco Unity extension,))  
$(eval $(call BuildPlugin,updown,updown firewall,))  
$(eval $(call BuildPlugin,whitelist,peer identity whitelisting,))  
$(eval $(call BuildPlugin,x509,x509 certificate,))  
$(eval $(call BuildPlugin,xauth-eap,EAP XAuth backend,))  
$(eval $(call BuildPlugin,xauth-generic,generic XAuth backend,))  
$(eval $(call BuildPlugin,xcbc,xcbc crypto,))  
 
#!/bin/sh /etc/rc.common  
 
START=90  
STOP=10  
 
start() {  
ipsec start  
}  
 
stop() {  
ipsec stop  
}  
 
restart() {  
ipsec restart  
}  
 
reload() {  
ipsec update  
}  
 
# /etc/ipsec.secrets - strongSwan IPsec secrets file  
 
# This file is interpreted as shell script.  
# Put your custom ip rules here, they will  
# be executed with each call to the script  
# /usr/lib/ipsec/_updown which by default  
# strongswan executes.  
 
 
--- a/src/libipsec/ip_packet.c  
+++ b/src/libipsec/ip_packet.c  
@@ -95,7 +95,7 @@ METHOD(ip_packet_t, get_next_header, u_i  
return this->next_header;  
}  
 
-METHOD(ip_packet_t, clone, ip_packet_t*,  
+METHOD(ip_packet_t, clone_, ip_packet_t*,  
private_ip_packet_t *this)  
{  
return ip_packet_create(chunk_clone(this->packet));  
@@ -183,7 +183,7 @@ ip_packet_t *ip_packet_create(chunk_t pa  
.get_destination = _get_destination,  
.get_next_header = _get_next_header,  
.get_encoding = _get_encoding,  
- .clone = _clone,  
+ .clone = _clone_,  
.destroy = _destroy,  
},  
.src = src,  
--- a/src/libipsec/esp_packet.c  
+++ b/src/libipsec/esp_packet.c  
@@ -115,7 +115,7 @@ METHOD(packet_t, skip_bytes, void,  
return this->packet->skip_bytes(this->packet, bytes);  
}  
 
-METHOD(packet_t, clone, packet_t*,  
+METHOD(packet_t, clone_, packet_t*,  
private_esp_packet_t *this)  
{  
private_esp_packet_t *pkt;  
@@ -414,7 +414,7 @@ static private_esp_packet_t *esp_packet_  
.get_dscp = _get_dscp,  
.set_dscp = _set_dscp,  
.skip_bytes = _skip_bytes,  
- .clone = _clone,  
+ .clone = _clone_,  
.destroy = _destroy,  
},  
.get_source = _get_source,  
 
--- a/src/starter/netkey.c  
+++ b/src/starter/netkey.c  
@@ -31,7 +31,7 @@ bool starter_netkey_init(void)  
/* af_key module makes the netkey proc interface visible */  
if (stat(PROC_MODULES, &stb) == 0)  
{  
- ignore_result(system("modprobe -qv af_key"));  
+ ignore_result(system("modprobe af_key 2>&1 >/dev/null"));  
}  
 
/* now test again */  
@@ -45,11 +45,11 @@ bool starter_netkey_init(void)  
/* make sure that all required IPsec modules are loaded */  
if (stat(PROC_MODULES, &stb) == 0)  
{  
- ignore_result(system("modprobe -qv ah4"));  
- ignore_result(system("modprobe -qv esp4"));  
- ignore_result(system("modprobe -qv ipcomp"));  
- ignore_result(system("modprobe -qv xfrm4_tunnel"));  
- ignore_result(system("modprobe -qv xfrm_user"));  
+ ignore_result(system("modprobe ah4 2>&1 >/dev/null"));  
+ ignore_result(system("modprobe esp4 2>&1 >/dev/null"));  
+ ignore_result(system("modprobe ipcomp 2>&1 >/dev/null"));  
+ ignore_result(system("modprobe xfrm4_tunnel 2>&1 >/dev/null"));  
+ ignore_result(system("modprobe xfrm_user 2>&1 >/dev/null"));  
}  
 
DBG2(DBG_APP, "found netkey IPsec stack");  
 
--- a/src/libcharon/plugins/uci/uci_parser.c  
+++ b/src/libcharon/plugins/uci/uci_parser.c  
@@ -78,7 +78,7 @@ METHOD(enumerator_t, section_enumerator_  
if (uci_lookup(this->ctx, &element, this->package,  
this->current->name, "name") == UCI_OK)  
{ /* use "name" attribute as config name if available ... */  
- *value = uci_to_option(element)->value;  
+ *value = uci_to_option(element)->v.string;  
}  
else  
{ /* ... or the section name becomes config name */  
@@ -93,7 +93,7 @@ METHOD(enumerator_t, section_enumerator_  
if (value && uci_lookup(this->ctx, &element, this->package,  
this->current->name, this->keywords[i]) == UCI_OK)  
{  
- *value = uci_to_option(element)->value;  
+ *value = uci_to_option(element)->v.string;  
}  
}  
va_end(args);  
 
--- a/src/_updown/_updown.in  
+++ b/src/_updown/_updown.in  
@@ -16,11 +16,9 @@  
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License  
# for more details.  
 
-# CAUTION: Installing a new version of strongSwan will install a new  
-# copy of this script, wiping out any custom changes you make. If  
-# you need changes, make a copy of this under another name, and customize  
-# that, and use the (left/right)updown parameters in ipsec.conf to make  
-# strongSwan use yours instead of this default one.  
+# Add your custom ip rules to the /etc/ipsec.user file if you need that functionality.  
+  
+[ -e /etc/ipsec.user ] && . /etc/ipsec.user "$1"  
 
# things that this script gets (from ipsec_pluto(8) man page)  
#  
 
file:a/net/tor/Makefile (deleted)
#  
# Copyright (C) 2008-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:=tor  
PKG_VERSION:=0.2.4.22  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz  
PKG_SOURCE_URL:=https://www.torproject.org/dist \  
https://archive.torproject.org/tor-package-archive  
PKG_MD5SUM:=5a7eee0d9df87233255d78b25c6f8270  
 
PKG_BUILD_DEPENDS:=libminiupnpc libnatpmp  
PKG_INSTALL:=1  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/tor/Default  
SECTION:=net  
CATEGORY:=Network  
URL:=https://www.torproject.org/  
endef  
 
define Package/tor/Default/description  
Tor is a toolset for a wide range of organizations and people that want to  
improve their safety and security on the Internet. Using Tor can help you  
anonymize web browsing and publishing, instant messaging, IRC, SSH, and  
more. Tor also provides a platform on which software developers can build  
new applications with built-in anonymity, safety, and privacy features.  
endef  
 
define Package/tor  
$(call Package/tor/Default)  
TITLE:=An anonymous Internet communication system  
DEPENDS:=+libevent2 +libopenssl +libpthread +librt +SSP_SUPPORT:libssp  
endef  
 
define Package/tor/description  
$(call Package/tor/Default/description)  
This package contains the tor daemon.  
endef  
 
define Package/tor-fw-helper  
$(call Package/tor/Default)  
TITLE:=Firewall helper for tor  
DEPENDS:=+tor +libminiupnpc +libnatpmp  
endef  
 
define Package/tor-fw-helper/description  
$(call Package/tor/Default/description)  
This package contains a helper for automatically configuring port forwarding.  
endef  
 
define Package/tor-geoip  
$(call Package/tor/Default)  
TITLE:=GeoIP db for tor  
DEPENDS:=+tor  
endef  
 
define Package/tor-geoip/description  
$(call Package/tor/Default/description)  
This package contains a GeoIP database mapping IP addresses to countries.  
endef  
 
define Package/tor/conffiles  
/etc/tor/torrc  
endef  
 
CONFIGURE_ARGS += \  
--with-libevent-dir="$(STAGING_DIR)/usr" \  
--with-ssl-dir="$(STAGING_DIR)/usr" \  
--enable-upnp \  
--with-libminiupnpc-dir="$(STAGING_DIR)/usr" \  
--enable-nat-pmp \  
--with-libnatpmp-dir="$(STAGING_DIR)/usr" \  
--disable-asciidoc  
 
ifneq ($(CONFIG_SSP_SUPPORT),y)  
CONFIGURE_ARGS += \  
--disable-gcc-hardening  
MAKE_FLAGS += \  
CFLAGS="$(TARGET_CFLAGS)"  
else  
MAKE_FLAGS += \  
CFLAGS="$(TARGET_CFLAGS) -fPIC"  
endif  
 
CONFIGURE_VARS += \  
CROSS_COMPILE="yes"  
 
define Package/tor/install  
$(INSTALL_DIR) $(1)/usr/sbin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/tor $(1)/usr/sbin/  
$(INSTALL_DIR) $(1)/etc/init.d  
$(INSTALL_BIN) ./files/tor.init $(1)/etc/init.d/tor  
$(INSTALL_DIR) $(1)/etc/tor  
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/tor/torrc.sample $(1)/etc/tor/torrc  
endef  
 
define Package/tor-fw-helper/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/tor-fw-helper $(1)/usr/bin/  
endef  
 
define Package/tor-geoip/install  
$(INSTALL_DIR) $(1)/usr/share/tor  
$(CP) $(PKG_INSTALL_DIR)/usr/share/tor/geoip $(1)/usr/share/tor/  
endef  
 
$(eval $(call BuildPackage,tor))  
$(eval $(call BuildPackage,tor-fw-helper))  
$(eval $(call BuildPackage,tor-geoip))  
 
file:a/net/tor/files/tor.init (deleted)
#!/bin/sh /etc/rc.common  
# Copyright (C) 2006-2011 OpenWrt.org  
 
START=50  
STOP=50  
 
USE_PROCD=1  
 
start_service() {  
user_exists tor 52 || user_add tor 52 52 /var/lib/tor  
group_exists tor 52 || group_add tor 52  
[ -f /var/run/tor.pid ] || {  
touch /var/run/tor.pid  
chown tor:tor /var/run/tor.pid  
}  
[ -d /var/lib/tor ] || {  
mkdir -m 0755 -p /var/lib/tor  
chmod 0700 /var/lib/tor  
chown tor:tor /var/lib/tor  
}  
[ -d /var/log/tor ] || {  
mkdir -m 0755 -p /var/log/tor  
chown tor:tor /var/log/tor  
}  
procd_open_instance  
procd_set_param command /usr/sbin/tor --runasdaemon 0  
procd_close_instance  
}  
 
--- a/src/config/torrc.sample.in  
+++ b/src/config/torrc.sample.in  
@@ -45,11 +45,11 @@  
## Uncomment this to start the process in the background... or use  
## --runasdaemon 1 on the command line. This is ignored on Windows;  
## see the FAQ entry if you want Tor to run as an NT service.  
-#RunAsDaemon 1  
+RunAsDaemon 1  
 
## The directory for keeping all the keys/etc. By default, we store  
## things in $HOME/.tor on Unix, and in Application Data\tor on Windows.  
-#DataDirectory @LOCALSTATEDIR@/lib/tor  
+DataDirectory @LOCALSTATEDIR@/lib/tor  
 
## The port on which Tor will listen for local connections from Tor  
## controller applications, as documented in control-spec.txt.  
@@ -187,3 +187,4 @@  
## address manually to your friends, uncomment this line:  
#PublishServerDescriptor 0  
 
+User tor  
 
file:a/net/ulogd/Makefile (deleted)
#  
# 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:=ulogd  
PKG_VERSION:=1.24  
PKG_RELEASE:=2  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2  
PKG_SOURCE_URL:=ftp://ftp.netfilter.org/pub/ulogd/ \  
ftp://ftp.be.netfilter.org/pub/netfilter/ulogd/ \  
ftp://ftp.de.netfilter.org/pub/netfilter/ulogd/ \  
ftp://ftp.no.netfilter.org/pub/netfilter/ulogd/  
PKG_MD5SUM:=05b4ed2926b9a22aaeaf642917bbf8ff  
 
define Package/ulogd/Default  
SECTION:=net  
CATEGORY:=Network  
URL:=http://www.netfilter.org/projects/ulogd/index.html  
endef  
 
define Package/ulogd  
$(call Package/ulogd/Default)  
DEPENDS:=+iptables-mod-ulog  
TITLE:=Netfilter userspace logging daemon  
MENU:=1  
endef  
 
define Package/ulogd/conffiles  
/etc/default/ulogd  
/etc/ulogd.conf  
endef  
 
define Package/ulogd-mod-mysql  
$(call Package/ulogd/Default)  
DEPENDS:=ulogd +libmysqlclient  
TITLE:=Output plugin for logging to a MySQL database  
endef  
 
define Package/ulogd-mod-pcap  
$(call Package/ulogd/Default)  
DEPENDS:=ulogd +libpcap  
TITLE:=Output plugin for logging in pcap format  
endef  
 
define Package/ulogd-mod-pgsql  
$(call Package/ulogd/Default)  
DEPENDS:=ulogd +libpq  
TITLE:=Output plugin for logging to a PostgreSQL database  
endef  
 
define Package/ulogd-mod-sqlite  
$(call Package/ulogd/Default)  
DEPENDS:=ulogd +libsqlite3  
TITLE:=Output plugin for logging to an SQLite database  
endef  
 
define Package/ulogd-mod-extra  
$(call Package/ulogd/Default)  
DEPENDS:=ulogd  
TITLE:=Extra plugins  
endef  
 
define Package/ulogd-mod-extra/description  
This package contains the LOCAL, LOGEMU, OPRINT, PWSNIFF and SYSLOG plugins.  
endef  
 
include $(INCLUDE_DIR)/package.mk  
 
ifneq ($(Package/ulogd-mod-mysql),)  
ULOGD_MYSQL_OPTION:= --with-mysql="$(STAGING_DIR)/usr"  
endif  
 
ifneq ($(Package/ulogd-mod-pcap),)  
ULOGD_PCAP_HEADER:=yes  
else  
ULOGD_PCAP_HEADER:=no  
endif  
 
ifneq ($(Package/ulogd-mod-pgsql),)  
ULOGD_PGSQL_OPTION:= --with-pgsql="$(STAGING_DIR)/usr"  
endif  
 
ifneq ($(Package/ulogd-mod-sqlite),)  
ULOGD_SQLITE_OPTION:= --with-sqlite3="$(STAGING_DIR)/usr"  
endif  
 
define Build/Configure  
$(call Build/Configure/Default, \  
$(ULOGD_MYSQL_OPTION) \  
$(ULOGD_PGSQL_OPTION) \  
$(ULOGD_SQLITE_OPTION) \  
, \  
ac_cv_header_pcap_h=$(ULOGD_PCAP_HEADER) \  
)  
$(SED) 's/-lgcc_s//g' $(PKG_BUILD_DIR)/Rules.make  
endef  
 
define Build/Compile  
$(MAKE) -C $(PKG_BUILD_DIR) \  
DESTDIR="$(PKG_INSTALL_DIR)" \  
CFLAGS="$(TARGET_CFLAGS) \  
-Iinclude \  
-I$(PKG_BUILD_DIR)/include/ulogd \  
-I$(PKG_BUILD_DIR)/include \  
-I$(PKG_BUILD_DIR)/libipulog/include \  
-Wl,--export-dynamic \  
$(TARGET_CPPFLAGS)" \  
all install  
endef  
 
define Package/ulogd/install  
$(INSTALL_DIR) $(1)/etc  
$(CP) $(PKG_INSTALL_DIR)/etc/ulogd.conf $(1)/etc/  
$(INSTALL_DIR) $(1)/usr/sbin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ulogd $(1)/usr/sbin/  
$(INSTALL_DIR) $(1)/usr/lib/ulogd  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ulogd/ulogd_BASE.so $(1)/usr/lib/ulogd/  
$(INSTALL_DIR) $(1)/etc/default  
$(INSTALL_DATA) ./files/ulogd.default $(1)/etc/default/ulogd  
$(INSTALL_DIR) $(1)/etc/init.d  
$(INSTALL_BIN) ./files/ulogd.init $(1)/etc/init.d/ulogd  
endef  
 
define BuildPlugin  
define Package/$(1)/install  
$(INSTALL_DIR) $$(1)/usr/lib/ulogd  
for m in $(2); do \  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/ulogd/ulogd_$$$$$$$${m}.so $$(1)/usr/lib/ulogd/ ; \  
done  
endef  
 
$$(eval $$(call BuildPackage,$(1)))  
endef  
 
$(eval $(call BuildPackage,ulogd))  
$(eval $(call BuildPlugin,ulogd-mod-mysql,MYSQL))  
$(eval $(call BuildPlugin,ulogd-mod-pcap,PCAP))  
$(eval $(call BuildPlugin,ulogd-mod-pgsql,PGSQL))  
$(eval $(call BuildPlugin,ulogd-mod-sqlite,SQLITE3))  
$(eval $(call BuildPlugin,ulogd-mod-extra,LOCAL LOGEMU OPRINT PWSNIFF SYSLOG))  
 
OPTIONS="-d"  
#!/bin/sh /etc/rc.common  
# Copyright (C) 2006-2011 OpenWrt.org  
 
START=50  
 
PROG="ulogd"  
COMMAND="/usr/sbin/$PROG"  
DEFAULT="/etc/default/$PROG"  
 
start() {  
[ -f $DEFAULT ] && . $DEFAULT  
service_start $COMMAND $OPTIONS  
}  
 
stop() {  
service_stop $COMMAND  
}  
 
diff -urN ulogd-1.23/pcap/Makefile.in ulogd-1.23.new/pcap/Makefile.in  
--- ulogd-1.23/pcap/Makefile.in 2004-03-23 23:36:04.000000000 +0100  
+++ ulogd-1.23.new/pcap/Makefile.in 2006-04-19 11:30:45.000000000 +0200  
@@ -14,7 +14,7 @@  
distrib:  
 
$(SHARED_LIBS): %.so: %_sh.o  
- $(LD) -shared -o $@ $< -lc -lpcap  
+ $(LD) -shared -o $@ $< @LDFLAGS@ -lc -lpcap  
 
%_sh.o: %.c  
$(CC) $(SH_CFLAGS) -o $@ -c $<  
 
diff -ruN ulogd-1.23-old/Rules.make.in ulogd-1.23-new/Rules.make.in  
--- ulogd-1.23-old/Rules.make.in 2005-02-19 22:32:40.000000000 +0100  
+++ ulogd-1.23-new/Rules.make.in 2005-05-27 07:45:18.000000000 +0200  
@@ -22,7 +22,7 @@  
CFLAGS+=-DULOGD_CONFIGFILE=\"$(ULOGD_CONFIGFILE)\"  
# doesn't work for subdirs  
#CFLAGS+=$(INCIPULOG) $(INCCONFFILE)  
-CFLAGS+=-I/lib/modules/`uname -r`/build/include  
+#CFLAGS+=-I/lib/modules/`uname -r`/build/include  
#CFLAGS+=@DEFS@  
#CFLAGS+=-g -DDEBUG -DDEBUG_MYSQL -DDEBUG_PGSQL  
 
diff -ruN ulogd-1.23-old/libipulog/Makefile.in ulogd-1.23-new/libipulog/Makefile.in  
--- ulogd-1.23-old/libipulog/Makefile.in 2004-03-23 23:36:06.000000000 +0100  
+++ ulogd-1.23-new/libipulog/Makefile.in 2005-05-27 07:44:21.000000000 +0200  
@@ -1,7 +1,7 @@  
#  
 
include @top_srcdir@/Rules.make  
-CFLAGS+=-Iinclude -I/usr/src/linux/include  
+CFLAGS+=-Iinclude  
 
libipulog.a: libipulog.o  
$(LD) -i $< -o $@  
 
--- a/configure  
+++ b/configure  
@@ -1728,7 +1728,7 @@ else  
EOF  
 
MYSQLINCLUDES=`$d/mysql_config --include`  
- MYSQLLIBS=`$d/mysql_config --libs`  
+ MYSQLLIBS=`$d/mysql_config --libs | sed 's/-rdynamic//'`  
 
DATABASE_DIR="${DATABASE_DIR} mysql"  
 
--- a/configure.in  
+++ b/configure.in  
@@ -60,7 +60,7 @@ then  
else  
AC_DEFINE(HAVE_MYSQL)  
MYSQLINCLUDES=`$d/mysql_config --include`  
- MYSQLLIBS=`$d/mysql_config --libs`  
+ MYSQLLIBS=`$d/mysql_config --libs | $(SED) 's/-rdynamic//'`  
 
DATABASE_DIR="${DATABASE_DIR} mysql"  
 
--- a/Makefile.in  
+++ b/Makefile.in  
@@ -63,7 +63,7 @@ recurse:  
@for d in $(SUBDIRS); do if ! make -C $$d; then exit 1; fi; done  
 
ulogd: ulogd.c $(LIBIPULOG) include/ulogd/ulogd.h conffile/conffile.o $(LIBIPULOG)/libipulog.a ulogd.conf  
- $(CC) $(CFLAGS) -rdynamic $< conffile/conffile.o $(LIBIPULOG)/libipulog.a -o $@ $(LIBS)  
+ $(CC) $(CFLAGS) $< conffile/conffile.o $(LIBIPULOG)/libipulog.a -o $@ $(LIBS)  
 
edit = sed -e 's,@libdir\@,$(ULOGD_LIB_PATH),g'  
 
 
file:a/net/unbound/Makefile (deleted)
#  
# 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:=unbound  
PKG_VERSION:=1.4.22  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz  
PKG_SOURCE_URL:=http://www.unbound.net/downloads  
PKG_MD5SUM:=59728c74fef8783f8bad1d7451eba97f  
 
PKG_BUILD_DEPENDS:=libexpat  
PKG_BUILD_PARALLEL:=1  
PKG_FIXUP:=autoreconf  
PKG_INSTALL:=1  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/unbound/Default  
TITLE:=A validating, recursive & caching DNS resolver  
URL:=http://www.unbound.net/  
DEPENDS:=+libopenssl  
endef  
 
define Package/unbound  
$(call Package/unbound/Default)  
SECTION:=net  
CATEGORY:=Network  
SUBMENU:=IP Addresses and Names  
TITLE+= (daemon)  
DEPENDS+= +libunbound  
endef  
 
define Package/unbound/description  
This package contains the Unbound daemon.  
endef  
 
define Package/unbound-anchor  
$(call Package/unbound/Default)  
SECTION:=net  
CATEGORY:=Network  
SUBMENU:=IP Addresses and Names  
TITLE+= (anchor utility)  
DEPENDS+= +unbound +libexpat  
endef  
 
define Package/unbound-anchor/description  
This package contains the Unbound anchor utility.  
endef  
 
define Package/unbound-control  
$(call Package/unbound/Default)  
SECTION:=net  
CATEGORY:=Network  
SUBMENU:=IP Addresses and Names  
TITLE+= (control utility)  
DEPENDS+= +unbound  
endef  
 
define Package/unbound-control/description  
This package contains the Unbound control utility.  
endef  
 
define Package/unbound-control-setup  
$(call Package/unbound/Default)  
SECTION:=net  
CATEGORY:=Network  
SUBMENU:=IP Addresses and Names  
TITLE+= (control setup utility)  
DEPENDS+= +unbound-control +openssl-util  
endef  
 
define Package/unbound-control-setup/description  
This package contains the Unbound control setup utility.  
endef  
 
define Package/unbound-host  
$(call Package/unbound/Default)  
SECTION:=net  
CATEGORY:=Network  
SUBMENU:=IP Addresses and Names  
TITLE+= (DNS lookup utility)  
DEPENDS+= +libunbound  
endef  
 
define Package/unbound-host/description  
This package contains the Unbound DNS lookup utility.  
endef  
 
define Package/libunbound  
$(call Package/unbound/Default)  
SECTION:=libs  
CATEGORY:=Libraries  
TITLE+= (library)  
endef  
 
define Package/libunbound/description  
This package contains the Unbound shared library.  
endef  
 
CONFIGURE_ARGS += \  
--disable-ecdsa \  
--disable-gost \  
--enable-allsymbols \  
--with-libexpat="$(STAGING_DIR)/usr" \  
--with-ssl="$(STAGING_DIR)/usr" \  
--without-pthreads  
 
define Package/unbound/conffiles  
/etc/unbound/unbound.conf  
endef  
 
define Build/InstallDev  
$(INSTALL_DIR) $(1)/usr/include  
$(CP) $(PKG_INSTALL_DIR)/usr/include/unbound.h $(1)/usr/include/  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libunbound.{so*,a,la} $(1)/usr/lib/  
endef  
 
define Package/unbound/install  
$(INSTALL_DIR) $(1)/usr/sbin  
$(CP) \  
$(PKG_INSTALL_DIR)/usr/sbin/unbound \  
$(PKG_INSTALL_DIR)/usr/sbin/unbound-checkconf \  
$(1)/usr/sbin/  
$(INSTALL_DIR) $(1)/etc/unbound  
$(INSTALL_CONF) \  
$(PKG_INSTALL_DIR)/etc/unbound/unbound.conf \  
$(1)/etc/unbound/  
$(INSTALL_CONF) ./files/root.key $(1)/etc/unbound/  
$(INSTALL_CONF) ./files/named.cache $(1)/etc/unbound/  
$(INSTALL_DIR) $(1)/etc/init.d  
$(INSTALL_BIN) ./files/unbound.init $(1)/etc/init.d/unbound  
endef  
 
define Package/unbound-anchor/install  
$(INSTALL_DIR) $(1)/usr/sbin  
$(CP) $(PKG_INSTALL_DIR)/usr/sbin/unbound-anchor $(1)/usr/sbin/  
endef  
 
define Package/unbound-control/install  
$(INSTALL_DIR) $(1)/usr/sbin  
$(CP) $(PKG_INSTALL_DIR)/usr/sbin/unbound-control $(1)/usr/sbin/  
endef  
 
define Package/unbound-control-setup/install  
$(INSTALL_DIR) $(1)/usr/sbin  
$(CP) $(PKG_INSTALL_DIR)/usr/sbin/unbound-control-setup $(1)/usr/sbin/  
endef  
 
define Package/unbound-host/install  
$(INSTALL_DIR) $(1)/usr/sbin  
$(CP) $(PKG_INSTALL_DIR)/usr/sbin/unbound-host $(1)/usr/sbin/  
endef  
 
define Package/libunbound/install  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libunbound.so.* $(1)/usr/lib/  
endef  
 
$(eval $(call BuildPackage,unbound))  
$(eval $(call BuildPackage,unbound-anchor))  
$(eval $(call BuildPackage,unbound-control))  
$(eval $(call BuildPackage,unbound-control-setup))  
$(eval $(call BuildPackage,unbound-host))  
$(eval $(call BuildPackage,libunbound))  
 
; This file holds the information on root name servers needed to  
; initialize cache of Internet domain name servers  
; (e.g. reference this file in the "cache . <file>"  
; configuration file of BIND domain name servers).  
;  
; This file is made available by InterNIC  
; under anonymous FTP as  
; file /domain/named.cache  
; on server FTP.INTERNIC.NET  
; -OR- RS.INTERNIC.NET  
;  
; last update: Mar 26, 2014  
; related version of root zone: 2014032601  
;  
; formerly NS.INTERNIC.NET  
;  
. 3600000 IN NS A.ROOT-SERVERS.NET.  
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4  
A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:BA3E::2:30  
;  
; FORMERLY NS1.ISI.EDU  
;  
. 3600000 NS B.ROOT-SERVERS.NET.  
B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201  
;  
; FORMERLY C.PSI.NET  
;  
. 3600000 NS C.ROOT-SERVERS.NET.  
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12  
C.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2::C  
;  
; FORMERLY TERP.UMD.EDU  
;  
. 3600000 NS D.ROOT-SERVERS.NET.  
D.ROOT-SERVERS.NET. 3600000 A 199.7.91.13  
D.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2D::D  
;  
; FORMERLY NS.NASA.GOV  
;  
. 3600000 NS E.ROOT-SERVERS.NET.  
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10  
;  
; FORMERLY NS.ISC.ORG  
;  
. 3600000 NS F.ROOT-SERVERS.NET.  
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241  
F.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2F::F  
;  
; FORMERLY NS.NIC.DDN.MIL  
;  
. 3600000 NS G.ROOT-SERVERS.NET.  
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4  
;  
; FORMERLY AOS.ARL.ARMY.MIL  
;  
. 3600000 NS H.ROOT-SERVERS.NET.  
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53  
H.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:1::803F:235  
;  
; FORMERLY NIC.NORDU.NET  
;  
. 3600000 NS I.ROOT-SERVERS.NET.  
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17  
I.ROOT-SERVERS.NET. 3600000 AAAA 2001:7FE::53  
;  
; OPERATED BY VERISIGN, INC.  
;  
. 3600000 NS J.ROOT-SERVERS.NET.  
J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30  
J.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:C27::2:30  
;  
; OPERATED BY RIPE NCC  
;  
. 3600000 NS K.ROOT-SERVERS.NET.  
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129  
K.ROOT-SERVERS.NET. 3600000 AAAA 2001:7FD::1  
;  
; OPERATED BY ICANN  
;  
. 3600000 NS L.ROOT-SERVERS.NET.  
L.ROOT-SERVERS.NET. 3600000 A 199.7.83.42  
L.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:3::42  
;  
; OPERATED BY WIDE  
;  
. 3600000 NS M.ROOT-SERVERS.NET.  
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33  
M.ROOT-SERVERS.NET. 3600000 AAAA 2001:DC3::35  
; End of File  
 
. IN DS 19036 8 2 49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5  
 
#!/bin/sh /etc/rc.common  
#Copyright (C) 2010 Ondrej Caletka <o.caletka@sh.cvut.cz>  
START=61  
 
start () {  
unbound  
}  
 
stop () {  
PIDFILE='/var/run/unbound.pid'  
if [ -f $PIDFILE ] ; then  
kill $(cat $PIDFILE)  
fi  
}  
 
--- a/doc/example.conf.in  
+++ b/doc/example.conf.in  
@@ -38,6 +38,8 @@ server:  
# interface: 192.0.2.154  
# interface: 192.0.2.154@5003  
# interface: 2001:DB8::5  
+ interface: 0.0.0.0  
+ interface: ::0  
 
# enable this feature to copy the source address of queries to reply.  
# Socket options are not supported on all platforms. experimental.  
@@ -57,6 +59,7 @@ server:  
# port range that can be open simultaneously. About double the  
# num-queries-per-thread, or, use as many as the OS will allow you.  
# outgoing-range: 4096  
+ outgoing-range: 60  
 
# permit unbound to use this port number or port range for  
# making outgoing queries, using an outgoing interface.  
@@ -73,9 +76,11 @@ server:  
 
# number of outgoing simultaneous tcp buffers to hold per thread.  
# outgoing-num-tcp: 10  
+ outgoing-num-tcp: 1  
 
# number of incoming simultaneous tcp buffers to hold per thread.  
# incoming-num-tcp: 10  
+ incoming-num-tcp: 1  
 
# buffer size for UDP port 53 incoming (SO_RCVBUF socket option).  
# 0 is system default. Use 4m to catch query spikes for busy servers.  
@@ -99,18 +104,22 @@ server:  
# buffer size for handling DNS data. No messages larger than this  
# size can be sent or received, by UDP or TCP. In bytes.  
# msg-buffer-size: 65552  
+ msg-buffer-size: 8192  
 
# the amount of memory to use for the message cache.  
# plain value in bytes or you can append k, m or G. default is "4Mb".  
# msg-cache-size: 4m  
+ msg-cache-size: 100k  
 
# the number of slabs to use for the message cache.  
# the number of slabs must be a power of 2.  
# more slabs reduce lock contention, but fragment memory usage.  
# msg-cache-slabs: 4  
+ msg-cache-slabs: 1  
 
# the number of queries that a thread gets to service.  
# num-queries-per-thread: 1024  
+ num-queries-per-thread: 30  
 
# if very busy, 50% queries run to completion, 50% get timeout in msec  
# jostle-timeout: 200  
@@ -121,11 +130,13 @@ server:  
# the amount of memory to use for the RRset cache.  
# plain value in bytes or you can append k, m or G. default is "4Mb".  
# rrset-cache-size: 4m  
+ rrset-cache-size: 100k  
 
# the number of slabs to use for the RRset cache.  
# the number of slabs must be a power of 2.  
# more slabs reduce lock contention, but fragment memory usage.  
# rrset-cache-slabs: 4  
+ rrset-cache-slabs: 1  
 
# the time to live (TTL) value lower bound, in seconds. Default 0.  
# If more than an hour could easily give trouble due to stale data.  
@@ -143,9 +154,11 @@ server:  
# the number of slabs must be a power of 2.  
# more slabs reduce lock contention, but fragment memory usage.  
# infra-cache-slabs: 4  
+ infra-cache-slabs: 1  
 
# the maximum number of hosts that are cached (roundtrip, EDNS, lame).  
# infra-cache-numhosts: 10000  
+ infra-cache-numhosts: 200  
 
# Enable IPv4, "yes" or "no".  
# do-ip4: yes  
@@ -178,6 +191,8 @@ server:  
# access-control: ::0/0 refuse  
# access-control: ::1 allow  
# access-control: ::ffff:127.0.0.1 allow  
+ access-control: 0.0.0.0/0 allow  
+ access-control: ::0/0 allow  
 
# if given, a chroot(2) is done to the given directory.  
# i.e. you can chroot to the working directory, for example,  
@@ -208,6 +223,7 @@ server:  
# and the given username is assumed. Default is user "unbound".  
# If you give "" no privileges are dropped.  
# username: "@UNBOUND_USERNAME@"  
+ username: ""  
 
# the working directory. The relative files in this config are  
# relative to this directory. If you give "" the working directory  
@@ -230,10 +246,12 @@ server:  
 
# the pid file. Can be an absolute path outside of chroot/work dir.  
# pidfile: "@UNBOUND_PIDFILE@"  
+ pidfile: "/var/run/unbound.pid"  
 
# file to read root hints from.  
# get one from ftp://FTP.INTERNIC.NET/domain/named.cache  
# root-hints: ""  
+ root-hints: "/etc/unbound/named.cache"  
 
# enable to not answer id.server and hostname.bind queries.  
# hide-identity: no  
@@ -256,12 +274,15 @@ server:  
# positive value: fetch that many targets opportunistically.  
# Enclose the list of numbers between quotes ("").  
# target-fetch-policy: "3 2 1 0 0"  
+ target-fetch-policy: "2 1 0 0 0 0"  
 
# Harden against very small EDNS buffer sizes.  
# harden-short-bufsize: no  
+ harden-short-bufsize: yes  
 
# Harden against unseemly large queries.  
# harden-large-queries: no  
+ harden-large-queries: yes  
 
# Harden against out of zone rrsets, to avoid spoofing attempts.  
# harden-glue: yes  
@@ -342,7 +363,7 @@ server:  
# you start unbound (i.e. in the system boot scripts). And enable:  
# Please note usage of unbound-anchor root anchor is at your own risk  
# and under the terms of our LICENSE (see that file in the source).  
- # auto-trust-anchor-file: "@UNBOUND_ROOTKEY_FILE@"  
+ auto-trust-anchor-file: "@UNBOUND_ROOTKEY_FILE@"  
 
# File with DLV trusted keys. Same format as trust-anchor-file.  
# There can be only one DLV configured, it is trusted from root down.  
@@ -428,15 +449,18 @@ server:  
# the amount of memory to use for the key cache.  
# plain value in bytes or you can append k, m or G. default is "4Mb".  
# key-cache-size: 4m  
+ key-cache-size: 100k  
 
# the number of slabs to use for the key cache.  
# the number of slabs must be a power of 2.  
# more slabs reduce lock contention, but fragment memory usage.  
# key-cache-slabs: 4  
+ key-cache-slabs: 1  
 
# the amount of memory to use for the negative cache (used for DLV).  
# plain value in bytes or you can append k, m or G. default is "1Mb".  
# neg-cache-size: 1m  
+ neg-cache-size: 10k  
 
# By default, for a number of zones a small default 'nothing here'  
# reply is built-in. Query traffic is thus blocked. If you  
 
file:a/utils/gnupg/Makefile (deleted)
#  
# 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:=gnupg  
PKG_VERSION:=1.4.16  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2  
PKG_SOURCE_URL:=ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/gnupg \  
ftp://ftp.gnupg.org/gcrypt/gnupg  
PKG_MD5SUM:=6df73c57d3ece1dd36dc2a7679f00fb0  
 
PKG_INSTALL:=1  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/gnupg  
SECTION:=utils  
CATEGORY:=Utilities  
DEPENDS:=+zlib +libncurses +libreadline  
TITLE:=GNU privacy guard - a free PGP replacement  
URL:=http://www.gnupg.org/  
endef  
 
define Package/gnupg/description  
GnuPG is GNU's tool for secure communication and data storage.  
It can be used to encrypt data and to create digital signatures.  
It includes an advanced key management facility and is compliant  
with the proposed OpenPGP Internet standard as described in RFC2440.  
.  
GnuPG does not use any patented algorithms so it cannot be compatible  
with PGP2 because it uses IDEA (which is patented worldwide).  
endef  
 
CONFIGURE_ARGS += \  
--disable-rpath \  
--disable-asm \  
--disable-gnupg-iconv \  
--disable-card-support \  
--disable-agent-support \  
--disable-bzip2 \  
--disable-exec \  
--disable-ldap \  
--disable-hkp \  
--disable-finger \  
--disable-ftp \  
--disable-dns-srv \  
--enable-fake-curl \  
--disable-regex \  
 
MAKE_FLAGS += \  
SUBDIRS="m4 intl zlib util mpi cipher tools g10 keyserver ${checks}" \  
 
define Package/gnupg/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/gpg $(1)/usr/bin/  
endef  
 
$(eval $(call BuildPackage,gnupg))  
 
file:a/utils/open2300/Makefile (deleted)
#  
# Copyright (C) 2010 segal.ubi.pt  
# Copyright (C) 2014 nunojpg@gmail.com  
#  
# This is free software, licensed under the GNU General Public License v2.  
# See /LICENSE for more information.  
#  
 
include $(TOPDIR)/rules.mk  
 
PKG_NAME:=open2300  
PKG_VERSION:=1.12  
PKG_RELEASE:=3  
 
PKG_SOURCE_PROTO:=svn  
PKG_SOURCE_URL:=http://www.lavrsen.dk/svn/open2300/trunk  
PKG_SOURCE_VERSION:=r12  
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz  
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)  
 
PKG_MAINTAINER:=Nuno Goncalves <nunojpg@gmail.com>  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/open2300  
SECTION:=utils  
CATEGORY:=Utilities  
TITLE:=WS23XX weather station utilities  
URL:=http://www.lavrsen.dk/foswiki/bin/view/Open2300  
endef  
 
define Package/open2300/description  
This is an utility suite used to communicate with and collect data from a WS23XX wheather station.  
endef  
 
MAKE_FLAGS += \  
CFLAGS="$(TARGET_CFLAGS) -DVERSION=\"$(PKG_VERSION)\""  
 
define Package/open2300/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin2300 $(1)/usr/bin/  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/cw2300 $(1)/usr/bin/  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/dump2300 $(1)/usr/bin/  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/fetch2300 $(1)/usr/bin/  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/histlog2300 $(1)/usr/bin/  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/history2300 $(1)/usr/bin/  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/interval2300 $(1)/usr/bin/  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/light2300 $(1)/usr/bin/  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/log2300 $(1)/usr/bin/  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/minmax2300 $(1)/usr/bin/  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/open2300 $(1)/usr/bin/  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/wu2300 $(1)/usr/bin/  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/xml2300 $(1)/usr/bin/  
 
$(INSTALL_DIR) $(1)/etc  
$(INSTALL_DATA) ./files/open2300.conf $(1)/etc/  
 
$(INSTALL_DIR) $(1)/usr/lib  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/lib2300.so.1.11 $(1)/usr/lib/  
ln -sf /usr/lib/lib2300.so.1.11 $(1)/usr/lib/lib2300.so  
endef  
 
$(eval $(call BuildPackage,open2300))  
 
# open2300.conf  
#  
# Configuration files for open2300 weather station tools  
#  
# Default locations in which the programs will search for this file:  
# Programs search in this sequence:  
# 1. Path to config file including filename given as parameter (not supported by all tools)  
# 2. ./open2300.conf (current working directory)  
# 3. /jffs/etc/open2300.conf (typical DD-WRT location)  
# 4. /etc/open2300.conf (typical Linux location)  
#  
# All names are case sensitive!!!  
 
 
# Set to your serial port and time zone  
# For Windows use COM1, COM2, COM2 etc  
# For Linux use /dev/ttyS0, /dev/ttyS1 etc  
 
SERIAL_DEVICE /dev/tts/1 # /dev/ttyS0, /dev/ttyS1, COM1, COM2 etc  
TIMEZONE 1 # Hours Relative to UTC. East is positive, west is negative  
 
 
# Units of measure (set them to your preference)  
# The units of measure are ignored by wu2300 and cw2300 because both requires specific units  
 
WIND_SPEED m/s # select MPH (miles/hour), m/s, or km/h  
TEMPERATURE C # Select C or F  
RAIN mm # Select mm or IN  
PRESSURE hPa # Select hPa, mb or INHG  
 
 
#### Citizens Weather variables (used only by cw2300)  
# Format for latitude is  
# [2 digit degrees][2 digit minutes].[2 decimals minutes - NOT seconds][N for north or S for south]  
# Format for longitude is  
# [3 digit degrees][2 digit minutes].[2 decimals minutes - NOT seconds][E for east or W for west]  
# Use leading zeros to get the format ####.##N (lat) and #####.##E (long)  
 
CITIZEN_WEATHER_ID CW0000 # CW0000 should be replaced by HAM call or actual CW number  
CITIZEN_WEATHER_LATITUDE 5540.12N # DDMM.mmN or S - example 55 deg, 40.23 minutes north  
CITIZEN_WEATHER_LONGITUDE 01224.60E # DDDMM.mmE or W - example 12 deg, 24.60 minutes east  
 
APRS_SERVER rotate.aprs.net 14580 # These are the APRS servers and ports for  
APRS_SERVER first.aprs.net 14580 # Citizens Weather reporting.  
APRS_SERVER second.aprs.net 14580 # They they are tried in the entered order  
APRS_SERVER third.aprs.net 14580 # you may enter up to 5 alternate servers  
 
 
#### WEATHER UNDERGROUND variables (used only by wu2300)  
 
WEATHER_UNDERGROUND_ID WUID # ID received from Weather Underground  
WEATHER_UNDERGROUND_PASSWORD WUPASSWORD # Password for Weather Underground  
 
 
### MYSQL Settings (only used by mysql2300)  
 
#MYSQL_HOST localhost # Localhost or IP address/host name  
#MYSQL_USERNAME open2300 # Name of the MySQL user that has access to the database  
#MYSQL_PASSWORD mysql2300 # Password for the MySQL user  
#MYSQL_DATABASE open2300 # Named of your database  
#MYSQL_PORT 0 # TCP/IP Port number. Zero means default  
 
#PGSQL_CONNECT hostaddr='127.0.0.1'dbname='open2300'user='postgres'password='sql' # Connection string  
#PGSQL_TABLE weather # Table name  
#PGSQL_STATION open2300 # Unique station id  
 
--- a/Makefile  
+++ b/Makefile  
@@ -15,87 +15,82 @@  
prefix = /usr/local  
exec_prefix = ${prefix}  
bindir = ${exec_prefix}/bin  
+libdir = ${prefix}/lib  
 
#########################################  
 
CC = gcc  
-OBJ = open2300.o rw2300.o linux2300.o win2300.o  
-LOGOBJ = log2300.o rw2300.o linux2300.o win2300.o  
-FETCHOBJ = fetch2300.o rw2300.o linux2300.o win2300.o  
-WUOBJ = wu2300.o rw2300.o linux2300.o win2300.o  
-CWOBJ = cw2300.o rw2300.o linux2300.o win2300.o  
-DUMPOBJ = dump2300.o rw2300.o linux2300.o win2300.o  
-HISTOBJ = history2300.o rw2300.o linux2300.o win2300.o  
-HISTLOGOBJ = histlog2300.o rw2300.o linux2300.o win2300.o  
-DUMPBINOBJ = bin2300.o rw2300.o linux2300.o win2300.o  
-XMLOBJ = xml2300.o rw2300.o linux2300.o win2300.o  
-PGSQLOBJ = pgsql2300.o rw2300.o linux2300.o win2300.o  
-LIGHTOBJ = light2300.o rw2300.o linux2300.o win2300.o  
-INTERVALOBJ = interval2300.o rw2300.o linux2300.o win2300.o  
-MINMAXOBJ = minmax2300.o rw2300.o linux2300.o win2300.o  
-MYSQLHISTLOGOBJ = mysqlhistlog2300.o rw2300.o linux2300.o win2300.o  
+LIB = lib2300  
+LIB_C = rw2300.c linux2300.c  
+LIBOBJ = rw2300.o linux2300.o  
 
VERSION = 1.11  
 
CFLAGS = -Wall -O3 -DVERSION=\"$(VERSION)\"  
-CC_LDFLAGS = -lm  
-CC_WINFLAG =  
-# For Windows - comment the two line above and un-comment the two lines below.  
-#CC_LDFLAGS = -lm -lwsock32  
-#CC_WINFLAG = -mwindows  
+CC_LDFLAGS = -L. -lm -l2300  
+LFLAGS = -shared -Wl,-soname  
INSTALL = install  
+MAKE_EXEC = $(CC) $(CFLAGS) $@.c -o $@ $(CC_LDFLAGS)  
 
####### Build rules  
 
-all: open2300 dump2300 log2300 fetch2300 wu2300 cw2300 history2300 histlog2300 bin2300 xml2300 light2300 interval2300 minmax2300 mysql2300 mysqlhistlog2300  
+all: open2300 dump2300 log2300 fetch2300 wu2300 cw2300 history2300 histlog2300 bin2300 xml2300 light2300 interval2300 minmax2300 #mysql2300 mysqlhistlog2300  
 
-open2300 : $(OBJ)  
- $(CC) $(CFLAGS) -o $@ $(OBJ) $(CC_LDFLAGS)  
-  
-dump2300 : $(DUMPOBJ)  
- $(CC) $(CFLAGS) -o $@ $(DUMPOBJ) $(CC_LDFLAGS)  
+lib2300 :  
+ $(CC) -c -fPIC $(CFLAGS) $(LIB_C)  
+ $(CC) $(LFLAGS),$@.so -o $@.so.$(VERSION) $(LIBOBJ)  
+ ln -sf $@.so.$(VERSION) $@.so  
+  
+open2300 : $(LIB)  
+ $(MAKE_EXEC)  
 
-log2300 : $(LOGOBJ)  
- $(CC) $(CFLAGS) -o $@ $(LOGOBJ) $(CC_LDFLAGS) $(CC_WINFLAG)  
+dump2300 : $(LIB)  
+ $(MAKE_EXEC)  
 
-fetch2300 : $(FETCHOBJ)  
- $(CC) $(CFLAGS) -o $@ $(FETCHOBJ) $(CC_LDFLAGS)  
+log2300 : $(LIB)  
+ $(MAKE_EXEC)  
 
-wu2300 : $(WUOBJ)  
- $(CC) $(CFLAGS) -o $@ $(WUOBJ) $(CC_LDFLAGS) $(CC_WINFLAG)  
+fetch2300 : $(LIB)  
+ $(MAKE_EXEC)  
+  
+srv2300 : $(LIB)  
+ $(MAKE_EXEC)  
+  
+wu2300 : $(LIB)  
+ $(MAKE_EXEC)  
 
-cw2300 : $(CWOBJ)  
- $(CC) $(CFLAGS) -o $@ $(CWOBJ) $(CC_LDFLAGS) $(CC_WINFLAG)  
+cw2300 : $(LIB)  
+ $(MAKE_EXEC)  
 
-history2300 : $(HISTOBJ)  
- $(CC) $(CFLAGS) -o $@ $(HISTOBJ) $(CC_LDFLAGS)  
+history2300 : $(LIB)  
+ $(MAKE_EXEC)  
 
-histlog2300 : $(HISTLOGOBJ)  
- $(CC) $(CFLAGS) -o $@ $(HISTLOGOBJ) $(CC_LDFLAGS) $(CC_WINFLAG)  
+histlog2300 : $(LIB)  
+ $(MAKE_EXEC)  
 
-bin2300 : $(DUMPBINOBJ)  
- $(CC) $(CFLAGS) -o $@ $(DUMPBINOBJ) $(CC_LDFLAGS)  
+bin2300 : $(LIB)  
+ $(MAKE_EXEC)  
 
-xml2300 : $(XMLOBJ)  
- $(CC) $(CFLAGS) -o $@ $(XMLOBJ) $(CC_LDFLAGS) $(CC_WINFLAG)  
+xml2300 : $(LIB)  
+ $(MAKE_EXEC)  
 
-mysql2300:  
- $(CC) $(CFLAGS) -o mysql2300 mysql2300.c rw2300.c linux2300.c $(CC_LDFLAGS) $(CC_WINFLAG) -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient  
+mysql2300: $(LIB)  
+ $(CC) $(CFLAGS) $@.c -o $@ -I/usr/include/mysql -L/usr/lib/mysql $(CC_LDFLAGS) -lmysqlclient  
 
-pgsql2300: $(PGSQLOBJ)  
- $(CC) $(CFLAGS) -o $@ $(PGSQLOBJ) $(CC_LDFLAGS) $(CC_WINFLAG) -I/usr/include/pgsql -L/usr/lib/pgsql -lpq  
+pgsql2300: $(LIB)  
+ $(CC) $(CFLAGS) $@.c -o $@ -I/usr/include/pgsql -L/usr/lib/pgsql $(CC_LDFLAGS) -lpq  
 
-light2300: $(LIGHTOBJ)  
- $(CC) $(CFLAGS) -o $@ $(LIGHTOBJ) $(CC_LDFLAGS)  
+light2300: $(LIB)  
+ $(MAKE_EXEC)  
 
-interval2300: $(INTERVALOBJ)  
- $(CC) $(CFLAGS) -o $@ $(INTERVALOBJ) $(CC_LDFLAGS)  
+interval2300: $(LIB)  
+ $(MAKE_EXEC)  
 
-minmax2300: $(MINMAXOBJ)  
- $(CC) $(CFLAGS) -o $@ $(MINMAXOBJ) $(CC_LDFLAGS) $(CC_WINFLAG)  
+minmax2300: $(LIB)  
+ $(MAKE_EXEC)  
 
-mysqlhistlog2300 :  
- $(CC) $(CFLAGS) -o mysqlhistlog2300 mysqlhistlog2300.c rw2300.c linux2300.c $(CC_LDFLAGS) $(CC_WINFLAG) -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient  
+mysqlhistlog2300 : $(LIB)  
+ $(CC) $(CFLAGS) $@.c -o $@ -I/usr/include/mysql -L/usr/lib/mysql $(CC_LDFLAGS) -lmysqlclient  
 
 
install:  
 
file:a/utils/picocom/Makefile (deleted)
#  
# 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:=picocom  
PKG_VERSION:=1.7  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz  
PKG_SOURCE_URL:=http://picocom.googlecode.com/files  
PKG_MD5SUM:=8eaba1d31407e8408674d6e57af447ef  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/picocom  
SECTION:=utils  
CATEGORY:=Utilities  
TITLE:=A minimal dumb-terminal emulation program  
URL:=http://code.google.com/p/picocom/  
SUBMENU:=Terminal  
endef  
 
define Package/picocom/description  
minimal dumb-terminal emulation program  
endef  
 
define Build/Compile  
$(MAKE) -C $(PKG_BUILD_DIR) $(TARGET_CONFIGURE_OPTS) \  
CFLAGS="$(TARGET_CFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)" \  
picocom  
endef  
 
define Package/picocom/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/picocom $(1)/usr/bin/  
endef  
 
$(eval $(call BuildPackage,picocom))  
 
#  
# Copyright (C) 2010 segal.di.ubi.pt  
#  
# This is free software, licensed under the GNU General Public License v2.  
# See /LICENSE for more information.  
#  
 
include $(TOPDIR)/rules.mk  
 
PKG_NAME:=restorefactory  
PKG_VERSION:=1  
PKG_RELEASE:=6  
 
PKG_MAINTAINER:=Nuno Goncalves <nunojpg@gmail.com>  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/restorefactory  
SECTION:=utils  
CATEGORY:=Utilities  
TITLE:=Mimic original functionality of the reset button  
endef  
 
define Package/restorefactory/description  
RestoreFactory handles the reset button event and issues a "firstboot" command.  
Button and wait time can be configured with a UCI file.  
endef  
 
define Build/Compile  
endef  
 
define Package/restorefactory/install  
$(INSTALL_DIR) $(1)/etc/hotplug.d/button  
$(INSTALL_BIN) ./files/hotplug_restorefactory $(1)/etc/hotplug.d/button/50-restorefactory  
$(INSTALL_DIR) $(1)/etc/uci-defaults  
$(INSTALL_BIN) ./files/uci_defaults_restorefactory $(1)/etc/uci-defaults/50-restorefactory  
endef  
 
$(eval $(call BuildPackage,restorefactory))  
 
#!/bin/sh  
 
system_config() {  
config_get button "$1" button "reset"  
config_get action "$1" action "pressed"  
config_get timeout "$1" timeout "5"  
}  
 
config_load system  
config_foreach system_config restorefactory  
 
[ "$BUTTON" = "$button" ] && {  
 
[ -f /tmp/run/restorefactory.pid ] && read PID < /tmp/run/restorefactory.pid && kill $PID && rm /tmp/run/restorefactory.pid && logger -p user.info -t "restorefactory" "restore to factory defaults aborted"  
 
[ "$ACTION" = "$action" ] && {  
 
if [ "$timeout" -gt 0 ]  
then  
sleep "$timeout" && firstboot && reboot &  
echo $! > /tmp/run/restorefactory.pid  
logger -p user.info -t "restorefactory" "restoring to factory defaults in $timeout seconds"  
elif [ "$timeout" -eq 0 ]  
then  
firstboot && reboot &  
else  
logger -p user.info -t "restorefactory" "invalid timeout value ($timeout)"  
fi  
}  
}  
 
 
#!/bin/sh  
 
uci -q show system.@restorefactory[0] || {  
uci add system restorefactory  
uci set system.@restorefactory[0].button=reset  
uci set system.@restorefactory[0].action=pressed  
uci set system.@restorefactory[0].timeout=5  
uci commit  
}  
 
 
file:a/utils/rtklib/Makefile (deleted)
#  
# Copyright (C) 2014 nunojpg@gmail.com  
#  
# This is free software, licensed under the GNU General Public License v2.  
# See /LICENSE for more information.  
 
include $(TOPDIR)/rules.mk  
 
PKG_NAME:=rtklib  
PKG_VERSION:=2.4.2_p4  
PKG_RELEASE:=$(PKG_SOURCE_VERSION)  
 
PKG_SOURCE_PROTO:=git  
PKG_SOURCE_URL:=git://github.com/tomojitakasu/RTKLIB.git  
PKG_SOURCE_VERSION:=4464e1259f34ba8a8b71f0e5f078faf62e1d9ced  
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz  
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)  
 
PKG_MAINTAINER:=Nuno Goncalves <nunojpg@gmail.com>  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/rtklib/default  
SUBMENU:=RTKLIB Suite  
SECTION:=utils  
CATEGORY:=Utilities  
URL:=http://www.rtklib.com/  
DEPENDS:=+libpthread +librt  
endef  
 
define Package/convbin  
$(call Package/rtklib/default)  
TITLE:=RINEX Converter  
endef  
 
define Package/pos2kml  
$(call Package/rtklib/default)  
TITLE:=Solution to KML converter  
endef  
 
define Package/rnx2rtkp  
$(call Package/rtklib/default)  
TITLE:=Post-Processing Analysis  
endef  
 
define Package/rtkrcv  
$(call Package/rtklib/default)  
TITLE:=Real-Time Positioning  
endef  
 
define Package/str2str  
$(call Package/rtklib/default)  
TITLE:=Communication Server  
endef  
 
define Build/Compile  
rm -rf $(PKG_INSTALL_DIR)  
mkdir -p $(PKG_INSTALL_DIR)  
$(MAKE) -C $(PKG_BUILD_DIR)/app/convbin/gcc CC="$(TARGET_CC) $(TARGET_CFLAGS)"  
$(MAKE) -C $(PKG_BUILD_DIR)/app/pos2kml/gcc CC="$(TARGET_CC) $(TARGET_CFLAGS)"  
$(MAKE) -C $(PKG_BUILD_DIR)/app/rnx2rtkp/gcc CC="$(TARGET_CC) $(TARGET_CFLAGS)"  
$(MAKE) -C $(PKG_BUILD_DIR)/app/rtkrcv/gcc CC="$(TARGET_CC) $(TARGET_CFLAGS)"  
$(MAKE) -C $(PKG_BUILD_DIR)/app/str2str/gcc CC="$(TARGET_CC) $(TARGET_CFLAGS)"  
endef  
 
define Package/convbin/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/app/convbin/gcc/convbin $(1)/usr/bin/  
endef  
 
define Package/pos2kml/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/app/pos2kml/gcc/pos2kml $(1)/usr/bin/  
endef  
 
define Package/rnx2rtkp/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/app/rnx2rtkp/gcc/rnx2rtkp $(1)/usr/bin/  
endef  
 
define Package/rtkrcv/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/app/rtkrcv/gcc/rtkrcv $(1)/usr/bin/  
endef  
 
define Package/str2str/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/app/str2str/gcc/str2str $(1)/usr/bin/  
endef  
 
$(eval $(call BuildPackage,convbin))  
$(eval $(call BuildPackage,pos2kml))  
$(eval $(call BuildPackage,rnx2rtkp))  
$(eval $(call BuildPackage,rtkrcv))  
$(eval $(call BuildPackage,str2str))  
 
file:a/utils/tcsh/Makefile (deleted)
#  
# Copyright (C) 2011 Nuno Goncalves <nunojpg@gmail.com>  
#  
# This is free software, licensed under the GNU General Public License v2.  
# See /LICENSE for more information.  
 
include $(TOPDIR)/rules.mk  
 
PKG_NAME:=tcsh  
PKG_VERSION:=6.17.00  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz  
PKG_SOURCE_URL:=ftp://ftp.astron.com/pub/tcsh/  
PKG_MD5SUM:=c47de903e3d52f6824c8dd0c91eeb477  
 
PKG_MAINTAINER:=Nuno Goncalves <nunojpg@gmail.com>  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/tcsh  
SECTION:=utils  
CATEGORY:=Utilities  
TITLE:=Enhanced Berkeley UNIX C shell  
DEPENDS:=+libncurses  
URL:=http://www.tcsh.org/  
endef  
 
define Package/tcsh/description  
Tcsh is an enhanced, but completely compatible  
version of the Berkeley UNIX C shell (csh). It  
is a command language interpreter usable both  
as an interactive login shell and a shell  
script command processor. It includes a  
command-line editor, programmable word  
completion, spelling correction, a history  
mechanism, job control and a C-like syntax.  
endef  
 
define Package/tcsh/postinst  
#!/bin/sh  
grep tcsh $${IPKG_INSTROOT}/etc/shells || \  
echo "/bin/tcsh" >> $${IPKG_INSTROOT}/etc/shells  
echo "/bin/csh" >> $${IPKG_INSTROOT}/etc/shells  
endef  
 
define Package/tcsh/install  
$(INSTALL_DIR) $(1)/bin  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/tcsh $(1)/bin/  
ln -sf tcsh $(1)/bin/csh  
endef  
 
$(eval $(call BuildPackage,tcsh))  
 
--- a/Makefile.in  
+++ b/Makefile.in  
@@ -365,7 +365,7 @@  
 
gethost: gethost.c sh.err.h tc.const.h sh.h  
rm -f gethost  
- ${CC} -o gethost ${LDFLAGS} ${CFLAGS} ${CPPFLAGS} ${DFLAGS} $(srcdir)/gethost.c ${LIBES} ${EXTRALIBS}  
+ gcc -o gethost -g -O2 -I. -I. -D_PATH_TCSHELL='"/usr/local/bin/tcsh"' $(srcdir)/gethost.c ${LIBES} ${EXTRALIBS}  
 
tc.defs.c: gethost host.defs  
@rm -f $@.tmp  
 
--- a/config/linux  
+++ b/config/linux  
@@ -106,6 +106,4 @@  
#endif  
#define ECHO_STYLE BOTH_ECHO  
 
-#define NLS_CATALOGS  
-  
#endif /* _h_config */  
 
#  
# Copyright (C) 2010-2013 OpenWrt.org  
# Copyright (C) 2010 segal.di.ubi.pt  
#  
# This is free software, licensed under the GNU General Public License v2.  
# See /LICENSE for more information.  
#  
 
include $(TOPDIR)/rules.mk  
 
PKG_NAME:=wifitoggle  
PKG_VERSION:=1  
PKG_RELEASE:=4  
 
PKG_MAINTAINER:=Nuno Goncalves <nunojpg@gmail.com>  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/wifitoggle  
SECTION:=utils  
CATEGORY:=Utilities  
TITLE:=Script to toggle Wi-Fi with a button and UCI config  
endef  
 
define Package/wifitoggle/description  
Very versatile script to toggle Wi-Fi with a button. Allows to set  
timeouts, persist changes after boot, and set LEDs according to the state.  
endef  
 
define Package/wifitoggle/conffiles  
/etc/config/wifitoggle  
endef  
 
define Build/Compile  
endef  
 
define Package/wifitoggle/install  
$(INSTALL_DIR) $(1)/etc/hotplug.d/button  
$(INSTALL_BIN) ./files/wifitoggle.hotplug $(1)/etc/hotplug.d/button/50-wifitoggle  
$(INSTALL_DIR) $(1)/etc/config  
$(INSTALL_DATA) ./files/wifitoggle.config $(1)/etc/config/wifitoggle  
endef  
 
$(eval $(call BuildPackage,wifitoggle))  
 
config wifitoggle  
option button 'wps'  
 
option persistent '0'  
option timer '600'  
 
option led_sysfs 'wrt160nl:amber:wps'  
option led_enable_trigger 'timer'  
option led_enable_delayon '500'  
option led_enable_delayoff '500'  
option led_disable_default '0'  
 
# /bin/sh  
 
setled() {  
if [ -e /sys/class/leds/${led_sysfs}/brightness ]  
then  
[ $led_default -eq 1 ] && echo 1 >/sys/class/leds/${led_sysfs}/brightness  
[ $led_default -eq 1 ] || echo 0 >/sys/class/leds/${led_sysfs}/brightness  
 
echo $led_trigger > /sys/class/leds/${led_sysfs}/trigger  
 
[ "$led_trigger" == "netdev" -a -n "$led_dev" ] && {  
echo $led_dev > /sys/class/leds/${led_sysfs}/device_name  
echo $led_mode > /sys/class/leds/${led_sysfs}/mode  
}  
 
[ "$led_trigger" == "timer" ] && {  
[ -n "$led_delayon" ] && echo $led_delayon > /sys/class/leds/${led_sysfs}/delay_on  
[ -n "$led_delayoff" ] && echo $led_delayoff > /sys/class/leds/${led_sysfs}/delay_off  
}  
else  
logger -p user.err -t "wifitoggle" "led: ${led_sysfs} not found"  
fi  
}  
 
load_wireless() {  
disabled="$(uci get wireless.${1}.disabled)"  
}  
 
save_wireless() {  
[ "$device" = "all" -o "$device" = "${1}" ] && {  
uci set "wireless.${1}.disabled=$disabled"  
}  
}  
 
setwifi() {  
setled  
 
config_load wireless  
config_foreach save_wireless wifi-device  
 
if ubus list network.wireless >/dev/null 2>/dev/null; then  
ubus call network reload  
else  
wifi  
fi  
}  
 
 
save_system() {  
config_get sysfs $1 sysfs  
[ "$sysfs" = "$led_sysfs" ] && {  
uci set "system.${1}.trigger=$led_trigger"  
uci set "system.${1}.dev=$led_dev"  
uci set "system.${1}.mode=$led_mode"  
uci set "system.${1}.default=$led_default"  
uci set "system.${1}.delayon=$led_delayon"  
uci set "system.${1}.delayoff=$led_delayoff"  
 
ledset=1  
}  
}  
 
commit_changes() {  
ledset=""  
 
config_load system  
config_foreach save_system led  
 
[ "$ledset" -eq 1 ] || {  
section=$(uci add system led)  
uci set "system.${section}.sysfs=$led_sysfs"  
uci set "system.${section}.trigger=$led_trigger"  
uci set "system.${section}.dev=$led_dev"  
uci set "system.${section}.mode=$led_mode"  
uci set "system.${section}.default=$led_default"  
uci set "system.${section}.delayon=$led_delayon"  
uci set "system.${section}.delayoff=$led_delayoff"  
}  
 
uci commit  
}  
 
enable() {  
 
led_trigger="$led_enable_trigger"  
led_trigger="$led_enable_trigger"  
led_dev="$led_enable_dev"  
led_mode="$led_enable_mode"  
led_default="$led_enable_default"  
led_delayon="$led_enable_delayon"  
led_delayoff="$led_enable_delayoff"  
disabled=0  
 
setwifi  
 
[ "$timer" -le 0 -a "$persistent" -eq 1 ] && commit_changes  
 
logger -p user.info -t "wifitoggle" "device($device) enabled"  
 
[ "$timer" -gt 0 ] && {  
sleep "$timer" && disable && rm /tmp/run/wirelesstoggle_${1}.pid &  
echo $! > /tmp/run/wirelesstoggle_${1}.pid  
logger -p user.info -t "wifitoggle" "auto-disable timer started($timer seconds)"  
}  
}  
 
disable() {  
 
led_trigger="$led_disable_trigger"  
led_trigger="$led_disable_trigger"  
led_dev="$led_disable_dev"  
led_mode="$led_disable_mode"  
led_default="$led_disable_default"  
led_delayon="$led_disable_delayon"  
led_delayoff="$led_disable_delayoff"  
disabled=1  
 
setwifi  
 
[ "$timer" -le 0 -a "$persistent" -eq 1 ] && commit_changes  
 
logger -p user.info -t "wifitoggle" "device($device) disabled"  
}  
 
 
load_wifitoggle() {  
config_get device $1 device "all"  
config_get button $1 button "wps"  
config_get action $1 action "pressed"  
config_get_bool persistent $1 persistent "0"  
config_get timer $1 timer "0"  
 
config_get led_sysfs $1 led_sysfs  
 
config_get led_enable_trigger $1 led_enable_trigger "none"  
config_get led_enable_dev $1 led_enable_dev  
config_get led_enable_mode $1 led_enable_mode "link"  
config_get_bool led_enable_default $1 led_enable_default "1"  
config_get led_enable_delayon $1 led_enable_delayon  
config_get led_enable_delayoff $1 led_enable_delayoff  
 
config_get led_disable_trigger $1 led_disable_trigger "none"  
config_get led_disable_dev $1 led_disable_dev  
config_get led_disable_mode $1 led_disable_mode "link"  
config_get_bool led_disable_default $1 led_disable_default "0"  
config_get led_disable_delayon $1 led_disable_delayon  
config_get led_disable_delayoff $1 led_disable_delayoff  
 
[ "$ACTION" = "$action" -a "$BUTTON" = "$button" ] && {  
 
[ -f /tmp/run/wirelesstoggle_${1}.pid ] && read PID < /tmp/run/wirelesstoggle_${1}.pid && kill $PID && rm /tmp/run/wirelesstoggle_${1}.pid  
 
if [ "$device" = "all" ]  
then  
config_load wireless  
config_foreach load_wireless wifi-device  
else  
disabled="$(uci get wireless."$device".disabled)"  
fi  
 
 
if [ "$disabled" = "1" ]  
then  
enable $1  
else  
disable  
fi  
}  
}  
 
config_load wifitoggle  
config_foreach load_wifitoggle wifitoggle  
 
comments