libexif: moved to github
libexif: moved to github

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

file:a/libs/libexif/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.  
#  
 
include $(TOPDIR)/rules.mk  
 
PKG_NAME:=libexif  
PKG_VERSION:=0.6.21  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2  
PKG_SOURCE_URL:=@SF/libexif  
PKG_MD5SUM:=27339b89850f28c8f1c237f233e05b27  
 
PKG_LICENSE:=LGPLv2.1  
PKG_LICENSE_FILES:=COPYING  
 
PKG_FIXUP:=autoreconf  
PKG_INSTALL:=1  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/libexif  
SECTION:=libs  
CATEGORY:=Libraries  
TITLE:=library for jpeg files with exif tags  
URL:=http://libexif.sourceforge.net/  
endef  
 
define Package/libexif/description  
libexif is a library for parsing, editing, and saving EXIF data. It is  
intended to replace lots of redundant implementations in command-line  
utilities and programs with GUIs.  
endef  
 
CONFIGURE_ARGS+= \  
--enable-shared \  
--enable-static \  
--disable-rpath \  
--without-libiconv-prefix \  
--without-libintl-prefix \  
 
TARGET_CFLAGS += $(FPIC)  
 
define Build/InstallDev  
$(INSTALL_DIR) $(1)/usr/include  
$(CP) $(PKG_INSTALL_DIR)/usr/include/libexif $(1)/usr/include/  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libexif*.{a,so*} $(1)/usr/lib/  
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libexif.pc $(1)/usr/lib/pkgconfig/  
endef  
 
define Package/libexif/install  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libexif*.so.* $(1)/usr/lib/  
endef  
 
$(eval $(call BuildPackage,libexif))  
 
--- a/Makefile.in  
+++ b/Makefile.in  
@@ -289,7 +289,7 @@ target_alias = @target_alias@  
top_build_prefix = @top_build_prefix@  
top_builddir = @top_builddir@  
top_srcdir = @top_srcdir@  
-SUBDIRS = m4m po libexif test doc binary contrib  
+SUBDIRS = m4m po libexif test binary contrib  
EXTRA_DIST = @PACKAGE_TARNAME@.spec README-Win32.txt libexif.pc.in \  
libexif-uninstalled.pc.in  
pkgconfigdir = $(libdir)/pkgconfig  
 
file:a/libs/libgcrypt/Makefile (deleted)
#  
# Copyright (C) 2005-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:=libgcrypt  
PKG_VERSION:=1.5.3  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2  
PKG_SOURCE_URL:=ftp://ftp.gnupg.org/gcrypt/libgcrypt  
PKG_MD5SUM:=993159b2924ae7b0e4eaff0743c2db35  
 
PKG_FIXUP:=patch-libtool  
PKG_INSTALL:=1  
PKG_BUILD_PARALLEL:=1  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/libgcrypt  
SECTION:=libs  
CATEGORY:=Libraries  
DEPENDS:=+libgpg-error  
TITLE:=GNU crypto library  
URL:=http://directory.fsf.org/security/libgcrypt.html  
endef  
 
define Package/libgcrypt/description  
This is a general purpose cryptographic library based on the code from  
GnuPG. It provides functions for all cryptograhic building blocks:  
symmetric ciphers (AES, DES, Arcfour, CAST5), hash algorithms (MD5, SHA-1,  
RIPE-MD160, SHA-224/256, SHA-384/512), MACs (HMAC for all hash  
algorithms), public key algorithms (RSA, DSA), large integer functions,  
random numbers and a lot of supporting functions. Some algorithms have  
been disabled to reduce size (Blowfish, Twofish, Serpent,  
RC2, SEED, Camellia, CRC, MD4, TIGER-192, Whirlpool, ElGamal, ECC).  
endef  
 
CONFIGURE_ARGS += \  
--enable-shared \  
--enable-static \  
--disable-asm \  
--with-gpg-error-prefix="$(STAGING_DIR)/usr" \  
--enable-digests="md5 rmd160 sha1 sha256 sha512" \  
--enable-ciphers="arcfour des aes cast5" \  
--enable-pubkey-ciphers="rsa dsa"  
 
TARGET_CFLAGS += $(FPIC)  
 
define Build/InstallDev  
$(INSTALL_DIR) $(1)/usr/bin $(2)/bin $(1)/usr/include $(1)/usr/lib $(1)/usr/share/aclocal  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/libgcrypt-config $(1)/usr/bin/  
$(CP) $(PKG_INSTALL_DIR)/usr/include/gcrypt*.h $(1)/usr/include/  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgcrypt.{la,a,so*} $(1)/usr/lib/  
$(CP) $(PKG_INSTALL_DIR)/usr/share/aclocal/libgcrypt.m4 $(1)/usr/share/aclocal/  
$(SED) 's,^libdir=\"$$$${exec_prefix}/lib,libdir=\"$(STAGING_DIR)/usr/lib,g' $(1)/usr/bin/libgcrypt-config  
$(SED) 's,^includedir=\"$$$${prefix}/include/,includedir=\"$(STAGING_DIR)/usr/include/,g' $(1)/usr/bin/libgcrypt-config  
ln -sf $(STAGING_DIR)/usr/bin/libgcrypt-config $(2)/bin/  
endef  
 
