Merge pull request #4471 from lynxis/travis
authornbd168 <nbd@nbd.name>
Sun, 16 Jul 2017 16:07:41 +0000 (18:07 +0200)
committerGitHub <noreply@github.com>
Sun, 16 Jul 2017 16:07:41 +0000 (18:07 +0200)
allow .travis.yml to run `make download check` on every Pull Request

218 files changed:
admin/monit/Makefile
admin/monit/patches/001-fix-default-piddir.patch
admin/zabbix/Makefile
admin/zabbix/files/mac80211
ipv6/aiccu/Makefile [deleted file]
ipv6/aiccu/files/aiccu.hotplug [deleted file]
ipv6/aiccu/files/aiccu.sh [deleted file]
ipv6/aiccu/patches/100-cross_compile.patch [deleted file]
ipv6/aiccu/patches/200-add_dn_skipname.patch [deleted file]
ipv6/aiccu/patches/300-resolver-uclibc.patch [deleted file]
ipv6/aiccu/patches/400-musl-compat.patch [deleted file]
ipv6/aiccu/patches/500-gnutls_3.4.patch [deleted file]
kernel/mtd-rw/Makefile
lang/lua-penlight/Makefile
lang/luai2c/Makefile
lang/php7/Makefile
lang/python/Flask/Makefile [new file with mode: 0644]
lang/python/Jinja2/Makefile [new file with mode: 0644]
lang/python/MarkupSafe/Makefile [new file with mode: 0644]
lang/python/Werkzeug/Makefile [new file with mode: 0644]
lang/python/click/Makefile [new file with mode: 0644]
lang/python/itsdangerous/Makefile [new file with mode: 0644]
lang/python/pyodbc/Makefile [new file with mode: 0644]
lang/python/pyodbc/patches/100-connection-assume-SQL_C_WCHAR-is-native-endian.patch [new file with mode: 0644]
lang/python/python-gnupg/Makefile [new file with mode: 0644]
lang/python/python-lxml/Makefile
lang/python/python-six/Makefile
lang/python/python-yaml/Makefile
lang/python/python/Makefile
lang/python/python/files/python-package-install.sh
lang/python/python/files/python-package-pip.mk
lang/python/python/files/python-package-setuptools.mk
lang/python/python/files/python-package.mk
lang/python/python3/Makefile
lang/python/python3/files/python3-package-install.sh
lang/python/python3/files/python3-package-pip.mk
lang/python/python3/files/python3-package-setuptools.mk
lang/python/python3/files/python3-package.mk
lang/python/python3/patches/008-fix-distutils-path-creation.patch [new file with mode: 0644]
libs/confuse/Makefile
libs/glib2/Makefile
libs/glib2/patches/001-automake-compat.patch
libs/glpk/Makefile
libs/gnutls/Makefile
libs/icu/Makefile
libs/icu/patches/002-Disable-LDFLAGSICUDT-for-Linux.patch [new file with mode: 0644]
libs/libevdev/Makefile
libs/libextractor/Makefile
libs/libextractor/patches/001-backport-support-for-giflib-5-1.patch [deleted file]
libs/libextractor/patches/002-ffmpeg2.9_api_backport.patch [deleted file]
libs/libgphoto2/Makefile
libs/libiio/Makefile [new file with mode: 0644]
libs/libinput/Makefile
libs/libinput/patches/001-no-locale.patch
libs/libinput/patches/002-static_assert.patch
libs/libmicrohttpd/Makefile
libs/libnet-1.2.x/Makefile
libs/libnopoll/Makefile
libs/libnopoll/patches/001-param_h_rename.patch [new file with mode: 0644]
libs/libowfat/Makefile
libs/libowfat/patches/001-fixbuild.patch
libs/libp11/Makefile
libs/libp11/patches/001-fix-install.patch
libs/libplist/Makefile
libs/libssh/Makefile
libs/libtasn1/Makefile
libs/libudev-fbsd/Makefile [new file with mode: 0644]
libs/libudev-fbsd/patches/001-fix-unused.patch [new file with mode: 0644]
libs/libudev-fbsd/patches/002-replace-nitems.patch [new file with mode: 0644]
libs/libudev-fbsd/patches/003-add-pkg-config-description.patch [new file with mode: 0644]
libs/libudev-fbsd/patches/100-add-stub-udev_device_get_driver.patch [new file with mode: 0644]
libs/libudev-fbsd/patches/101-add-stub-udev_device_new_from_subsystem_sysname.patch [new file with mode: 0644]
libs/libudev-fbsd/patches/102-add-stub-udev_enumerate_add_nomatch_sysattr.patch [new file with mode: 0644]
libs/libx264/Makefile
libs/musl-fts/Makefile
libs/openldap/Makefile
libs/opus/Makefile
libs/postgresql/Makefile
libs/postgresql/files/postgresql.sh
libs/postgresql/patches/001-configure_fixes.patch
libs/postgresql/patches/050-build-contrib.patch [new file with mode: 0644]
libs/postgresql/patches/800-busybox-default-pager.patch
libs/postgresql/patches/900-pg_ctl-setuid.patch
libs/psqlodbc/Makefile [new file with mode: 0644]
libs/rxtx/Makefile [changed mode: 0755->0644]
libs/sqlite3/Makefile
libs/unixodbc/Makefile
libs/unixodbc/files/odbc.init [new file with mode: 0644]
libs/unixodbc/patches/100-cross-compile-odbc-config.patch [new file with mode: 0644]
mail/dovecot/Makefile
mail/msmtp/Makefile
mail/pigeonhole/Makefile [new file with mode: 0644]
multimedia/ffmpeg/Makefile
multimedia/minidlna/Makefile
multimedia/minidlna/patches/001-group-videos-by-directory-for-panasonic-tvs.patch
multimedia/minidlna/patches/002-dont-build-po-files.patch
net/adblock/Makefile
net/adblock/files/README.md
net/adblock/files/adblock.sh
net/beanstalkd/Makefile [new file with mode: 0644]
net/beanstalkd/files/beanstalkd.init [new file with mode: 0644]
net/beanstalkd/patches/900-makefile.patch [new file with mode: 0644]
net/beanstalkd/patches/901-fix-headers.patch [new file with mode: 0644]
net/beanstalkd/patches/902-replace-posix_fallocate.patch [new file with mode: 0644]
net/cgi-io/Makefile
net/cgi-io/src/CMakeLists.txt
net/cgi-io/src/main.c
net/clamav/Makefile
net/ddns-scripts/Makefile
net/ddns-scripts/files/services
net/fping/Makefile
net/freeradius2/Config.in [deleted file]
net/freeradius2/Makefile [deleted file]
net/freeradius2/files/radiusd.init [deleted file]
net/freeradius2/patches/001-fix-makefile.patch [deleted file]
net/freeradius2/patches/002-config.patch [deleted file]
net/freeradius2/patches/004-ldap_configure.patch [deleted file]
net/freeradius2/patches/008-honor_ccpflags.patch [deleted file]
net/freeradius2/patches/010-disbale-openssl-check.patch [deleted file]
net/git/Makefile
net/gnunet/Makefile
net/gnunet/files/gnunet.init
net/gnurl/Makefile
net/gnurl/patches/200-no_docs_tests.patch [deleted file]
net/inadyn/Makefile
net/irssi/Makefile
net/lighttpd/Makefile
net/lighttpd/files/lighttpd.init
net/lighttpd/patches/0001-mod_cgi-RFC3875-CGI-local-redir-strict-adherence-210.patch [new file with mode: 0644]
net/lighttpd/patches/0001-mod_cgi-fix-CGI-local-redir-w-url.rewrite-once-fixes.patch [deleted file]
net/lighttpd/patches/0002-mod_cgi-fix-CGI-local-redir-w-url.rewrite-once-fixes.patch [new file with mode: 0644]
net/lighttpd/patches/0003-mod_cgi-status-200-OK-if-no-hdrs-deprecated-2786.patch [new file with mode: 0644]
net/lighttpd/patches/0004-mod_cgi-cgi.local-redir-enable-disable-2108-2793.patch [new file with mode: 0644]
net/mosquitto/Makefile
net/mwan3/Makefile
net/mwan3/files/etc/hotplug.d/iface/15-mwan3
net/mwan3/files/lib/mwan3/mwan3.sh
net/net-snmp/Makefile
net/net-snmp/files/snmpd.conf
net/net-snmp/files/snmpd.init
net/netdiscover/Makefile
net/netopeer2/Makefile
net/nmap/Makefile
net/openconnect/Makefile
net/openconnect/files/openconnect-wrapper
net/openconnect/files/openconnect.sh
net/openssh/Makefile
net/opentracker/Makefile
net/openvswitch/Makefile
net/openvswitch/patches/0003-override-pythonpath-via-make-vars.patch [new file with mode: 0644]
net/reaver/Makefile
net/reaver/patches/0102-wps-cflags.patch [new file with mode: 0644]
net/shadowsocks-client/Makefile
net/shadowsocks-libev/Makefile
net/shadowsocks-libev/README.md [new file with mode: 0644]
net/shadowsocks-libev/files/firewall.include [deleted file]
net/shadowsocks-libev/files/firewall.ss-rules [new file with mode: 0644]
net/shadowsocks-libev/files/shadowsocks-libev.config
net/shadowsocks-libev/files/shadowsocks-libev.init
net/shadowsocks-libev/files/ss-rules
net/shadowsocks-libev/files/ss-rules.defaults [new file with mode: 0755]
net/shadowsocks-libev/patches/0001-decouple-use_syslog-from-pid_flags.patch [new file with mode: 0644]
net/sipgrep/Makefile
net/sngrep/Makefile
net/socat/Makefile
net/subversion/Makefile
net/sysrepo/Makefile
net/tor/Makefile
net/travelmate/Makefile
net/travelmate/files/README.md
net/travelmate/files/travelmate.init
net/travelmate/files/travelmate.sh
net/unbound/Makefile
net/unbound/files/dnsmasq.sh
net/unbound/files/unbound.sh
net/unbound/patches/001-conf.patch
net/usbip/Makefile
net/wireguard/Makefile
net/wireguard/files/wireguard.sh
net/zerotier/Makefile
net/zerotier/patches/0003-gcc48.patch [new file with mode: 0644]
sound/fdk-aac/Makefile
sound/lame/Makefile
sound/portaudio/Makefile
sound/shairport/Makefile [deleted file]
sound/shairport/files/shairport.config [deleted file]
sound/shairport/files/shairport.init [deleted file]
sound/shairport/patches/001-disable_pulseaudio.patch [deleted file]
sound/squeezelite/Makefile
utils/acpica-unix/Makefile [new file with mode: 0644]
utils/btrfs-progs/Makefile
utils/coreutils/Makefile
utils/cryptodev-linux/Makefile
utils/domoticz/Makefile
utils/domoticz/files/domoticz.init
utils/eudev/Config.in [deleted file]
utils/eudev/Makefile [deleted file]
utils/eudev/patches/0001-mtd_probe-uses-stdint_h.patch [deleted file]
utils/flent-tools/Makefile
utils/gammu/Makefile
utils/gawk/Makefile [new file with mode: 0644]
utils/jq/Makefile
utils/lcdproc/Makefile
utils/mbtools/Makefile
utils/opensc/Makefile
utils/openzwave/Makefile
utils/pcsc-lite/Makefile
utils/pcsc-tools/Makefile [new file with mode: 0644]
utils/pcsc-tools/patches/001-disable-atr.patch [new file with mode: 0644]
utils/rng-tools/Makefile
utils/rng-tools/patches/100-message-no-newline.patch [new file with mode: 0644]
utils/screen/Makefile
utils/screen/patches/100-cross_compile_fix.patch
utils/screen/patches/110-do_not_add_srcdir_to_include_path.patch
utils/stoken/Makefile
utils/triggerhappy/Makefile
utils/ttyd/Makefile
utils/uvcdynctrl/Makefile

index ac2fcecc5cea3d83ab1a3331d4b5c0d03e092487..4246512c407c5de5634ac3c82c06f2773fd5666e 100644 (file)
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=monit
-PKG_VERSION:=5.20.0
+PKG_VERSION:=5.23.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_HASH:=ebac395ec50c1ae64d568db1260bc049d0e0e624c00e79d7b1b9a59c2679b98d
+PKG_HASH:=dd39fe3a379c02402ba9c44c201b3ba925ebdc8f04225918820607b6c5d56713
 PKG_SOURCE_URL:=http://mmonit.com/monit/dist
 
 PKG_LICENSE:=AGPL-3.0
index 3d6059df706b0c817113387ce5c4a12655944391..6382f6f40af7fcf0359d3e88c9e08425c622cfdc 100644 (file)
@@ -1,6 +1,6 @@
 --- a/configure
 +++ b/configure
-@@ -13839,14 +13839,7 @@ fi
+@@ -13852,14 +13852,7 @@ fi
  # Find the right directory to put the root-mode PID file in
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking pid file location" >&5
  $as_echo_n "checking pid file location... " >&6; }
index dcc41b9e506c06fa80073802cc62a5df5a6cec2f..c681984753a6ab7c83f9f6536d355728473c4215 100644 (file)
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=zabbix
-PKG_VERSION:=3.2.4
+PKG_VERSION:=3.2.6
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_HASH:=22cf19ef5a9478df2281bf518e8be38adc7dbc508bf63111e02388ca7aabeef4
+PKG_HASH:=98f025b39515b196552b8a23e2fe20a8180b5e99e613ce7378725a46ed8b62d6
 PKG_SOURCE_URL:=@SF/zabbix
 
 PKG_LICENSE:=GPL-2.0
index afa50aeba5e9d2ecd594fa1ba023b250a0e62107..a567f85ce2864f8f0684263ba44594136cda5129 100644 (file)
@@ -15,13 +15,15 @@ UserParameter=mac80211.ACKFailureCount[*],zabbix_helper_mac80211 $1 dot11ACKFail
 UserParameter=mac80211.FCSErrorCount[*],zabbix_helper_mac80211 $1 dot11FCSErrorCount
 UserParameter=mac80211.RTSFailureCount[*],zabbix_helper_mac80211 $1 dot11RTSFailureCount
 UserParameter=mac80211.RTSSuccessCount[*],zabbix_helper_mac80211 $1 dot11RTSSuccessCount
-UserParameter=mac80211.FailedCount[*],zabbix_helper_mac80211 $1 failed_count
-UserParameter=mac80211.FrameDuplicateCount[*],zabbix_helper_mac80211 $1 frame_duplicate_count
-UserParameter=mac80211.MulticastReceivedFrameCount[*],zabbix_helper_mac80211 $1 multicast_received_frame_count
-UserParameter=mac80211.MulticastTransmittedFrameCount[*],zabbix_helper_mac80211 $1 multicast_transmitted_frame_count
-UserParameter=mac80211.MultipleRetryCount[*],zabbix_helper_mac80211 $1 multiple_retry_count
-UserParameter=mac80211.ReceivedFragmentCount[*],zabbix_helper_mac80211 $1 received_fragment_count
-UserParameter=mac80211.RetryCount[*],zabbix_helper_mac80211 $1 retry_count
-UserParameter=mac80211.TransmittedFragmentCount[*],zabbix_helper_mac80211 $1 transmitted_fragment_count
-UserParameter=mac80211.TransmittedFrameCount[*],zabbix_helper_mac80211 $1 transmitted_frame_count
+
+# hidden behind MAC80211_DEBUG_COUNTERS
+UserParameter=mac80211.FailedCount[*],zabbix_helper_mac80211 $1 dot11FailedCount
+UserParameter=mac80211.FrameDuplicateCount[*],zabbix_helper_mac80211 $1 dot11FrameDuplicateCount
+UserParameter=mac80211.MulticastReceivedFrameCount[*],zabbix_helper_mac80211 $1 dot11MulticastReceivedFrameCount
+UserParameter=mac80211.MulticastTransmittedFrameCount[*],zabbix_helper_mac80211 $1 dot11MulticastTransmittedFrameCount
+UserParameter=mac80211.MultipleRetryCount[*],zabbix_helper_mac80211 $1 dot11MultipleRetryCount
+UserParameter=mac80211.ReceivedFragmentCount[*],zabbix_helper_mac80211 $1 dot11ReceivedFragmentCount
+UserParameter=mac80211.RetryCount[*],zabbix_helper_mac80211 $1 dot11RetryCount
+UserParameter=mac80211.TransmittedFragmentCount[*],zabbix_helper_mac80211 $1 dot11TransmittedFragmentCount
+UserParameter=mac80211.TransmittedFrameCount[*],zabbix_helper_mac80211 $1 dot11TransmittedFrameCount
 
diff --git a/ipv6/aiccu/Makefile b/ipv6/aiccu/Makefile
deleted file mode 100644 (file)
index 4b81e10..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-#
-# Copyright (C) 2006-2015 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:=aiccu
-PKG_VERSION:=20070115
-PKG_RELEASE:=16
-
-PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://www.sixxs.net/archive/sixxs/aiccu/unix
-PKG_MD5SUM:=c9bcc83644ed788e22a7c3f3d4021350
-PKG_LICENSE:=BSD-3-Clause
-PKG_LICENSE_FILES:=doc/LICENSE
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/aiccu/Default
-  TITLE:=SixXS IPv6 Connectivity Client ($(1))
-  SECTION:=net
-  CATEGORY:=Network
-  VARIANT:=$(2)
-  DEPENDS:=+libpthread +ip +kmod-sit +kmod-tun $(3)
-  URL:=http://www.sixxs.net/tools/aiccu/
-  MAINTAINER:=Ondrej Caletka <ondrej@caletka.cz>
-endef
-
-Package/aiccu=$(call Package/aiccu/Default,without GNUTLS support,default)
-Package/aiccu-gnutls=$(call Package/aiccu/Default,with GNUTLS support,gnutls,+libgnutls)
-
-define Build/Configure
-       $(SED) "s,strip,/bin/true," $(PKG_BUILD_DIR)/unix-console/Makefile
-endef
-
-ifeq ($(BUILD_VARIANT),gnutls)
-CONFIG_AICCU_GNUTLS:=y
-endif
-
-define Build/Compile
-       $(MAKE) -C $(PKG_BUILD_DIR) \
-               CC="$(TARGET_CC)" OS_NAME="Linux" OS_VERSION="$(LINUX_VERSION)" \
-               EXTRA_CFLAGS="$(TARGET_CFLAGS)" \
-               EXTRA_LDFLAGS="$(TARGET_LDFLAGS) -pthread" \
-               $(if $(CONFIG_AICCU_GNUTLS),HAVE_GNUTLS=1) \
-               DEBUG=0
-endef
-
-define Package/aiccu/conffiles
-/etc/config/aiccu
-endef
-
-Package/aiccu-gnutls/conffiles=$(call Package/aiccu/conffiles)
-
-define Package/aiccu/install
-       $(INSTALL_DIR) $(1)/usr/sbin $(1)/lib/netifd/proto $(1)/etc/hotplug.d/ntp
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/unix-console/$(PKG_NAME) $(1)/usr/sbin/
-       $(INSTALL_BIN) ./files/aiccu.sh $(1)/lib/netifd/proto/aiccu.sh
-       $(INSTALL_DATA) ./files/aiccu.hotplug $(1)/etc/hotplug.d/ntp/10-aiccu
-endef
-
-Package/aiccu-gnutls/install=$(call Package/aiccu/install,$(1))
-
-$(eval $(call BuildPackage,aiccu))
-$(eval $(call BuildPackage,aiccu-gnutls))
diff --git a/ipv6/aiccu/files/aiccu.hotplug b/ipv6/aiccu/files/aiccu.hotplug
deleted file mode 100644 (file)
index b521371..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-NTPSTRATUMFILE="/var/run/aiccu_ntp_stratum"
-echo $stratum > "$NTPSTRATUMFILE"
diff --git a/ipv6/aiccu/files/aiccu.sh b/ipv6/aiccu/files/aiccu.sh
deleted file mode 100755 (executable)
index 584574b..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/bin/sh
-# aiccu.sh - AICCU proto
-# Copyright (c) 2014 OpenWrt.org
-
-[ -n "$INCLUDE_ONLY" ] || {
-       . /lib/functions.sh
-       . /lib/functions/network.sh
-       . ../netifd-proto.sh
-       init_proto "$@"
-}
-
-proto_aiccu_setup() {
-       local cfg="$1"
-       local iface="$2"
-       local link="aiccu-$cfg"
-
-       local username password protocol server ip6prefix tunnelid requiretls defaultroute nat heartbeat verbose sourcerouting ip6addr ntpsynctimeout
-       json_get_vars username password protocol server ip6prefix tunnelid requiretls defaultroute nat heartbeat verbose sourcerouting ip6addr ntpsynctimeout
-
-       [ -z "$username" -o -z "$password" ] && {
-               proto_notify_error "$cfg" "MISSING_USERNAME_OR_PASSWORD"
-               proto_block_restart "$cfg"
-               return
-       }
-
-       ( proto_add_host_dependency "$cfg" 0.0.0.0 )
-
-       CFGFILE="/var/etc/${link}.conf"
-       PIDFILE="/var/run/${link}.pid"
-       NTPSTRATUMFILE="/var/run/aiccu_ntp_stratum"
-       mkdir -p /var/run /var/etc
-
-       echo "username $username" > "$CFGFILE"
-       echo "password $password" >> "$CFGFILE"
-       echo "ipv6_interface $link" >> "$CFGFILE"
-       [ -n "$server" ] && echo "server $server" >> "$CFGFILE"
-       [ -n "$protocol" ] && echo "protocol $protocol" >> "$CFGFILE"
-       [ -n "$tunnelid" ] && echo "tunnel_id $tunnelid" >> "$CFGFILE"
-       [ "$requiretls" == 1 ] && echo "requiretls true" >> "$CFGFILE"
-       [ "$nat" == 1 ] && echo "behindnat true" >> "$CFGFILE"
-       [ "$heartbeat" == 1 ] && echo "makebeats true" >> "$CFGFILE"
-       [ "$verbose" == 1 ] && echo "verbose true" >> "$CFGFILE"
-       echo "defaultroute false" >> "$CFGFILE"
-       echo "daemonize true" >> "$CFGFILE"
-       echo "pidfile $PIDFILE" >> "$CFGFILE"
-
-       # By default, wait at most 90 seconds for NTP sync
-       [ -z "$ntpsynctimeout" ] && ntpsynctimeout=90
-       for i in $(seq 1 $ntpsynctimeout); do
-               [ -f "$NTPSTRATUMFILE" ] && \
-               [ "$(cat $NTPSTRATUMFILE)" -lt 16 ] && \
-               echo "NTP synced, stratum $(cat $NTPSTRATUMFILE)" && break
-               [ "$(( $i % 10 ))" -eq 0 ] && echo "Waiting ${i} secs for NTP sync..."
-               sleep 1
-       done
-
-       aiccu start "$CFGFILE"
-
-       [ "$?" -ne 0 ] && {
-               proto_notify_error "$cfg" "AICCU_FAILED_SEE_LOG"
-               proto_block_restart "$cfg"
-               return
-       }
-
-       proto_init_update "$link" 1
-
-       local source=""
-       [ "$sourcerouting" != "0" ] && source="::/128"
-       [ "$defaultroute" != "0" ] && proto_add_ipv6_route "::" 0 "" "" "" "$source"
-
-       [ -n "$ip6addr" ] && {
-               local local6="${ip6addr%%/*}"
-               local mask6="${ip6addr##*/}"
-               [[ "$local6" = "$mask6" ]] && mask6=
-               proto_add_ipv6_address "$local6" "$mask6"
-               [ "$defaultroute" != "0" -a "$sourcerouting" != "0" ] && proto_add_ipv6_route "::" 0 "" "" "" "$local6/$mask6"
-       }
-
-       [ -n "$ip6prefix" ] && {
-               proto_add_ipv6_prefix "$ip6prefix"
-               [ "$defaultroute" != "0" -a "$sourcerouting" != "0" ] && proto_add_ipv6_route "::" 0 "" "" "" "$ip6prefix"
-       }
-
-       proto_send_update "$cfg"
-
-}
-
-proto_aiccu_teardown() {
-       local cfg="$1"
-       local link="aiccu-$cfg"
-       CFGFILE="/var/etc/${link}.conf"
-       PIDFILE="/var/run/${link}.pid"
-       [ -f "$CFGFILE" -a -f "$PIDFILE" ] && {
-               local pid="$(cat "$PIDFILE")"
-               [ -d /proc/$pid -a $(cat /proc/$pid/comm) = "aiccu" ] && \
-               aiccu stop "$CFGFILE"
-       }
-}
-
-proto_aiccu_init_config() {
-       no_device=1
-       available=1
-       proto_config_add_string "username"
-       proto_config_add_string "password"
-       proto_config_add_string "protocol"
-       proto_config_add_string "server"
-       proto_config_add_string "ip6addr:ip6addr"
-       proto_config_add_string "ip6prefix:ip6addr"
-       proto_config_add_string "tunnelid"
-       proto_config_add_boolean "requiretls"
-       proto_config_add_boolean "defaultroute"
-       proto_config_add_boolean "sourcerouting"
-       proto_config_add_boolean "nat"
-       proto_config_add_boolean "heartbeat"
-       proto_config_add_boolean "verbose"
-       proto_config_add_int "ntpsynctimeout"
-}
-
-[ -n "$INCLUDE_ONLY" ] || {
-       add_protocol aiccu
-}
diff --git a/ipv6/aiccu/patches/100-cross_compile.patch b/ipv6/aiccu/patches/100-cross_compile.patch
deleted file mode 100644 (file)
index 6ef8ad5..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
---- a/unix-console/Makefile
-+++ b/unix-console/Makefile
-@@ -25,7 +25,8 @@ CWARNS += -W -Wall -Wshadow -Wpointer-ar
- # CWARNS += -Wpacked
- #CFLAGS       += $(CWARNS) -D_GNU_SOURCE -D_DEBUG -g3 -O0
--CFLAGS        += $(CWARNS) -D_GNU_SOURCE
-+CFLAGS        += $(CWARNS) $(EXTRA_CFLAGS) -D_GNU_SOURCE
-+LDFLAGS += $(EXTRA_LDFLAGS)
- CC      = @gcc
- RM      = rm
-@@ -40,25 +41,25 @@ CFLAGS     += -D AICCU_CONSOLE
- # GnuTLS Support ?
- # Used by TIC to secure that communication
- # Currently defaultly builds only on Linux, but other platforms might easily also support it
--ifeq ($(shell uname | grep -c "Linux"),1)
-+ifneq ($(HAVE_GNUTLS),)
- CFLAGS        += -D AICCU_GNUTLS
- LDFLAGS += -lgnutls
- endif
- # Linux
--ifeq ($(shell uname | grep -c "Linux"),1)
-+ifeq ($(OS_NAME),Linux)
- CFLAGS  += -D_LINUX -D HAS_IFHEAD -D AICCU_TYPE="\"linux\""
- SRCS  += ../common/aiccu_linux.c
- OBJS  += ../common/aiccu_linux.o
--LDFLAGS       += -lpthread -lresolv
-+LDFLAGS       += -pthread -lresolv
- endif
- # FreeBSD
--ifeq ($(shell uname | grep -c "FreeBSD"),1)
-+ifeq ($(OS_NAME),FreeBSD)
- CFLAGS        += -D_FREEBSD
- # FreeBSD 4.x
--ifeq ($(shell uname -r | cut -c 1),4)
-+ifeq ($(shell echo $(OS_VERSION) | cut -c 1),4)
- CFLAGS        += -D AICCU_TYPE="\"freebsd4\""
- SRCS  += ../common/aiccu_freebsd4.c
- OBJS  += ../common/aiccu_freebsd4.o
-@@ -71,7 +72,7 @@ endif
- endif
- # DragonFlyBSD
--ifeq ($(shell uname | grep -c "DragonFly"),1)
-+ifeq ($(OS_NAME),DragonFly)
- CFLAGS        += -D_DFBSD -D NEED_IFHEAD -D AICCU_TYPE="\"dragonfly\""
- SRCS  += ../common/aiccu_freebsd4.c
- OBJS  += ../common/aiccu_freebsd4.o
-@@ -79,7 +80,7 @@ CFLAGS       += -pthread
- endif
- # NetBSD
--ifeq ($(shell uname | grep -c "NetBSD"),1)
-+ifeq ($(OS_NAME),NetBSD)
- CFLAGS        += -D_NETBSD -D AICCU_TYPE="\"kame\""
- # Check if net/if_tun.h has TUNSIFHEAD and enable support for it
-@@ -97,10 +98,10 @@ CFLAGS     += -pthread -D_NETBSD_SOURCE
- endif
- # OpenBSD
--ifeq ($(shell uname | grep -c "OpenBSD"),1)
-+ifeq ($(OS_NAME),OpenBSD)
- CFLAGS        += -D_OPENBSD -D HAS_IFHEAD
- # 2.7-2.9
--ifeq ($(shell uname -r | cut -c 1),2)
-+ifeq ($(shell echo $(OS_VERSION) | cut -c 1),2)
- CFLAGS        += -D AICCU_TYPE="\"openbsd2\""
- SRCS  += ../common/aiccu_openbsd2.c
- OBJS  += ../common/aiccu_openbsd2.o
-@@ -114,7 +115,7 @@ CFLAGS     += -pthread
- endif
- # Darwin
--ifeq ($(shell uname | grep -c "Darwin"),1)
-+ifeq ($(OS_NAME),Darwin)
- CFLAGS        += -D_DARWIN -D NEED_IFHEAD -D AICCU_TYPE="\"darwin\""
- SRCS  += ../common/aiccu_darwin.c
- OBJS  += ../common/aiccu_darwin.o
-@@ -122,7 +123,7 @@ LDFLAGS    += -lresolv
- endif
- # SunOS / Solaris
--ifeq ($(shell uname | grep -c "SunOS"),1)
-+ifeq ($(OS_NAME),SunOS)
- CFLAGS        += -D_SUNOS -D AICCU_TYPE="\"sunos\""
- SRCS  += ../common/aiccu_sunos.c
- OBJS  += ../common/aiccu_sunos.o
-@@ -130,7 +131,7 @@ LDFLAGS    += -lsocket -lnsl -lresolv
- endif
- # AIX
--ifeq ($(shell uname | grep -c "AIX"),1)
-+ifeq ($(OS_NAME),AIX)
- CC    = @/usr/vac/bin/xlc_r
- CFLAGS        = -qthreaded -q64 -qlanglvl=stdc99 -bmaxdata:0xD0000000 -D_64BIT -g -qdbxextra -qfullpath -qheapdebug -qformat=all -qcheck=all
- CFLAGS        += -D AICCU_CONSOLE
diff --git a/ipv6/aiccu/patches/200-add_dn_skipname.patch b/ipv6/aiccu/patches/200-add_dn_skipname.patch
deleted file mode 100644 (file)
index 3ce1e92..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
---- /dev/null
-+++ b/common/dn_skipname.c
-@@ -0,0 +1,51 @@
-+#include <errno.h>
-+#include <resolv.h>
-+
-+/* Ripped from glibc 2.4 sources. */
-+
-+/*
-+ * ns_name_skip(ptrptr, eom)
-+ *      Advance *ptrptr to skip over the compressed name it points at.
-+ * return:
-+ *      0 on success, -1 (with errno set) on failure.
-+ */
-+int ns_name_skip(const u_char **ptrptr, const u_char *eom)
-+{
-+      const u_char *cp;
-+      u_int n;
-+
-+      cp = *ptrptr;
-+      while (cp < eom && (n = *cp++) != 0)
-+      {
-+              /* Check for indirection. */
-+              switch (n & NS_CMPRSFLGS) {
-+              case 0:                 /* normal case, n == len */
-+                      cp += n;
-+                      continue;
-+              case NS_CMPRSFLGS:      /* indirection */
-+                      cp++;
-+                      break;
-+              default:                /* illegal type */
-+                      errno = EMSGSIZE;
-+                      return (-1);
-+              }
-+              break;
-+      }
-+      if (cp > eom)
-+      {
-+              errno = EMSGSIZE;
-+              return (-1);
-+      }
-+      *ptrptr = cp;
-+      return (0);
-+}
-+
-+int dn_skipname(const u_char *ptr, const u_char *eom)
-+{
-+      const u_char *saveptr = ptr;
-+
-+      if(ns_name_skip(&ptr, eom) == -1)
-+              return (-1);
-+      return (ptr - saveptr);
-+}
-+
---- a/unix-console/Makefile
-+++ b/unix-console/Makefile
-@@ -10,9 +10,9 @@
- #  $Date: 2007-01-15 11:04:27 $
- # **********************************************************/
--SRCS  = main.c ../common/tun.c ../common/aiccu.c ../common/hash_md5.c ../common/hash_sha1.c ../common/common.c ../common/heartbeat.c ../common/tic.c ../common/ayiya.c ../common/aiccu_test.c ../common/resolver.c
-+SRCS  = main.c ../common/tun.c ../common/aiccu.c ../common/hash_md5.c ../common/hash_sha1.c ../common/common.c ../common/heartbeat.c ../common/tic.c ../common/ayiya.c ../common/aiccu_test.c ../common/resolver.c ../common/dn_skipname.c
- INCS  = ../common/tun.h ../common/aiccu.h ../common/hash_md5.h ../common/hash_sha1.h ../common/common.h ../common/heartbeat.h ../common/tic.h ../common/ayiya.h ../common/resolver.h
--OBJS  = main.o ../common/tun.o ../common/aiccu.o ../common/hash_md5.o ../common/hash_sha1.o ../common/common.o ../common/heartbeat.o ../common/tic.o ../common/ayiya.o ../common/aiccu_test.o ../common/resolver.o
-+OBJS  = main.o ../common/tun.o ../common/aiccu.o ../common/hash_md5.o ../common/hash_sha1.o ../common/common.o ../common/heartbeat.o ../common/tic.o ../common/ayiya.o ../common/aiccu_test.o ../common/resolver.o ../common/dn_skipname.o
- # New features not fully implemented and thus disabled for now
- #CFLAGS       += -D NEWSTUFF_TSP -D NEWSTUFF_TEEPEE
diff --git a/ipv6/aiccu/patches/300-resolver-uclibc.patch b/ipv6/aiccu/patches/300-resolver-uclibc.patch
deleted file mode 100644 (file)
index b88ef5c..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
---- a/common/resolver.c
-+++ b/common/resolver.c
-@@ -26,7 +26,7 @@
- int getrrs(const char *label, int rrtype, void gotrec(unsigned int num, int type, const char *record))
- {
--#ifdef _LINUX
-+#if defined(_LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__)
-       struct __res_state      res;
- #endif
-       unsigned char           answer[8192];
-@@ -38,7 +38,7 @@ int getrrs(const char *label, int rrtype
-       uint16_t                type = 0, class = 0;
-       uint32_t                ttl = 0;
--#ifdef _LINUX
-+#if defined(_LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__)
-       memset(&res, 0, sizeof(res));
-       res.options = RES_DEBUG;
-       res_ninit(&res);
-@@ -47,7 +47,7 @@ int getrrs(const char *label, int rrtype
- #endif
-       memset(answer, 0, sizeof(answer));
--#ifdef _LINUX
-+#if defined(_LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__)
-       ret = res_nquery(&res, label, C_IN, rrtype, answer, sizeof(answer));
- #else
-       ret = res_query(label, C_IN, rrtype, answer, sizeof(answer));
diff --git a/ipv6/aiccu/patches/400-musl-compat.patch b/ipv6/aiccu/patches/400-musl-compat.patch
deleted file mode 100644 (file)
index b6e0c32..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
---- a/common/common.h
-+++ b/common/common.h
-@@ -50,6 +50,7 @@
- #include <signal.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-+#include <sys/uio.h>
- #include <fcntl.h>
- #if defined(_SUNOS) || defined(_AIX) || defined(_DARWIN)
-@@ -91,7 +92,9 @@
-       #include <sys/select.h>
-       #include <net/if.h>
-+#if defined(__GLIBC__) || defined(__UCLIBC__)
-       #include <netinet/if_ether.h>
-+#endif
- #ifdef linux
-       #include <netpacket/packet.h>
-       #include <linux/if_tun.h>
---- a/common/dn_skipname.c
-+++ b/common/dn_skipname.c
-@@ -1,6 +1,8 @@
- #include <errno.h>
- #include <resolv.h>
-+#include <sys/types.h>
-+
- /* Ripped from glibc 2.4 sources. */
- /*
diff --git a/ipv6/aiccu/patches/500-gnutls_3.4.patch b/ipv6/aiccu/patches/500-gnutls_3.4.patch
deleted file mode 100644 (file)
index a314784..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---- aiccu/common/common.c
-+++ aiccu/common/common.c
-@@ -271,8 +271,6 @@
- TLSSOCKET sock_alloc(void)
- {
- #ifdef AICCU_GNUTLS
--      /* Allow connections to servers that have OpenPGP keys as well */
--      const int       cert_type_priority[3] = { GNUTLS_CRT_X509, GNUTLS_CRT_OPENPGP, 0 };
-       int             ret;
- #endif /* AICCU_GNUTLS*/
-@@ -300,7 +298,8 @@
-       gnutls_set_default_priority(sock->session);
-       /* XXX: Return value is not documented in GNUTLS documentation! */
--      gnutls_certificate_type_set_priority(sock->session, cert_type_priority);
-+      /* Allow connections to servers that have OpenPGP keys as well */
-+      gnutls_priority_set_direct(sock->session, "NORMAL:+CTYPE-OPENPGP", NULL);
-       /* XXX: Return value is not documented in GNUTLS documentation! */
-       /* Configure the x509 credentials for the current session */
-
index 7385df9b0e929d2f28d8d06d8300b8af70f67a5c..67f23af0addcdf4d61cfea7c1937b62342540be1 100644 (file)
@@ -18,7 +18,7 @@ PKG_SOURCE_PROTO:=git
 PKG_SOURCE_SUBDIR=$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE_VERSION:=7e8562067d6a366c8cbaa8084396c33b7e12986b
 
-PKG_MAINTAINER=Joseph C. Lehner <joseph.c.lehner@gmail.com>
+PKG_MAINTAINER:=Joseph C. Lehner <joseph.c.lehner@gmail.com>
 PKG_LICENSE=GPL-2.0
 PKG_LICENSE_FILES=LICENSE
 
index de594ec126892cadadbc521342d4e58138d10723..f2ddb7ee56fda3d71e09d289404c9d0a5af8f05a 100644 (file)
@@ -26,7 +26,7 @@ define Package/lua-penlight
   TITLE:=Penlight
   URL:=http://stevedonovan.github.io/Penlight/api/manual/01-introduction.md.html
   DEPENDS:=+luafilesystem
-  MAINTAINER:= Karl Palsson <karlp@remake.is>
+  MAINTAINER:=Karl Palsson <karlp@remake.is>
 endef
 
 define Package/lua-penlight/description
index 5022b491f8d82e290b2e0d4af309e2167d92f621..994d0032e43da4d44fb1b2264dcaaa39f967ac42 100755 (executable)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2016 OpenWrt.org
+# Copyright (C) 2017 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -8,16 +8,16 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=luai2c
-PKG_VERSION:=1.0.0
-PKG_RELEASE:=3
+PKG_VERSION:=1.1.2
+PKG_RELEASE:=4
 PKG_MAINTAINER:=Frank Edelhaeuser <mrpace2@gmail.com>
 PKG_LICENSE:=MIT
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/mrpace2/i2c-lua.git
+PKG_SOURCE_URL:=https://github.com/mrpace2/lua-i2c.git
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=$(PKG_VERSION)
+PKG_SOURCE_VERSION:=v$(PKG_VERSION)
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -26,7 +26,7 @@ define Package/luai2c
        SECTION:=lang
        CATEGORY:=Languages
        TITLE:=Lua I2C binding
-       URL:=https://github.com/mrpace2/i2c-lua/
+       URL:=https://github.com/mrpace2/lua-i2c/
        DEPENDS:=+liblua +kmod-i2c-core
        MAINTAINER:=Frank Edelhaeuser <mrpace2@gmail.com>
 endef
index f7bdd66ef8da5a102bcc7570344634e501aa6b1e..d4a50ac38266b66a23904677215722d47dc99426 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=php
 PKG_VERSION:=7.1.6
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
 
@@ -37,7 +37,7 @@ PHP7_MODULES = \
        mbstring mcrypt mysqli \
        opcache openssl \
        pcntl pdo pdo-mysql pdo-pgsql pdo-sqlite pgsql phar \
-       session shmop simplexml soap sockets sqlite3 sysvmsg sysvsem sysvshm \
+       session shmop simplexml snmp soap sockets sqlite3 sysvmsg sysvsem sysvshm \
        tokenizer \
        xml xmlreader xmlwriter zip \
 
@@ -288,7 +288,7 @@ else
   CONFIGURE_ARGS+= --disable-opcache
 endif
 
-ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-openssl),)
+ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-openssl)$(CONFIG_PACKAGE_php7-mod-snmp),)
   CONFIGURE_ARGS+= \
        --with-openssl=shared,"$(STAGING_DIR)/usr" \
        --with-kerberos=no \
@@ -354,6 +354,12 @@ else
   CONFIGURE_ARGS+= --disable-simplexml
 endif
 
+ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-snmp),)
+  CONFIGURE_ARGS+= --with-snmp=shared,"$(STAGING_DIR)/usr"
+else
+  CONFIGURE_ARGS+= --without-snmp
+endif
+
 ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-soap),)
   CONFIGURE_ARGS+= --enable-soap=shared
 else
@@ -585,6 +591,7 @@ $(eval $(call BuildModule,phar,Phar Archives,+php7-mod-hash))
 $(eval $(call BuildModule,session,Session))
 $(eval $(call BuildModule,shmop,Shared Memory))
 $(eval $(call BuildModule,simplexml,SimpleXML,+@PHP7_LIBXML +PACKAGE_php7-mod-simplexml:libxml2))
+$(eval $(call BuildModule,snmp,SNMP,+PACKAGE_php7-mod-snmp:libnetsnmp +PACKAGE_php7-mod-snmp:libopenssl))
 $(eval $(call BuildModule,soap,SOAP,+@PHP7_LIBXML +PACKAGE_php7-mod-soap:libxml2))
 $(eval $(call BuildModule,sockets,Sockets))
 $(eval $(call BuildModule,sqlite3,SQLite3,+PACKAGE_php7-mod-sqlite3:libsqlite3))
diff --git a/lang/python/Flask/Makefile b/lang/python/Flask/Makefile
new file mode 100644 (file)
index 0000000..6ff14a2
--- /dev/null
@@ -0,0 +1,43 @@
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=Flask
+PKG_VERSION:=0.12.2
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://pypi.python.org/packages/eb/12/1c7bd06fcbd08ba544f25bf2c6612e305a70ea51ca0eda8007344ec3f123/
+PKG_HASH:=49f44461237b69ecd901cc7ce66feea0319b9158743dd27a2899962ab214dac1
+PKG_BUILD_DEPENDS:=python python3
+PKG_LICENSE:=BSD-3-Clause
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-$(PKG_NAME)-$(PKG_VERSION)
+PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/python3-flask
+  SECTION:=lang
+  CATEGORY:=Languages
+  SUBMENU:=Python
+  URL:=http://github.com/pallets/flask/
+  TITLE:=python3-flask
+  DEPENDS:=+python3-asyncio +python3-click +python3-codecs +python3-decimal \
+           +python3-itsdangerous +python3-jinja2 +python3-light +python3-logging \
+           +python3-markupsafe +python3-multiprocessing +python3-werkzeug
+  VARIANT:=python3
+endef
+
+define Package/python3-flask/description
+Flask is a microframework for Python based on Werkzeug, Jinja 2 and good
+intentions. And before you ask: It.s BSD licensed!
+endef
+
+$(eval $(call Py3Package,python3-flask))
+$(eval $(call BuildPackage,python3-flask))
diff --git a/lang/python/Jinja2/Makefile b/lang/python/Jinja2/Makefile
new file mode 100644 (file)
index 0000000..8b62569
--- /dev/null
@@ -0,0 +1,42 @@
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=Jinja2
+PKG_VERSION:=2.9.6
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://pypi.python.org/packages/90/61/f820ff0076a2599dd39406dcb858ecb239438c02ce706c8e91131ab9c7f1/
+PKG_HASH:=ddaa01a212cd6d641401cb01b605f4a4d9f37bfc93043d7f760ec70fb99ff9ff
+PKG_BUILD_DEPENDS:=python3
+PKG_LICENSE:=BSD-3-Clause
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-$(PKG_NAME)-$(PKG_VERSION)
+PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/python3-jinja2
+  SECTION:=lang
+  CATEGORY:=Languages
+  SUBMENU:=Python
+  URL:=http://jinja.pocoo.org/
+  TITLE:=python3-jinja2
+  DEPENDS:=+python3-light
+  VARIANT:=python3
+endef
+
+define Package/python3-jinja2/description
+Jinja2 is a full featured template engine for Python. It has full
+unicode support, an optional integrated sandboxed execution
+environment, widely used and BSD licensed.
+endef
+
+$(eval $(call Py3Package,python3-jinja2))
+$(eval $(call BuildPackage,python3-jinja2))
diff --git a/lang/python/MarkupSafe/Makefile b/lang/python/MarkupSafe/Makefile
new file mode 100644 (file)
index 0000000..0083516
--- /dev/null
@@ -0,0 +1,40 @@
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=MarkupSafe
+PKG_VERSION:=1.0
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://pypi.python.org/packages/4d/de/32d741db316d8fdb7680822dd37001ef7a448255de9699ab4bfcbdf4172b/
+PKG_HASH:=a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665
+PKG_BUILD_DEPENDS:=python python3
+PKG_LICENSE:=BSD-3-Clause
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-$(PKG_NAME)-$(PKG_VERSION)
+PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/python3-markupsafe
+  SECTION:=lang
+  CATEGORY:=Languages
+  SUBMENU:=Python
+  URL:=http://github.com/pallets/markupsafe/
+  TITLE:=python3-markupsafe
+  DEPENDS:=+python3-light
+  VARIANT:=python3
+endef
+
+define Package/python3-markupsafe/description
+MarkupSafe implements a XML/HTML/XHTML Markup safe string for Python
+endef
+
+$(eval $(call Py3Package,python3-markupsafe))
+$(eval $(call BuildPackage,python3-markupsafe))
diff --git a/lang/python/Werkzeug/Makefile b/lang/python/Werkzeug/Makefile
new file mode 100644 (file)
index 0000000..0e647c8
--- /dev/null
@@ -0,0 +1,42 @@
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=Werkzeug
+PKG_VERSION:=0.12.2
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://pypi.python.org/packages/56/41/c095a77eb2dd69bf278dd664a97d3416af04e9ba1a00b8c138f772741d31/
+PKG_MD5SUM:=e385b2c5a7193cff24c689b31e1124dc
+PKG_BUILD_DEPENDS:=python python3
+PKG_LICENSE:=BSD-3-Clause
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-$(PKG_NAME)-$(PKG_VERSION)
+PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/python3-werkzeug
+  SECTION:=lang
+  CATEGORY:=Languages
+  SUBMENU:=Python
+  URL:=http://werkzeug.pocoo.org/
+  TITLE:=python3-werkzeug
+  DEPENDS:=+python3-light +python3-email
+  VARIANT:=python3
+endef
+
+define Package/python3-werkzeug/description
+Werkzeug
+
+The Python WSGI Utility Library
+endef
+
+$(eval $(call Py3Package,python3-werkzeug))
+$(eval $(call BuildPackage,python3-werkzeug))
diff --git a/lang/python/click/Makefile b/lang/python/click/Makefile
new file mode 100644 (file)
index 0000000..e52e999
--- /dev/null
@@ -0,0 +1,40 @@
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=click
+PKG_VERSION:=6.7
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://pypi.python.org/packages/95/d9/c3336b6b5711c3ab9d1d3a80f1a3e2afeb9d8c02a7166462f6cc96570897/
+PKG_HASH:=f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b
+PKG_BUILD_DEPENDS:=python python3
+PKG_LICENSE:=BSD-3-Clause
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-$(PKG_NAME)-$(PKG_VERSION)
+PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/python3-click
+  SECTION:=lang
+  CATEGORY:=Languages
+  SUBMENU:=Python
+  URL:=http://github.com/mitsuhiko/click
+  TITLE:=python3-click
+  DEPENDS:=+python3-light
+  VARIANT:=python3
+endef
+
+define Package/python3-click/description
+A simple wrapper around optparse for powerful command line utilities.
+endef
+
+$(eval $(call Py3Package,python3-click))
+$(eval $(call BuildPackage,python3-click))
diff --git a/lang/python/itsdangerous/Makefile b/lang/python/itsdangerous/Makefile
new file mode 100644 (file)
index 0000000..e52603d
--- /dev/null
@@ -0,0 +1,40 @@
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=itsdangerous
+PKG_VERSION:=0.24
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://pypi.python.org/packages/dc/b4/a60bcdba945c00f6d608d8975131ab3f25b22f2bcfe1dab221165194b2d4/
+PKG_HASH:=cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519
+PKG_BUILD_DEPENDS:=python python3
+PKG_LICENSE:=BSD-3-Clause
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-$(PKG_NAME)-$(PKG_VERSION)
+PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python3-package.mk)
+
+define Package/python3-itsdangerous
+  SECTION:=lang
+  CATEGORY:=Languages
+  SUBMENU:=Python
+  URL:=http://github.com/mitsuhiko/itsdangerous
+  TITLE:=python3-itsdangerous
+  DEPENDS:=+python3-light
+  VARIANT:=python3
+endef
+
+define Package/python3-itsdangerous/description
+Various helpers to pass trusted data to untrusted environments and back.
+endef
+
+$(eval $(call Py3Package,python3-itsdangerous))
+$(eval $(call BuildPackage,python3-itsdangerous))
diff --git a/lang/python/pyodbc/Makefile b/lang/python/pyodbc/Makefile
new file mode 100644 (file)
index 0000000..1c20e7a
--- /dev/null
@@ -0,0 +1,67 @@
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=pyodbc
+PKG_VERSION:=4.0.17
+PKG_RELEASE:=4
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://pypi.python.org/packages/ce/57/6b92aa5b3497dde6be55fd6fcb76c7db215ed1d56fde45c613add4a43095/
+PKG_HASH:=a82892ba8d74318524efaaccaf8351d3a3b4079a07e1a758902a2b9e84529c9d
+PKG_BUILD_DEPENDS:=python python3 unixodbc
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE.txt
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-$(PKG_NAME)-$(PKG_VERSION)
+PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python-package.mk)
+$(call include_mk, python3-package.mk)
+
+define Package/python-pyodbc/Default
+  SECTION:=lang
+  CATEGORY:=Languages
+  SUBMENU:=Python
+  URL:=https://github.com/mkleehammer/pyodbc
+  DEPENDS:=+unixodbc +libstdcpp
+endef
+
+define Package/python-pyodbc
+$(call Package/python-pyodbc/Default)
+  TITLE:=python-pyodbc
+  DEPENDS+=+PACKAGE_python-pyodbc:python-light \
+           +PACKAGE_python-pyodbc:python-logging \
+           +PACKAGE_python-pyodbc:python-openssl
+  VARIANT:=python
+endef
+
+define Package/python3-pyodbc
+$(call Package/python-pyodbc/Default)
+  TITLE:=python3-pyodbc
+  DEPENDS+=+PACKAGE_python3-pyodbc:python3-light
+  VARIANT:=python3
+endef
+
+define Package/python-pyodbc/description
+DB API Module for ODBC
+
+A Python DB API 2 module for ODBC. This project provides an up-to-date,
+convenient interface to ODBC using native data types like datetime and decimal.
+endef
+
+define Package/python3-pyodbc/description
+$(call Package/python-pyodbc/description)
+
+(Variant for Python3)
+endef
+
+$(eval $(call PyPackage,python-pyodbc))
+$(eval $(call BuildPackage,python-pyodbc))
+
+$(eval $(call Py3Package,python3-pyodbc))
+$(eval $(call BuildPackage,python3-pyodbc))
diff --git a/lang/python/pyodbc/patches/100-connection-assume-SQL_C_WCHAR-is-native-endian.patch b/lang/python/pyodbc/patches/100-connection-assume-SQL_C_WCHAR-is-native-endian.patch
new file mode 100644 (file)
index 0000000..4d03cb7
--- /dev/null
@@ -0,0 +1,60 @@
+--- a/src/connection.cpp
++++ b/src/connection.cpp
+@@ -18,6 +18,15 @@
+ #include "cnxninfo.h"
+ #include "sqlwchar.h"
++#include <endian.h>
++#if __BYTE_ORDER == __BIG_ENDIAN
++# define OPTENC_UTF16NE OPTENC_UTF16BE
++# define ENCSTR_UTF16NE "utf-16be"
++#else
++# define OPTENC_UTF16NE OPTENC_UTF16LE
++# define ENCSTR_UTF16NE "utf-16le"
++#endif
++
+ #if PY_MAJOR_VERSION < 3
+ static bool IsStringType(PyObject* t) { return (void*)t == (void*)&PyString_Type; }
+ static bool IsUnicodeType(PyObject* t) { return (void*)t == (void*)&PyUnicode_Type; }
+@@ -90,7 +99,7 @@ static bool Connect(PyObject* pConnectSt
+         // indication that we can handle Unicode.  We are going to use the same unicode ending
+         // as we do for binding parameters.
+-        SQLWChar wchar(pConnectString, SQL_C_WCHAR, encoding, "utf-16le");
++        SQLWChar wchar(pConnectString, SQL_C_WCHAR, encoding, ENCSTR_UTF16NE);
+         if (!wchar)
+             return false;
+@@ -216,24 +225,24 @@ PyObject* Connection_New(PyObject* pConn
+     // single-byte text we don't actually know what the encoding is.  For example, with SQL
+     // Server the encoding is based on the database's collation.  We ask the driver / DB to
+     // convert to SQL_C_WCHAR and use the ODBC default of UTF-16LE.
+-    cnxn->sqlchar_enc.optenc = OPTENC_UTF16LE;
+-    cnxn->sqlchar_enc.name   = _strdup("utf-16le");
++    cnxn->sqlchar_enc.optenc = OPTENC_UTF16NE;
++    cnxn->sqlchar_enc.name   = _strdup(ENCSTR_UTF16NE);
+     cnxn->sqlchar_enc.ctype  = SQL_C_WCHAR;
+-    cnxn->sqlwchar_enc.optenc = OPTENC_UTF16LE;
+-    cnxn->sqlwchar_enc.name   = _strdup("utf-16le");
++    cnxn->sqlwchar_enc.optenc = OPTENC_UTF16NE;
++    cnxn->sqlwchar_enc.name   = _strdup(ENCSTR_UTF16NE);
+     cnxn->sqlwchar_enc.ctype  = SQL_C_WCHAR;
+-    cnxn->metadata_enc.optenc = OPTENC_UTF16LE;
+-    cnxn->metadata_enc.name   = _strdup("utf-16le");
++    cnxn->metadata_enc.optenc = OPTENC_UTF16NE;
++    cnxn->metadata_enc.name   = _strdup(ENCSTR_UTF16NE);
+     cnxn->metadata_enc.ctype  = SQL_C_WCHAR;
+     // Note: I attempted to use UTF-8 here too since it can hold any type, but SQL Server fails
+     // with a data truncation error if we send something encoded in 2 bytes to a column with 1
+     // character.  I don't know if this is a bug in SQL Server's driver or if I'm missing
+     // something, so we'll stay with the default ODBC conversions.
+-    cnxn->unicode_enc.optenc = OPTENC_UTF16LE;
+-    cnxn->unicode_enc.name   = _strdup("utf-16le");
++    cnxn->unicode_enc.optenc = OPTENC_UTF16NE;
++    cnxn->unicode_enc.name   = _strdup(ENCSTR_UTF16NE);
+     cnxn->unicode_enc.ctype  = SQL_C_WCHAR;
+ #if PY_MAJOR_VERSION < 3
diff --git a/lang/python/python-gnupg/Makefile b/lang/python/python-gnupg/Makefile
new file mode 100644 (file)
index 0000000..32bd6c3
--- /dev/null
@@ -0,0 +1,72 @@
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-gnupg
+PKG_VERSION:=2.3.0
+PKG_RELEASE:=1
+
+PKG_SOURCE_NAME:=gnupg
+PKG_SOURCE:=$(PKG_SOURCE_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://pypi.python.org/packages/fa/ea/58e0415e1e3c3a0649119158e036ca4a9af154c56ef80f3d6de986bf9cb2/
+PKG_MD5SUM:=b6ebde86093f262f8430eff8d8a4c82b
+PKG_HASH:=1d90e854dcc7790a7efc3aac5998159553cc34ec599ee2bc7927beb45fb564ec
+
+PKG_LICENSE:=GPL-3.0+
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-$(PKG_SOURCE_NAME)-$(PKG_VERSION)
+PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python-package.mk)
+$(call include_mk, python3-package.mk)
+
+define Package/python-gnupg/Default
+  SECTION:=lang
+  CATEGORY:=Languages
+  SUBMENU:=Python
+  URL:=https://github.com/isislovecruft/python-gnupg
+  DEPENDS:=+gnupg
+endef
+
+define Package/python-gnupg
+$(call Package/python-gnupg/Default)
+  TITLE:=python-pyodbc
+  DEPENDS+=+PACKAGE_python-gnupg:python-light
+  VARIANT:=python
+endef
+
+define Package/python3-gnupg
+$(call Package/python-gnupg/Default)
+  TITLE:=python3-gnupg
+  DEPENDS+=+PACKAGE_python3-gnupg:python3-light
+  VARIANT:=python3
+endef
+
+define Package/python-gnupg/description
+A Python wrapper for GnuPG
+
+This module allows easy access to GnuPG.s key management, encryption
+and signature functionality from Python programs, by interacting with
+GnuPG through file descriptors. Input arguments are strictly checked
+and sanitised, and therefore this module should be safe to use in
+networked applications requiring direct user input. It is intended for
+use on Windows, MacOS X, BSD, or Linux, with Python 2.6, Python 2.7,
+Python 3.3, Python 3.4, or PyPy.
+endef
+
+define Package/python3-gnupg/description
+$(call Package/python-gnupg/description)
+
+(Variant for Python3)
+endef
+
+$(eval $(call PyPackage,python-gnupg))
+$(eval $(call BuildPackage,python-gnupg))
+
+$(eval $(call Py3Package,python3-gnupg))
+$(eval $(call BuildPackage,python3-gnupg))
index 2710feffb6c561870c2bd1f57b3c9b843c118d49..798cf279f8cdb7b831dff99e0f363c5a7f90ce8f 100644 (file)
@@ -37,14 +37,14 @@ endef
 define Package/python-lxml
 $(call Package/python-lxml/Default)
   TITLE:=python-lxml
-  DEPENDS+=+python-light +python-codecs
+  DEPENDS+=+PACKAGE_python-lxml:python-light +PACKAGE_python-lxml:python-codecs
   VARIANT:=python
 endef
 
 define Package/python3-lxml
 $(call Package/python-lxml/Default)
   TITLE:=python3-lxml
-  DEPENDS+=+python3-light
+  DEPENDS+=+PACKAGE_python3-lxml:python3-light
   VARIANT:=python3
 endef
 
@@ -61,7 +61,7 @@ endef
 
 TARGET_LDFLAGS += -lxml2 -lxslt -lexslt
 
-define PyBuild/Compile/Default
+define PyBuild/Compile
        $(call Build/Compile/PyMod,, \
                install --prefix="/usr" --root="$(PKG_INSTALL_DIR)" \
                --static \
@@ -74,7 +74,7 @@ define PyBuild/Compile/Default
        )
 endef
 
-define Py3Build/Compile/Default
+define Py3Build/Compile
        $(call Build/Compile/Py3Mod,, \
                install --prefix="/usr" --root="$(PKG_INSTALL_DIR)" \
                --static \
index 6e4259d3052e0f592d94c7b8ede44d4ecb5f8e7d..24efe874ee05c76efb5600a076f6de4b83ce8c36 100644 (file)
@@ -7,17 +7,19 @@
 
 include $(TOPDIR)/rules.mk
 
-PKG_NAME:=six
+PKG_NAME:=python-six
 PKG_VERSION:=1.10.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE:=six-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://pypi.python.org/packages/source/s/six
 PKG_MD5SUM:=34eed507548117b2ab523ab14b2f8b55
 
 HOST_BUILD_DEPENDS:=python/host
 PKG_BUILD_DEPENDS:=python
 
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENSE
 PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
@@ -26,6 +28,9 @@ include $(INCLUDE_DIR)/host-build.mk
 include $(INCLUDE_DIR)/package.mk
 $(call include_mk, python-package.mk)
 
+PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
+HOST_UNPACK:=$(HOST_TAR) -C $(HOST_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
+
 define Package/python-six
        SECTION:=lang
        CATEGORY:=Languages
index 3af2f0eeb4ce5761aa67623397a89e3fc4585586..c6314c8b15e6f31a94382b38b7b0f11f608dbfa7 100644 (file)
@@ -8,36 +8,59 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=PyYAML
-PKG_VERSION:=3.11
+PKG_VERSION:=3.12
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://pyyaml.org/download/pyyaml/
-PKG_MD5SUM:=f50e08ef0fe55178479d3a618efe21db
+PKG_HASH:=592766c6303207a20efc445587778322d7f73b161bd994f227adaa341ba212ab
 
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=COPYING
 PKG_MAINTAINER:=Nicolas Thill <nico@openwrt.org>
 
-PKG_BUILD_DEPENDS:=python
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-$(PKG_NAME)-$(PKG_VERSION)
+PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
 
 include $(INCLUDE_DIR)/package.mk
 $(call include_mk, python-package.mk)
+$(call include_mk, python3-package.mk)
 
-define Package/python-yaml
+define Package/python-yaml/Default
   SUBMENU:=Python
   SECTION:=lang
   CATEGORY:=Languages
-  TITLE:=YAML parser and emitter for Python
   URL:=http://pyyaml.org/wiki/PyYAML
-  DEPENDS:=+python +libyaml
+  DEPENDS:=+libyaml
+endef
+
+define Package/python-yaml
+$(call Package/python-yaml/Default)
+  TITLE:=YAML parser and emitter for Python
+  DEPENDS+=+PACKAGE_python-yaml:python-light +PACKAGE_python-yaml:python-codecs
+  VARIANT:=python
 endef
 
-define Build/Compile
+define Package/python3-yaml
+$(call Package/python-yaml/Default)
+  TITLE:=YAML parser and emitter for Python3
+  DEPENDS+=+PACKAGE_python3-yaml:python3-light
+  VARIANT:=python3
+endef
+
+define PyBuild/Compile
        $(call Build/Compile/PyMod,,\
                --with-libyaml install --prefix="$(PKG_INSTALL_DIR)/usr" \
        )
 endef
 
+define Py3Build/Compile
+       $(call Build/Compile/Py3Mod,,\
+               --with-libyaml install --prefix="$(PKG_INSTALL_DIR)/usr" \
+       )
+endef
+
 $(eval $(call PyPackage,python-yaml))
 $(eval $(call BuildPackage,python-yaml))
+$(eval $(call Py3Package,python3-yaml))
+$(eval $(call BuildPackage,python3-yaml))
index 1e840608788739305949a8ba357655a9a638d9d0..09269caebaddc2e0fb1c41ffd93affc1f6593862 100644 (file)
@@ -35,6 +35,8 @@ HOST_BUILD_PARALLEL:=1
 PKG_BUILD_DIR:=$(BUILD_DIR)/Python-$(PKG_VERSION)
 HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/Python-$(PKG_VERSION)
 
+PKG_CONFIG_DEPENDS:=CONFIG_PACKAGE_python-setuptools CONFIG_PACKAGE_python-pip
+
 PKG_BUILD_DEPENDS:=python/host
 HOST_BUILD_DEPENDS:=bzip2/host expat/host
 
@@ -188,15 +190,8 @@ define Build/Compile
 endef
 
 define Build/InstallDev
-       $(INSTALL_DIR) $(STAGING_DIR)/mk/
        $(INSTALL_DIR) $(1)/usr/include/ $(1)/usr/lib/ $(1)/usr/lib/pkgconfig
        $(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON_VERSION)/
-       $(INSTALL_DATA) \
-               ./files/python-package.mk \
-               ./files/python-host.mk \
-               ./files/python-version.mk \
-               ./files/python-package-install.sh \
-               $(STAGING_DIR)/mk/
        $(CP) \
                $(PKG_INSTALL_DIR)/usr/include/python$(PYTHON_VERSION) \
                $(1)/usr/include/
@@ -277,6 +272,7 @@ define Package/python-pip-conf/install
 endef
 
 HOST_LDFLAGS += \
+       -Wl,--no-as-needed -lrt \
        $$$$(pkg-config --static --libs libcrypto libssl)
 
 HOST_CONFIGURE_ARGS+= \
@@ -292,8 +288,18 @@ HOST_CONFIGURE_ARGS+= \
 
 define Host/Install
        $(MAKE) -C $(HOST_BUILD_DIR) install
-       $(INSTALL_DIR) $(HOST_PYTHON_DIR)/bin/
+       $(INSTALL_DIR) $(HOST_PYTHON_DIR)/bin/ $(STAGING_DIR)/mk/
        $(INSTALL_BIN) $(HOST_BUILD_DIR)/Parser/pgen $(HOST_PYTHON_DIR)/bin/pgen2
+       # Install these mk files in the Host/Install phase ;
+       # The Build/InstallDev rule is activated only for target builds.
+       # But if someone needs only the host Python, then
+       # these files need to be installed in this phase, and not Build/InstallDev
+       $(INSTALL_DATA) \
+               ./files/python-package.mk \
+               ./files/python-host.mk \
+               ./files/python-version.mk \
+               ./files/python-package-install.sh \
+               $(STAGING_DIR)/mk/
 endef
 
 $(eval $(call HostBuild))
index a08f8b4153e6e0f97502149adc33a77fc01a0227..022cf8a35c049dc49356395101befdfab4079e5e 100644 (file)
@@ -45,6 +45,9 @@ process_filespec "$src_dir" "$dst_dir" "$filespec" || {
        exit 1
 }
 
+# delete egg-info directories
+find "$dst_dir" -name "*.egg-info" | xargs rm -rf
+
 if [ "$mode" == "sources" ] ; then
        # Copy only python source files
        find $dst_dir -not -name "*\.py" | xargs rm -f
index 8dd0d6c79a261956cb9344f434de7c6ebf79d819..a3934cc197e605e0f2c35537fe0d48609efcbd0b 100644 (file)
@@ -15,7 +15,7 @@ endef
 define PyPackage/python-pip/install
        $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/python$(PYTHON_VERSION)/site-packages
        # Adjust shebang to proper python location on target
-       sed "1s/.*/#\!\/usr\/bin\/python$(PYTHON_VERSION)/" -i $(PKG_BUILD_DIR)/install-pip/bin/*
+       sed "1s@.*@#\!/usr/bin/python$(PYTHON_VERSION)@" -i $(PKG_BUILD_DIR)/install-pip/bin/*
        $(CP) $(PKG_BUILD_DIR)/install-pip/bin/* $(1)/usr/bin
        $(CP) \
                $(PKG_BUILD_DIR)/install-pip/lib/python$(PYTHON_VERSION)/site-packages/pip \
index 48823731e3ac271193a0da0678f08abc91ab62f0..c35fad8c5b1132ff00b8d9a2516738d064bd9b54 100644 (file)
@@ -15,7 +15,7 @@ endef
 define PyPackage/python-setuptools/install
        $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/python$(PYTHON_VERSION)/site-packages
        # Adjust shebang to proper python location on target
-       sed "1s/.*/#\!\/usr\/bin\/python$(PYTHON_VERSION)/" -i $(PKG_BUILD_DIR)/install-setuptools/bin/*
+       sed "1s@.*@#\!/usr/bin/python$(PYTHON_VERSION)@" -i $(PKG_BUILD_DIR)/install-setuptools/bin/*
        $(CP) $(PKG_BUILD_DIR)/install-setuptools/bin/* $(1)/usr/bin
        $(CP) \
                $(PKG_BUILD_DIR)/install-setuptools/lib/python$(PYTHON_VERSION)/site-packages/pkg_resources \
index 0805fc9c2c70b13758b140e36b2993cf6a7c6c81..1b82352c1fb4d1c47487ec510c104677f951164e 100644 (file)
@@ -132,8 +132,10 @@ define PyBuild/Compile/Default
        )
 endef
 
+PyBuild/Compile=$(PyBuild/Compile/Default)
+
 ifeq ($(BUILD_VARIANT),python)
 define Build/Compile
-       $(call PyBuild/Compile/Default)
+       $(call PyBuild/Compile)
 endef
 endif # python
index 97c0f6efe634bf69c47df67e63f88203b84de3f8..02c1031932c186a4e68bef9e4657741222a8ad6d 100644 (file)
@@ -14,7 +14,7 @@ PYTHON_VERSION:=$(PYTHON3_VERSION)
 PYTHON_VERSION_MICRO:=$(PYTHON3_VERSION_MICRO)
 
 PKG_NAME:=python3
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 PKG_VERSION:=$(PYTHON_VERSION).$(PYTHON_VERSION_MICRO)
 
 PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz
@@ -38,6 +38,8 @@ HOST_BUILD_PARALLEL:=1
 PKG_BUILD_DIR:=$(BUILD_DIR)/Python-$(PKG_VERSION)
 HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/Python-$(PKG_VERSION)
 
+PKG_CONFIG_DEPENDS:=CONFIG_PACKAGE_python3-setuptools CONFIG_PACKAGE_python3-pip
+
 PKG_BUILD_DEPENDS:=python3/host
 HOST_BUILD_DEPENDS:=bzip2/host expat/host libffi/host
 
@@ -182,15 +184,8 @@ define Build/Compile
 endef
 
 define Build/InstallDev
-       $(INSTALL_DIR) $(STAGING_DIR)/mk/
        $(INSTALL_DIR) $(1)/usr/include/ $(1)/usr/lib/
        $(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON_VERSION)/
-       $(INSTALL_DATA) \
-               ./files/python3-package.mk \
-               ./files/python3-host.mk \
-               ./files/python3-version.mk \
-               ./files/python3-package-install.sh \
-               $(STAGING_DIR)/mk/
        $(CP) \
                $(PKG_INSTALL_DIR)/usr/include/python$(PYTHON_VERSION) \
                $(1)/usr/include/
@@ -258,6 +253,7 @@ define Py3Package/python3/filespec
 endef
 
 HOST_LDFLAGS += \
+       -Wl,--no-as-needed -lrt \
        $$$$(pkg-config --static --libs libcrypto libssl)
 
 HOST_CONFIGURE_ARGS+= \
@@ -279,9 +275,20 @@ endef
 define Host/Install
        $(MAKE) -C $(HOST_BUILD_DIR) install
 
-       $(INSTALL_DIR) $(HOST_PYTHON3_DIR)/bin/
+       $(INSTALL_DIR) $(HOST_PYTHON3_DIR)/bin/ $(STAGING_DIR)/mk/
        $(INSTALL_BIN) $(HOST_BUILD_DIR)/Parser/pgen $(HOST_PYTHON3_DIR)/bin/pgen3
        $(INSTALL_BIN) $(HOST_BUILD_DIR)/Programs/_freeze_importlib $(HOST_PYTHON3_DIR)/bin/_freeze_importlib
+
+       # Install these mk files in the Host/Install phase ;
+       # The Build/InstallDev rule is activated only for target builds.
+       # But if someone needs only the host Python, then
+       # these files need to be installed in this phase, and not Build/InstallDev
+       $(INSTALL_DATA) \
+               ./files/python3-package.mk \
+               ./files/python3-host.mk \
+               ./files/python3-version.mk \
+               ./files/python3-package-install.sh \
+               $(STAGING_DIR)/mk/
 endef
 
 $(eval $(call HostBuild))
index cc100518924c1dd8848ea1ed02592bad6a0c3d68..ae5e172807107352373998e6f2ed012f7e30cc3a 100644 (file)
@@ -45,6 +45,9 @@ process_filespec "$src_dir" "$dst_dir" "$filespec" || {
        exit 1
 }
 
+# delete egg-info directories
+find "$dst_dir" -name "*.egg-info" | xargs rm -rf
+
 if [ "$mode" == "sources" ] ; then
        # Copy only python source files
        find $dst_dir -not -name "*\.py" | xargs rm -f
index 43e05f1c7576b4ebe2d95b01532eae4fb9b6b6c2..ff9b5ac7499513ef3511f98f2b8c2498a53f7ca0 100644 (file)
@@ -15,7 +15,7 @@ endef
 define Package/python3-pip/install
        $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages
        # Adjust shebang to proper python location on target
-       sed "1s/.*/#\!\/usr\/bin\/python$(PYTHON3_VERSION)/" -i $(PKG_BUILD_DIR)/install-pip/bin/*
+       sed "1s@.*@#\!/usr/bin/python$(PYTHON3_VERSION)@" -i $(PKG_BUILD_DIR)/install-pip/bin/*
        $(CP) $(PKG_BUILD_DIR)/install-pip/bin/pip3* $(1)/usr/bin
        $(CP) \
                $(PKG_BUILD_DIR)/install-pip/lib/python$(PYTHON3_VERSION)/site-packages/pip \
index 9a646334f33773da04061d87c901dbc327d20a66..684d3e64e14facc8c25f9d0da2c6e2b222686f77 100644 (file)
@@ -15,7 +15,7 @@ endef
 define Py3Package/python3-setuptools/install
        $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages
        # Adjust shebang to proper python location on target
-       sed "1s/.*/#\!\/usr\/bin\/python$(PYTHON3_VERSION)/" -i $(PKG_BUILD_DIR)/install-setuptools/bin/*
+       sed "1s@.*@#\!/usr/bin/python$(PYTHON3_VERSION)@" -i $(PKG_BUILD_DIR)/install-setuptools/bin/*
        $(CP) $(PKG_BUILD_DIR)/install-setuptools/bin/easy_install-* $(1)/usr/bin
        $(LN) easy_install-$(PYTHON3_VERSION) $(1)/usr/bin/easy_install-3
        $(CP) \
index 36a030c02b02e30504b0e62ba7f69758a2d82b23..22ee527a1c126757e0cdd731ae64345ff9c82477 100644 (file)
@@ -132,8 +132,10 @@ define Py3Build/Compile/Default
        )
 endef
 
+Py3Build/Compile=$(Py3Build/Compile/Default)
+
 ifeq ($(BUILD_VARIANT),python3)
 define Build/Compile
-       $(call Py3Build/Compile/Default)
+       $(call Py3Build/Compile)
 endef
 endif # python3
diff --git a/lang/python/python3/patches/008-fix-distutils-path-creation.patch b/lang/python/python3/patches/008-fix-distutils-path-creation.patch
new file mode 100644 (file)
index 0000000..8db6bdc
--- /dev/null
@@ -0,0 +1,16 @@
+diff --git a/Lib/imp.py b/Lib/imp.py
+index 781ff23..beeac70 100644
+--- a/Lib/imp.py
++++ b/Lib/imp.py
+@@ -203,8 +203,9 @@ def load_package(name, path):
+         extensions = (machinery.SOURCE_SUFFIXES[:] +
+                       machinery.BYTECODE_SUFFIXES[:])
+         for extension in extensions:
+-            path = os.path.join(path, '__init__'+extension)
+-            if os.path.exists(path):
++            init_path = os.path.join(path, '__init__'+extension)
++            if os.path.exists(init_path):
++                path = init_path
+                 break
+         else:
+             raise ValueError('{!r} is not a package'.format(path))
index 6a862bfa379bab1aa07b9ac4ab7985399ff1aab3..a87c58ecb2feccb5f83a43a362c3a051cf5b35ea 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=confuse
-PKG_VERSION:=3.1
+PKG_VERSION:=3.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://github.com/martinh/libconfuse/releases/download/v$(PKG_VERSION)
-PKG_HASH:=8171f31e0071d5e4460269fdcc8b4e748cf23b4bf6bbe672f718a136dd63ca66
+PKG_HASH:=a46abb8696026d314197b6a70ae1a1c296342a9a68aa69b1935709c1477a4e48
 PKG_MAINTAINER:=Daniel Engberg <daniel.engberg.lists@pyret.net>
 PKG_LICENSE:=ISC
 
index 9c8bac55c50ba34c7a0d098be7e3ad9c17cea95a..04cbe5e6a4f327ca1420b1ec7c54be7db15e0ffd 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=glib2
-PKG_VERSION:=2.50.3
+PKG_VERSION:=2.52.3
 PKG_RELEASE:=1
 
 PKG_SOURCE:=glib-$(PKG_VERSION).tar.xz
 PKG_BUILD_DIR:=$(BUILD_DIR)/glib-$(PKG_VERSION)
-PKG_SOURCE_URL:=@GNOME/glib/2.50
-PKG_HASH:=82ee94bf4c01459b6b00cb9db0545c2237921e3060c0b74cff13fbc020cfd999
+PKG_SOURCE_URL:=@GNOME/glib/2.52
+PKG_HASH:=25ee7635a7c0fcd4ec91cbc3ae07c7f8f5ce621d8183511f414ded09e7e4e128
 
 PKG_BUILD_PARALLEL:=1
 HOST_BUILD_PARALLEL:=1
index 05c28ca157e74613fa9436e9cf020558251c3f5e..19ea0ab26987a2a55a7d0d77496ec8d05118b80d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/gtk-doc.make
 +++ b/gtk-doc.make
-@@ -282,7 +282,7 @@ uninstall-local:
+@@ -277,7 +277,7 @@ uninstall-local:
  #
  # Require gtk-doc when making dist
  #
index 0c76435711d621b2bb4ec744368b46746eee9b99..70e15c0e845711171d30bffabdffbacb38060f86 100644 (file)
@@ -8,12 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=glpk
-PKG_VERSION:=4.60
+PKG_VERSION:=4.62
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
-PKG_MD5SUM:=eda7965907f6919ffc69801646f13c3e
+PKG_HASH:=096e4be3f83878ccf70e1fdb62ad1c178715ef8c0d244254c29e2f9f0c1afa70
+PKG_MD5SUM:=ad4f681463db1b78ad88b956b736fa25
 
 PKG_LICENSE:=GPL-3.0
 PKG_LICENSE_FILES:=COPYING
index aba32559efa1c537fbf39acce131ca04bcba85ca..3223a63db62b208af2c3df573cb9f9cd90f4e86c 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gnutls
-PKG_VERSION:=3.5.11
+PKG_VERSION:=3.5.13
 PKG_RELEASE:=1
 PKG_USE_MIPS16:=0
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=ftp://ftp.gnutls.org/gcrypt/gnutls/v3.5
-PKG_HASH:=51765cc5579e250da77fbd7871507c517d01b15353cc40af7b67e9ec7b6fe28f
+PKG_HASH:=79f5480ad198dad5bc78e075f4a40c4a315a1b2072666919d2d05a08aec13096
 #PKG_FIXUP:=autoreconf gettext-version
 PKG_MAINTAINER:=Nikos Mavrogiannopoulos <nmav@gnutls.org>
 PKG_LICENSE:=LGPLv2.1+
index d4c07c2f8974fc585c0cb9d4efbfc691b4a2f3b4..aa0252017b57af881e8b492bfdd4c9a7517d48fe 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=icu4c
 PKG_VERSION:=59.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-59_1-src.tgz
 PKG_SOURCE_URL:=http://download.icu-project.org/files/$(PKG_NAME)/$(PKG_VERSION)
diff --git a/libs/icu/patches/002-Disable-LDFLAGSICUDT-for-Linux.patch b/libs/icu/patches/002-Disable-LDFLAGSICUDT-for-Linux.patch
new file mode 100644 (file)
index 0000000..bdab3f9
--- /dev/null
@@ -0,0 +1,28 @@
+From 0c82d6aa02c08e41b13c83b14782bd7024e25d59 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 15 Feb 2014 21:06:42 +0000
+Subject: [PATCH] Disable LDFLAGSICUDT for Linux
+
+Upstream-Status: Inappropriate [ OE Configuration ]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ source/config/mh-linux |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/config/mh-linux b/config/mh-linux
+index 366f0cc..2689aab 100644
+--- a/config/mh-linux
++++ b/config/mh-linux
+@@ -23,7 +23,7 @@ LD_RPATH= -Wl,-zorigin,-rpath,'$$'ORIGIN
+ LD_RPATH_PRE = -Wl,-rpath,
+ ## These are the library specific LDFLAGS
+-LDFLAGSICUDT=-nodefaultlibs -nostdlib
++# LDFLAGSICUDT=-nodefaultlibs -nostdlib
+ ## Compiler switch to embed a library name
+ # The initial tab in the next line is to prevent icu-config from reading it.
+-- 
+1.7.10.4
+
index dd8cef51422f405c700f1121ef2e2f161e72c4f9..c0847a6fbcd03f451af618862240cdc807086e3f 100644 (file)
@@ -1,6 +1,3 @@
-#
-# Copyright (C) 2007-2015 OpenWrt.org
-#
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
@@ -8,12 +5,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libevdev
-PKG_VERSION:=1.4.6
+PKG_VERSION:=1.5.6
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://www.freedesktop.org/software/libevdev/
-PKG_MD5SUM:=9b3f25bd8fb0f8efa4944d34668dddc0
+PKG_HASH:=ecec7e9d66b1d3692f10b3b20aa97fb25e874a784c5552a7b1698091fef5a688
 
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=COPYING
index 914dd562ee9fc078a48e8dc074377d31ffb2e408..578ef89be40834d8b0f87b6d6001d3debfb439a9 100644 (file)
@@ -6,16 +6,16 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libextractor
-PKG_VERSION:=1.3
-PKG_RELEASE:=4
+PKG_VERSION:=1.4
+PKG_RELEASE:=1
 
 # ToDo:
 # - package missing optional dependencies: libexiv2, gsf, librpm, smf, tidy
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
-PKG_MD5SUM:=35b8913dbebafe583a2781bf71509c48
-PKG_HASH:=868ad64c9a056d6b923d451d746935bffb1ddf5d89c3eb4f67d786001a3f7b7f
+PKG_MD5SUM:=226e77c58f09acb6b595ea6c6b93f673
+PKG_HASH:=84128170a4a9aa3a19942dd53fdf30ed17b56d7fae79b5f6e7e17a0d65d1f66c
 
 PKG_LICENSE:=GPL-3.0
 PKG_LICENSE_FILES:=COPYING
diff --git a/libs/libextractor/patches/001-backport-support-for-giflib-5-1.patch b/libs/libextractor/patches/001-backport-support-for-giflib-5-1.patch
deleted file mode 100644 (file)
index 7b7a2df..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/src/plugins/gif_extractor.c
-+++ b/src/plugins/gif_extractor.c
-@@ -78,7 +78,11 @@ EXTRACTOR_gif_extract_method (struct EXT
-   if (gif_file == NULL || gif_error != 0)
-   {
-     if (gif_file != NULL)
-+#if GIFLIB_MAJOR < 5 || GIFLIB_MINOR < 1
-       EGifCloseFile (gif_file);
-+#else
-+      EGifCloseFile (gif_file, NULL);
-+#endif
-     return; /* not a GIF */
-   }
- #endif
-@@ -133,7 +137,11 @@ EXTRACTOR_gif_extract_method (struct EXT
-              DGifGetExtensionNext(gif_file, &ext)) &&
-             (NULL != ext) ) ; /* keep going */
-     }
-+#if defined (GIF_LIB_VERSION) || GIFLIB_MAJOR < 5 || GIFLIB_MINOR < 1
-   DGifCloseFile (gif_file);
-+#else
-+  DGifCloseFile (gif_file, NULL);
-+#endif
- }
- /* end of gif_extractor.c */
diff --git a/libs/libextractor/patches/002-ffmpeg2.9_api_backport.patch b/libs/libextractor/patches/002-ffmpeg2.9_api_backport.patch
deleted file mode 100644 (file)
index f875729..0000000
+++ /dev/null
@@ -1,347 +0,0 @@
---- a/src/plugins/thumbnailffmpeg_extractor.c
-+++ b/src/plugins/thumbnailffmpeg_extractor.c
-@@ -59,6 +59,20 @@
- #include <ffmpeg/swscale.h>
- #endif
-+#if USE_JPEG
-+#ifdef PIX_FMT_YUVJ420P
-+#define PIX_OUTPUT_FORMAT PIX_FMT_YUVJ420P
-+#else
-+#define PIX_OUTPUT_FORMAT AV_PIX_FMT_YUVJ420P
-+#endif
-+#else
-+#ifdef PIX_FMT_RGB24
-+#define PIX_OUTPUT_FORMAT PIX_FMT_RGB24
-+#else
-+#define PIX_OUTPUT_FORMAT AV_PIX_FMT_RGB24
-+#endif
-+#endif
-+
- /**
-  * Set to 1 to enable debug output.
-  */ 
-@@ -153,7 +167,7 @@
- static size_t 
- create_thumbnail (int src_width, int src_height, 
-                 int src_stride[],
--                enum PixelFormat src_pixfmt, 
-+                enum AVPixelFormat src_pixfmt, 
-                 const uint8_t * const src_data[],
-                 int dst_width, int dst_height,
-                 uint8_t **output_data, 
-@@ -189,7 +203,8 @@
-   if (NULL == 
-       (scaler_ctx =
-        sws_getContext (src_width, src_height, src_pixfmt,
--                     dst_width, dst_height, PIX_FMT_RGB24, 
-+                     dst_width, dst_height,
-+                     PIX_OUTPUT_FORMAT, 
-                      SWS_BILINEAR, NULL, NULL, NULL)))
-     {
- #if DEBUG
-@@ -199,7 +214,12 @@
-       return 0;
-     }
--  if (NULL == (dst_frame = avcodec_alloc_frame ()))
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
-+  dst_frame = av_frame_alloc ();
-+#else
-+  dst_frame = avcodec_alloc_frame();
-+#endif
-+  if (NULL == dst_frame)
-     {
- #if DEBUG
-       fprintf (stderr,
-@@ -209,18 +229,24 @@
-       return 0;
-     }
-   if (NULL == (dst_buffer =
--             av_malloc (avpicture_get_size (PIX_FMT_RGB24, dst_width, dst_height))))
-+             av_malloc (avpicture_get_size (PIX_OUTPUT_FORMAT,
-+                                              dst_width, dst_height))))
-     {
- #if DEBUG
-       fprintf (stderr,
-                "Failed to allocate the destination image buffer\n");
- #endif
--      av_free (dst_frame);
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
-+      av_frame_free (&dst_frame);
-+#else
-+      avcodec_free_frame (&dst_frame);
-+#endif
-       sws_freeContext (scaler_ctx);
-       return 0;
-     }
-   avpicture_fill ((AVPicture *) dst_frame, dst_buffer,
--                  PIX_FMT_RGB24, dst_width, dst_height);
-+                  PIX_OUTPUT_FORMAT,
-+                  dst_width, dst_height);
-   sws_scale (scaler_ctx,
-              src_data, 
-              src_stride,
-@@ -236,7 +262,11 @@
-                "Failed to allocate the encoder output buffer\n");
- #endif
-       av_free (dst_buffer);
--      av_free (dst_frame);
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
-+      av_frame_free (&dst_frame);
-+#else
-+      avcodec_free_frame (&dst_frame);
-+#endif
-       sws_freeContext (scaler_ctx);
-       return 0;
-     }
-@@ -249,13 +279,17 @@
- #endif
-       av_free (encoder_output_buffer);
-       av_free (dst_buffer);
--      av_free (dst_frame);
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
-+      av_frame_free (&dst_frame);
-+#else
-+      avcodec_free_frame (&dst_frame);
-+#endif
-       sws_freeContext (scaler_ctx);
-       return 0;
-     }
-   encoder_codec_ctx->width = dst_width;
-   encoder_codec_ctx->height = dst_height;
--  encoder_codec_ctx->pix_fmt = PIX_FMT_RGB24;
-+  encoder_codec_ctx->pix_fmt = PIX_OUTPUT_FORMAT;
-   opts = NULL;
-   if (avcodec_open2 (encoder_codec_ctx, encoder_codec, &opts) < 0)
-     {
-@@ -263,10 +297,14 @@
-       fprintf (stderr,
-                "Failed to open the encoder\n");
- #endif
--      av_free (encoder_codec_ctx);
-+      avcodec_free_context (&encoder_codec_ctx);
-       av_free (encoder_output_buffer);
-       av_free (dst_buffer);
--      av_free (dst_frame);
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
-+      av_frame_free (&dst_frame);
-+#else
-+      avcodec_free_frame (&dst_frame);
-+#endif
-       sws_freeContext  (scaler_ctx);
-       return 0;
-     }
-@@ -295,9 +333,13 @@
- cleanup:
-   av_dict_free (&opts);
-   avcodec_close (encoder_codec_ctx);
--  av_free (encoder_codec_ctx);
-+  avcodec_free_context (&encoder_codec_ctx);
-   av_free (dst_buffer);
--  av_free (dst_frame);
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
-+  av_frame_free (&dst_frame);
-+#else
-+  avcodec_free_frame (&dst_frame);
-+#endif
-   sws_freeContext (scaler_ctx);
-   *output_data = encoder_output_buffer;
-@@ -406,18 +448,23 @@
-       fprintf (stderr,
-              "Failed to open image codec\n");
- #endif
--      av_free (codec_ctx);
-+      avcodec_free_context (&codec_ctx);
-       return;
-     }
-   av_dict_free (&opts);
--  if (NULL == (frame = avcodec_alloc_frame ()))
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
-+  frame = av_frame_alloc ();
-+#else
-+  frame = avcodec_alloc_frame();
-+#endif
-+  if (NULL == frame)
-     {
- #if DEBUG
-       fprintf (stderr,
-                "Failed to allocate frame\n");
- #endif
-       avcodec_close (codec_ctx);
--      av_free (codec_ctx);
-+      avcodec_free_context (&codec_ctx);
-       return;
-     }
-@@ -441,9 +488,13 @@
-       fprintf (stderr,
-              "Failed to decode a complete frame\n");
- #endif
--      av_free (frame);
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
-+      av_frame_free (&frame);
-+#else
-+      avcodec_free_frame (&frame);
-+#endif
-       avcodec_close (codec_ctx);
--      av_free (codec_ctx);
-+      avcodec_free_context (&codec_ctx);
-       return;
-     }
-   calculate_thumbnail_dimensions (codec_ctx->width, codec_ctx->height,
-@@ -467,9 +518,13 @@
-               err);
-       av_free (encoded_thumbnail);
-     }
--  av_free (frame);
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
-+  av_frame_free (&frame);
-+#else
-+  avcodec_free_frame (&frame);
-+#endif
-   avcodec_close (codec_ctx);
--  av_free (codec_ctx);
-+  avcodec_free_context (&codec_ctx);
- }
-@@ -563,7 +618,12 @@
-       return;
-     }
--  if (NULL == (frame = avcodec_alloc_frame ()))
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
-+  frame = av_frame_alloc ();
-+#else
-+  frame = avcodec_alloc_frame();
-+#endif
-+  if (NULL == frame)
-     {
- #if DEBUG
-       fprintf (stderr,
-@@ -616,7 +676,11 @@
-       fprintf (stderr,
-              "Failed to decode a complete frame\n");
- #endif
--      av_free (frame);
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
-+      av_frame_free (&frame);
-+#else
-+      avcodec_free_frame (&frame);
-+#endif
-       avcodec_close (codec_ctx);
-       avformat_close_input (&format_ctx);
-       av_free (io_ctx);
-@@ -643,7 +707,11 @@
-               err);
-       av_free (encoded_thumbnail);
-     }
--  av_free (frame);
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
-+  av_frame_free (&frame);
-+#else
-+  avcodec_free_frame (&frame);
-+#endif
-   avcodec_close (codec_ctx);
-   avformat_close_input (&format_ctx);
-   av_free (io_ctx);
---- a/src/plugins/previewopus_extractor.c
-+++ b/src/plugins/previewopus_extractor.c
-@@ -296,7 +296,12 @@
- /** Initialize one audio frame for reading from the input file */
- static int init_input_frame(AVFrame **frame)
- {
--    if (!(*frame = avcodec_alloc_frame())) {
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
-+    *frame = av_frame_alloc ();
-+#else
-+    *frame = avcodec_alloc_frame();
-+#endif
-+    if (NULL == *frame) {
-  #if DEBUG
-         fprintf(stderr, "Could not allocate input frame\n");
- #endif
-@@ -655,7 +660,11 @@
-         av_freep(&converted_input_samples[0]);
-         free(converted_input_samples);
-     }
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
-+    av_frame_free (&input_frame);
-+#else
-     avcodec_free_frame(&input_frame);
-+#endif
-     return ret;
- }
-@@ -671,7 +680,12 @@
-     int error;
-     /** Create a new frame to store the audio samples. */
--    if (!(*frame = avcodec_alloc_frame())) {
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
-+    *frame = av_frame_alloc ();
-+#else
-+    *frame = avcodec_alloc_frame();
-+#endif
-+    if (NULL == *frame) {
-         #if DEBUG
-               fprintf(stderr, "Could not allocate output frame\n");
-               #endif
-@@ -702,7 +716,11 @@
-         #if DEBUG
-               fprintf(stderr, "Could allocate output frame samples (error '%s')\n", get_error_text(error));
-               #endif
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
-+        av_frame_free (frame);
-+#else
-         avcodec_free_frame(frame);
-+#endif
-         return error;
-     }
-@@ -783,17 +801,29 @@
-         #if DEBUG
-               fprintf(stderr, "Could not read data from FIFO\n");
-               #endif
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
-+        av_frame_free (&output_frame);
-+#else
-         avcodec_free_frame(&output_frame);
-+#endif
-         return AVERROR_EXIT;
-     }
-     /** Encode one frame worth of audio samples. */
-     if (encode_audio_frame(output_frame, output_format_context,
-                            output_codec_context, &data_written)) {
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
-+        av_frame_free (&output_frame);
-+#else
-         avcodec_free_frame(&output_frame);
-+#endif
-         return AVERROR_EXIT;
-     }
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
-+    av_frame_free (&output_frame);
-+#else
-     avcodec_free_frame(&output_frame);
-+#endif
-     return 0;
- }
- /** Write the trailer of the output file container. */
-@@ -907,7 +937,12 @@
-       return;
-     }
--  if (NULL == (frame = avcodec_alloc_frame ()))
-+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(55,28,1)
-+  frame = av_frame_alloc ();
-+#else
-+  frame = avcodec_alloc_frame();
-+#endif
-+  if (NULL == frame)
-     {
- #if DEBUG
-       fprintf (stderr,
index 66bfbf7c87d5522053d5d44f4d5526e7ac53916b..20a5585b132a01e74dcce1bd8ae2197bfd1098e4 100644 (file)
@@ -10,13 +10,12 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libgphoto2
 PKG_VERSION:=2.5.14
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PORT_VERSION:=0.12.0
 PKG_MAINTAINER:=Leonardo Medici <leonardo_medici@me.com>
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=@SF/gphoto
-PKG_MD5SUM:=65acb6cbd2b4f3f46829599f5dabd89c
 PKG_HASH:=d3ce70686fb87d6791b9adcbb6e5693bfbe1cfef9661c23c75eb8a699ec4e274
 PKG_LICENSE:=LGPL-2.1
 PKG_LICENSE_FILES:=COPYING
@@ -436,16 +435,15 @@ CONFIGURE_ARGS += \
        --enable-static \
        --disable-rpath \
        --with-camlibs="all" \
+       --with-gdlib=no \
+       --with-libexif=no \
+       --with-libusb=no \
+       --with-libusb-1.0=auto \
+       --with-libxml-2.0=no \
        --without-included-ltdl \
+       --without-jpeg \
        --without-libiconv-prefix \
        --without-libintl-prefix \
-       --without-gd \
-       --without-jpeg \
-       --with-libexif=no \
-       --without-libxml2 \
-       --with-libxml-2.0=no \
-       --with-libusb-1.0=auto \
-       --with-libusb=no
 
 CONFIGURE_VARS += \
        CPPFLAGS="$$$$CPPFLAGS $(ICONV_CFLAGS)" \
diff --git a/libs/libiio/Makefile b/libs/libiio/Makefile
new file mode 100644 (file)
index 0000000..4a9b440
--- /dev/null
@@ -0,0 +1,105 @@
+#
+# Copyright (C) 2017 Michael Heimpold <mhei@heimpold.de>
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libiio
+PKG_VERSION:=0.10
+PKG_RELEASE:=4
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/analogdevicesinc/libiio/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=002d57f35715821efae66479859bc5357b4d8d33bfff1446b4e17b02ae2c10d2
+
+PKG_LICENSE:=LGPL-2.1
+PKG_LICENSE_FILES:=COPYING.txt
+
+PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
+
+PKG_BUILD_PARALLEL:=1
+PKG_INSTALL:=1
+
+CMAKE_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+define Package/libiio
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=Library for interfacing with Linux IIO devices
+  URL:=https://github.com/analogdevicesinc/libiio
+  DEPENDS:=+PACKAGE_libaio:libaio +PACKAGE_libusb-1.0:libusb-1.0 \
+           +PACKAGE_libavahi-common:libavahi-common +PACKAGE_libavahi-client:libavahi-client +libxml2
+endef
+
+define Package/libiio/description
+  libiio is used to interface to the Linux Industrial Input/Output (IIO) Subsystem.
+  The Linux IIO subsystem is intended to provide support for devices that in some
+  sense are analog to digital or digital to analog converters (ADCs, DACs). This
+  includes, but is not limited to ADCs, Accelerometers, Gyros, IMUs, Capacitance
+  to Digital Converters (CDCs), Pressure Sensors, Color, Light and Proximity Sensors,
+  Temperature Sensors, Magnetometers, DACs, DDS (Direct Digital Synthesis),
+  PLLs (Phase Locked Loops), Variable/Programmable Gain Amplifiers (VGA, PGA),
+  and RF transceivers. You can use libiio natively on an embedded Linux
+  target (local mode), or use libiio to communicate remotely to that same target
+  from a host Linux, Windows or MAC over USB or Ethernet or Serial.
+endef
+
+define Package/iiod
+  SECTION:=net
+  CATEGORY:=Network
+  TITLE:=Linux IIO daemon
+  URL:=https://github.com/analogdevicesinc/libiio
+  DEPENDS:=+libiio
+endef
+
+define Package/libiio/description
+  Daemon to access IIO devices via network.
+endef
+
+define Package/iio-utils
+  SECTION:=utils
+  CATEGORY:=Utilities
+  TITLE:=Linux IIO tools
+  URL:=https://github.com/analogdevicesinc/libiio
+  DEPENDS:=+libiio
+endef
+
+define Package/iio-utils/description
+  Command tools for IIO devices.
+endef
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include
+       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/iio.h $(1)/usr/include/
+
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libiio.so* $(1)/usr/lib/
+
+       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libiio.pc $(1)/usr/lib/pkgconfig/
+endef
+
+define Package/libiio/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libiio.so* $(1)/usr/lib/
+endef
+
+define Package/iiod/install
+       $(INSTALL_DIR) $(1)/usr/sbin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/iiod $(1)/usr/sbin/
+endef
+
+define Package/iio-utils/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
+endef
+
+$(eval $(call BuildPackage,libiio))
+$(eval $(call BuildPackage,iiod))
+$(eval $(call BuildPackage,iio-utils))
index 988488bb415a1c054193ae0c951ce31d7453d11b..a90d13c575045dd8bad8aa146b3e22deb7123902 100644 (file)
@@ -1,6 +1,3 @@
-#
-# Copyright (C) 2007-2015 OpenWrt.org
-#
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
@@ -8,12 +5,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libinput
-PKG_VERSION:=1.3.1
+PKG_VERSION:=1.7.3
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://www.freedesktop.org/software/libinput/
-PKG_MD5SUM:=458fc483f7227d3c4c330f4abd6dfa77
+PKG_HASH:=096d612d2711f0caa2de544976ff3729e6233511ab373808644cc2dd5affcb1d
 
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=COPYING
@@ -33,7 +30,7 @@ define Package/libinput
   CATEGORY:=Libraries
   TITLE:=a library to handle input devices
   URL:=http://freedesktop.org/wiki/Software/libinput/
-  DEPENDS:=+libevdev +mtdev +libudev
+  DEPENDS:=+libevdev +mtdev +libudev-fbsd
 endef
 
 define Package/libinput/description
index 8f5c5a1cacf33716f8f9df2b6b9704eba67f4ae7..adf9abeb80cfa129ed38b7dbf766dbb5a3c3608f 100644 (file)
@@ -1,22 +1,38 @@
 --- a/src/libinput-util.c
 +++ b/src/libinput-util.c
-@@ -216,18 +216,10 @@ parse_mouse_wheel_click_angle_property(c
- double
- parse_trackpoint_accel_property(const char *prop)
+@@ -31,7 +31,6 @@
+ #include "config.h"
+ #include <ctype.h>
+-#include <locale.h>
+ #include <stdarg.h>
+ #include <stdbool.h>
+ #include <stdio.h>
+--- a/src/libinput-util.h
++++ b/src/libinput-util.h
+@@ -30,7 +30,6 @@
+ #include <assert.h>
+ #include <errno.h>
+ #include <limits.h>
+-#include <locale.h>
+ #include <math.h>
+ #include <stdarg.h>
+ #include <stdbool.h>
+@@ -448,16 +447,8 @@ safe_atod(const char *str, double *val)
  {
+       char *endptr;
+       double v;
 -      locale_t c_locale;
-       double accel;
-       char *endp;
  
 -      /* Create a "C" locale to force strtod to use '.' as separator */
 -      c_locale = newlocale(LC_NUMERIC_MASK, "C", (locale_t)0);
 -      if (c_locale == (locale_t)0)
--              return 0.0;
--
--      accel = strtod_l(prop, &endp, c_locale);
+-              return false;
 -
+-      errno = 0;
+-      v = strtod_l(str, &endptr, c_locale);
 -      freelocale(c_locale);
-+      accel = strtod(prop, &endp);
-       if (*endp != '\0')
-               return 0.0;
++      v = strtod(str, &endptr);
+       if (errno > 0)
+               return false;
+       if (str == endptr)
index e5aaee26faa5e0a49c03d953d350129fb4fbc8dc..e5b12448eb044e9f89a965098c4899c2e46caba0 100644 (file)
@@ -1,6 +1,6 @@
 --- a/src/evdev-tablet.c
 +++ b/src/evdev-tablet.c
-@@ -1155,9 +1155,11 @@ static void
+@@ -1204,9 +1204,11 @@ static void
  tablet_mark_all_axes_changed(struct tablet_dispatch *tablet,
                             struct libinput_tablet_tool *tool)
  {
index 8b39084a3063c437f3c81dbe7c87a72702abcdbf..2c79ef767772c985fe0de5d800b3f3b9dd627a23 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libmicrohttpd
-PKG_VERSION:=0.9.52
+PKG_VERSION:=0.9.55
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@GNU/libmicrohttpd
-PKG_MD5SUM:=54797f6e763d417627f89f60e4ae0a431dab0523f92f83def23ea02d0defafea
+PKG_HASH:=0c1cab8dc9f2588bd3076a28f77a7f8de9560cbf2d80e53f9a8696ada80ed0f8
 
 PKG_MAINTAINER:=Alexander Couzens <lynxis@fe80.eu>
 
index 84591f01d8da6027896993200a5de61d2c1e8c67..c4ec90bfc77d69713ff9555f00cb7ecb2ad2d1fa 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libnet
 PKG_VERSION:=1.2-rc3
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://sourceforge.net/projects/libnet-dev/files/
@@ -53,14 +53,14 @@ endef
 
 
 define Build/InstallDev
-       $(INSTALL_DIR) $(STAGING_DIR)/usr/lib/libnet-1.2.x/include
-       $(CP) $(PKG_INSTALL_DIR)/usr/include/libnet.h $(STAGING_DIR)/usr/lib/libnet-1.2.x/include
+       $(INSTALL_DIR) $(STAGING_DIR)/usr/include
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/libnet.h $(STAGING_DIR)/usr/include
 
-       $(INSTALL_DIR) $(STAGING_DIR)/usr/lib/libnet-1.2.x/include/libnet
-       $(CP) $(PKG_INSTALL_DIR)/usr/include/libnet/libnet-*.h $(STAGING_DIR)/usr/lib/libnet-1.2.x/include/libnet
+       $(INSTALL_DIR) $(STAGING_DIR)/usr/include/libnet
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/libnet/libnet-*.h $(STAGING_DIR)/usr/include/libnet
 
-       $(INSTALL_DIR) $(STAGING_DIR)/usr/lib/libnet-1.2.x/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnet.{a,la,so*} $(STAGING_DIR)/usr/lib/libnet-1.2.x/lib
+       $(INSTALL_DIR) $(STAGING_DIR)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnet.{a,la,so*} $(STAGING_DIR)/usr/lib
 endef
 
 define Package/libnet-1.2.x/install
index fe964055d1358174005be135d13f610130205aee..67940f09292ea70f4cdf76b771e3adf8544e3d75 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=nopoll
 PKG_VERSION:=0.4.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/ASPLes/nopoll.git
@@ -40,6 +40,8 @@ define Package/libnopoll/description
   This package contains the noPoll C WebSocket library.
 endef
 
+TARGET_LDFLAGS += -lcrypto -lpthread
+
 CONFIGURE_ARGS += \
        --enable-nopoll-log=no \
        --enable-nopoll-doc=no
diff --git a/libs/libnopoll/patches/001-param_h_rename.patch b/libs/libnopoll/patches/001-param_h_rename.patch
new file mode 100644 (file)
index 0000000..2eb0340
--- /dev/null
@@ -0,0 +1,66 @@
+From 675ac7b4b64d398de8a61e9c713383b8c0d9071f Mon Sep 17 00:00:00 2001
+From: Florian Fainelli <f.fainelli@gmail.com>
+Date: Tue, 20 Jun 2017 20:06:36 -0700
+Subject: [PATCH] nopoll: * [fix] Avoid clashes with isset() from sys/param.h
+
+---
+ src/nopoll_io.c      | 4 ++--
+ src/nopoll_loop.c    | 4 ++--
+ src/nopoll_private.h | 4 ++--
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/nopoll_io.c b/src/nopoll_io.c
+index 036aa2c1c685..b3e48c2385d0 100644
+--- a/src/nopoll_io.c
++++ b/src/nopoll_io.c
+@@ -204,8 +204,8 @@ noPollIoEngine * nopoll_io_get_engine (noPollCtx * ctx, noPollIoEngineType engin
+       engine->destroy = nopoll_io_wait_select_destroy;
+       engine->clear   = nopoll_io_wait_select_clear;
+       engine->wait    = nopoll_io_wait_select_wait;
+-      engine->addto   = nopoll_io_wait_select_add_to;
+-      engine->isset   = nopoll_io_wait_select_is_set;
++      engine->add_to  = nopoll_io_wait_select_add_to;
++      engine->is_set  = nopoll_io_wait_select_is_set;
+       /* call to create the object */
+       engine->ctx       = ctx;
+diff --git a/src/nopoll_loop.c b/src/nopoll_loop.c
+index f58b8133b79a..60112f8dbf58 100644
+--- a/src/nopoll_loop.c
++++ b/src/nopoll_loop.c
+@@ -64,7 +64,7 @@ nopoll_bool nopoll_loop_register (noPollCtx * ctx, noPollConn * conn, noPollPtr
+       /* register the connection socket */
+       /* nopoll_log (ctx, NOPOLL_LEVEL_DEBUG, "Adding socket id: %d", conn->session);*/
+-      if (! ctx->io_engine->addto (conn->session, ctx, conn, ctx->io_engine->io_object)) {
++      if (! ctx->io_engine->add_to (conn->session, ctx, conn, ctx->io_engine->io_object)) {
+               /* remove this connection from registry */
+               nopoll_ctx_unregister_conn (ctx, conn);
+@@ -109,7 +109,7 @@ nopoll_bool nopoll_loop_process (noPollCtx * ctx, noPollConn * conn, noPollPtr u
+       int        * conn_changed = (int *) user_data;
+       /* check if the connection have something to notify */
+-      if (ctx->io_engine->isset (ctx, conn->session, ctx->io_engine->io_object)) {
++      if (ctx->io_engine->is_set (ctx, conn->session, ctx->io_engine->io_object)) {
+               /* call to notify action according to role */
+               switch (conn->role) {
+diff --git a/src/nopoll_private.h b/src/nopoll_private.h
+index 82fd27bb7fba..cd895d1e3ffd 100644
+--- a/src/nopoll_private.h
++++ b/src/nopoll_private.h
+@@ -340,8 +340,8 @@ struct _noPollIoEngine {
+       noPollIoMechDestroy    destroy;
+       noPollIoMechClear      clear;
+       noPollIoMechWait       wait;
+-      noPollIoMechAddTo      addto;
+-      noPollIoMechIsSet      isset;
++      noPollIoMechAddTo      add_to;
++      noPollIoMechIsSet      is_set;
+ };
+ struct _noPollMsg {
+-- 
+2.11.0
+
index 01bd25a1f697c11a4da6a7967492d7bd1fb71413..99eba1c2554e45f0c9b56595474ff67775e5980f 100644 (file)
@@ -1,26 +1,24 @@
-#
-# 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
 
-LOWFAT_VERSION=0.30
-
 PKG_NAME:=libowfat
-PKG_VERSION:=$(LOWFAT_VERSION)
+PKG_VERSION:=0.31
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=http://www.fefe.de/libowfat
-PKG_MD5SUM:=f0119532ea834ce9e80afe49d7d85512
+PKG_HASH:=d1e4ac1cfccbb7dc51d77d96398e6302d229ba7538158826c84cb4254c7e8a12
 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
 PKG_LICENSE:=GPL-2.0
 PKG_LICENSE_FILES:=COPYING
 
+PKG_BUILD_DEPENDS += libowfat/host
+
 include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
 
 # set to 1 to enable debugging
 DEBUG=
@@ -39,7 +37,13 @@ TARGET_CFLAGS += $(FPIC)
 LOWFAT_MAKEOPTS = $(TARGET_CONFIGURE_OPTS) \
        CFLAGS="$(TARGET_CFLAGS) -I$(PKG_BUILD_DIR) -I$(STAGING_DIR)/usr/include" \
        DEBUG="$(DEBUG)" \
-       VERSION="$(LOWFAT_VERSION)" \
+       VERSION="$(PKG_VERSION)" \
+       OS="Linux"
+
+LOWFAT_HOST_MAKEOPTS = $(HOST_CONFIGURE_OPTS) \
+       CFLAGS="$(HOST_CFLAGS) -I$(HOST_BUILD_DIR) -I$(STAGING_DIR_HOSTPKG)/include" \
+       DEBUG="$(DEBUG)" \
+       VERSION="$(PKG_VERSION)" \
        OS="Linux"
 
 # work around a nasty gcc bug
@@ -51,6 +55,15 @@ define Build/Compile
        $(MAKE) -C $(PKG_BUILD_DIR) $(LOWFAT_MAKEOPTS)
 endef
 
+define Host/Compile
+       $(MAKE) -C $(HOST_BUILD_DIR) $(LOWFAT_HOST_MAKEOPTS) ent
+endef
+
+define Host/Install
+       $(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/bin
+       $(CP) $(HOST_BUILD_DIR)/ent $(STAGING_DIR_HOSTPKG)/bin/libowfat-ent
+endef
+
 define Build/InstallDev
        mkdir -p $(1)/usr/include/libowfat
        $(CP) $(PKG_BUILD_DIR)/*.h $(1)/usr/include/libowfat
@@ -58,4 +71,5 @@ define Build/InstallDev
        $(CP) $(PKG_BUILD_DIR)/*.a $(1)/usr/lib
 endef
 
+$(eval $(call HostBuild))
 $(eval $(call BuildPackage,libowfat))
index a21fcd0ee2cdc5719aa18780a9d3d8728e822741..5f4f06df35513cf99d8e2003c57f8ee6d046a116 100644 (file)
@@ -1,6 +1,6 @@
 --- a/GNUmakefile
 +++ b/GNUmakefile
-@@ -278,6 +278,8 @@ socket_accept4.o socket_accept6.o socket
+@@ -343,6 +343,8 @@ socket_accept4.o socket_accept6.o socket
  socket_local6.o socket_recv4.o socket_recv6.o socket_remote4.o \
  socket_remote6.o: havesl.h
  
@@ -9,3 +9,11 @@
  dns_nd6.o fmt_xlong.o scan_xlong.o fmt_ip6_flat.o $(TEXTCODE_OBJS): haveinline.h
  
  iob_send.o scan_ip6if.o: havealloca.h
+@@ -372,6 +374,6 @@ update:
+       dl -n http://www.w3.org/TR/html5/entities.json
+ entities.h: entities.json ent
+-      ./ent
++      libowfat-ent
+ scan_html.o: entities.h
index c477d2b1ad50de1e6c4e99134e32bc381c7b87bf..67ab15452dcfb8ba24729a23fa6fe8af2110600f 100644 (file)
@@ -8,9 +8,9 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libp11
-PKG_VERSION:=0.4.1
-PKG_RELEASE:=2
-PKG_MD5SUM:=70489f6dbe0b7fd72aab010c25016fa047723f67ea50ce9ae73bc8d38181b673
+PKG_VERSION:=0.4.6
+PKG_RELEASE:=1
+PKG_HASH:=03d4990c17c8dc1ba18a442a944acca6c03f4a3972be9aea6e727882f2be6d7c
 
 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
 PKG_LICENSE:=LGPL-2.1+
index eb9b7741f4ee13932608621ebc958cad9ec1bcb5..9766b804555033b683cc99902eb5511424db2e09 100644 (file)
@@ -1,25 +1,22 @@
-Index: libp11-0.4.1/src/Makefile.am
-===================================================================
---- libp11-0.4.1.orig/src/Makefile.am
-+++ libp11-0.4.1/src/Makefile.am
-@@ -36,12 +36,6 @@ pkcs11_la_LIBADD = $(libp11_la_OBJECTS)
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -47,13 +47,6 @@ pkcs11_la_LIBADD = $(libp11_la_OBJECTS)
  pkcs11_la_LDFLAGS = $(AM_LDFLAGS) -module -shared -shrext $(SHARED_EXT) \
        -avoid-version -export-symbols "$(srcdir)/pkcs11.exports"
  
 -# OpenSSL older than 1.1.0 expected libpkcs11.so instead of pkcs11.so
 -check-local: $(LTLIBRARIES)
 -      cd .libs && $(LN_S) -f pkcs11$(SHARED_EXT) libpkcs11$(SHARED_EXT)
+-
 -install-exec-hook:
--      cd '$(DESTDIR)$(enginesdir)' && $(LN_S) -f pkcs11$(SHARED_EXT) libpkcs11$(SHARED_EXT)
+-      cd '$(DESTDIR)$(enginesexecdir)' && $(LN_S) -f pkcs11$(SHARED_EXT) libpkcs11$(SHARED_EXT)
 -
  if WIN32
  # def file required for MS users to build library
  mylibdir=$(libdir)
-Index: libp11-0.4.1/src/Makefile.in
-===================================================================
---- libp11-0.4.1.orig/src/Makefile.in
-+++ libp11-0.4.1/src/Makefile.in
-@@ -839,7 +839,7 @@ distdir: $(DISTFILES)
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -844,7 +844,7 @@ distdir: $(DISTFILES)
          fi; \
        done
  check-am: all-am
@@ -28,42 +25,30 @@ Index: libp11-0.4.1/src/Makefile.in
  check: check-am
  all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS) config.h
  installdirs:
-@@ -910,7 +910,7 @@ install-dvi-am:
+@@ -915,7 +915,7 @@ install-dvi-am:
  
- install-exec-am: install-libLTLIBRARIES
+ install-exec-am: install-enginesexecLTLIBRARIES install-libLTLIBRARIES
        @$(NORMAL_INSTALL)
 -      $(MAKE) $(AM_MAKEFLAGS) install-exec-hook
 +      $(MAKE) $(AM_MAKEFLAGS)
  install-html: install-html-am
  
  install-html-am:
-@@ -955,7 +955,7 @@ uninstall-am: uninstall-enginesLTLIBRARI
+@@ -960,7 +960,7 @@ uninstall-am: uninstall-enginesexecLTLIB
  
  .MAKE: all check-am install-am install-exec-am install-strip
  
 -.PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
 +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
-       clean-enginesLTLIBRARIES clean-generic clean-libLTLIBRARIES \
-       clean-libtool cscopelist-am ctags ctags-am distclean \
-       distclean-compile distclean-generic distclean-hdr \
-@@ -963,7 +963,7 @@ uninstall-am: uninstall-enginesLTLIBRARI
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am \
-       install-enginesLTLIBRARIES install-exec install-exec-am \
+       clean-enginesexecLTLIBRARIES clean-generic \
+       clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
+       ctags-am distclean distclean-compile distclean-generic \
+@@ -968,7 +968,7 @@ uninstall-am: uninstall-enginesexecLTLIB
+       dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-enginesexecLTLIBRARIES install-exec install-exec-am \
 -      install-exec-hook install-html install-html-am \
 +      install-html install-html-am \
        install-includeHEADERS install-info install-info-am \
        install-libLTLIBRARIES install-man install-mylibDATA \
        install-pdf install-pdf-am install-pkgconfigDATA install-ps \
-@@ -979,11 +979,6 @@ uninstall-am: uninstall-enginesLTLIBRARI
-       $(srcdir)/config.h.in $(srcdir)/config.h.in~
--# OpenSSL older than 1.1.0 expected libpkcs11.so instead of pkcs11.so
--check-local: $(LTLIBRARIES)
--      cd .libs && $(LN_S) -f pkcs11$(SHARED_EXT) libpkcs11$(SHARED_EXT)
--install-exec-hook:
--      cd '$(DESTDIR)$(enginesdir)' && $(LN_S) -f pkcs11$(SHARED_EXT) libpkcs11$(SHARED_EXT)
- @WIN32_TRUE@.libs/@WIN_LIBPREFIX@p11-@LIBP11_LT_OLDEST@.dll.def:      libp11.la
- .rc.lo:
index 2a787f29627fb0fd9dc980ff4af570b4acbaf5e4..dab83e5f3e702f5f874ad903c3da4427fb389179 100644 (file)
@@ -8,8 +8,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libplist
-PKG_VERSION:=1.13
-PKG_RELEASE:=2
+PKG_VERSION:=2.0.0
+PKG_RELEASE:=3
 
 PKG_MAINTAINER:=Lukasz Baj <l.baj@radytek.com>
 PKG_LICENSE:=LGPL-2.1+
@@ -18,7 +18,7 @@ PKG_LICENSE_FILES:=COPYING.LESSER
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/libimobiledevice/libplist.git
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=060eda6b1846968aa40b0d38dcf92ac46f933417
+PKG_SOURCE_VERSION:=62ec804736435fa34e37e66e228e17e2aacee1d7
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
 
 PKG_FIXUP:=autoreconf
index d9ec6440da5937a0928b5f99b0aac96b58201111..3d51254764c8fe516e8b1ab45702d4fb9859e303 100644 (file)
@@ -28,7 +28,7 @@ include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/cmake.mk
 
 define Package/libssh
-  SECTION:=lib
+  SECTION:=libs
   CATEGORY:=Libraries
   URL:=$(PKG_SOURCE_URL)
   TITLE:=SSH library
index 466547d463f1364908523deffacd483c4ae79d66..b6cf94503ca93a9c8166f51f331fd161f172b0f0 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libtasn1
-PKG_VERSION:=4.9
+PKG_VERSION:=4.12
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
-PKG_MD5SUM:=4f6f7a8fd691ac2b8307c8ca365bad711db607d4ad5966f6938a9d2ecd65c920
+PKG_HASH:=6753da2e621257f33f5b051cc114d417e5206a0818fe0b1ecfd6153f70934753
 PKG_LICENSE:=LGPLv2.1+
 PKG_LICENSE_FILES:=COPYING.LIB
 
diff --git a/libs/libudev-fbsd/Makefile b/libs/libudev-fbsd/Makefile
new file mode 100644 (file)
index 0000000..7eba724
--- /dev/null
@@ -0,0 +1,50 @@
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libudev-fbsd
+
+PKG_RELEASE:=2
+PKG_VERSION:=20160820
+PKG_SOURCE_VERSION:=1f21323b817e70253d3c04bc8bedd61c477d0544
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/jiixyj/libudev-fbsd.git
+
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=COPYING
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+define Package/libudev-fbsd
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=small udev shim for FreeBSD/devd (and other non-systemd)
+  URL:=https://github.com/jiixyj/libudev-fbsd
+  DEPENDS:=+libevdev
+  PROVIDES:=libudev
+  CONFLICTS:=libudev eudev udev
+endef
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(1)/usr/lib/pkgconfig/
+endef
+
+define Package/libudev-fbsd/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,libudev-fbsd))
diff --git a/libs/libudev-fbsd/patches/001-fix-unused.patch b/libs/libudev-fbsd/patches/001-fix-unused.patch
new file mode 100644 (file)
index 0000000..1949433
--- /dev/null
@@ -0,0 +1,42 @@
+--- a/src/libudev.c
++++ b/src/libudev.c
+@@ -354,7 +354,7 @@ udev_device_get_subsystem(struct udev_de
+ const char *
+ udev_device_get_sysattr_value(
+-    struct udev_device *udev_device __unused, const char *sysattr)
++     __attribute__ ((unused))struct udev_device *udev_device, const char *sysattr)
+ {
+       (void)sysattr;
+       LOG("stub: udev_device_get_sysattr_value %s\n", sysattr);
+@@ -469,7 +469,7 @@ udev_device_get_parent_with_subsystem_de
+ }
+ struct udev_enumerate *
+-udev_enumerate_new(struct udev *udev __unused)
++udev_enumerate_new( __attribute__ ((unused))struct udev *udev)
+ {
+       LOG("udev_enumerate_new\n");
+       struct udev_enumerate *u = calloc(1, sizeof(struct udev_enumerate));
+@@ -538,7 +538,7 @@ udev_enumerate_get_list_entry(struct ude
+ int
+ udev_enumerate_add_match_sysname(
+-    struct udev_enumerate *udev_enumerate __unused, const char *sysname)
++     __attribute__ ((unused))struct udev_enumerate *udev_enumerate, const char *sysname)
+ {
+       (void)sysname;
+       LOG("stub: udev_enumerate_add_match_sysname %s\n", sysname);
+--- a/src/libudev.h
++++ b/src/libudev.h
+@@ -24,8 +24,8 @@ void udev_unref(struct udev *udev);
+ char const *udev_device_get_devnode(struct udev_device *udev_device);
+ dev_t udev_device_get_devnum(struct udev_device *udev_device);
+ char const *udev_device_get_property_value(
+-    struct udev_device *dummy __unused, char const *property);
+-struct udev *udev_device_get_udev(struct udev_device *dummy __unused);
++     __attribute__ ((unused))struct udev_device *dummy, char const *property);
++struct udev *udev_device_get_udev( __attribute__ ((unused))struct udev_device *dummy);
+ struct udev_device *udev_device_new_from_syspath(
+     struct udev *udev, char const *syspath);
+ struct udev_device *udev_device_new_from_devnum(
diff --git a/libs/libudev-fbsd/patches/002-replace-nitems.patch b/libs/libudev-fbsd/patches/002-replace-nitems.patch
new file mode 100644 (file)
index 0000000..7f4d0de
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/src/libudev.c
++++ b/src/libudev.c
+@@ -175,7 +175,7 @@ populate_properties_list(struct udev_dev
+       struct udev_list_entry **list_end = &udev_device->properties_list;
+-      for (unsigned i = 0; i < nitems(ids); ++i) {
++      for (unsigned i = 0; i < (sizeof(ids) / sizeof(ids[0])); ++i) {
+               char const *id = ids[i];
+               struct udev_list_entry *le;
diff --git a/libs/libudev-fbsd/patches/003-add-pkg-config-description.patch b/libs/libudev-fbsd/patches/003-add-pkg-config-description.patch
new file mode 100644 (file)
index 0000000..9aec7b9
--- /dev/null
@@ -0,0 +1,20 @@
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -11,6 +11,7 @@ install(TARGETS udev LIBRARY DESTINATION
+ install(FILES libudev.h DESTINATION include)
+ set(PKG_CONFIG_NAME libudev)
++set(PKG_CONFIG_DESCRIPTION small udev shim for FreeBSD/devd)
+ set(PKG_CONFIG_REQUIRES libevdev)
+ set(PKG_CONFIG_LIBDIR "\${prefix}/lib")
+ set(PKG_CONFIG_INCLUDEDIR "\${prefix}/include")
+--- a/src/pkg-config.pc.cmake
++++ b/src/pkg-config.pc.cmake
+@@ -3,6 +3,7 @@ libdir=${PKG_CONFIG_LIBDIR}
+ includedir=${PKG_CONFIG_INCLUDEDIR}
+ Name: ${PKG_CONFIG_NAME}
++Description: ${PKG_CONFIG_DESCRIPTION}
+ Version: 143
+ Requires: ${PKG_CONFIG_REQUIRES}
+ Libs: ${PKG_CONFIG_LIBS}
diff --git a/libs/libudev-fbsd/patches/100-add-stub-udev_device_get_driver.patch b/libs/libudev-fbsd/patches/100-add-stub-udev_device_get_driver.patch
new file mode 100644 (file)
index 0000000..aaa56f3
--- /dev/null
@@ -0,0 +1,25 @@
+--- a/src/libudev.c
++++ b/src/libudev.c
+@@ -130,6 +130,12 @@ udev_device_get_devnum(struct udev_devic
+ }
+ char const *
++udev_device_get_driver(struct udev_device *udev_device)
++{
++      return NULL;
++}
++
++char const *
+ udev_device_get_property_value(struct udev_device *dev, char const *property)
+ {
+       LOG("udev_device_get_property_value %s\n", property);
+--- a/src/libudev.h
++++ b/src/libudev.h
+@@ -30,6 +30,7 @@ struct udev_device *udev_device_new_from
+     struct udev *udev, char const *syspath);
+ struct udev_device *udev_device_new_from_devnum(
+     struct udev *udev, char type, dev_t devnum);
++char const *udev_device_get_driver(struct udev_device *udev_device);
+ char const *udev_device_get_syspath(struct udev_device *udev_device);
+ char const *udev_device_get_sysname(struct udev_device *udev_device);
+ char const *udev_device_get_subsystem(struct udev_device *udev_device);
diff --git a/libs/libudev-fbsd/patches/101-add-stub-udev_device_new_from_subsystem_sysname.patch b/libs/libudev-fbsd/patches/101-add-stub-udev_device_new_from_subsystem_sysname.patch
new file mode 100644 (file)
index 0000000..bc12d66
--- /dev/null
@@ -0,0 +1,72 @@
+--- a/src/libudev.c
++++ b/src/libudev.c
+@@ -26,6 +26,7 @@ struct udev_device {
+       struct udev *udev;
+       int refcount;
+       char syspath[32];
++      char sysfspath[64];
+       dev_t devnum;
+       char const *sysname;
+       char const *action;
+@@ -115,6 +116,29 @@ udev_device_new_from_devnum(struct udev
+       return NULL;
+ }
++struct udev_device *
++udev_device_new_from_subsystem_sysname(
++    struct udev *udev, const char *subsystem, const char *sysname)
++{
++      struct udev_device *u;
++      char sysfsname[64];
++      struct stat st;
++
++      snprintf(sysfsname, sizeof(sysfsname), "/sys/bus/%s/devices/%s/", subsystem, sysname);
++      if (stat(sysfsname, &st) == 0)
++      {
++              char sysfsdev[64];
++              u = calloc(1, sizeof(struct udev_device));
++              strncpy(u->sysfspath, sysfsname, sizeof(u->sysfspath));
++
++              return u;
++      }
++      else
++      {
++              return NULL;
++      }
++}
++
+ char const *
+ udev_device_get_devnode(struct udev_device *udev_device)
+ {
+@@ -132,6 +156,20 @@ udev_device_get_devnum(struct udev_devic
+ char const *
+ udev_device_get_driver(struct udev_device *udev_device)
+ {
++      if (udev_device->sysfspath)
++      {
++              char driverlnp[64];
++              char driverlnk[32];
++              snprintf(driverlnp, sizeof(driverlnp), "%s/driver",
++                       udev_device->sysfspath);
++              if (readlink(driverlnp, driverlnk, sizeof(driver)))
++              {
++                      char *drivernm;
++                      drivernm = strrchr(driverlnk, '/');
++                      if (drivernm)
++                              return ++drivernm;
++              }
++      }
+       return NULL;
+ }
+--- a/src/libudev.h
++++ b/src/libudev.h
+@@ -30,6 +30,8 @@ struct udev_device *udev_device_new_from
+     struct udev *udev, char const *syspath);
+ struct udev_device *udev_device_new_from_devnum(
+     struct udev *udev, char type, dev_t devnum);
++struct udev_device *udev_device_new_from_subsystem_sysname(
++    struct udev *udev, const char *subsystem, const char *sysname);
+ char const *udev_device_get_driver(struct udev_device *udev_device);
+ char const *udev_device_get_syspath(struct udev_device *udev_device);
+ char const *udev_device_get_sysname(struct udev_device *udev_device);
diff --git a/libs/libudev-fbsd/patches/102-add-stub-udev_enumerate_add_nomatch_sysattr.patch b/libs/libudev-fbsd/patches/102-add-stub-udev_enumerate_add_nomatch_sysattr.patch
new file mode 100644 (file)
index 0000000..86e6b96
--- /dev/null
@@ -0,0 +1,41 @@
+--- a/src/libudev.c
++++ b/src/libudev.c
+@@ -162,7 +162,7 @@ udev_device_get_driver(struct udev_devic
+               char driverlnk[32];
+               snprintf(driverlnp, sizeof(driverlnp), "%s/driver",
+                        udev_device->sysfspath);
+-              if (readlink(driverlnp, driverlnk, sizeof(driver)))
++              if (readlink(driverlnp, driverlnk, sizeof(driverlnk)))
+               {
+                       char *drivernm;
+                       drivernm = strrchr(driverlnk, '/');
+@@ -600,6 +600,18 @@ udev_enumerate_add_match_property(struct
+           value);
+       return -1;
+ }
++
++int
++udev_enumerate_add_nomatch_sysattr(struct udev_enumerate *udev_enumerate,
++    const char *sysattr, const char *value)
++{
++      (void)udev_enumerate;
++      (void)sysattr;
++      (void)value;
++      LOG("stub: udev_enumerate_add_nomatch_sysattr %s %s\n", sysattr,
++          value);
++      return -1;
++}
+ void
+ udev_enumerate_unref(struct udev_enumerate *udev_enumerate)
+--- a/src/libudev.h
++++ b/src/libudev.h
+@@ -59,6 +59,8 @@ int udev_enumerate_add_match_sysname(
+     struct udev_enumerate *udev_enumerate, char const *sysname);
+ int udev_enumerate_add_match_property(struct udev_enumerate *udev_enumerate,
+     char const *property, char const *value);
++int udev_enumerate_add_nomatch_sysattr(struct udev_enumerate *udev_enumerate,
++    const char *sysattr, const char *value);
+ void udev_enumerate_unref(struct udev_enumerate *udev_enumerate);
+ #define udev_list_entry_foreach(list_entry, first_entry)                      \
index 8aebb85f3a9b5535fb94b22a4e76b330595eabcd..b6ed9292698d77c254fe903734b5375aebde1e78 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=x264
-PKG_VERSION:=snapshot-20160815-2245-stable
-PKG_RELEASE:=3
+PKG_VERSION:=snapshot-20170623-2245-stable
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://download.videolan.org/x264/snapshots/
 PKG_MAINTAINER:=Adrian Panella <ianchi74@outlook.com>
-PKG_MD5SUM:=93fa596ea1b5513fec73e9de27589dd4
+PKG_HASH:=e8af5d199b6af8124b6e54631ab7b2ff20f1ce86bbcc2f58bd800bc85bee6b2f
 
 PKG_LICENSE:=GPL-2.0
 PKG_LICENSE_FILES:=COPYING
@@ -52,7 +52,11 @@ endif
 CONFIGURE_ARGS += \
                --enable-shared \
                --enable-pic \
-               --disable-cli 
+               --enable-strip \
+               --disable-cli \
+               --disable-avs \
+               --disable-ffms \
+               --disable-lsmash
 
 define Package/libx264
   SECTION:=libs
index d6dd1d1f16907d0336c447753fad2d7ecdb47689..00ef2223afe3898300cf7a9d6a9ebffcb2e47703 100644 (file)
@@ -17,7 +17,7 @@ PKG_SOURCE_URL:=https://github.com/pullmoll/musl-fts.git
 PKG_SOURCE_VERSION:=0bde52df588e8969879a2cae51c3a4774ec62472
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 
-PKG_MAINTAINER:= Lucian Cristian <lucian.cristian@gmail.com>
+PKG_MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com>
 
 PKG_LICENSE:=LGPL-2.1
 PKG_LICENSE_FILES:=COPYING AUTHORS
index a1e40625f7973ec6786f314ddca1f9c9fb5fd4b7..d9e1e922cd05fc70cf568366b261e56250b56cd9 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=openldap
-PKG_VERSION:=2.4.44
+PKG_VERSION:=2.4.45
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
@@ -16,7 +16,7 @@ PKG_SOURCE_URL:=ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/ \
        ftp://sunsite.cnlab-switch.ch/mirror/OpenLDAP/openldap-release/ \
        ftp://ftp.nl.uu.net/pub/unix/db/openldap/openldap-release/ \
        ftp://ftp.plig.org/pub/OpenLDAP/openldap-release/
-PKG_MD5SUM:=693ac26de86231f8dcae2b4e9d768e51
+PKG_MD5SUM:=00ff8301277cdfd0af728a6927042a13
 
 PKG_FIXUP:=autoreconf
 
index 4a6a452d9a150fcdb9f072682e862b907ae86448..dc7b3883732ec1b565237511bc72ee6269ab916d 100644 (file)
@@ -8,17 +8,16 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=opus
-PKG_VERSION:=1.1.4
+PKG_VERSION:=1.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://downloads.xiph.org/releases/opus/
-PKG_MD5SUM:=a2c09d995d0885665ff83b5df2505a5f
-PKG_HASH:=9122b6b380081dd2665189f97bfd777f04f92dc3ab6698eea1dbb27ad59d8692
+PKG_SOURCE_URL:=https://archive.mozilla.org/pub/opus/
+PKG_HASH:=77db45a87b51578fbc49555ef1b10926179861d854eb2613207dc79d9ec0a9a9
 
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=COPYING
-PKG_MAINTAINER:=Ted Hess <thess@kitchensync.net> Ian Leonard <antonlacon@gmail.com>
+PKG_MAINTAINER:=Ted Hess <thess@kitchensync.net>, Ian Leonard <antonlacon@gmail.com>
 
 PKG_INSTALL:=1
 
index 05071468d243084ffd76ea9f055497330a134e6e..5cd2468b392cfc1e5d29bb5f4600ffb28b2003a0 100644 (file)
@@ -1,6 +1,3 @@
-#
-# Copyright (C) 2006-2014 OpenWrt.org
-#
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
@@ -8,8 +5,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=postgresql
-PKG_VERSION:=9.5.4
-PKG_RELEASE:=4
+PKG_VERSION:=9.6.3
+PKG_RELEASE:=3
 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
 PKG_LICENSE:=PostgreSQL
 
@@ -18,12 +15,14 @@ PKG_SOURCE_URL:=\
        https://ftp.postgresql.org/pub/source/v$(PKG_VERSION) \
        http://ftp.postgresql.org/pub/source/v$(PKG_VERSION) \
        ftp://ftp.postgresql.org/pub/source/v$(PKG_VERSION)
-PKG_MD5SUM:=cf5e571164ad66028ecd7dd8819e3765470d45bcd440d258b686be7e69c76ed0
-PKG_BUILD_PARALLEL:=1
+
+PKG_HASH:=1645b3736901f6d854e695a937389e68ff2066ce0cde9d73919d6ab7c995b9c6
+
 PKG_USE_MIPS16:=0
 PKG_FIXUP:=autoreconf
 PKG_MACRO_PATHS:=config
-PKG_BUILD_DEPENDS += postgresql/host
+PKG_BUILD_DEPENDS += readline/host postgresql/host
+PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/host-build.mk
 include $(INCLUDE_DIR)/package.mk
@@ -81,6 +80,24 @@ define Package/pgsql-server/description
 PostgreSQL databases Server.
 endef
 
+PGSQL_SERVER_BIN := \
+       pg_archivecleanup \
+       pg_basebackup \
+       pg_controldata \
+       pg_ctl \
+       pg_dump \
+       pg_dumpall \
+       pg_isready \
+       pg_receivexlog \
+       pg_recvlogical \
+       pg_resetxlog \
+       pg_restore \
+       pg_standby \
+       pg_upgrade \
+       pg_xlogdump \
+       postgres \
+       initdb
+
 PGSQL_CLI_EXTRA_BIN := \
        clusterdb       \
        createdb        \
@@ -109,7 +126,7 @@ endif
 TARGET_CONFIGURE_OPTS+=$(PGSQL_CONFIG_VARS)
 
 HOST_CONFIGURE_ARGS += \
-                       $(DISABLE_NLS) \
+                       --disable-nls \
                        --disable-rpath \
                        --without-bonjour \
                        --without-gssapi \
@@ -124,6 +141,7 @@ HOST_CONFIGURE_ARGS += \
                        --enable-depend
 
 CONFIGURE_ARGS += \
+                       $(DISABLE_NLS) \
                        --disable-rpath \
                        --without-bonjour \
                        --without-gssapi \
@@ -137,16 +155,20 @@ CONFIGURE_ARGS += \
                        --enable-depend \
                        $(if $(CONFIG_TARGET_avr32),--disable-spinlocks)
 
-# Need a native ecpg ,pg_config, and zic for build
+EXTRA_CFLAGS:= -I$(PKG_BUILD_DIR)/src/include/
+
+# Need a native ecpg, pg_config and zic for build
 define Host/Compile
+       $(MAKE) -C $(HOST_BUILD_DIR)/src/bin/pg_config CC="$(HOSTCC)"
        $(MAKE) -C $(HOST_BUILD_DIR)/src/interfaces/ecpg/preproc CC="$(HOSTCC)"
        $(MAKE) -C $(HOST_BUILD_DIR)/src/timezone CC="$(HOSTCC)"
-       $(MAKE) -C $(HOST_BUILD_DIR)/src/bin/pg_config CC="$(HOSTCC)"
 endef
 
 define Host/Install
-       $(INSTALL_DIR) $(STAGING_DIR)/usr/bin/
-       $(INSTALL_BIN) $(HOST_BUILD_DIR)/src/bin/pg_config/pg_config $(STAGING_DIR)/usr/bin/
+       $(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/lib/
+       $(INSTALL_BIN) $(HOST_BUILD_DIR)/src/common/libpgcommon.a $(STAGING_DIR_HOSTPKG)/lib/
+       $(INSTALL_BIN) $(HOST_BUILD_DIR)/src/port/libpgport.a $(STAGING_DIR_HOSTPKG)/lib/
+       $(INSTALL_BIN) $(HOST_BUILD_DIR)/src/bin/pg_config/pg_config $(STAGING_DIR_HOSTPKG)/lib/
        $(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/bin/
        $(INSTALL_BIN) $(HOST_BUILD_DIR)/src/interfaces/ecpg/preproc/ecpg $(STAGING_DIR_HOSTPKG)/bin/
        $(INSTALL_BIN) $(HOST_BUILD_DIR)/src/timezone/zic $(STAGING_DIR_HOSTPKG)/bin/
@@ -162,15 +184,6 @@ TARGET_CFLAGS += $(FPIC) -lpthread
 # because PROFILE means something else in the project Makefile
 unexport PROFILE
 
-define Build/Compile
-       +$(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" \
-               DESTDIR="$(PKG_INSTALL_DIR)" \
-               all
-       +$(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" \
-               DESTDIR="$(PKG_INSTALL_DIR)" \
-               install
-endef
-
 define Package/libpq/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libpq.so.* $(1)/usr/lib/
@@ -188,8 +201,8 @@ endef
 
 define Package/pgsql-server/install
        $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/pg_* $(PKG_INSTALL_DIR)/usr/bin/postgres \
-                       $(PKG_INSTALL_DIR)/usr/bin/initdb $(1)/usr/bin/
+       $(INSTALL_BIN) $(foreach bin,$(PGSQL_SERVER_BIN),$(PKG_INSTALL_DIR)/usr/bin/$(bin)) $(1)/usr/bin/
+
        ln -sf postgres $(1)/usr/bin/postmaster
 
        $(INSTALL_DIR) $(1)/usr/share/postgresql
@@ -212,6 +225,9 @@ endef
 
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/bin
+       $(CP) $(STAGING_DIR_HOSTPKG)/lib/pg_config $(1)/usr/bin
+       $(INSTALL_DIR) $(1)/host/bin/
+       $(LN) $(STAGING_DIR)/usr/bin/pg_config $(1)/host/bin
        $(INSTALL_DIR) $(1)/usr/include
        $(CP) $(PKG_INSTALL_DIR)/usr/include/libpq $(1)/usr/include/
        $(CP) $(PKG_INSTALL_DIR)/usr/include/libpq-fe.h $(1)/usr/include/
index 78b6ab84e9e408fc1ae57df25f5c3fbe7a8f0d4e..8d4e377a4a778f9e02f2ebc8900388121d809a2c 100644 (file)
@@ -26,30 +26,56 @@ pg_server_ready() {
        return 1
 }
 
-# $1: dbname, $2: username, $3: password
+
+pg_test_db() {
+       if [ "$3" ]; then
+               echo "SHOW ALL;" | env PGPASSWORD="$3" $PSQL -U "$2" -d "$1" -q 2>/dev/null >/dev/null
+               return $?
+       else
+               echo "SHOW ALL;" | $PSQL -w -U "$2" -d "$1" -q 2>/dev/null >/dev/null
+               return $?
+       fi
+}
+
+pg_include_sql() {
+       if [ "$3" ]; then
+               env PGPASSWORD="$3" $PSQL -U "$2" -d "$1" -e -f "$4"
+               return $?
+       else
+               $PSQL -w -U "$2" -d "$1" -e -f "$4"
+               return $?
+       fi
+}
+
+# $1: dbname, $2: username, $3: password, $4: sql populate script
 pg_require_db() {
+       local ret
+
        pg_test_db $@ && return 0
        ( echo "CREATE DATABASE $1;"
        echo -n "CREATE USER $2"
        [ "$3" ] && echo -n " WITH PASSWORD '$3'"
-       echo ";"
-       echo "GRANT ALL PRIVILEGES ON DATABASE \"$1\" to $2;" ) |
+       echo " NOCREATEDB NOSUPERUSER NOCREATEROLE NOINHERIT;"
+       echo "GRANT ALL PRIVILEGES ON DATABASE \"$1\" TO $2;" ) |
                $PSQL -U postgres -d template1 -e
-       return $?
-}
+       ret=$?
+       [ "$ret" = "0" ] || return $ret
 
-pg_test_db() {
-       PGPASSWORD=$3
-       echo "SHOW ALL;" | $PSQL -U $2 -d $1 -q 2>/dev/null >/dev/null
-       return $?
+       if [ "$4" ]; then
+               pg_include_sql "$@"
+               ret=$?
+       fi
+
+       return $ret
 }
 
 uci_require_db() {
-       local dbname dbuser dbpass
+       local dbname dbuser dbpass dbscript
        config_get dbname $1 name
        config_get dbuser $1 user
        config_get dbpass $1 pass
-       pg_require_db $dbname $dbuser $dbpass
+       config_get dbscript $1 script
+       pg_require_db "$dbname" "$dbuser" "$dbpass" "$dbscript"
 }
 
 [ "$1" = "init" ] && {
index bc0d2e15e10221eb23638dd73ba8fc176a183979..ece527cbe785d5e185c8fd56f86ab7fba6c41747 100644 (file)
@@ -2,7 +2,7 @@
 +++ b/configure.in
 @@ -25,7 +25,7 @@ recommended.  You can remove the check f
  your responsibility whether the result works or not.])])
- AC_COPYRIGHT([Copyright (c) 1996-2015, PostgreSQL Global Development Group])
+ AC_COPYRIGHT([Copyright (c) 1996-2016, PostgreSQL Global Development Group])
  AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
 -AC_CONFIG_AUX_DIR(config)
 +AC_CONFIG_AUX_DIR([config])
diff --git a/libs/postgresql/patches/050-build-contrib.patch b/libs/postgresql/patches/050-build-contrib.patch
new file mode 100644 (file)
index 0000000..b127cf0
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/GNUmakefile.in
++++ b/GNUmakefile.in
+@@ -8,7 +8,7 @@ subdir =
+ top_builddir = .
+ include $(top_builddir)/src/Makefile.global
+-$(call recurse,all install,src config)
++$(call recurse,all install,src config contrib)
+ all:
+       +@echo "All of PostgreSQL successfully made. Ready to install."
index 0c60867838c33893992643910c736663c5cdab83..f6af04ed826c62d102670544c239d0266e4591dd 100644 (file)
@@ -1,13 +1,14 @@
---- a/src/bin/psql/print.h
-+++ b/src/bin/psql/print.h
-@@ -197,10 +197,6 @@ extern void setDecimalLocale(void);
- extern const printTextFormat *get_line_style(const printTableOpt *opt);
- extern void refresh_utf8format(const printTableOpt *opt);
+--- a/src/include/fe_utils/print.h
++++ b/src/include/fe_utils/print.h
+@@ -17,11 +17,7 @@
  
+ /* This is not a particularly great place for this ... */
 -#ifndef __CYGWIN__
 -#define DEFAULT_PAGER "more"
 -#else
  #define DEFAULT_PAGER "less"
 -#endif
  
- #endif   /* PRINT_H */
+ enum printFormat
+ {
index f0bec3a13753259608610022b3979e793e590624..5a7003c93a71e81dec21af92fbe32aec6c09ddd0 100644 (file)
@@ -1,8 +1,6 @@
-Index: postgresql-9.5.4/src/bin/pg_ctl/pg_ctl.c
-===================================================================
---- postgresql-9.5.4.orig/src/bin/pg_ctl/pg_ctl.c
-+++ postgresql-9.5.4/src/bin/pg_ctl/pg_ctl.c
-@@ -95,6 +95,7 @@ static char *event_source = NULL;
+--- a/src/bin/pg_ctl/pg_ctl.c
++++ b/src/bin/pg_ctl/pg_ctl.c
+@@ -88,6 +88,7 @@ static char *event_source = NULL;
  static char *register_servicename = "PostgreSQL";             /* FIXME: + version ID? */
  static char *register_username = NULL;
  static char *register_password = NULL;
@@ -10,7 +8,7 @@ Index: postgresql-9.5.4/src/bin/pg_ctl/pg_ctl.c
  static char *argv0 = NULL;
  static bool allow_core_files = false;
  static time_t start_time;
-@@ -2114,6 +2115,9 @@ do_help(void)
+@@ -1930,6 +1931,9 @@ do_help(void)
  #endif
        printf(_("  -s, --silent           only print errors, no informational messages\n"));
        printf(_("  -t, --timeout=SECS     seconds to wait when using -w option\n"));
@@ -20,7 +18,7 @@ Index: postgresql-9.5.4/src/bin/pg_ctl/pg_ctl.c
        printf(_("  -V, --version          output version information, then exit\n"));
        printf(_("  -w                     wait until operation completes\n"));
        printf(_("  -W                     do not wait until operation completes\n"));
-@@ -2310,6 +2314,7 @@ main(int argc, char **argv)
+@@ -2126,6 +2130,7 @@ main(int argc, char **argv)
                {"pgdata", required_argument, NULL, 'D'},
                {"silent", no_argument, NULL, 's'},
                {"timeout", required_argument, NULL, 't'},
@@ -28,7 +26,7 @@ Index: postgresql-9.5.4/src/bin/pg_ctl/pg_ctl.c
                {"core-files", no_argument, NULL, 'c'},
                {NULL, 0, NULL, 0}
        };
-@@ -2350,20 +2355,6 @@ main(int argc, char **argv)
+@@ -2166,20 +2171,6 @@ main(int argc, char **argv)
                }
        }
  
@@ -49,7 +47,7 @@ Index: postgresql-9.5.4/src/bin/pg_ctl/pg_ctl.c
  
        env_wait = getenv("PGCTLTIMEOUT");
        if (env_wait != NULL)
-@@ -2449,11 +2440,15 @@ main(int argc, char **argv)
+@@ -2265,11 +2256,15 @@ main(int argc, char **argv)
                                        wait_seconds_arg = true;
                                        break;
                                case 'U':
@@ -65,7 +63,7 @@ Index: postgresql-9.5.4/src/bin/pg_ctl/pg_ctl.c
                                        break;
                                case 'w':
                                        do_wait = true;
-@@ -2535,6 +2530,41 @@ main(int argc, char **argv)
+@@ -2351,6 +2346,41 @@ main(int argc, char **argv)
                exit(1);
        }
  
diff --git a/libs/psqlodbc/Makefile b/libs/psqlodbc/Makefile
new file mode 100644 (file)
index 0000000..ddd9aac
--- /dev/null
@@ -0,0 +1,75 @@
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=psqlodbc
+PKG_RELEASE:=1
+PKG_VERSION:=09.06.0310
+PKG_HASH:=6c42078af094d61baca2c8bd1dc4d137a77377198ef94e4eda5989bdce3474c3
+
+PKG_SOURCE_URL:=https://ftp.postgresql.org/pub/odbc/versions/src/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+
+PKG_LICENSE:=LGPL-2.0+
+PKG_LICENSE_FILES:=license.txt
+
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+CONFIGURE_ARGS += \
+       --with-unixodbc=$(STAGING_DIR)/usr \
+       --with-libpq=$(STAGING_DIR)/usr
+
+define Package/psqlodbc/Default
+  SUBMENU:=database
+  URL:=https://odbc.postgresql.org/
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=Postgresql driver for ODBC
+  DEPENDS:=+unixodbc +libpq
+endef
+
+define Package/psqlodbca
+$(call Package/psqlodbc/Default)
+  TITLE:=psqlODBC - PostgreSQL ODBC driver (ASCII)
+endef
+
+define Package/psqlodbcw
+$(call Package/psqlodbc/Default)
+  TITLE:=psqlODBC - PostgreSQL ODBC driver (UTF-8)
+endef
+
+define Package/psqlodbca/description
+       psqlODBC is the official PostgreSQL ODBC Driver.
+       It is released under the Library General Public Licence, or LGPL.
+endef
+
+define Package/psqlodbcw/description
+$(call Package/psqlodbca/description)
+       (UTF-8 version)
+endef
+
+define Package/psqlodbca/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/psqlodbca.so* $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/etc/odbcinst.ini.d
+       echo "[PostgreSQL ANSI]" > $(1)/etc/odbcinst.ini.d/psqlodbca.ini
+       echo "Description = PostgreSQL ODBC driver (ANSI version)" >> $(1)/etc/odbcinst.ini.d/psqlodbca.ini
+       echo "Driver = /usr/lib/psqlodbca.so" >> $(1)/etc/odbcinst.ini.d/psqlodbca.ini
+
+endef
+
+define Package/psqlodbcw/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/psqlodbcw.so* $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/etc/odbcinst.ini.d
+       echo "[PostgreSQL Unicode]" > $(1)/etc/odbcinst.ini.d/psqlodbcw.ini
+       echo "Description = PostgreSQL ODBC driver (Unicode version)" >> $(1)/etc/odbcinst.ini.d/psqlodbcw.ini
+       echo "Driver = /usr/lib/psqlodbcw.so" >> $(1)/etc/odbcinst.ini.d/psqlodbcw.ini
+endef
+
+$(eval $(call BuildPackage,psqlodbca))
+$(eval $(call BuildPackage,psqlodbcw))
old mode 100755 (executable)
new mode 100644 (file)
index 5a1374f..aaafd18
@@ -1,49 +1,49 @@
-#\r
-# Copyright (C) 2016 Dana H. Myers <k6jq@comcast.net>\r
-#\r
-# This is free software, licensed under the GNU General Public License v2.\r
-# See /LICENSE for more information.\r
-#\r
-\r
-include $(TOPDIR)/rules.mk\r
-\r
-PKG_NAME:=rxtx\r
-PKG_VERSION:=2.2pre2\r
-PKG_RELEASE:=1\r
-PKG_LICENSE:=LGPL-2.1\r
-PKG_MAINTAINER:=Dana H. Myers <k6jq@comcast.net>\r
-\r
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).zip\r
-PKG_SOURCE_URL:=http://rxtx.qbang.org/pub/rxtx/\r
-PKG_MD5SUM:=7eedb18e3f33a427e2b0e9be8ce3f94c\r
-\r
-PKG_FIXUP:=patch-libtool\r
-PKG_CHECK_FORMAT_SECURITY:=0\r
-\r
-include $(INCLUDE_DIR)/package.mk\r
-\r
-define Package/rxtx\r
-  SECTION:=libs\r
-  CATEGORY:=Libraries\r
-  TITLE:=RX/TX Support for Java serial communications\r
-  URL:=http://rxtx.qbang.org/wiki/index.php/Main_Page\r
-  DEPENDS:=+libpthread\r
-endef\r
-\r
-define Package/rxtx/description\r
-       RX/TX Support for Java serial communications\r
-endef\r
-\r
-CONFIGURE_ARGS += \\r
-       --disable-PRINTER\r
-\r
-define Package/rxtx/install\r
-       $(INSTALL_DIR) \\r
-               $(1)/usr/lib/classpath\r
-       $(CP) $(PKG_BUILD_DIR)/$(GNU_TARGET_NAME)-gnu/.libs/*.so \\r
-               $(1)/usr/lib/classpath/\r
-       $(CP) $(PKG_BUILD_DIR)/RXTXcomm.jar \\r
-               $(1)/usr/lib/classpath/\r
-endef\r
-\r
-$(eval $(call BuildPackage,rxtx))\r
+#
+# Copyright (C) 2016 Dana H. Myers <k6jq@comcast.net>
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=rxtx
+PKG_VERSION:=2.2pre2
+PKG_RELEASE:=1
+PKG_LICENSE:=LGPL-2.1
+PKG_MAINTAINER:=Dana H. Myers <k6jq@comcast.net>
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).zip
+PKG_SOURCE_URL:=http://rxtx.qbang.org/pub/rxtx/
+PKG_MD5SUM:=7eedb18e3f33a427e2b0e9be8ce3f94c
+
+PKG_FIXUP:=patch-libtool
+PKG_CHECK_FORMAT_SECURITY:=0
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/rxtx
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=RX/TX Support for Java serial communications
+  URL:=http://rxtx.qbang.org/wiki/index.php/Main_Page
+  DEPENDS:=+libpthread
+endef
+
+define Package/rxtx/description
+       RX/TX Support for Java serial communications
+endef
+
+CONFIGURE_ARGS += \
+       --disable-PRINTER
+
+define Package/rxtx/install
+       $(INSTALL_DIR) \
+               $(1)/usr/lib/classpath
+       $(CP) $(PKG_BUILD_DIR)/$(GNU_TARGET_NAME)-gnu/.libs/*.so \
+               $(1)/usr/lib/classpath/
+       $(CP) $(PKG_BUILD_DIR)/RXTXcomm.jar \
+               $(1)/usr/lib/classpath/
+endef
+
+$(eval $(call BuildPackage,rxtx))
index 720c7a3c371bebf4ec12fd52048bb59cd133b668..8d21809022c0ef07e53cd3e72ee91e3d2e66de03 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=sqlite
-PKG_VERSION:=3190200
+PKG_VERSION:=3190300
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-autoconf-$(PKG_VERSION).tar.gz
+PKG_HASH:=06129c03dced9f87733a8cba408871bd60673b8f93b920ba8d815efab0a06301
 PKG_SOURCE_URL:=http://www.sqlite.org/2017/
-PKG_HASH:=ca5361fb01cc3ad63d6fd4eb2cb0b6398e629595896d3558f7e121d37dac2ffc
 
 PKG_LICENSE:=PUBLICDOMAIN
 PKG_LICENSE_FILES:=
index d962371baa3470f8bfc1d6453bc5beac8e6d9241..76065fbc9c493a9a28b4183ed4d95a0f7e20c6ba 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=unixodbc
 PKG_VERSION:=2.3.4
-PKG_RELEASE:=2
+PKG_RELEASE:=4
 
 PKG_SOURCE_URL:=ftp://ftp.unixodbc.org/pub/unixODBC/
 PKG_SOURCE:=unixODBC-$(PKG_VERSION).tar.gz
@@ -22,7 +22,8 @@ include $(INCLUDE_DIR)/package.mk
 CONFIGURE_ARGS += \
        --disable-gui \
        --with-pic \
-       --enable-drivers
+       --enable-drivers \
+       --includedir=$(STAGING_DIR)/usr/include
 
 define Package/unixodbc/Default
   SUBMENU:=database
@@ -73,6 +74,12 @@ define Build/Compile
                $(MAKE_FLAGS) \
                ARCH="$(ARCH)" \
                CC="$(TARGET_CC)"
+       rm $(PKG_BUILD_DIR)/exe/{odbc_config,odbc-config.o}
+       $(MAKE) -C $(PKG_BUILD_DIR)/exe \
+               DESTDIR="$(PKG_INSTALL_DIR)" \
+               CC="$(HOSTCC)" \
+               CFLAGS="$(HOST_CFLAGS) -DUSE_UNIXODBC_CONF_H" \
+               LDFLAGS="$(HOST_LDFLAGS)"
        $(MAKE) -C $(PKG_BUILD_DIR) \
                DESTDIR="$(PKG_INSTALL_DIR)" \
                $(MAKE_FLAGS) \
@@ -81,10 +88,12 @@ define Build/Compile
 endef
 
 define Build/InstallDev
+       $(INSTALL_DIR) $(1)/host/bin
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/odbc_config $(1)/host/bin
        $(INSTALL_DIR) $(1)/usr/bin
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
+       $(LN) ../../host/bin/odbc_config $(1)/usr/bin
        $(INSTALL_DIR) $(1)/usr/include
-       $(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/
+       $(CP) $(PKG_INSTALL_DIR)/$(STAGING_DIR)/usr/include/*.h $(1)/usr/include/
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/
        $(INSTALL_DIR) $(1)/etc
@@ -98,18 +107,23 @@ define Package/unixodbc/install
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libodbc[ci]*so* $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libodbc.*so* $(1)/usr/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnn*so* $(1)/usr/lib/
-       $(INSTALL_DIR) $(1)/etc
-       $(CP) $(PKG_INSTALL_DIR)/etc/odbc* $(1)/etc/
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) ./files/odbc.init $(1)/etc/init.d/odbc
+       $(LN) /tmp/etc/odbcinst.ini $(1)/etc/odbcinst.ini
 endef
 
 define Package/unixodbc-tools/install
        $(INSTALL_DIR) $(1)/usr/bin
-       $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/{dltest,isql,iusql,odbcinst,slencheck} $(1)/usr/bin/
 endef
 
 define Package/pgsqlodbc/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libodbcpsql*so* $(1)/usr/lib/
+       $(INSTALL_DIR) $(1)/etc/odbcinst.ini.d/
+       echo "[PostgreSQL]" > $(1)/etc/odbcinst.ini.d/pgsqlodbc.ini
+       echo "Description = unixODBC PostgreSQL driver" >> $(1)/etc/odbcinst.ini.d/pgsqlodbc.ini
+       echo "Driver = /usr/lib/libodbcpsql.so" >> $(1)/etc/odbcinst.ini.d/pgsqlodbc.ini
 endef
 
 $(eval $(call BuildPackage,unixodbc))
diff --git a/libs/unixodbc/files/odbc.init b/libs/unixodbc/files/odbc.init
new file mode 100644 (file)
index 0000000..32ae7f8
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/sh /etc/rc.common
+
+START=50
+
+gen_odbcinst() {
+       local inifile
+
+       echo "[ODBC]"
+       echo "Trace = off"
+       echo "TraceFile ="
+
+       for inifile in /etc/odbcinst.ini.d/*.ini; do
+               cat "$inifile"
+       done
+}
+
+start() {
+       [ ! -d /tmp/etc ] && mkdir /tmp/etc
+
+       gen_odbcinst > /tmp/etc/odbcinst.ini.new
+       chmod 0644 /tmp/etc/odbcinst.ini.new
+
+       [ -e /tmp/etc/odbcinst.ini ] && ( rm /tmp/etc/odbcinst.ini || return 1 )
+
+       mv /tmp/etc/odbcinst.ini.new /tmp/etc/odbcinst.ini
+}
diff --git a/libs/unixodbc/patches/100-cross-compile-odbc-config.patch b/libs/unixodbc/patches/100-cross-compile-odbc-config.patch
new file mode 100644 (file)
index 0000000..4b952ae
--- /dev/null
@@ -0,0 +1,36 @@
+--- a/exe/odbc-config.c
++++ b/exe/odbc-config.c
+@@ -40,6 +40,33 @@
+ #include <unistd.h>
+ #endif
++#ifdef USE_UNIXODBC_CONF_H
++
++#ifdef HAVE_UNISTD_H
++#undef HAVE_UNISTD_H
++#endif
++#ifdef HAVE_PWD_H
++#undef HAVE_PWD_H
++#endif
++#ifdef HAVE_SYS_TYPES_H
++#undef HAVE_SYS_TYPES_H
++#endif
++#ifdef HAVE_LONG_LONG
++#undef HAVE_LONG_LONG
++#endif
++#ifdef ODBCINT64
++#undef ODBCINT64
++#endif
++#ifdef UODBCINT64
++#undef UODBCINT64
++#endif
++#ifdef SIZEOF_LONG_INT
++#undef SIZEOF_LONG_INT
++#endif
++
++#include <unixodbc_conf.h>
++#endif
++
+ #include <sql.h>
+ static void usage( void )
index a1cd76a49cb2c1704c6f7f091a775b1461a6fbcc..4a8e99deb464dedcfe55a16a2fcd60bd38c6268f 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=dovecot
-PKG_VERSION:=2.2.30.2
-PKG_RELEASE:=1
+PKG_VERSION:=2.2.31
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.dovecot.org/releases/2.2
-PKG_HASH:=f3dba79c1ceeaa9dd0633f648d3a607704bf3d0591e7d48168084c8add87189e
+PKG_HASH:=034be40907748128d65088a4f59789b2f99ae7b33a88974eae0b6a68ece376a1
 PKG_LICENSE:=LGPL-2.1 MIT BSD-3-Clause Unique
 PKG_LICENSE_FILES:=COPYING COPYING.LGPL COPYING.MIT
 
@@ -78,6 +78,14 @@ CONFIGURE_VARS += \
        lib_cv___va_copy=yes \
        lib_cv_va_val_copy=yes
 
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/dovecot $(1)/usr/include/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/dovecot $(1)/usr/lib/
+       rm -f $(1)/usr/lib/dovecot/*.la
+endef
+
+
 define Package/dovecot/install
        $(INSTALL_DIR)  $(1)/etc/init.d \
                        $(1)/etc/dovecot \
index 09bf3c68651131d7d7aedb2148eb4e38c49bf815..91ae6de2e7ad9f1d235fb9ac7ed30904520e2604 100644 (file)
@@ -9,12 +9,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=msmtp
-PKG_VERSION:=1.6.2
-PKG_RELEASE:=3
+PKG_VERSION:=1.6.6
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@SF/msmtp
-PKG_MD5SUM:=3baca93c7e5f1aa9d36a2e5b38739ab9
+PKG_HASH:=da15db1f62bd0201fce5310adb89c86188be91cd745b7cb3b62b81a501e7fb5e
 
 PKG_LICENSE:=GPL-3.0+
 PKG_LICENSE_FILES:=COPYING
diff --git a/mail/pigeonhole/Makefile b/mail/pigeonhole/Makefile
new file mode 100644 (file)
index 0000000..51fb0a4
--- /dev/null
@@ -0,0 +1,56 @@
+#
+# Copyright (C) 2006-2017 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:=pigeonhole
+PKG_VERSION:=0.4.16
+PKG_RELEASE:=1
+
+DOVECOT_VERSION:=2.2
+
+PKG_SOURCE:=dovecot-$(DOVECOT_VERSION)-$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://pigeonhole.dovecot.org/releases/$(DOVECOT_VERSION)
+PKG_HASH:=8f0b98f18062d6e241eef74ebe16cc167cd246361cbe6657d94f0ecc5d7d3234
+PKG_LICENSE:=LGPL-2.1
+PKG_LICENSE_FILES:=COPYING COPYING.LGPL
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/dovecot-$(DOVECOT_VERSION)-$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/pigeonhole
+  SECTION:=mail
+  CATEGORY:=Mail
+  DEPENDS:=+dovecot
+  TITLE:=Mail filtering facilities for Dovecot
+  MAINTAINER:=W. Michael Petullo <mike@flyn.org>
+  URL:=https://wiki2.dovecot.org/Pigeonhole
+endef
+
+define Package/pigeonhole/description
+  Pigeonhole provides mail filtering facilities for Dovecot using the Sieve
+  (RFC 5228) language.
+endef
+
+CONFIGURE_ARGS += \
+  --with-dovecot=$(STAGING_DIR)/usr/lib/dovecot/ \
+  --without-managesieve
+
+CONFIGURE_VARS += \
+  LDFLAGS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib/dovecot/" \
+  CPPFLAGS="$(TARGET_CPPFLAGS) -I$(STAGING_DIR)/usr/include/dovecot/"
+
+define Package/pigeonhole/install
+       $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/dovecot/
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/dovecot/* $(1)/usr/lib/dovecot/
+       find $(1)/usr/lib/dovecot/ -name "*.a" -o -name "*.la" | xargs rm
+endef
+
+$(eval $(call BuildPackage,pigeonhole))
index 8f9e9c2bf5fa794abdf0e2c4dfcd61df62b9d962..aa7d9748e4efe8e45d2b7601b21ee1b43484db96 100644 (file)
@@ -9,13 +9,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ffmpeg
-PKG_VERSION:=3.2.5
+PKG_VERSION:=3.2.6
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://ffmpeg.org/releases/
-PKG_MD5SUM:=b53ecfcbafca973f92bfb77815cce01e
-PKG_HASH:=0c0c15e999c66003b969c7a5d61c4a7e1d3dfbf3c809c23ff5537d583dd93323
+PKG_MD5SUM:=7a35bd97bd7253305bf5c0af5f9dd3ce
+PKG_HASH:=3751cebb5c71a861288267769114d12b966a7703a686a325d90a93707f3a6d9f
 PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>, \
                Ian Leonard <antonlacon@gmail.com>
 
@@ -431,11 +431,18 @@ endif
 
 # selectively disable optimizations according to arch/cpu type
 ifneq ($(findstring arm,$(CONFIG_ARCH)),)
-       ifeq (,$(findstring vfp,$(CONFIG_TARGET_OPTIMIZATION)))
+       ifneq ($(findstring vfp,$(CONFIG_TARGET_OPTIMIZATION)),)
+               FFMPEG_CONFIGURE+= \
+                       --enable-vfp
+       else
                FFMPEG_CONFIGURE+= \
                        --disable-vfp
        endif
-       ifeq (,$(findstring neon,$(CONFIG_TARGET_OPTIMIZATION)))
+       ifneq ($(findstring neon,$(CONFIG_TARGET_OPTIMIZATION)),)
+               FFMPEG_CONFIGURE+= \
+                       --enable-neon \
+                       --enable-vfp
+       else
                FFMPEG_CONFIGURE+= \
                        --disable-neon
        endif
index 2eef5e50bd05f981d66d427f9394b5816773edf0..e2c79e8458be40fb3839e207b5e3e5d6121cb29e 100644 (file)
@@ -8,15 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=minidlna
-PKG_VERSION:=1.1.6+git-8a996b
+PKG_VERSION:=1.2.0
 PKG_RELEASE:=1
 
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL=http://git.code.sf.net/p/minidlna/git
-PKG_SOURCE_SUBDIR=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=8a996b4b624ef45538a5de10730b8e94c55e7768
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_MIRROR_HASH:=fddbb7c96b40e335a251b919ff5c674519f266a59b8a43011761ba952c0df1b6
+PKG_SOURCE_URL:=@SF/minidlna
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_HASH:=8d34436580c4c44be25976d5e46bc5b71af69bf441c4492774eac001164c4433
 
 PKG_LICENSE:=GPL-2.0 BSD-3-Clause
 PKG_LICENSE_FILES:=COPYING LICENCE.miniupnpd
index 5380d8a3d4006c55cb9041e9e95ccf144f8f34f0..f36edde483e482aadd5fe880e15edf89205b11ce 100644 (file)
@@ -11,7 +11,7 @@ Subject: [PATCH] Add support for grouping videos by directory for Panasonic
 
 --- a/upnpsoap.c
 +++ b/upnpsoap.c
-@@ -1052,6 +1052,15 @@ callback(void *args, int argc, char **ar
+@@ -1095,6 +1095,15 @@ callback(void *args, int argc, char **ar
                                                add_res(size, duration, bitrate, sampleFrequency, nrAudioChannels,
                                                        resolution, dlna_buf, mime, detailID, ext, passed_args);
                                        }
@@ -27,7 +27,7 @@ Subject: [PATCH] Add support for grouping videos by directory for Panasonic
                                        break;
                                case ESamsungSeriesCDE:
                                case ELGDevice:
-@@ -1314,8 +1323,11 @@ BrowseContentDirectory(struct upnphttp *
+@@ -1357,8 +1366,11 @@ BrowseContentDirectory(struct upnphttp *
                if (!where[0])
                        sqlite3_snprintf(sizeof(where), where, "PARENT_ID = '%q'", ObjectID);
  
@@ -40,13 +40,13 @@ Subject: [PATCH] Add support for grouping videos by directory for Panasonic
                ret = 0;
                if (SortCriteria && !orderBy)
                {
-@@ -1354,14 +1366,16 @@ BrowseContentDirectory(struct upnphttp *
+@@ -1397,14 +1409,16 @@ BrowseContentDirectory(struct upnphttp *
                        SoapError(h, 709, "Unsupported or invalid sort criteria");
                        goto browse_error;
                }
 -
                sql = sqlite3_mprintf("SELECT %s, %s, %s, " COLUMNS
-                                     "from OBJECTS o left join DETAILS d on (d.ID = o.DETAIL_ID)"
+                                     "from OBJECTS o left join DETAILS d on (d.ID = o.DETAIL_ID)"
 -                                    " where %s %s limit %d, %d;",
 +                                    " where %s order by d.date limit %d, %d;",
                                      objectid_sql, parentid_sql, refid_sql,
@@ -60,7 +60,7 @@ Subject: [PATCH] Add support for grouping videos by directory for Panasonic
        }
        if( (ret != SQLITE_OK) && (zErrMsg != NULL) )
        {
-@@ -1795,7 +1809,7 @@ SearchContentDirectory(struct upnphttp *
+@@ -1838,7 +1852,7 @@ SearchContentDirectory(struct upnphttp *
                              (*ContainerID == '*') ? NULL :
                              sqlite3_mprintf("UNION ALL " SELECT_COLUMNS
                                              "from OBJECTS o left join DETAILS d on (d.ID = o.DETAIL_ID)"
index c0c02358be2a9f14adb491bb3d6bc01eeb019fb9..38623246e618943ec2ec0d3d321a55c7881301fe 100644 (file)
@@ -9,10 +9,9 @@
  
  sbin_PROGRAMS = minidlnad
  check_PROGRAMS = testupnpdescgen
 --- a/configure.ac
 +++ b/configure.ac
-@@ -633,6 +633,8 @@ case "$target_os" in
+@@ -644,6 +644,8 @@ case "$target_os" in
  esac
  
  
index e7bb701bb13cfc60688e19e308ee62c6f80fccb1..eca17098fb8aa71e66e5f29908b930126d6cb397 100644 (file)
@@ -6,7 +6,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=adblock
-PKG_VERSION:=2.7.1
+PKG_VERSION:=2.8.3
 PKG_RELEASE:=1
 PKG_LICENSE:=GPL-3.0+
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
@@ -21,7 +21,7 @@ define Package/adblock
 endef
 
 define Package/adblock/description
-Powerful adblock script to block ad/abuse domains via dnsmasq or unbound dns backend.
+Powerful adblock script to block ad/abuse domains via dnsmasq, unbound or bind dns backend.
 The script supports many domain blacklist sites plus manual black- and whitelist overrides.
 Please see https://github.com/openwrt/packages/blob/master/net/adblock/files/README.md for further information.
 
index 464a90a2f5b27caa6eed62753e3eb5a99d4da5d4..0758d7fe2ff6714486c86ea900289f559a70a0d0 100644 (file)
@@ -55,15 +55,15 @@ A lot of people already use adblocker plugins within their desktop browsers, but
     * => daily updates, approx. 440 entries
 * zero-conf like automatic installation & setup, usually no manual changes needed
 * simple but yet powerful adblock engine: adblock does not use error prone external iptables rulesets, http pixel server instances and things like that
-* automatically selects dnsmasq or unbound as dns backend
+* automatically selects dnsmasq, unbound or bind as dns backend
 * automatically selects uclient-fetch or wget as download utility (other tools like curl or aria2c are supported as well)
 * support http only mode (without installed ssl library) for all non-SSL blocklist sources
 * automatically supports a wide range of router modes, even AP modes are supported
 * full IPv4 and IPv6 support
-* supports tld compression (top level domain compression), this feature removes thousands of needless host entries from the block lists and lowers the memory footprint for the dns backends
+* supports tld compression (top level domain compression), this feature removes thousands of needless host entries from the block list and lowers the memory footprint for the dns backends
 * each block list source will be updated and processed separately
 * block list source parsing by fast & flexible regex rulesets
-* overall duplicate removal in separate block lists
+* overall duplicate removal in central block list (adb_list.overall)
 * additional whitelist for manual overrides, located by default in /etc/adblock/adblock.whitelist
 * quality checks during block list update to ensure a reliable dns backend service
 * minimal status & error logging to syslog, enable debug logging to receive more output
@@ -105,7 +105,7 @@ A lot of people already use adblocker plugins within their desktop browsers, but
 * **scheduled list updates:** for a scheduled call of the adblock service add an appropriate crontab entry (see example below)
 * **restrict procd interface trigger:** restrict the procd interface trigger to a (list of) certain interface(s) (default: wan). To disable it at all, remove all entries
 * **suspend & resume adblocking:** to quickly switch the adblock service 'on' or 'off', simply use _/etc/init.d/adblock [suspend|resume]_
-* **domain query:** to query the active block lists for a specific domain, please run _/etc/init.d/adblock query `<DOMAIN>`_ (see example below)
+* **domain query:** to query the active block list for a specific domain, please run _/etc/init.d/adblock query `<DOMAIN>`_ (see example below)
 * **add new list sources:** you could add new block list sources on your own via uci config, all you need is a source url and an awk one-liner (see example below)
 * **disable active dns probing in windows 10:** to prevent a yellow exclamation mark on your internet connection icon (which wrongly means connected, but no internet), please change the following registry key/value from "1" to "0" _HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet\EnableActiveProbing_
 
@@ -119,16 +119,40 @@ A lot of people already use adblocker plugins within their desktop browsers, but
     * adb\_triggerdelay => additional trigger delay in seconds before adblock processing starts (default: '2')
     * adb\_forcedns => force dns requests to local resolver (default: '0', disabled)
     * adb\_forcesrt => force overall sort on low memory devices with less than 64 MB RAM (default: '0', disabled)
-    * adb\_manmode => do not automatically update blocklists during startup, use blocklist backups instead (default: '0', disabled)
+    * adb\_manmode => do not automatically update block lists during startup, use backups instead (default: '0', disabled)
 
 ## Examples
 **change default dns backend to 'unbound':**
 <pre><code>
-Adblock detects the presence of an active unbound dns backend and the block lists will be automatically pulled in by unbound.
-The adblock script deposits the sorted and filtered block lists in '/var/lib/unbound' where unbound can find them in its jail.
-If you use manual configuration for unbound, then just include the following line in your 'server:' clause:
+Adblock deposits the sorted and filtered block list (adb_list.overall) in '/var/lib/unbound' where unbound can find them in its jail.
+If you use manual configuration for unbound, then just include the following line in your 'server' clause:
 
-  include: "/var/lib/unbound/adb_list.*"
+  include: "/var/lib/unbound/adb_list.overall"
+</code></pre>
+  
+**change default dns backend to 'bind':**
+<pre><code>
+Adblock deposits the sorted and filtered block list (adb_list.overall) in '/var/lib/bind' where bind can find them.
+To use the block list please modify the following bind configuration files:
+
+change '/etc/bind/named.conf', in the 'options' namespace add:
+  response-policy { zone "rpz"; };
+
+and at the end of the file add:
+  zone "rpz" {
+    type master;
+    file "/etc/bind/db.rpz";
+    allow-query { none; };
+    allow-transfer { none; };
+  };
+
+create the new file '/etc/bind/db.rpz' and add:
+  $TTL 2h
+  $ORIGIN rpz.
+  @ SOA localhost. root.localhost. (1 6h 1h 1w 2h)
+  NS localhost.
+
+  $INCLUDE /var/lib/bind/adb_list.overall
 </code></pre>
   
 **configuration for different download utilities:**
@@ -152,15 +176,15 @@ curl:
   
 **receive adblock runtime information:**
 <pre><code>
-root@blackhole:~# /etc/init.d/adblock status
+/etc/init.d/adblock status
 ::: adblock runtime information
  status          : active
- adblock_version : 2.6.0
- blocked_domains : 113711
+ adblock_version : 2.8.0
+ blocked_domains : 122827
  fetch_info      : wget (built-in)
  dns_backend     : dnsmasq
- last_rundate    : 12.04.2017 13:08:26
- system          : LEDE Reboot SNAPSHOT r3900-399d5cf532
+ last_rundate    : 26.06.2017 17:00:27
+ system          : LEDE Reboot SNAPSHOT r4434-b91a38d647
 </code></pre>
   
 **cronjob for a regular block list update (/etc/crontabs/root):**
@@ -186,7 +210,7 @@ This entry does not block:
 <pre><code>
 here.com
 
-This entry removes the following (sub)domains from the block lists:
+This entry removes the following (sub)domains from the block list:
   maps.here.com
   here.com
 
@@ -195,22 +219,21 @@ This entry does not remove:
   www.adwhere.com
 </code></pre>
   
-**query active block lists for a certain (sub-)domain, e.g. for whitelisting:**
+**query active block list for a certain (sub-)domain, e.g. for whitelisting:**
 <pre><code>
 /etc/init.d/adblock query example.www.doubleclick.net
-::: distinct results for domain 'example.www.doubleclick.net'
- no match
-::: distinct results for domain 'www.doubleclick.net'
- adb_list.sysctl      : www.doubleclick.net
-::: distinct results for domain 'doubleclick.net'
- adb_list.adaway      : ad-g.doubleclick.net
- adb_list.securemecca : 1168945.fls.doubleclick.net
- adb_list.sysctl      : 1435575.fls.doubleclick.net
- adb_list.whocares    : 3ad.doubleclick.net
+::: results for (sub-)domain 'example.www.doubleclick.net' (max. 5)
+ - no match
+::: results for (sub-)domain 'www.doubleclick.net' (max. 5)
+ - no match
+::: results for (sub-)domain 'doubleclick.net' (max. 5)
+ + doubleclick.net
+ + feedads.g.doubleclick.net
+ + survey.g.doubleclick.net
 
 The query function checks against the submitted (sub-)domain and recurses automatically to the upper top level domain(s).
-For every domain it returns the overall count plus a distinct list of active block lists with the first relevant result.
-In the example above whitelist "www.doubleclick.net" to free the submitted domain.
+For every (sub-)domain it returns the first five relevant results.
+In the example above whitelist "doubleclick.net" to free the submitted domain.
 </code></pre>
   
 **add a new block list source:**
index 41c1be737c43b2e41fe8aa7c21af657cfee781b0..0478f84a9a12ad5fbf98b67dc48a43b7322c3d21 100755 (executable)
@@ -10,7 +10,7 @@
 #
 LC_ALL=C
 PATH="/usr/sbin:/usr/bin:/sbin:/bin"
-adb_ver="2.7.1"
+adb_ver="2.8.3"
 adb_sysver="$(ubus -S call system board | jsonfilter -e '@.release.description')"
 adb_enabled=1
 adb_debug=0
@@ -24,8 +24,9 @@ adb_whitelist="/etc/adblock/adblock.whitelist"
 adb_whitelist_rset="\$1 ~/^([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\"^\"\$1\"\\\|[.]\"\$1)}"
 adb_fetch="/usr/bin/wget"
 adb_fetchparm="--quiet --no-cache --no-cookies --max-redirect=0 --timeout=10 --no-check-certificate -O"
-adb_dnslist="dnsmasq unbound"
+adb_dnslist="dnsmasq unbound named"
 adb_dnsprefix="adb_list"
+adb_dnsfile="${adb_dnsprefix}.overall"
 adb_rtfile="/tmp/adb_runtime.json"
 adb_sources=""
 adb_src_cat_shalla=""
@@ -113,6 +114,13 @@ f_envload()
                             adb_dnsformat="awk '{print \"local-zone: \042\"\$0\"\042 static\"}'"
                             break 2
                             ;;
+                        named)
+                            adb_dns="${dns}"
+                            adb_dnsdir="${adb_dnsdir:="/var/lib/bind"}"
+                            adb_dnshidedir="${adb_dnsdir}/.adb_hidden"
+                            adb_dnsformat="awk '{print \"\"\$0\" IN CNAME .\n*.\"\$0\" IN CNAME .\"}'"
+                            break 2
+                            ;;
                     esac
                 fi
             done
@@ -160,7 +168,7 @@ f_envcheck()
     #
     if [ ${adb_enabled} -ne 1 ]
     then
-        if [ -n "$(ls -dA "${adb_dnsdir}/${adb_dnsprefix}"* 2>/dev/null)" ]
+        if [ -s "${adb_dnsdir}/${adb_dnsfile}" ]
         then
             f_rmdns
             f_dnsrestart
@@ -291,18 +299,14 @@ f_list()
             fi
             ;;
         restore)
-            if [ ${adb_backup} -eq 1 ] && [ -d "${adb_backupdir}" ]
+            if [ ${adb_backup} -eq 1 ] && [ -d "${adb_backupdir}" ] &&
+                [ -f "${adb_backupdir}/${adb_dnsprefix}.${src_name}.gz" ]
             then
-                rm -f "${adb_dnsdir}/${adb_dnsprefix}.${src_name}"
-                if [ -f "${adb_backupdir}/${adb_dnsprefix}.${src_name}.gz" ]
-                then
-                    gunzip -cf "${adb_backupdir}/${adb_dnsprefix}.${src_name}.gz" > "${adb_tmpfile}"
-                    adb_rc=${?}
-                fi
+                gunzip -cf "${adb_backupdir}/${adb_dnsprefix}.${src_name}.gz" > "${adb_tmpfile}"
+                adb_rc=${?}
             fi
             ;;
         remove)
-            rm -f "${adb_dnsdir}/${adb_dnsprefix}.${src_name}"
             if [ -d "${adb_backupdir}" ]
             then
                 rm -f "${adb_backupdir}/${adb_dnsprefix}.${src_name}.gz"
@@ -312,9 +316,9 @@ f_list()
         format)
             if [ -s "${adb_tmpdir}/tmp.whitelist" ]
             then
-                grep -vf "${adb_tmpdir}/tmp.whitelist" "${adb_tmpfile}" | eval "${adb_dnsformat}" > "${adb_dnsfile}"
+                grep -vf "${adb_tmpdir}/tmp.whitelist" "${adb_tmpfile}" | eval "${adb_dnsformat}" >> "${adb_tmpdir}/${adb_dnsfile}"
             else
-                eval "${adb_dnsformat}" "${adb_tmpfile}" > "${adb_dnsfile}"
+                eval "${adb_dnsformat}" "${adb_tmpfile}" >> "${adb_tmpdir}/${adb_dnsfile}"
             fi
             adb_rc=${?}
             ;;
@@ -326,20 +330,18 @@ f_list()
 #
 f_switch()
 {
+    local source target status mode="${1}"
+
     if [ -d "${adb_dnshidedir}" ]
     then
-        local source target status mode="${1}"
-        local dns_active="$(find "${adb_dnsdir}" -maxdepth 1 -type f -name "${adb_dnsprefix}*" -print)"
-        local dns_passive="$(find "${adb_dnshidedir}" -maxdepth 1 -type f -name "${adb_dnsprefix}*" -print)"
-
-        if [ -n "${dns_active}" ] && [ "${mode}" = "suspend" ]
+        if [ -s "${adb_dnsdir}/${adb_dnsfile}" ] && [ "${mode}" = "suspend" ]
         then
-            source="${adb_dnsdir}/${adb_dnsprefix}"
+            source="${adb_dnsdir}/${adb_dnsfile}"
             target="${adb_dnshidedir}"
             status="suspended"
-        elif [ -n "${dns_passive}" ] && [ "${mode}" = "resume" ]
+        elif [ -s "${adb_dnshidedir}/${adb_dnsfile}" ] && [ "${mode}" = "resume" ]
         then
-            source="${adb_dnshidedir}/${adb_dnsprefix}"
+            source="${adb_dnshidedir}/${adb_dnsfile}"
             target="${adb_dnsdir}"
             status="resumed"
         fi
@@ -352,18 +354,17 @@ f_switch()
     fi
 }
 
-# f_query: query block lists for certain (sub-)domains
+# f_query: query block list for certain (sub-)domains
 #
 f_query()
 {
     local search result cnt
     local domain="${1}"
     local tld="${domain#*.}"
-    local dns_active="$(find "${adb_dnsdir}" -maxdepth 1 -type f -name "${adb_dnsprefix}*" -print)"
 
-    if [ -z "${dns_active}" ]
+    if [ ! -s "${adb_dnsdir}/${adb_dnsfile}" ]
     then
-         printf "%s\n" "::: no active block lists found, please start / resume adblock first"
+         printf "%s\n" "::: no active block list found, please start / resume adblock first"
     elif [ -z "${domain}" ] || [ "${domain}" = "${tld}" ]
     then
         printf "%s\n" "::: invalid domain input, please submit a specific (sub-)domain, e.g. 'www.abc.xyz'"
@@ -372,9 +373,9 @@ f_query()
         while [ "${domain}" != "${tld}" ]
         do
             search="${domain//./\.}"
-            result="$(grep -Hm1 "[/\"\.]${search}[/\"]" "${adb_dnsprefix}"* | awk -F ':|=|/|\"' '{printf(" %-20s : %s\n",$1,$4)}')"
-            printf "%s\n" "::: distinct results for domain '${domain}'"
-            printf "%s\n" "${result:=" no match"}"
+            result="$(grep -Hm5 "[/\"\.]${search}[/\"]" "${adb_dnsfile}" | awk -F ':|=|/|\"' '{printf(" + %s\n",$4)}')"
+            printf "%s\n" "::: results for (sub-)domain '${domain}' (max. 5)"
+            printf "%s\n" "${result:=" no match"}"
             domain="${tld}"
             tld="${domain#*.}"
         done
@@ -389,14 +390,10 @@ f_status()
 
     if [ -s "${adb_rtfile}" ]
     then
-        local dns_active="$(find "${adb_dnsdir}" -maxdepth 1 -type f -name "${adb_dnsprefix}*" -print)"
-        local dns_passive="$(find "${adb_dnshidedir}" -maxdepth 1 -type f -name "${adb_dnsprefix}*" -print)"
-
-        if [ -n "${dns_active}" ]
+        if [ -s "${adb_dnsdir}/${adb_dnsfile}" ]
         then
             value="active"
-        elif [ -n "${dns_passive}" ] || [ -z "${dns_active}" ]
-        then
+        else
             value="no domains blocked"
         fi
         printf "%s\n" "::: adblock runtime information"
@@ -425,7 +422,7 @@ f_log()
         then
             logger -t "adblock-[${adb_ver}] ${class}" "Please check 'https://github.com/openwrt/packages/blob/master/net/adblock/files/README.md' (${adb_sysver})"
             f_rmtemp
-            if [ -n "$(ls -dA "${adb_dnsdir}/${adb_dnsprefix}"* 2>/dev/null)" ]
+            if [ -s "${adb_dnsdir}/${adb_dnsfile}" ]
             then
                 f_rmdns
                 f_dnsrestart
@@ -439,7 +436,7 @@ f_log()
 #
 f_main()
 {
-    local src_name src_rset shalla_archive enabled url cnt sum_cnt=0
+    local src_name src_rset shalla_archive enabled url hash_old hash_new cnt=0
     local mem_total="$(awk '/^MemTotal/ {print int($2/1000)}' "/proc/meminfo")"
 
     f_log "info " "start adblock processing ..."
@@ -450,10 +447,9 @@ f_main()
         eval "enabled=\"\${enabled_${src_name}}\""
         eval "url=\"\${adb_src_${src_name}}\""
         eval "src_rset=\"\${adb_src_rset_${src_name}}\""
-        adb_dnsfile="${adb_tmpdir}/${adb_dnsprefix}.${src_name}"
         > "${adb_tmpload}"
         > "${adb_tmpfile}"
-        adb_rc=0
+        adb_rc=4
 
         # basic pre-checks
         #
@@ -466,9 +462,8 @@ f_main()
 
         # manual mode
         #
-        if [ ${adb_manmode} -eq 1 ] && [ -z "${adb_action}" ]
+        if [ ${adb_manmode} -eq 1 ] && [ -z "${adb_action}" ] && [ "${src_name}" != "blacklist" ]
         then
-            adb_rc=4
             f_list restore
             if [ ${adb_rc} -eq 0 ] && [ -s "${adb_tmpfile}" ]
             then
@@ -479,7 +474,7 @@ f_main()
 
         # download block list
         #
-        if [ "${src_name}" = "blacklist" ]
+        if [ "${src_name}" = "blacklist" ] && [ -s "${url}" ]
         then
             cat "${url}" > "${adb_tmpload}"
             adb_rc=${?}
@@ -540,44 +535,49 @@ f_main()
         fi
     done
 
-    # overall sort
+    # hash preparation and overall sort
     #
-    for src_name in $(ls -dASr "${adb_tmpdir}/${adb_dnsprefix}"* 2>/dev/null)
-    do
+    if [ -f "${adb_dnsdir}/${adb_dnsfile}" ]
+    then
+        hash_old="$(sha256sum "${adb_dnsdir}/${adb_dnsfile}" | awk '{print $1}')"
+    fi
+    if [ -s "${adb_tmpdir}/${adb_dnsfile}" ]
+    then
         if [ ${mem_total} -ge 64 ] || [ ${adb_forcesrt} -eq 1 ]
         then
-            if [ -s "${adb_tmpdir}/blocklist.overall" ]
-            then
-                sort "${adb_tmpdir}/blocklist.overall" "${adb_tmpdir}/blocklist.overall" "${src_name}" | uniq -u > "${adb_tmpdir}/tmp.blocklist"
-                mv -f "${adb_tmpdir}/tmp.blocklist" "${src_name}"
-            fi
-            cat "${src_name}" >> "${adb_tmpdir}/blocklist.overall"
+            sort -u "${adb_tmpdir}/${adb_dnsfile}" > "${adb_dnsdir}/${adb_dnsfile}"
+        else
+            mv -f "${adb_tmpdir}/${adb_dnsfile}" "${adb_dnsdir}" 2>/dev/null
         fi
-        cnt="$(wc -l < "${src_name}")"
-        sum_cnt=$((sum_cnt + cnt))
-    done
+    else
+        > "${adb_dnsdir}/${adb_dnsfile}"
+    fi
+    hash_new="$(sha256sum "${adb_dnsdir}/${adb_dnsfile}" | awk '{print $1}')"
+    cnt="$(wc -l < "${adb_dnsdir}/${adb_dnsfile}")"
 
-    # restart the dns backend and export runtime information
+    # conditional restart of the dns backend and runtime information export
     #
-    mv -f "${adb_tmpdir}/${adb_dnsprefix}"* "${adb_dnsdir}" 2>/dev/null
-    chown "${adb_dns}":"${adb_dns}" "${adb_dnsdir}/${adb_dnsprefix}"* 2>/dev/null
+    chown "${adb_dns}":"${adb_dns}" "${adb_dnsdir}/${adb_dnsfile}" 2>/dev/null
     f_rmtemp
-    f_dnsrestart
+    if [ "${hash_old}" != "${hash_new}" ]
+    then
+        f_dnsrestart
+    fi
     if [ ${?} -eq 0 ]
     then
         json_init
         json_add_object "data"
         json_add_string "adblock_version" "${adb_ver}"
-        json_add_string "blocked_domains" "${sum_cnt}"
+        json_add_string "blocked_domains" "${cnt}"
         json_add_string "fetch_info" "${adb_fetchinfo}"
         json_add_string "dns_backend" "${adb_dns}"
         json_add_string "last_rundate" "$(/bin/date "+%d.%m.%Y %H:%M:%S")"
         json_add_string "system" "${adb_sysver}"
         json_close_object
         json_dump > "${adb_rtfile}"
-        f_log "info " "block lists with overall ${sum_cnt} domains loaded successfully (${adb_sysver})"
+        f_log "info " "block list with overall ${cnt} domains loaded successfully (${adb_sysver})"
     else
-        f_log "error" "dns backend restart with active block lists failed"
+        f_log "error" "dns backend restart with active block list failed"
     fi
 }
 
diff --git a/net/beanstalkd/Makefile b/net/beanstalkd/Makefile
new file mode 100644 (file)
index 0000000..723d882
--- /dev/null
@@ -0,0 +1,49 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=beanstalkd
+PKG_VERSION:=1.9
+PKG_RELEASE:=1
+
+# for now, build from latest commit since releases are infrequent and
+# useful fixes trickle in...
+PKG_SOURCE_URL:=https://github.com/kr/beanstalkd.git
+PKG_SOURCE_VERSION:=b7b4a6a14b7e8d096dc8cbc255b23be17a228cbb
+
+PKG_SOURCE_PROTO:=git
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-v$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.xz
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-v$(PKG_VERSION)
+PKG_HASH:=6d5155ab347b731640495b1f0df6a4a849e84194d2ef0c2ec6af3879ee1aca2c
+
+PKG_MAINTAINER:=Philip Prindeville <philipp@redfish-solutions.com>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/beanstalkd
+  SECTION:=net
+  CATEGORY:=Network
+  TITLE:=Beanstalk
+endef
+
+define Package/beanstalkd/description
+ Beanstalk is a simple, fast work queue.
+endef
+
+define Build/Configure
+endef
+
+define Build/Compile
+       cd $(PKG_BUILD_DIR) && make CC="$(TARGET_CC)" CFLAGS="$(TARGET_CFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)" PREFIX=/usr
+endef
+
+define Package/beanstalkd/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/beanstalkd $(1)/usr/bin/beanstalkd
+
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) ./files/beanstalkd.init $(1)/etc/init.d/beanstalkd
+endef
+
+$(eval $(call BuildPackage,beanstalkd))
diff --git a/net/beanstalkd/files/beanstalkd.init b/net/beanstalkd/files/beanstalkd.init
new file mode 100644 (file)
index 0000000..992076d
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh /etc/rc.common
+# Beanstalk
+START=21
+STOP=11
+
+USE_PROCD=1
+PROG=/usr/bin/beanstalkd
+start_service() {
+    procd_open_instance
+    procd_set_param command $PROG
+    procd_close_instance
+}
diff --git a/net/beanstalkd/patches/900-makefile.patch b/net/beanstalkd/patches/900-makefile.patch
new file mode 100644 (file)
index 0000000..f948851
--- /dev/null
@@ -0,0 +1,116 @@
+diff --git a/Makefile b/Makefile
+index a3f345f..fe5a083 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,17 +1,16 @@
+-PREFIX=/usr/local
+-BINDIR=$(DESTDIR)$(PREFIX)/bin
+-CFLAGS=-Wall -Werror\
+-      -Wformat=2\
+-      -g\
+-
+-LDFLAGS=
+-OS=$(shell uname|tr A-Z a-z)
+-INSTALL=install
+-
+-VERS=$(shell ./vers.sh)
+-TARG=beanstalkd
+-MOFILE=main.o
+-OFILES=\
++PREFIX ?= /usr/local
++BINDIR = $(DESTDIR)$(PREFIX)/bin
++CFLAGS += -Wall -Werror -Wformat=2 -g
++LDFLAGS += 
++LDLIBS ?= 
++
++OS ?= $(shell uname | tr 'A-Z' 'a-z')
++INSTALL ?= install
++
++VERS = $(shell ./vers.sh)
++TARG = beanstalkd
++MOFILE = main.o
++OFILES = \
+       $(OS).o\
+       conn.o\
+       file.o\
+@@ -29,52 +28,44 @@ OFILES=\
+       vers.o\
+       walg.o\
+-TOFILES=\
++TOFILES = \
+       testheap.o\
+       testjobs.o\
+       testserv.o\
+       testutil.o\
+-HFILES=\
++HFILES = \
+       dat.h\
+       sd-daemon.h\
+ ifeq ($(OS),linux)
+-
+-LDLIBS=\
+-      -lrt\
+-
++   LDLIBS += -lrt
+ endif
+-CLEANFILES=\
++CLEANFILES = \
+       vers.c\
+-.PHONY: all
+ all: $(TARG)
+ $(TARG): $(OFILES) $(MOFILE)
+       $(LINK.o) -o $@ $^ $(LDLIBS)
+-.PHONY: install
+ install: $(BINDIR)/$(TARG)
+ $(BINDIR)/%: %
+       $(INSTALL) -d $(dir $@)
+       $(INSTALL) $< $@
+-CLEANFILES:=$(CLEANFILES) $(TARG)
++CLEANFILES := $(CLEANFILES) $(TARG)
+ $(OFILES) $(MOFILE): $(HFILES)
+-.PHONY: clean
+ clean:
+       rm -f *.o $(CLEANFILES)
+-.PHONY: check
+ check: ct/_ctcheck
+       ct/_ctcheck
+-.PHONY: bench
+ bench: ct/_ctcheck
+       ct/_ctcheck -b
+@@ -88,11 +79,8 @@ ct/ct.o ct/_ctcheck.o: ct/ct.h ct/internal.h
+ $(TOFILES): $(HFILES) ct/ct.h
+-CLEANFILES:=$(CLEANFILES) ct/_* ct/*.o
++CLEANFILES += ct/_* ct/*.o
+-ifneq ($(shell ./verc.sh),$(shell cat vers.c 2>/dev/null))
+-.PHONY: vers.c
+-endif
+ vers.c:
+       ./verc.sh >vers.c
+@@ -100,3 +88,9 @@ doc/beanstalkd.1 doc/beanstalkd.1.html: doc/beanstalkd.ronn
+       ronn $<
+ freebsd.o: darwin.c
++
++.PHONY: all install clean check bench
++
++ifneq ($(shell ./verc.sh),$(shell cat vers.c 2>/dev/null))
++.PHONY: vers.c
++endif
diff --git a/net/beanstalkd/patches/901-fix-headers.patch b/net/beanstalkd/patches/901-fix-headers.patch
new file mode 100644 (file)
index 0000000..ba6de6d
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/sd-daemon.c      2017-02-16 18:50:20.000000000 -0700
++++ b/sd-daemon.c      2017-02-16 19:21:09.086008361 -0700
+@@ -32,7 +32,7 @@
+ #include <sys/stat.h>
+ #include <sys/socket.h>
+ #include <sys/un.h>
+-#include <sys/fcntl.h>
++#include <fcntl.h>
+ #include <netinet/in.h>
+ #include <stdlib.h>
+ #include <errno.h>
diff --git a/net/beanstalkd/patches/902-replace-posix_fallocate.patch b/net/beanstalkd/patches/902-replace-posix_fallocate.patch
new file mode 100644 (file)
index 0000000..18b07c1
--- /dev/null
@@ -0,0 +1,18 @@
+--- a/linux.c
++++ b/linux.c
+@@ -1,4 +1,6 @@
+ #define _XOPEN_SOURCE 600
++#include <unistd.h>
++#include <sys/types.h>
+ #include <stdint.h>
+ #include <fcntl.h>
+ #include <stdlib.h>
+@@ -19,7 +19,7 @@ static int epfd;
+ int
+ rawfalloc(int fd, int len)
+ {
+-    return posix_fallocate(fd, 0, len);
++    return ftruncate(fd, len);
+ }
index c36231a12d4cad3a34fc9fdeeedbe965f31eb5a7..34c5359dd7bf03ec017cfcec8fab1e2ef35e1738 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=cgi-io
-PKG_RELEASE:=1
+PKG_RELEASE:=3
 
 PKG_LICENSE:=GPL-2.0+
 
index 8a4ca192c5ad28b361ae7dfdaf98dc15cde8bfee..6d8b1585a8b2a26c04839b5679038a9e96f59819 100644 (file)
@@ -4,6 +4,9 @@ PROJECT(cgi-io C)
 
 INCLUDE(CheckFunctionExists)
 
+FIND_PATH(ubus_include_dir libubus.h)
+INCLUDE_DIRECTORIES(${ubus_include_dir})
+
 ADD_DEFINITIONS(-Os -Wall -Werror --std=gnu99 -g3 -Wmissing-declarations)
 
 SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
index 69df2d66a4996eeb4b7f7db3c20f85b0e4f818c8..019bdf16016eda6c42d7505da8322294dd9ac45c 100644 (file)
@@ -577,6 +577,7 @@ main_backup(int argc, char **argv)
        pid_t pid;
        time_t now;
        int len;
+       int status;
        int fds[2];
        char buf[4096];
        char datestr[16] = { 0 };
@@ -610,6 +611,7 @@ main_backup(int argc, char **argv)
                return -1;
 
        default:
+               fcntl(fds[0], F_SETFL, fcntl(fds[0], F_GETFL) | O_NONBLOCK);
                now = time(NULL);
                strftime(datestr, sizeof(datestr) - 1, "%Y-%m-%d", localtime(&now));
 
@@ -621,10 +623,15 @@ main_backup(int argc, char **argv)
                printf("Content-Disposition: attachment; "
                       "filename=\"backup-%s-%s.tar.gz\"\r\n\r\n", hostname, datestr);
 
-               while ((len = read(fds[0], buf, sizeof(buf))) > 0)
-                       fwrite(buf, len, 1, stdout);
+               do {
+                       waitpid(pid, &status, 0);
 
-               waitpid(pid, NULL, 0);
+                       while ((len = read(fds[0], buf, sizeof(buf))) > 0) {
+                               fwrite(buf, len, 1, stdout);
+                               fflush(stdout);
+                       }
+
+               } while (!WIFEXITED(status));
 
                close(fds[0]);
                close(fds[1]);
index 8e9dfa9abe4008fbfda52e5b8cdc50ec1f7bc3bc..3cc1dfcf79d77928013feeb73900d038f5bc4a75 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=clamav
 PKG_VERSION:=0.99.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_LICENSE:=GPL-2.0
 PKG_MAINTAINER:=Marko Ratkaj <marko.ratkaj@sartura.hr> \
@@ -71,6 +71,7 @@ define Build/Configure
                --with-user nobody \
                --with-group nogroup \
                --with-pcre="$(STAGING_DIR)/usr/" \
+               --with-openssl="$(STAGING_DIR)/usr/" \
        )
 endef
 
index cf18203ec503146db623cca83deacc36f3df3ea3..0780cec1fe561f94e20e73d923abd2aba6657f70 100755 (executable)
@@ -12,7 +12,7 @@ PKG_NAME:=ddns-scripts
 PKG_VERSION:=2.7.6
 # Release == build
 # increase on changes of services files or tld_names.dat
-PKG_RELEASE:=14
+PKG_RELEASE:=15
 
 PKG_LICENSE:=GPL-2.0
 PKG_MAINTAINER:=Christian Schoenebeck <christian.schoenebeck@gmail.com>
index df3667dc478bedf72e2e34e9b62cc6ebff1f309b..6996c8312943e6aa03a31a96a08d7f101621de83 100644 (file)
@@ -68,7 +68,7 @@
 
 "dnshome.de"           "http://[USERNAME]:[PASSWORD]@www.dnshome.de/dyndns.php?hostname=[DOMAIN]&ip=[IP]"
 
-"dnsmadeeasy.com"      "http://www.dnsmadeeasy.com/servlet/updateip?username=[USERNAME]&password=[PASSWORD}&id=[DOMAIN]&ip=[IP]"       "success|ip-same"
+"dnsmadeeasy.com"      "http://cp.dnsmadeeasy.com/servlet/updateip?username=[USERNAME]&password=[PASSWORD]&id=[DOMAIN]&ip=[IP]"        "success|ip-same"
 
 "dnsmax.com"           "http://update.dnsmax.com/update/?username=[USERNAME]&password=[PASSWORD]&resellerid=1&clientname=openwrt&clientversion=8.09&protocolversion=2.0&updatehostname=[DOMAIN]&ip=[IP]"
 
index 0591b6fd28f080da5d94285018eebf177b78c9aa..b0f3ae72227055d128ce36d0157197c3f5cf310e 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=fping
 PKG_VERSION:=4.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://fping.org/dist/
@@ -44,6 +44,8 @@ CONFIGURE_ARGS+= \
        --enable-ipv4 \
        --enable-ipv6
 
+TARGET_CFLAGS += -std=gnu99
+
 define Package/fping/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/fping $(1)/usr/bin/
diff --git a/net/freeradius2/Config.in b/net/freeradius2/Config.in
deleted file mode 100644 (file)
index cd0141e..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# FreeRADIUS avanced configuration
-
-choice
-       prompt "SSL library"
-       default FREERADIUS_OPENSSL
-       depends on PACKAGE_freeradius2-common
-
-config FREERADIUS_NOSSL
-       bool "No SSL support"
-
-config FREERADIUS_OPENSSL
-       bool "OpenSSL"
-
-endchoice
diff --git a/net/freeradius2/Makefile b/net/freeradius2/Makefile
deleted file mode 100644 (file)
index b55b9bf..0000000
+++ /dev/null
@@ -1,636 +0,0 @@
-#
-# Copyright (C) 2008-2015 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:=freeradius2
-PKG_VERSION:=2.2.9
-PKG_RELEASE:=1
-
-PKG_SOURCE:=freeradius-server-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=\
-       ftp://ftp.freeradius.org/pub/freeradius/ \
-       ftp://ftp.freeradius.org/pub/freeradius/old/
-PKG_MD5SUM:=d1398327ba4e23c75da06d8a0e01096b
-PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
-PKG_LICENSE:=GPL-2.0
-PKG_LICENSE_FILES:=COPYRIGHT LICENSE
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/freeradius-server-$(PKG_VERSION)
-PKG_FIXUP:=autoreconf
-PKG_CHECK_FORMAT_SECURITY:=0
-
-PKG_CONFIG_DEPENDS := \
-  FREERADIUS_OPENSSL \
-  FREERADIUS_NOSSL
-
-PKG_CHECK_FORMAT_SECURITY:=0
-include $(INCLUDE_DIR)/package.mk
-
-define Package/freeradius2/config
-  source "$(SOURCE)/Config.in"
-endef
-
-define Package/freeradius2/Default
-  SECTION:=net
-  CATEGORY:=Network
-  URL:=http://freeradius.org/
-  SUBMENU:=FreeRADIUS (version 2)
-endef
-
-define Package/freeradius2
-  $(call Package/freeradius2/Default)
-  DEPENDS:=+libltdl +libreadline +freeradius2-common
-  TITLE:=A flexible RADIUS server (version 2)
-endef
-
-define Package/freeradius2/conffiles
-/etc/freeradius2/clients.conf
-/etc/freeradius2/radiusd.conf
-/etc/freeradius2/sites/default
-endef
-
-define Package/freeradius2-democerts
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2
-  TITLE:=Demo certificates to test the server
-endef
-
-define Package/freeradius2-common
-  $(call Package/freeradius2/Default)
-  TITLE:=common files
-  DEPENDS:=+libpthread +FREERADIUS_OPENSSL:libopenssl +zlib
-endef
-
-define Package/freeradius2-mod-chap
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2
-  TITLE:=CHAP module
-endef
-
-define Package/freeradius2-mod-chap/conffiles
-/etc/freeradius2/modules/chap
-endef
-
-define Package/freeradius2-mod-detail
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2
-  TITLE:=Detailed accounting module
-endef
-
-define Package/freeradius2-mod-detail/conffiles
-/etc/freeradius2/modules/detail
-endef
-
-define Package/freeradius2-mod-eap
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2
-  TITLE:=Base EAP module
-endef
-
-define Package/freeradius2-mod-eap/conffiles
-/etc/freeradius2/eap.conf
-endef
-
-define Package/freeradius2-mod-eap-gtc
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2-mod-eap
-  TITLE:=EAP/GTC module
-endef
-
-define Package/freeradius2-mod-eap-md5
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2-mod-eap
-  TITLE:=EAP/MD5 module
-endef
-
-define Package/freeradius2-mod-eap-mschapv2
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2-mod-eap +freeradius2-mod-mschap
-  TITLE:=EAP/MS-CHAPv2 module
-endef
-
-define Package/freeradius2-mod-eap-peap
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2-mod-eap @FREERADIUS_OPENSSL
-  TITLE:=EAP/PEAP module
-endef
-
-define Package/freeradius2-mod-eap-tls
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2-mod-eap @FREERADIUS_OPENSSL
-  TITLE:=EAP/TLS module
-endef
-
-define Package/freeradius2-mod-eap-ttls
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2-mod-eap-tls
-  TITLE:=EAP/TTLS module
-endef
-
-define Package/freeradius2-mod-exec
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2
-  TITLE:=EXEC module
-endef
-
-define Package/freeradius2-mod-exec/conffiles
-/etc/freeradius2/modules/exec
-endef
-
-define Package/freeradius2-mod-expiration
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2
-  TITLE:=Expiration module
-endef
-
-define Package/freeradius2-mod-expiration/conffiles
-/etc/freeradius2/modules/expiration
-endef
-
-define Package/freeradius2-mod-always
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2
-  TITLE:=Always module
-endef
-
-define Package/freeradius2-mod-always/conffiles
-/etc/freeradius2/modules/always
-endef
-
-define Package/freeradius2-mod-expr
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2
-  TITLE:=EXPR module
-endef
-
-define Package/freeradius2-mod-expr/conffiles
-/etc/freeradius2/modules/expr
-endef
-
-define Package/freeradius2-mod-attr-filter
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2
-  TITLE:=ATTR filter module
-endef
-
-define Package/freeradius2-mod-attr-filter/conffiles
-/etc/freeradius2/modules/attr_filter
-/etc/freeradius2/attrs
-/etc/freeradius2/attrs.access_reject
-/etc/freeradius2/attrs.accounting_response
-/etc/freeradius2/attrs.pre-proxy
-endef
-
-define Package/freeradius2-mod-attr-rewrite
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2
-  TITLE:=ATTR rewrite module
-endef
-
-define Package/freeradius2-mod-attr-rewrite/conffiles
-/etc/freeradius2/modules/attr_rewrite
-endef
-
-define Package/freeradius2-mod-files
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2
-  TITLE:=Module using local files for authorization
-endef
-
-define Package/freeradius2-mod-files/conffiles
-/etc/freeradius2/acct_users
-/etc/freeradius2/preproxy_users
-/etc/freeradius2/users
-/etc/freeradius2/modules/files
-endef
-
-define Package/freeradius2-mod-passwd
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2
-  TITLE:=Rlm passwd module
-endef
-
-define Package/freeradius2-mod-passwd/conffiles
-/etc/freeradius2/modules/passwd
-endef
-
-define Package/freeradius2-mod-ldap
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2 +libopenldap
-  TITLE:=LDAP module
-endef
-
-define Package/freeradius2-mod-ldap/conffiles
-/etc/freeradius2/ldap.attrmap
-/etc/freeradius2/modules/ldap
-endef
-
-define Package/freeradius2-mod-logintime
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2
-  TITLE:=Logintime module
-endef
-
-define Package/freeradius2-mod-logintime/conffiles
-/etc/freeradius2/modules/logintime
-endef
-
-define Package/freeradius2-mod-mschap
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2
-  TITLE:=MS-CHAP and MS-CHAPv2 module
-endef
-
-define Package/freeradius2-mod-mschap/conffiles
-/etc/freeradius2/modules/mschap
-endef
-
-define Package/freeradius2-mod-pap
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2
-  TITLE:=PAP module
-endef
-
-define Package/freeradius2-mod-pap/conffiles
-/etc/freeradius2/modules/pap
-endef
-
-define Package/freeradius2-mod-preprocess
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2
-  TITLE:=Request pre-processing module
-endef
-
-define Package/freeradius2-mod-preprocess/conffiles
-/etc/freeradius2/hints
-/etc/freeradius2/huntgroups
-/etc/freeradius2/modules/preprocess
-endef
-
-define Package/freeradius2-mod-realm
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2
-  TITLE:=Realms handling module
-endef
-
-define Package/freeradius2-mod-realm/conffiles
-/etc/freeradius2/proxy.conf
-/etc/freeradius2/modules/realm
-endef
-
-define Package/freeradius2-mod-sql
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2
-  TITLE:=Base SQL module
-endef
-
-define Package/freeradius2-mod-sql/conffiles
-/etc/freeradius2/sql.conf
-endef
-
-define Package/freeradius2-mod-sql-mysql
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2-mod-sql +libmysqlclient-r
-  TITLE:=MySQL module
-endef
-
-define Package/freeradius2-mod-sql-pgsql
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2-mod-sql +libpq
-  TITLE:=PostgreSQL module
-endef
-
-define Package/freeradius2-mod-sql-sqlite
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2-mod-sql +libsqlite3
-  TITLE:=SQLite module
-endef
-
-define Package/freeradius2-mod-sqlcounter
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2-mod-sql
-  TITLE:=Generic SQL Counter module
-endef
-
-define Package/freeradius2-mod-radutmp
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2
-  TITLE:=Radius UTMP module
-endef
-
-define Package/freeradius2-mod-radutmp/conffiles
-/etc/freeradius2/modules/radutmp
-/etc/freeradius2/modules/sradutmp
-endef
-
-define Package/freeradius2-utils
-  $(call Package/freeradius2/Default)
-  DEPENDS:=+freeradius2-common
-  TITLE:=Misc. client utilities
-endef
-
-define Package/freeradius2-mod-sqllog
-  $(call Package/freeradius2/Default)
-  DEPENDS:=freeradius2
-  TITLE:=SQL Logging module
-endef
-
-CONFIGURE_ARGS+= \
-       --libdir=/usr/lib/freeradius2 \
-       --libexecdir=/usr/lib/freeradius2 \
-       --enable-shared \
-       --disable-static \
-       --disable-developer \
-       --with-threads \
-       $(if $(CONFIG_FREERADIUS_OPENSSL),--with,--without)-openssl \
-       $(if $(CONFIG_FREERADIUS_OPENSSL),--with-openssl-includes="$(STAGING_DIR)/usr/include",) \
-       $(if $(CONFIG_FREERADIUS_OPENSSL),--with-openssl-libraries="$(STAGING_DIR)/usr/lib",) \
-       $(if $(CONFIG_FREERADIUS_OPENSSL),--disable-openssl-version-check,) \
-       --with-system-libtool \
-       --with-system-libltdl \
-       --enable-strict-dependencies \
-       --with-raddbdir=/etc/freeradius2 \
-       --with-radacctdir=/var/db/radacct \
-       --with-logdir=/var/log \
-       --without-edir \
-       --without-snmp \
-       --without-rlm_checkval \
-       --without-rlm_dbm \
-       --without-rlm_counter \
-       --with-rlm_expr \
-       --with-rlm_eap \
-       --without-rlm_eap_sim \
-       --without-rlm_example \
-       --without-rlm_ippool \
-       --without-rlm_krb5 \
-       --without-rlm_otp \
-       --without-rlm_smsotp \
-       --without-rlm_pam \
-       --without-rlm_perl \
-       --without-rlm_python \
-       --without-rlm_smb \
-       --with-rlm_sql \
-       --with-rlm_sqlcounter \
-       --without-rlm_sqlhpwippool \
-       --without-rlm_sqlippool \
-       --without-rlm_sql_db2 \
-       --without-rlm_sql_firebird \
-       --without-rlm_sql_freetds \
-       --without-rlm_sql_iodbc \
-       --without-rlm_sql_oracle \
-       --without-rlm_sql_sybase \
-       --without-rlm_sql_unixodbc \
-       --without-rlm_sql_log \
-       --without-rlm_unix \
-       --without-rlm_eap_tnc \
-       --without-rlm_eap_ikev2 \
-       --without-rlm_opendirectory \
-       --without-rlm_wimax \
-       --without-rlm_ruby \
-       --without-rlm_caching \
-       --without-rlm_redis \
-       --without-rlm_rediswho \
-       --without-rlm_soh \
-       --without-rlm_sim \
-       --without-rlm_replicate \
-       --without-rlm_protocol_filter \
-       --without-rlm_policy \
-       --without-rlm_linelog \
-       --without-rlm_jradius \
-       --without-rlm_fastusers \
-       --without-rlm_eap_leap \
-       --without-rlm_dynamic_clients \
-       --without-rlm_digest \
-       --without-rlm_cram \
-       --without-rlm_copy_packet \
-       --without-rlm_acct_unique \
-       --without-rlm_acctlog
-       
-
-PKG_DICTIONARIES:= \
-       freeradius freeradius.internal \
-       rfc2865 rfc2866 rfc2867 rfc2868 rfc2869 rfc3162 rfc3576 rfc3580 \
-       rfc4372 rfc4675 rfc4679 \
-       microsoft \
-       wispr \
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius2-mod-ldap),)
-  CONFIGURE_ARGS+= \
-               --with-rlm_ldap-include-dir="$(STAGING_DIR)/usr/include" \
-               --with-rlm_ldap-lib-dir="$(STAGING_DIR)/usr/lib"
-  CONFIGURE_LIBS+= -lcrypto -lssl
-else
-  CONFIGURE_ARGS+= --without-rlm_ldap
-endif
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius2-mod-sql-mysql),)
-  CONFIGURE_ARGS+= \
-               --with-mysql-include-dir="$(STAGING_DIR)/usr/include" \
-               --with-mysql-lib-dir="$(STAGING_DIR)/usr/lib/mysql"
-  CONFIGURE_LIBS+= -lz
-  CONFIGURE_VARS+= ac_cv_lib_mysqlclient_r_mysql_init=yes
-else
-  CONFIGURE_ARGS+= --without-rlm_sql_mysql
-endif
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius2-mod-sql-pgsql),)
-  CONFIGURE_ARGS+= \
-               --with-rlm_sql_postgresql-include-dir="$(STAGING_DIR)/usr/include" \
-               --with-rlm_sql_postgresql-lib-dir="$(STAGING_DIR)/usr/lib"
-else
-  CONFIGURE_ARGS+= --without-rlm_sql_postgresql
-endif
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius2-mod-sqllog),)
-  CONFIGURE_ARGS+= \
-        --with-rlm_sql_log \
-        --with-experimental-modules \
-else
-  CONFIGURE_ARGS+= --without-rlm_sql_log
-endif
-
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius2-mod-sql-sqlite),)
-  CONFIGURE_ARGS+= \
-       --with-rlm_sql_sqlite \
-       --with-experimental-modules \
-       --with-sqlite-include-dir="$(STAGING_DIR)/usr/include" \
-       --with-sqlite-lib-dir="$(STAGING_DIR)/usr/lib"
-else
-  CONFIGURE_ARGS+= --without-rlm_sql_sqlite
-endif
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius2-mod-eap-peap),)
-  CONFIGURE_ARGS+= \
-               --with-rlm_eap_peap \
-               --with-rlm_eap_peap-include-dir="$(STAGING_DIR)/usr/include" \
-               --with-rlm_eap_peap-lib-dir="$(STAGING_DIR)/usr/lib"
-  CONFIGURE_LIBS+= -lcrypto -lssl
-else
-  CONFIGURE_ARGS+= --without-rlm_eap_peap
-endif
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius2-mod-eap-tls),)
-  CONFIGURE_ARGS+= \
-               --with-rlm_eap_tls \
-               --with-rlm_eap_tls-include-dir="$(STAGING_DIR)/usr/include" \
-               --with-rlm_eap_tls-lib-dir="$(STAGING_DIR)/usr/lib"
-  CONFIGURE_LIBS+= -lcrypto -lssl
-else
-  CONFIGURE_ARGS+= --without-rlm_eap_tls
-endif
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius2-mod-eap-ttls),)
-  CONFIGURE_ARGS+= \
-               --with-rlm_eap_ttls \
-               --with-rlm_eap_ttls-include-dir="$(STAGING_DIR)/usr/include" \
-               --with-rlm_eap_ttls-lib-dir="$(STAGING_DIR)/usr/lib"
-  CONFIGURE_LIBS+= -lcrypto -lssl
-else
-  CONFIGURE_ARGS+= --without-rlm_eap_ttls
-endif
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius2-mod-attr-rewrite),)
-  CONFIGURE_ARGS+= --with-rlm_attr-rewrite
-else
-  CONFIGURE_ARGS+= --without-rlm_attr-rewrite
-endif
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius2-mod-radutmp),)
-  CONFIGURE_ARGS+= --with-rlm_radutmp
-else
-  CONFIGURE_ARGS+= --without-rlm_radutmp
-endif
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius2-mod-logintime),)
-  CONFIGURE_ARGS+= --with-rlm_logintime
-else
-  CONFIGURE_ARGS+= --without-rlm_logintime
-endif
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius2-mod-expiration),)
-  CONFIGURE_ARGS+= --with-rlm_expiration
-else
-  CONFIGURE_ARGS+= --without-rlm_expiration
-endif
-
-ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius2-mod-always),)
-  CONFIGURE_ARGS+= --with-rlm_always
-else
-  CONFIGURE_ARGS+= --without-rlm_always
-endif
-
-CONFIGURE_VARS+= \
-       LDFLAGS="$$$$LDFLAGS" \
-       LIBS="$(CONFIGURE_LIBS)" \
-       MYSQL_CONFIG="no" \
-       ac_cv_lib_readline=no \
-
-define Build/Compile
-       $(MAKE) -C $(PKG_BUILD_DIR) \
-               R="$(PKG_INSTALL_DIR)" \
-               INSTALLSTRIP="" \
-               all certs install
-endef
-
-define Package/freeradius2-common/install
-       $(INSTALL_DIR) $(1)/etc/freeradius2
-       chmod 771 $(1)/etc/freeradius2
-       $(CP) $(PKG_INSTALL_DIR)/etc/freeradius2/dictionary $(1)/etc/freeradius2/ ; \
-       $(INSTALL_DIR) $(1)/usr/lib/freeradius2
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/freeradius2/libfreeradius-radius{,-*}.so $(1)/usr/lib/freeradius2
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/freeradius2/libfreeradius-eap{,-*}.so $(1)/usr/lib/freeradius2
-       $(INSTALL_DIR) $(1)/usr/share/freeradius2
-       $(CP) $(PKG_INSTALL_DIR)/usr/share/freeradius/dictionary $(1)/usr/share/freeradius2/
-       $(SED) "s,^\(\$$$$INCLUDE\),#\1,g" $(1)/usr/share/freeradius2/dictionary
-       for f in $(PKG_DICTIONARIES); do \
-               $(CP) $(PKG_INSTALL_DIR)/usr/share/freeradius/dictionary.$$$${f} $(1)/usr/share/freeradius2/ ; \
-               $(SED) "s,^#\(\$$$$INCLUDE dictionary\.$$$${f}\),\1,g" $(1)/usr/share/freeradius2/dictionary ; \
-       done
-endef
-
-define Package/freeradius2/install
-       $(INSTALL_DIR) $(1)/etc/freeradius2/modules
-       $(INSTALL_DIR) $(1)/etc/freeradius2/sites
-       for f in clients.conf radiusd.conf policy.conf; do \
-               $(CP) $(PKG_INSTALL_DIR)/etc/freeradius2/$$$${f} $(1)/etc/freeradius2/ ; \
-       done
-       $(CP) $(PKG_INSTALL_DIR)/etc/freeradius2/sites-available/default $(1)/etc/freeradius2/sites/default
-       $(INSTALL_DIR) $(1)/usr/sbin
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/radiusd $(1)/usr/sbin/
-       $(INSTALL_DIR) $(1)/etc/init.d
-       $(INSTALL_BIN) ./files/radiusd.init $(1)/etc/init.d/radiusd
-endef
-
-define Package/freeradius2-democerts/install
-       $(INSTALL_DIR) $(1)/etc/freeradius2/certs
-       $(CP) \
-               $(PKG_BUILD_DIR)/raddb/certs/ca.pem \
-               $(PKG_BUILD_DIR)/raddb/certs/dh \
-               $(PKG_BUILD_DIR)/raddb/certs/random \
-               $(PKG_BUILD_DIR)/raddb/certs/server.pem \
-               $(1)/etc/freeradius2/certs/
-endef
-
-define Package/freeradius2-utils/install
-       $(INSTALL_DIR) $(1)/usr/bin
-       for f in radclient radeapclient radwho; do \
-               $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$$$${f} $(1)/usr/bin/ ; \
-       done
-endef
-
-define BuildPlugin
-  define Package/$(1)/install
-       [ -z "$(2)" ] || $(INSTALL_DIR) $$(1)/usr/lib/freeradius2
-       for m in $(2); do \
-               $(CP) $(PKG_INSTALL_DIR)/usr/lib/freeradius2/$$$$$$$${m}{,-*}.so $$(1)/usr/lib/freeradius2 ; \
-       done
-       [ -z "$(3)" ] || $(INSTALL_DIR) $$(1)/etc/freeradius2
-       [ -z "$(4)" ] || $(INSTALL_DIR) $$(1)/etc/freeradius2/$(4)
-       for f in $(3); do \
-               $(CP) $(PKG_INSTALL_DIR)/etc/freeradius2/$$$$$$$${f} $$(1)/etc/freeradius2/$$$$$$$${f} ; \
-       done
-  endef
-
-  $$(eval $$(call BuildPackage,$(1)))
-endef
-
-$(eval $(call BuildPackage,freeradius2))
-$(eval $(call BuildPackage,freeradius2-common))
-$(eval $(call BuildPackage,freeradius2-democerts))
-$(eval $(call BuildPlugin,freeradius2-mod-chap,rlm_chap,modules/chap,modules,))
-$(eval $(call BuildPlugin,freeradius2-mod-detail,rlm_detail,modules/detail,modules,))
-$(eval $(call BuildPlugin,freeradius2-mod-eap,rlm_eap,eap.conf))
-$(eval $(call BuildPlugin,freeradius2-mod-eap-gtc,rlm_eap_gtc,))
-$(eval $(call BuildPlugin,freeradius2-mod-eap-md5,rlm_eap_md5,))
-$(eval $(call BuildPlugin,freeradius2-mod-eap-mschapv2,rlm_eap_mschapv2,))
-$(eval $(call BuildPlugin,freeradius2-mod-eap-peap,rlm_eap_peap,))
-$(eval $(call BuildPlugin,freeradius2-mod-eap-tls,rlm_eap_tls,))
-$(eval $(call BuildPlugin,freeradius2-mod-eap-ttls,rlm_eap_ttls,))
-$(eval $(call BuildPlugin,freeradius2-mod-exec,rlm_exec,modules/exec modules/echo ,modules,))
-$(eval $(call BuildPlugin,freeradius2-mod-attr-rewrite,rlm_attr_rewrite,modules/attr_rewrite,modules,))
-$(eval $(call BuildPlugin,freeradius2-mod-files,rlm_files,acct_users preproxy_users users modules/files,modules,))
-$(eval $(call BuildPlugin,freeradius2-mod-passwd,rlm_passwd,modules/passwd,modules,))
-$(eval $(call BuildPlugin,freeradius2-mod-ldap,rlm_ldap,ldap.attrmap modules/ldap,modules,))
-$(eval $(call BuildPlugin,freeradius2-mod-mschap,rlm_mschap,modules/mschap,modules,))
-$(eval $(call BuildPlugin,freeradius2-mod-pap,rlm_pap,modules/pap,modules,))
-$(eval $(call BuildPlugin,freeradius2-mod-preprocess,rlm_preprocess,hints huntgroups modules/preprocess,modules,))
-$(eval $(call BuildPlugin,freeradius2-mod-realm,rlm_realm,proxy.conf modules/realm modules/inner-eap,modules,))
-$(eval $(call BuildPlugin,freeradius2-mod-sql,rlm_sql,sql.conf,))
-$(eval $(call BuildPlugin,freeradius2-mod-sql-mysql,rlm_sql_mysql,))
-$(eval $(call BuildPlugin,freeradius2-mod-sql-pgsql,rlm_sql_postgresql,))
-$(eval $(call BuildPlugin,freeradius2-mod-sql-sqlite,rlm_sql_sqlite,))
-$(eval $(call BuildPlugin,freeradius2-mod-sqlcounter,rlm_sqlcounter,))
-$(eval $(call BuildPlugin,freeradius2-mod-sqllog,rlm_sql_log,))
-$(eval $(call BuildPlugin,freeradius2-mod-radutmp,rlm_radutmp,modules/radutmp modules/sradutmp,modules,))
-$(eval $(call BuildPlugin,freeradius2-mod-logintime,rlm_logintime,modules/logintime,modules,))
-$(eval $(call BuildPlugin,freeradius2-mod-expr,rlm_expr,modules/expr,modules,))
-$(eval $(call BuildPlugin,freeradius2-mod-attr-filter,rlm_attr_filter,modules/attr_filter attrs attrs.access_reject attrs.accounting_response attrs.pre-proxy,modules,,))
-$(eval $(call BuildPlugin,freeradius2-mod-expiration,rlm_expiration,modules/expiration,modules,))
-$(eval $(call BuildPlugin,freeradius2-mod-always,rlm_always,modules/always,modules,))
-$(eval $(call BuildPackage,freeradius2-utils))
diff --git a/net/freeradius2/files/radiusd.init b/net/freeradius2/files/radiusd.init
deleted file mode 100644 (file)
index 2127e98..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh /etc/rc.common
-#
-# Copyright (C) 2006-2015 OpenWrt.org
-#
-
-USE_PROCD=1
-
-START=50
-
-NAME=radiusd
-PROG=/usr/sbin/radiusd
-DEFAULT=/etc/default/radiusd
-
-start_service()
-{
-       [ -f $DEFAULT ] && . $DEFAULT
-       mkdir -p /var/log
-       mkdir -p /var/run
-       mkdir -p /var/db/radacct
-       mkdir -p /tmp/radiusd
-
-       procd_open_instance
-       procd_set_param command $PROG -f
-       procd_set_param env LD_LIBRARY_PATH=/usr/lib/freeradius2
-       [ -n "$IPADDR" ] && procd_append_param command -i $IPADDR
-       [ -n "$OPTIONS" ] && procd_append_param command $OPTIONS
-       procd_set_param respawn
-       procd_close_instance
-}
diff --git a/net/freeradius2/patches/001-fix-makefile.patch b/net/freeradius2/patches/001-fix-makefile.patch
deleted file mode 100644 (file)
index 676f99c..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: freeradius-server-2.2.7/Make.inc.in
-===================================================================
---- freeradius-server-2.2.7.orig/Make.inc.in
-+++ freeradius-server-2.2.7/Make.inc.in
-@@ -5,6 +5,7 @@
- #
- # Location of files.
-+SHELL         = @SHELL@
- prefix                = @prefix@
- exec_prefix   = @exec_prefix@
- sysconfdir    = @sysconfdir@
diff --git a/net/freeradius2/patches/002-config.patch b/net/freeradius2/patches/002-config.patch
deleted file mode 100644 (file)
index c486389..0000000
+++ /dev/null
@@ -1,613 +0,0 @@
-Index: freeradius-server-2.2.7/raddb/dictionary.in
-===================================================================
---- freeradius-server-2.2.7.orig/raddb/dictionary.in
-+++ freeradius-server-2.2.7/raddb/dictionary.in
-@@ -11,7 +11,7 @@
- #
- #     The filename given here should be an absolute path. 
- #
--$INCLUDE      @prefix@/share/freeradius/dictionary
-+$INCLUDE      @prefix@/share/freeradius2/dictionary
- #
- #     Place additional attributes or $INCLUDEs here.  They will
-Index: freeradius-server-2.2.7/raddb/eap.conf
-===================================================================
---- freeradius-server-2.2.7.orig/raddb/eap.conf
-+++ freeradius-server-2.2.7/raddb/eap.conf
-@@ -27,7 +27,7 @@
-               #  then that EAP type takes precedence over the
-               #  default type configured here.
-               #
--              default_eap_type = md5
-+              default_eap_type = peap
-               #  A list is maintained to correlate EAP-Response
-               #  packets with EAP-Request packets.  After a
-@@ -72,8 +72,8 @@
-               #  for wireless connections.  It is insecure, and does
-               #  not provide for dynamic WEP keys.
-               #
--              md5 {
--              }
-+#             md5 {
-+#             }
-               # Cisco LEAP
-               #
-@@ -87,8 +87,8 @@
-               #  User-Password, or the NT-Password attributes.
-               #  'System' authentication is impossible with LEAP.
-               #
--              leap {
--              }
-+#             leap {
-+#             }
-               #  Generic Token Card.
-               #
-@@ -101,7 +101,7 @@
-               #  the users password will go over the wire in plain-text,
-               #  for anyone to see.
-               #
--              gtc {
-+#             gtc {
-                       #  The default challenge, which many clients
-                       #  ignore..
-                       #challenge = "Password: "
-@@ -118,8 +118,8 @@
-                       #  configured for the request, and do the
-                       #  authentication itself.
-                       #
--                      auth_type = PAP
--              }
-+#                     auth_type = PAP
-+#             }
-               ## EAP-TLS
-               #
-@@ -215,7 +215,7 @@
-                       #  In these cases, fragment size should be
-                       #  1024 or less.
-                       #
--              #       fragment_size = 1024
-+                      fragment_size = 1024
-                       #  include_length is a flag which is
-                       #  by default set to yes If set to
-@@ -225,7 +225,7 @@
-                       #  message is included ONLY in the
-                       #  First packet of a fragment series.
-                       #
--              #       include_length = yes
-+                      include_length = yes
-                       #  Check the Certificate Revocation List
-                       #
-@@ -297,7 +297,7 @@
-                       # for the server to print out an error message,
-                       # and refuse to start.
-                       #
--                      make_cert_command = "${certdir}/bootstrap"
-+              #       make_cert_command = "${certdir}/bootstrap"
-                       #
-                       #  Elliptical cryptography configuration
-@@ -332,7 +332,7 @@
-                       #  You probably also want "use_tunneled_reply = yes"
-                       #  when using fast session resumption.
-                       #
--                      cache {
-+              #       cache {
-                             #
-                             #  Enable it.  The default is "no".
-                             #  Deleting the entire "cache" subsection
-@@ -348,14 +348,14 @@
-                             #  enable resumption for just one user
-                             #  by setting the above attribute to "yes".
-                             #
--                            enable = no
-+              #             enable = no
-                             #
-                             #  Lifetime of the cached entries, in hours.
-                             #  The sessions will be deleted after this
-                             #  time.
-                             #
--                            lifetime = 24 # hours
-+              #             lifetime = 24 # hours
-                             #
-                             #  The maximum number of entries in the
-@@ -364,8 +364,8 @@
-                             #  This could be set to the number of users
-                             #  who are logged in... which can be a LOT.
-                             #
--                            max_entries = 255
--                      }
-+              #             max_entries = 255
-+              #       }
-                       #
-                       #  As of version 2.1.10, client certificates can be
-@@ -503,7 +503,7 @@
-               #
-               #  in the control items for a request.
-               #
--              ttls {
-+#             ttls {
-                       #  The tunneled EAP session needs a default
-                       #  EAP type which is separate from the one for
-                       #  the non-tunneled EAP module.  Inside of the
-@@ -511,7 +511,7 @@
-                       #  If the request does not contain an EAP
-                       #  conversation, then this configuration entry
-                       #  is ignored.
--                      default_eap_type = md5
-+#                     default_eap_type = mschapv2
-                       #  The tunneled authentication request does
-                       #  not usually contain useful attributes
-@@ -527,7 +527,7 @@
-                       #  is copied to the tunneled request.
-                       #
-                       # allowed values: {no, yes}
--                      copy_request_to_tunnel = no
-+#                     copy_request_to_tunnel = yes
-                       #  The reply attributes sent to the NAS are
-                       #  usually based on the name of the user
-@@ -540,7 +540,7 @@
-                       #  the tunneled request.
-                       #
-                       # allowed values: {no, yes}
--                      use_tunneled_reply = no
-+#                     use_tunneled_reply = no
-                       #
-                       #  The inner tunneled request can be sent
-@@ -552,13 +552,13 @@
-                       #  the virtual server that processed the
-                       #  outer requests.
-                       #
--                      virtual_server = "inner-tunnel"
-+#                     virtual_server = "inner-tunnel"
-                       #  This has the same meaning as the
-                       #  same field in the "tls" module, above.
-                       #  The default value here is "yes".
-               #       include_length = yes
--              }
-+#             }
-               ##################################################
-               #
-@@ -627,14 +627,14 @@
-                       #  the PEAP module also has these configuration
-                       #  items, which are the same as for TTLS.
--                      copy_request_to_tunnel = no
--                      use_tunneled_reply = no
-+                      copy_request_to_tunnel = yes
-+                      use_tunneled_reply = yes
-                       #  When the tunneled session is proxied, the
-                       #  home server may not understand EAP-MSCHAP-V2.
-                       #  Set this entry to "no" to proxy the tunneled
-                       #  EAP-MSCHAP-V2 as normal MSCHAPv2.
--              #       proxy_tunneled_request_as_eap = yes
-+                      proxy_tunneled_request_as_eap = no
-                       #
-                       #  The inner tunneled request can be sent
-@@ -646,7 +646,8 @@
-                       #  the virtual server that processed the
-                       #  outer requests.
-                       #
--                      virtual_server = "inner-tunnel"
-+              #       virtual_server = "inner-tunnel"
-+                      EAP-TLS-Require-Client-Cert = no
-                       # This option enables support for MS-SoH
-                       # see doc/SoH.txt for more info.
-Index: freeradius-server-2.2.7/raddb/modules/counter
-===================================================================
---- freeradius-server-2.2.7.orig/raddb/modules/counter
-+++ freeradius-server-2.2.7/raddb/modules/counter
-@@ -69,7 +69,7 @@
- #  'check-name' attribute.
- #
- counter daily {
--      filename = ${db_dir}/db.daily
-+      filename = ${radacctdir}/db.daily
-       key = User-Name
-       count-attribute = Acct-Session-Time
-       reset = daily
-Index: freeradius-server-2.2.7/raddb/modules/pap
-===================================================================
---- freeradius-server-2.2.7.orig/raddb/modules/pap
-+++ freeradius-server-2.2.7/raddb/modules/pap
-@@ -18,5 +18,5 @@
- #
- #  http://www.openldap.org/faq/data/cache/347.html
- pap {
--      auto_header = no
-+      auto_header = yes
- }
-Index: freeradius-server-2.2.7/raddb/modules/radutmp
-===================================================================
---- freeradius-server-2.2.7.orig/raddb/modules/radutmp
-+++ freeradius-server-2.2.7/raddb/modules/radutmp
-@@ -12,7 +12,7 @@ radutmp {
-       #  Where the file is stored.  It's not a log file,
-       #  so it doesn't need rotating.
-       #
--      filename = ${logdir}/radutmp
-+      filename = ${radacctdir}/radutmp
-       #  The field in the packet to key on for the
-       #  'user' name,  If you have other fields which you want
-Index: freeradius-server-2.2.7/raddb/modules/sradutmp
-===================================================================
---- freeradius-server-2.2.7.orig/raddb/modules/sradutmp
-+++ freeradius-server-2.2.7/raddb/modules/sradutmp
-@@ -10,7 +10,7 @@
- # then name "sradutmp" to identify it later in the "accounting"
- # section.
- radutmp sradutmp {
--      filename = ${logdir}/sradutmp
-+      filename = ${radacctdir}/sradutmp
-       perm = 0644
-       callerid = "no"
- }
-Index: freeradius-server-2.2.7/raddb/radiusd.conf.in
-===================================================================
---- freeradius-server-2.2.7.orig/raddb/radiusd.conf.in
-+++ freeradius-server-2.2.7/raddb/radiusd.conf.in
-@@ -66,7 +66,7 @@ name = radiusd
- #  Location of config and logfiles.
- confdir = ${raddbdir}
--run_dir = ${localstatedir}/run/${name}
-+run_dir = ${localstatedir}/run
- # Should likely be ${localstatedir}/lib/radiusd
- db_dir = ${raddbdir}
-@@ -323,7 +323,7 @@ listen {
-       #  If your system does not support this feature, you will
-       #  get an error if you try to use it.
-       #
--#     interface = eth0
-+      interface = br-lan
-       #  Per-socket lists of clients.  This is a very useful feature.
-       #
-@@ -350,7 +350,7 @@ listen {
- #     ipv6addr = ::
-       port = 0
-       type = acct
--#     interface = eth0
-+      interface = br-lan
- #     clients = per_socket_clients
- }
-@@ -576,8 +576,8 @@ security {
- #
- #  allowed values: {no, yes}
- #
--proxy_requests  = yes
--$INCLUDE proxy.conf
-+proxy_requests  = no
-+#$INCLUDE proxy.conf
- # CLIENTS CONFIGURATION
-@@ -774,7 +774,7 @@ instantiate {
-       #  The entire command line (and output) must fit into 253 bytes.
-       #
-       #  e.g. Framed-Pool = `%{exec:/bin/echo foo}`
--      exec
-+#     exec
-       #
-       #  The expression module doesn't do authorization,
-@@ -791,15 +791,15 @@ instantiate {
-       #  other xlat functions such as md5, sha1 and lc.
-       #
-       #  We do not recommend removing it's listing here.
--      expr
-+#     expr
-       #
-       # We add the counter module here so that it registers
-       # the check-name attribute before any module which sets
-       # it
- #     daily
--      expiration
--      logintime
-+#     expiration
-+#     logintime
-       # subsections here can be thought of as "virtual" modules.
-       #
-@@ -823,7 +823,7 @@ instantiate {
- #     to multiple times.
- #
- ######################################################################
--$INCLUDE policy.conf
-+#$INCLUDE policy.conf
- ######################################################################
- #
-@@ -833,9 +833,9 @@ $INCLUDE policy.conf
- #     match the regular expression: /[a-zA-Z0-9_.]+/
- #
- #     It allows you to define new virtual servers simply by placing
--#     a file into the raddb/sites-enabled/ directory.
-+#     a file into the /etc/freeradius2/sites/ directory.
- #
--$INCLUDE sites-enabled/
-+$INCLUDE sites/
- ######################################################################
- #
-@@ -843,7 +843,7 @@ $INCLUDE sites-enabled/
- #     "authenticate {}", "accounting {}", have been moved to the
- #     the file:
- #
--#             raddb/sites-available/default
-+#             /etc/freeradius2/sites/default
- #
- #     This is the "default" virtual server that has the same
- #     configuration as in version 1.0.x and 1.1.x.  The default
-Index: freeradius-server-2.2.7/raddb/sites-available/default
-===================================================================
---- freeradius-server-2.2.7.orig/raddb/sites-available/default
-+++ freeradius-server-2.2.7/raddb/sites-available/default
-@@ -85,7 +85,7 @@ authorize {
-       #
-       #  It takes care of processing the 'raddb/hints' and the
-       #  'raddb/huntgroups' files.
--      preprocess
-+#     preprocess
-       #
-       #  If you want to have a log of authentication requests,
-@@ -96,7 +96,7 @@ authorize {
-       #
-       #  The chap module will set 'Auth-Type := CHAP' if we are
-       #  handling a CHAP request and Auth-Type has not already been set
--      chap
-+#     chap
-       #
-       #  If the users are logging in with an MS-CHAP-Challenge
-@@ -104,13 +104,13 @@ authorize {
-       #  the MS-CHAP-Challenge attribute, and add 'Auth-Type := MS-CHAP'
-       #  to the request, which will cause the server to then use
-       #  the mschap module for authentication.
--      mschap
-+#     mschap
-       #
-       #  If you have a Cisco SIP server authenticating against
-       #  FreeRADIUS, uncomment the following line, and the 'digest'
-       #  line in the 'authenticate' section.
--      digest
-+#     digest
-       #
-       #  The WiMAX specification says that the Calling-Station-Id
-@@ -133,7 +133,7 @@ authorize {
-       #  Otherwise, when the first style of realm doesn't match,
-       #  the other styles won't be checked.
-       #
--      suffix
-+#     suffix
- #     ntdomain
-       #
-@@ -197,8 +197,8 @@ authorize {
-       # Use the checkval module
- #     checkval
--      expiration
--      logintime
-+#     expiration
-+#     logintime
-       #
-       #  If no other module has claimed responsibility for
-@@ -279,7 +279,7 @@ authenticate {
-       #  If you have a Cisco SIP server authenticating against
-       #  FreeRADIUS, uncomment the following line, and the 'digest'
-       #  line in the 'authorize' section.
--      digest
-+#     digest
-       #
-       #  Pluggable Authentication Modules.
-@@ -296,7 +296,7 @@ authenticate {
-       #  be used for authentication ONLY for compatibility with legacy
-       #  FreeRADIUS configurations.
-       #
--      unix
-+#     unix
-       # Uncomment it if you want to use ldap for authentication
-       #
-@@ -332,8 +332,8 @@ authenticate {
- #
- #  Pre-accounting.  Decide which accounting type to use.
- #
--preacct {
--      preprocess
-+#preacct {
-+#     preprocess
-       #
-       #  Session start times are *implied* in RADIUS.
-@@ -356,7 +356,7 @@ preacct {
-       #
-       #  Ensure that we have a semi-unique identifier for every
-       #  request, and many NAS boxes are broken.
--      acct_unique
-+#     acct_unique
-       #
-       #  Look for IPASS-style 'realm/', and if not found, look for
-@@ -366,13 +366,13 @@ preacct {
-       #  Accounting requests are generally proxied to the same
-       #  home server as authentication requests.
- #     IPASS
--      suffix
-+#     suffix
- #     ntdomain
-       #
-       #  Read the 'acct_users' file
--      files
--}
-+#     files
-+#}
- #
- #  Accounting.  Log the accounting data.
-@@ -382,7 +382,7 @@ accounting {
-       #  Create a 'detail'ed log of the packets.
-       #  Note that accounting requests which are proxied
-       #  are also logged in the detail file.
--      detail
-+#     detail
- #     daily
-       #  Update the wtmp file
-@@ -434,7 +434,7 @@ accounting {
-       exec
-       #  Filter attributes from the accounting response.
--      attr_filter.accounting_response
-+      #attr_filter.accounting_response
-       #
-       #  See "Autz-Type Status-Server" for how this works.
-@@ -460,7 +460,7 @@ session {
- #  Post-Authentication
- #  Once we KNOW that the user has been authenticated, there are
- #  additional steps we can take.
--post-auth {
-+#post-auth {
-       #  Get an address from the IP Pool.
- #     main_pool
-@@ -490,7 +490,7 @@ post-auth {
- #     ldap
-       # For Exec-Program and Exec-Program-Wait
--      exec
-+#     exec
-       #
-       #  Calculate the various WiMAX keys.  In order for this to work,
-@@ -574,18 +574,18 @@ post-auth {
-       #  Add the ldap module name (or instance) if you have set 
-       #  'edir_account_policy_check = yes' in the ldap module configuration
-       #
--      Post-Auth-Type REJECT {
--              # log failed authentications in SQL, too.
-+#     Post-Auth-Type REJECT {
-+#             # log failed authentications in SQL, too.
- #             sql
-               # Insert EAP-Failure message if the request was
-               # rejected by policy instead of because of an
-               # authentication failure
--              eap
-+#             eap
--              attr_filter.access_reject
--      }
--}
-+#             attr_filter.access_reject
-+#     }
-+#}
- #
- #  When the server decides to proxy a request to a home server,
-@@ -595,7 +595,7 @@ post-auth {
- #
- #  Only a few modules currently have this method.
- #
--pre-proxy {
-+#pre-proxy {
- #     attr_rewrite
-       #  Uncomment the following line if you want to change attributes
-@@ -611,14 +611,14 @@ pre-proxy {
-       #  server, un-comment the following line, and the
-       #  'detail pre_proxy_log' section, above.
- #     pre_proxy_log
--}
-+#}
- #
- #  When the server receives a reply to a request it proxied
- #  to a home server, the request may be massaged here, in the
- #  post-proxy stage.
- #
--post-proxy {
-+#post-proxy {
-       #  If you want to have a log of replies from a home server,
-       #  un-comment the following line, and the 'detail post_proxy_log'
-@@ -642,7 +642,7 @@ post-proxy {
-       #  hidden inside of the EAP packet, and the end server will
-       #  reject the EAP request.
-       #
--      eap
-+#     eap
-       #
-       #  If the server tries to proxy a request and fails, then the
-@@ -664,5 +664,5 @@ post-proxy {
- #     Post-Proxy-Type Fail {
- #                     detail
- #     }
--}
-+#}
-Index: freeradius-server-2.2.7/raddb/users
-===================================================================
---- freeradius-server-2.2.7.orig/raddb/users
-+++ freeradius-server-2.2.7/raddb/users
-@@ -169,22 +169,22 @@
- #     by the terminal server in which case there may not be a "P" suffix.
- #     The terminal server sends "Framed-Protocol = PPP" for auto PPP.
- #
--DEFAULT       Framed-Protocol == PPP
--      Framed-Protocol = PPP,
--      Framed-Compression = Van-Jacobson-TCP-IP
-+#DEFAULT      Framed-Protocol == PPP
-+#     Framed-Protocol = PPP,
-+#     Framed-Compression = Van-Jacobson-TCP-IP
- #
- # Default for CSLIP: dynamic IP address, SLIP mode, VJ-compression.
- #
--DEFAULT       Hint == "CSLIP"
--      Framed-Protocol = SLIP,
--      Framed-Compression = Van-Jacobson-TCP-IP
-+#DEFAULT      Hint == "CSLIP"
-+#     Framed-Protocol = SLIP,
-+#     Framed-Compression = Van-Jacobson-TCP-IP
- #
- # Default for SLIP: dynamic IP address, SLIP mode.
- #
--DEFAULT       Hint == "SLIP"
--      Framed-Protocol = SLIP
-+#DEFAULT      Hint == "SLIP"
-+#     Framed-Protocol = SLIP
- #
- # Last default: rlogin to our main server.
diff --git a/net/freeradius2/patches/004-ldap_configure.patch b/net/freeradius2/patches/004-ldap_configure.patch
deleted file mode 100644 (file)
index 05b6789..0000000
+++ /dev/null
@@ -1,4257 +0,0 @@
-Index: freeradius-server-2.2.7/src/modules/rlm_ldap/configure
-===================================================================
---- freeradius-server-2.2.7.orig/src/modules/rlm_ldap/configure
-+++ freeradius-server-2.2.7/src/modules/rlm_ldap/configure
-@@ -1,10 +1,10 @@
- #! /bin/sh
- # From configure.in Revision.
- # Guess values for system-dependent variables and create Makefiles.
--# Generated by GNU Autoconf 2.61.
-+# Generated by GNU Autoconf 2.63.
- #
- # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
--# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-+# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
- # This configure script is free software; the Free Software Foundation
- # gives unlimited permission to copy, distribute and modify it.
- ## --------------------- ##
-@@ -16,7 +16,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
- if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-   emulate sh
-   NULLCMD=:
--  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-   # is contrary to our usage.  Disable this feature.
-   alias -g '${1+"$@"}'='"$@"'
-   setopt NO_GLOB_SUBST
-@@ -38,17 +38,45 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTE
- as_cr_digits='0123456789'
- as_cr_alnum=$as_cr_Letters$as_cr_digits
--# The user is always right.
--if test "${PATH_SEPARATOR+set}" != set; then
--  echo "#! /bin/sh" >conf$$.sh
--  echo  "exit 0"   >>conf$$.sh
--  chmod +x conf$$.sh
--  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
--    PATH_SEPARATOR=';'
-+as_nl='
-+'
-+export as_nl
-+# Printing a long string crashes Solaris 7 /usr/bin/printf.
-+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-+  as_echo='printf %s\n'
-+  as_echo_n='printf %s'
-+else
-+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-+    as_echo_n='/usr/ucb/echo -n'
-   else
--    PATH_SEPARATOR=:
-+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-+    as_echo_n_body='eval
-+      arg=$1;
-+      case $arg in
-+      *"$as_nl"*)
-+      expr "X$arg" : "X\\(.*\\)$as_nl";
-+      arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-+      esac;
-+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-+    '
-+    export as_echo_n_body
-+    as_echo_n='sh -c $as_echo_n_body as_echo'
-   fi
--  rm -f conf$$.sh
-+  export as_echo_body
-+  as_echo='sh -c $as_echo_body as_echo'
-+fi
-+
-+# The user is always right.
-+if test "${PATH_SEPARATOR+set}" != set; then
-+  PATH_SEPARATOR=:
-+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-+      PATH_SEPARATOR=';'
-+  }
- fi
- # Support unset when possible.
-@@ -64,8 +92,6 @@ fi
- # there to prevent editors from complaining about space-tab.
- # (If _AS_PATH_WALK were called with IFS unset, it would disable word
- # splitting by setting IFS to empty value.)
--as_nl='
--'
- IFS=" ""      $as_nl"
- # Find who we are.  Look in the path if we contain no directory separator.
-@@ -88,7 +114,7 @@ if test "x$as_myself" = x; then
-   as_myself=$0
- fi
- if test ! -f "$as_myself"; then
--  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-   { (exit 1); exit 1; }
- fi
-@@ -101,17 +127,10 @@ PS2='> '
- PS4='+ '
- # NLS nuisances.
--for as_var in \
--  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
--  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
--  LC_TELEPHONE LC_TIME
--do
--  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
--    eval $as_var=C; export $as_var
--  else
--    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
--  fi
--done
-+LC_ALL=C
-+export LC_ALL
-+LANGUAGE=C
-+export LANGUAGE
- # Required to use basename.
- if expr a : '\(a\)' >/dev/null 2>&1 &&
-@@ -133,7 +152,7 @@ as_me=`$as_basename -- "$0" ||
- $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
--echo X/"$0" |
-+$as_echo X/"$0" |
-     sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-@@ -159,7 +178,7 @@ else
-   as_have_required=no
- fi
--  if test $as_have_required = yes &&   (eval ":
-+  if test $as_have_required = yes &&   (eval ":
- (as_func_return () {
-   (exit \$1)
- }
-@@ -241,7 +260,7 @@ IFS=$as_save_IFS
- if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-   emulate sh
-   NULLCMD=:
--  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-   # is contrary to our usage.  Disable this feature.
-   alias -g '${1+"$@"}'='"$@"'
-   setopt NO_GLOB_SUBST
-@@ -262,7 +281,7 @@ _ASEOF
- if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-   emulate sh
-   NULLCMD=:
--  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-   # is contrary to our usage.  Disable this feature.
-   alias -g '${1+"$@"}'='"$@"'
-   setopt NO_GLOB_SUBST
-@@ -342,10 +361,10 @@ fi
-       if test "x$CONFIG_SHELL" != x; then
-   for as_var in BASH_ENV ENV
--        do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
--        done
--        export CONFIG_SHELL
--        exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-+      do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-+      done
-+      export CONFIG_SHELL
-+      exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
- fi
-@@ -414,9 +433,10 @@ fi
- test \$exitcode = 0") || {
-   echo No shell found that supports shell functions.
--  echo Please tell autoconf@gnu.org about your system,
--  echo including any error possibly output before this
--  echo message
-+  echo Please tell bug-autoconf@gnu.org about your system,
-+  echo including any error possibly output before this message.
-+  echo This can help us improve future autoconf versions.
-+  echo Configuration will now proceed without shell functions.
- }
-@@ -452,7 +472,7 @@ test \$exitcode = 0") || {
-       s/-\n.*//
-     ' >$as_me.lineno &&
-   chmod +x "$as_me.lineno" ||
--    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-    { (exit 1); exit 1; }; }
-   # Don't try to exec as it changes $[0], causing all sort of problems
-@@ -480,7 +500,6 @@ case `echo -n x` in
- *)
-   ECHO_N='-n';;
- esac
--
- if expr a : '\(a\)' >/dev/null 2>&1 &&
-    test "X`expr 00001 : '.*\(...\)'`" = X001; then
-   as_expr=expr
-@@ -493,19 +512,22 @@ if test -d conf$$.dir; then
-   rm -f conf$$.dir/conf$$.file
- else
-   rm -f conf$$.dir
--  mkdir conf$$.dir
-+  mkdir conf$$.dir 2>/dev/null
- fi
--echo >conf$$.file
--if ln -s conf$$.file conf$$ 2>/dev/null; then
--  as_ln_s='ln -s'
--  # ... but there are two gotchas:
--  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
--  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
--  # In both cases, we have to default to `cp -p'.
--  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-+if (echo >conf$$.file) 2>/dev/null; then
-+  if ln -s conf$$.file conf$$ 2>/dev/null; then
-+    as_ln_s='ln -s'
-+    # ... but there are two gotchas:
-+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-+    # In both cases, we have to default to `cp -p'.
-+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-+      as_ln_s='cp -p'
-+  elif ln conf$$.file conf$$ 2>/dev/null; then
-+    as_ln_s=ln
-+  else
-     as_ln_s='cp -p'
--elif ln conf$$.file conf$$ 2>/dev/null; then
--  as_ln_s=ln
-+  fi
- else
-   as_ln_s='cp -p'
- fi
-@@ -530,10 +552,10 @@ else
-   as_test_x='
-     eval sh -c '\''
-       if test -d "$1"; then
--        test -d "$1/.";
-+      test -d "$1/.";
-       else
-       case $1 in
--        -*)set "./$1";;
-+      -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-       ???[sx]*):;;*)false;;esac;fi
-@@ -578,57 +600,65 @@ PACKAGE_STRING=
- PACKAGE_BUGREPORT=
- ac_unique_file="rlm_ldap.c"
--ac_subst_vars='SHELL
--PATH_SEPARATOR
--PACKAGE_NAME
--PACKAGE_TARNAME
--PACKAGE_VERSION
--PACKAGE_STRING
--PACKAGE_BUGREPORT
--exec_prefix
--prefix
--program_transform_name
--bindir
--sbindir
--libexecdir
--datarootdir
--datadir
--sysconfdir
--sharedstatedir
--localstatedir
--includedir
--oldincludedir
--docdir
--infodir
--htmldir
--dvidir
--pdfdir
--psdir
--libdir
--localedir
--mandir
--DEFS
--ECHO_C
--ECHO_N
--ECHO_T
--LIBS
--build_alias
--host_alias
--target_alias
--CC
--CFLAGS
--LDFLAGS
--CPPFLAGS
--ac_ct_CC
--EXEEXT
--OBJEXT
--edir
--ldap_ldflags
--ldap_cflags
--targetname
-+ac_subst_vars='LTLIBOBJS
- LIBOBJS
--LTLIBOBJS'
-+targetname
-+ldap_cflags
-+ldap_ldflags
-+edir
-+OBJEXT
-+EXEEXT
-+ac_ct_CC
-+CPPFLAGS
-+LDFLAGS
-+CFLAGS
-+CC
-+target_alias
-+host_alias
-+build_alias
-+LIBS
-+ECHO_T
-+ECHO_N
-+ECHO_C
-+DEFS
-+mandir
-+localedir
-+libdir
-+psdir
-+pdfdir
-+dvidir
-+htmldir
-+infodir
-+docdir
-+oldincludedir
-+includedir
-+localstatedir
-+sharedstatedir
-+sysconfdir
-+datadir
-+datarootdir
-+libexecdir
-+sbindir
-+bindir
-+program_transform_name
-+prefix
-+exec_prefix
-+PACKAGE_BUGREPORT
-+PACKAGE_STRING
-+PACKAGE_VERSION
-+PACKAGE_TARNAME
-+PACKAGE_NAME
-+PATH_SEPARATOR
-+SHELL'
- ac_subst_files=''
-+ac_user_opts='
-+enable_option_checking
-+with_rlm_ldap_lib_dir
-+with_rlm_ldap_include_dir
-+enable_shared
-+with_threads
-+with_edir
-+'
-       ac_precious_vars='build_alias
- host_alias
- target_alias
-@@ -642,6 +672,8 @@ CPPFLAGS'
- # Initialize some variables set by options.
- ac_init_help=
- ac_init_version=false
-+ac_unrecognized_opts=
-+ac_unrecognized_sep=
- # The variables have the same names as the options, with
- # dashes changed to underlines.
- cache_file=/dev/null
-@@ -740,13 +772,21 @@ do
-     datarootdir=$ac_optarg ;;
-   -disable-* | --disable-*)
--    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-+    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-     # Reject names that are not valid shell variable names.
--    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
--      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
-+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-+      { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
-    { (exit 1); exit 1; }; }
--    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
--    eval enable_$ac_feature=no ;;
-+    ac_useropt_orig=$ac_useropt
-+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-+    case $ac_user_opts in
-+      *"
-+"enable_$ac_useropt"
-+"*) ;;
-+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-+       ac_unrecognized_sep=', ';;
-+    esac
-+    eval enable_$ac_useropt=no ;;
-   -docdir | --docdir | --docdi | --doc | --do)
-     ac_prev=docdir ;;
-@@ -759,13 +799,21 @@ do
-     dvidir=$ac_optarg ;;
-   -enable-* | --enable-*)
--    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-+    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-     # Reject names that are not valid shell variable names.
--    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
--      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
-+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-+      { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
-    { (exit 1); exit 1; }; }
--    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
--    eval enable_$ac_feature=\$ac_optarg ;;
-+    ac_useropt_orig=$ac_useropt
-+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-+    case $ac_user_opts in
-+      *"
-+"enable_$ac_useropt"
-+"*) ;;
-+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-+       ac_unrecognized_sep=', ';;
-+    esac
-+    eval enable_$ac_useropt=\$ac_optarg ;;
-   -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-   | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-@@ -956,22 +1004,38 @@ do
-     ac_init_version=: ;;
-   -with-* | --with-*)
--    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-+    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-     # Reject names that are not valid shell variable names.
--    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
--      { echo "$as_me: error: invalid package name: $ac_package" >&2
-+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-+      { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
-    { (exit 1); exit 1; }; }
--    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
--    eval with_$ac_package=\$ac_optarg ;;
-+    ac_useropt_orig=$ac_useropt
-+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-+    case $ac_user_opts in
-+      *"
-+"with_$ac_useropt"
-+"*) ;;
-+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-+       ac_unrecognized_sep=', ';;
-+    esac
-+    eval with_$ac_useropt=\$ac_optarg ;;
-   -without-* | --without-*)
--    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-+    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-     # Reject names that are not valid shell variable names.
--    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
--      { echo "$as_me: error: invalid package name: $ac_package" >&2
-+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-+      { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
-    { (exit 1); exit 1; }; }
--    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
--    eval with_$ac_package=no ;;
-+    ac_useropt_orig=$ac_useropt
-+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-+    case $ac_user_opts in
-+      *"
-+"with_$ac_useropt"
-+"*) ;;
-+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-+       ac_unrecognized_sep=', ';;
-+    esac
-+    eval with_$ac_useropt=no ;;
-   --x)
-     # Obsolete; use --with-x.
-@@ -991,7 +1055,7 @@ do
-   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-     x_libraries=$ac_optarg ;;
--  -*) { echo "$as_me: error: unrecognized option: $ac_option
-+  -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
- Try \`$0 --help' for more information." >&2
-    { (exit 1); exit 1; }; }
-     ;;
-@@ -1000,16 +1064,16 @@ Try \`$0 --help' for more information."
-     ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-     # Reject names that are not valid shell variable names.
-     expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
--      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
-+      { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
-    { (exit 1); exit 1; }; }
-     eval $ac_envvar=\$ac_optarg
-     export $ac_envvar ;;
-   *)
-     # FIXME: should be removed in autoconf 3.0.
--    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-+    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
--      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-+      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-     : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
-     ;;
-@@ -1018,22 +1082,38 @@ done
- if test -n "$ac_prev"; then
-   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
--  { echo "$as_me: error: missing argument to $ac_option" >&2
-+  { $as_echo "$as_me: error: missing argument to $ac_option" >&2
-    { (exit 1); exit 1; }; }
- fi
--# Be sure to have absolute directory names.
-+if test -n "$ac_unrecognized_opts"; then
-+  case $enable_option_checking in
-+    no) ;;
-+    fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
-+   { (exit 1); exit 1; }; } ;;
-+    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-+  esac
-+fi
-+
-+# Check all directory arguments for consistency.
- for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
- do
-   eval ac_val=\$$ac_var
-+  # Remove trailing slashes.
-+  case $ac_val in
-+    */ )
-+      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-+      eval $ac_var=\$ac_val;;
-+  esac
-+  # Be sure to have absolute directory names.
-   case $ac_val in
-     [\\/$]* | ?:[\\/]* )  continue;;
-     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-   esac
--  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-+  { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-    { (exit 1); exit 1; }; }
- done
-@@ -1048,7 +1128,7 @@ target=$target_alias
- if test "x$host_alias" != x; then
-   if test "x$build_alias" = x; then
-     cross_compiling=maybe
--    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-+    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-     If a cross compiler is detected then cross compile mode will be used." >&2
-   elif test "x$build_alias" != "x$host_alias"; then
-     cross_compiling=yes
-@@ -1064,10 +1144,10 @@ test "$silent" = yes && exec 6>/dev/null
- ac_pwd=`pwd` && test -n "$ac_pwd" &&
- ac_ls_di=`ls -di .` &&
- ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
--  { echo "$as_me: error: Working directory cannot be determined" >&2
-+  { $as_echo "$as_me: error: working directory cannot be determined" >&2
-    { (exit 1); exit 1; }; }
- test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
--  { echo "$as_me: error: pwd does not report name of working directory" >&2
-+  { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
-    { (exit 1); exit 1; }; }
-@@ -1075,12 +1155,12 @@ test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- if test -z "$srcdir"; then
-   ac_srcdir_defaulted=yes
-   # Try the directory containing this script, then the parent directory.
--  ac_confdir=`$as_dirname -- "$0" ||
--$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
--       X"$0" : 'X\(//\)[^/]' \| \
--       X"$0" : 'X\(//\)$' \| \
--       X"$0" : 'X\(/\)' \| . 2>/dev/null ||
--echo X"$0" |
-+  ac_confdir=`$as_dirname -- "$as_myself" ||
-+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-+       X"$as_myself" : 'X\(//\)[^/]' \| \
-+       X"$as_myself" : 'X\(//\)$' \| \
-+       X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-+$as_echo X"$as_myself" |
-     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-@@ -1107,12 +1187,12 @@ else
- fi
- if test ! -r "$srcdir/$ac_unique_file"; then
-   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
--  { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
-+  { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
-    { (exit 1); exit 1; }; }
- fi
- ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
- ac_abs_confdir=`(
--      cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
-+      cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
-    { (exit 1); exit 1; }; }
-       pwd)`
- # When building in place, set srcdir=.
-@@ -1161,9 +1241,9 @@ Configuration:
- Installation directories:
-   --prefix=PREFIX         install architecture-independent files in PREFIX
--                        [$ac_default_prefix]
-+                          [$ac_default_prefix]
-   --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
--                        [PREFIX]
-+                          [PREFIX]
- By default, \`make install' will install all the files in
- \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-@@ -1173,25 +1253,25 @@ for instance \`--prefix=\$HOME'.
- For better control, use the options below.
- Fine tuning of the installation directories:
--  --bindir=DIR           user executables [EPREFIX/bin]
--  --sbindir=DIR          system admin executables [EPREFIX/sbin]
--  --libexecdir=DIR       program executables [EPREFIX/libexec]
--  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
--  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
--  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
--  --libdir=DIR           object code libraries [EPREFIX/lib]
--  --includedir=DIR       C header files [PREFIX/include]
--  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
--  --datarootdir=DIR      read-only arch.-independent data root [PREFIX/share]
--  --datadir=DIR          read-only architecture-independent data [DATAROOTDIR]
--  --infodir=DIR          info documentation [DATAROOTDIR/info]
--  --localedir=DIR        locale-dependent data [DATAROOTDIR/locale]
--  --mandir=DIR           man documentation [DATAROOTDIR/man]
--  --docdir=DIR           documentation root [DATAROOTDIR/doc/PACKAGE]
--  --htmldir=DIR          html documentation [DOCDIR]
--  --dvidir=DIR           dvi documentation [DOCDIR]
--  --pdfdir=DIR           pdf documentation [DOCDIR]
--  --psdir=DIR            ps documentation [DOCDIR]
-+  --bindir=DIR            user executables [EPREFIX/bin]
-+  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-+  --libexecdir=DIR        program executables [EPREFIX/libexec]
-+  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-+  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-+  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-+  --libdir=DIR            object code libraries [EPREFIX/lib]
-+  --includedir=DIR        C header files [PREFIX/include]
-+  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-+  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-+  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-+  --infodir=DIR           info documentation [DATAROOTDIR/info]
-+  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-+  --mandir=DIR            man documentation [DATAROOTDIR/man]
-+  --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
-+  --htmldir=DIR           html documentation [DOCDIR]
-+  --dvidir=DIR            dvi documentation [DOCDIR]
-+  --pdfdir=DIR            pdf documentation [DOCDIR]
-+  --psdir=DIR             ps documentation [DOCDIR]
- _ACEOF
-   cat <<\_ACEOF
-@@ -1203,6 +1283,7 @@ if test -n "$ac_init_help"; then
-   cat <<\_ACEOF
- Optional Features:
-+  --disable-option-checking  ignore unrecognized --enable/--with options
-   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-   --enable-shared[=PKGS]  build shared libraries [default=yes]
-@@ -1234,15 +1315,17 @@ fi
- if test "$ac_init_help" = "recursive"; then
-   # If there are subdirs, report their specific --help.
-   for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
--    test -d "$ac_dir" || continue
-+    test -d "$ac_dir" ||
-+      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-+      continue
-     ac_builddir=.
- case "$ac_dir" in
- .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *)
--  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-   # A ".." for each directory in $ac_dir_suffix.
--  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
-+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-   case $ac_top_builddir_sub in
-   "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-   *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-@@ -1278,7 +1361,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_
-       echo &&
-       $SHELL "$ac_srcdir/configure" --help=recursive
-     else
--      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-+      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-     fi || ac_status=$?
-     cd "$ac_pwd" || { ac_status=$?; break; }
-   done
-@@ -1288,10 +1371,10 @@ test -n "$ac_init_help" && exit $ac_stat
- if $ac_init_version; then
-   cat <<\_ACEOF
- configure
--generated by GNU Autoconf 2.61
-+generated by GNU Autoconf 2.63
- Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
--2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
- This configure script is free software; the Free Software Foundation
- gives unlimited permission to copy, distribute and modify it.
- _ACEOF
-@@ -1302,7 +1385,7 @@ This file contains any messages produced
- running configure, to aid debugging if configure makes a mistake.
- It was created by $as_me, which was
--generated by GNU Autoconf 2.61.  Invocation command line was
-+generated by GNU Autoconf 2.63.  Invocation command line was
-   $ $0 $@
-@@ -1338,7 +1421,7 @@ for as_dir in $PATH
- do
-   IFS=$as_save_IFS
-   test -z "$as_dir" && as_dir=.
--  echo "PATH: $as_dir"
-+  $as_echo "PATH: $as_dir"
- done
- IFS=$as_save_IFS
-@@ -1373,7 +1456,7 @@ do
-     | -silent | --silent | --silen | --sile | --sil)
-       continue ;;
-     *\'*)
--      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-+      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-     esac
-     case $ac_pass in
-     1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
-@@ -1425,11 +1508,12 @@ _ASBOX
-     case $ac_val in #(
-     *${as_nl}*)
-       case $ac_var in #(
--      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
--echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
-+      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
-+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-       esac
-       case $ac_var in #(
-       _ | IFS | as_nl) ;; #(
-+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-       *) $as_unset $ac_var ;;
-       esac ;;
-     esac
-@@ -1459,9 +1543,9 @@ _ASBOX
-     do
-       eval ac_val=\$$ac_var
-       case $ac_val in
--      *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-+      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
--      echo "$ac_var='\''$ac_val'\''"
-+      $as_echo "$ac_var='\''$ac_val'\''"
-     done | sort
-     echo
-@@ -1476,9 +1560,9 @@ _ASBOX
-       do
-       eval ac_val=\$$ac_var
-       case $ac_val in
--      *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-+      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
--      echo "$ac_var='\''$ac_val'\''"
-+      $as_echo "$ac_var='\''$ac_val'\''"
-       done | sort
-       echo
-     fi
-@@ -1494,8 +1578,8 @@ _ASBOX
-       echo
-     fi
-     test "$ac_signal" != 0 &&
--      echo "$as_me: caught signal $ac_signal"
--    echo "$as_me: exit $exit_status"
-+      $as_echo "$as_me: caught signal $ac_signal"
-+    $as_echo "$as_me: exit $exit_status"
-   } >&5
-   rm -f core *.core core.conftest.* &&
-     rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-@@ -1537,21 +1621,24 @@ _ACEOF
- # Let the site file select an alternate cache file if it wants to.
--# Prefer explicitly selected file to automatically selected ones.
-+# Prefer an explicitly selected file to automatically selected ones.
-+ac_site_file1=NONE
-+ac_site_file2=NONE
- if test -n "$CONFIG_SITE"; then
--  set x "$CONFIG_SITE"
-+  ac_site_file1=$CONFIG_SITE
- elif test "x$prefix" != xNONE; then
--  set x "$prefix/share/config.site" "$prefix/etc/config.site"
-+  ac_site_file1=$prefix/share/config.site
-+  ac_site_file2=$prefix/etc/config.site
- else
--  set x "$ac_default_prefix/share/config.site" \
--      "$ac_default_prefix/etc/config.site"
-+  ac_site_file1=$ac_default_prefix/share/config.site
-+  ac_site_file2=$ac_default_prefix/etc/config.site
- fi
--shift
--for ac_site_file
-+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
- do
-+  test "x$ac_site_file" = xNONE && continue
-   if test -r "$ac_site_file"; then
--    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
--echo "$as_me: loading site script $ac_site_file" >&6;}
-+    { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-     sed 's/^/| /' "$ac_site_file" >&5
-     . "$ac_site_file"
-   fi
-@@ -1561,16 +1648,16 @@ if test -r "$cache_file"; then
-   # Some versions of bash will fail to source /dev/null (special
-   # files actually), so we avoid doing that.
-   if test -f "$cache_file"; then
--    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
--echo "$as_me: loading cache $cache_file" >&6;}
-+    { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
-+$as_echo "$as_me: loading cache $cache_file" >&6;}
-     case $cache_file in
-       [\\/]* | ?:[\\/]* ) . "$cache_file";;
-       *)                      . "./$cache_file";;
-     esac
-   fi
- else
--  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
--echo "$as_me: creating cache $cache_file" >&6;}
-+  { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
-+$as_echo "$as_me: creating cache $cache_file" >&6;}
-   >$cache_file
- fi
-@@ -1584,29 +1671,38 @@ for ac_var in $ac_precious_vars; do
-   eval ac_new_val=\$ac_env_${ac_var}_value
-   case $ac_old_set,$ac_new_set in
-     set,)
--      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
--echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-+      { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-       ac_cache_corrupted=: ;;
-     ,set)
--      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
--echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-+      { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-       ac_cache_corrupted=: ;;
-     ,);;
-     *)
-       if test "x$ac_old_val" != "x$ac_new_val"; then
--      { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
--echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
--      { echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
--echo "$as_me:   former value:  $ac_old_val" >&2;}
--      { echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
--echo "$as_me:   current value: $ac_new_val" >&2;}
--      ac_cache_corrupted=:
-+      # differences in whitespace do not lead to failure.
-+      ac_old_val_w=`echo x $ac_old_val`
-+      ac_new_val_w=`echo x $ac_new_val`
-+      if test "$ac_old_val_w" != "$ac_new_val_w"; then
-+        { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-+        ac_cache_corrupted=:
-+      else
-+        { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-+        eval $ac_var=\$ac_old_val
-+      fi
-+      { $as_echo "$as_me:$LINENO:   former value:  \`$ac_old_val'" >&5
-+$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-+      { $as_echo "$as_me:$LINENO:   current value: \`$ac_new_val'" >&5
-+$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-       fi;;
-   esac
-   # Pass precious variables to config.status.
-   if test "$ac_new_set" = set; then
-     case $ac_new_val in
--    *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-+    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-     *) ac_arg=$ac_var=$ac_new_val ;;
-     esac
-     case " $ac_configure_args " in
-@@ -1616,10 +1712,12 @@ echo "$as_me:   current value: $ac_new_v
-   fi
- done
- if $ac_cache_corrupted; then
--  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
--echo "$as_me: error: changes in the environment can compromise the build" >&2;}
--  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
--echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
-+  { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+  { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-+  { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-+$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
-    { (exit 1); exit 1; }; }
- fi
-@@ -1662,10 +1760,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
- if test -n "$ac_tool_prefix"; then
-   # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
- set dummy ${ac_tool_prefix}gcc; ac_word=$2
--{ echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-+$as_echo_n "checking for $ac_word... " >&6; }
- if test "${ac_cv_prog_CC+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+  $as_echo_n "(cached) " >&6
- else
-   if test -n "$CC"; then
-   ac_cv_prog_CC="$CC" # Let the user override the test.
-@@ -1678,7 +1776,7 @@ do
-   for ac_exec_ext in '' $ac_executable_extensions; do
-   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-     ac_cv_prog_CC="${ac_tool_prefix}gcc"
--    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-     break 2
-   fi
- done
-@@ -1689,11 +1787,11 @@ fi
- fi
- CC=$ac_cv_prog_CC
- if test -n "$CC"; then
--  { echo "$as_me:$LINENO: result: $CC" >&5
--echo "${ECHO_T}$CC" >&6; }
-+  { $as_echo "$as_me:$LINENO: result: $CC" >&5
-+$as_echo "$CC" >&6; }
- else
--  { echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6; }
-+  { $as_echo "$as_me:$LINENO: result: no" >&5
-+$as_echo "no" >&6; }
- fi
-@@ -1702,10 +1800,10 @@ if test -z "$ac_cv_prog_CC"; then
-   ac_ct_CC=$CC
-   # Extract the first word of "gcc", so it can be a program name with args.
- set dummy gcc; ac_word=$2
--{ echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-+$as_echo_n "checking for $ac_word... " >&6; }
- if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+  $as_echo_n "(cached) " >&6
- else
-   if test -n "$ac_ct_CC"; then
-   ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-@@ -1718,7 +1816,7 @@ do
-   for ac_exec_ext in '' $ac_executable_extensions; do
-   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-     ac_cv_prog_ac_ct_CC="gcc"
--    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-     break 2
-   fi
- done
-@@ -1729,11 +1827,11 @@ fi
- fi
- ac_ct_CC=$ac_cv_prog_ac_ct_CC
- if test -n "$ac_ct_CC"; then
--  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
--echo "${ECHO_T}$ac_ct_CC" >&6; }
-+  { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-+$as_echo "$ac_ct_CC" >&6; }
- else
--  { echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6; }
-+  { $as_echo "$as_me:$LINENO: result: no" >&5
-+$as_echo "no" >&6; }
- fi
-   if test "x$ac_ct_CC" = x; then
-@@ -1741,12 +1839,8 @@ fi
-   else
-     case $cross_compiling:$ac_tool_warned in
- yes:)
--{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
--whose name does not start with the host triplet.  If you think this
--configuration is useful to you, please write to autoconf@gnu.org." >&5
--echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
--whose name does not start with the host triplet.  If you think this
--configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
- ac_tool_warned=yes ;;
- esac
-     CC=$ac_ct_CC
-@@ -1759,10 +1853,10 @@ if test -z "$CC"; then
-           if test -n "$ac_tool_prefix"; then
-     # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
- set dummy ${ac_tool_prefix}cc; ac_word=$2
--{ echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-+$as_echo_n "checking for $ac_word... " >&6; }
- if test "${ac_cv_prog_CC+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+  $as_echo_n "(cached) " >&6
- else
-   if test -n "$CC"; then
-   ac_cv_prog_CC="$CC" # Let the user override the test.
-@@ -1775,7 +1869,7 @@ do
-   for ac_exec_ext in '' $ac_executable_extensions; do
-   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-     ac_cv_prog_CC="${ac_tool_prefix}cc"
--    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-     break 2
-   fi
- done
-@@ -1786,11 +1880,11 @@ fi
- fi
- CC=$ac_cv_prog_CC
- if test -n "$CC"; then
--  { echo "$as_me:$LINENO: result: $CC" >&5
--echo "${ECHO_T}$CC" >&6; }
-+  { $as_echo "$as_me:$LINENO: result: $CC" >&5
-+$as_echo "$CC" >&6; }
- else
--  { echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6; }
-+  { $as_echo "$as_me:$LINENO: result: no" >&5
-+$as_echo "no" >&6; }
- fi
-@@ -1799,10 +1893,10 @@ fi
- if test -z "$CC"; then
-   # Extract the first word of "cc", so it can be a program name with args.
- set dummy cc; ac_word=$2
--{ echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-+$as_echo_n "checking for $ac_word... " >&6; }
- if test "${ac_cv_prog_CC+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+  $as_echo_n "(cached) " >&6
- else
-   if test -n "$CC"; then
-   ac_cv_prog_CC="$CC" # Let the user override the test.
-@@ -1820,7 +1914,7 @@ do
-        continue
-      fi
-     ac_cv_prog_CC="cc"
--    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-     break 2
-   fi
- done
-@@ -1843,11 +1937,11 @@ fi
- fi
- CC=$ac_cv_prog_CC
- if test -n "$CC"; then
--  { echo "$as_me:$LINENO: result: $CC" >&5
--echo "${ECHO_T}$CC" >&6; }
-+  { $as_echo "$as_me:$LINENO: result: $CC" >&5
-+$as_echo "$CC" >&6; }
- else
--  { echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6; }
-+  { $as_echo "$as_me:$LINENO: result: no" >&5
-+$as_echo "no" >&6; }
- fi
-@@ -1858,10 +1952,10 @@ if test -z "$CC"; then
-   do
-     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
- set dummy $ac_tool_prefix$ac_prog; ac_word=$2
--{ echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-+$as_echo_n "checking for $ac_word... " >&6; }
- if test "${ac_cv_prog_CC+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+  $as_echo_n "(cached) " >&6
- else
-   if test -n "$CC"; then
-   ac_cv_prog_CC="$CC" # Let the user override the test.
-@@ -1874,7 +1968,7 @@ do
-   for ac_exec_ext in '' $ac_executable_extensions; do
-   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
--    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-     break 2
-   fi
- done
-@@ -1885,11 +1979,11 @@ fi
- fi
- CC=$ac_cv_prog_CC
- if test -n "$CC"; then
--  { echo "$as_me:$LINENO: result: $CC" >&5
--echo "${ECHO_T}$CC" >&6; }
-+  { $as_echo "$as_me:$LINENO: result: $CC" >&5
-+$as_echo "$CC" >&6; }
- else
--  { echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6; }
-+  { $as_echo "$as_me:$LINENO: result: no" >&5
-+$as_echo "no" >&6; }
- fi
-@@ -1902,10 +1996,10 @@ if test -z "$CC"; then
- do
-   # Extract the first word of "$ac_prog", so it can be a program name with args.
- set dummy $ac_prog; ac_word=$2
--{ echo "$as_me:$LINENO: checking for $ac_word" >&5
--echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-+$as_echo_n "checking for $ac_word... " >&6; }
- if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+  $as_echo_n "(cached) " >&6
- else
-   if test -n "$ac_ct_CC"; then
-   ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-@@ -1918,7 +2012,7 @@ do
-   for ac_exec_ext in '' $ac_executable_extensions; do
-   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-     ac_cv_prog_ac_ct_CC="$ac_prog"
--    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-     break 2
-   fi
- done
-@@ -1929,11 +2023,11 @@ fi
- fi
- ac_ct_CC=$ac_cv_prog_ac_ct_CC
- if test -n "$ac_ct_CC"; then
--  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
--echo "${ECHO_T}$ac_ct_CC" >&6; }
-+  { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-+$as_echo "$ac_ct_CC" >&6; }
- else
--  { echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6; }
-+  { $as_echo "$as_me:$LINENO: result: no" >&5
-+$as_echo "no" >&6; }
- fi
-@@ -1945,12 +2039,8 @@ done
-   else
-     case $cross_compiling:$ac_tool_warned in
- yes:)
--{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
--whose name does not start with the host triplet.  If you think this
--configuration is useful to you, please write to autoconf@gnu.org." >&5
--echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
--whose name does not start with the host triplet.  If you think this
--configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-+{ $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5
-+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
- ac_tool_warned=yes ;;
- esac
-     CC=$ac_ct_CC
-@@ -1960,44 +2050,50 @@ fi
- fi
--test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-+test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
- See \`config.log' for more details." >&5
--echo "$as_me: error: no acceptable C compiler found in \$PATH
-+$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
- See \`config.log' for more details." >&2;}
--   { (exit 1); exit 1; }; }
-+   { (exit 1); exit 1; }; }; }
- # Provide some information about the compiler.
--echo "$as_me:$LINENO: checking for C compiler version" >&5
--ac_compiler=`set X $ac_compile; echo $2`
-+$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
-+set X $ac_compile
-+ac_compiler=$2
- { (ac_try="$ac_compiler --version >&5"
- case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_compiler --version >&5") 2>&5
-   ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }
- { (ac_try="$ac_compiler -v >&5"
- case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_compiler -v >&5") 2>&5
-   ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }
- { (ac_try="$ac_compiler -V >&5"
- case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_compiler -V >&5") 2>&5
-   ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }
- cat >conftest.$ac_ext <<_ACEOF
-@@ -2016,27 +2112,22 @@ main ()
- }
- _ACEOF
- ac_clean_files_save=$ac_clean_files
--ac_clean_files="$ac_clean_files a.out a.exe b.out"
-+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
- # Try to create an executable without -o first, disregard a.out.
- # It will help us diagnose broken compilers, and finding out an intuition
- # of exeext.
--{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
--echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
--ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
--#
--# List of possible output files, starting from the most likely.
--# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
--# only as a last resort.  b.out is created by i960 compilers.
--ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
--#
--# The IRIX 6 linker writes into existing files which may not be
--# executable, retaining their permissions.  Remove them first so a
--# subsequent execution test works.
-+{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-+$as_echo_n "checking for C compiler default output file name... " >&6; }
-+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-+
-+# The possible output files:
-+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-+
- ac_rmfiles=
- for ac_file in $ac_files
- do
-   case $ac_file in
--    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
-+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-     * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-   esac
- done
-@@ -2047,10 +2138,11 @@ case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_link_default") 2>&5
-   ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }; then
-   # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
- # So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-@@ -2061,7 +2153,7 @@ for ac_file in $ac_files ''
- do
-   test -f "$ac_file" || continue
-   case $ac_file in
--    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
-+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-       ;;
-     [ab].out )
-       # We found the default executable, but exeext='' is most
-@@ -2088,25 +2180,27 @@ else
-   ac_file=''
- fi
--{ echo "$as_me:$LINENO: result: $ac_file" >&5
--echo "${ECHO_T}$ac_file" >&6; }
-+{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
-+$as_echo "$ac_file" >&6; }
- if test -z "$ac_file"; then
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
--{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
-+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
- See \`config.log' for more details." >&5
--echo "$as_me: error: C compiler cannot create executables
-+$as_echo "$as_me: error: C compiler cannot create executables
- See \`config.log' for more details." >&2;}
--   { (exit 77); exit 77; }; }
-+   { (exit 77); exit 77; }; }; }
- fi
- ac_exeext=$ac_cv_exeext
- # Check that the compiler produces executables we can run.  If not, either
- # the compiler is broken, or we cross compile.
--{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
--echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
-+{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-+$as_echo_n "checking whether the C compiler works... " >&6; }
- # FIXME: These cross compiler hacks should be removed for Autoconf 3.0
- # If not cross compiling, check that we can run a simple program.
- if test "$cross_compiling" != yes; then
-@@ -2115,49 +2209,53 @@ if test "$cross_compiling" != yes; then
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_try") 2>&5
-   ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }; }; then
-     cross_compiling=no
-   else
-     if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-     else
--      { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
-+      { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
- If you meant to cross compile, use \`--host'.
- See \`config.log' for more details." >&5
--echo "$as_me: error: cannot run C compiled programs.
-+$as_echo "$as_me: error: cannot run C compiled programs.
- If you meant to cross compile, use \`--host'.
- See \`config.log' for more details." >&2;}
--   { (exit 1); exit 1; }; }
-+   { (exit 1); exit 1; }; }; }
-     fi
-   fi
- fi
--{ echo "$as_me:$LINENO: result: yes" >&5
--echo "${ECHO_T}yes" >&6; }
-+{ $as_echo "$as_me:$LINENO: result: yes" >&5
-+$as_echo "yes" >&6; }
--rm -f a.out a.exe conftest$ac_cv_exeext b.out
-+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
- ac_clean_files=$ac_clean_files_save
- # Check that the compiler produces executables we can run.  If not, either
- # the compiler is broken, or we cross compile.
--{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
--echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
--{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
--echo "${ECHO_T}$cross_compiling" >&6; }
-+{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-+$as_echo_n "checking whether we are cross compiling... " >&6; }
-+{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
-+$as_echo "$cross_compiling" >&6; }
--{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
--echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
-+{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5
-+$as_echo_n "checking for suffix of executables... " >&6; }
- if { (ac_try="$ac_link"
- case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_link") 2>&5
-   ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }; then
-   # If both `conftest.exe' and `conftest' are `present' (well, observable)
- # catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-@@ -2166,31 +2264,33 @@ eval "echo \"\$as_me:$LINENO: $ac_try_ec
- for ac_file in conftest.exe conftest conftest.*; do
-   test -f "$ac_file" || continue
-   case $ac_file in
--    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
-+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-     *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-     * ) break;;
-   esac
- done
- else
--  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-+  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
- See \`config.log' for more details." >&5
--echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-+$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
- See \`config.log' for more details." >&2;}
--   { (exit 1); exit 1; }; }
-+   { (exit 1); exit 1; }; }; }
- fi
- rm -f conftest$ac_cv_exeext
--{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
--echo "${ECHO_T}$ac_cv_exeext" >&6; }
-+{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-+$as_echo "$ac_cv_exeext" >&6; }
- rm -f conftest.$ac_ext
- EXEEXT=$ac_cv_exeext
- ac_exeext=$EXEEXT
--{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
--echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
-+{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
-+$as_echo_n "checking for suffix of object files... " >&6; }
- if test "${ac_cv_objext+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+  $as_echo_n "(cached) " >&6
- else
-   cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
-@@ -2213,40 +2313,43 @@ case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_compile") 2>&5
-   ac_status=$?
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); }; then
-   for ac_file in conftest.o conftest.obj conftest.*; do
-   test -f "$ac_file" || continue;
-   case $ac_file in
--    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
-+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-     *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-        break;;
-   esac
- done
- else
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
--{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-+{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
- See \`config.log' for more details." >&5
--echo "$as_me: error: cannot compute suffix of object files: cannot compile
-+$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
- See \`config.log' for more details." >&2;}
--   { (exit 1); exit 1; }; }
-+   { (exit 1); exit 1; }; }; }
- fi
- rm -f conftest.$ac_cv_objext conftest.$ac_ext
- fi
--{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
--echo "${ECHO_T}$ac_cv_objext" >&6; }
-+{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-+$as_echo "$ac_cv_objext" >&6; }
- OBJEXT=$ac_cv_objext
- ac_objext=$OBJEXT
--{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
--echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
-+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
- if test "${ac_cv_c_compiler_gnu+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+  $as_echo_n "(cached) " >&6
- else
-   cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
-@@ -2272,20 +2375,21 @@ case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_compile") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-        } && test -s conftest.$ac_objext; then
-   ac_compiler_gnu=yes
- else
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-       ac_compiler_gnu=no
-@@ -2295,15 +2399,19 @@ rm -f core conftest.err conftest.$ac_obj
- ac_cv_c_compiler_gnu=$ac_compiler_gnu
- fi
--{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
--echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
--GCC=`test $ac_compiler_gnu = yes && echo yes`
-+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-+if test $ac_compiler_gnu = yes; then
-+  GCC=yes
-+else
-+  GCC=
-+fi
- ac_test_CFLAGS=${CFLAGS+set}
- ac_save_CFLAGS=$CFLAGS
--{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
--echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
-+{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-+$as_echo_n "checking whether $CC accepts -g... " >&6; }
- if test "${ac_cv_prog_cc_g+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+  $as_echo_n "(cached) " >&6
- else
-   ac_save_c_werror_flag=$ac_c_werror_flag
-    ac_c_werror_flag=yes
-@@ -2330,20 +2438,21 @@ case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_compile") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-        } && test -s conftest.$ac_objext; then
-   ac_cv_prog_cc_g=yes
- else
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-       CFLAGS=""
-@@ -2368,20 +2477,21 @@ case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_compile") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-        } && test -s conftest.$ac_objext; then
-   :
- else
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-       ac_c_werror_flag=$ac_save_c_werror_flag
-@@ -2407,20 +2517,21 @@ case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_compile") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-        } && test -s conftest.$ac_objext; then
-   ac_cv_prog_cc_g=yes
- else
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-@@ -2435,8 +2546,8 @@ fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    ac_c_werror_flag=$ac_save_c_werror_flag
- fi
--{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
--echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
-+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-+$as_echo "$ac_cv_prog_cc_g" >&6; }
- if test "$ac_test_CFLAGS" = set; then
-   CFLAGS=$ac_save_CFLAGS
- elif test $ac_cv_prog_cc_g = yes; then
-@@ -2452,10 +2563,10 @@ else
-     CFLAGS=
-   fi
- fi
--{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
--echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
-+{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
- if test "${ac_cv_prog_cc_c89+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+  $as_echo_n "(cached) " >&6
- else
-   ac_cv_prog_cc_c89=no
- ac_save_CC=$CC
-@@ -2526,20 +2637,21 @@ case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_compile") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-        } && test -s conftest.$ac_objext; then
-   ac_cv_prog_cc_c89=$ac_arg
- else
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-@@ -2555,15 +2667,15 @@ fi
- # AC_CACHE_VAL
- case "x$ac_cv_prog_cc_c89" in
-   x)
--    { echo "$as_me:$LINENO: result: none needed" >&5
--echo "${ECHO_T}none needed" >&6; } ;;
-+    { $as_echo "$as_me:$LINENO: result: none needed" >&5
-+$as_echo "none needed" >&6; } ;;
-   xno)
--    { echo "$as_me:$LINENO: result: unsupported" >&5
--echo "${ECHO_T}unsupported" >&6; } ;;
-+    { $as_echo "$as_me:$LINENO: result: unsupported" >&5
-+$as_echo "unsupported" >&6; } ;;
-   *)
-     CC="$CC $ac_cv_prog_cc_c89"
--    { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
--echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
-+    { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
- esac
-@@ -2581,8 +2693,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
- if test "${with_rlm_ldap_lib_dir+set}" = set; then
-   withval=$with_rlm_ldap_lib_dir;  case "$withval" in
-           no)
--              { { echo "$as_me:$LINENO: error: Need rlm-ldap-lib-dir" >&5
--echo "$as_me: error: Need rlm-ldap-lib-dir" >&2;}
-+              { { $as_echo "$as_me:$LINENO: error: Need rlm-ldap-lib-dir" >&5
-+$as_echo "$as_me: error: Need rlm-ldap-lib-dir" >&2;}
-    { (exit 1); exit 1; }; }
-               ;;
-           yes)
-@@ -2601,8 +2713,8 @@ fi
- if test "${with_rlm_ldap_include_dir+set}" = set; then
-   withval=$with_rlm_ldap_include_dir;  case "$withval" in
-           no)
--              { { echo "$as_me:$LINENO: error: Need rlm-ldap-include-dir" >&5
--echo "$as_me: error: Need rlm-ldap-include-dir" >&2;}
-+              { { $as_echo "$as_me:$LINENO: error: Need rlm-ldap-include-dir" >&5
-+$as_echo "$as_me: error: Need rlm-ldap-include-dir" >&2;}
-    { (exit 1); exit 1; }; }
-               ;;
-           yes)
-@@ -2641,8 +2753,8 @@ fi
-                               if test "x$enable_shared" = "xno"; then
--              { echo "$as_me:$LINENO: WARNING: Static linking with libldap will probably result in unresolved symbols." >&5
--echo "$as_me: WARNING: Static linking with libldap will probably result in unresolved symbols." >&2;}
-+              { $as_echo "$as_me:$LINENO: WARNING: Static linking with libldap will probably result in unresolved symbols." >&5
-+$as_echo "$as_me: WARNING: Static linking with libldap will probably result in unresolved symbols." >&2;}
-       fi
-               rlm_ldap_with_threads=yes
-@@ -2661,10 +2773,10 @@ fi
-                       if test "x$rlm_ldap_with_threads" = "xyes"; then
--          { echo "$as_me:$LINENO: checking for pthread_create in -lpthread" >&5
--echo $ECHO_N "checking for pthread_create in -lpthread... $ECHO_C" >&6; }
-+          { $as_echo "$as_me:$LINENO: checking for pthread_create in -lpthread" >&5
-+$as_echo_n "checking for pthread_create in -lpthread... " >&6; }
- if test "${ac_cv_lib_pthread_pthread_create+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+  $as_echo_n "(cached) " >&6
- else
-   ac_check_lib_save_LIBS=$LIBS
- LIBS="-lpthread  $LIBS"
-@@ -2696,39 +2808,43 @@ case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_link") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
--       } && test -s conftest$ac_exeext &&
--       $as_test_x conftest$ac_exeext; then
-+       } && test -s conftest$ac_exeext && {
-+       test "$cross_compiling" = yes ||
-+       $as_test_x conftest$ac_exeext
-+       }; then
-   ac_cv_lib_pthread_pthread_create=yes
- else
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-       ac_cv_lib_pthread_pthread_create=no
- fi
-+rm -rf conftest.dSYM
- rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-       conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
--{ echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_create" >&5
--echo "${ECHO_T}$ac_cv_lib_pthread_pthread_create" >&6; }
--if test $ac_cv_lib_pthread_pthread_create = yes; then
-+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_pthread_create" >&5
-+$as_echo "$ac_cv_lib_pthread_pthread_create" >&6; }
-+if test "x$ac_cv_lib_pthread_pthread_create" = x""yes; then
-    LIBS="-lpthread $LIBS"
- else
--  { echo "$as_me:$LINENO: checking for pthread_create in -lc_r" >&5
--echo $ECHO_N "checking for pthread_create in -lc_r... $ECHO_C" >&6; }
-+  { $as_echo "$as_me:$LINENO: checking for pthread_create in -lc_r" >&5
-+$as_echo_n "checking for pthread_create in -lc_r... " >&6; }
- if test "${ac_cv_lib_c_r_pthread_create+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+  $as_echo_n "(cached) " >&6
- else
-   ac_check_lib_save_LIBS=$LIBS
- LIBS="-lc_r  $LIBS"
-@@ -2761,33 +2877,37 @@ case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_link") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
--       } && test -s conftest$ac_exeext &&
--       $as_test_x conftest$ac_exeext; then
-+       } && test -s conftest$ac_exeext && {
-+       test "$cross_compiling" = yes ||
-+       $as_test_x conftest$ac_exeext
-+       }; then
-   ac_cv_lib_c_r_pthread_create=yes
- else
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-       ac_cv_lib_c_r_pthread_create=no
- fi
-+rm -rf conftest.dSYM
- rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-       conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
--{ echo "$as_me:$LINENO: result: $ac_cv_lib_c_r_pthread_create" >&5
--echo "${ECHO_T}$ac_cv_lib_c_r_pthread_create" >&6; }
--if test $ac_cv_lib_c_r_pthread_create = yes; then
-+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_c_r_pthread_create" >&5
-+$as_echo "$ac_cv_lib_c_r_pthread_create" >&6; }
-+if test "x$ac_cv_lib_c_r_pthread_create" = x""yes; then
-    LIBS="-lc_r $LIBS"
- else
-    rlm_ldap_with_threads="no"
-@@ -2799,14 +2919,12 @@ fi
-       fi
--                              smart_try_dir=$rlm_ldap_lib_dir
--      if test "x$rlm_ldap_with_threads" = "xyes"; then
--sm_lib_safe=`echo "ldap_r" | sed 'y%./+-%__p_%'`
--sm_func_safe=`echo "ldap_init" | sed 'y%./+-%__p_%'`
--{ echo "$as_me:$LINENO: checking for ldap_init in -lldap_r" >&5
--echo $ECHO_N "checking for ldap_init in -lldap_r... $ECHO_C" >&6; }
-+sm_lib_safe=`echo "sasl" | sed 'y%./+-%__p_%'`
-+sm_func_safe=`echo "sasl_encode" | sed 'y%./+-%__p_%'`
-+{ $as_echo "$as_me:$LINENO: checking for sasl_encode in -lsasl" >&5
-+$as_echo_n "checking for sasl_encode in -lsasl... " >&6; }
- old_LIBS="$LIBS"
- smart_lib=
-@@ -2814,18 +2932,18 @@ smart_lib_dir=
- if test "x$smart_try_dir" != "x"; then
-   for try in $smart_try_dir; do
--    LIBS="-L$try -lldap_r $old_LIBS"
-+    LIBS="-L$try -lsasl $old_LIBS"
-     cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
- _ACEOF
- cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h.  */
--extern char ldap_init();
-+extern char sasl_encode();
- int
- main ()
- {
-- ldap_init()
-+ sasl_encode()
-   ;
-   return 0;
- }
-@@ -2836,26 +2954,30 @@ case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_link") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
--       } && test -s conftest$ac_exeext &&
--       $as_test_x conftest$ac_exeext; then
--  smart_lib="-L$try -lldap_r"
-+       } && test -s conftest$ac_exeext && {
-+       test "$cross_compiling" = yes ||
-+       $as_test_x conftest$ac_exeext
-+       }; then
-+  smart_lib="-L$try -lsasl"
- else
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
- fi
-+rm -rf conftest.dSYM
- rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-       conftest$ac_exeext conftest.$ac_ext
-     if test "x$smart_lib" != "x"; then
-@@ -2866,18 +2988,18 @@ rm -f core conftest.err conftest.$ac_obj
- fi
- if test "x$smart_lib" = "x"; then
--  LIBS="-lldap_r $old_LIBS"
-+  LIBS="-lsasl $old_LIBS"
-   cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
- _ACEOF
- cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h.  */
--extern char ldap_init();
-+extern char sasl_encode();
- int
- main ()
- {
-- ldap_init()
-+ sasl_encode()
-   ;
-   return 0;
- }
-@@ -2888,26 +3010,30 @@ case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_link") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
--       } && test -s conftest$ac_exeext &&
--       $as_test_x conftest$ac_exeext; then
--  smart_lib="-lldap_r"
-+       } && test -s conftest$ac_exeext && {
-+       test "$cross_compiling" = yes ||
-+       $as_test_x conftest$ac_exeext
-+       }; then
-+  smart_lib="-lsasl"
- else
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
- fi
-+rm -rf conftest.dSYM
- rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-       conftest$ac_exeext conftest.$ac_ext
-   LIBS="$old_LIBS"
-@@ -2918,7 +3044,7 @@ if test "x$smart_lib" = "x"; then
- if test "x$LOCATE" != "x"; then
-         DIRS=
--  file=libldap_r${libltdl_cv_shlibext}
-+  file=libsasl${libltdl_cv_shlibext}
-   for x in `${LOCATE} $file 2>/dev/null`; do
-                                         base=`echo $x | sed "s%/${file}%%"`
-@@ -2945,7 +3071,7 @@ eval "smart_lib_dir=\"\$smart_lib_dir $D
- if test "x$LOCATE" != "x"; then
-         DIRS=
--  file=libldap_r.a
-+  file=libsasl.a
-   for x in `${LOCATE} $file 2>/dev/null`; do
-                                         base=`echo $x | sed "s%/${file}%%"`
-@@ -2970,18 +3096,18 @@ eval "smart_lib_dir=\"\$smart_lib_dir $D
-   for try in $smart_lib_dir /usr/local/lib /opt/lib; do
--    LIBS="-L$try -lldap_r $old_LIBS"
-+    LIBS="-L$try -lsasl $old_LIBS"
-     cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
- _ACEOF
- cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h.  */
--extern char ldap_init();
-+extern char sasl_encode();
- int
- main ()
- {
-- ldap_init()
-+ sasl_encode()
-   ;
-   return 0;
- }
-@@ -2992,26 +3118,30 @@ case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_link") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
--       } && test -s conftest$ac_exeext &&
--       $as_test_x conftest$ac_exeext; then
--  smart_lib="-L$try -lldap_r"
-+       } && test -s conftest$ac_exeext && {
-+       test "$cross_compiling" = yes ||
-+       $as_test_x conftest$ac_exeext
-+       }; then
-+  smart_lib="-L$try -lsasl"
- else
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
- fi
-+rm -rf conftest.dSYM
- rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-       conftest$ac_exeext conftest.$ac_ext
-     if test "x$smart_lib" != "x"; then
-@@ -3022,26 +3152,22 @@ rm -f core conftest.err conftest.$ac_obj
- fi
- if test "x$smart_lib" != "x"; then
--  { echo "$as_me:$LINENO: result: yes" >&5
--echo "${ECHO_T}yes" >&6; }
-+  { $as_echo "$as_me:$LINENO: result: yes" >&5
-+$as_echo "yes" >&6; }
-   eval "ac_cv_lib_${sm_lib_safe}_${sm_func_safe}=yes"
-   LIBS="$smart_lib $old_LIBS"
-   SMART_LIBS="$smart_lib $SMART_LIBS"
- else
--  { echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6; }
-+  { $as_echo "$as_me:$LINENO: result: no" >&5
-+$as_echo "no" >&6; }
- fi
--          if test "x$ac_cv_lib_ldap_r_ldap_init" != "xyes"; then
--              fail="$fail libldap_r"
--          fi
--      else
--sm_lib_safe=`echo "ldap" | sed 'y%./+-%__p_%'`
--sm_func_safe=`echo "ldap_init" | sed 'y%./+-%__p_%'`
--{ echo "$as_me:$LINENO: checking for ldap_init in -lldap" >&5
--echo $ECHO_N "checking for ldap_init in -lldap... $ECHO_C" >&6; }
-+sm_lib_safe=`echo "lber" | sed 'y%./+-%__p_%'`
-+sm_func_safe=`echo "ber_init" | sed 'y%./+-%__p_%'`
-+{ $as_echo "$as_me:$LINENO: checking for ber_init in -llber" >&5
-+$as_echo_n "checking for ber_init in -llber... " >&6; }
- old_LIBS="$LIBS"
- smart_lib=
-@@ -3049,18 +3175,18 @@ smart_lib_dir=
- if test "x$smart_try_dir" != "x"; then
-   for try in $smart_try_dir; do
--    LIBS="-L$try -lldap $old_LIBS"
-+    LIBS="-L$try -llber $old_LIBS"
-     cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
- _ACEOF
- cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h.  */
--extern char ldap_init();
-+extern char ber_init();
- int
- main ()
- {
-- ldap_init()
-+ ber_init()
-   ;
-   return 0;
- }
-@@ -3071,26 +3197,30 @@ case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_link") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
--       } && test -s conftest$ac_exeext &&
--       $as_test_x conftest$ac_exeext; then
--  smart_lib="-L$try -lldap"
-+       } && test -s conftest$ac_exeext && {
-+       test "$cross_compiling" = yes ||
-+       $as_test_x conftest$ac_exeext
-+       }; then
-+  smart_lib="-L$try -llber"
- else
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
- fi
-+rm -rf conftest.dSYM
- rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-       conftest$ac_exeext conftest.$ac_ext
-     if test "x$smart_lib" != "x"; then
-@@ -3101,18 +3231,18 @@ rm -f core conftest.err conftest.$ac_obj
- fi
- if test "x$smart_lib" = "x"; then
--  LIBS="-lldap $old_LIBS"
-+  LIBS="-llber $old_LIBS"
-   cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
- _ACEOF
- cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h.  */
--extern char ldap_init();
-+extern char ber_init();
- int
- main ()
- {
-- ldap_init()
-+ ber_init()
-   ;
-   return 0;
- }
-@@ -3123,26 +3253,30 @@ case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_link") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
--       } && test -s conftest$ac_exeext &&
--       $as_test_x conftest$ac_exeext; then
--  smart_lib="-lldap"
-+       } && test -s conftest$ac_exeext && {
-+       test "$cross_compiling" = yes ||
-+       $as_test_x conftest$ac_exeext
-+       }; then
-+  smart_lib="-llber"
- else
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
- fi
-+rm -rf conftest.dSYM
- rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-       conftest$ac_exeext conftest.$ac_ext
-   LIBS="$old_LIBS"
-@@ -3153,7 +3287,7 @@ if test "x$smart_lib" = "x"; then
- if test "x$LOCATE" != "x"; then
-         DIRS=
--  file=libldap${libltdl_cv_shlibext}
-+  file=liblber${libltdl_cv_shlibext}
-   for x in `${LOCATE} $file 2>/dev/null`; do
-                                         base=`echo $x | sed "s%/${file}%%"`
-@@ -3180,7 +3314,7 @@ eval "smart_lib_dir=\"\$smart_lib_dir $D
- if test "x$LOCATE" != "x"; then
-         DIRS=
--  file=libldap.a
-+  file=liblber.a
-   for x in `${LOCATE} $file 2>/dev/null`; do
-                                         base=`echo $x | sed "s%/${file}%%"`
-@@ -3205,18 +3339,18 @@ eval "smart_lib_dir=\"\$smart_lib_dir $D
-   for try in $smart_lib_dir /usr/local/lib /opt/lib; do
--    LIBS="-L$try -lldap $old_LIBS"
-+    LIBS="-L$try -llber $old_LIBS"
-     cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
- _ACEOF
- cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h.  */
--extern char ldap_init();
-+extern char ber_init();
- int
- main ()
- {
-- ldap_init()
-+ ber_init()
-   ;
-   return 0;
- }
-@@ -3227,26 +3361,30 @@ case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_link") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
--       } && test -s conftest$ac_exeext &&
--       $as_test_x conftest$ac_exeext; then
--  smart_lib="-L$try -lldap"
-+       } && test -s conftest$ac_exeext && {
-+       test "$cross_compiling" = yes ||
-+       $as_test_x conftest$ac_exeext
-+       }; then
-+  smart_lib="-L$try -llber"
- else
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
- fi
-+rm -rf conftest.dSYM
- rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-       conftest$ac_exeext conftest.$ac_ext
-     if test "x$smart_lib" != "x"; then
-@@ -3257,136 +3395,145 @@ rm -f core conftest.err conftest.$ac_obj
- fi
- if test "x$smart_lib" != "x"; then
--  { echo "$as_me:$LINENO: result: yes" >&5
--echo "${ECHO_T}yes" >&6; }
-+  { $as_echo "$as_me:$LINENO: result: yes" >&5
-+$as_echo "yes" >&6; }
-   eval "ac_cv_lib_${sm_lib_safe}_${sm_func_safe}=yes"
-   LIBS="$smart_lib $old_LIBS"
-   SMART_LIBS="$smart_lib $SMART_LIBS"
- else
--  { echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6; }
-+  { $as_echo "$as_me:$LINENO: result: no" >&5
-+$as_echo "no" >&6; }
- fi
--          if test "x$ac_cv_lib_ldap_ldap_init" != "xyes"; then
--              fail="$fail libldap"
--          fi
--      fi
--
--      smart_try_dir=$rlm_ldap_include_dir
-+                              smart_try_dir=$rlm_ldap_lib_dir
-+      if test "x$rlm_ldap_with_threads" = "xyes"; then
--ac_safe=`echo "ldap.h" | sed 'y%./+-%__pm%'`
--{ echo "$as_me:$LINENO: checking for ldap.h" >&5
--echo $ECHO_N "checking for ldap.h... $ECHO_C" >&6; }
-+sm_lib_safe=`echo "ldap_r" | sed 'y%./+-%__p_%'`
-+sm_func_safe=`echo "ldap_init" | sed 'y%./+-%__p_%'`
-+{ $as_echo "$as_me:$LINENO: checking for ldap_init in -lldap_r" >&5
-+$as_echo_n "checking for ldap_init in -lldap_r... " >&6; }
--old_CFLAGS="$CFLAGS"
--smart_include=
--smart_include_dir=
-+old_LIBS="$LIBS"
-+smart_lib=
-+smart_lib_dir=
- if test "x$smart_try_dir" != "x"; then
-   for try in $smart_try_dir; do
--    CFLAGS="$old_CFLAGS -I$try"
-+    LIBS="-L$try -lldap_r $old_LIBS"
-     cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
- _ACEOF
- cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h.  */
--
--                  #include <ldap.h>
-+extern char ldap_init();
- int
- main ()
- {
-- int a = 1;
-+ ldap_init()
-   ;
-   return 0;
- }
- _ACEOF
--rm -f conftest.$ac_objext
--if { (ac_try="$ac_compile"
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (ac_try="$ac_link"
- case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
--  (eval "$ac_compile") 2>conftest.er1
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-+  (eval "$ac_link") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
--       } && test -s conftest.$ac_objext; then
--  smart_include="-I$try"
-+       } && test -s conftest$ac_exeext && {
-+       test "$cross_compiling" = yes ||
-+       $as_test_x conftest$ac_exeext
-+       }; then
-+  smart_lib="-L$try -lldap_r"
- else
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
--      smart_include=
-+
- fi
--rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
--    if test "x$smart_include" != "x"; then
-+rm -rf conftest.dSYM
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-+      conftest$ac_exeext conftest.$ac_ext
-+    if test "x$smart_lib" != "x"; then
-       break;
-     fi
-   done
--  CFLAGS="$old_CFLAGS"
-+  LIBS="$old_LIBS"
- fi
--if test "x$smart_include" = "x"; then
-+if test "x$smart_lib" = "x"; then
-+  LIBS="-lldap_r $old_LIBS"
-   cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
- _ACEOF
- cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h.  */
--
--                #include <ldap.h>
-+extern char ldap_init();
- int
- main ()
- {
-- int a = 1;
-+ ldap_init()
-   ;
-   return 0;
- }
- _ACEOF
--rm -f conftest.$ac_objext
--if { (ac_try="$ac_compile"
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (ac_try="$ac_link"
- case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
--  (eval "$ac_compile") 2>conftest.er1
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-+  (eval "$ac_link") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
--       } && test -s conftest.$ac_objext; then
--  smart_include=" "
-+       } && test -s conftest$ac_exeext && {
-+       test "$cross_compiling" = yes ||
-+       $as_test_x conftest$ac_exeext
-+       }; then
-+  smart_lib="-lldap_r"
- else
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
--      smart_include=
-+
- fi
--rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+rm -rf conftest.dSYM
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-+      conftest$ac_exeext conftest.$ac_ext
-+  LIBS="$old_LIBS"
- fi
--if test "x$smart_include" = "x"; then
-+if test "x$smart_lib" = "x"; then
- if test "x$LOCATE" != "x"; then
-         DIRS=
--  file=ldap.h
-+  file=libldap_r${libltdl_cv_shlibext}
-   for x in `${LOCATE} $file 2>/dev/null`; do
-                                         base=`echo $x | sed "s%/${file}%%"`
-@@ -3400,19 +3547,505 @@ if test "x$LOCATE" != "x"; then
-       continue
-     fi
--                    already=`echo \$smart_include_dir ${DIRS} | ${GREP} ${dir}`
-+                    already=`echo \$smart_lib_dir ${DIRS} | ${GREP} ${dir}`
-     if test "x$already" = "x"; then
-       DIRS="$DIRS $dir"
-     fi
-   done
- fi
--eval "smart_include_dir=\"\$smart_include_dir $DIRS\""
-+eval "smart_lib_dir=\"\$smart_lib_dir $DIRS\""
--  for try in $smart_include_dir /usr/local/include /opt/include; do
--    CFLAGS="$old_CFLAGS -I$try"
--    cat >conftest.$ac_ext <<_ACEOF
-+
-+if test "x$LOCATE" != "x"; then
-+        DIRS=
-+  file=libldap_r.a
-+
-+  for x in `${LOCATE} $file 2>/dev/null`; do
-+                                        base=`echo $x | sed "s%/${file}%%"`
-+    if test "x$x" = "x$base"; then
-+      continue;
-+    fi
-+
-+    dir=`${DIRNAME} $x 2>/dev/null`
-+                exclude=`echo ${dir} | ${GREP} /home`
-+    if test "x$exclude" != "x"; then
-+      continue
-+    fi
-+
-+                    already=`echo \$smart_lib_dir ${DIRS} | ${GREP} ${dir}`
-+    if test "x$already" = "x"; then
-+      DIRS="$DIRS $dir"
-+    fi
-+  done
-+fi
-+
-+eval "smart_lib_dir=\"\$smart_lib_dir $DIRS\""
-+
-+
-+  for try in $smart_lib_dir /usr/local/lib /opt/lib; do
-+    LIBS="-L$try -lldap_r $old_LIBS"
-+    cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+extern char ldap_init();
-+int
-+main ()
-+{
-+ ldap_init()
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-+  (eval "$ac_link") 2>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); } && {
-+       test -z "$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       } && test -s conftest$ac_exeext && {
-+       test "$cross_compiling" = yes ||
-+       $as_test_x conftest$ac_exeext
-+       }; then
-+  smart_lib="-L$try -lldap_r"
-+else
-+  $as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+
-+fi
-+
-+rm -rf conftest.dSYM
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-+      conftest$ac_exeext conftest.$ac_ext
-+    if test "x$smart_lib" != "x"; then
-+      break;
-+    fi
-+  done
-+  LIBS="$old_LIBS"
-+fi
-+
-+if test "x$smart_lib" != "x"; then
-+  { $as_echo "$as_me:$LINENO: result: yes" >&5
-+$as_echo "yes" >&6; }
-+  eval "ac_cv_lib_${sm_lib_safe}_${sm_func_safe}=yes"
-+  LIBS="$smart_lib $old_LIBS"
-+  SMART_LIBS="$smart_lib $SMART_LIBS"
-+else
-+  { $as_echo "$as_me:$LINENO: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+          if test "x$ac_cv_lib_ldap_r_ldap_init" != "xyes"; then
-+              fail="$fail libldap_r"
-+          fi
-+      else
-+
-+
-+sm_lib_safe=`echo "ldap" | sed 'y%./+-%__p_%'`
-+sm_func_safe=`echo "ldap_init" | sed 'y%./+-%__p_%'`
-+{ $as_echo "$as_me:$LINENO: checking for ldap_init in -lldap" >&5
-+$as_echo_n "checking for ldap_init in -lldap... " >&6; }
-+
-+old_LIBS="$LIBS"
-+smart_lib=
-+smart_lib_dir=
-+
-+if test "x$smart_try_dir" != "x"; then
-+  for try in $smart_try_dir; do
-+    LIBS="-L$try -lldap $old_LIBS"
-+    cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+extern char ldap_init();
-+int
-+main ()
-+{
-+ ldap_init()
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-+  (eval "$ac_link") 2>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); } && {
-+       test -z "$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       } && test -s conftest$ac_exeext && {
-+       test "$cross_compiling" = yes ||
-+       $as_test_x conftest$ac_exeext
-+       }; then
-+  smart_lib="-L$try -lldap"
-+else
-+  $as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+
-+fi
-+
-+rm -rf conftest.dSYM
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-+      conftest$ac_exeext conftest.$ac_ext
-+    if test "x$smart_lib" != "x"; then
-+      break;
-+    fi
-+  done
-+  LIBS="$old_LIBS"
-+fi
-+
-+if test "x$smart_lib" = "x"; then
-+  LIBS="-lldap $old_LIBS"
-+  cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+extern char ldap_init();
-+int
-+main ()
-+{
-+ ldap_init()
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-+  (eval "$ac_link") 2>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); } && {
-+       test -z "$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       } && test -s conftest$ac_exeext && {
-+       test "$cross_compiling" = yes ||
-+       $as_test_x conftest$ac_exeext
-+       }; then
-+  smart_lib="-lldap"
-+else
-+  $as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+
-+fi
-+
-+rm -rf conftest.dSYM
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-+      conftest$ac_exeext conftest.$ac_ext
-+  LIBS="$old_LIBS"
-+fi
-+
-+if test "x$smart_lib" = "x"; then
-+
-+
-+if test "x$LOCATE" != "x"; then
-+        DIRS=
-+  file=libldap${libltdl_cv_shlibext}
-+
-+  for x in `${LOCATE} $file 2>/dev/null`; do
-+                                        base=`echo $x | sed "s%/${file}%%"`
-+    if test "x$x" = "x$base"; then
-+      continue;
-+    fi
-+
-+    dir=`${DIRNAME} $x 2>/dev/null`
-+                exclude=`echo ${dir} | ${GREP} /home`
-+    if test "x$exclude" != "x"; then
-+      continue
-+    fi
-+
-+                    already=`echo \$smart_lib_dir ${DIRS} | ${GREP} ${dir}`
-+    if test "x$already" = "x"; then
-+      DIRS="$DIRS $dir"
-+    fi
-+  done
-+fi
-+
-+eval "smart_lib_dir=\"\$smart_lib_dir $DIRS\""
-+
-+
-+
-+if test "x$LOCATE" != "x"; then
-+        DIRS=
-+  file=libldap.a
-+
-+  for x in `${LOCATE} $file 2>/dev/null`; do
-+                                        base=`echo $x | sed "s%/${file}%%"`
-+    if test "x$x" = "x$base"; then
-+      continue;
-+    fi
-+
-+    dir=`${DIRNAME} $x 2>/dev/null`
-+                exclude=`echo ${dir} | ${GREP} /home`
-+    if test "x$exclude" != "x"; then
-+      continue
-+    fi
-+
-+                    already=`echo \$smart_lib_dir ${DIRS} | ${GREP} ${dir}`
-+    if test "x$already" = "x"; then
-+      DIRS="$DIRS $dir"
-+    fi
-+  done
-+fi
-+
-+eval "smart_lib_dir=\"\$smart_lib_dir $DIRS\""
-+
-+
-+  for try in $smart_lib_dir /usr/local/lib /opt/lib; do
-+    LIBS="-L$try -lldap $old_LIBS"
-+    cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+extern char ldap_init();
-+int
-+main ()
-+{
-+ ldap_init()
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext conftest$ac_exeext
-+if { (ac_try="$ac_link"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-+  (eval "$ac_link") 2>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); } && {
-+       test -z "$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       } && test -s conftest$ac_exeext && {
-+       test "$cross_compiling" = yes ||
-+       $as_test_x conftest$ac_exeext
-+       }; then
-+  smart_lib="-L$try -lldap"
-+else
-+  $as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+
-+fi
-+
-+rm -rf conftest.dSYM
-+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-+      conftest$ac_exeext conftest.$ac_ext
-+    if test "x$smart_lib" != "x"; then
-+      break;
-+    fi
-+  done
-+  LIBS="$old_LIBS"
-+fi
-+
-+if test "x$smart_lib" != "x"; then
-+  { $as_echo "$as_me:$LINENO: result: yes" >&5
-+$as_echo "yes" >&6; }
-+  eval "ac_cv_lib_${sm_lib_safe}_${sm_func_safe}=yes"
-+  LIBS="$smart_lib $old_LIBS"
-+  SMART_LIBS="$smart_lib $SMART_LIBS"
-+else
-+  { $as_echo "$as_me:$LINENO: result: no" >&5
-+$as_echo "no" >&6; }
-+fi
-+
-+          if test "x$ac_cv_lib_ldap_ldap_init" != "xyes"; then
-+              fail="$fail libldap"
-+          fi
-+      fi
-+
-+
-+      smart_try_dir=$rlm_ldap_include_dir
-+
-+
-+ac_safe=`echo "ldap.h" | sed 'y%./+-%__pm%'`
-+{ $as_echo "$as_me:$LINENO: checking for ldap.h" >&5
-+$as_echo_n "checking for ldap.h... " >&6; }
-+
-+old_CFLAGS="$CFLAGS"
-+smart_include=
-+smart_include_dir=
-+
-+if test "x$smart_try_dir" != "x"; then
-+  for try in $smart_try_dir; do
-+    CFLAGS="$old_CFLAGS -I$try"
-+    cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+
-+                  #include <ldap.h>
-+int
-+main ()
-+{
-+ int a = 1;
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-+  (eval "$ac_compile") 2>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); } && {
-+       test -z "$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       } && test -s conftest.$ac_objext; then
-+  smart_include="-I$try"
-+else
-+  $as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+      smart_include=
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+    if test "x$smart_include" != "x"; then
-+      break;
-+    fi
-+  done
-+  CFLAGS="$old_CFLAGS"
-+fi
-+
-+if test "x$smart_include" = "x"; then
-+  cat >conftest.$ac_ext <<_ACEOF
-+/* confdefs.h.  */
-+_ACEOF
-+cat confdefs.h >>conftest.$ac_ext
-+cat >>conftest.$ac_ext <<_ACEOF
-+/* end confdefs.h.  */
-+
-+                #include <ldap.h>
-+int
-+main ()
-+{
-+ int a = 1;
-+  ;
-+  return 0;
-+}
-+_ACEOF
-+rm -f conftest.$ac_objext
-+if { (ac_try="$ac_compile"
-+case "(($ac_try" in
-+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-+  *) ac_try_echo=$ac_try;;
-+esac
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-+  (eval "$ac_compile") 2>conftest.er1
-+  ac_status=$?
-+  grep -v '^ *+' conftest.er1 >conftest.err
-+  rm -f conftest.er1
-+  cat conftest.err >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  (exit $ac_status); } && {
-+       test -z "$ac_c_werror_flag" ||
-+       test ! -s conftest.err
-+       } && test -s conftest.$ac_objext; then
-+  smart_include=" "
-+else
-+  $as_echo "$as_me: failed program was:" >&5
-+sed 's/^/| /' conftest.$ac_ext >&5
-+
-+      smart_include=
-+fi
-+
-+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-+fi
-+
-+if test "x$smart_include" = "x"; then
-+
-+
-+if test "x$LOCATE" != "x"; then
-+        DIRS=
-+  file=ldap.h
-+
-+  for x in `${LOCATE} $file 2>/dev/null`; do
-+                                        base=`echo $x | sed "s%/${file}%%"`
-+    if test "x$x" = "x$base"; then
-+      continue;
-+    fi
-+
-+    dir=`${DIRNAME} $x 2>/dev/null`
-+                exclude=`echo ${dir} | ${GREP} /home`
-+    if test "x$exclude" != "x"; then
-+      continue
-+    fi
-+
-+                    already=`echo \$smart_include_dir ${DIRS} | ${GREP} ${dir}`
-+    if test "x$already" = "x"; then
-+      DIRS="$DIRS $dir"
-+    fi
-+  done
-+fi
-+
-+eval "smart_include_dir=\"\$smart_include_dir $DIRS\""
-+
-+
-+  for try in $smart_include_dir /usr/local/include /opt/include; do
-+    CFLAGS="$old_CFLAGS -I$try"
-+    cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
- _ACEOF
- cat confdefs.h >>conftest.$ac_ext
-@@ -3434,20 +4067,21 @@ case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_compile") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-        } && test -s conftest.$ac_objext; then
-   smart_include="-I$try"
- else
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-       smart_include=
-@@ -3462,14 +4096,14 @@ rm -f core conftest.err conftest.$ac_obj
- fi
- if test "x$smart_include" != "x"; then
--  { echo "$as_me:$LINENO: result: yes" >&5
--echo "${ECHO_T}yes" >&6; }
-+  { $as_echo "$as_me:$LINENO: result: yes" >&5
-+$as_echo "yes" >&6; }
-   eval "ac_cv_header_$ac_safe=yes"
-   CFLAGS="$old_CFLAGS $smart_include"
-   SMART_CFLAGS="$SMART_CFLAGS $smart_include"
- else
--  { echo "$as_me:$LINENO: result: no" >&5
--echo "${ECHO_T}no" >&6; }
-+  { $as_echo "$as_me:$LINENO: result: no" >&5
-+$as_echo "no" >&6; }
- fi
-       if test "$ac_cv_header_ldap_h" != "yes"; then
-@@ -3478,10 +4112,10 @@ fi
-       if test "x$fail" = "x"; then
--          { echo "$as_me:$LINENO: checking for ldap_start_tls_s" >&5
--echo $ECHO_N "checking for ldap_start_tls_s... $ECHO_C" >&6; }
-+          { $as_echo "$as_me:$LINENO: checking for ldap_start_tls_s" >&5
-+$as_echo_n "checking for ldap_start_tls_s... " >&6; }
- if test "${ac_cv_func_ldap_start_tls_s+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+  $as_echo_n "(cached) " >&6
- else
-   cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
-@@ -3534,39 +4168,43 @@ case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_link") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
--       } && test -s conftest$ac_exeext &&
--       $as_test_x conftest$ac_exeext; then
-+       } && test -s conftest$ac_exeext && {
-+       test "$cross_compiling" = yes ||
-+       $as_test_x conftest$ac_exeext
-+       }; then
-   ac_cv_func_ldap_start_tls_s=yes
- else
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-       ac_cv_func_ldap_start_tls_s=no
- fi
-+rm -rf conftest.dSYM
- rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-       conftest$ac_exeext conftest.$ac_ext
- fi
--{ echo "$as_me:$LINENO: result: $ac_cv_func_ldap_start_tls_s" >&5
--echo "${ECHO_T}$ac_cv_func_ldap_start_tls_s" >&6; }
--if test $ac_cv_func_ldap_start_tls_s = yes; then
-+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_ldap_start_tls_s" >&5
-+$as_echo "$ac_cv_func_ldap_start_tls_s" >&6; }
-+if test "x$ac_cv_func_ldap_start_tls_s" = x""yes; then
-    SMART_CFLAGS="$SMART_CFLAGS -DHAVE_LDAP_START_TLS"
- fi
--          { echo "$as_me:$LINENO: checking for ldap_initialize" >&5
--echo $ECHO_N "checking for ldap_initialize... $ECHO_C" >&6; }
-+          { $as_echo "$as_me:$LINENO: checking for ldap_initialize" >&5
-+$as_echo_n "checking for ldap_initialize... " >&6; }
- if test "${ac_cv_func_ldap_initialize+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+  $as_echo_n "(cached) " >&6
- else
-   cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
-@@ -3619,39 +4257,43 @@ case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_link") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
--       } && test -s conftest$ac_exeext &&
--       $as_test_x conftest$ac_exeext; then
-+       } && test -s conftest$ac_exeext && {
-+       test "$cross_compiling" = yes ||
-+       $as_test_x conftest$ac_exeext
-+       }; then
-   ac_cv_func_ldap_initialize=yes
- else
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-       ac_cv_func_ldap_initialize=no
- fi
-+rm -rf conftest.dSYM
- rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-       conftest$ac_exeext conftest.$ac_ext
- fi
--{ echo "$as_me:$LINENO: result: $ac_cv_func_ldap_initialize" >&5
--echo "${ECHO_T}$ac_cv_func_ldap_initialize" >&6; }
--if test $ac_cv_func_ldap_initialize = yes; then
-+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_ldap_initialize" >&5
-+$as_echo "$ac_cv_func_ldap_initialize" >&6; }
-+if test "x$ac_cv_func_ldap_initialize" = x""yes; then
-    SMART_CFLAGS="$SMART_CFLAGS -DHAVE_LDAP_INITIALIZE"
- fi
--          { echo "$as_me:$LINENO: checking for ldap_int_tls_config" >&5
--echo $ECHO_N "checking for ldap_int_tls_config... $ECHO_C" >&6; }
-+          { $as_echo "$as_me:$LINENO: checking for ldap_int_tls_config" >&5
-+$as_echo_n "checking for ldap_int_tls_config... " >&6; }
- if test "${ac_cv_func_ldap_int_tls_config+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+  $as_echo_n "(cached) " >&6
- else
-   cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
-@@ -3704,32 +4346,36 @@ case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_link") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
--       } && test -s conftest$ac_exeext &&
--       $as_test_x conftest$ac_exeext; then
-+       } && test -s conftest$ac_exeext && {
-+       test "$cross_compiling" = yes ||
-+       $as_test_x conftest$ac_exeext
-+       }; then
-   ac_cv_func_ldap_int_tls_config=yes
- else
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-       ac_cv_func_ldap_int_tls_config=no
- fi
-+rm -rf conftest.dSYM
- rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-       conftest$ac_exeext conftest.$ac_ext
- fi
--{ echo "$as_me:$LINENO: result: $ac_cv_func_ldap_int_tls_config" >&5
--echo "${ECHO_T}$ac_cv_func_ldap_int_tls_config" >&6; }
--if test $ac_cv_func_ldap_int_tls_config = yes; then
-+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_ldap_int_tls_config" >&5
-+$as_echo "$ac_cv_func_ldap_int_tls_config" >&6; }
-+if test "x$ac_cv_func_ldap_int_tls_config" = x""yes; then
-    SMART_CFLAGS="$SMART_CFLAGS -DHAVE_LDAP_INT_TLS_CONFIG"
- fi
-@@ -3738,11 +4384,11 @@ fi
- for ac_func in ldap_set_rebind_proc
- do
--as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
--{ echo "$as_me:$LINENO: checking for $ac_func" >&5
--echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-+$as_echo_n "checking for $ac_func... " >&6; }
- if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+  $as_echo_n "(cached) " >&6
- else
-   cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
-@@ -3795,44 +4441,51 @@ case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_link") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
--       } && test -s conftest$ac_exeext &&
--       $as_test_x conftest$ac_exeext; then
-+       } && test -s conftest$ac_exeext && {
-+       test "$cross_compiling" = yes ||
-+       $as_test_x conftest$ac_exeext
-+       }; then
-   eval "$as_ac_var=yes"
- else
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-       eval "$as_ac_var=no"
- fi
-+rm -rf conftest.dSYM
- rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-       conftest$ac_exeext conftest.$ac_ext
- fi
--ac_res=`eval echo '${'$as_ac_var'}'`
--             { echo "$as_me:$LINENO: result: $ac_res" >&5
--echo "${ECHO_T}$ac_res" >&6; }
--if test `eval echo '${'$as_ac_var'}'` = yes; then
-+ac_res=`eval 'as_val=${'$as_ac_var'}
-+               $as_echo "$as_val"'`
-+             { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-+$as_echo "$ac_res" >&6; }
-+as_val=`eval 'as_val=${'$as_ac_var'}
-+               $as_echo "$as_val"'`
-+   if test "x$as_val" = x""yes; then
-   cat >>confdefs.h <<_ACEOF
--#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
- _ACEOF
- fi
- done
--        { echo "$as_me:$LINENO: checking whether ldap_set_rebind_proc takes 3 arguments" >&5
--echo $ECHO_N "checking whether ldap_set_rebind_proc takes 3 arguments... $ECHO_C" >&6; }
-+        { $as_echo "$as_me:$LINENO: checking whether ldap_set_rebind_proc takes 3 arguments" >&5
-+$as_echo_n "checking whether ldap_set_rebind_proc takes 3 arguments... " >&6; }
- if test "${ac_cv_ldap_set_rebind_proc+set}" = set; then
--  echo $ECHO_N "(cached) $ECHO_C" >&6
-+  $as_echo_n "(cached) " >&6
- else
-         cat >conftest.$ac_ext <<_ACEOF
-@@ -3858,20 +4511,21 @@ case "(($ac_try" in
-   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-   *) ac_try_echo=$ac_try;;
- esac
--eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-+$as_echo "$ac_try_echo") >&5
-   (eval "$ac_compile") 2>conftest.er1
-   ac_status=$?
-   grep -v '^ *+' conftest.er1 >conftest.err
-   rm -f conftest.er1
-   cat conftest.err >&5
--  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-        } && test -s conftest.$ac_objext; then
-   ac_cv_ldap_set_rebind_proc=3
- else
--  echo "$as_me: failed program was:" >&5
-+  $as_echo "$as_me: failed program was:" >&5
- sed 's/^/| /' conftest.$ac_ext >&5
-       ac_cv_ldap_set_rebind_proc=2
-@@ -3879,8 +4533,8 @@ fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
--{ echo "$as_me:$LINENO: result: $ac_cv_ldap_set_rebind_proc" >&5
--echo "${ECHO_T}$ac_cv_ldap_set_rebind_proc" >&6; }
-+{ $as_echo "$as_me:$LINENO: result: $ac_cv_ldap_set_rebind_proc" >&5
-+$as_echo "$ac_cv_ldap_set_rebind_proc" >&6; }
-       fi
-       targetname=rlm_ldap
-@@ -3891,21 +4545,21 @@ fi
- if test x"$fail" != x""; then
-       if test x"${enable_strict_dependencies}" = x"yes"; then
--              { { echo "$as_me:$LINENO: error: set --without-rlm_ldap to disable it explicitly." >&5
--echo "$as_me: error: set --without-rlm_ldap to disable it explicitly." >&2;}
-+              { { $as_echo "$as_me:$LINENO: error: set --without-rlm_ldap to disable it explicitly." >&5
-+$as_echo "$as_me: error: set --without-rlm_ldap to disable it explicitly." >&2;}
-    { (exit 1); exit 1; }; }
-       else
--              { echo "$as_me:$LINENO: WARNING: silently not building rlm_ldap." >&5
--echo "$as_me: WARNING: silently not building rlm_ldap." >&2;}
--              { echo "$as_me:$LINENO: WARNING: FAILURE: rlm_ldap requires: $fail." >&5
--echo "$as_me: WARNING: FAILURE: rlm_ldap requires: $fail." >&2;}
-+              { $as_echo "$as_me:$LINENO: WARNING: silently not building rlm_ldap." >&5
-+$as_echo "$as_me: WARNING: silently not building rlm_ldap." >&2;}
-+              { $as_echo "$as_me:$LINENO: WARNING: FAILURE: rlm_ldap requires: $fail." >&5
-+$as_echo "$as_me: WARNING: FAILURE: rlm_ldap requires: $fail." >&2;}
-               if test x"$headersuggestion" != x; then
--                      { echo "$as_me:$LINENO: WARNING: $headersuggestion" >&5
--echo "$as_me: WARNING: $headersuggestion" >&2;}
-+                      { $as_echo "$as_me:$LINENO: WARNING: $headersuggestion" >&5
-+$as_echo "$as_me: WARNING: $headersuggestion" >&2;}
-               fi
-               if test x"$libsuggestion" != x; then
--                      { echo "$as_me:$LINENO: WARNING: $libsuggestion" >&5
--echo "$as_me: WARNING: $libsuggestion" >&2;}
-+                      { $as_echo "$as_me:$LINENO: WARNING: $libsuggestion" >&5
-+$as_echo "$as_me: WARNING: $libsuggestion" >&2;}
-               fi
-               targetname=""
-       fi
-@@ -3966,11 +4620,12 @@ _ACEOF
-     case $ac_val in #(
-     *${as_nl}*)
-       case $ac_var in #(
--      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
--echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
-+      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
-+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-       esac
-       case $ac_var in #(
-       _ | IFS | as_nl) ;; #(
-+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-       *) $as_unset $ac_var ;;
-       esac ;;
-     esac
-@@ -4003,12 +4658,12 @@ echo "$as_me: WARNING: Cache variable $a
- if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-   if test -w "$cache_file"; then
-     test "x$cache_file" != "x/dev/null" &&
--      { echo "$as_me:$LINENO: updating cache $cache_file" >&5
--echo "$as_me: updating cache $cache_file" >&6;}
-+      { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
-+$as_echo "$as_me: updating cache $cache_file" >&6;}
-     cat confcache >$cache_file
-   else
--    { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
--echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-+    { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
-+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-   fi
- fi
- rm -f confcache
-@@ -4025,6 +4680,12 @@ test "x$exec_prefix" = xNONE && exec_pre
- # take arguments), then branch to the quote section.  Otherwise,
- # look for a macro that doesn't take arguments.
- ac_script='
-+:mline
-+/\\$/{
-+ N
-+ s,\\\n,,
-+ b mline
-+}
- t clear
- :clear
- s/^[   ]*#[    ]*define[       ][      ]*\([^  (][^    (]*([^)]*)\)[   ]*\(.*\)/-D\1=\2/g
-@@ -4054,7 +4715,7 @@ ac_ltlibobjs=
- for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-   # 1. Remove the extension, and $U if already installed.
-   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
--  ac_i=`echo "$ac_i" | sed "$ac_script"`
-+  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-   # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-   #    will be set to the directory where LIBOBJS objects are built.
-   ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-@@ -4067,11 +4728,12 @@ LTLIBOBJS=$ac_ltlibobjs
- : ${CONFIG_STATUS=./config.status}
-+ac_write_fail=0
- ac_clean_files_save=$ac_clean_files
- ac_clean_files="$ac_clean_files $CONFIG_STATUS"
--{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
--echo "$as_me: creating $CONFIG_STATUS" >&6;}
--cat >$CONFIG_STATUS <<_ACEOF
-+{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-+cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- #! $SHELL
- # Generated by $as_me.
- # Run this file to recreate the current configuration.
-@@ -4084,7 +4746,7 @@ ac_cs_silent=false
- SHELL=\${CONFIG_SHELL-$SHELL}
- _ACEOF
--cat >>$CONFIG_STATUS <<\_ACEOF
-+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- ## --------------------- ##
- ## M4sh Initialization.  ##
- ## --------------------- ##
-@@ -4094,7 +4756,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
- if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-   emulate sh
-   NULLCMD=:
--  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-   # is contrary to our usage.  Disable this feature.
-   alias -g '${1+"$@"}'='"$@"'
-   setopt NO_GLOB_SUBST
-@@ -4116,17 +4778,45 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTE
- as_cr_digits='0123456789'
- as_cr_alnum=$as_cr_Letters$as_cr_digits
--# The user is always right.
--if test "${PATH_SEPARATOR+set}" != set; then
--  echo "#! /bin/sh" >conf$$.sh
--  echo  "exit 0"   >>conf$$.sh
--  chmod +x conf$$.sh
--  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
--    PATH_SEPARATOR=';'
-+as_nl='
-+'
-+export as_nl
-+# Printing a long string crashes Solaris 7 /usr/bin/printf.
-+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-+  as_echo='printf %s\n'
-+  as_echo_n='printf %s'
-+else
-+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-+    as_echo_n='/usr/ucb/echo -n'
-   else
--    PATH_SEPARATOR=:
-+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-+    as_echo_n_body='eval
-+      arg=$1;
-+      case $arg in
-+      *"$as_nl"*)
-+      expr "X$arg" : "X\\(.*\\)$as_nl";
-+      arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-+      esac;
-+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-+    '
-+    export as_echo_n_body
-+    as_echo_n='sh -c $as_echo_n_body as_echo'
-   fi
--  rm -f conf$$.sh
-+  export as_echo_body
-+  as_echo='sh -c $as_echo_body as_echo'
-+fi
-+
-+# The user is always right.
-+if test "${PATH_SEPARATOR+set}" != set; then
-+  PATH_SEPARATOR=:
-+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-+      PATH_SEPARATOR=';'
-+  }
- fi
- # Support unset when possible.
-@@ -4142,8 +4832,6 @@ fi
- # there to prevent editors from complaining about space-tab.
- # (If _AS_PATH_WALK were called with IFS unset, it would disable word
- # splitting by setting IFS to empty value.)
--as_nl='
--'
- IFS=" ""      $as_nl"
- # Find who we are.  Look in the path if we contain no directory separator.
-@@ -4166,7 +4854,7 @@ if test "x$as_myself" = x; then
-   as_myself=$0
- fi
- if test ! -f "$as_myself"; then
--  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-   { (exit 1); exit 1; }
- fi
-@@ -4179,17 +4867,10 @@ PS2='> '
- PS4='+ '
- # NLS nuisances.
--for as_var in \
--  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
--  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
--  LC_TELEPHONE LC_TIME
--do
--  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
--    eval $as_var=C; export $as_var
--  else
--    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
--  fi
--done
-+LC_ALL=C
-+export LC_ALL
-+LANGUAGE=C
-+export LANGUAGE
- # Required to use basename.
- if expr a : '\(a\)' >/dev/null 2>&1 &&
-@@ -4211,7 +4892,7 @@ as_me=`$as_basename -- "$0" ||
- $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
--echo X/"$0" |
-+$as_echo X/"$0" |
-     sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-@@ -4262,7 +4943,7 @@ $as_unset CDPATH
-       s/-\n.*//
-     ' >$as_me.lineno &&
-   chmod +x "$as_me.lineno" ||
--    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-    { (exit 1); exit 1; }; }
-   # Don't try to exec as it changes $[0], causing all sort of problems
-@@ -4290,7 +4971,6 @@ case `echo -n x` in
- *)
-   ECHO_N='-n';;
- esac
--
- if expr a : '\(a\)' >/dev/null 2>&1 &&
-    test "X`expr 00001 : '.*\(...\)'`" = X001; then
-   as_expr=expr
-@@ -4303,19 +4983,22 @@ if test -d conf$$.dir; then
-   rm -f conf$$.dir/conf$$.file
- else
-   rm -f conf$$.dir
--  mkdir conf$$.dir
-+  mkdir conf$$.dir 2>/dev/null
- fi
--echo >conf$$.file
--if ln -s conf$$.file conf$$ 2>/dev/null; then
--  as_ln_s='ln -s'
--  # ... but there are two gotchas:
--  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
--  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
--  # In both cases, we have to default to `cp -p'.
--  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-+if (echo >conf$$.file) 2>/dev/null; then
-+  if ln -s conf$$.file conf$$ 2>/dev/null; then
-+    as_ln_s='ln -s'
-+    # ... but there are two gotchas:
-+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-+    # In both cases, we have to default to `cp -p'.
-+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-+      as_ln_s='cp -p'
-+  elif ln conf$$.file conf$$ 2>/dev/null; then
-+    as_ln_s=ln
-+  else
-     as_ln_s='cp -p'
--elif ln conf$$.file conf$$ 2>/dev/null; then
--  as_ln_s=ln
-+  fi
- else
-   as_ln_s='cp -p'
- fi
-@@ -4340,10 +5023,10 @@ else
-   as_test_x='
-     eval sh -c '\''
-       if test -d "$1"; then
--        test -d "$1/.";
-+      test -d "$1/.";
-       else
-       case $1 in
--        -*)set "./$1";;
-+      -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-       ???[sx]*):;;*)false;;esac;fi
-@@ -4366,7 +5049,7 @@ exec 6>&1
- # values after options handling.
- ac_log="
- This file was extended by $as_me, which was
--generated by GNU Autoconf 2.61.  Invocation command line was
-+generated by GNU Autoconf 2.63.  Invocation command line was
-   CONFIG_FILES    = $CONFIG_FILES
-   CONFIG_HEADERS  = $CONFIG_HEADERS
-@@ -4379,26 +5062,33 @@ on `(hostname || uname -n) 2>/dev/null |
- _ACEOF
--cat >>$CONFIG_STATUS <<_ACEOF
-+case $ac_config_files in *"
-+"*) set x $ac_config_files; shift; ac_config_files=$*;;
-+esac
-+
-+
-+
-+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- # Files that config.status was made for.
- config_files="$ac_config_files"
- _ACEOF
--cat >>$CONFIG_STATUS <<\_ACEOF
-+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- ac_cs_usage="\
- \`$as_me' instantiates files from templates according to the
- current configuration.
--Usage: $0 [OPTIONS] [FILE]...
-+Usage: $0 [OPTION]... [FILE]...
-   -h, --help       print this help, then exit
-   -V, --version    print version number and configuration settings, then exit
--  -q, --quiet      do not print progress messages
-+  -q, --quiet, --silent
-+                   do not print progress messages
-   -d, --debug      don't remove temporary files
-       --recheck    update $as_me by reconfiguring in the same conditions
--  --file=FILE[:TEMPLATE]
--                 instantiate the configuration file FILE
-+      --file=FILE[:TEMPLATE]
-+                   instantiate the configuration file FILE
- Configuration files:
- $config_files
-@@ -4406,23 +5096,23 @@ $config_files
- Report bugs to <bug-autoconf@gnu.org>."
- _ACEOF
--cat >>$CONFIG_STATUS <<_ACEOF
-+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_cs_version="\\
- config.status
--configured by $0, generated by GNU Autoconf 2.61,
--  with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-+configured by $0, generated by GNU Autoconf 2.63,
-+  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
--Copyright (C) 2006 Free Software Foundation, Inc.
-+Copyright (C) 2008 Free Software Foundation, Inc.
- This config.status script is free software; the Free Software Foundation
- gives unlimited permission to copy, distribute and modify it."
- ac_pwd='$ac_pwd'
- srcdir='$srcdir'
-+test -n "\$AWK" || AWK=awk
- _ACEOF
--cat >>$CONFIG_STATUS <<\_ACEOF
--# If no file are specified by the user, then we need to provide default
--# value.  By we need to know if files were specified by the user.
-+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-+# The default lists apply if the user does not specify any file.
- ac_need_defaults=:
- while test $# != 0
- do
-@@ -4444,21 +5134,24 @@ do
-   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-     ac_cs_recheck=: ;;
-   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
--    echo "$ac_cs_version"; exit ;;
-+    $as_echo "$ac_cs_version"; exit ;;
-   --debug | --debu | --deb | --de | --d | -d )
-     debug=: ;;
-   --file | --fil | --fi | --f )
-     $ac_shift
--    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
-+    case $ac_optarg in
-+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-+    esac
-+    CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
-     ac_need_defaults=false;;
-   --he | --h |  --help | --hel | -h )
--    echo "$ac_cs_usage"; exit ;;
-+    $as_echo "$ac_cs_usage"; exit ;;
-   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-   | -silent | --silent | --silen | --sile | --sil | --si | --s)
-     ac_cs_silent=: ;;
-   # This is an error.
--  -*) { echo "$as_me: error: unrecognized option: $1
-+  -*) { $as_echo "$as_me: error: unrecognized option: $1
- Try \`$0 --help' for more information." >&2
-    { (exit 1); exit 1; }; } ;;
-@@ -4477,30 +5170,32 @@ if $ac_cs_silent; then
- fi
- _ACEOF
--cat >>$CONFIG_STATUS <<_ACEOF
-+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- if \$ac_cs_recheck; then
--  echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
--  CONFIG_SHELL=$SHELL
-+  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-+  shift
-+  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-+  CONFIG_SHELL='$SHELL'
-   export CONFIG_SHELL
--  exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-+  exec "\$@"
- fi
- _ACEOF
--cat >>$CONFIG_STATUS <<\_ACEOF
-+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- exec 5>>config.log
- {
-   echo
-   sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
- ## Running $as_me. ##
- _ASBOX
--  echo "$ac_log"
-+  $as_echo "$ac_log"
- } >&5
- _ACEOF
--cat >>$CONFIG_STATUS <<_ACEOF
-+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- _ACEOF
--cat >>$CONFIG_STATUS <<\_ACEOF
-+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- # Handling of arguments.
- for ac_config_target in $ac_config_targets
-@@ -4508,8 +5203,8 @@ do
-   case $ac_config_target in
-     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
--  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
--echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
-+  *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-+$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
-    { (exit 1); exit 1; }; };;
-   esac
- done
-@@ -4548,114 +5243,143 @@ $debug ||
-   (umask 077 && mkdir "$tmp")
- } ||
- {
--   echo "$me: cannot create a temporary directory in ." >&2
-+   $as_echo "$as_me: cannot create a temporary directory in ." >&2
-    { (exit 1); exit 1; }
- }
--#
--# Set up the sed scripts for CONFIG_FILES section.
--#
--
--# No need to generate the scripts if there are no CONFIG_FILES.
--# This happens for instance when ./config.status config.h
-+# Set up the scripts for CONFIG_FILES section.
-+# No need to generate them if there are no CONFIG_FILES.
-+# This happens for instance with `./config.status config.h'.
- if test -n "$CONFIG_FILES"; then
--_ACEOF
-+ac_cr='\r'
-+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-+  ac_cs_awk_cr='\\r'
-+else
-+  ac_cs_awk_cr=$ac_cr
-+fi
-+
-+echo 'BEGIN {' >"$tmp/subs1.awk" &&
-+_ACEOF
-+{
-+  echo "cat >conf$$subs.awk <<_ACEOF" &&
-+  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-+  echo "_ACEOF"
-+} >conf$$subs.sh ||
-+  { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-+   { (exit 1); exit 1; }; }
-+ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
- ac_delim='%!_!# '
- for ac_last_try in false false false false false :; do
--  cat >conf$$subs.sed <<_ACEOF
--SHELL!$SHELL$ac_delim
--PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
--PACKAGE_NAME!$PACKAGE_NAME$ac_delim
--PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
--PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
--PACKAGE_STRING!$PACKAGE_STRING$ac_delim
--PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
--exec_prefix!$exec_prefix$ac_delim
--prefix!$prefix$ac_delim
--program_transform_name!$program_transform_name$ac_delim
--bindir!$bindir$ac_delim
--sbindir!$sbindir$ac_delim
--libexecdir!$libexecdir$ac_delim
--datarootdir!$datarootdir$ac_delim
--datadir!$datadir$ac_delim
--sysconfdir!$sysconfdir$ac_delim
--sharedstatedir!$sharedstatedir$ac_delim
--localstatedir!$localstatedir$ac_delim
--includedir!$includedir$ac_delim
--oldincludedir!$oldincludedir$ac_delim
--docdir!$docdir$ac_delim
--infodir!$infodir$ac_delim
--htmldir!$htmldir$ac_delim
--dvidir!$dvidir$ac_delim
--pdfdir!$pdfdir$ac_delim
--psdir!$psdir$ac_delim
--libdir!$libdir$ac_delim
--localedir!$localedir$ac_delim
--mandir!$mandir$ac_delim
--DEFS!$DEFS$ac_delim
--ECHO_C!$ECHO_C$ac_delim
--ECHO_N!$ECHO_N$ac_delim
--ECHO_T!$ECHO_T$ac_delim
--LIBS!$LIBS$ac_delim
--build_alias!$build_alias$ac_delim
--host_alias!$host_alias$ac_delim
--target_alias!$target_alias$ac_delim
--CC!$CC$ac_delim
--CFLAGS!$CFLAGS$ac_delim
--LDFLAGS!$LDFLAGS$ac_delim
--CPPFLAGS!$CPPFLAGS$ac_delim
--ac_ct_CC!$ac_ct_CC$ac_delim
--EXEEXT!$EXEEXT$ac_delim
--OBJEXT!$OBJEXT$ac_delim
--edir!$edir$ac_delim
--ldap_ldflags!$ldap_ldflags$ac_delim
--ldap_cflags!$ldap_cflags$ac_delim
--targetname!$targetname$ac_delim
--LIBOBJS!$LIBOBJS$ac_delim
--LTLIBOBJS!$LTLIBOBJS$ac_delim
--_ACEOF
-+  . ./conf$$subs.sh ||
-+    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-+   { (exit 1); exit 1; }; }
--  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 50; then
-+  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-+  if test $ac_delim_n = $ac_delim_num; then
-     break
-   elif $ac_last_try; then
--    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
--echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-+    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-    { (exit 1); exit 1; }; }
-   else
-     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-   fi
- done
-+rm -f conf$$subs.sh
--ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
--if test -n "$ac_eof"; then
--  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
--  ac_eof=`expr $ac_eof + 1`
--fi
--
--cat >>$CONFIG_STATUS <<_ACEOF
--cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
--/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
--_ACEOF
--sed '
--s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
--s/^/s,@/; s/!/@,|#_!!_#|/
--:n
--t n
--s/'"$ac_delim"'$/,g/; t
--s/$/\\/; p
--N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
--' >>$CONFIG_STATUS <conf$$subs.sed
--rm -f conf$$subs.sed
--cat >>$CONFIG_STATUS <<_ACEOF
--:end
--s/|#_!!_#|//g
--CEOF$ac_eof
-+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-+cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
- _ACEOF
-+sed -n '
-+h
-+s/^/S["/; s/!.*/"]=/
-+p
-+g
-+s/^[^!]*!//
-+:repl
-+t repl
-+s/'"$ac_delim"'$//
-+t delim
-+:nl
-+h
-+s/\(.\{148\}\).*/\1/
-+t more1
-+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-+p
-+n
-+b repl
-+:more1
-+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-+p
-+g
-+s/.\{148\}//
-+t nl
-+:delim
-+h
-+s/\(.\{148\}\).*/\1/
-+t more2
-+s/["\\]/\\&/g; s/^/"/; s/$/"/
-+p
-+b
-+:more2
-+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-+p
-+g
-+s/.\{148\}//
-+t delim
-+' <conf$$subs.awk | sed '
-+/^[^""]/{
-+  N
-+  s/\n//
-+}
-+' >>$CONFIG_STATUS || ac_write_fail=1
-+rm -f conf$$subs.awk
-+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-+_ACAWK
-+cat >>"\$tmp/subs1.awk" <<_ACAWK &&
-+  for (key in S) S_is_set[key] = 1
-+  FS = "\a"
-+}
-+{
-+  line = $ 0
-+  nfields = split(line, field, "@")
-+  substed = 0
-+  len = length(field[1])
-+  for (i = 2; i < nfields; i++) {
-+    key = field[i]
-+    keylen = length(key)
-+    if (S_is_set[key]) {
-+      value = S[key]
-+      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-+      len += length(value) + length(field[++i])
-+      substed = 1
-+    } else
-+      len += 1 + keylen
-+  }
-+
-+  print line
-+}
-+
-+_ACAWK
-+_ACEOF
-+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-+  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-+else
-+  cat
-+fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-+  || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
-+$as_echo "$as_me: error: could not setup config files machinery" >&2;}
-+   { (exit 1); exit 1; }; }
-+_ACEOF
- # VPATH may cause trouble with some makes, so we remove $(srcdir),
- # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-@@ -4672,19 +5396,21 @@ s/^[^=]*=[      ]*$//
- }'
- fi
--cat >>$CONFIG_STATUS <<\_ACEOF
-+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- fi # test -n "$CONFIG_FILES"
--for ac_tag in  :F $CONFIG_FILES
-+eval set X "  :F $CONFIG_FILES      "
-+shift
-+for ac_tag
- do
-   case $ac_tag in
-   :[FHLC]) ac_mode=$ac_tag; continue;;
-   esac
-   case $ac_mode$ac_tag in
-   :[FHL]*:*);;
--  :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
--echo "$as_me: error: Invalid tag $ac_tag." >&2;}
-+  :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
-+$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
-    { (exit 1); exit 1; }; };;
-   :[FH]-) ac_tag=-:-;;
-   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-@@ -4713,26 +5439,38 @@ echo "$as_me: error: Invalid tag $ac_tag
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
--         { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
--echo "$as_me: error: cannot find input file: $ac_f" >&2;}
-+         { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-+$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
-    { (exit 1); exit 1; }; };;
-       esac
--      ac_file_inputs="$ac_file_inputs $ac_f"
-+      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-+      ac_file_inputs="$ac_file_inputs '$ac_f'"
-     done
-     # Let's still pretend it is `configure' which instantiates (i.e., don't
-     # use $as_me), people would be surprised to read:
-     #    /* config.h.  Generated by config.status.  */
--    configure_input="Generated from "`IFS=:
--        echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
-+    configure_input='Generated from '`
-+        $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-+      `' by configure.'
-     if test x"$ac_file" != x-; then
-       configure_input="$ac_file.  $configure_input"
--      { echo "$as_me:$LINENO: creating $ac_file" >&5
--echo "$as_me: creating $ac_file" >&6;}
-+      { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
-+$as_echo "$as_me: creating $ac_file" >&6;}
-     fi
-+    # Neutralize special characters interpreted by sed in replacement strings.
-+    case $configure_input in #(
-+    *\&* | *\|* | *\\* )
-+       ac_sed_conf_input=`$as_echo "$configure_input" |
-+       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-+    *) ac_sed_conf_input=$configure_input;;
-+    esac
-     case $ac_tag in
--    *:-:* | *:-) cat >"$tmp/stdin";;
-+    *:-:* | *:-) cat >"$tmp/stdin" \
-+      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-+$as_echo "$as_me: error: could not create $ac_file" >&2;}
-+   { (exit 1); exit 1; }; } ;;
-     esac
-     ;;
-   esac
-@@ -4742,7 +5480,7 @@ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
--echo X"$ac_file" |
-+$as_echo X"$ac_file" |
-     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-@@ -4768,7 +5506,7 @@ echo X"$ac_file" |
-     as_dirs=
-     while :; do
-       case $as_dir in #(
--      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
-+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-       *) as_qdir=$as_dir;;
-       esac
-       as_dirs="'$as_qdir' $as_dirs"
-@@ -4777,7 +5515,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
--echo X"$as_dir" |
-+$as_echo X"$as_dir" |
-     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-@@ -4798,17 +5536,17 @@ echo X"$as_dir" |
-       test -d "$as_dir" && break
-     done
-     test -z "$as_dirs" || eval "mkdir $as_dirs"
--  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
--echo "$as_me: error: cannot create directory $as_dir" >&2;}
-+  } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
-    { (exit 1); exit 1; }; }; }
-   ac_builddir=.
- case "$ac_dir" in
- .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *)
--  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-   # A ".." for each directory in $ac_dir_suffix.
--  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
-+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-   case $ac_top_builddir_sub in
-   "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-   *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-@@ -4844,12 +5582,13 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_
- _ACEOF
--cat >>$CONFIG_STATUS <<\_ACEOF
-+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- # If the template does not know about datarootdir, expand it.
- # FIXME: This hack should be removed a few years after 2.60.
- ac_datarootdir_hack=; ac_datarootdir_seen=
--case `sed -n '/datarootdir/ {
-+ac_sed_dataroot='
-+/datarootdir/ {
-   p
-   q
- }
-@@ -4858,13 +5597,14 @@ case `sed -n '/datarootdir/ {
- /@infodir@/p
- /@localedir@/p
- /@mandir@/p
--' $ac_file_inputs` in
-+'
-+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
- *datarootdir*) ac_datarootdir_seen=yes;;
- *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
--  { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
--echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-+  { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
- _ACEOF
--cat >>$CONFIG_STATUS <<_ACEOF
-+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-   ac_datarootdir_hack='
-   s&@datadir@&$datadir&g
-   s&@docdir@&$docdir&g
-@@ -4878,15 +5618,16 @@ _ACEOF
- # Neutralize VPATH when `$srcdir' = `.'.
- # Shell code in configure.ac might set extrasub.
- # FIXME: do we really want to maintain this feature?
--cat >>$CONFIG_STATUS <<_ACEOF
--  sed "$ac_vpsub
-+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-+ac_sed_extra="$ac_vpsub
- $extrasub
- _ACEOF
--cat >>$CONFIG_STATUS <<\_ACEOF
-+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
- :t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b
--s&@configure_input@&$configure_input&;t t
-+s|@configure_input@|$ac_sed_conf_input|;t t
- s&@top_builddir@&$ac_top_builddir_sub&;t t
-+s&@top_build_prefix@&$ac_top_build_prefix&;t t
- s&@srcdir@&$ac_srcdir&;t t
- s&@abs_srcdir@&$ac_abs_srcdir&;t t
- s&@top_srcdir@&$ac_top_srcdir&;t t
-@@ -4895,21 +5636,28 @@ s&@builddir@&$ac_builddir&;t t
- s&@abs_builddir@&$ac_abs_builddir&;t t
- s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
- $ac_datarootdir_hack
--" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out
-+"
-+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-+  || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-+$as_echo "$as_me: error: could not create $ac_file" >&2;}
-+   { (exit 1); exit 1; }; }
- test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-   { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-   { ac_out=`sed -n '/^[        ]*datarootdir[  ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
--  { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-+  { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
- which seems to be undefined.  Please make sure it is defined." >&5
--echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
- which seems to be undefined.  Please make sure it is defined." >&2;}
-   rm -f "$tmp/stdin"
-   case $ac_file in
--  -) cat "$tmp/out"; rm -f "$tmp/out";;
--  *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
--  esac
-+  -) cat "$tmp/out" && rm -f "$tmp/out";;
-+  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
-+  esac \
-+  || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
-+$as_echo "$as_me: error: could not create $ac_file" >&2;}
-+   { (exit 1); exit 1; }; }
-  ;;
-@@ -4924,6 +5672,11 @@ _ACEOF
- chmod +x $CONFIG_STATUS
- ac_clean_files=$ac_clean_files_save
-+test $ac_write_fail = 0 ||
-+  { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
-+$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
-+   { (exit 1); exit 1; }; }
-+
- # configure is writing to config.log, and then calls config.status.
- # config.status does its own redirection, appending to config.log.
-@@ -4945,5 +5698,9 @@ if test "$no_create" != yes; then
-   # would make configure fail if this is the last instruction.
-   $ac_cs_success || { (exit 1); exit 1; }
- fi
-+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-+  { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-+fi
-Index: freeradius-server-2.2.7/src/modules/rlm_ldap/configure.in
-===================================================================
---- freeradius-server-2.2.7.orig/src/modules/rlm_ldap/configure.in
-+++ freeradius-server-2.2.7/src/modules/rlm_ldap/configure.in
-@@ -87,6 +87,9 @@ if test x$with_[]modname != xno; then
-                        )
-       fi
-+      FR_SMART_CHECK_LIB(sasl, sasl_encode)
-+      FR_SMART_CHECK_LIB(lber, ber_init)
-+
-       dnl Try only "-lldap_r" or "-lldap"
-       dnl Static linking will probably not work, but nobody ever
-       dnl complained about it.
diff --git a/net/freeradius2/patches/008-honor_ccpflags.patch b/net/freeradius2/patches/008-honor_ccpflags.patch
deleted file mode 100644 (file)
index 7e6d81e..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: freeradius-server-2.2.7/src/modules/rules.mak
-===================================================================
---- freeradius-server-2.2.7.orig/src/modules/rules.mak
-+++ freeradius-server-2.2.7/src/modules/rules.mak
-@@ -63,10 +63,10 @@ $(LT_OBJS): $(SERVER_HEADERS)
- #
- #######################################################################
- %.lo: %.c
--      $(LIBTOOL) --mode=compile --tag=CC $(CC) $(CFLAGS) $(RLM_CFLAGS) -c $<
-+      $(LIBTOOL) --mode=compile --tag=CC $(CC) $(CFLAGS) $(CPPFLAGS) $(RLM_CFLAGS) -c $<
- %.lo: %.cpp
--      $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(CFLAGS) $(RLM_CFLAGS) -c $<
-+      $(LIBTOOL) --mode=compile --tag=CXX $(CXX) $(CFLAGS) $(CPPFLAGS) $(RLM_CFLAGS) -c $<
- ifneq ($(TARGET),)
- #######################################################################
diff --git a/net/freeradius2/patches/010-disbale-openssl-check.patch b/net/freeradius2/patches/010-disbale-openssl-check.patch
deleted file mode 100644 (file)
index 483221d..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-Index: freeradius-server-2.2.7/configure.in
-===================================================================
---- freeradius-server-2.2.7.orig/configure.in
-+++ freeradius-server-2.2.7/configure.in
-@@ -820,35 +820,6 @@ if test "x$WITH_OPENSSL" = xyes; then
-     OPENSSL_INCLUDE="-DOPENSSL_NO_KRB5"
-   fi
--  dnl #
--  dnl #  Now check that the header versions match the library
--  dnl #
--  AC_MSG_CHECKING([OpenSSL library and header version consistency])
--  AC_RUN_IFELSE(
--    [AC_LANG_PROGRAM(
--      [[
--        #include <stdio.h>
--        #include <openssl/opensslv.h>
--        #include <openssl/crypto.h>
--      ]],
--      [[
--        if (SSLeay() == OPENSSL_VERSION_NUMBER) {
--          return 0;
--        } else {
--          printf("library: %lx header: %lx... ", (unsigned long) SSLeay(), (unsigned long) OPENSSL_VERSION_NUMBER);
--          return 1;
--        }
--      ]]
--    )],
--    [
--      AC_MSG_RESULT(yes)
--    ],
--    [
--      AC_MSG_RESULT(no)
--      AC_MSG_FAILURE([OpenSSL library version does not match header version])
--    ]
--  )
--
-   if test "x$OPENSSL_LIBS" = x; then
-     LIBS=$old_LIBS
-     LDFLAGS="$old_LDFLAGS"
index 31344e3955dae2601d7f892dd9edb8018a6badd2..e10ee615e12c8eebbf0add485caadd737a11bd71 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=git
-PKG_VERSION:=2.13.0
+PKG_VERSION:=2.13.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/software/scm/git/
-PKG_HASH:=4bbf2ab6f2341253a38f95306ec7936833eb1c42572da5c1fa61f0abb2191258
+PKG_HASH:=0d10ac3751466f81652b62cbda83cc8d8ffd014911462138e039f176e413dde5
 
 PKG_INSTALL:=1
 PKG_BUILD_PARALLEL:=1
index a28ecc5878e1655dddc56bbf93689b96c51e916a..a73ee666b069d6a3fd975cd9818a7205e7a547da 100644 (file)
@@ -1,10 +1,10 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gnunet
-PKG_SOURCE_VERSION:=55b06f18c66ede06a2cf437b652de3a7c75c902a
-PKG_MIRROR_HASH:=c19c5ae2c583aee69a66f35140bd41336ec4944fa6e99e3a47498d5c50aeaf11
+PKG_SOURCE_VERSION:=556ccd6d483b3678867c3829e6979c307df04450
+PKG_MIRROR_HASH:=5ecf15575eccc30135b2dc9871d88de0b32b593dc79cf5b0632a4fe2ffd711df
 
-PKG_VERSION:=0.10.2-git-20170608-$(PKG_SOURCE_VERSION)
+PKG_VERSION:=0.10.2-git-20170626-$(PKG_SOURCE_VERSION)
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
@@ -145,7 +145,7 @@ define Package/gnunet/install
                $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgnunet$$$$lib.so* $(1)/usr/lib/ ; \
        done )
 
-       ( for plug in ats_proportional block_dht block_regex   \
+       ( for plug in ats_proportional block_dht block_regex block_revocation  \
            transport_tcp transport_udp transport_unix; do \
                $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/gnunet/libgnunet_plugin_$$$$plug*.so $(1)/usr/lib/gnunet ; \
        done )
@@ -192,6 +192,9 @@ PLUGIN_conversation:=gnsrecord_conversation
 LIBEXEC_conversation:=helper-audio-playback helper-audio-record service-conversation
 CONF_conversation:=conversation
 
+BIN_dht-cli:=dht-get dht-put dht-monitor
+PLUGIN_dht-cli:=block_test
+
 DEPENDS_hostlist:=+libmicrohttpd +libgnurl +ca-certificates
 LIBEXEC_hostlist:=daemon-hostlist
 CONF_hostlist:=hostlist
@@ -262,6 +265,7 @@ BIN_social:=identity-token multicast social
 LIB_social:=consensus identityprovider multicast psyc psycstore psycutil secretsharing social
 LIBEXEC_social:=service-consensus service-evil-consensus service-identity-provider service-multicast service-psyc service-psycstore service-secretsharing service-social
 CONF_social:=consensus multicast psyc psycstore secretsharing social
+PLUGINS_social:=block_consensus
 
 PLUGIN_dhtcache-heap:=datacache_heap
 CONFLICTS_dhtcache-heap:=gnunet-dhtcache-pgsql gnunet-dhtcache-sqlite
@@ -387,6 +391,7 @@ $(eval $(call PostInstFixSUIDPerms,gnunet-vpn))
 $(eval $(call BuildPackage,gnunet))
 $(eval $(call BuildComponent,conversation,conversation component,))
 $(eval $(call BuildComponent,datastore,data storage components,))
+$(eval $(call BuildComponent,dht-cli,DHT command line clients,))
 # $(eval $(call BuildComponent,dv,distance-vector routing component,y))
 $(eval $(call BuildComponent,experiments,experimental components,))
 $(eval $(call BuildComponent,fs,file-sharing components,))
index 5975313fb01aced83cc3e1759f0151893173092c..722620c699de8d861a1f3ee2f98d0bbdee295521 100755 (executable)
@@ -10,6 +10,7 @@ GNUNET_HOME=/var/run/gnunet
 # LOGFILE=$GNUNET_HOME/gnunet.log
 CONFIGFILE=$GNUNET_HOME/gnunet.conf
 SUID_ROOT_HELPERS="exit nat-server nat-client transport-bluetooth transport-wlan vpn"
+EXTRA_COMMANDS="restart_transport"
 
 chmodown_execbin() {
        execname=/usr/lib/gnunet/libexec/gnunet-$1
@@ -34,6 +35,8 @@ fix_libexec_permissions() {
 }
 
 prepare_config() {
+       local had_exit_service=0;
+
        if [ ! -e "$GNUNET_HOME" ]; then
                mkdir -p $GNUNET_HOME
                chown gnunet:gnunet $GNUNET_HOME
@@ -80,7 +83,10 @@ prepare_config() {
                local __TYPE="$1"
                local __NAME="${2/_/-}"
                [ "${__TYPE}" = "gnunet-config" ] && _gnunet_section="${__NAME}"
-               [ "${__TYPE}" = "gnunet-exit-service" ] && _gnunet_section="${__NAME}.gnunet."
+               [ "${__TYPE}" = "gnunet-exit-service" ] && {
+                       had_exit_service=1
+                       _gnunet_section="${__NAME}.gnunet."
+               }
        }
        option_cb() {
                # $1    name of variable
@@ -89,19 +95,35 @@ prepare_config() {
                local __VAL="$2"
                gnunet-config -c $CONFIGFILE -w -s ${_gnunet_section} -o ${__OPT} -V "${__VAL}"
        }
+
        config_load gnunet
 
+       [ "$had_exit_service" -eq 1 ] && gnunet-config -c $CONFIGFILE -w -s exit -o FORCESTART -V YES
+
        return 0
 }
 
+restart_transport() {
+       gnunet-arm -c $CONFIGFILE -k transport
+       gnunet-arm -c $CONFIGFILE -i transport
+}
+
 start_service() {
        fix_libexec_permissions
        prepare_config
 
        procd_open_instance
        procd_set_param user gnunet
+#      procd_set_param env GNUNET_LOG="dht;;;;info"
+       procd_set_param stderr 1
        procd_set_param command $PROG -c $CONFIGFILE
        [ "$LOGFILE" ] && procd_append_param command -l $LOGFILE
        procd_set_param respawn
        procd_close_instance
 }
+
+service_triggers()
+{
+       procd_add_reload_trigger "gnunet"
+       procd_add_raw_trigger "interface.*.up" 3000 /etc/init.d/gnunet restart_transport
+}
index 5c02fb25d112b6ea0757253cbd9325382b9870d7..b01ec5ca8179ff60ee0012967be15cd71df1fb84 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gnurl
-PKG_VERSION:=7.53.1
+PKG_VERSION:=7.54.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://gnunet.org/sites/default/files
 
-PKG_HASH:=cdac891a3253022b7fd75f6c71b279b5f35cc109f0b61d8068c79bca081802aa
+PKG_HASH:=4481f50a6c2bf3f1e161743333cb1bafea29dffc3cf535137bba2428ca90eb6b
 
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=COPYING
diff --git a/net/gnurl/patches/200-no_docs_tests.patch b/net/gnurl/patches/200-no_docs_tests.patch
deleted file mode 100644 (file)
index 25089eb..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -153,7 +153,7 @@ CLEANFILES = $(VC6_LIBDSP) $(VC6_SRCDSP)
- bin_SCRIPTS = gnurl-config
- SUBDIRS = lib src include
--DIST_SUBDIRS = $(SUBDIRS) tests packages docs scripts
-+DIST_SUBDIRS = $(SUBDIRS) packages
- pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = libgnurl.pc
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -612,7 +612,7 @@ CLEANFILES = $(VC6_LIBDSP) $(VC6_SRCDSP)
- bin_SCRIPTS = gnurl-config
- SUBDIRS = lib src include
--DIST_SUBDIRS = $(SUBDIRS) tests packages docs scripts
-+DIST_SUBDIRS = $(SUBDIRS) packages
- pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = libgnurl.pc
- LIB_VAUTH_CFILES = vauth/vauth.c vauth/cleartext.c vauth/cram.c         \
index 792bb835ebba898a445781e4a4279897aed6796f..100a3d105cab93c3f3b1585ceeb28d5b76b3738d 100644 (file)
@@ -15,7 +15,7 @@ PKG_LICENSE:=GPL-2.0
 PKG_LICENSE_FILES:=COPYING
 
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL=https://github.com/troglobit/inadyn
+PKG_SOURCE_URL:=https://github.com/troglobit/inadyn
 PKG_SOURCE_SUBDIR=$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE_VERSION:=3b9ae1c22f96194232cc86ded33af9e0a1602af2
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
index a5663db7301bd311682dae85545471752924fb21..e526265a6b4e890a889d6a8d2a387525c34d52aa 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=irssi
-PKG_VERSION:=1.0.2
-PKG_RELEASE:=2
+PKG_VERSION:=1.0.4
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=https://github.com/irssi/irssi/releases/download/1.0.2/
-PKG_HASH:=5c1c3cc2caf103aad073fadeb000e0f8cb3b416833a7f43ceb8bd9fcf275fbe9
+PKG_SOURCE_URL:=https://github.com/irssi/irssi/releases/download/1.0.4/
+PKG_HASH:=b85c07dbafe178213eccdc69f5f8f0ac024dea01c67244668f91ec1c06b986ca
 
 PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
index 4e6d79fcdd90a96c4ccd7339d5f77c716c8ec39a..f7779efa04ded266b027edd00251978347ec226e 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lighttpd
 PKG_VERSION:=1.4.45
-PKG_RELEASE:=5
+PKG_RELEASE:=7
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://download.lighttpd.net/lighttpd/releases-1.4.x
index d1dfec8f839ac6c97d744ba3f6f2415327d4d3f3..84a3a18dfe8ca24696ae27100a8d17d861a2e428 100644 (file)
@@ -28,3 +28,6 @@ start_service() {
        procd_close_instance
 }
 
+reload_service() {
+       procd_send_signal lighttpd
+}
diff --git a/net/lighttpd/patches/0001-mod_cgi-RFC3875-CGI-local-redir-strict-adherence-210.patch b/net/lighttpd/patches/0001-mod_cgi-RFC3875-CGI-local-redir-strict-adherence-210.patch
new file mode 100644 (file)
index 0000000..9b797ac
--- /dev/null
@@ -0,0 +1,62 @@
+From dde50f1939e22926d17342b5d812e9a3034e7e98 Mon Sep 17 00:00:00 2001
+From: Glenn Strauss <gstrauss@gluelogic.com>
+Date: Wed, 25 Jan 2017 11:22:39 -0500
+Subject: [PATCH] [mod_cgi] RFC3875 CGI local-redir strict adherence (#2108)
+
+RFC3875 CGI local-redir stricter adherence
+
+do not apply local-redir if any response headers besides "Location"
+do not apply local-redir if any response body has been received
+(though it might not have been received yet, and we do not wait to find
+ out, if lighttpd is configured to stream response body back to client)
+
+x-ref:
+  RFC3875 CGI 1.1 specification section 6.2.2 Local Redirect Response
+  http://www.ietf.org/rfc/rfc3875
+  "CGI local redirect not implemented correctly"
+  https://redmine.lighttpd.net/issues/2108
+---
+ src/mod_cgi.c | 25 ++++++++++++++++++++++++-
+ 1 file changed, 24 insertions(+), 1 deletion(-)
+
+--- a/src/mod_cgi.c
++++ b/src/mod_cgi.c
+@@ -527,6 +527,27 @@ static int cgi_demux_response(server *sr
+                                       /* parse the response header */
+                                       cgi_response_parse(srv, con, p, hctx->response_header);
++                                      /* [RFC3875] 6.2.2 Local Redirect Response
++                                       *
++                                       *    The CGI script can return a URI path and query-string
++                                       *    ('local-pathquery') for a local resource in a Location header field.
++                                       *    This indicates to the server that it should reprocess the request
++                                       *    using the path specified.
++                                       *
++                                       *      local-redir-response = local-Location NL
++                                       *
++                                       *    The script MUST NOT return any other header fields or a message-body,
++                                       *    and the server MUST generate the response that it would have produced
++                                       *    in response to a request containing the URL
++                                       *
++                                       *      scheme "://" server-name ":" server-port local-pathquery
++                                       *
++                                       * (Might not have begun to receive body yet, but do skip local-redir
++                                       *  if we already have started receiving a response body (blen > 0))
++                                       * (Also, while not required by the RFC, do not send local-redir back
++                                       *  to same URL, since CGI should have handled it internally if it
++                                       *  really wanted to do that internally)
++                                       */
+                                       if (con->http_status >= 300 && con->http_status < 400) {
+                                               /*(con->parsed_response & HTTP_LOCATION)*/
+                                               size_t ulen = buffer_string_length(con->uri.path);
+@@ -535,7 +556,9 @@ static int cgi_demux_response(server *sr
+                                                   && ds->value->ptr[0] == '/'
+                                                   && (0 != strncmp(ds->value->ptr, con->uri.path->ptr, ulen)
+                                                       || (ds->value->ptr[ulen] != '\0' && ds->value->ptr[ulen] != '/' && ds->value->ptr[ulen] != '?'))
+-                                                  && NULL == array_get_element(con->response.headers, "Set-Cookie")) {
++                                                  && 0 == blen
++                                                  && !(con->parsed_response & HTTP_STATUS) /* no "Status" or NPH response line */
++                                                  && 1 == con->response.headers->used) {
+                                                       if (++con->loops_per_request > 5) {
+                                                               log_error_write(srv, __FILE__, __LINE__, "sb", "too many internal loops while processing request:", con->request.orig_uri);
+                                                               con->http_status = 500; /* Internal Server Error */
diff --git a/net/lighttpd/patches/0001-mod_cgi-fix-CGI-local-redir-w-url.rewrite-once-fixes.patch b/net/lighttpd/patches/0001-mod_cgi-fix-CGI-local-redir-w-url.rewrite-once-fixes.patch
deleted file mode 100644 (file)
index a6bbcbe..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-From: Glenn Strauss <gstrauss@gluelogic.com>
-Subject: [PATCH] [mod_cgi] fix CGI local-redir w/ url.rewrite-once (fixes
- #2793)
-
-x-ref:
-  "1.4.40 regression: broken redirect (using Location) between url.rewrite-once URLs"
-  https://redmine.lighttpd.net/issues/2793
----
- src/mod_cgi.c | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
---- a/src/mod_cgi.c
-+++ b/src/mod_cgi.c
-@@ -560,8 +560,7 @@ static int cgi_demux_response(server *sr
-                                                       }
-                                                       connection_response_reset(srv, con); /*(includes con->http_status = 0)*/
--
--                                                      con->mode = DIRECT;
-+                                                      plugins_call_connection_reset(srv, con);
-                                                       return FDEVENT_HANDLED_COMEBACK;
-                                               }
-                                       }
-@@ -780,7 +779,7 @@ static int cgi_recv_response(server *srv
-                       /* if we get a IN|HUP and have read everything don't exec the close twice */
-                       return HANDLER_FINISHED;
-               case FDEVENT_HANDLED_COMEBACK:
--                      cgi_connection_close(srv, hctx);
-+                      /*cgi_connection_close(srv, hctx);*//*(already cleaned up and hctx is now invalid)*/
-                       return HANDLER_COMEBACK;
-               case FDEVENT_HANDLED_ERROR:
-                       log_error_write(srv, __FILE__, __LINE__, "s", "demuxer failed: ");
diff --git a/net/lighttpd/patches/0002-mod_cgi-fix-CGI-local-redir-w-url.rewrite-once-fixes.patch b/net/lighttpd/patches/0002-mod_cgi-fix-CGI-local-redir-w-url.rewrite-once-fixes.patch
new file mode 100644 (file)
index 0000000..e8e1cef
--- /dev/null
@@ -0,0 +1,34 @@
+From ab85841b142c62c47f69fc45c0b54f080d54ddc9 Mon Sep 17 00:00:00 2001
+From: Glenn Strauss <gstrauss@gluelogic.com>
+Date: Mon, 20 Feb 2017 14:47:13 -0500
+Subject: [PATCH] [mod_cgi] fix CGI local-redir w/ url.rewrite-once (fixes
+ #2793)
+
+x-ref:
+  "1.4.40 regression: broken redirect (using Location) between url.rewrite-once URLs"
+  https://redmine.lighttpd.net/issues/2793
+---
+ src/mod_cgi.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+--- a/src/mod_cgi.c
++++ b/src/mod_cgi.c
+@@ -583,8 +583,7 @@ static int cgi_demux_response(server *sr
+                                                       }
+                                                       connection_response_reset(srv, con); /*(includes con->http_status = 0)*/
+-
+-                                                      con->mode = DIRECT;
++                                                      plugins_call_connection_reset(srv, con);
+                                                       return FDEVENT_HANDLED_COMEBACK;
+                                               }
+                                       }
+@@ -803,7 +802,7 @@ static int cgi_recv_response(server *srv
+                       /* if we get a IN|HUP and have read everything don't exec the close twice */
+                       return HANDLER_FINISHED;
+               case FDEVENT_HANDLED_COMEBACK:
+-                      cgi_connection_close(srv, hctx);
++                      /*cgi_connection_close(srv, hctx);*//*(already cleaned up and hctx is now invalid)*/
+                       return HANDLER_COMEBACK;
+               case FDEVENT_HANDLED_ERROR:
+                       log_error_write(srv, __FILE__, __LINE__, "s", "demuxer failed: ");
diff --git a/net/lighttpd/patches/0003-mod_cgi-status-200-OK-if-no-hdrs-deprecated-2786.patch b/net/lighttpd/patches/0003-mod_cgi-status-200-OK-if-no-hdrs-deprecated-2786.patch
new file mode 100644 (file)
index 0000000..7e7d9ee
--- /dev/null
@@ -0,0 +1,46 @@
+From 51ff7ac504f7001dc54807f9b2a72de891ab9ee5 Mon Sep 17 00:00:00 2001
+From: Glenn Strauss <gstrauss@gluelogic.com>
+Date: Wed, 22 Feb 2017 11:58:21 -0500
+Subject: [PATCH] [mod_cgi] status 200 OK if no hdrs (deprecated) (#2786)
+
+set status 200 OK if CGI does not return CGI headers
+
+Note:
+This mode in lighttpd is deprecated and may be removed in the next major
+release of lighttpd.  CGI scripts should return a proper CGI header in
+the response, even if that header is empty and followed by a blank line,
+before return response body.
+
+Without a proper CGI response header, the first line(s) of the response
+might be incorrectly construed as being CGI response headers, especially
+if they contain ':', and response may be corrupted.  That is why this
+mode is deprecated (and not supported in numerous other web servers).
+
+The minimal valid CGI response header is "\n", which lighttpd will treat
+as equivalent to "Status: 200\n\n"
+
+x-ref:
+  "error 500 (mod_cgi.c.601) cgi died"
+  https://redmine.lighttpd.net/issues/2786
+---
+ src/mod_cgi.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/src/mod_cgi.c
++++ b/src/mod_cgi.c
+@@ -502,6 +502,7 @@ static int cgi_demux_response(server *sr
+                                       if (0 != http_chunk_append_buffer(srv, con, hctx->response_header)) {
+                                               return FDEVENT_HANDLED_ERROR;
+                                       }
++                                      if (0 == con->http_status) con->http_status = 200; /* OK */
+                               } else {
+                                       const char *bstart;
+                                       size_t blen;
+@@ -846,6 +847,7 @@ static handler_t cgi_handle_fdevent(serv
+                               cgi_connection_close(srv, hctx);
+                               return HANDLER_ERROR;
+                       }
++                      if (0 == con->http_status) con->http_status = 200; /* OK */
+               } else {
+ # if 0
+                       log_error_write(srv, __FILE__, __LINE__, "sddd", "got HUP from cgi", con->fd, hctx->fd, revents);
diff --git a/net/lighttpd/patches/0004-mod_cgi-cgi.local-redir-enable-disable-2108-2793.patch b/net/lighttpd/patches/0004-mod_cgi-cgi.local-redir-enable-disable-2108-2793.patch
new file mode 100644 (file)
index 0000000..327b080
--- /dev/null
@@ -0,0 +1,105 @@
+From 57ab20ace504fdb6e0944ef6fa6e0ce35adc4446 Mon Sep 17 00:00:00 2001
+From: Glenn Strauss <gstrauss@gluelogic.com>
+Date: Sun, 26 Feb 2017 17:49:47 -0500
+Subject: [PATCH] [mod_cgi] cgi.local-redir = [enable|disable] (#2108, #2793)
+
+new directive cgi.local-redir = [enable|disable]
+
+*disable* RFC3875 6.2.2 local-redir by default.
+(behavior change from when local-redir support added in lighttpd 1.4.40)
+
+The reason for this behavior change is that CGI local-redir support
+(RFC3875 6.2.2) is an optimization.  Absence of support may result in
+additional latency in servicing a request due the additional round-trip
+to the client, but that was the prior behavior (before lighttpd 1.4.40)
+and is the behavior of web servers which do not support CGI local-redir.
+
+However, enabling CGI local-redir by default may result in broken links
+in the case where a user config (unaware of CGI local-redir behavior)
+returns HTML pages containing *relative* paths (not root-relative paths)
+which are relative to the location of the local-redir target document,
+and the local-redir target document is located at a different URL-path
+from the original CGI request.
+
+x-ref:
+  RFC3875 CGI 1.1 specification section 6.2.2 Local Redirect Response
+  http://www.ietf.org/rfc/rfc3875
+  "CGI local redirect not implemented correctly"
+  https://redmine.lighttpd.net/issues/2108
+  "1.4.40 regression: broken redirect (using Location) between url.rewrite-once URLs"
+  https://redmine.lighttpd.net/issues/2793
+---
+ src/mod_cgi.c       | 9 ++++++++-
+ tests/lighttpd.conf | 1 +
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+--- a/src/mod_cgi.c
++++ b/src/mod_cgi.c
+@@ -66,6 +66,7 @@ typedef struct {
+ typedef struct {
+       array *cgi;
+       unsigned short execute_x_only;
++      unsigned short local_redir;
+       unsigned short xsendfile_allow;
+       array *xsendfile_docroot;
+ } plugin_config;
+@@ -172,6 +173,7 @@ SETDEFAULTS_FUNC(mod_fastcgi_set_default
+               { "cgi.execute-x-only",          NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_CONNECTION },     /* 1 */
+               { "cgi.x-sendfile",              NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_CONNECTION },     /* 2 */
+               { "cgi.x-sendfile-docroot",      NULL, T_CONFIG_ARRAY,   T_CONFIG_SCOPE_CONNECTION },     /* 3 */
++              { "cgi.local-redir",             NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_CONNECTION },     /* 4 */
+               { NULL,                          NULL, T_CONFIG_UNSET, T_CONFIG_SCOPE_UNSET}
+       };
+@@ -189,6 +191,7 @@ SETDEFAULTS_FUNC(mod_fastcgi_set_default
+               s->cgi    = array_init();
+               s->execute_x_only = 0;
++              s->local_redir    = 0;
+               s->xsendfile_allow= 0;
+               s->xsendfile_docroot = array_init();
+@@ -196,6 +199,7 @@ SETDEFAULTS_FUNC(mod_fastcgi_set_default
+               cv[1].destination = &(s->execute_x_only);
+               cv[2].destination = &(s->xsendfile_allow);
+               cv[3].destination = s->xsendfile_docroot;
++              cv[4].destination = &(s->local_redir);
+               p->config_storage[i] = s;
+@@ -549,7 +553,7 @@ static int cgi_demux_response(server *sr
+                                        *  to same URL, since CGI should have handled it internally if it
+                                        *  really wanted to do that internally)
+                                        */
+-                                      if (con->http_status >= 300 && con->http_status < 400) {
++                                      if (hctx->conf.local_redir && con->http_status >= 300 && con->http_status < 400) {
+                                               /*(con->parsed_response & HTTP_LOCATION)*/
+                                               size_t ulen = buffer_string_length(con->uri.path);
+                                               data_string *ds;
+@@ -1321,6 +1325,7 @@ static int mod_cgi_patch_connection(serv
+       PATCH(cgi);
+       PATCH(execute_x_only);
++      PATCH(local_redir);
+       PATCH(xsendfile_allow);
+       PATCH(xsendfile_docroot);
+@@ -1340,6 +1345,8 @@ static int mod_cgi_patch_connection(serv
+                               PATCH(cgi);
+                       } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("cgi.execute-x-only"))) {
+                               PATCH(execute_x_only);
++                      } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("cgi.local-redir"))) {
++                              PATCH(local_redir);
+                       } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("cgi.x-sendfile"))) {
+                               PATCH(xsendfile_allow);
+                       } else if (buffer_is_equal_string(du->key, CONST_STR_LEN("cgi.x-sendfile-docroot"))) {
+--- a/tests/lighttpd.conf
++++ b/tests/lighttpd.conf
+@@ -110,6 +110,7 @@ fastcgi.server = (
+       ) ),
+ )
++cgi.local-redir = "enable"
+ cgi.assign = (
+       ".pl"  => env.PERL,
+       ".cgi" => env.PERL,
index e200997f71d263a2b8f7880453bc2addac3c281f..3756d7e0d5d3d6519a5f0ddb40007cb5de6c687c 100644 (file)
@@ -9,14 +9,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mosquitto
-PKG_VERSION:=1.4.12
+PKG_VERSION:=1.4.14
 PKG_RELEASE:=1
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE.txt
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://mosquitto.org/files/source/
-PKG_HASH:=b12e2353f92cb76882ce7b7bddfea022b461b38cbe6e7fb7c969d0daeb379cf7
+PKG_HASH:=156b1fa731d12baad4b8b22f7b6a8af50ba881fc711b81e9919ec103cf2942d1
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
 
 include $(INCLUDE_DIR)/package.mk
index 394a642f9a823fcc15429b4028901c4e4b93d6f0..8bd1e2f11de29cdcbb80c1b02d49e5f6708892a9 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mwan3
-PKG_VERSION:=2.5.2
+PKG_VERSION:=2.5.3
 PKG_RELEASE:=5
 PKG_MAINTAINER:=Florian Eckert <fe@dev.tdt.de>
 PKG_LICENSE:=GPLv2
index e3fd16cef0f27f492bb78f288e4ffdc9ef23f078..ca8f24daf912d631913626cb53649223cbc61f82 100644 (file)
@@ -38,6 +38,7 @@ if [ "$ACTION" == "ifup" ]; then
        [ -n "$gateway" ] || exit 9
 fi
 
+mwan3_lock
 $LOG notice "$ACTION interface $INTERFACE (${DEVICE:-unknown})"
 
 case "$ACTION" in
@@ -64,4 +65,6 @@ case "$ACTION" in
        ;;
 esac
 
+mwan3_unlock
+
 exit 0
index 3798d7eb055c00e4d09a8497bdc8bcbe8618d68d..5681f3ec5fff39b6404bc47ffa5d9d58e7341a71 100644 (file)
@@ -8,6 +8,14 @@ IPT6="ip6tables -t mangle -w"
 LOG="logger -t mwan3 -p"
 CONNTRACK_FILE="/proc/net/nf_conntrack"
 
+mwan3_lock() {
+       lock /var/run/mwan3.lock
+}
+
+mwan3_unlock() {
+       lock -u /var/run/mwan3.lock
+}
+
 mwan3_get_iface_id()
 {
        local _tmp _iface _iface_count
@@ -730,7 +738,7 @@ mwan3_report_iface_status()
        config_list_foreach $1 track_ip mwan3_list_track_ips
 
        if [ -n "$track_ips" ]; then
-               if [ -n "$(ps -w | grep mwan3track | grep -v grep | sed '/.*\/usr\/sbin\/mwan3track \([^ ]*\) .*$/!d;s//\1/' | awk '$1 == "'$1'"')" ]; then
+               if [ -n "$(pgrep -f "mwan3track $1")" ]; then
                        tracking="active"
                else
                        tracking="down"
index d9ffbbd0eb1ac3c622b815533ed6d9d37e9d3fdc..01f2265284eb85e3f447dc401a304b37be2d29b6 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=net-snmp
 PKG_VERSION:=5.7.3
-PKG_RELEASE:=5
+PKG_RELEASE:=7
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/net-snmp
@@ -209,6 +209,7 @@ define Build/InstallDev
        $(INSTALL_DIR) $(2)/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/net-snmp-config $(2)/bin/
        $(SED) 's,=/usr,=$(STAGING_DIR)/usr,g' $(2)/bin/net-snmp-config
+       $(LN) $(STAGING_DIR)/host/bin/net-snmp-config $(STAGING_DIR)/usr/bin/
 
        $(INSTALL_DIR) $(1)/usr/include
        $(CP) $(PKG_INSTALL_DIR)/usr/include/net-snmp $(1)/usr/include/
index c32429400fc070607623ed25211e220c7efc163b..cf3f95cfecce8fc0b9f45c2e31aeb6b2552f7463 100644 (file)
@@ -88,5 +88,33 @@ config engineid
        option engineidtype '3'
        option engineidnic 'eth0'
 
+#config trapcommunity 'trapcommunity'
+#      option community 'public'
+
+#config trapsink
+#      option host 'nms.system.com'
+#      option community 'public'
+#      option port '162'
+
+#config trap2sink
+#      option host 'nms.system.com'
+#      option community 'secret'
+#      option port '162'
+
+#config informsink
+#      option host 'nms.sytem.com'
+#      option community 'public'
+#      option port '162'
+
+#config authtrapenable 'authtrapenable'
+#      option enable '1'
+
+#config v1trapaddress 'v1trapaddress'
+#      option host '1.2.3.4'
+
+#config trapsess 'trapsess'
+#      option trapsess '-v 3 -e 0x80001f88808c18d3f7b0000 -u trapuser -a MD5 -A administrator -l authPriv -x DES -X rootpasswd udp:127.0.0.1:162'
+
 config snmpd general
+       option enabled '1'
 #      list network 'wan'
index 08989744c21cca24889c5cedbf6e1156bacaf528..caffecf6640778f22d6f0742e6f56b73a04c9721 100644 (file)
@@ -210,6 +210,43 @@ snmpd_engineid_add() {
        [ -n "$engineidnic" ] && echo "engineIDNic $engineidnic" >> $CONFIGFILE
 }
 
+snmpd_sink_add() {
+       local cfg="$1"
+       local section="$2"
+       local community
+       local port
+       local host
+
+       config_get host "$cfg" host
+       [ -n "section" -a -n "$host" ] || return 0
+       # optional community
+       config_get community "$cfg" community
+       # optional port
+       config_get port "$cfg" port
+       port=${port:+:$port}
+       echo "$section $host$port $community" >> $CONFIGFILE
+}
+
+append_parm() {
+       local section="$1"
+       local option="$2"
+       local switch="$3"
+       local _loctmp
+       config_get _loctmp "$section" "$option"
+       [ -z "$_loctmp" ] && return 0
+       echo "$switch $_loctmp" >> $CONFIGFILE
+}
+
+append_authtrapenable() {
+       local section="$1"
+       local option="$2"
+       local switch="$3"
+       local _loctmp
+       config_get_bool _loctmp "$section" "$option"
+       [ -z "$_loctmp" ] && return 0
+       [ "$_loctmp" -gt 0 ] && echo "$switch $_loctmp" >> $CONFIGFILE
+}
+
 snmpd_setup_fw_rules() {
        local net="$1"
        local zone
@@ -235,10 +272,13 @@ snmpd_setup_fw_rules() {
 start_service() {
        [ -f "$CONFIGFILE" ] && rm -f "$CONFIGFILE"
 
-       procd_open_instance
-
        config_load snmpd
 
+       config_get_bool snmp_enabled general enabled 1
+       [ "$snmp_enabled" -eq 0 ] && return
+
+       procd_open_instance
+
        config_foreach snmpd_agent_add agent
        config_foreach snmpd_agentx_add agentx
        config_foreach snmpd_system_add system
@@ -256,7 +296,14 @@ start_service() {
        config_foreach snmpd_exec_add exec
        config_foreach snmpd_disk_add disk
        config_foreach snmpd_engineid_add engineid
-       
+       append_parm trapcommunity community trapcommunity
+       config_foreach snmpd_sink_add trapsink trapsink
+       config_foreach snmpd_sink_add trap2sink trap2sink
+       config_foreach snmpd_sink_add informsink informsink
+       append_authtrapenable authtrapenable enable authtrapenable
+       append_parm v1trapaddress host v1trapaddress
+       append_parm trapsess trapsess trapsess
+
        procd_set_param command $PROG -Lf /dev/null -f
        procd_set_param file $CONFIGFILE
        procd_set_param respawn
index 8002d8439c5b7086de02b8ab02d6abfa24236fb5..a17313f5ff2afd59c9143f2f58270c4d3823ba35 100644 (file)
@@ -30,10 +30,6 @@ define Package/netdiscover
   URL:=https://sourceforge.net/projects/netdiscover
 endef
 
-CONFIGURE_VARS+= \
-       CPPFLAGS="$(TARGET_CPPFLAGS) -I$(STAGING_DIR)/usr/lib/libnet-1.2.x/lib" \
-       LDFLAGS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib/libnet-1.2.x/lib"
-
 define Package/netdiscover/install
        $(INSTALL_DIR) $(1)/usr/sbin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/netdiscover $(1)/usr/sbin/
index 0fce4dcfdd80ad71608fee82326e27eb2957790c..62f4ec5a8cd51b20396a5b7b2c8b873fc5229b6c 100644 (file)
@@ -43,7 +43,7 @@ define Package/netopeer2-keystored/config
 endef
 
 define Package/netopeer2-server
-  SECTION:=util
+  SECTION:=utils
   CATEGORY:=Utilities
   TITLE:=NETCONF server
   URL:=$(PKG_SOURCE_URL)
@@ -52,7 +52,7 @@ define Package/netopeer2-server
 endef
 
 define Package/netopeer2-cli
-  SECTION:=util
+  SECTION:=utils
   CATEGORY:=Utilities
   TITLE:=Netopeer2 cli tool
   URL:=$(PKG_SOURCE_URL)
@@ -60,7 +60,7 @@ define Package/netopeer2-cli
 endef
 
 define Package/netopeer2-keystored
-  SECTION:=util
+  SECTION:=utils
   CATEGORY:=Utilities
   TITLE:=Netopeer2 key store management
   URL:=$(PKG_SOURCE_URL)
index 2bf941e90d903d9972628f88f664762fbdf311a9..cbf1c2a481f24511a6166f1d9d60540989b8b3ea 100644 (file)
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=nmap
-PKG_VERSION:=7.40
+PKG_VERSION:=7.50
 PKG_RELEASE:=1
 PKG_MAINTAINER:=Nuno Goncalves <nunojpg@gmail.com>
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://nmap.org/dist/
-PKG_MD5SUM:=9c5a28bfb46228bade82b238408c065e
+PKG_MD5SUM:=435c7e095bdd4565e0f69c41743a45be
 PKG_LICENSE:=GPL-2.0
 PKG_LICENSE_FILES:=COPYING
 
index 311be632b10f7cc06799cd24af2dd92be101a63a..ec2554c8354e7296daf06ed1b61987da1d8ee762 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=openconnect
 PKG_VERSION:=7.08
-PKG_RELEASE:=1
+PKG_RELEASE:=4
 PKG_USE_MIPS16:=0
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
index 082dfba73ae551ca9fdf36b9ebe2fc06f10de2d7..8a4ff78f98d147ba37cd355412ed2b3283efb75b 100755 (executable)
@@ -10,32 +10,4 @@ test -z "$1" && exit 1
 
 pwfile=$1
 shift
-
-pidfile=/var/run/ocwrap-$$.pid
-
-cleanup()
-{
-       if ! test -z "$pid";then
-               kill $pid
-               wait $pid
-       fi
-       exit 0
-}
-
-cleanup2()
-{
-       if ! test -z "$pid";then
-               kill -2 $pid
-               wait $pid
-       fi
-       exit 0
-}
-
-trap cleanup2 2
-trap cleanup 1 3 6 15
-
-rm -f "$pidfile"
-/usr/sbin/openconnect $* <$pwfile &
-pid=$!
-
-wait $pid
+exec /usr/sbin/openconnect "$@" <$pwfile
index 881baccf103c4e5945a814ea0bf6019105d4a73f..0e3d90ab4436e5e5c37532ff1751164f76763f03 100755 (executable)
@@ -6,6 +6,7 @@ init_proto "$@"
 proto_openconnect_init_config() {
        proto_config_add_string "server"
        proto_config_add_int "port"
+       proto_config_add_int "mtu"
        proto_config_add_string "username"
        proto_config_add_string "serverhash"
        proto_config_add_string "authgroup"
@@ -13,7 +14,6 @@ proto_openconnect_init_config() {
        proto_config_add_string "password2"
        proto_config_add_string "token_mode"
        proto_config_add_string "token_secret"
-       proto_config_add_string "interface"
        proto_config_add_string "os"
        proto_config_add_string "csd_wrapper"
        no_device=1
@@ -23,7 +23,7 @@ proto_openconnect_init_config() {
 proto_openconnect_setup() {
        local config="$1"
 
-       json_get_vars server port username serverhash authgroup password password2 interface token_mode token_secret os csd_wrapper
+       json_get_vars server port username serverhash authgroup password password2 token_mode token_secret os csd_wrapper mtu
 
        grep -q tun /proc/modules || insmod tun
        ifname="vpn-$config"
@@ -39,6 +39,7 @@ proto_openconnect_setup() {
        [ -n "$port" ] && port=":$port"
 
        cmdline="$server$port -i "$ifname" --non-inter --syslog --script /lib/netifd/vpnc-script"
+       [ -n "$mtu" ] && cmdline="$cmdline --mtu $mtu"
 
        # migrate to standard config files
        [ -f "/etc/config/openconnect-user-cert-vpn-$config.pem" ] && mv "/etc/config/openconnect-user-cert-vpn-$config.pem" "/etc/openconnect/user-cert-vpn-$config.pem"
index e076ab232c4bed5509161c3716f704bd69662ef7..34b8e159bec207452157a97f5fbab1ea73837ed9 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=openssh
 PKG_VERSION:=7.5p1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/ \
@@ -93,6 +93,8 @@ endef
 
 define Package/openssh-server/conffiles
 /etc/ssh/sshd_config
+/etc/ssh/ssh_host_*_key
+/etc/ssh/ssh_host_*_key.pub
 endef
 
 define Package/openssh-server-pam
index e47633211904d2d4525c221b288c2f61c992c96b..19c383812e13c7e4f7397a79ca8112120c112a09 100644 (file)
@@ -1,6 +1,3 @@
-#
-# Copyright (C) 2006-2014 OpenWrt.org
-#
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
@@ -8,9 +5,10 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=opentracker
-PKG_VERSION:=20151211
-PKG_RELEASE:=2
-PKG_REV:=ba25d2b2a84a31eac2956b71cb12b4b0748b35f5
+PKG_VERSION:=20170428
+PKG_RELEASE:=1
+PKG_REV:=9c7be324f5a4306dd81eab2f982f87e2c42ffdf1
+PKG_MIRROR_HASH:=fda6098a9bdf080c852c5b513ada67d065c1286ad3d4617c05f3a3d9ebb81536
 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
 PKG_LICENSE:=Beerware
 
index 9ed3a3f0238c60cdf2ea678a447ff45f93fe2055..7961c1b853f4c79c19d8b1f12bf876d3cc5db9c6 100644 (file)
@@ -12,8 +12,8 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=openvswitch
 
-PKG_RELEASE:=2
-PKG_VERSION:=2.7.0
+PKG_RELEASE:=1
+PKG_VERSION:=2.7.1
 PKG_RELEASE=$(PKG_SOURCE_VERSION)
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=COPYING
@@ -21,9 +21,10 @@ PKG_USE_MIPS16:=0
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://openvswitch.org/releases/
-PKG_HASH:=e492cf08a929b4a2178b7f9b01dc4ff562f44138b547b4e942078187b2445d2e
+PKG_HASH:=b0458cb2a7206f8e5802a524297c9f0569c01ae4bf91037a4dff37dcd0e2a84a
 
-PKG_BUILD_DEPENDS:=python-six/host
+PKG_BUILD_DEPENDS:=python/host python-six/host
+PKG_CONFIG_DEPENDS:=CONFIG_PACKAGE_openvswitch-python
 
 PKG_BUILD_PARALLEL:=1
 PKG_FIXUP:=autoreconf
@@ -67,7 +68,7 @@ endef
 define Package/openvswitch-python
   $(call Package/openvswitch/Default)
   TITLE:=Open vSwitch Python Support
-  DEPENDS:=+openvswitch +python +python-six
+  DEPENDS:=+openvswitch +PACKAGE_openvswitch-python:python +PACKAGE_openvswitch-python:python-six
 endef
 
 define Package/openvswitch-python/description
@@ -118,7 +119,10 @@ CONFIGURE_ARGS += --enable-shared
 TARGET_CFLAGS += -flto -std=gnu99
 
 CONFIGURE_VARS += KARCH=$(LINUX_KARCH)
-MAKE_FLAGS += ARCH="$(LINUX_KARCH)"
+MAKE_FLAGS += \
+       ARCH="$(LINUX_KARCH)" \
+       PYTHONPATH="$(HOST_PYTHONPATH)" \
+       PYTHON="$(HOST_PYTHON_BIN)"
 
 define OvsBinUtility
   define Package/openvswitch-$(1)
diff --git a/net/openvswitch/patches/0003-override-pythonpath-via-make-vars.patch b/net/openvswitch/patches/0003-override-pythonpath-via-make-vars.patch
new file mode 100644 (file)
index 0000000..bd1c158
--- /dev/null
@@ -0,0 +1,26 @@
+diff --git a/Makefile.am b/Makefile.am
+index a4dd7b8..099a3c1 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -53,7 +53,7 @@ endif
+ # foo/__init__.py into an (older) version with plain foo.py, since
+ # foo/__init__.pyc will cause Python to ignore foo.py.
+ run_python = \
+-      PYTHONPATH=$(top_srcdir)/python$(psep)$$PYTHONPATH \
++      PYTHONPATH=$(top_srcdir)/python$(psep)$(PYTHONPATH) \
+       PYTHONDONTWRITEBYTECODE=yes $(PYTHON)
+ ALL_LOCAL =
+diff --git a/Makefile.in b/Makefile.in
+index 8df66e2..98b54bf 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -1654,7 +1654,7 @@ AM_CFLAGS = -Wstrict-prototypes $(WARNING_FLAGS) $(OVS_CFLAGS) \
+ # foo/__init__.py into an (older) version with plain foo.py, since
+ # foo/__init__.pyc will cause Python to ignore foo.py.
+ run_python = \
+-      PYTHONPATH=$(top_srcdir)/python$(psep)$$PYTHONPATH \
++      PYTHONPATH=$(top_srcdir)/python$(psep)$(PYTHONPATH) \
+       PYTHONDONTWRITEBYTECODE=yes $(PYTHON)
index 1a499de7c64ab8a9e65d1061f49e046e358f114b..c663c4183757872a3ad8b3beacf3018422f303a4 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=reaver
 PKG_VERSION:=1.4
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 PKG_MAINTAINER:=Yousong Zhou <yszhou4tech@gmail.com>
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
@@ -25,6 +25,7 @@ include $(INCLUDE_DIR)/package.mk
 
 CONFIGURE_PATH:=src
 MAKE_PATH:=src
+EXTRA_CFLAGS=$(TARGET_CPPFLAGS)
 
 define Package/reaver
   SECTION:=net
diff --git a/net/reaver/patches/0102-wps-cflags.patch b/net/reaver/patches/0102-wps-cflags.patch
new file mode 100644 (file)
index 0000000..9a98025
--- /dev/null
@@ -0,0 +1,45 @@
+Index: reaver-1.4/src/wps/Makefile
+===================================================================
+--- reaver-1.4.orig/src/wps/Makefile
++++ reaver-1.4/src/wps/Makefile
+@@ -4,31 +4,31 @@ INC=-I../utils -I ../
+ all: wps_attr_build.o wps_attr_parse.o wps_attr_process.o wps.o wps_common.o wps_dev_attr.o wps_enrollee.o wps_registrar.o wps_ufd.o
+ wps_attr_build.o:
+-      $(CC) $(INC) wps_attr_build.c -c
++      $(CC) $(CFLAGS) $(INC) wps_attr_build.c -c
+ wps_attr_parse.o:
+-      $(CC) $(INC) wps_attr_parse.c -c
++      $(CC) $(CFLAGS) $(INC) wps_attr_parse.c -c
+ wps_attr_process.o:
+-      $(CC) $(INC) wps_attr_process.c -c
++      $(CC) $(CFLAGS) $(INC) wps_attr_process.c -c
+ wps.o:
+-      $(CC) $(INC) wps.c -c
++      $(CC) $(CFLAGS) $(INC) wps.c -c
+ wps_common.o:
+-      $(CC) $(INC) wps_common.c -c
++      $(CC) $(CFLAGS) $(INC) wps_common.c -c
+ wps_dev_attr.o:
+-      $(CC) $(INC) wps_dev_attr.c -c
++      $(CC) $(CFLAGS) $(INC) wps_dev_attr.c -c
+ wps_enrollee.o:
+-      $(CC) $(INC) wps_enrollee.c -c
++      $(CC) $(CFLAGS) $(INC) wps_enrollee.c -c
+ wps_registrar.o:
+-      $(CC) $(INC) wps_registrar.c -c
++      $(CC) $(CFLAGS) $(INC) wps_registrar.c -c
+ wps_ufd.o:
+-      $(CC) $(INC) wps_ufd.c -c
++      $(CC) $(CFLAGS) $(INC) wps_ufd.c -c
+ clean:
+       rm -f *.o
index 3e8c9be243bf2d6f3b562149f2c9e5152a6c6197..22a29a4e496eed2e90b0a3c6fb08ee1d843e8def 100644 (file)
@@ -9,7 +9,7 @@ PKG_SOURCE_URL:=https://github.com/zhao-gang/shadowsocks-tiny.git
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE_VERSION:=b59d754f838213d60b908aed0b7d4d5a81f273e2
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
-PKG_MAINTAINER:=Zhao, Gang <gang.zhao.42@gmail.com>
+PKG_MAINTAINER:=Gang Zhao <gang.zhao.42@gmail.com>
 
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=COPYING
index 8b5123245c2f9f878d402deef3ae742310c29641..1b8540a50ffa453ec6091d41abd141d186a3a857 100644 (file)
@@ -1,5 +1,4 @@
 #
-# Copyright (C) 2015 OpenWrt.org
 # Copyright (C) 2017 Yousong Zhou <yszhou4tech@gmail.com>
 #
 # This is free software, licensed under the GNU General Public License v2.
 
 include $(TOPDIR)/rules.mk
 
+# Checklist when bumping versions
+#
+# - update cipher list by checking src/crypto.c:crypto_init()
+# - check if default mode has changed from TCP_ONLY
+# - check if ss-rules has been upstreamed
+#
+# TODO
+#
+# - add validate type: user
+#
 PKG_NAME:=shadowsocks-libev
 PKG_VERSION:=3.0.6
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/shadowsocks/shadowsocks-libev/releases/download/v$(PKG_VERSION)
 PKG_HASH:=7d9b43b0235a57c115bfe160efd54abef96bffcbfff61c5496e7c2800f0734ca
 
-PKG_MAINTAINER:=Jian Chang <aa65535@live.com>
-PKG_LICENSE:=GPLv2
+PKG_MAINTAINER:=Yousong Zhou <yszhou4tech@gmail.com>
+
+PKG_LICENSE:=GPL-3.0+
 PKG_LICENSE_FILES:=LICENSE
 
-PKG_INSTALL:=1
 PKG_FIXUP:=autoreconf
+PKG_INSTALL:=1
 PKG_USE_MIPS16:=0
 PKG_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/package.mk
 
-define Package/shadowsocks-libev
-       SECTION:=net
-       CATEGORY:=Network
-       TITLE:=Lightweight Secured Socks5 Proxy
-       URL:=https://github.com/shadowsocks/shadowsocks-libev
-       DEPENDS:=+libev +libmbedtls +libpthread +libsodium +libudns \
-               +ipset +ip +iptables-mod-tproxy +libpcre +zlib
+
+define Package/shadowsocks-libev-config
+  SECTION:=net
+  CATEGORY:=Network
+  SUBMENU:=Web Servers/Proxies
+  TITLE:=shadowsocks-libev config scripts
+  URL:=https://github.com/shadowsocks/shadowsocks-libev
 endef
 
-define Package/shadowsocks-libev/description
-Shadowsocks-libev is a lightweight secured socks5 proxy for embedded devices and low end boxes.
+define Package/shadowsocks-libev-config/install
+       $(INSTALL_DIR) $(1)/etc/config
+       $(INSTALL_DATA) ./files/shadowsocks-libev.config $(1)/etc/config/shadowsocks-libev
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) ./files/shadowsocks-libev.init $(1)/etc/init.d/shadowsocks-libev
+endef
+
+
+define Package/shadowsocks-libev/Default
+  define Package/shadowsocks-libev-$(1)
+    SECTION:=net
+    CATEGORY:=Network
+    SUBMENU:=Web Servers/Proxies
+    TITLE:=shadowsocks-libev $(1)
+    URL:=https://github.com/shadowsocks/shadowsocks-libev
+    DEPENDS:=+libev +libmbedtls +libpcre +libpthread +libsodium +libudns +shadowsocks-libev-config +zlib
+  endef
+
+  define Package/shadowsocks-libev-$(1)/install
+       $$(INSTALL_DIR) $$(1)/usr/bin
+       $$(INSTALL_BIN) $$(PKG_INSTALL_DIR)/usr/bin/$(1) $$(1)/usr/bin
+  endef
+
 endef
 
-define Package/shadowsocks-libev/conffiles
-/etc/config/shadowsocks-libev
+SHADOWSOCKS_COMPONENTS:=ss-local ss-redir ss-tunnel ss-server
+define shadowsocks-libev/templates
+  $(foreach component,$(SHADOWSOCKS_COMPONENTS),
+    $(call Package/shadowsocks-libev/Default,$(component))
+  )
 endef
+$(eval $(call shadowsocks-libev/templates))
 
-define Package/shadowsocks-libev/postinst
-#!/bin/sh
-uci -q batch <<-EOF >/dev/null
-       delete firewall.shadowsocks_libev
-       set firewall.shadowsocks_libev=include
-       set firewall.shadowsocks_libev.type=script
-       set firewall.shadowsocks_libev.path=/usr/share/shadowsocks-libev/firewall.include
-       set firewall.shadowsocks_libev.reload=1
-       commit firewall
-EOF
-exit 0
+
+define Package/shadowsocks-libev-ss-rules
+  SECTION:=net
+  CATEGORY:=Network
+  SUBMENU:=Web Servers/Proxies
+  TITLE:=shadowsocks-libev ss-rules
+  URL:=https://github.com/shadowsocks/shadowsocks-libev
+  DEPENDS:=+ip +ipset +iptables-mod-tproxy +shadowsocks-libev-ss-redir +shadowsocks-libev-config
 endef
 
-define Package/shadowsocks-libev/install
+define Package/shadowsocks-libev-ss-rules/install
        $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/ss-{redir,tunnel} $(1)/usr/bin
        $(INSTALL_BIN) ./files/ss-rules $(1)/usr/bin
-       $(INSTALL_DIR) $(1)/etc/config
-       $(INSTALL_DATA) ./files/shadowsocks-libev.config $(1)/etc/config/shadowsocks-libev
-       $(INSTALL_DIR) $(1)/etc/init.d
-       $(INSTALL_BIN) ./files/shadowsocks-libev.init $(1)/etc/init.d/shadowsocks-libev
-       $(INSTALL_DIR) $(1)/usr/share/shadowsocks-libev
-       $(INSTALL_DATA) ./files/firewall.include $(1)/usr/share/shadowsocks-libev/firewall.include
+       $(INSTALL_DIR) $(1)/etc/uci-defaults
+       $(INSTALL_DATA) ./files/firewall.ss-rules $(1)/etc
+       $(INSTALL_BIN) ./files/ss-rules.defaults $(1)/etc/uci-defaults
+endef
+
+define Package/shadowsocks-libev-ss-rules/prerm
+#!/bin/sh
+s=firewall.ss_rules
+uci get "$$s" >/dev/null || exit 0
+uci batch <<-EOF
+       delete $$s
+       commit firewall
+EOF
 endef
 
 CONFIGURE_ARGS += --disable-documentation
 
-$(eval $(call BuildPackage,shadowsocks-libev))
+$(eval $(call BuildPackage,shadowsocks-libev-config))
+$(eval $(call BuildPackage,shadowsocks-libev-ss-rules))
+$(foreach component,$(SHADOWSOCKS_COMPONENTS), \
+  $(eval $(call BuildPackage,shadowsocks-libev-$(component))) \
+)
diff --git a/net/shadowsocks-libev/README.md b/net/shadowsocks-libev/README.md
new file mode 100644 (file)
index 0000000..75790ea
--- /dev/null
@@ -0,0 +1,86 @@
+## components
+
+`ss-local` provides SOCKS5 proxy.
+
+        socks5                                     ss              plain
+       --------> tcp:udp:local_address:local_port ----> ss server -------> dest
+
+`ss-redir`.  The REDIRECT and TPROXY part are to be provided by `ss-rules` script.  REDIRECT only works for tcp traffic (see also darkk/redsocks).  TPROXY is used to proxy udp messages, but it's only available in the PREROUTING chain and as such cannot proxy local out traffic.
+
+         plain             plain                                 ss              plain
+       ---------> REDIRECT ------> tcp:local_address:local_port ----> ss server -----> original dest
+
+         plain            plain                                 ss              plain
+       ---------> TPROXY -------> udp:local_address:local_port -----> ss server -----> original dest
+
+`ss-tunnel` provides ssh `-L` local-forwarding-like tunnel.  Typically it's used to tunnel DNS traffic to the remote.
+
+         plain                                       ss               plain
+       ---------> tcp|udp:local_address:local_port ------> ss server -------> tunnel_address
+
+`ss-server`, the "ss server" in the above diagram
+
+## uci
+
+Option names are the same as those used in json config files.  Check `validate_xxx` func definition of the [service script](files/shadowsocks-libev.init) and shadowsocks-libev's own documentation for supported options and expected value types.  A [sample config file](files/shadowsocks-libev.config) is also provided for reference.
+
+Every section have a `disabled` option to temporarily turn off the component instance or component instances referring to it.
+
+Section type `server` is for definition of remote shadowsocks servers.  They will be referred to from other component sections and as such should be named (as compared to anonymous section).
+
+Section type `ss_local`, `ss_redir`, `ss_tunnel` are for specification of shadowsocks-libev components.  They share mostly a common set of options like `local_port`, `verbose`, `fast_open`, `timeout`, etc.
+
+We can have multiple instances of component and `server` sections.  The relationship between them is many-to-one.  This will have the following implications
+
+ - It's possible to have both `ss_local` and `ss_redir` referring to the same `server` definition
+ - It's possible to have multiple instances of `ss_redir` listening on the same address:port with `reuse_port` enabled referring to the same or different `server` sections
+
+`ss_rules` section is for configuring the behaviour of `ss-rules` script.  There can only exist at most one such section with the name also being `ss_rules`
+
+       redir_tcp               name of ss_redir section with mode tcp_only or tcp_and_udp
+       redir_udp               name of ss_redir section with mode udp_only or tcp_and_udp
+
+       --- incoming packets having source address in
+
+       src_ips_bypass          will bypass the redir chain
+       src_ips_forward         will always go through the redir chain
+       src_ips_checkdst        will continue to have their destination addresses checked
+
+       --- otherwise, the default action can be specified with
+
+       src_default             bypass, forward, [checkdst]
+
+       --- for local out tcp packets, the default action can be specified with
+
+       local_default           [bypass], forward, checkdst
+
+       --- if the previous check result is checkdst,
+       --- then packets having destination address in
+
+       dst_ips_bypass_file
+       dst_ips_bypass          will bypass the redir chain
+       dst_ips_forward_file
+       dst_ips_forward         will go through the redir chain
+
+## notes and faq
+
+Useful paths and commands for debugging
+
+       # check current running status
+       ubus call service list '{"name": "shadowsocks-libev"}'
+       ubus call service list '{"name": "shadowsocks-libev", "verbose": true}'
+
+       # dump validate definition
+       ubus call service validate '{"package": "shadowsocks-libev"}'
+       ubus call service validate '{"package": "shadowsocks-libev"}' \
+               | jsonfilter -e '$["shadowsocks-libev"]["ss_tunnel"]'
+
+       # check json config
+       ls -l /var/etc/shadowsocks-libev/
+
+       # set uci config option verbose to 1, restart the service and follow the log
+       logread -f
+
+ss-redir needs to open a new socket and setsockopt IP_TRANSPARENT when sending udp reply to client.  This requires `CAP_NET_ADMIN` and as such the process cannot run as `nobody`
+
+ss-local, ss-redir, etc. supports specifying an array of remote ss server, but supporting this in uci seems to be overkill.  The workaround can be defining multiple `server` sections and multiple `ss-redir` instances with `reuse_port` enabled
diff --git a/net/shadowsocks-libev/files/firewall.include b/net/shadowsocks-libev/files/firewall.include
deleted file mode 100644 (file)
index 3a00e80..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-if pidof ss-redir>/dev/null; then
-       /etc/init.d/shadowsocks-libev rules
-       logger -t ShadowSocks-libev "Reloading ShadowSocks-libev due to restart of firewall"
-fi
diff --git a/net/shadowsocks-libev/files/firewall.ss-rules b/net/shadowsocks-libev/files/firewall.ss-rules
new file mode 100644 (file)
index 0000000..3a1d32c
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/sh
+/etc/init.d/shadowsocks-libev reload
index 95aec7b2ec441fcb7d08857e63b6bc4603a87270..9b3fe0852b5957a4528559fd7f0c4f84a53080f2 100644 (file)
@@ -1,15 +1,60 @@
-
-config shadowsocks-libev
-       option enable '1'
-       option server '127.0.0.1'
-       option server_port '8388'
+config ss_local
+       option disabled 1
+       option server 'sss0'
+       option local_address '0.0.0.0'
        option local_port '1080'
-       option password 'barfoo!'
+       option timeout '30'
+
+config ss_tunnel
+       option disabled 1
+       option server 'sss0'
+       option local_address '0.0.0.0'
+       option local_port '1090'
+       option tunnel_address 'example.com:80'
+       option mode 'tcp_and_udp'
        option timeout '60'
-       option encrypt_method 'rc4-md5'
-       option ignore_list '/dev/null'
-       option udp_mode '0'
-       option tunnel_enable '1'
-       option tunnel_port '5300'
-       option tunnel_forward '8.8.4.4:53'
-       option lan_ac_mode '0'
+
+config ss_redir hi
+       option disabled 1
+       option server 'sss0'
+       option local_address '0.0.0.0'
+       option local_port '1100'
+       option mode 'tcp_and_udp'
+       option timeout '60'
+       option fast_open 1
+       option verbose 1
+       option reuse_port 1
+
+config ss_redir hj
+       option disabled 1
+       option server 'sss0'
+       option local_address '0.0.0.0'
+       option local_port '1100'
+       option mode 'tcp_and_udp'
+       option timeout '60'
+       option fast_open 1
+       option verbose 1
+       option reuse_port 1
+
+config ss_rules 'ss_rules'
+       option disabled 1
+       option redir_tcp 'hi'
+       option redir_udp 'hi'
+       option src_default 'bypass'
+       option local_default 'checkdst'
+       list src_ips_forward '192.168.1.4'
+       list dst_ips_forward '8.8.8.8'
+
+config server 'sss0'
+       option disabled 1
+       option server '192.168.1.3'
+       option server_port '9001'
+       option password '********'
+       option method 'aes-256-cfb'
+
+config ss_server
+       option disabled 1
+       option server_port '9001'
+       option password '********'
+       option method 'aes-256-cfb'
+       option bind_address '192.168.7.72'
index 9a64038a722a140ff3547a9e26ea278c95af3c99..68ec93b035d5f5c1a616290a58d670367a42fb53 100644 (file)
 #!/bin/sh /etc/rc.common
+#
+# Copyright (C) 2017 Yousong Zhou <yszhou4tech@gmail.com>
+#
+# This is free software, licensed under the GNU General Public License v3.
+# See /LICENSE for more information.
+#
 
-START=90
-STOP=15
-
-SERVICE_USE_PID=1
-SERVICE_WRITE_PID=1
-SERVICE_DAEMONIZE=1
-EXTRA_COMMANDS="rules"
-CONFIG_FILE=/var/etc/shadowsocks-libev.json
-
-get_config() {
-       config_get_bool enable $1 enable
-       config_get server $1 server
-       config_get server_port $1 server_port
-       config_get local_port $1 local_port
-       config_get timeout $1 timeout
-       config_get password $1 password
-       config_get encrypt_method $1 encrypt_method
-       config_get ignore_list $1 ignore_list
-       config_get udp_mode $1 udp_mode
-       config_get udp_server $1 udp_server
-       config_get udp_server_port $1 udp_server_port
-       config_get udp_local_port $1 udp_local_port
-       config_get udp_timeout $1 udp_timeout
-       config_get udp_password $1 udp_password
-       config_get udp_encrypt_method $1 udp_encrypt_method
-       config_get_bool tunnel_enable $1 tunnel_enable
-       config_get tunnel_port $1 tunnel_port
-       config_get tunnel_forward $1 tunnel_forward
-       config_get lan_ac_mode $1 lan_ac_mode
-       config_get lan_ac_ip $1 lan_ac_ip
-       config_get wan_bp_ip $1 wan_bp_ip
-       config_get wan_fw_ip $1 wan_fw_ip
-       config_get ipt_ext $1 ipt_ext
-       : ${timeout:=60}
-       : ${udp_timeout:=60}
-       : ${tunnel_port:=5300}
-       : ${tunnel_forward:=8.8.4.4:53}
-}
-
-start_rules() {
-       local ac_args
-
-       if [ -n "$lan_ac_ip" ]; then
-               case $lan_ac_mode in
-                       1) ac_args="w$lan_ac_ip"
-                       ;;
-                       2) ac_args="b$lan_ac_ip"
-                       ;;
-               esac
+USE_PROCD=1
+START=99
+
+ss_confdir=/var/etc/shadowsocks-libev
+ss_bindir=/usr/bin
+q='"'
+
+ss_mkjson() {
+       echo "{" >"$confjson"
+       if ss_mkjson_ "$@" >>$confjson; then
+               sed -i -e '/^\s*$/d' -e '2,$s/^/\t/' -e '$s/,$//' "$confjson"
+               echo "}" >>"$confjson"
+       else
+               rm -f "$confjson"
+               return 1
        fi
-       /usr/bin/ss-rules \
-               -s "$server" \
-               -l "$local_port" \
-               -S "$udp_server" \
-               -L "$udp_local_port" \
-               -i "$ignore_list" \
-               -a "$ac_args" \
-               -b "$wan_bp_ip" \
-               -w "$wan_fw_ip" \
-               -e "$ipt_ext" \
-               -o $udp
-       return $?
-}
-
-start_redir() {
-       cat <<-EOF >$CONFIG_FILE
-               {
-                   "server": "$server",
-                   "server_port": $server_port,
-                   "local_address": "0.0.0.0",
-                   "local_port": $local_port,
-                   "password": "$password",
-                   "timeout": $timeout,
-                   "method": "$encrypt_method"
-               }
-EOF
-       if [ "$udp_mode" = 2 ]; then
-               /usr/bin/ss-redir \
-                       -c $CONFIG_FILE \
-                       -f /var/run/ss-redir_t.pid
-               cat <<-EOF >$CONFIG_FILE
-                       {
-                           "server": "$udp_server",
-                           "server_port": $udp_server_port,
-                           "local_address": "0.0.0.0",
-                           "local_port": $udp_local_port,
-                           "password": "$udp_password",
-                           "timeout": $udp_timeout,
-                           "method": "$udp_encrypt_method"
-                       }
-EOF
+}
+
+ss_mkjson_() {
+       local func
+
+       for func in "$@"; do
+               if ! "$func"; then
+                       return 1
+               fi
+       done
+}
+
+ss_mkjson_server_conf() {
+       local cfgserver
+
+       config_get cfgserver "$cfg" server
+       [ -n "$cfgserver" ] || return 1
+       eval "$(validate_server_section "$cfg" ss_validate_mklocal)"
+       validate_server_section "$cfgserver" || return 1
+       [ "$disabled" = 0 ] || return 1
+       ss_mkjson_server_conf_ "$cfgserver"
+}
+
+ss_mkjson_server_conf_() {
+       [ -n "$server_port" ] || return 1
+       cat <<-EOF
+               ${server:+${q}server${q}: ${q}$server${q},}
+               "server_port": $server_port,
+               ${method:+${q}method${q}: ${q}$method${q},}
+               ${key:+${q}key${q}: ${q}$key${q},}
+               ${password:+${q}password${q}: ${q}$password${q},}
+       EOF
+}
+
+ss_mkjson_common_conf() {
+       [ "$fast_open" = 0 ] && fast_open=false || fast_open=true
+       [ "$reuse_port" = 0 ] && reuse_port=false || reuse_port=true
+       cat <<-EOF
+               "use_syslog": true,
+               "fast_open": $fast_open,
+               "reuse_port": $reuse_port,
+               ${local_address:+${q}local_address${q}: ${q}$local_address${q},}
+               ${local_port:+${q}local_port${q}: $local_port,}
+               ${mode:+${q}mode${q}: ${q}$mode${q},}
+               ${mtu:+${q}mtu${q}: $mtu,}
+               ${timeout:+${q}timeout${q}: $timeout,}
+               ${user:+${q}user${q}: ${q}$user${q},}
+       EOF
+}
+
+ss_mkjson_ss_local_conf() {
+       ss_mkjson_server_conf
+}
+
+ss_mkjson_ss_redir_conf() {
+       ss_mkjson_server_conf
+}
+
+ss_mkjson_ss_server_conf() {
+       ss_mkjson_server_conf_
+}
+
+ss_mkjson_ss_tunnel_conf() {
+       ss_mkjson_server_conf || return 1
+       [ -n "$tunnel_address" ] || return 1
+       cat <<-EOF
+               ${tunnel_address:+${q}tunnel_address${q}: ${q}$tunnel_address${q},}
+       EOF
+}
+
+ss_xxx() {
+       local cfg="$1"
+       local cfgtype="$2"
+       local bin="$ss_bindir/${cfgtype/_/-}"
+       local confjson="$ss_confdir/$cfgtype.$cfg.json"
+
+       [ -x "$bin" ] || return
+       eval "$("validate_${cfgtype}_section" "$cfg" ss_validate_mklocal)"
+       "validate_${cfgtype}_section" "$cfg"
+       [ "$disabled" = 0 ] || return
+
+       if ss_mkjson \
+                       ss_mkjson_common_conf \
+                       ss_mkjson_${cfgtype}_conf \
+                       ; then
+               procd_open_instance "$cfgtype.$cfg"
+               procd_set_param command "$bin" -c "$confjson"
+               [ "$verbose" = 0 ] || procd_append_param command -v
+               [ -z "$bind_address" ] || procd_append_param command -b "$bind_address"
+               [ -z "$manager_address" ] || procd_append_param command --manager-address "$manager_address"
+               procd_set_param file "$confjson"
+               procd_set_param respawn
+               procd_close_instance
+               ss_rules_cb "$cfg"
        fi
-       /usr/bin/ss-redir \
-               -c $CONFIG_FILE \
-               -f /var/run/ss-redir.pid \
-               $udp
-       return $?
 }
 
-start_tunnel() {
-       : ${udp:="-u"}
-       /usr/bin/ss-tunnel \
-               -c $CONFIG_FILE \
-               -l $tunnel_port \
-               -L $tunnel_forward \
-               -f /var/run/ss-tunnel.pid \
-               $udp
-       return $?
+ss_rules_cb() {
+       local cfgserver
+       local server
+
+       [ "$cfgtype" != ss_server ] || return
+       config_get cfgserver "$cfg" server
+       config_get server "$cfgserver" server
+
+       ss_rules_servers="$ss_rules_servers $server"
+       if [ "$cfgtype" = ss_redir ]; then
+               if [ "$mode" = tcp_only -o "$mode" = "tcp_and_udp" ]; then
+                       eval "ss_rules_redir_tcp_$cfg=$local_port"
+               fi
+               if [ "$mode" = udp_only -o "$mode" = "tcp_and_udp" ]; then
+                       eval "ss_rules_redir_udp_$cfg=$local_port"
+                       eval "ss_rules_redir_server_udp_$cfg=$server"
+               fi
+       fi
 }
 
-rules() {
-       config_load shadowsocks-libev
-       config_foreach get_config shadowsocks-libev
-       [ "$enable" = 1 ] || exit 0
-       mkdir -p /var/run /var/etc
-
-       : ${server:?}
-       : ${server_port:?}
-       : ${local_port:?}
-       : ${password:?}
-       : ${encrypt_method:?}
-       case $udp_mode in
-               1) udp="-u"
-               ;;
-               2)
-                       udp="-U"
-                       : ${udp_server:?}
-                       : ${udp_server_port:?}
-                       : ${udp_local_port:?}
-                       : ${udp_password:?}
-                       : ${udp_encrypt_method:?}
-               ;;
+ss_rules() {
+       local cfg="ss_rules"
+       local bin="$ss_bindir/ss-rules"
+       local cfgtype
+       local args local_port_tcp local_port_udp server_udp
+       local i a_args d_args
+
+       [ -x "$bin" ] || return 1
+       config_get cfgtype "$cfg" TYPE
+       [ "$cfgtype" = ss_rules ] || return 1
+
+       eval "$(validate_ss_rules_section "$cfg" ss_validate_mklocal)"
+       validate_ss_rules_section "$cfg"
+       [ "$disabled" = 0 ] || return 1
+
+       eval local_port_tcp="\$ss_rules_redir_tcp_$redir_tcp"
+       eval local_port_udp="\$ss_rules_redir_udp_$redir_udp"
+       eval server_udp="\$ss_rules_redir_server_udp_$redir_udp"
+       [ -z "$local_port_udp" ] || args="$args -U"
+       case "$local_default" in
+               forward) args="$args -O" ;;
+               checkdst) args="$args -o" ;;
+       esac
+       case "$src_default" in
+               bypass) d_args=RETURN ;;
+               forward) d_args=SS_SPEC_WAN_FW ;;
+               checkdst) d_args=SS_SPEC_WAN_AC ;;
        esac
+       ss_rules_servers="$(echo "$ss_rules_servers" | tr ' ' '\n' | sort -u)"
+       for i in $src_ips_bypass; do a_args="b,$i $a_args"; done
+       for i in $src_ips_forward; do a_args="g,$i $a_args"; done
+       for i in $src_ips_checkdst; do a_args="n,$i $a_args"; done
+
+       "$bin" \
+                       -s "$ss_rules_servers" \
+                       -l "$local_port_tcp" \
+                       -S "$server_udp" \
+                       -L "$local_port_udp" \
+                       -B "$dst_ips_bypass_file" \
+                       -W "$dst_ips_forward_file" \
+                       -b "$dst_ips_bypass" \
+                       -w "$dst_ips_forward" \
+                       -e "$ipt_args" \
+                       -a "$a_args" \
+                       -d "$d_args" \
+                       $args \
+               || "$bin" -f
+}
+
+start_service() {
+       local cfgtype="$1"
+
+       mkdir -p "$ss_confdir"
+       config_load shadowsocks-libev
+       for cfgtype in ss_local ss_redir ss_server ss_tunnel; do
+               config_foreach ss_xxx "$cfgtype" "$cfgtype"
+       done
+       ss_rules
+}
+
+stop_service() {
+       local bin="$ss_bindir/ss-rules"
+
+       [ -x "$bin" ] && "$bin" -f
+       rm -rf "$ss_confdir"
+}
 
-       start_rules
+service_triggers() {
+       procd_add_reload_interface_trigger wan
+       procd_add_reload_trigger shadowsocks-libev
+       procd_open_validate
+       validate_server_section
+       validate_ss_local_section
+       validate_ss_redir_section
+       validate_ss_rules_section
+       validate_ss_server_section
+       validate_ss_tunnel_section
+       procd_close_validate
 }
 
-boot() {
-       until iptables-save -t nat | grep -q "^:zone_lan_prerouting"; do
-               sleep 1
+ss_validate_mklocal() {
+       local tuple opts
+
+       shift 2
+       for tuple in "$@"; do
+               opts="${tuple%%:*} $opts"
        done
-       start
+       [ -z "$opts" ] || echo "local $opts"
+}
+
+ss_validate() {
+       uci_validate_section shadowsocks-libev "$@"
+}
+
+validate_common_server_options_() {
+       local cfgtype="$1"; shift
+       local cfg="$1"; shift
+       local func="$1"; shift
+       local stream_methods='"table", "rc4", "rc4-md5", "aes-128-cfb", "aes-192-cfb", "aes-256-cfb", "aes-128-ctr", "aes-192-ctr", "aes-256-ctr", "bf-cfb", "camellia-128-cfb", "camellia-192-cfb", "camellia-256-cfb", "salsa20", "chacha20", "chacha20-ietf"'
+       local aead_methods='"aes-128-gcm", "aes-192-gcm", "aes-256-gcm"'
+
+       "${func:-ss_validate}" "$cfgtype" "$cfg" "$@" \
+               'disabled:bool:false' \
+               'server:host' \
+               'server_port:port' \
+               'password:string' \
+               'key:string' \
+               "method:or($stream_methods, $aead_methods)"
+}
+
+validate_common_client_options_() {
+       validate_common_options_ "$@" \
+               'server:uci("shadowsocks-libev", "@server")' \
+               'local_address:host:0.0.0.0' \
+               'local_port:port'
+}
+
+validate_common_options_() {
+       local cfgtype="$1"; shift
+       local cfg="$1"; shift
+       local func="$1"; shift
+
+       "${func:-ss_validate}" "$cfgtype" "$cfg" "$@" \
+               'disabled:bool:false' \
+               'verbose:bool:false' \
+               'fast_open:bool:false' \
+               'reuse_port:bool:false' \
+               'mode:or("tcp_only", "udp_only", "tcp_and_udp")' \
+               'mtu:uinteger' \
+               'timeout:uinteger' \
+               'user:string'
+}
+
+validate_server_section() {
+       validate_common_server_options_ server "$1" "${2}"
+}
+
+validate_ss_local_section() {
+       validate_common_client_options_ ss_local "$1" "${2}"
+}
+
+validate_ss_redir_section() {
+       validate_common_client_options_ ss_redir "$1" "${2}"
+}
+
+validate_ss_rules_section() {
+       "${2:-ss_validate}" ss_rules "$1" \
+               'disabled:bool:false' \
+               'redir_tcp:uci("shadowsocks-libev", "@ss_redir")' \
+               'redir_udp:uci("shadowsocks-libev", "@ss_redir")' \
+               'src_ips_bypass:list(ipaddr)' \
+               'src_ips_forward:list(ipaddr)' \
+               'src_ips_checkdst:list(ipaddr)' \
+               'dst_ips_bypass_file:file' \
+               'dst_ips_bypass:list(ipaddr)' \
+               'dst_ips_forward_file:file' \
+               'dst_ips_forward:list(ipaddr)' \
+               'src_default:or("bypass", "forward", "checkdst")' \
+               'local_default:or("bypass", "forward", "checkdst")' \
+               'ipt_args:string'
 }
 
-start() {
-       rules && start_redir
-       [ "$tunnel_enable" = 1 ] && start_tunnel
+validate_ss_server_section() {
+       validate_common_server_options_ ss_server "$1" \
+               validate_common_options_ \
+               "${2}" \
+               'bind_address:ipaddr' \
+               'manager_address:host'
 }
 
-stop() {
-       /usr/bin/ss-rules -f
-       killall -q -9 ss-redir
-       killall -q -9 ss-tunnel
+validate_ss_tunnel_section() {
+       validate_common_client_options_ ss_tunnel "$1" \
+               "${2}" \
+               'tunnel_address:regex(".+\:[0-9]+")'
 }
index 8ce1000cbcadad262d454a24ec4cef3fee21f728..8bd7264af1695fbbf76a9cb7f8f20a946c2234ba 100644 (file)
@@ -1,4 +1,10 @@
 #!/bin/sh
+#
+# Copyright (C) 2014-2017 Jian Chang <aa65535@live.com>
+#
+# This is free software, licensed under the GNU General Public License v3.
+# See /LICENSE for more information.
+#
 
 usage() {
        cat <<-EOF
@@ -6,20 +12,28 @@ usage() {
 
                Valid options are:
 
-                   -s <server_host>        hostname or ip of shadowsocks remote server
+                   -s <server_ips>         ip address of shadowsocks remote server
                    -l <local_port>         port number of shadowsocks local server
-                   -i <ip_list_file>       a file content is bypassed ip list
-                   -a <lan_ips>            lan ip of access control, need a prefix to
-                                           define access control mode
+                   -S <server_ips>         ip address of shadowsocks remote UDP server
+                   -L <local_port>         port number of shadowsocks local UDP server
+                   -B <ip_list_file>       a file whose content is bypassed ip list
                    -b <wan_ips>            wan ip of will be bypassed
+                   -W <ip_list_file>       a file whose content is forwarded ip list
                    -w <wan_ips>            wan ip of will be forwarded
-                   -e <extra_options>      extra options for iptables
+                   -I <interface>          proxy only for the given interface
+                   -d <target>             the default target of lan access control
+                   -a <lan_hosts>          lan ip of access control, need a prefix to
+                                           define proxy type
+                   -e <extra_args>         extra arguments for iptables
                    -o                      apply the rules to the OUTPUT chain
+                   -O                      apply the global rules to the OUTPUT chain
                    -u                      enable udprelay mode, TPROXY is required
                    -U                      enable udprelay mode, using different IP
                                            and ports for TCP and UDP
                    -f                      flush the rules
+                   -h                      show this help message and exit
 EOF
+       exit $1
 }
 
 loger() {
@@ -27,135 +41,192 @@ loger() {
        logger -st ss-rules[$$] -p$1 $2
 }
 
-ipt_n="iptables -t nat"
-ipt_m="iptables -t mangle"
-
-flush_r() {
-       local IPT
-
-       IPT=$(iptables-save -t nat)
-       eval $(echo "$IPT" | grep "_SS_SPEC_RULE_" | \
-               sed -e 's/^-A/$ipt_n -D/' -e 's/$/;/')
-
-       for chain in $(echo "$IPT" | awk '/^:SS_SPEC/{print $1}'); do
-               $ipt_n -F ${chain:1} 2>/dev/null && $ipt_n -X ${chain:1}
-       done
-
-       IPT=$(iptables-save -t mangle)
-       eval $(echo "$IPT" | grep "_SS_SPEC_RULE_" | \
-               sed -e 's/^-A/$ipt_m -D/' -e 's/$/;/')
-
-       for chain in $(echo "$IPT" | awk '/^:SS_SPEC/{print $1}'); do
-               $ipt_m -F ${chain:1} 2>/dev/null && $ipt_m -X ${chain:1}
+flush_rules() {
+       iptables-save -c | grep -v "SS_SPEC" | iptables-restore -c
+       if command -v ip >/dev/null 2>&1; then
+               ip rule del fwmark 1 lookup 100 2>/dev/null
+               ip route del local default dev lo table 100 2>/dev/null
+       fi
+       for setname in $(ipset -n list | grep "ss_spec"); do
+               ipset destroy $setname 2>/dev/null
        done
-
-       ip rule del fwmark 0x01/0x01 table 100 2>/dev/null
-       ip route del local 0.0.0.0/0 dev lo table 100 2>/dev/null
-       ipset -X ss_spec_lan_ac 2>/dev/null
-       ipset -X ss_spec_wan_ac 2>/dev/null
+       FWI=$(uci get firewall.shadowsocks.path 2>/dev/null)
+       [ -n "$FWI" ] && echo '# firewall include file' >$FWI
        return 0
 }
 
-ipset_r() {
-       ipset -! -R <<-EOF || return 1
-               create ss_spec_wan_ac hash:net
-               $(echo -e "$IPLIST" | sed -e "s/^/add ss_spec_wan_ac /")
-               $(for ip in $WAN_FW_IP; do echo "add ss_spec_wan_ac $ip nomatch"; done)
+ipset_init() {
+       ipset -! restore <<-EOF || return 1
+               create ss_spec_src_ac hash:ip hashsize 64
+               create ss_spec_src_bp hash:ip hashsize 64
+               create ss_spec_src_fw hash:ip hashsize 64
+               create ss_spec_dst_sp hash:net hashsize 64
+               create ss_spec_dst_bp hash:net hashsize 64
+               create ss_spec_dst_fw hash:net hashsize 64
+               $(gen_lan_host_ipset_entry)
+               $(gen_special_purpose_ip | sed -e "s/^/add ss_spec_dst_sp /")
+               $(sed -e "s/^/add ss_spec_dst_bp /" ${WAN_BP_LIST:=/dev/null} 2>/dev/null)
+               $(for ip in $WAN_BP_IP; do echo "add ss_spec_dst_bp $ip"; done)
+               $(sed -e "s/^/add ss_spec_dst_fw /" ${WAN_FW_LIST:=/dev/null} 2>/dev/null)
+               $(for ip in $WAN_FW_IP; do echo "add ss_spec_dst_fw $ip"; done)
 EOF
-       $ipt_n -N SS_SPEC_WAN_AC && \
-       $ipt_n -A SS_SPEC_WAN_AC -m set --match-set ss_spec_wan_ac dst -j RETURN && \
-       $ipt_n -A SS_SPEC_WAN_AC -j SS_SPEC_WAN_FW
-       return $?
+       return 0
 }
 
-fw_rule() {
-       $ipt_n -N SS_SPEC_WAN_FW && \
-       $ipt_n -A SS_SPEC_WAN_FW -p tcp \
-               -j REDIRECT --to-ports $local_port 2>/dev/null || {
-               loger 3 "Can't redirect, please check the iptables."
-               exit 1
-       }
+ipt_nat() {
+       include_ac_rules nat
+       ipt="iptables -t nat"
+       $ipt -A SS_SPEC_WAN_FW -p tcp \
+               -j REDIRECT --to-ports $local_port || return 1
+       if [ -n "$OUTPUT" ]; then
+               $ipt -N SS_SPEC_WAN_DG
+               $ipt -A SS_SPEC_WAN_DG -m set --match-set ss_spec_dst_sp dst -j RETURN
+               $ipt -A SS_SPEC_WAN_DG -p tcp $EXT_ARGS -j $OUTPUT
+               $ipt -I OUTPUT 1 -p tcp -j SS_SPEC_WAN_DG
+       fi
        return $?
 }
 
-ac_rule() {
-       local TAG ROUTECHAIN
-
-       if [ -n "$LAN_AC_IP" ]; then
-               if [ "${LAN_AC_IP:0:1}" = "w" ]; then
-                       TAG="nomatch"
-               else
-                       if [ "${LAN_AC_IP:0:1}" != "b" ]; then
-                               loger 3 "Bad argument \`-a $LAN_AC_IP\`."
-                               return 2
-                       fi
-               fi
+ipt_mangle() {
+       [ -n "$TPROXY" ] || return 0
+       if !(lsmod | grep -q TPROXY && command -v ip >/dev/null); then
+               loger 4 "TPROXY or ip not found."
+               return 0
        fi
+       ip rule add fwmark 1 lookup 100
+       ip route add local default dev lo table 100
+       include_ac_rules mangle
+       iptables -t mangle -A SS_SPEC_WAN_FW -p udp \
+               -j TPROXY --on-port $LOCAL_PORT --tproxy-mark 0x01/0x01
+       return $?
+}
 
-       ROUTECHAIN=PREROUTING
-       if iptables-save -t nat | grep -q "^:zone_lan_prerouting"; then
-               ROUTECHAIN=zone_lan_prerouting
-       fi
+export_ipt_rules() {
+       [ -n "$FWI" ] || return 0
+       cat <<-CAT >>$FWI
+       iptables-save -c | grep -v "SS_SPEC" | iptables-restore -c
+       iptables-restore -n <<-EOF
+       $(iptables-save | grep -E "SS_SPEC|^\*|^COMMIT" |\
+                       sed -e "s/^-A \(OUTPUT\|PREROUTING\)/-I \1 1/")
+       EOF
+CAT
+       return $?
+}
+
+gen_lan_host_ipset_entry() {
+       for host in $LAN_HOSTS; do
+               case "${host:0:1}" in
+                       n|N)
+                               echo add ss_spec_src_ac ${host:2}
+                               ;;
+                       b|B)
+                               echo add ss_spec_src_bp ${host:2}
+                               ;;
+                       g|G)
+                               echo add ss_spec_src_fw ${host:2}
+                               ;;
+               esac
+       done
+}
 
-       ipset -! -R <<-EOF || return 1
-               create ss_spec_lan_ac hash:net
-               $(for ip in ${LAN_AC_IP:1}; do echo "add ss_spec_lan_ac $ip $TAG"; done)
+gen_special_purpose_ip() {
+       cat <<-EOF | grep -E "^([0-9]{1,3}\.){3}[0-9]{1,3}"
+               0.0.0.0/8
+               10.0.0.0/8
+               100.64.0.0/10
+               127.0.0.0/8
+               169.254.0.0/16
+               172.16.0.0/12
+               192.0.0.0/24
+               192.0.2.0/24
+               192.31.196.0/24
+               192.52.193.0/24
+               192.88.99.0/24
+               192.168.0.0/16
+               192.175.48.0/24
+               198.18.0.0/15
+               198.51.100.0/24
+               203.0.113.0/24
+               224.0.0.0/4
+               240.0.0.0/4
+               255.255.255.255
+               $server
+               $SERVER
 EOF
-       $ipt_n -A $ROUTECHAIN -p tcp $EXT_ARGS \
-               -m set ! --match-set ss_spec_lan_ac src \
-               -m comment --comment "_SS_SPEC_RULE_" -j SS_SPEC_WAN_AC
+}
 
-       if [ "$OUTPUT" = 1 ]; then
-               $ipt_n -A OUTPUT -p tcp $EXT_ARGS \
-                       -m comment --comment "_SS_SPEC_RULE_" -j SS_SPEC_WAN_AC
-       fi
-       return $?
+include_ac_rules() {
+       local protocol=$([ "$1" = "mangle" ] && echo udp || echo tcp)
+       iptables-restore -n <<-EOF
+       *$1
+       :SS_SPEC_LAN_DG - [0:0]
+       :SS_SPEC_LAN_AC - [0:0]
+       :SS_SPEC_WAN_AC - [0:0]
+       :SS_SPEC_WAN_FW - [0:0]
+       -A SS_SPEC_LAN_DG -m set --match-set ss_spec_dst_sp dst -j RETURN
+       -A SS_SPEC_LAN_DG -p $protocol $EXT_ARGS -j SS_SPEC_LAN_AC
+       -A SS_SPEC_LAN_AC -m set --match-set ss_spec_src_bp src -j RETURN
+       -A SS_SPEC_LAN_AC -m set --match-set ss_spec_src_fw src -j SS_SPEC_WAN_FW
+       -A SS_SPEC_LAN_AC -m set --match-set ss_spec_src_ac src -j SS_SPEC_WAN_AC
+       -A SS_SPEC_LAN_AC -j ${LAN_TARGET:=SS_SPEC_WAN_AC}
+       -A SS_SPEC_WAN_AC -m set --match-set ss_spec_dst_fw dst -j SS_SPEC_WAN_FW
+       -A SS_SPEC_WAN_AC -m set --match-set ss_spec_dst_bp dst -j RETURN
+       -A SS_SPEC_WAN_AC -j SS_SPEC_WAN_FW
+       $(gen_prerouting_rules $protocol)
+       COMMIT
+EOF
 }
 
-tp_rule() {
-       [ -n "$TPROXY" ] || return 0
-       ip rule add fwmark 0x01/0x01 table 100
-       ip route add local 0.0.0.0/0 dev lo table 100
-       $ipt_m -N SS_SPEC_TPROXY
-       $ipt_m -A SS_SPEC_TPROXY -p udp -m set ! --match-set ss_spec_wan_ac dst \
-               -j TPROXY --on-port $LOCAL_PORT --tproxy-mark 0x01/0x01
-       $ipt_m -A PREROUTING -p udp $EXT_ARGS \
-               -m set ! --match-set ss_spec_lan_ac src \
-               -m comment --comment "_SS_SPEC_RULE_" -j SS_SPEC_TPROXY
-       return $?
+gen_prerouting_rules() {
+       [ -z "$IFNAMES" ] && echo -I PREROUTING 1 -p $1 -j SS_SPEC_LAN_DG
+       for ifname in $IFNAMES; do
+               echo -I PREROUTING 1 -i $ifname -p $1 -j SS_SPEC_LAN_DG
+       done
 }
 
-while getopts ":s:l:S:L:i:e:a:b:w:ouUf" arg; do
-       case $arg in
+while getopts ":s:l:S:L:B:b:W:w:I:d:a:e:oOuUfh" arg; do
+       case "$arg" in
                s)
-                       server=$OPTARG
+                       server=$(for ip in $OPTARG; do echo $ip; done)
                        ;;
                l)
                        local_port=$OPTARG
                        ;;
                S)
-                       SERVER=$OPTARG
+                       SERVER=$(for ip in $OPTARG; do echo $ip; done)
                        ;;
                L)
                        LOCAL_PORT=$OPTARG
                        ;;
-               i)
-                       IGNORE=$OPTARG
-                       ;;
-               e)
-                       EXT_ARGS=$OPTARG
-                       ;;
-               a)
-                       LAN_AC_IP=$OPTARG
+               B)
+                       WAN_BP_LIST=$OPTARG
                        ;;
                b)
-                       WAN_BP_IP=$(for ip in $OPTARG; do echo $ip; done)
+                       WAN_BP_IP=$OPTARG
+                       ;;
+               W)
+                       WAN_FW_LIST=$OPTARG
                        ;;
                w)
                        WAN_FW_IP=$OPTARG
                        ;;
+               I)
+                       IFNAMES=$OPTARG
+                       ;;
+               d)
+                       LAN_TARGET=$OPTARG
+                       ;;
+               a)
+                       LAN_HOSTS=$OPTARG
+                       ;;
+               e)
+                       EXT_ARGS=$OPTARG
+                       ;;
                o)
-                       OUTPUT=1
+                       OUTPUT=SS_SPEC_WAN_AC
+                       ;;
+               O)
+                       OUTPUT=SS_SPEC_WAN_FW
                        ;;
                u)
                        TPROXY=1
@@ -164,56 +235,26 @@ while getopts ":s:l:S:L:i:e:a:b:w:ouUf" arg; do
                        TPROXY=2
                        ;;
                f)
-                       flush_r
+                       flush_rules
                        exit 0
                        ;;
+               h)
+                       usage 0
+                       ;;
        esac
 done
 
-if [ -z "$server" -o -z "$local_port" ]; then
-       usage
-       exit 2
-fi
+[ -z "$server" -o -z "$local_port" ] && usage 2
 
 if [ "$TPROXY" = 1 ]; then
-       SERVER=$server
+       unset SERVER
        LOCAL_PORT=$local_port
+elif [ "$TPROXY" = 2 ]; then
+       : ${SERVER:?"You must assign an ip for the udp relay server."}
+       : ${LOCAL_PORT:?"You must assign a port for the udp relay server."}
 fi
 
-if [ "$TPROXY" = 2 ]; then
-       if [ -z "$SERVER" -o -z "$LOCAL_PORT" ]; then
-               loger 3 "Please use -S and -L specifies IP and port for UDP."
-       fi
-fi
-
-if [ -f "$IGNORE" ]; then
-       IGNORE_IP=$(cat $IGNORE 2>/dev/null)
-fi
-
-IPLIST=$(cat <<-EOF | grep -E "^([0-9]{1,3}\.){3}[0-9]{1,3}"
-       $server
-       $SERVER
-       0.0.0.0/8
-       10.0.0.0/8
-       100.64.0.0/10
-       127.0.0.0/8
-       169.254.0.0/16
-       172.16.0.0/12
-       192.0.0.0/24
-       192.0.2.0/24
-       192.88.99.0/24
-       192.168.0.0/16
-       198.18.0.0/15
-       198.51.100.0/24
-       203.0.113.0/24
-       224.0.0.0/4
-       240.0.0.0/4
-       255.255.255.255
-       $WAN_BP_IP
-       $IGNORE_IP
-EOF
-)
-
-flush_r && fw_rule && ipset_r && ac_rule && tp_rule
-
-exit $?
+flush_rules && ipset_init && ipt_nat && ipt_mangle && export_ipt_rules
+RET=$?
+[ "$RET" = 0 ] || loger 3 "Start failed!"
+exit $RET
diff --git a/net/shadowsocks-libev/files/ss-rules.defaults b/net/shadowsocks-libev/files/ss-rules.defaults
new file mode 100755 (executable)
index 0000000..c89e2d0
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+s=firewall.ss_rules
+uci get "$s" >/dev/null && exit 0
+uci batch <<-EOF
+       set $s=include
+       set $s.path=/etc/firewall.ss-rules
+       set $s.reload=1
+       commit firewall
+EOF
diff --git a/net/shadowsocks-libev/patches/0001-decouple-use_syslog-from-pid_flags.patch b/net/shadowsocks-libev/patches/0001-decouple-use_syslog-from-pid_flags.patch
new file mode 100644 (file)
index 0000000..875f105
--- /dev/null
@@ -0,0 +1,151 @@
+From ea18a4ffcd9a8de4c5b888d9dc58a2b173c5ff8e Mon Sep 17 00:00:00 2001
+From: Yousong Zhou <yszhou4tech@gmail.com>
+Date: Mon, 26 Jun 2017 14:49:36 +0800
+Subject: [PATCH] decouple use_syslog from pid_flags
+
+Sometimes we need processes to run in the foreground to be supervised
+and at the same time use syslog facility instead of logging its stdout,
+stderr output
+---
+ src/jconf.c   |  6 ++++++
+ src/local.c   |  2 +-
+ src/manager.c |  2 +-
+ src/redir.c   |  2 +-
+ src/server.c  |  2 +-
+ src/tunnel.c  |  2 +-
+ src/utils.h   | 18 +++++++++++-------
+ 7 files changed, 22 insertions(+), 12 deletions(-)
+
+diff --git a/src/jconf.c b/src/jconf.c
+index 3c58148..05445c3 100644
+--- a/src/jconf.c
++++ b/src/jconf.c
+@@ -313,6 +313,12 @@ read_jconf(const char *file)
+                 check_json_value_type(value, json_boolean,
+                     "invalid config file: option 'ipv6_first' must be a boolean");
+                 conf.ipv6_first = value->u.boolean;
++#ifdef HAS_SYSLOG
++            } else if (strcmp(name, "use_syslog") == 0) {
++                check_json_value_type(value, json_boolean,
++                    "invalid config file: option 'use_syslog' must be a boolean");
++                use_syslog = value->u.boolean;
++#endif
+             }
+         }
+     } else {
+diff --git a/src/local.c b/src/local.c
+index aa69205..d123516 100644
+--- a/src/local.c
++++ b/src/local.c
+@@ -1519,8 +1519,8 @@ main(int argc, char **argv)
+         local_addr = "127.0.0.1";
+     }
++    USE_SYSLOG(argv[0], pid_flags);
+     if (pid_flags) {
+-        USE_SYSLOG(argv[0]);
+         daemonize(pid_path);
+     }
+diff --git a/src/manager.c b/src/manager.c
+index 6e7197c..338ab85 100644
+--- a/src/manager.c
++++ b/src/manager.c
+@@ -1149,8 +1149,8 @@ main(int argc, char **argv)
+         timeout = "60";
+     }
++    USE_SYSLOG(argv[0], pid_flags);
+     if (pid_flags) {
+-        USE_SYSLOG(argv[0]);
+         daemonize(pid_path);
+     }
+diff --git a/src/redir.c b/src/redir.c
+index 4856007..88660f8 100644
+--- a/src/redir.c
++++ b/src/redir.c
+@@ -1137,8 +1137,8 @@ main(int argc, char **argv)
+ #endif
+     }
++    USE_SYSLOG(argv[0], pid_flags);
+     if (pid_flags) {
+-        USE_SYSLOG(argv[0]);
+         daemonize(pid_path);
+     }
+diff --git a/src/server.c b/src/server.c
+index 747f0e5..7e3df9e 100644
+--- a/src/server.c
++++ b/src/server.c
+@@ -1726,8 +1726,8 @@ main(int argc, char **argv)
+     }
+ #endif
++    USE_SYSLOG(argv[0], pid_flags);
+     if (pid_flags) {
+-        USE_SYSLOG(argv[0]);
+         daemonize(pid_path);
+     }
+diff --git a/src/tunnel.c b/src/tunnel.c
+index 77c7380..2419fa0 100644
+--- a/src/tunnel.c
++++ b/src/tunnel.c
+@@ -1022,8 +1022,8 @@ main(int argc, char **argv)
+         local_addr = "127.0.0.1";
+     }
++    USE_SYSLOG(argv[0], pid_flags);
+     if (pid_flags) {
+-        USE_SYSLOG(argv[0]);
+         daemonize(pid_path);
+     }
+diff --git a/src/utils.h b/src/utils.h
+index 2603e85..53f3983 100644
+--- a/src/utils.h
++++ b/src/utils.h
+@@ -35,7 +35,7 @@
+ #include <android/log.h>
+ #define USE_TTY()
+-#define USE_SYSLOG(ident)
++#define USE_SYSLOG(ident, _cond)
+ #define LOGI(...)                                                \
+     ((void)__android_log_print(ANDROID_LOG_DEBUG, "shadowsocks", \
+                                __VA_ARGS__))
+@@ -53,7 +53,7 @@
+ extern FILE *logfile;
+ #define TIME_FORMAT "%Y-%m-%d %H:%M:%S"
+ #define USE_TTY()
+-#define USE_SYSLOG(ident)
++#define USE_SYSLOG(ident, _cond)
+ #define USE_LOGFILE(ident)                                     \
+     do {                                                       \
+         if (ident != NULL) { logfile = fopen(ident, "w+"); } } \
+@@ -99,11 +99,15 @@ extern int use_syslog;
+         use_tty = isatty(STDERR_FILENO); \
+     } while (0)
+-#define USE_SYSLOG(ident)                          \
+-    do {                                           \
+-        use_syslog = 1;                            \
+-        openlog((ident), LOG_CONS | LOG_PID, 0); } \
+-    while (0)
++#define USE_SYSLOG(_ident, _cond)                       \
++    do {                                                \
++        if (!use_syslog && (_cond)) {                   \
++            use_syslog = 1;                             \
++        }                                               \
++        if (use_syslog) {                               \
++            openlog((_ident), LOG_CONS | LOG_PID, 0);   \
++        }                                               \
++    } while (0)
+ #define LOGI(format, ...)                                                        \
+     do {                                                                         \
+-- 
+2.12.2
+
index 272eefe9382f57583a072aa8cf6ea9a1d5592112..da8e5fe8b536d694541b5f9d9b5d5be6151d4159 100644 (file)
@@ -15,7 +15,7 @@ PKG_LICENSE:=GPL-3.0
 PKG_LICENSE_FILES:=COPYING
 
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL=https://github.com/sipcapture/sipgrep
+PKG_SOURCE_URL:=https://github.com/sipcapture/sipgrep
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE_VERSION:=df8a95b066569be92aa38cad01086ea595b36863
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
index e1b2c9ad4762993540b34709cf9e1f27ef0a28d7..181b153532e9267c6fe5f8eb65585ba51e2999e6 100644 (file)
@@ -15,7 +15,7 @@ PKG_LICENSE:=GPL-3.0
 PKG_LICENSE_FILES:=COPYING
 
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL=https://github.com/irontec/sngrep
+PKG_SOURCE_URL:=https://github.com/irontec/sngrep
 PKG_SOURCE_SUBDIR=$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE_VERSION:=da791185cabeea5a6fcc7372157340b2d1369df7
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
index 73886ed041aaa18e1857691c950418175e605511..e27689929e22e01b1419cc706820f5de88121d5e 100644 (file)
@@ -15,7 +15,7 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://www.dest-unreach.org/socat/download
 PKG_HASH:=e3561f808739383eb10fada1e5d4f26883f0311b34fd0af7837d0c95ef379251
 
-PKG_MAINTAINER:= Ted Hess <thess@kitschensync.net>
+PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
 
 PKG_LICENSE:=GPL-2.0 OpenSSL
 PKG_LICENSE_FILES:=COPYING COPYING.OpenSSL
index 561322a7491e8d31d2f7ab8c80861031d2855926..c80dc053f937c3aba472452912818e2cf809d68e 100644 (file)
@@ -8,11 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=subversion
-PKG_RELEASE:=2
-PKG_VERSION:=1.9.5
+PKG_RELEASE:=1
+PKG_VERSION:=1.9.6
 PKG_SOURCE_URL:=@APACHE/subversion
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_MD5SUM:=9fcbae352a5efe73d46a88c97c6bba14
+PKG_HASH:=dbcbc51fb634082f009121f2cb64350ce32146612787ffb0f7ced351aacaae19
+PKG_MD5SUM:=f27e00338d4a9f7f9aec9d4a3f8b418b
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
 PKG_MAINTAINER:=Val Kulkov <val.kulkov@gmail.com>
index 575fd7a59767a404abc9aed43232e4f86c7584b2..b1ca349267942de7ed13ea5dc01005b0d426d935 100644 (file)
@@ -32,7 +32,7 @@ include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/cmake.mk
 
 define Package/libsysrepo
-  SECTION:=util
+  SECTION:=utils
   CATEGORY:=Utilities
   URL:=$(PKG_SOURCE_URL)
   TITLE:=YANG-based data store library
@@ -40,7 +40,7 @@ define Package/libsysrepo
 endef
 
 define Package/sysrepo
-  SECTION:=util
+  SECTION:=utils
   CATEGORY:=Utilities
   URL:=$(PKG_SOURCE_URL)
   TITLE:=YANG-based data store daemon and plugin
@@ -48,7 +48,7 @@ define Package/sysrepo
 endef
 
 define Package/sysrepoctl
-  SECTION:=util
+  SECTION:=utils
   CATEGORY:=Utilities
   URL:=$(PKG_SOURCE_URL)
   TITLE:=sysrepo cli tool
@@ -56,7 +56,7 @@ define Package/sysrepoctl
 endef
 
 define Package/sysrepocfg
-  SECTION:=util
+  SECTION:=utils
   CATEGORY:=Utilities
   URL:=$(PKG_SOURCE_URL)
   TITLE:=sysrepo configuration tool
index ad110b2ac028407fb56aa8fee046a78ed461a81c..ed5551f9c7bfd504fb4cb3dcb322b4c2c81daff6 100644 (file)
@@ -8,14 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=tor
-PKG_VERSION:=0.2.9.10
+PKG_VERSION:=0.2.9.11
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://dist.torproject.org/ \
        https://archive.torproject.org/tor-package-archive
-PKG_MD5SUM:=6760a646a096b61e307b84fb5ae93cc7
-PKG_HASH:=d611283e1fb284b5f884f8c07e7d3151016851848304f56cfdf3be2a88bd1341
+PKG_MD5SUM:=763ae964e916c2a7a4c5015d351fcf8b
+PKG_HASH:=c1959bebff9a546a54cbedb58c8289a42441991af417d2d16f7b336be8903221
 PKG_MAINTAINER:=Hauke Mehrtens <hauke@hauke-m.de>
 PKG_LICENSE_FILES:=LICENSE
 
index 0fb8865640927a3b757481a88607266f3129725b..424ebbeaf277acb335a898f39778f1d3e5ed5e06 100644 (file)
@@ -6,7 +6,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=travelmate
-PKG_VERSION:=0.7.5
+PKG_VERSION:=0.8.2
 PKG_RELEASE:=1
 PKG_LICENSE:=GPL-3.0+
 PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
@@ -17,7 +17,7 @@ define Package/travelmate
        SECTION:=net
        CATEGORY:=Network
        TITLE:=A wlan connection manager for travel router
-       DEPENDS:=+iw
+       DEPENDS:=+iwinfo
        PKGARCH:=all
 endef
 
index 0e30dd3d92ca5ab987967c0275ff2ef8198d8726..5a21d4a44c0641fefba73234e55a09de333dbbfc 100644 (file)
@@ -10,7 +10,7 @@ To avoid these kind of deadlocks, travelmate set all station interfaces in an "a
 * easy setup within normal OpenWrt/LEDE environment
 * strong LuCI-Support to simplify the interface setup
 * fast uplink connections
-* manual / automatic mode support, the latter one checks the existing uplink connection regardless of ifdown event trigger every n seconds
+* manual / automatic mode support, the latter one checks the existing uplink connection regardless of ifdown event trigger actions every n seconds
 * support of devices with multiple radios
 * procd init and hotplug support
 * runtime information available via LuCI & via 'status' init command
@@ -18,7 +18,7 @@ To avoid these kind of deadlocks, travelmate set all station interfaces in an "a
 
 ## Prerequisites
 * [LEDE](https://www.lede-project.org) 17.01 or latest snapshot
-* iw for wlan scanning
+* iwinfo for wlan scanning
 
 ## LEDE trunk Installation & Usage
 * download the package [here](https://downloads.lede-project.org/snapshots/packages/x86_64/packages)
@@ -26,7 +26,7 @@ To avoid these kind of deadlocks, travelmate set all station interfaces in an "a
 * configure your network:
     * automatic: use the LuCI frontend with automatic STA interface setup, that's the recommended way
     * manual: see detailed configure steps below
-    * at least you need one AP and one STA interface configured
+    * at least you need one configured AP and one STA interface
 
 ## LuCI travelmate companion package
 * download the package [here](https://downloads.lede-project.org/snapshots/packages/x86_64/luci)
index aac132969b248973f5d32a770bb18de9908c566f..888db203307921f4c7af50472b47e1f8639d834e 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh /etc/rc.common
 
-START=35
+START=90
 USE_PROCD=1
 
 EXTRA_COMMANDS="status"
@@ -11,7 +11,7 @@ trm_script="/usr/bin/travelmate.sh"
 
 boot()
 {
-    ubus -t 30 wait_for network.interface 2>/dev/null
+    ubus -t 30 wait_for network.interface network.wireless 2>/dev/null
     rc_procd start_service
 }
 
index 5ae1a93abebe03a82117bc0236589ac05cb846c2..c591020177a2ded4568fc0da6a60c9fef44ad3b0 100755 (executable)
@@ -10,7 +10,7 @@
 #
 LC_ALL=C
 PATH="/usr/sbin:/usr/bin:/sbin:/bin"
-trm_ver="0.7.5"
+trm_ver="0.8.2"
 trm_sysver="$(ubus -S call system board | jsonfilter -e '@.release.description')"
 trm_enabled=0
 trm_debug=0
@@ -18,27 +18,17 @@ trm_automatic=1
 trm_maxretry=3
 trm_maxwait=30
 trm_timeout=60
-trm_iw="$(command -v iw)"
+trm_iwinfo="$(command -v iwinfo)"
 trm_radio=""
 trm_rtfile="/tmp/trm_runtime.json"
 
-# source required system libraries
-#
-if [ -r "/lib/functions.sh" ] && [ -r "/usr/share/libubox/jshn.sh" ]
-then
-    . "/lib/functions.sh"
-    . "/usr/share/libubox/jshn.sh"
-else
-    f_log "error" "system libraries not found"
-fi
-
 # f_envload: load travelmate environment
 #
 f_envload()
 {
     # initialize lists
     #
-    trm_aplist=""
+    trm_devlist=""
     trm_stalist=""
     trm_radiolist=""
 
@@ -57,13 +47,6 @@ f_envload()
         f_log "info " "travelmate is currently disabled, please set 'trm_enabled' to '1' to use this service"
         exit 0
     fi
-
-    # check for wireless tool
-    #
-    if [ -z "${trm_iw}" ]
-    then
-        f_log "error" "no wireless tool found, please install package 'iw'"
-    fi
 }
 
 # f_prepare: gather radio information & bring down all STA interfaces
@@ -75,11 +58,12 @@ f_prepare()
     local radio="$(uci -q get wireless."${config}".device)"
     local disabled="$(uci -q get wireless."${config}".disabled)"
 
-    if [ "${mode}" = "ap" ] && ([ -z "${disabled}" ] || [ "${disabled}" = "0" ]) && \
-        ([ -z "${trm_radio}" ] || [ "${trm_radio}" = "${radio}" ])
+    if ([ -z "${trm_radio}" ] || [ "${trm_radio}" = "${radio}" ]) && \
+        [ -z "$(printf "%s" "${trm_radiolist}" | grep -Fo " ${radio}")" ]
     then
         trm_radiolist="${trm_radiolist} ${radio}"
-    elif [ "${mode}" = "sta" ]
+    fi
+    if [ "${mode}" = "sta" ]
     then
         trm_stalist="${trm_stalist} ${config}_${radio}"
         if [ -z "${disabled}" ] || [ "${disabled}" = "0" ]
@@ -87,7 +71,7 @@ f_prepare()
             uci -q set wireless."${config}".disabled=1
         fi
     fi
-    f_log "debug" "mode: ${mode}, radio: ${radio}, config: ${config}, disabled: ${disabled}"
+    f_log "debug" "prepare: ${mode}, radio: ${radio}, config: ${config}, disabled: ${disabled}"
 }
 
 # f_check: check interface status
@@ -96,44 +80,43 @@ f_check()
 {
     local ifname radio status cnt=1 mode="${1}"
 
-    ubus call network reload
     trm_ifstatus="false"
+    ubus call network reload
     while [ ${cnt} -le ${trm_maxwait} ]
     do
         status="$(ubus -S call network.wireless status 2>/dev/null)"
         if [ -n "${status}" ]
         then
-            if [ "${mode}" = "ap" ]
+            if [ "${mode}" = "dev" ]
             then
                 for radio in ${trm_radiolist}
                 do
-                    trm_ifstatus="$(printf "%s" "${status}" | jsonfilter -e "@.${radio}.up")"
+                    trm_ifstatus="$(printf "%s" "${status}" | jsonfilter -l1 -e "@.${radio}.up")"
                     if [ "${trm_ifstatus}" = "true" ]
                     then
-                        trm_aplist="${trm_aplist} $(printf "%s" "${status}" | jsonfilter -e "@.${radio}.interfaces[@.config.mode=\"ap\"].ifname")_${radio}"
-                        ifname="${trm_aplist}"
+                        trm_devlist="${trm_devlist} ${radio}"
                     else
-                        trm_aplist=""
-                        trm_ifstatus="false"
+                        trm_devlist=""
                         break
                     fi
                 done
+                ifname="${trm_devlist}"
             else
-                ifname="$(printf "%s" "${status}" | jsonfilter -e '@.*.interfaces[@.config.mode="sta"].ifname')"
+                ifname="$(printf "%s" "${status}" | jsonfilter -l1 -e '@.*.interfaces[@.config.mode="sta"].ifname')"
                 if [ -n "${ifname}" ]
                 then
-                    trm_ifstatus="$(ubus -S call network.interface dump 2>/dev/null | jsonfilter -e "@.interface[@.device=\"${ifname}\"].up")"
+                    trm_ifstatus="$(ubus -S call network.interface dump 2>/dev/null | jsonfilter -l1 -e "@.interface[@.device=\"${ifname}\"].up")"
                 fi
             fi
-        fi
-        if [ "${mode}" = "initial" ] || [ "${trm_ifstatus}" = "true" ]
-        then
-            break
+            if [ "${mode}" = "initial" ] || [ "${trm_ifstatus}" = "true" ]
+            then
+                break
+            fi
         fi
         cnt=$((cnt+1))
         sleep 1
     done
-    f_log "debug" "mode: ${mode}, name: ${ifname}, status: ${trm_ifstatus}, count: ${cnt}, max-wait: ${trm_maxwait}, automatic: ${trm_automatic}"
+    f_log "debug" "check: ${mode}, name: ${ifname}, status: ${trm_ifstatus}, count: ${cnt}, max-wait: ${trm_maxwait}, automatic: ${trm_automatic}"
 }
 
 # f_jsnupdate: update runtime information
@@ -197,7 +180,7 @@ f_log()
 #
 f_main()
 {
-    local config ssid_list ap ap_radio sta_ssid sta_radio sta_iface cnt=1
+    local dev config ssid_list sta_ssid sta_radio sta_iface cnt=1
 
     f_check "initial"
     if [ "${trm_ifstatus}" != "true" ]
@@ -209,22 +192,19 @@ f_main()
         then
             uci -q commit wireless
         fi
-        f_check "ap"
-        f_log "debug" "ap-list: ${trm_aplist}, sta-list: ${trm_stalist}"
-        for ap in ${trm_aplist}
+        f_check "dev"
+        f_log "debug" "main: ${trm_devlist}, sta-list: ${trm_stalist}"
+        for dev in ${trm_devlist}
         do
             cnt=1
-            ap_radio="${ap##*_}"
-            ap="${ap%%_*}"
-            if [ -z "$(printf "%s" "${trm_stalist}" | grep -Fo "_${ap_radio}")" ]
+            if [ -z "$(printf "%s" "${trm_stalist}" | grep -Fo "_${dev}")" ]
             then
                 continue
             fi
             while [ ${cnt} -le ${trm_maxretry} ]
             do
-                ssid_list="$(${trm_iw} dev "${ap}" scan 2>/dev/null | \
-                    awk '/SSID: /{if(!seen[$0]++){printf "\"";for(i=2; i<=NF; i++)if(i==2)printf $i;else printf " "$i;printf "\" "}}')"
-                f_log "debug" "iw: ${trm_iw}, ap: ${ap}, ssids: ${ssid_list}"
+                ssid_list="$(${trm_iwinfo} "${dev}" scan | awk '/ESSID: "/{ORS=" ";if (!seen[$0]++) for(i=2; i<=NF; i++) print $i}')"
+                f_log "debug" "main: ${trm_iwinfo}, dev: ${dev}, ssids: ${ssid_list}"
                 if [ -n "${ssid_list}" ]
                 then
                     for sta in ${trm_stalist}
@@ -233,7 +213,7 @@ f_main()
                         sta_radio="${sta##*_}"
                         sta_ssid="$(uci -q get wireless."${config}".ssid)"
                         sta_iface="$(uci -q get wireless."${config}".network)"
-                        if [ -n "$(printf "%s" "${ssid_list}" | grep -Fo "\"${sta_ssid}\"")" ] && [ "${ap_radio}" = "${sta_radio}" ]
+                        if [ -n "$(printf "%s" "${ssid_list}" | grep -Fo "\"${sta_ssid}\"")" ] && [ "${dev}" = "${sta_radio}" ]
                         then
                             uci -q set wireless."${config}".disabled=0
                             f_check "sta"
@@ -272,6 +252,16 @@ f_main()
     fi
 }
 
+# source required system libraries
+#
+if [ -r "/lib/functions.sh" ] && [ -r "/usr/share/libubox/jshn.sh" ]
+then
+    . "/lib/functions.sh"
+    . "/usr/share/libubox/jshn.sh"
+else
+    f_log "error" "system libraries not found"
+fi
+
 # handle different travelmate actions
 #
 f_envload
index a7171e59d0783216e5f33d1e5c553cdf6546444d..5f67b5edc2efb2d1b2b2cfda99c6689274eebc8a 100644 (file)
@@ -8,8 +8,8 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=unbound
-PKG_VERSION:=1.6.2
-PKG_RELEASE:=2
+PKG_VERSION:=1.6.4
+PKG_RELEASE:=1
 
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=LICENSE
@@ -17,7 +17,7 @@ PKG_MAINTAINER:=Eric Luehrsen <ericluehrsen@hotmail.com>
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.unbound.net/downloads
-PKG_HASH:=1a323d72c32180b7141c9e6ebf199fc68a0208dfebad4640cd2c4c27235e3b9c
+PKG_HASH:=df0a88816ec31ccb8284c9eb132e1166fbf6d9cde71fbc4b8cd08a91ee777fed
 
 PKG_BUILD_DEPENDS:=libexpat
 PKG_BUILD_PARALLEL:=1
index 079208613eb280fa634db853d6f741ee857fece5..32e5f235592383b1fa616e8a7f1b3d864bb18d8c 100644 (file)
@@ -37,8 +37,7 @@ dnsmasq_local_zone() {
     UNBOUND_D_WAN_FQDN=$wan_fqdn
   fi
 
-
-  if [ -n "$fwd_domain" -a -n "$fwd_port" -a ! "$fwd_port" -eq 53 ] ; then
+  if [ -n "$fwd_domain" -a -n "$fwd_port" -a ! "${fwd_port:-53}" -eq 53 ] ; then
     # dnsmasq localhost listening ports (possible multiple instances)
     UNBOUND_N_FWD_PORTS="$UNBOUND_N_FWD_PORTS $fwd_port"
     UNBOUND_TXT_FWD_ZONE="$UNBOUND_TXT_FWD_ZONE $fwd_domain"
index 197a06d9718bcd16f333b642eec4a7f1a8a02316..7defd8db475ddddb5df017822f4819e27fa74ced 100644 (file)
@@ -394,32 +394,11 @@ create_domain_insecure() {
 ##############################################################################
 
 unbound_mkdir() {
-  local resolvsym=0
   local dhcp_origin=$( uci_get dhcp.@odhcpd[0].leasefile )
   local dhcp_dir=$( dirname $dhcp_origin )
   local filestuff
 
 
-  if [ ! -x /usr/sbin/dnsmasq -o ! -x /etc/init.d/dnsmasq ] ; then
-    resolvsym=1
-  else
-    /etc/init.d/dnsmasq enabled || resolvsym=1
-  fi
-
-
-  if [ "$resolvsym" -gt 0 ] ; then
-    rm -f /tmp/resolv.conf
-
-
-    {
-      # Set resolver file to local but not if /etc/init.d/dnsmasq will do it.
-      echo "nameserver 127.0.0.1"
-      echo "nameserver ::1"
-      echo "search $UNBOUND_TXT_DOMAIN"
-    } > /tmp/resolv.conf
-  fi
-
-
   if [ "$UNBOUND_D_DHCP_LINK" = "odhcpd" -a ! -d "$dhcp_dir" ] ; then
     # make sure odhcpd has a directory to write (not done itself, yet)
     mkdir -p "$dhcp_dir"
@@ -1027,29 +1006,71 @@ unbound_uci() {
 
   if [ "$UNBOUND_N_EDNS_SIZE" -lt 512 \
     -o 4096 -lt "$UNBOUND_N_EDNS_SIZE" ] ; then
-    # exceeds range, back to default
+    logger -t unbound -s "edns_size exceeds range, using default"
     UNBOUND_N_EDNS_SIZE=1280
   fi
 
 
-  if [ "$UNBOUND_N_RX_PORT" -lt 1024 \
-    -o 10240 -lt "$UNBOUND_N_RX_PORT" ] ; then
-    # special port or in 5 digits, back to default
+  if [ "$UNBOUND_N_RX_PORT" -ne 53 ] \
+  && [ "$UNBOUND_N_RX_PORT" -lt 1024 -o 10240 -lt "$UNBOUND_N_RX_PORT" ] ; then
+    logger -t unbound -s "privileged port or in 5 digits, using default"
     UNBOUND_N_RX_PORT=53
   fi
 
 
   if [ "$UNBOUND_TTL_MIN" -gt 1800 ] ; then
-    # that could have had awful side effects
+    logger -t unbound -s "ttl_min could have had awful side effects, using 300"
     UNBOUND_TTL_MIN=300
   fi
 }
 
 ##############################################################################
 
+_resolv_setup() {
+  if [ "$UNBOUND_N_RX_PORT" != "53" ] ; then
+    return
+  fi
+
+  if [ -x /etc/init.d/dnsmasq ] && /etc/init.d/dnsmasq enabled \
+  && nslookup localhost 127.0.0.1#53 >/dev/null 2>&1 ; then
+    # unbound is configured for port 53, but dnsmasq is enabled and a resolver
+    #   listens on localhost:53, lets assume dnsmasq manages the resolver file.
+    # TODO:
+    #   really check if dnsmasq runs a local (main) resolver in stead of using
+    #   nslookup that times out when no resolver listens on localhost:53.
+    return
+  fi
+
+  # unbound is designated to listen on 127.0.0.1#53,
+  #   set resolver file to local.
+  rm -f /tmp/resolv.conf
+  {
+    echo "# /tmp/resolv.conf generated by Unbound UCI $( date )"
+    echo "nameserver 127.0.0.1"
+    echo "nameserver ::1"
+    echo "search $UNBOUND_TXT_DOMAIN"
+  } > /tmp/resolv.conf
+}
+
+##############################################################################
+
+_resolv_teardown() {
+  case $( cat /tmp/resolv.conf ) in
+  *"generated by Unbound UCI"*)
+    # our resolver file, reset to auto resolver file.
+    rm -f /tmp/resolv.conf
+    ln -s /tmp/resolv.conf.auto /tmp/resolv.conf
+    ;;
+  esac
+}
+
+##############################################################################
+
 unbound_start() {
   config_load unbound
   config_foreach unbound_uci unbound
+
+
   unbound_mkdir
 
 
@@ -1067,28 +1088,18 @@ unbound_start() {
 
     unbound_control
   fi
+
+
+  _resolv_setup
 }
 
 ##############################################################################
 
 unbound_stop() {
-  local resolvsym=0
+  _resolv_teardown
 
-  rootzone_update
-
-
-  if [ ! -x /usr/sbin/dnsmasq -o ! -x /etc/init.d/dnsmasq ] ; then
-    resolvsym=1
-  else
-    /etc/init.d/dnsmasq enabled || resolvsym=1
-  fi
 
-
-  if [ "$resolvsym" -gt 0 ] ; then
-    # set resolver file to normal, but don't stomp on dnsmasq
-    rm -f /tmp/resolv.conf
-    ln -s /tmp/resolv.conf.auto /tmp/resolv.conf
-  fi
+  rootzone_update
 }
 
 ##############################################################################
index fb63e1a8460a6d7fab2ea01af4d68b1db18dc157..ca9fa181d5bdbdcf0c54b0844f4cf99a7ec50c76 100644 (file)
@@ -1,12 +1,12 @@
 diff --git a/doc/example.conf.in b/doc/example.conf.in
-index 83e7c5c..3ea2b28 100644
+index 5396029..cbb51ec 100644
 --- a/doc/example.conf.in
 +++ b/doc/example.conf.in
 @@ -1,9 +1,10 @@
 -#
 -# Example configuration file.
 -#
--# See unbound.conf(5) man page, version 1.6.2.
+-# See unbound.conf(5) man page, version 1.6.4.
 -#
 -# this is a comment.
 +##############################################################################
@@ -16,17 +16,17 @@ index 83e7c5c..3ea2b28 100644
 +# no longer supported ... are exceptional for the DNS.
 +# (http://unbound.net/documentation/unbound.conf.html)
 +##############################################################################
+
  #Use this to include other text into the file.
  #include: "otherfile.conf"
 @@ -12,9 +13,71 @@
  server:
        # whitespace is not necessary, but looks cleaner.
+
 -      # verbosity number, 0 is least verbose. 1 is default.
 +      # verbosity 1 is default
        verbosity: 1
+
 +      # Self jail Unbound with user "unbound" to /var/lib/unbound
 +      # The script /etc/init.d/unbound will setup the location
 +      username: "unbound"
index 3148514fa821d326b3b853496a938fede30541c3..47fc7b7bb8024c4a5f8121f858ea1e0363ac6cc1 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=usbip
-PKG_RELEASE:=5
+PKG_RELEASE:=6
 PKG_LICENSE:=GPL-2.0
 
 # Since kernel 2.6.39.1 userspace tools are inside the kernel tree
@@ -30,7 +30,6 @@ define prepare_source_directory
 endef
 Hooks/Prepare/Pre += prepare_source_directory
 
-PKG_BUILD_DEPENDS:=eudev
 PKG_FIXUP:=autoreconf
 PKG_INSTALL:=1
 PKG_FLAGS:=nonshared
@@ -53,7 +52,7 @@ endef
 define Package/usbip
   $(call Package/usbip/Default)
   TITLE+= (common)
-  DEPENDS+= +libwrap +kmod-usbip +eudev
+  DEPENDS+= +libwrap +kmod-usbip +libudev-fbsd
 endef
 
 define Package/usbip-client
index e04bd26316b886b5602455eb02f55b632bedba0f..e63cd5024e9ebaf99bae80ebf65ef8f9101cfc65 100644 (file)
@@ -11,12 +11,12 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=wireguard
 
-PKG_VERSION:=0.0.20170531
+PKG_VERSION:=0.0.20170706
 PKG_RELEASE:=1
 
 PKG_SOURCE:=WireGuard-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://git.zx2c4.com/WireGuard/snapshot/
-PKG_HASH:=2eb7d9aaf11dcb35e5066837bb1c768398ad3655744fdeb656bd7e7c7ad7cacc
+PKG_HASH:=5763b9436265421a67f92cb82142042867fc87c573ecc18033d40c1476146c33
 
 PKG_LICENSE:=GPL-2.0
 PKG_LICENSE_FILES:=COPYING
@@ -100,7 +100,7 @@ define KernelPackage/wireguard
   CATEGORY:=Kernel modules
   SUBMENU:=Network Support
   TITLE:=Wireguard kernel module
-  DEPENDS:=+IPV6:kmod-udptunnel6 +kmod-udptunnel4 +kmod-ipt-hashlimit
+  DEPENDS:=+IPV6:kmod-udptunnel6 +kmod-udptunnel4
   FILES:= $(PKG_BUILD_DIR)/src/wireguard.$(LINUX_KMOD_SUFFIX)
   AUTOLOAD:=$(call AutoProbe,wireguard)
 endef
index d862c1021ea6f0023a9e449a0e980a76138e4b5b..7b18a2e0ecdb07cd5df2065661c71fd05fb37f93 100644 (file)
@@ -82,9 +82,15 @@ proto_wireguard_setup_peer() {
         *:*/*)
           proto_add_ipv6_route "${allowed_ip%%/*}" "${allowed_ip##*/}"
         ;;
-        */*)
+        *.*/*)
           proto_add_ipv4_route "${allowed_ip%%/*}" "${allowed_ip##*/}"
         ;;
+        *:*)
+          proto_add_ipv6_route "${allowed_ip%%/*}" "128"
+        ;;
+        *.*)
+          proto_add_ipv4_route "${allowed_ip%%/*}" "32"
+        ;;
       esac
     done
   fi
@@ -168,7 +174,6 @@ proto_wireguard_setup() {
     sed -E 's/\[?([0-9.:a-f]+)\]?:([0-9]+)/\1 \2/' | \
     while IFS=$'\t ' read -r key address port; do
     [ -n "${port}" ] || continue
-    echo "adding host depedency for ${address} at ${config}"
     proto_add_host_dependency "${config}" "${address}"
   done
 
index 6284f1038a025a434d46fb4a1d1b48a4e2766d5c..15cf30ce0b840646de215ea23b8cac4bdd748fc3 100644 (file)
@@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=zerotier
 PKG_VERSION:=1.2.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_LICENSE:=GPL-3.0
 
diff --git a/net/zerotier/patches/0003-gcc48.patch b/net/zerotier/patches/0003-gcc48.patch
new file mode 100644 (file)
index 0000000..766dd57
--- /dev/null
@@ -0,0 +1,13 @@
+Index: ZeroTierOne-1.2.4/ext/json/json.hpp
+===================================================================
+--- ZeroTierOne-1.2.4.orig/ext/json/json.hpp
++++ ZeroTierOne-1.2.4/ext/json/json.hpp
+@@ -64,7 +64,7 @@ SOFTWARE.
+     #endif
+ #elif defined(__GNUC__)
+     #define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
+-    #if GCC_VERSION < 40900
++    #if GCC_VERSION < 40800
+         #error "unsupported GCC version - see https://github.com/nlohmann/json#supported-compilers"
+     #endif
+ #endif
index f1b5af42fb81336374e3f1f76cb68718d54b4e73..8935793740eb420f389bfbb81ef39d00bd306c25 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=fdk-aac
-PKG_VERSION=0.1.5
+PKG_VERSION:=0.1.5
 PKG_RELEASE:=1
 PKG_MAINTAINER:=Daniel Engberg <daniel.engberg.lists@pyret.net>
 PKG_LICENSE:=Fraunhofer-FDK-AAC-for-Android
index 41a90f7d5670d5cce65b120f0c5f10477cc138c0..99cf7c79b00d5f5b710a06b697c8ae5c4993e304 100644 (file)
@@ -30,7 +30,6 @@ define Package/lame/Default
   SECTION:=sound
   CATEGORY:=Sound
   URL:=http://sourceforge.net/projects/lame
-  DEPENDS:=@BUILD_PATENTED
 endef
 
 define Package/lame
index ffa5cfb05b91753e66e813aa14761e4d0f02b18a..c8acc1c32d3723224c33110ac209a05b060c1f43 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=portaudio
 PKG_VERSION:=19_20140130
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=pa_stable_v$(PKG_VERSION).tgz
 PKG_SOURCE_URL:=http://www.portaudio.com/archives/
@@ -46,6 +46,12 @@ CONFIGURE_ARGS+= \
        --without-jack \
        --with-oss \
 
+EXTRA_CFLAGS += $(TARGET_CPPFLAGS)
+
+define Build/Compile
+       $(call Build/Compile/Default,lib/libportaudio.la)
+endef
+
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/include
        $(CP) \
diff --git a/sound/shairport/Makefile b/sound/shairport/Makefile
deleted file mode 100644 (file)
index aeb63f7..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-#
-# Copyright (C) 2013-2015 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:=shairport
-PKG_VERSION:=2014-10-28
-PKG_RELEASE:=2
-
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=git://github.com/abrasive/shairport.git
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=d679d19a4bd66cc220dabfd23ad748c34e95995c
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
-PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
-
-PKG_LICENSE:=MIT
-PKG_LICENSE_FILES:=LICENSES
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/shairport
-  SECTION:=sound
-  CATEGORY:=Sound
-  DEPENDS:=+libpthread +libopenssl +libavahi-client +alsa-lib
-  TITLE:=ShairPort AirPort Express emulator (un-maintained)
-endef
-
-define Package/shairport/description
-  This program emulates an AirPort Express for the purpose of streaming
-  music from iTunes and compatible iPods. It implements a server for the
-  Apple RAOP protocol.
-  ShairPort does not support AirPlay v2 (video and photo streaming).
-
-  It supports multiple simultaneous streams, if your audio output chain
-  (as detected by libao) does so.
-endef
-
-TARGET_CFLAGS += $(FPIC)
-
-LIBS:=-lm -lcrypto -lpthread -lavahi-common -lavahi-client -lasound
-
-MAKE_FLAGS += \
-       CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
-       LDFLAGS="$(TARGET_LDFLAGS) $(LIBS)"
-
-define Package/shairport/install
-       $(INSTALL_DIR) $(1)/usr/bin
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/shairport $(1)/usr/bin/
-       $(INSTALL_DIR) $(1)/etc/init.d/
-       $(INSTALL_BIN) files/shairport.init $(1)/etc/init.d/shairport
-       $(INSTALL_DIR) $(1)/etc/config
-       $(INSTALL_CONF) files/shairport.config $(1)/etc/config/shairport
-endef
-
-$(eval $(call BuildPackage,shairport))
diff --git a/sound/shairport/files/shairport.config b/sound/shairport/files/shairport.config
deleted file mode 100644 (file)
index 9b2165a..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-config shairport main
-       option disabled '1'
-       option respawn '1'
-       option bname 'AirPort'
-       option password ''
-       option port '5002'
-       option buffer ''
-       option log_file ''
-       option err_file ''
-       option meta_dir ''
-       option cmd_start ''
-       option cmd_stop ''
-       option cmd_wait '0'
-       option audio_output 'alsa'
-       option mdns 'avahi'
-
-       # options for alsa output
-       option output_dev ''
-       option mixer_dev ''
-       option mixer_type ''
-       option mixer_control ''
-       option mixer_index ''
-
-       # options for ao output
-       option ao_driver ''
-       option ao_name ''
-       option ao_id ''
-       option ao_options ''
-
-       # options for pipe output
-       option output_fifo ''
-
-       # options for pulse output
-       option pulse_server ''
-       option pulse_sink ''
-       option pulse_appname ''
diff --git a/sound/shairport/files/shairport.init b/sound/shairport/files/shairport.init
deleted file mode 100644 (file)
index 341ff6f..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2013-2014 OpenWrt.org
-
-START=94
-USE_PROCD=1
-
-append_arg() {
-       local cfg="$1"
-       local var="$2"
-       local opt="$3"
-       local def="$4"
-       local val
-
-       config_get val "$cfg" "$var"
-       [ -n "$val" -o -n "$def" ] && procd_append_param command $opt "${val:-$def}"
-}
-
-append_bool() {
-       local cfg="$1"
-       local var="$2"
-       local opt="$3"
-       local def="$4"
-       local val
-
-       config_get_bool val "$cfg" "$var" "$def"
-       [ "$val" = 1 ] && procd_append_param command "$opt"
-}
-
-start_instance() {
-       local cfg="$1"
-       local ao dev aux
-
-       config_get_bool aux "$cfg" 'disabled' '0'
-       [ "$aux" = 1 ] && return 1
-
-       procd_open_instance
-
-       procd_set_param command /usr/bin/shairport
-
-       append_arg "$cfg" bname "-a" "AirPort"
-       append_arg "$cfg" log_file "-l"
-       append_arg "$cfg" err_file "-e"
-       append_arg "$cfg" meta_dir "-M"
-       append_arg "$cfg" buffer "-b"
-       append_arg "$cfg" port "-p"
-       append_arg "$cfg" password "-k"
-       append_arg "$cfg" mdns "-m"
-
-       append_arg "$cfg" cmd_start "-B"
-       append_arg "$cfg" cmd_stop "-E"
-       append_bool "$cfg" cmd_wait "-w"
-
-       append_arg "$cfg" audio_output "-o"
-
-       config_get ao "$cfg" audio_output ""
-       if [ "$ao" = "alsa" ]; then
-               config_get dev "$cfg" output_dev ""
-               if [ -n "$dev" ]; then
-                       procd_append_param command "--"
-                       append_arg "$cfg" output_dev "-d"
-                       append_arg "$cfg" mixer_dev "-m"
-                       append_arg "$cfg" mixer_type "-t"
-                       append_arg "$cfg" mixer_control "-c"
-                       append_arg "$cfg" mixer_index "-i"
-               fi
-       elif [ "$ao" = "ao" ]; then
-               config_get dev "$cfg" ao_driver ""
-               if [ -n "$dev" ]; then
-                       procd_append_param command "--"
-                       append_arg "$cfg" ao_driver "-d"
-                       append_arg "$cfg" ao_id "-i"
-                       append_arg "$cfg" ao_name "-n"
-                       append_arg "$cfg" ao_options "-o"
-               fi
-       elif [ "$ao" = "pipe" ]; then
-               config_get dev "$cfg" output_fifo ""
-               if [ -n "$dev" ]; then
-                       procd_append_param command "--"
-                       append_arg "$cfg" output_fifo ""
-               fi
-       elif [ "$ao" = "pulse" ]; then
-               config_get dev "$cfg" pulse_server ""
-               if [ -n "$dev" ]; then
-                       procd_append_param command "--"
-                       append_arg "$cfg" pulse_server "-a"
-                       append_arg "$cfg" pulse_sink "-s"
-                       append_arg "$cfg" pulse_appname "-n"
-               fi
-       fi
-
-       config_get_bool aux "$cfg" 'respawn' '0'
-       [ "$aux" = 1 ] && procd_set_param respawn
-
-       procd_close_instance
-}
-
-service_triggers() { 
-       procd_add_reload_trigger "shairport" 
-} 
-
-start_service() {
-       config_load shairport
-       config_foreach start_instance shairport
-}
diff --git a/sound/shairport/patches/001-disable_pulseaudio.patch b/sound/shairport/patches/001-disable_pulseaudio.patch
deleted file mode 100644 (file)
index 7f0407e..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/configure
-+++ b/configure
-@@ -59,7 +59,7 @@ do_pkg_config()
- do_pkg_config OpenSSL       openssl
--do_pkg_config libao         ao              CONFIG_AO
--do_pkg_config PulseAudio    libpulse-simple CONFIG_PULSE
-+#do_pkg_config libao         ao              CONFIG_AO
-+#do_pkg_config PulseAudio    libpulse-simple CONFIG_PULSE
- do_pkg_config ALSA          alsa            CONFIG_ALSA
- do_pkg_config Avahi\ client avahi-client    CONFIG_AVAHI
index e3de6a952cb3f062d3344747840bde49e67d6b10..6dc8341d59767a276ddf6ab77cf57270db54dd26 100644 (file)
@@ -13,7 +13,7 @@ PKG_RELEASE=1
 
 PKG_LICENSE:=GPL-3.0
 PKG_LICENSE_FILES:=LICENSE.txt
-PKG_MAINTAINER:= Ted Hess <thess@kitschensync.net>
+PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/ralph-irving/squeezelite.git
diff --git a/utils/acpica-unix/Makefile b/utils/acpica-unix/Makefile
new file mode 100644 (file)
index 0000000..5a91f5c
--- /dev/null
@@ -0,0 +1,53 @@
+#
+# Copyright (C) 2017 Philip Prindeville
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=acpica-unix
+PKG_VERSION:=20170629
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://acpica.org/sites/$(subst -unix,,$(PKG_NAME))/files/$(PKG_SOURCE_URL)
+PKG_HASH:=5f05d8f63d60888d7450f090ce270ef7ed026de9293ce9f6d04fe99cbbb77635
+PKG_MAINTAINER:=Philip Prindeville <philipp@redfish-solutions.com>
+
+PKG_LICENSE:=GPL-2.0
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_FORTIFY_SOURCE:=0
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/acpica-unix
+  SECTION:=utils
+  CATEGORY:=Utilities
+  DEPENDS:=
+  TITLE:=ACPI utilities for UNIX
+  URL:=https://acpica.org/
+endef
+
+define Package/acpica-unix/description
+       Open Source utilities for ACPI including the ACPICA Machine Language
+       (AML) interpreter, a simulator, test suites, and a compiler to
+       translate ACPI Source Language (ASL) into AML.
+endef
+
+define Build/Configure
+endef
+
+MAKE_VARS += HOST=_LINUX
+
+MAKE_PATH:=generate/unix
+
+define Package/acpica-unix/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/generate/unix/acpidump/obj/acpidump $(1)/usr/bin/
+endef
+
+$(eval $(call BuildPackage,acpica-unix))
index 651852ece949f3743e9cbae34e42d879f92053e0..896c65acc61b863b58fbd1f1a9bffc5653710bc0 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=btrfs-progs
 PKG_VERSION:=4.11
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@KERNEL/linux/kernel/people/kdave/btrfs-progs/
@@ -17,7 +17,6 @@ PKG_MD5SUM:=25ba238f44b9a1a54e62f7b361bdc9d8
 PKG_HASH:=e17a68cc52a27d905b715445e91ddbaa4d42de4847d54836d6ed21e012dabf0e
 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-v$(PKG_VERSION)
 
-PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
 PKG_LICENSE:=GPL-2.0
 PKG_LICENSE_FILES:=COPYING
 
@@ -53,6 +52,8 @@ CONFIGURE_ARGS += \
        --disable-convert \
        --disable-documentation
 
+EXTRA_CFLAGS=$(TARGET_CPPFLAGS)
+
 define Package/btrfs-progs/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libbtrfs.so* $(1)/usr/lib
index 0d52b60ea4c1bab51a5bcaf280c54858404deff4..3fbc75e09f1ba52e26caba7fd7eb4b48c9432f93 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=coreutils
 PKG_VERSION:=8.23
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@GNU/coreutils
@@ -43,6 +43,8 @@ DEPENDS_ls = +libacl +libcap
 DEPENDS_mv = +libacl
 DEPENDS_vdir = +libacl +libcap
 
+FILES_stdbuf := usr/lib/coreutils/libstdbuf.so
+
 define Package/coreutils/Default
   SECTION:=utils
   CATEGORY:=Utilities
@@ -105,6 +107,10 @@ define BuildPlugin
   define Package/$(1)/install
        $(INSTALL_DIR) $$(1)/usr/bin
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/$(2) $$(1)/usr/bin/
+       $(foreach f,$(FILES_$(2)),
+               $(INSTALL_DIR) $$(1)/$(dir $(f))
+               $(INSTALL_BIN) $(PKG_INSTALL_DIR)/$(f) $$(1)/$(f)
+       )
   endef
 
   $$(eval $$(call BuildPackage,$(1)))
index e1f5205189dab5a207b239c138df716c19691388..896b001d578ea845ef664adc3ac751848e49b843 100644 (file)
@@ -18,7 +18,7 @@ PKG_SOURCE_PROTO:=git
 PKG_SOURCE_VERSION:=a705360197260d28535746ae98c461ba2cfb7a9e
 PKG_MIRROR_HASH:=553069ecf1f3d5d5652404aaf438610f555c94db4369c7c1db85210c4e3cdfee
 
-PKG_MAINTAINER:=Ansuel Smith ansuelsmth@gmail.com
+PKG_MAINTAINER:=Ansuel Smith <ansuelsmth@gmail.com>
 
 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 
index 4a350dbcebccc0b5f206126e6b8585100a02c3cd..dc042002971bcb9cc04550ebd7d6e609a4b26dbd 100644 (file)
@@ -11,7 +11,7 @@ PKG_NAME:=domoticz
 PKG_VERSION_MAJOR:=3
 PKG_VERSION_PATCH:=5877
 PKG_VERSION:=$(PKG_VERSION_MAJOR).$(PKG_VERSION_PATCH)
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/domoticz/domoticz/archive/$(PKG_VERSION)/$(PKG_SOURCE)
index cbee77b5cf6965650abae0435d42b79935761c81..d714b97388c772af21f1122ae2d4555b66bd70d7 100644 (file)
@@ -19,7 +19,12 @@ start_domoticz() {
 
        [ -n "$loglevel" ] && procd_append_param command -loglevel "$loglevel"
        [ -n "$syslog" ] && procd_append_param command -syslog "$syslog"
-       [ -n "$userdata" ] && procd_append_param command -userdata "$userdata"
+       [ -n "$userdata" ] && {
+               mkdir -p "$userdata"
+               chmod 0770 "$userdata"
+               chown domoticz:domoticz "$userdata"
+               procd_append_param command -userdata "$userdata"
+       }
        [ -n "$sslcert" -a "${sslwww:-0}" -gt 0 ] && {
                procd_append_param command -sslcert "$sslcert"
                procd_append_param command -sslwww "$sslwww"
@@ -29,10 +34,6 @@ start_domoticz() {
 }
 
 start_service() {
-       mkdir -p /var/lib/domoticz
-       chmod 0770 /var/lib/domoticz
-       chown domoticz:domoticz /var/lib/domoticz
-
        procd_open_instance
 
        procd_set_param command "$PROG"
diff --git a/utils/eudev/Config.in b/utils/eudev/Config.in
deleted file mode 100644 (file)
index 6cd3970..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-# udev package config
-
-menu "Configuration"
-       depends on PACKAGE_eudev
-
-config EUDEV_EXTRA_ata_id
-       bool "Install eudev ata_id callout"
-       default y
-       help
-         ata_id - udev callout to read product/serial number
-         from ATA drives
-
-config EUDEV_EXTRA_blkid
-       bool "Use blkid to identify block devices"
-       default y
-       help
-         blkid - make use of libblkid to identify block devices
-
-config EUDEV_EXTRA_cdrom_id
-       bool "Install eudev cdrom_id callout"
-       default y
-       help
-         cdrom_id - udev callout to determine the capabilities
-         of optical drives and media
-
-config EUDEV_EXTRA_collect
-       bool "Install eudev collect"
-       default n
-       help
-         Adds ID to the list governed by <checkpoint>
-
-config EUDEV_EXTRA_input_id
-       bool "Install input_id callout"
-       default y
-       help
-        input_id - udev callout to classify input devices
-
-config EUDEV_EXTRA_kmod
-       bool "Use kmod for loading kernel modules"
-       default n
-       help
-         kmod - make use of kmod to load kernel modules on demand
-
-config EUDEV_EXTRA_mtd_probe
-       bool "Install mtd_probe callout"
-       default y
-       help
-         mtd_probe - udev callout to probe mtd devices
-
-config EUDEV_EXTRA_rule_generator
-       bool "Install (legacy) eudev rule_generator"
-       default n
-       help
-
-config EUDEV_EXTRA_scsi_id
-       bool "Install eudev scsi_id callout"
-       default y
-       help
-         scsi_id - retrieve and generate a unique SCSI identifier
-
-config EUDEV_EXTRA_v4l_id
-       bool "Install eudev v4l_id callout"
-       default y
-       help
-         v4l_id - udev callout to identify Video4Linux devices
-
-
-endmenu
diff --git a/utils/eudev/Makefile b/utils/eudev/Makefile
deleted file mode 100644 (file)
index 9c42b74..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-#
-# Copyright (C) 2006-2008 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=eudev
-PKG_VERSION:=3.2
-PKG_RELEASE:=1
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://dev.gentoo.org/~blueness/eudev/
-PKG_MD5SUM:=7e42d9b9ed8162021665139520676367
-PKG_LICENSE:=GPL-2.0
-
-include $(INCLUDE_DIR)/package.mk
-
-PKG_BUILD_DEPENDS:=gperf/host
-PKG_FIXUP:=autoreconf
-PKG_INSTALL=1
-
-define Package/libudev
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=Dynamic device management subsystem
-  URL:=https://wiki.gentoo.org/wiki/Project:Eudev
-  MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
-endef
-
-define Package/eudev
-  SECTION:=base
-  CATEGORY:=Base system
-  TITLE:=Dynamic device management subsystem
-  URL:=https://wiki.gentoo.org/wiki/Project:Eudev
-  MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
-  MENU:=1
-  DEPENDS:=+EUDEV_EXTRA_blkid:libblkid +EUDEV_EXTRA_kmod:libkmod +librt +libudev
-  PROVIDES:=udev
-  CONFLICTS:=udev
-endef
-
-define Package/eudev/description
-udev allows Linux users to have a dynamic /dev directory and it
-provides the ability to have persistent device names.
-eudev is a fork of systemd-udev with the goal of obtaining better
-compatibility with existing software such as OpenRC and Upstart, older
-kernels, various toolchains and anything else required by users and
-various distributions.
-endef
-
-define Package/eudev/conffiles
-/etc/udev/udev.conf
-endef
-
-define Package/eudev/config
-       source "$(SOURCE)/Config.in"
-endef
-
-CONFIGURE_ARGS += \
-       --prefix=/usr --exec-prefix= --sysconfdir=/etc \
-       --libexecdir=/lib/udev --sbindir=/sbin \
-       --disable-hwdb --disable-introspection --disable-manpages \
-       --disable-selinux \
-       $(if $(CONFIG_EUDEV_EXTRA_blkid),--enable-blkid,--disable-blkid) \
-       $(if $(CONFIG_EUDEV_EXTRA_kmod),--enable-kmod,--disable-kmod)
-
-
-eudev-extra-lib-bin-$(CONFIG_EUDEV_EXTRA_ata_id) += ata_id
-
-eudev-extra-rules-$(CONFIG_EUDEV_EXTRA_blkid) += 60-persistent-storage.rules
-
-eudev-extra-lib-bin-$(CONFIG_EUDEV_EXTRA_cdrom_id) += cdrom_id
-eudev-extra-rules-$(CONFIG_EUDEV_EXTRA_cdrom_id) += 60-cdrom_id.rules
-
-eudev-extra-lib-bin-$(CONFIG_EUDEV_EXTRA_collect) += collect
-
-eudev-extra-rules-$(CONFIG_EUDEV_EXTRA_input_id) += 60-persistent-input.rules
-
-eudev-extra-lib-bin-$(CONFIG_EUDEV_EXTRA_mtd_probe) += mtd_probe
-eudev-extra-rules-$(CONFIG_EUDEV_EXTRA_mtd_probe) += 75-probe_mtd.rules
-
-eudev-extra-lib-bin-$(CONFIG_EUDEV_EXTRA_scsi_id) += scsi_id
-
-eudev-extra-lib-bin-$(CONFIG_EUDEV_EXTRA_v4l_id) += v4l_id
-eudev-extra-rules-$(CONFIG_EUDEV_EXTRA_v4l_id) += 60-persistent-v4l.rules
-
-define Build/InstallDev
-       $(INSTALL_DIR) $(1)/usr/include
-       $(CP) $(PKG_INSTALL_DIR)/usr/include/libudev.h $(1)/usr/include
-       $(INSTALL_DIR) $(1)/usr/share/pkgconfig
-       $(CP) $(PKG_INSTALL_DIR)/usr/share/pkgconfig/udev.pc $(1)/usr/share/pkgconfig
-       $(INSTALL_DIR) $(1)/lib
-       $(CP) $(PKG_INSTALL_DIR)/lib/libudev.so* $(1)/lib
-       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
-       $(CP) $(PKG_INSTALL_DIR)/lib/pkgconfig/libudev.pc $(1)/usr/lib/pkgconfig
-endef
-
-define Package/libudev/install
-       $(INSTALL_DIR) $(1)/lib
-       $(CP) $(PKG_INSTALL_DIR)/lib/libudev.so* $(1)/lib
-endef
-
-define Package/eudev/install
-       $(INSTALL_DIR) $(1)/etc/udev/rules.d
-       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/udev/udev.conf $(1)/etc/udev
-
-       $(INSTALL_DIR) $(1)/sbin
-       $(INSTALL_BIN) \
-               $(PKG_INSTALL_DIR)/usr/bin/udevadm \
-               $(PKG_INSTALL_DIR)/sbin/udevd \
-               $(1)/sbin
-
-       $(INSTALL_DIR) $(1)/lib/udev/rules.d
-       $(INSTALL_DATA) \
-               $(addprefix $(PKG_INSTALL_DIR)/lib/udev/rules.d/, \
-                       $(eudev-extra-rules-y)) \
-               $(addprefix $(PKG_INSTALL_DIR)/lib/udev/rules.d/, \
-                       50-udev-default.rules \
-                       60-block.rules \
-                       60-drm.rules \
-                       60-evdev.rules \
-                       60-persistent-alsa.rules \
-                       60-persistent-storage-tape.rules \
-                       60-serial.rules \
-                       64-btrfs.rules \
-                       70-mouse.rules \
-                       75-net-description.rules \
-                       78-sound-card.rules \
-                       80-net-name-slot.rules) \
-               $(1)/lib/udev/rules.d
-
-ifneq ($(eudev-extra-lib-bin-y),)
-               $(INSTALL_BIN) \
-                       $(addprefix $(PKG_INSTALL_DIR)/lib/udev/, \
-                               $(eudev-extra-lib-bin-y)) \
-                       $(1)/lib/udev/
-endif
-endef
-
-$(eval $(call BuildPackage,eudev))
-$(eval $(call BuildPackage,libudev))
diff --git a/utils/eudev/patches/0001-mtd_probe-uses-stdint_h.patch b/utils/eudev/patches/0001-mtd_probe-uses-stdint_h.patch
deleted file mode 100644 (file)
index 2ae5634..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: eudev-3.1.5/src/mtd_probe/mtd_probe.h
-===================================================================
---- eudev-3.1.5.orig/src/mtd_probe/mtd_probe.h
-+++ eudev-3.1.5/src/mtd_probe/mtd_probe.h
-@@ -18,6 +18,7 @@
-  */
- #include <mtd/mtd-user.h>
-+#include <stdint.h>
- #include "macro.h"
index b4ef0224c936caf5bf7036e67f3a6d500e3840c0..7280ab2610348785125d9924c42c5ea5e02dd277 100644 (file)
@@ -21,7 +21,7 @@ PKG_SOURCE_VERSION:=$(PKG_REV)
 include $(INCLUDE_DIR)/package.mk
 
 define Package/flent-tools
-  SECTION:=util
+  SECTION:=utils
   CATEGORY:=Utilities
   TITLE:=Helper programs for the Flent test tool
   URL:=https://flent.org
index e7905686419ff1788ea6fbbf9e9d521b951909fd..20de09ef48c78de3b66b15d10ffa9e342cb9bde4 100644 (file)
@@ -9,12 +9,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gammu
-PKG_VERSION:=1.38.3
+PKG_VERSION:=1.38.4
 PKG_RELEASE:=1
 
 PKG_SOURCE_URL:=http://dl.cihar.com/gammu/releases/
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_MD5SUM:=c7e0f9fcfe5cdd116979a48d46b1629c
+PKG_HASH:=a8ba1dc52ee82562abd57e9546c409f2f887f45187aae012fe43af0b730611ae
 PKG_MAINTAINER:=Vitaly Protsko <villy@sft.ru>
 PKG_LICENCE:=GPL-2.0
 
diff --git a/utils/gawk/Makefile b/utils/gawk/Makefile
new file mode 100644 (file)
index 0000000..c63b8e6
--- /dev/null
@@ -0,0 +1,45 @@
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=gawk
+PKG_VERSION:=4.1.4
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=@GNU/gawk
+
+PKG_MD5SUM:=53e184e2d0f90def9207860531802456322be091c7b48f23fdc79cda65adc266
+
+PKG_LICENSE:=GPL
+PKG_LICENSE_FILES:=COPYING
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+
+PKG_BUILD_PARALLEL:=1
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/gawk
+  SECTION:=utils
+  CATEGORY:=Utilities
+  URL:=http://tukaani.org/xz
+  TITLE:=GNU awk
+  DEPENDS:=+libncursesw +libreadline
+endef
+
+define Package/gawk/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/{gawk,igawk} $(1)/usr/bin/
+       $(INSTALL_DIR) $(1)/usr/lib/gawk
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/gawk/* $(1)/usr/lib/gawk/
+       $(INSTALL_DIR) $(1)/usr/lib/awk
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/awk/* $(1)/usr/lib/awk/
+       $(INSTALL_DIR) $(1)/usr/share/awk
+       $(CP) $(PKG_INSTALL_DIR)/usr/share/awk/* $(1)/usr/share/awk/
+endef
+
+$(eval $(call BuildPackage,gawk))
+
index 18736110ef2b62f9ae04c8fe2b2bc6467423fc32..560798bbb6297cd5762cdaf9f50df15a113b3b6e 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=jq
 PKG_VERSION:=1.5
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_LICENSE:=BSD
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
@@ -24,6 +24,8 @@ ifdef CONFIG_USE_MIPS16
   TARGET_CFLAGS += -fno-ipa-sra
 endif
 
+TARGET_CFLAGS += -std=c99
+
 define Package/jq
   SECTION:=utils
   CATEGORY:=Utilities
index 630c15c26b29e411790ebebd86e70b8030a45116..0acf002d2b8ef140835d85eb7edb4c190eeb6c0a 100644 (file)
@@ -11,7 +11,7 @@ PKG_NAME:=lcdproc
 # PKG_VERSION:=0.5.8
 PKG_BASE_VERSION:=0.5.8
 PKG_VERSION:=$(PKG_BASE_VERSION)+git2070222
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/lcdproc/lcdproc.git
@@ -135,7 +135,7 @@ TARGET_CFLAGS+=-Wall
 
 MAKE_FLAGS += \
         CFLAGS="$(TARGET_CFLAGS)" \
-        LDFLAGS="$(TARGET_LDLAGS)"
+        LDFLAGS="$(TARGET_LDFLAGS)"
 
 
 define Package/lcdproc-clients/install
index 109adc6f710111245c664e79612c7a52b229460b..9fa171905da109c2d2a9c337cc60dbadb98d8a42 100644 (file)
@@ -13,9 +13,10 @@ PKG_VERSION:=2014-10-29
 PKG_RELEASE=$(PKG_SOURCE_VERSION)
 
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=git://github.com/webstack/mbtools
+PKG_SOURCE_URL:=https://github.com/webstack/mbtools.git
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
 PKG_SOURCE_VERSION:=149e9c69cec180f18cf8781cf5285b97352bf719
+PKG_MIRROR_HASH:=1e6e2f0e40b1c596bb55279bcedfac5a8deb86ef56978dce01a78877151c9352
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 
 PKG_FIXUP:=autoreconf
index 4687ac84889e161beaf8881f49dfa23da17ec5e8..e31440b98e4e711fdd876d5dfbd5508d1e3e7f81 100644 (file)
@@ -92,7 +92,7 @@ define ProfileGen
 define Package/libopensc-profile-$(subst _,-,$(firstword $(subst :, ,$(1))))
   TITLE:=$(firstword $(subst :, ,$(1))) card profile for opensc
   URL:=https://github.com/OpenSC/OpenSC/wiki
-  SECTION:=lib
+  SECTION:=libs
   CATEGORY:=Libraries
   DEPENDS:=libopensc
 endef
index d5e13e51b9c8ac4ebce3992352fa68a0da1145a9..1445c1a6dd353785c61b23c0fbbab0e73aab2d0a 100644 (file)
@@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=openzwave
 PKG_REV:=164
 PKG_VERSION:=1.4.$(PKG_REV)
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://old.openzwave.com/downloads
@@ -33,14 +33,14 @@ endef
 
 define Package/libopenzwave
 $(call Package/openzwave/default)
-  SECTION:=Libs
+  SECTION:=libs
   CATEGORY:=Libraries
   TITLE:=Open-ZWave Library
 endef
 
 define Package/openzwave
 $(call Package/openzwave/default)
-  SECTION:=Utils
+  SECTION:=utils
   CATEGORY:=Utilities
   TITLE:=Open-ZWave MinOZW test utility
   DEPENDS:=+libopenzwave +openzwave-config
@@ -48,13 +48,14 @@ endef
 
 define Package/openzwave-config
 $(call Package/openzwave/default)
-  SECTION:=Utils
+  SECTION:=utils
   CATEGORY:=Utilities
   TITLE:=Open-ZWave Device Configs
 endef
 
 MAKE_FLAGS += \
        LD="$(TARGET_CROSS)g++" \
+       LIBDIR="$(PKG_BUILD_DIR)" \
        PREFIX=$(CONFIGURE_PREFIX) \
        instlibdir=/usr/lib \
        pkgconfigdir=/usr/lib/pkgconfig \
index 6d246bf79706d813884654056d2a9642769c3325..5db051645a33201e0205aea72695b30e10630a06 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pcsc-lite
-PKG_VERSION:=1.8.21
+PKG_VERSION:=1.8.22
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=https://alioth.debian.org/frs/download.php/file/4216
-PKG_HASH:=fe3365eb7d4ce0fe891e2b6d6248351c287435ca502103f1f1431b1710e513ad
+PKG_SOURCE_URL:=https://alioth.debian.org/frs/download.php/file/4225
+PKG_HASH:=6a358f61ed3b66a7f6e1f4e794a94c7be4c81b7a58ec360c33791e8d7d9bd405
 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
 PKG_LICENSE:=BSD-3-Clause
 PKG_LICENSE_FILES:=COPYING
diff --git a/utils/pcsc-tools/Makefile b/utils/pcsc-tools/Makefile
new file mode 100644 (file)
index 0000000..742ca0e
--- /dev/null
@@ -0,0 +1,43 @@
+#
+# Copyright (C) 2017 Daniel Engberg <daniel.engberg.lists@pyret.net>
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=pcsc-tools
+PKG_VERSION=1.5.2
+PKG_RELEASE:=1
+PKG_MAINTAINER:=Daniel Engberg <daniel.engberg.lists@pyret.net>
+PKG_LICENSE:=GPL-2.0
+PKG_LICENSE_FILES:=COPYING
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=http://ludovic.rousseau.free.fr/softwares/pcsc-tools/
+PKG_HASH:=ff4e087c76700aa5a25dd7d0bc4f55bb4a5e71cd4f0d6b5301babe0b434f86fc
+
+PKG_FIXUP:=autoreconf
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/pcsc-tools
+  SECTION:=utils
+  CATEGORY:=Utilities
+  DEPENDS:=+libpcsclite
+  TITLE:=pcsc-tools
+  URL:=http://ludovic.rousseau.free.fr/softwares/pcsc-tools/
+endef
+
+define Package/pcsc-tools/description
+  Tools that are used to test a PC/SC driver, card or reader.
+  Only includes pcsc_scan without ATR analysis for now.
+endef
+
+define Package/pcsc-tools/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/pcsc_scan $(1)/usr/bin
+endef
+
+$(eval $(call BuildPackage,pcsc-tools))
diff --git a/utils/pcsc-tools/patches/001-disable-atr.patch b/utils/pcsc-tools/patches/001-disable-atr.patch
new file mode 100644 (file)
index 0000000..127f192
--- /dev/null
@@ -0,0 +1,17 @@
+Windows (Win32) doesn't support the analyze ATR perl-script and since we 
+don't want to pull in perl as a dependency add the same workaround here. 
+
+diff --git a/pcsc_scan.c b/pcsc_scan.c
+index e1d8942..81344e1 100644
+--- a/pcsc_scan.c
++++ b/pcsc_scan.c
+@@ -224,9 +224,7 @@ int main(int argc, char *argv[])
+       printf("PC/SC device scanner\n");
+       printf("V " PACKAGE_VERSION " (c) 2001-2017, Ludovic Rousseau <ludovic.rousseau@free.fr>\n");
+-#ifdef WIN32
+       analyse_atr = FALSE;
+-#endif
+       while ((opt = getopt(argc, argv, "Vhns")) != EOF)
+       {
index d69832759188fba27828e109ee2ceef6f33ac807..3dca4774bd9515e2664688f1a40075fc5f89acc8 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=rng-tools
 PKG_VERSION:=5
-PKG_RELEASE:=5
+PKG_RELEASE:=6
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/gkernel/rng-tools/$(PKG_VERSION)/
diff --git a/utils/rng-tools/patches/100-message-no-newline.patch b/utils/rng-tools/patches/100-message-no-newline.patch
new file mode 100644 (file)
index 0000000..29f5ad3
--- /dev/null
@@ -0,0 +1,137 @@
+From d401b23149a89fc14806dc8c347f2a85205a95cd Mon Sep 17 00:00:00 2001
+From: Philip Prindeville <philipp@redfish-solutions.com>
+Date: Mon, 26 Jun 2017 18:34:04 -0600
+Subject: [PATCH v1 1/1] Cleanup calls to message() containing newlines
+To: Philipp Rumpf <prumpf@mandrakesoft.com>, Jeff Garzik <jgarzik@pobox.com>, Henrique de Moraes Holschuh <hmh@debian.org>, Andrew Morton <akpm@linux-foundation.org>
+Cc: Philip Prindeville <philipp@redfish-solutions.com>
+
+Newlines are added automatically by logging daemons, and having
+embedded newlines can cause extra blank lines in syslog-ng,
+busybox, etc.
+
+Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
+---
+ rngd.c           | 8 ++++----
+ rngd_entsource.c | 6 +++---
+ rngd_linux.c     | 2 +-
+ rngd_rdrand.c    | 6 +++---
+ 4 files changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/rngd.c b/rngd.c
+index 0205d40e0abb970fb126460306398388bd7462a0..f10198682a14f2f1460100a1d274ad0d724cb326 100644
+--- a/rngd.c
++++ b/rngd.c
+@@ -271,7 +271,7 @@ static void do_loop(int random_step)
+                       } else if (iter->failures >= MAX_RNG_FAILURES) {
+                               if (!arguments->quiet)
+                                       message(LOG_DAEMON|LOG_ERR,
+-                                      "too many FIPS failures, disabling entropy source\n");
++                                      "too many FIPS failures, disabling entropy source");
+                               iter->disabled = true;
+                       }
+               }
+@@ -282,7 +282,7 @@ static void do_loop(int random_step)
+       if (!arguments->quiet)
+               message(LOG_DAEMON|LOG_ERR,
+-              "No entropy sources working, exiting rngd\n");
++              "No entropy sources working, exiting rngd");
+ }
+ static void term_signal(int signo)
+@@ -317,7 +317,7 @@ int main(int argc, char **argv)
+                       message(LOG_DAEMON|LOG_ERR,
+                               "can't open any entropy source");
+                       message(LOG_DAEMON|LOG_ERR,
+-                              "Maybe RNG device modules are not loaded\n");
++                              "Maybe RNG device modules are not loaded");
+               }
+               return 1;
+       }
+@@ -337,7 +337,7 @@ int main(int argc, char **argv)
+               && (rc_tpm || !arguments->enable_tpm)) {
+               if (!arguments->quiet)
+                       message(LOG_DAEMON|LOG_ERR,
+-              "No entropy source available, shutting down\n");
++              "No entropy source available, shutting down");
+               return 1;
+       }
+diff --git a/rngd_entsource.c b/rngd_entsource.c
+index f0e219d7af674204e5bdcf96e9045c40717872c3..8c1d7cb33159c9a0e03a4ea83f3a3358c706e2e3 100644
+--- a/rngd_entsource.c
++++ b/rngd_entsource.c
+@@ -64,7 +64,7 @@ int xread(void *buf, size_t size, struct rng *ent_src)
+       }
+       if (size) {
+-              message(LOG_DAEMON|LOG_ERR, "read error\n");
++              message(LOG_DAEMON|LOG_ERR, "read error");
+               return -1;
+       }
+       return 0;
+@@ -114,7 +114,7 @@ int xread_tpm(void *buf, size_t size, struct rng *ent_src)
+                                      sizeof(rng_cmd) - r);
+                       if (retval < 0) {
+                               message(LOG_ERR|LOG_INFO,
+-                                      "Error writing %s\n",
++                                      "Error writing %s",
+                                       ent_src->rng_name);
+                               retval = -1;
+                               goto error_out;
+@@ -123,7 +123,7 @@ int xread_tpm(void *buf, size_t size, struct rng *ent_src)
+               }
+               if (r < sizeof(rng_cmd)) {
+                       message(LOG_ERR|LOG_INFO,
+-                              "Error writing %s\n", ent_src->rng_name);
++                              "Error writing %s", ent_src->rng_name);
+                       retval = -1;
+                       goto error_out;
+               }
+diff --git a/rngd_linux.c b/rngd_linux.c
+index c4f45dedecad0fd3bf80a35d7c240b917bf5ffdd..481c6bb15def3f06989766988b61f35d91207b58 100644
+--- a/rngd_linux.c
++++ b/rngd_linux.c
+@@ -131,7 +131,7 @@ void random_add_entropy(void *buf, size_t size)
+       memcpy(entropy.data, buf, size);
+       if (ioctl(random_fd, RNDADDENTROPY, &entropy) != 0) {
+-              message(LOG_DAEMON|LOG_ERR, "RNDADDENTROPY failed: %s\n",
++              message(LOG_DAEMON|LOG_ERR, "RNDADDENTROPY failed: %s",
+                       strerror(errno));
+               exit(1);
+       }
+diff --git a/rngd_rdrand.c b/rngd_rdrand.c
+index 4d7a5a7b3f52c3af8e677d3c4d758d4d235f1dd6..c1919d538428a8647dbce88d7d76384761e5b6cc 100644
+--- a/rngd_rdrand.c
++++ b/rngd_rdrand.c
+@@ -162,7 +162,7 @@ static inline int gcrypt_mangle(unsigned char *tmp)
+       if (gcry_error) {
+               message(LOG_DAEMON|LOG_ERR,
+-                      "gcry_cipher_encrypt error: %s\n",
++                      "gcry_cipher_encrypt error: %s",
+                       gcry_strerror(gcry_error));
+               return -1;
+       }
+@@ -257,7 +257,7 @@ static int init_gcrypt(const void *key)
+       if (!gcry_check_version(MIN_GCRYPT_VERSION)) {
+               message(LOG_DAEMON|LOG_ERR,
+-                      "libgcrypt version mismatch: have %s, require >= %s\n",
++                      "libgcrypt version mismatch: have %s, require >= %s",
+                       gcry_check_version(NULL), MIN_GCRYPT_VERSION);
+               return 1;
+       }
+@@ -278,7 +278,7 @@ static int init_gcrypt(const void *key)
+       if (gcry_error) {
+               message(LOG_DAEMON|LOG_ERR,
+-                      "could not set key or IV: %s\n",
++                      "could not set key or IV: %s",
+                       gcry_strerror(gcry_error));
+               gcry_cipher_close(gcry_cipher_hd);
+               return 1;
+-- 
+2.7.4
+
index 264ae9f0a9cd3cc3dec0befa9325f3c1203179b0..7fcf435c01151ded6b116d228dd55d98eddacba5 100644 (file)
@@ -8,11 +8,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=screen
-PKG_VERSION:=4.5.1
+PKG_VERSION:=4.6.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_HASH:=97db2114dd963b016cd4ded34831955dcbe3251e5eee45ac2606e67e9f097b2d
+PKG_HASH:=aba9af66cb626155d6abce4703f45cce0e30a5114a368bd6387c966cbbbb7c64
 PKG_SOURCE_URL:=@GNU/screen
 
 PKG_LICENSE:=GPL-3.0+
@@ -38,6 +38,7 @@ endef
 define Build/Configure
        $(call Build/Configure/Default,\
                --with-sys-screenrc=/etc/screenrc \
+               --enable-colors256 \
        )
        # XXX: memmove() works well with overlapped memory areas
        echo "#define USEMEMMOVE 1" >>$(PKG_BUILD_DIR)/config.h
index d9662b4f0a38c815ff7273c2d111f5d1fe337cbd..38821c412d8419fd4b284b8cd4574a49ea0d7bf4 100644 (file)
@@ -9,7 +9,7 @@
  } # as_fn_error
  
  if expr a : '\(a\)' >/dev/null 2>&1 &&
-@@ -5942,8 +5942,6 @@ else
+@@ -5909,8 +5909,6 @@ else
  fi
  rm -f core conftest.err conftest.$ac_objext \
      conftest$ac_exeext conftest.$ac_ext
@@ -18,7 +18,7 @@
  oldlibs="$LIBS"
  LIBS="$LIBS -lsun"
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking IRIX sun library..." >&5
-@@ -7024,7 +7022,7 @@ as_fn_error ()
+@@ -6991,7 +6989,7 @@ as_fn_error ()
      $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
    fi
    $as_echo "$as_me: error: $2" >&2
index 50d00b86971f81348e1a1868b373bb836a386113..61389b792cf2112ceff1cf12386c48b0ecbc4c6e 100644 (file)
@@ -8,4 +8,4 @@
 +      $(CC) -c $(M_CFLAGS) $(CPPFLAGS) $(DEFS) \
            $(OPTIONS) $(CFLAGS) $<
  
- install_bin: .version screen
+ install_bin: .version screen installdirs
index 3759434f4f5e5093f8906907bef8262804151969..182a47230142f5e1cd7031e13f318d2f4fbd6a42 100644 (file)
@@ -53,6 +53,8 @@ define Package/libstoken
   CATEGORY:=Libraries
 endef
 
+TARGET_LDFLAGS += -lz
+
 CONFIGURE_ARGS += \
        --with-nettle
 
index 97c6e90315d87c29d7eb55d427fe2a9d7ea960ed..e25b868dd32a7be12bdd48de1e71a1453f88a70c 100644 (file)
@@ -8,18 +8,17 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=triggerhappy
-PKG_VERSION:=0.3.4-151001
-PKG_REV:=7e5abc69f215678e93a6b999524981c8b40bdcd9
+PKG_VERSION:=0.5.0
 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)
+PKG_SOURCE_URL:=https://github.com/wertarbyte/$(PKG_NAME)/archive/release/$(PKG_VERSION)/
+PKG_HASH:=af0fc196202f2d35153be401769a9ad9107b5b6387146cfa8895ae9cafad631c
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-release-$(PKG_VERSION)
 
 PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
-PKG_LICENSE:=GPL-3.0+
+PKG_LICENSE:=GPL-3.0
 PKG_LICENSE_FILES:=COPYING
 
 include $(INCLUDE_DIR)/package.mk
index d3d2b33d390ad0123aff9ed6c379638101257e21..bc99502b9bf22f9d465acbdeabad815e52ea5d9f 100644 (file)
@@ -8,15 +8,15 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ttyd
-PKG_VERSION:=1.3.2+git-f60398
+PKG_VERSION:=1.3.3+git-04d5bc
 PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/tsl0922/ttyd.git
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=f60398fb0976d5a682f2a28c2e8f8b90ec1c4c2c
-PKG_MIRROR_HASH=687499f46471f018aadce1d71c72de8a7fdd2ea04b926d8eb9eaeb747e1f4388
+PKG_SOURCE_VERSION:=04d5bc1ecb59667d025a94e1967a83c24141f911
+PKG_MIRROR_HASH=87ea900f7bf67daf5131ecfcec0917e175d168ce52771012139c06dbafcc641d
 
 PKG_LICENSE:=MIT
 PKG_LICENSE_FILES:=LICENSE
index 7ab033c55a20b2e1ddb717dc08fb5c9933309251..a6878736e2e7d3285867618cb52f5d3da5edee5e 100644 (file)
@@ -9,6 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=uvcdynctrl
 PKG_VERSION:=0.2.4
+PKG_REV:=2
 
 PKG_SOURCE:=libwebcam-src-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/libwebcam
@@ -23,7 +24,7 @@ include $(INCLUDE_DIR)/cmake.mk
 define Package/uvcdynctrl
   SECTION:=utils
   CATEGORY:=Utilities
-  DEPENDS:=+libwebcam +PACKAGE_UVCDYNCTRL_UDEV_RULE:udev
+  DEPENDS:=+libwebcam
   TITLE:=Manage dynamic controls in uvcvideo
   URL:=http://sourceforge.net/projects/libwebcam/
   MENU:=1
@@ -35,16 +36,6 @@ define Package/uvcdynctrl/description
   - uvcdynctrl: Manage dynamic controls in uvcvideo (GPL)
 endef
 
-define Package/uvcdynctrl/config
-config PACKAGE_UVCDYNCTRL_UDEV_RULE
-       bool "uvcdynctrl udev rule, selects udev"
-       depends on PACKAGE_uvcdynctrl
-       default no
-       help
-         Installs an udev rule to load uvcdynctrl with dynamic controls
-         from xml files in /usr/share/uvcdynctrl when a webcam is attached.
-endef
-
 define Package/libwebcam
   SECTION:=libs
   CATEGORY:=Libraries
@@ -64,12 +55,6 @@ define Package/uvcdynctrl/install
        $(INSTALL_DIR) $(1)/usr/{bin,share}
        $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/uvcdynctrl* $(1)/usr/bin/
        $(CP) $(PKG_INSTALL_DIR)/usr/share/uvcdynctrl/ $(1)/usr/share/
-
-ifeq ($(CONFIG_PACKAGE_UVCDYNCTRL_UDEV_RULE),y)
-       $(INSTALL_DIR) $(1)/lib/udev/rules.d
-       $(CP) $(PKG_INSTALL_DIR)/lib/udev/rules.d/*.rules $(1)/lib/udev/rules.d/
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/lib/udev/uvcdynctrl $(1)/lib/udev/
-endif
 endef
 
 define Package/libwebcam/install