define Package/libgcrypt/install  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgcrypt.so.* $(1)/usr/lib/  
endef  
 
$(eval $(call BuildPackage,libgcrypt))  
 
file:a/libs/libosip2/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:=libosip2  
PKG_VERSION:=3.5.0  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz  
PKG_SOURCE_URL:=@GNU/osip  
PKG_MD5SUM:=7691546f6b3349d10007fc1aaff0f4e0  
 
PKG_FIXUP:=autoreconf  
PKG_INSTALL:=1  
PKG_BUILD_PARALLEL:=1  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/libosip2  
SECTION:=libs  
CATEGORY:=Libraries  
TITLE:=GNU oSIP library  
URL:=http://www.gnu.org/software/osip/  
DEPENDS:=+libpthread  
endef  
 
define Package/libosip2description  
GNU oSIP library, a Session Initiation Protocol (SIP) implementation.  
endef  
 
TARGET_CFLAGS += $(FPIC)  
 
define Build/Configure  
$(call Build/Configure/Default, \  
--enable-shared \  
--enable-static \  
--disable-debug \  
--disable-trace \  
--enable-pthread \  
--enable-semaphore \  
)  
endef  
 
define Build/InstallDev  
$(INSTALL_DIR) $(1)/usr/include  
$(CP) $(PKG_INSTALL_DIR)/usr/include/osip{,parser}2 $(1)/usr/include/  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libosip{,parser}2.{a,so*} $(1)/usr/lib/  
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libosip2.pc $(1)/usr/lib/pkgconfig/  
endef  
 
define Package/libosip2/install  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libosip{,parser}2.so $(PKG_INSTALL_DIR)/usr/lib/libosip{,parser}2.so.* $(1)/usr/lib/  
endef  
 
$(eval $(call BuildPackage,libosip2))  
 
--- a/Makefile.am  
+++ b/Makefile.am  
@@ -1,3 +1,5 @@  
+ACLOCAL_AMFLAGS = -I scripts  
+  
EXTRA_DIST = README BUGS FEATURES HISTORY autogen.sh libosip2.pc.in  
 
SUBDIRS = include src scripts help platform  
 
file:a/libs/libxml2/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:=libxml2  
PKG_VERSION:=2.9.1  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz  
PKG_SOURCE_URL:=http://gd.tuwien.ac.at/languages/libxml/ \  
http://xmlsoft.org/sources/ \  
ftp://fr.rpmfind.net/pub/libxml/  
PKG_MD5SUM:=9c0cfef285d5c4a5c80d00904ddab380  
 
PKG_LICENSE:=MIT  
PKG_LICENSE_FILES:=COPYING  
 
PKG_FIXUP:=autoreconf  
PKG_INSTALL:=1  
PKG_BUILD_PARALLEL:=1  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/libxml2  
SECTION:=libs  
CATEGORY:=Libraries  
TITLE:=Gnome XML library  
URL:=http://xmlsoft.org/  
DEPENDS:=+libpthread +zlib  
endef  
 
define Package/libxml2/description  
A library for manipulating XML and HTML resources.  
endef  
 
TARGET_CFLAGS += $(FPIC)  
 
CONFIGURE_ARGS += \  
--enable-shared \  
--enable-static \  
--with-c14n \  
--without-catalog \  
--with-debug \  
--without-docbook \  
--with-html \  
--without-ftp \  
--without-http \  
--without-iconv \  
--without-iso8859x \  
--without-legacy \  
--with-output \  
--without-pattern \  
--without-push \  
--without-python \  
--with-reader \  
--without-readline \  
--without-regexps \  
--with-sax1 \  
--with-schemas \  
--with-threads \  
--with-tree \  
--with-valid \  
--with-writer \  
--with-xinclude \  
--with-xpath \  
--with-xptr \  
--with-zlib \  
--without-lzma  
 
define Build/InstallDev  
$(INSTALL_DIR) $(2)/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/xml2-config $(2)/bin/  
$(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(2)/bin/xml2-config  
 
$(INSTALL_DIR) $(1)/usr/include  
$(CP) \  
$(PKG_INSTALL_DIR)/usr/include/libxml2 \  
$(1)/usr/include/  
 
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) \  
$(PKG_INSTALL_DIR)/usr/lib/libxml2.{la,a,so*} \  
$(1)/usr/lib/  
 
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig  
$(INSTALL_DATA) \  
$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libxml-2.0.pc \  
$(1)/usr/lib/pkgconfig/  
 
$(INSTALL_DIR) $(2)/share/aclocal/  
$(INSTALL_DATA) \  
$(PKG_INSTALL_DIR)/usr/share/aclocal/* \  
$(2)/share/aclocal  
endef  
 
define Package/libxml2/install  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) \  
$(PKG_INSTALL_DIR)/usr/lib/libxml2.so.* \  
$(1)/usr/lib/  
endef  
 
 
$(eval $(call BuildPackage,libxml2))  
 
file:a/net/krb5/Makefile (deleted)
include $(TOPDIR)/rules.mk  
 
PKG_NAME:=krb5  
PKG_VERSION:=1.11  
PKG_RELEASE:=1  
 
PKG_SOURCE:=krb5-$(PKG_VERSION)-signed.tar  
PKG_SOURCE_URL:=http://web.mit.edu/kerberos/dist/krb5/$(PKG_VERSION)/  
PKG_MD5SUM:=1a13c53899806c4da99a798a04d25545  
 
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)  
 
PKG_BUILD_PARALLEL:=1  
PKG_INSTALL:=1  
 
include $(INCLUDE_DIR)/package.mk  
 
MAKE_PATH:=src  
 
define Package/krb5/Default  
SECTION:=net  
CATEGORY:=Network  
TITLE:=Kerberos  
URL:=http://web.mit.edu/kerberos/  
MAINTAINER:=W. Michael Petullo <mike@flyn.org>  
endef  
 
define Package/krb5-libs  
SECTION:=net  
CATEGORY:=Network  
TITLE:=Kerberos  
DEPENDS:=+libncurses  
TITLE:=Kerberos 5 Shared Libraries  
URL:=http://web.mit.edu/kerberos/  
MAINTAINER:=W. Michael Petullo <mike@flyn.org>  
endef  
 
define Package/krb5-server  
$(call Package/krb5/Default)  
DEPENDS:=+krb5-libs +libpthread  
TITLE:=Kerberos 5 Server  
endef  
 
define Package/krb5-client  
$(call Package/krb5/Default)  
DEPENDS:=+krb5-libs  
TITLE:=Kerberos 5 Client  
endef  
 
define Package/krb5/description  
Kerberos  
endef  
 
define Build/Prepare  
# Krb5 tarball contains signature and a second tarball  
# containing source code.  
tar xf "$(DL_DIR)/$(PKG_SOURCE)" -C "$(BUILD_DIR)"  
tar xzf "$(BUILD_DIR)/krb5-$(PKG_VERSION).tar.gz" -C "$(BUILD_DIR)"  
patch -p1 -d "$(PKG_BUILD_DIR)" < "$(PATCH_DIR)/001-fix-build-warning.patch"  
endef  
 
CONFIGURE_PATH = ./src  
 
CONFIGURE_VARS += \  
cross_compiling=yes \  
krb5_cv_attr_constructor_destructor=yes,yes \  
ac_cv_func_regcomp=yes \  
ac_cv_printf_positional=yes \  
ac_cv_file__etc_environment=no \  
ac_cv_file__etc_TIMEZONE=no  
 
CONFIGURE_ARGS += \  
--without-tcl \  
--without-libedit \  
--localstatedir=/etc  
 
define Build/InstallDev  
$(INSTALL_DIR) $(1)/usr/include  
$(CP) $(PKG_INSTALL_DIR)/usr/include \  
$(1)/usr/include/krb5  
$(INSTALL_DIR) $(1)/usr  
$(CP) $(PKG_INSTALL_DIR)/usr/lib \  
$(1)/usr  
rm -f $(1)/usr/lib/libcom_err*  
endef  
 
define Package/krb5-libs/install  
$(INSTALL_DIR) $(1)/usr/lib  
$(INSTALL_DIR) $(1)/usr/lib/krb5  
$(INSTALL_DIR) $(1)/usr/lib/krb5/plugins  
$(INSTALL_DIR) $(1)/usr/lib/krb5/plugins/kdb  
$(INSTALL_DIR) $(1)/usr/lib/krb5/plugins/libkrb5  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/krb5/plugins/kdb/db2.so $(1)/usr/lib/krb5/plugins/kdb  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib  
endef  
 
define Package/krb5-client/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/kdestroy $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/kinit $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/klist $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/kpasswd $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ksu $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/kvno $(1)/usr/bin  
$(INSTALL_DIR) $(1)/usr/sbin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/krb5-send-pr $(1)/usr/sbin  
endef  
 
# Removed some server-side software to reduce package size. This should be  
# put in a separate package if needed.  
define Package/krb5-server/install  
$(INSTALL_DIR) $(1)/etc/init.d  
$(INSTALL_BIN) ./files/krb5kdc $(1)/etc/init.d/krb5kdc  
# $(INSTALL_DIR) $(1)/usr/bin  
# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sclient $(1)/usr/bin  
$(INSTALL_DIR) $(1)/usr/sbin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kadmin.local $(1)/usr/sbin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kadmind $(1)/usr/sbin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kdb5_util $(1)/usr/sbin  
# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kprop $(1)/usr/sbin  
# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/kpropd $(1)/usr/sbin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/krb5kdc $(1)/usr/sbin  
# $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/sim_server $(1)/usr/sbin  
endef  
 
$(eval $(call BuildPackage,krb5-libs))  
$(eval $(call BuildPackage,krb5-server))  
$(eval $(call BuildPackage,krb5-client))  
 
file:a/net/krb5/files/krb5kdc (deleted)
#!/bin/sh /etc/rc.common  
# Copyright (C) 2009 OpenWrt.org  
 
START=60  
 
start() {  
mkdir -p /var/tmp  
mkdir -p /etc/krb5kdc  
 
[ -f /etc/krb5kdc/principal ] || ( echo; echo ) | kdb5_util create -s  
 
/usr/sbin/krb5kdc  
/usr/sbin/kadmind  
}  
 
stop() {  
killall krb5kdc 2> /dev/null  
killall kadmind 2> /dev/null  
}  
 
diff -ur krb5-1.11-vanilla/src/lib/krb5/krb/preauth2.c krb5-1.11/src/lib/krb5/krb/preauth2.c  
--- krb5-1.11-vanilla/src/lib/krb5/krb/preauth2.c 2012-12-18 03:47:05.000000000 +0100  
+++ krb5-1.11/src/lib/krb5/krb/preauth2.c 2013-02-18 03:53:20.580840173 +0100  
@@ -956,7 +956,7 @@  
size_t i, h;  
int out_pa_list_size = 0;  
krb5_pa_data **out_pa_list = NULL;  
- krb5_error_code ret, module_ret;  
+ krb5_error_code ret, module_ret = 0;  
krb5_responder_fn responder = opte->opt_private->responder;  
static const int paorder[] = { PA_INFO, PA_REAL };  
 
 
file:a/net/l2tpv3tun/Makefile (deleted)
#  
# Copyright (C) 2009-2010 Thomas Heil <heil@terminal-consulting.de>  
# Copyright (C) 2010-2011 OpenWrt.org  
#  
# This is free software, licensed under the GNU General Public License v2.  
# See /LICENSE for more information.  
 
include $(TOPDIR)/rules.mk  
 
PKG_NAME:=l2tpv3tun  
PKG_VERSION:=0.2  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz  
PKG_SOURCE_URL:=ftp://www.openl2tp.org/releases  
PKG_MD5SUM:=d3b4a9af652cca9f34d3eea4a7ff6041  
 
PKG_INSTALL:=1  
 
include $(INCLUDE_DIR)/kernel.mk  
include $(INCLUDE_DIR)/package.mk  
 
define Package/l2tpv3tun  
SECTION:=net  
CATEGORY:=Network  
DEPENDS:=+libnl-tiny +ip +kmod-l2tp +kmod-l2tp-ip +kmod-l2tp-eth  
TITLE:=Control utility for static L2TP v3 (Pseudowire) tunnels  
MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>  
URL:=http://www.openl2tp.org  
endef  
 
define Package/l2tpv3tun/description  
The l2tpv3tun utility is a command line frontend for configuring static  
L2TP v3 pseudowire tunnels.  
endef  
 
MAKE_FLAGS += \  
CC="$(TARGET_CC)" \  
CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/usr/include/libnl-tiny/" \  
LD="$(TARGET_CC)" \  
LDFLAGS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib/ -lnl-tiny"  
 
define Package/l2tpv3tun/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/l2tpv3tun $(1)/usr/bin/  
$(INSTALL_DIR) $(1)/lib/network  
$(INSTALL_BIN) ./files/l2tp.sh $(1)/lib/network/  
endef  
 
$(eval $(call BuildPackage,l2tpv3tun))  
 
# l2tp.sh - L2TPv3 tunnel backend  
# Copyright (c) 2010 OpenWrt.org  
 
l2tp_next_tunnel_id() {  
local max=0  
local val  
for val in $(  
local l  
l2tpv3tun show tunnel | while read l; do  
case "$l" in  
Tunnel*,*encap*) l="${l#Tunnel }"; echo "${l%%,*}";;  
esac  
done  
); do  
[ "$val" -gt "$max" ] && max="$val"  
done  
echo $((max + 1))  
}  
 
l2tp_next_session_id() {  
local tunnel="$1"  
local max=0  
local val  
for val in $(  
local l  
l2tpv3tun show session${tunnel:+ tunnel_id "$tunnel"} | while read l; do  
case "$l" in  
Session*in*) l="${l#Session }"; echo "${l%% *}";;  
esac  
done  
); do  
[ "$val" -gt "$max" ] && max="$val"  
done  
echo $((max + 1))  
}  
 
l2tp_tunnel_exists() {  
test -n "$(l2tpv3tun show tunnel tunnel_id "$1" 2>/dev/null)"  
}  
 
l2tp_session_exists() {  
test -n "$(l2tpv3tun show session tunnel_id "$1" session_id "$2" 2>/dev/null)"  
}  
 
l2tp_ifname() {  
l2tpv3tun show session tunnel_id "$1" session_id "$2" 2>/dev/null | \  
sed -ne 's/^.*interface name: //p'  
}  
 
l2tp_lock() {  
lock /var/lock/l2tp-setup  
}  
 
l2tp_unlock() {  
lock -u /var/lock/l2tp-setup  
}  
 
l2tp_log() {  
logger -t "ifup-l2tp" "$@"  
}  
 
 
# Hook into scan_interfaces() to synthesize a .device option  
# This is needed for /sbin/ifup to properly dispatch control  
# to setup_interface_l2tp() even if no .ifname is set in  
# the configuration.  
scan_l2tp() {  
local dev  
config_get dev "$1" device  
config_set "$1" device "${dev:+$dev }l2tp-$1"  
}  
 
coldplug_interface_l2tp() {  
setup_interface_l2tp "l2tp-$1" "$1"  
}  
 
setup_interface_l2tp() {  
local iface="$1"  
local cfg="$2"  
local link="l2tp-$cfg"  
 
l2tp_lock  
 
# prevent recursion  
local up="$(uci_get_state network "$cfg" up 0)"  
[ "$up" = 0 ] || {  
l2tp_unlock  
return 0  
}  
 
local tunnel_id  
config_get tunnel_id "$cfg" tunnel_id  
[ -n "$tunnel_id" ] || {  
tunnel_id="$(l2tp_next_tunnel_id)"  
uci_set_state network "$cfg" tunnel_id "$tunnel_id"  
l2tp_log "No tunnel ID specified, assuming $tunnel_id"  
}  
 
local peer_tunnel_id  
config_get peer_tunnel_id "$cfg" peer_tunnel_id  
[ -n "$peer_tunnel_id" ] || {  
peer_tunnel_id="$tunnel_id"  
uci_set_state network "$cfg" peer_tunnel_id "$peer_tunnel_id"  
l2tp_log "No peer tunnel ID specified, assuming $peer_tunnel_id"  
}  
 
local encap  
config_get encap "$cfg" encap udp  
 
local sport dport  
[ "$encap" = udp ] && {  
config_get sport "$cfg" sport 1701  
config_get dport "$cfg" dport 1701  
}  
 
local peeraddr  
config_get peeraddr "$cfg" peeraddr  
[ -z "$peeraddr" ] && config_get peeraddr "$cfg" peer6addr  
 
local localaddr  
case "$peeraddr" in  
*:*) config_get localaddr "$cfg" local6addr ;;  
*) config_get localaddr "$cfg" localaddr ;;  
esac  
 
[ -n "$localaddr" -a -n "$peeraddr" ] || {  
l2tp_log "Missing local or peer address for tunnel $cfg - skipping"  
return 1  
}  
 
(  
while ! l2tp_tunnel_exists "$tunnel_id"; do  
[ -n "$sport" ] && l2tpv3tun show tunnel 2>/dev/null | grep -q "ports: $sport/" && {  
l2tp_log "There already is a tunnel with src port $sport - skipping"  
l2tp_unlock  
return 1  
}  
 
l2tpv3tun add tunnel tunnel_id "$tunnel_id" peer_tunnel_id "$peer_tunnel_id" \  
encap "$encap" local "$localaddr" remote "$peeraddr" \  
${sport:+udp_sport "$sport"} ${dport:+udp_dport "$dport"}  
 
# Wait for tunnel  
sleep 1  
done  
 
 
local session_id  
config_get session_id "$cfg" session_id  
[ -n "$session_id" ] || {  
session_id="$(l2tp_next_session_id "$tunnel_id")"  
uci_set_state network "$cfg" session_id "$session_id"  
l2tp_log "No session ID specified, assuming $session_id"  
}  
 
local peer_session_id  
config_get peer_session_id "$cfg" peer_session_id  
[ -n "$peer_session_id" ] || {  
peer_session_id="$session_id"  
uci_set_state network "$cfg" peer_session_id "$peer_session_id"  
l2tp_log "No peer session ID specified, assuming $peer_session_id"  
}  
 
 
while ! l2tp_session_exists "$tunnel_id" "$session_id"; do  
l2tpv3tun add session ifname "$link" tunnel_id "$tunnel_id" \  
session_id "$session_id" peer_session_id "$peer_session_id"  
 
# Wait for session  
sleep 1  
done  
 
 
local dev  
config_get dev "$cfg" device  
 
local ifn  
config_get ifn "$cfg" ifname  
 
uci_set_state network "$cfg" ifname "${ifn:-$dev}"  
uci_set_state network "$cfg" device "$dev"  
 
local mtu  
config_get mtu "$cfg" mtu 1462  
 
local ttl  
config_get ttl "$cfg" ttl  
 
ip link set mtu "$mtu" ${ttl:+ ttl "$ttl"} dev "$link"  
 
# IP setup inherited from proto static  
prepare_interface "$link" "$cfg"  
setup_interface_static "${ifn:-$dev}" "$cfg"  
 
ip link set up dev "$link"  
 
uci_set_state network "$cfg" up 1  
l2tp_unlock  
) &  
}  
 
stop_interface_l2tp() {  
local cfg="$1"  
local link="l2tp-$cfg"  
 
local tunnel=$(uci_get_state network "$cfg" tunnel_id)  
local session=$(uci_get_state network "$cfg" session_id)  
 
[ -n "$tunnel" ] && [ -n "$session" ] && {  
l2tpv3tun del session tunnel_id "$tunnel" session_id "$session"  
l2tpv3tun del tunnel tunnel_id "$tunnel"  
}  
}  
 
--- a/main.c  
+++ b/main.c  
@@ -560,6 +560,7 @@ static void usage(void)  
fprintf(stderr, " session_id ID peer_session_id ID\n");  
fprintf(stderr, " [ cookie HEXSTR ] [ peer_cookie HEXSTR ]\n");  
fprintf(stderr, " [ offset OFFSET ] [ peer_offset OFFSET ]\n");  
+ fprintf(stderr, " [ ifname IFNAME ]\n");  
fprintf(stderr, " %s del tunnel tunnel_id ID\n", L2TP_CMD_ROOT);  
fprintf(stderr, " %s del session tunnel_id ID session_id ID\n", L2TP_CMD_ROOT);  
fprintf(stderr, " %s show tunnel [ tunnel_id ID ]\n", L2TP_CMD_ROOT);  
@@ -671,6 +672,9 @@ static int parse_args(int argc, char **a  
p->peer_cookie_len = slen / 2;  
if (hex2mem(*argv, p->peer_cookie, p->peer_cookie_len) < 0)  
invarg("cookie must be a hex string\n", *argv);  
+ } else if (strcmp(*argv, "ifname") == 0) {  
+ NEXT_ARG();  
+ p->ifname = *argv;  
} else if (strcmp(*argv, "tunnel") == 0) {  
p->tunnel = 1;  
} else if (strcmp(*argv, "session") == 0) {  
 
--- a/main.c  
+++ b/main.c  
@@ -100,7 +100,7 @@ struct l2tp_data {  
};  
 
/* netlink socket */  
-static struct nl_handle *nl_sock;  
+static struct nl_sock *nl_sock;  
static int nl_family;  
 
/*****************************************************************************  
@@ -788,9 +788,9 @@ static int do_show(int argc, char **argv  
 
int do_ipl2tp(int argc, char **argv)  
{  
- nl_sock = nl_handle_alloc();  
+ nl_sock = nl_socket_alloc();  
if (!nl_sock) {  
- perror("nl_handle_alloc");  
+ perror("nl_socket_alloc");  
return 1;  
}  
 
 
file:a/utils/cmdpad/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:=cmdpad  
PKG_VERSION:=0.0.3  
PKG_RELEASE:=3  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz  
PKG_SOURCE_URL:=@SF/cmdpad  
PKG_MD5SUM:=6633b2354b7f23f9cd8e2bfb6e735965  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/cmdpad  
SECTION:=utils  
CATEGORY:=Utilities  
TITLE:=execute commands when a key is pressed, released or hold down  
URL:=http://cmdpad.sourceforge.net/index.php  
endef  
 
CONFIGURE_ARGS += \  
--enable-static \  
--enable-shared  
 
define Package/cmdpad/description  
cmdpad - execute commands when a key is pressed, released or hold down.  
Should be started from /etc/rc or /etc/rc.local. To run it as deamon you  
need to start it with '&'. All logs are printed to standard out and standard  
error (to write the log to disk use cmdpad > /var/log/cmdpad). Cmdpad  
searches for /etc/cmdpad.conf and load the key bindings. Then wait for  
key event and check each command to see if it should be run.  
endef  
 
MAKE_FLAGS += \  
$(TARGET_CONFIGURE_OPTS) \  
$(1)  
 
define Package/cmdpad/install  
$(INSTALL_DIR) $(1)/usr/sbin  
$(INSTALL_DIR) $(1)/etc  
$(INSTALL_DIR) $(1)/etc/init.d  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/cmdpad $(1)/usr/sbin/  
$(INSTALL_CONF) $(PKG_BUILD_DIR)/src/cmdpad.conf $(1)/etc/  
$(INSTALL_BIN) ./files/cmdpad.init $(1)/etc/init.d/cmdpad  
endef  
 
define Package/cmdpad/conffiles  
/etc/cmdpad.conf  
endef  
 
$(eval $(call BuildPackage,cmdpad))  
 
#!/bin/sh /etc/rc.common  
# Copyright (C) 2007-2011 OpenWrt.org  
 
START=93  
 
SSD_DAEMONIZE=1  
 
start() {  
service_start /usr/sbin/cmdpad --quiet  
}  
 
stop() {  
service_stop /usr/sbin/cmdpad  
}  
 
--- cmdpad-0.0.3/src/Makefile.orig 2008-01-05 23:29:44.000000000 +0100  
+++ cmdpad-0.0.3/src/Makefile 2008-01-05 23:30:23.000000000 +0100  
@@ -5,25 +5,25 @@  
TOP=..  
include $(TOP)/Makefile.common  
 
-INCLUDE= -I/usr/include  
-LIBS= -L/usr/lib -lc  
-CFLAGS= -g3  
-LDFLAGS= -Xlinker -Map -Xlinker $(PROG).map #,--stack,16Mb  
+#INCLUDE= -I/usr/include  
+#LIBS= -L/usr/lib -lc  
+#CFLAGS= -g3  
+#LDFLAGS= -Xlinker -Map -Xlinker $(PROG).map #,--stack,16Mb  
OBJ= main.o command.o parse.o  
SCRIPTS= *.sh  
 
build: $(PROG)  
 
$(PROG): $(OBJ)  
- gcc -o $(PROG) $(OBJ) $(LIBS) $(LDFLAGS)  
+ $(GCC) -o $(PROG) $(OBJ) $(LIBS) $(LDFLAGS)  
@echo "==============================================="  
@echo "edit $(PROG).conf file to set default preferences"  
 
%.o : %.c  
- gcc $(CFLAGS) -D__COPYLEFT__='$(COPYLEFT)' -c $<  
+ $(GCC) $(CFLAGS) -D__COPYLEFT__='$(COPYLEFT)' -c $<  
 
%.o : %.c %.h  
- gcc $(CFLAGS) -D__COPYLEFT__='$(COPYLEFT)' -c $<  
+ $(GCC) $(CFLAGS) -D__COPYLEFT__='$(COPYLEFT)' -c $<  
 
distclean clean:  
rm $(PROG) *~ *.o -vf  
 
--- cmdpad-0.0.3/src/parse.orig 2008-01-05 23:55:32.000000000 +0100  
+++ cmdpad-0.0.3/src/parse.c 2008-01-05 23:56:07.000000000 +0100  
@@ -289,6 +289,12 @@  
pchEventDevice = strdup( pchValue) ;  
return 1 ;  
}  
+ if( (pchValue != NULL) &&  
+ (strncmp( pchValue, "/dev/event", 6) == 0) )  
+ {  
+ pchEventDevice = strdup( pchValue) ;  
+ return 1 ;  
+ }  
printf( "Option 'device' expects a /dev/input/eventX argument\n");  
return -1 ;  
}  
 
--- cmdpad-0.0.3/src/command.c.orig 2003-03-29 17:54:12.000000000 +0100  
+++ cmdpad-0.0.3/src/command.c 2008-01-12 05:41:22.000000000 +0100  
@@ -68,6 +68,7 @@  
 
void exec( char * command)  
{  
+ int status;  
if( fork() == 0) {  
char ** tmp ;  
int i ;  
@@ -88,6 +89,7 @@  
perror( "ERROR: execv") ;  
exit( 1) ;  
} // end if( fork())  
+ wait(&status);  
}  
 
int getNumberofEntry()  
 
--- a/src/parse.c  
+++ b/src/parse.c  
@@ -125,7 +125,7 @@ int readCommandLine( int argc, char *arg  
 
d2printf( "command line command %s found\n", pchCommandTranslations[ iCmd+1]) ;  
 
- vsnprintf( achCommand, sizeof( achCommand),  
+ snprintf( achCommand, sizeof( achCommand),  
pchCommandTranslations[ iCmd+1],  
&argv[ i+1]) ;  
 
 
#  
# This is free software, licensed under the GNU General Public License v2.  
# See /LICENSE for more information.  
#  
 
include $(TOPDIR)/rules.mk  
 
PKG_NAME:=triggerhappy  
PKG_VERSION:=0.3.4  
PKG_REV:=cb3ed9ba849ff5926fa47fd1ae042fa0083edaf5  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz  
PKG_SOURCE_URL:=git://github.com/wertarbyte/triggerhappy  
PKG_SOURCE_PROTO:=git  
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)  
PKG_SOURCE_VERSION:=$(PKG_REV)  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/triggerhappy  
SECTION:=utils  
CATEGORY:=Utilities  
TITLE:=handle input events and run configured programs  
URL:=http://github.com/wertarbyte/triggerhappy  
endef  
 
define Package/triggerhappy/description  
triggerhappy - handle input events and run configured programs  
The daemon thd can handle hotplugged input devices and is configured through  
simple configuration files in /etc/triggerhappy/triggers.d/.  
endef  
 
MAKE_FLAGS += \  
$(TARGET_CONFIGURE_OPTS) \  
$(1)  
 
define Package/triggerhappy/install  
$(INSTALL_DIR) $(1)/usr/sbin  
$(INSTALL_DIR) $(1)/etc  
$(INSTALL_DIR) $(1)/etc/init.d  
$(INSTALL_DIR) $(1)/etc/triggerhappy  
$(INSTALL_DIR) $(1)/etc/triggerhappy/triggers.d/  
$(INSTALL_DIR) $(1)/etc/hotplug.d/input/  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/thd $(1)/usr/sbin  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/th-cmd $(1)/usr/sbin  
$(INSTALL_BIN) ./files/triggerhappy.init $(1)/etc/init.d/triggerhappy  
$(INSTALL_BIN) ./files/triggerhappy.hotplug $(1)/etc/hotplug.d/input/10-triggerhappy  
$(INSTALL_BIN) ./files/triggerhappy-example.conf $(1)/etc/triggerhappy/triggers.d/example.conf  
endef  
 
$(eval $(call BuildPackage,triggerhappy))  
 
# This is an example configuration for the triggerhappy daemon (thd)  
# please note that every file to be processed must end in ".conf"  
#  
# To view a list of supported event codes, use "thd --listevents" or  
# "thd --dump /dev/input/event*"  
#  
# Format:  
# <eventcode> <value> <command>  
#  
# values for key events are 1 (pressed), 0 (released) or 2 (held)  
#  
## control an mpd instance  
# KEY_NEXTSONG 1 /usr/bin/mpc next  
# KEY_PREVSONG 1 /usr/bin/mpc prev  
 
#!/bin/sh  
THD_SOCKET=/tmp/triggerhappy.socket  
[ -S "$THD_SOCKET" ] || exit  
 
case "$ACTION" in  
add)  
DEVICE="/dev/$DEVNAME"  
[ -c "$DEVICE" ] || exit  
# offer device to triggerhappy daemon  
/usr/sbin/th-cmd --socket "$THD_SOCKET" --add "$DEVICE"  
;;  
remove)  
# nothing to do  
;;  
esac  
 
#!/bin/sh /etc/rc.common  
START=93  
 
start() {  
/usr/sbin/thd --socket /tmp/triggerhappy.socket --triggers /etc/triggerhappy/triggers.d/ --daemon /dev/input/event*  
}  
 
stop() {  
/usr/sbin/th-cmd --socket /tmp/triggerhappy.socket --quit  
}  
 
--- a/Makefile  
+++ b/Makefile  
@@ -10,7 +10,7 @@ THCMD_COMPS := th-cmd cmdsocket  
 
MAKEDEPEND = $(CC) -M -MG $(CPPFLAGS) -o $*.d $<  
 
-LINUX_INPUT_H := $(shell echo '\#include <linux/input.h>' | $(CC) $(CPPFLAGS) -M -E - | awk 'NR==1 {print $$2}')  
+LINUX_INPUT_H := $(shell for i in `echo | $(CC) $(CPPFLAGS) -M -E -include 'linux/input.h' -`; do test -f "$$i" && echo "$$i" && break; done)  
 
all: thd th-cmd man  
 
 
file:a/utils/zile/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:=zile  
PKG_VERSION:=2.3.24  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz  
PKG_SOURCE_URL:=@GNU/zile  
PKG_MD5SUM:=fe77d801ba69e0fb9b4914a04b9ff506  
 
PKG_INSTALL:=1  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/zile  
SECTION:=utils  
CATEGORY:=Utilities  
DEPENDS:=+libncursesw  
TITLE:=very small emacs-like editor  
URL:=http://www.gnu.org/software/zile/  
SUBMENU:=Editors  
endef  
 
define Package/zile/description  
Zile is a small Emacs clone. Zile is a customizable, self-documenting  
real-time display editor. Zile was written to be as similar as possible  
to Emacs; every Emacs user should feel at home with Zile.  
endef  
 
CONFIGURE_VARS += \  
gl_cv_func_getopt_gnu=yes  
 
define Package/zile/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$(PKG_NAME) $(1)/usr/bin/  
endef  
 
$(eval $(call BuildPackage,zile))  
 
comments