aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lang/lua-sha2/Makefile2
-rw-r--r--lang/node-arduino-firmata/Makefile4
-rw-r--r--lang/node-cylon/Makefile4
-rw-r--r--lang/node-hid/Makefile4
-rw-r--r--lang/node-serialport/Makefile4
-rw-r--r--lang/node/Makefile8
-rw-r--r--lang/node/patches/004-gcc6-undefined-behaviour.patch64
-rw-r--r--lang/python-pip/Makefile9
-rw-r--r--lang/python-setuptools/Makefile13
-rw-r--r--lang/python3-pip/Makefile9
-rw-r--r--lang/python3-setuptools/Makefile9
-rw-r--r--libs/intltool/Makefile11
-rw-r--r--libs/intltool/patches/100-optional-perl-xml-parser.patch22
-rw-r--r--libs/libftdi1/Makefile8
-rw-r--r--libs/libmodbus/Makefile8
-rw-r--r--libs/libsoup/Makefile4
-rw-r--r--libs/libssh2/Makefile8
-rw-r--r--libs/libtasn1/Makefile4
-rw-r--r--libs/libupnpp/Makefile6
-rw-r--r--libs/libxml2/Makefile6
-rw-r--r--libs/libxslt/Makefile2
-rw-r--r--libs/tiff/Makefile2
-rw-r--r--multimedia/crtmpserver/Makefile11
-rw-r--r--multimedia/crtmpserver/patches/010-link-crypt-for-lua.patch2
-rw-r--r--multimedia/crtmpserver/patches/030-default-config.patch13
-rw-r--r--multimedia/crtmpserver/patches/040-use-select.patch6
-rw-r--r--multimedia/crtmpserver/patches/050-add-missing-make-defines.patch20
-rw-r--r--multimedia/crtmpserver/patches/060-add-missing-includes.patch2
-rw-r--r--multimedia/crtmpserver/patches/070-missing-include-gcc-47.patch2
-rw-r--r--multimedia/oggfwd/Makefile2
-rw-r--r--multimedia/xupnpd/Makefile28
-rw-r--r--multimedia/xupnpd/patches/100-default_config.patch4
-rw-r--r--multimedia/xupnpd/patches/101-root_dir_param.patch4
-rw-r--r--net/adblock/Makefile2
-rw-r--r--net/adblock/files/README.md10
-rw-r--r--net/adblock/files/adblock-helper.sh76
-rwxr-xr-xnet/adblock/files/adblock-update.sh17
-rw-r--r--net/adblock/files/adblock.conf5
-rwxr-xr-xnet/adblock/files/adblock.init102
-rw-r--r--net/aria2/Config.in19
-rw-r--r--net/aria2/Makefile33
-rw-r--r--net/aria2/files/aria2.conf10
-rwxr-xr-xnet/aria2/files/aria2.init78
-rwxr-xr-xnet/ddns-scripts/Makefile2
-rwxr-xr-xnet/ddns-scripts/files/dynamic_dns_functions.sh8
-rwxr-xr-xnet/ddns-scripts/files/dynamic_dns_updater.sh1
-rw-r--r--net/mosquitto/Makefile6
-rw-r--r--net/nginx/Makefile4
-rw-r--r--net/vnstat/files/vnstat.init11
-rw-r--r--net/webui-aria2/Makefile56
-rw-r--r--net/yaaw/Makefile51
-rw-r--r--net/znc/Makefile4
-rw-r--r--net/znc/files/znc.init7
-rw-r--r--sound/shairport-sync/Makefile2
-rw-r--r--sound/shairport-sync/files/shairport-sync.config7
-rw-r--r--sound/shairport-sync/files/shairport-sync.init5
-rw-r--r--sound/squeezelite/Makefile10
-rw-r--r--sound/squeezelite/patches/010-select_broadcast_interface.patch190
-rw-r--r--sound/squeezelite/patches/020-no_mpg123.patch12
-rw-r--r--sound/squeezelite/patches/030-fix_musl_compatibilty.patch2
-rw-r--r--sound/squeezelite/patches/040-clear_dynlink_errors.patch16
-rw-r--r--sound/upmpdcli/Makefile10
-rw-r--r--sound/upmpdcli/patches/010-Add_icon_config.patch20
-rw-r--r--utils/dump1090/Makefile4
-rw-r--r--utils/gzip/Makefile63
-rw-r--r--utils/lrzsz/Makefile58
-rw-r--r--utils/lrzsz/patches/100-install_delete_fix.patch19
-rw-r--r--utils/mt-st/Makefile2
-rw-r--r--utils/pciutils/Makefile6
-rw-r--r--utils/tar/Makefile52
70 files changed, 858 insertions, 427 deletions
diff --git a/lang/lua-sha2/Makefile b/lang/lua-sha2/Makefile
index 6a82334e7..a6b8b6b94 100644
--- a/lang/lua-sha2/Makefile
+++ b/lang/lua-sha2/Makefile
@@ -13,7 +13,7 @@ PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_URL:=https://code.google.com/p/sha2/
+PKG_SOURCE_URL:=https://github.com/lgierth/lua-sha2.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=02bd4bfdc806
PKG_LICENSE:=MIT
diff --git a/lang/node-arduino-firmata/Makefile b/lang/node-arduino-firmata/Makefile
index 58dc2417e..d90a6048e 100644
--- a/lang/node-arduino-firmata/Makefile
+++ b/lang/node-arduino-firmata/Makefile
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NPM_NAME:=arduino-firmata
PKG_NAME:=node-$(PKG_NPM_NAME)
PKG_VERSION:=0.3.3
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/shokai/node-arduino-firmata.git
@@ -19,7 +19,7 @@ PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_SOURCE_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
PKG_BUILD_DEPENDS:=node/host
-PKG_NODE_VERSION:=4.4.4
+PKG_NODE_VERSION:=4.4.5
PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>
PKG_LICENSE:=MIT
diff --git a/lang/node-cylon/Makefile b/lang/node-cylon/Makefile
index ad7e52578..07e56a63e 100644
--- a/lang/node-cylon/Makefile
+++ b/lang/node-cylon/Makefile
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NPM_NAME:=cylon
PKG_NAME:=node-$(PKG_NPM_NAME)
PKG_VERSION:=0.22.0
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/hybridgroup/cylon-firmata.git
@@ -19,7 +19,7 @@ PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_SOURCE_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
PKG_BUILD_DEPENDS:=node/host
-PKG_NODE_VERSION:=4.4.4
+PKG_NODE_VERSION:=4.4.5
PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>
PKG_LICENSE:=Apache-2.0
diff --git a/lang/node-hid/Makefile b/lang/node-hid/Makefile
index fb29eae49..e5d5c70fd 100644
--- a/lang/node-hid/Makefile
+++ b/lang/node-hid/Makefile
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NPM_NAME:=hid
PKG_NAME:=node-$(PKG_NPM_NAME)
PKG_VERSION:=0.5.1
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/node-hid/node-hid.git
@@ -19,7 +19,7 @@ PKG_SOURCE_VERSION:=35d830b7810c87d32484d0a346621568c4849441
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_BUILD_DEPENDS:=node/host
-PKG_NODE_VERSION:=4.4.4
+PKG_NODE_VERSION:=4.4.5
PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>
PKG_LICENSE:=Custom
diff --git a/lang/node-serialport/Makefile b/lang/node-serialport/Makefile
index b787479e5..e4ca1eba3 100644
--- a/lang/node-serialport/Makefile
+++ b/lang/node-serialport/Makefile
@@ -10,14 +10,14 @@ include $(TOPDIR)/rules.mk
PKG_NPM_NAME:=serialport
PKG_NAME:=node-$(PKG_NPM_NAME)
PKG_VERSION:=3.0.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NPM_NAME)-$(PKG_VERSION).tgz
PKG_SOURCE_URL:=http://registry.npmjs.org/$(PKG_NPM_NAME)/-/
PKG_MD5SUM:=ea20a17746dd64e72d5f6f2019d9e28d
PKG_BUILD_DEPENDS:=node/host
-PKG_NODE_VERSION:=4.4.4
+PKG_NODE_VERSION:=4.4.5
PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>
PKG_LICENSE:=Custom
diff --git a/lang/node/Makefile b/lang/node/Makefile
index 7effb08ea..4f9aa7960 100644
--- a/lang/node/Makefile
+++ b/lang/node/Makefile
@@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=node
-PKG_VERSION:=v4.4.4
+PKG_VERSION:=v4.4.5
PKG_RELEASE:=1
PKG_SOURCE:=node-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://nodejs.org/dist/${PKG_VERSION}
-PKG_MD5SUM:=1ad7915688df85f62a57f43860dc54c6
+PKG_MD5SUM:=376140907bbe362f36065a30af04f020
HOST_BUILD_DEPENDS:=python/host
PKG_BUILD_DEPENDS:=python/host
@@ -35,7 +35,7 @@ define Package/node
SUBMENU:=Node.js
TITLE:=Node.js is a platform built on Chrome's JavaScript runtime
URL:=http://nodejs.org/
- DEPENDS:=+libpthread +librt +libstdcpp +libopenssl +libuv +zlib
+ DEPENDS:=+libpthread +librt +libstdcpp +libopenssl +zlib
endef
define Package/node/description
@@ -44,7 +44,7 @@ define Package/node/description
package ecosystem, npm, is the largest ecosystem of open source libraries in the world.
endef
-CPU:=$(subst x86_64,x64,$(subst i386,ia32,$(ARCH)))
+CPU:=$(subst aarch64,arm64,$(subst x86_64,x64,$(subst i386,ia32,$(ARCH))))
MAKE_VARS += \
DESTCPU=$(CPU)
diff --git a/lang/node/patches/004-gcc6-undefined-behaviour.patch b/lang/node/patches/004-gcc6-undefined-behaviour.patch
deleted file mode 100644
index 11b01325d..000000000
--- a/lang/node/patches/004-gcc6-undefined-behaviour.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff --git a/deps/v8/src/heap/incremental-marking.cc b/deps/v8/src/heap/incremental-marking.cc
-index 58eb0aa..b2b796f 100644
---- a/deps/v8/src/heap/incremental-marking.cc
-+++ b/deps/v8/src/heap/incremental-marking.cc
-@@ -364,7 +364,7 @@ void IncrementalMarking::DeactivateIncrementalWriteBarrier() {
- DeactivateIncrementalWriteBarrierForSpace(heap_->new_space());
-
- LargePage* lop = heap_->lo_space()->first_page();
-- while (lop->is_valid()) {
-+ while (LargePage::IsValid(lop)) {
- SetOldSpacePageFlags(lop, false, false);
- lop = lop->next_page();
- }
-@@ -396,7 +396,7 @@ void IncrementalMarking::ActivateIncrementalWriteBarrier() {
- ActivateIncrementalWriteBarrier(heap_->new_space());
-
- LargePage* lop = heap_->lo_space()->first_page();
-- while (lop->is_valid()) {
-+ while (LargePage::IsValid(lop)) {
- SetOldSpacePageFlags(lop, true, is_compacting_);
- lop = lop->next_page();
- }
-diff --git a/deps/v8/src/heap/spaces-inl.h b/deps/v8/src/heap/spaces-inl.h
-index c2c4d12..d63ee63 100644
---- a/deps/v8/src/heap/spaces-inl.h
-+++ b/deps/v8/src/heap/spaces-inl.h
-@@ -155,7 +155,7 @@ Page* Page::Initialize(Heap* heap, MemoryChunk* chunk, Executability executable,
-
- bool PagedSpace::Contains(Address addr) {
- Page* p = Page::FromAddress(addr);
-- if (!p->is_valid()) return false;
-+ if (!Page::IsValid(p)) return false;
- return p->owner() == this;
- }
-
-diff --git a/deps/v8/src/heap/spaces.cc b/deps/v8/src/heap/spaces.cc
-index 0806b25..c0e109b 100644
---- a/deps/v8/src/heap/spaces.cc
-+++ b/deps/v8/src/heap/spaces.cc
-@@ -2953,7 +2953,7 @@ LargePage* LargeObjectSpace::FindPage(Address a) {
- if (e != NULL) {
- DCHECK(e->value != NULL);
- LargePage* page = reinterpret_cast<LargePage*>(e->value);
-- DCHECK(page->is_valid());
-+ DCHECK(LargePage::IsValid(page));
- if (page->Contains(a)) {
- return page;
- }
-diff --git a/deps/v8/src/heap/spaces.h b/deps/v8/src/heap/spaces.h
-index 3461de3..e35c057 100644
---- a/deps/v8/src/heap/spaces.h
-+++ b/deps/v8/src/heap/spaces.h
-@@ -278,9 +278,9 @@ class MemoryChunk {
- // Only works for addresses in pointer spaces, not data or code spaces.
- static inline MemoryChunk* FromAnyPointerAddress(Heap* heap, Address addr);
-
-- Address address() { return reinterpret_cast<Address>(this); }
-+ static bool IsValid(MemoryChunk* chunk) { return chunk != nullptr; }
-
-- bool is_valid() { return address() != NULL; }
-+ Address address() { return reinterpret_cast<Address>(this); }
-
- MemoryChunk* next_chunk() const {
- return reinterpret_cast<MemoryChunk*>(base::Acquire_Load(&next_chunk_));
diff --git a/lang/python-pip/Makefile b/lang/python-pip/Makefile
index 79efc4563..3be956516 100644
--- a/lang/python-pip/Makefile
+++ b/lang/python-pip/Makefile
@@ -8,14 +8,15 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-pip
-PKG_VERSION:=8.1.1
+PKG_VERSION:=8.1.2
PKG_RELEASE:=1
PKG_SOURCE:=pip-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://pypi.python.org/packages/source/p/pip/
-PKG_MD5SUM:=6b86f11841e89c8241d689956ba99ed7
+PKG_SOURCE_URL:=https://pypi.python.org/packages/e7/a8/7556133689add8d1a54c0b14aeff0acb03c64707ce100ecd53934da1aa13/
+PKG_MD5SUM:=87083c0b9867963b29f7aba3613e8f4a
-PKG_BUILD_DIR:=$(BUILD_DIR)/pip-$(PKG_VERSION)
+PKG_BUILD_DIR:=$(BUILD_DIR)/python-pip-$(PKG_VERSION)
+PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
PKG_USE_MIPS16:=0
include $(INCLUDE_DIR)/package.mk
diff --git a/lang/python-setuptools/Makefile b/lang/python-setuptools/Makefile
index baeabc17b..96fc0720e 100644
--- a/lang/python-setuptools/Makefile
+++ b/lang/python-setuptools/Makefile
@@ -8,17 +8,20 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-setuptools
-PKG_VERSION:=20.7.0
+PKG_VERSION:=22.0.5
PKG_RELEASE:=1
PKG_SOURCE:=setuptools-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://pypi.python.org/packages/source/s/setuptools/
-PKG_MD5SUM:=5d12b39bf3e75e80fdce54e44b255615
+PKG_SOURCE_URL:=https://pypi.python.org/packages/90/7a/b64d5804b6d1aebed1892e4df1c21bcb4f8480095ba8004e48999601119d/
+PKG_MD5SUM:=869f3029dcc66a64ba39875e2a2f044a
HOST_BUILD_DEPENDS:=python python/host
-PKG_BUILD_DIR:=$(BUILD_DIR)/setuptools-$(PKG_VERSION)
-HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/setuptools-$(PKG_VERSION)
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
+
+HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION)
+HOST_UNPACK=$(HOST_TAR) -C $(HOST_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk
diff --git a/lang/python3-pip/Makefile b/lang/python3-pip/Makefile
index d5a50302d..b7680b933 100644
--- a/lang/python3-pip/Makefile
+++ b/lang/python3-pip/Makefile
@@ -8,16 +8,17 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python3-pip
-PKG_VERSION:=8.1.1
+PKG_VERSION:=8.1.2
PKG_RELEASE:=1
PKG_SOURCE:=pip-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://pypi.python.org/packages/source/p/pip/
-PKG_MD5SUM:=6b86f11841e89c8241d689956ba99ed7
+PKG_SOURCE_URL:=https://pypi.python.org/packages/e7/a8/7556133689add8d1a54c0b14aeff0acb03c64707ce100ecd53934da1aa13/
+PKG_MD5SUM:=87083c0b9867963b29f7aba3613e8f4a
PKG_LICENSE:=MIT
-PKG_BUILD_DIR:=$(BUILD_DIR)/pip-$(PKG_VERSION)
+PKG_BUILD_DIR:=$(BUILD_DIR)/python3-pip-$(PKG_VERSION)
+PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
PKG_USE_MIPS16:=0
include $(INCLUDE_DIR)/package.mk
diff --git a/lang/python3-setuptools/Makefile b/lang/python3-setuptools/Makefile
index 0d6352bfa..f8ff0a7a0 100644
--- a/lang/python3-setuptools/Makefile
+++ b/lang/python3-setuptools/Makefile
@@ -8,16 +8,17 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python3-setuptools
-PKG_VERSION:=20.7.0
+PKG_VERSION:=22.0.5
PKG_RELEASE:=1
PKG_SOURCE:=setuptools-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://pypi.python.org/packages/source/s/setuptools/
-PKG_MD5SUM:=5d12b39bf3e75e80fdce54e44b255615
+PKG_SOURCE_URL:=https://pypi.python.org/packages/90/7a/b64d5804b6d1aebed1892e4df1c21bcb4f8480095ba8004e48999601119d/
+PKG_MD5SUM:=869f3029dcc66a64ba39875e2a2f044a
PKG_LICENSE:=PSF
-PKG_BUILD_DIR:=$(BUILD_DIR)/setuptools-$(PKG_VERSION)
+PKG_BUILD_DIR:=$(BUILD_DIR)/python3-setuptools-$(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)
diff --git a/libs/intltool/Makefile b/libs/intltool/Makefile
index 7c24469e4..a84ea9477 100644
--- a/libs/intltool/Makefile
+++ b/libs/intltool/Makefile
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=intltool
PKG_LIBVER:=0.40
PKG_VERSION:=$(PKG_LIBVER).6
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@GNOME/intltool/$(PKG_LIBVER)
@@ -18,6 +18,7 @@ PKG_MD5SUM:=69bc0353323112f42ad4f9cf351bc3e5
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
PKG_HOST_ONLY:=1
+HOST_FIXUP:=autoreconf
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk
@@ -35,13 +36,5 @@ define Package/intltool/description
file formats using GNU gettext-compatible PO files.
endef
-define Require/perl-xml-parser
- perl -e 'use XML::Parser;'
-endef
-
-$(eval $(call Require,perl-xml-parser, \
- Please install Perl XML::Parser \
-))
-
$(eval $(call BuildPackage,intltool))
$(eval $(call HostBuild))
diff --git a/libs/intltool/patches/100-optional-perl-xml-parser.patch b/libs/intltool/patches/100-optional-perl-xml-parser.patch
new file mode 100644
index 000000000..4615d1d95
--- /dev/null
+++ b/libs/intltool/patches/100-optional-perl-xml-parser.patch
@@ -0,0 +1,22 @@
+--- a/configure.in
++++ b/configure.in
+@@ -25,7 +25,7 @@ AC_MSG_CHECKING([for XML::Parser])
+ if `$PERL -e "require XML::Parser" 2>/dev/null`; then
+ AC_MSG_RESULT([ok])
+ else
+- AC_MSG_ERROR([XML::Parser perl module is required for intltool])
++ AC_MSG_RESULT([XML::Parser perl module is required for some intltool utilitities])
+ fi
+
+ AC_OUTPUT([
+--- a/intltool.m4
++++ b/intltool.m4
+@@ -127,7 +127,7 @@ if test "x$2" != "xno-xml"; then
+ if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
+ AC_MSG_RESULT([ok])
+ else
+- AC_MSG_ERROR([XML::Parser perl module is required for intltool])
++ AC_MSG_RESULT([XML::Parser perl module is required for some intltool utilitities])
+ fi
+ fi
+
diff --git a/libs/libftdi1/Makefile b/libs/libftdi1/Makefile
index 725f91550..cf2ba17ae 100644
--- a/libs/libftdi1/Makefile
+++ b/libs/libftdi1/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2014-2015 OpenWrt.org
+# Copyright (C) 2014-2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libftdi1
-PKG_VERSION:=1.2
-PKG_RELEASE:=4
+PKG_VERSION:=1.3
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://www.intra2net.com/en/developer/libftdi/download/
-PKG_MD5SUM:=89dff802d89c4c0d55d8b4665fd52d0b
+PKG_MD5SUM:=156cdf40cece9f8a3ce1582db59a502a
PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
PKG_LICENSE:=LGPL-2.0
diff --git a/libs/libmodbus/Makefile b/libs/libmodbus/Makefile
index 65fb00e03..4f9bab2e2 100644
--- a/libs/libmodbus/Makefile
+++ b/libs/libmodbus/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2006-2015 OpenWrt.org
+# Copyright (C) 2006-2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libmodbus
-PKG_VERSION:=3.1.2
+PKG_VERSION:=3.1.4
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://libmodbus.org/releases
-PKG_MD5SUM:=dd4262f87ed835c4d1e560f8321a222c
+PKG_MD5SUM:=b1a8fd3a40d2db4de51fb0cbcb201806
PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
@@ -36,7 +36,7 @@ define Package/libmodbus/description
A Modbus library for Linux, Mac OS X, FreeBSD, QNX and Win32.
endef
-CONFIGURE_ARGS += --without-documentation
+CONFIGURE_ARGS += --without-documentation --disable-tests
TARGET_CFLAGS += $(FPIC)
define Build/InstallDev
diff --git a/libs/libsoup/Makefile b/libs/libsoup/Makefile
index 873632a8d..5bb9c5b6b 100644
--- a/libs/libsoup/Makefile
+++ b/libs/libsoup/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libsoup
PKG_VERSION:=2.53.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNOME/$(PKG_NAME)/2.53
@@ -19,6 +19,7 @@ PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=COPYING
PKG_FIXUP:=autoreconf
+PKG_REMOVE_FILES:=m4/intltool.m4
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
@@ -43,6 +44,7 @@ define Build/Configure
--without-apache-httpd \
--without-gnome \
--enable-vala=no \
+ --disable-more-warnings \
)
endef
diff --git a/libs/libssh2/Makefile b/libs/libssh2/Makefile
index 7951f63ef..911d34e81 100644
--- a/libs/libssh2/Makefile
+++ b/libs/libssh2/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2015 OpenWrt.org
+# Copyright (C) 2015-2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libssh2
-PKG_VERSION:=1.6.0
+PKG_VERSION:=1.7.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.libssh2.org/download
-PKG_MD5SUM:=00aabd6e714a5f42a4fb82ace20db1dd
+PKG_MD5SUM:=b01662a210e94cccf2f76094db7dac5c
PKG_INSTALL:=1
@@ -28,7 +28,7 @@ define Package/libssh2
TITLE:=SSH2 library
URL:=http://www.libssh2.org/
DEPENDS:=+libopenssl +zlib
- MAINTAINER:=Jiri Slachta <slachta@cesnet.cz>
+ MAINTAINER:=Jiri Slachta <jiri@slachta.eu>
endef
define Package/libssh2/description
diff --git a/libs/libtasn1/Makefile b/libs/libtasn1/Makefile
index 63ddaba98..c70eadbb4 100644
--- a/libs/libtasn1/Makefile
+++ b/libs/libtasn1/Makefile
@@ -9,11 +9,13 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libtasn1
PKG_VERSION:=4.8
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=ftp://ftp.gnu.org/gnu/libtasn1
PKG_MD5SUM:=9a6767705725544f2b86670dcfb34107
+PKG_LICENSE:=GPL-3.0
+PKG_LICENSE_FILES:=COPYING
#PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
diff --git a/libs/libupnpp/Makefile b/libs/libupnpp/Makefile
index 923187465..9a7db84a2 100644
--- a/libs/libupnpp/Makefile
+++ b/libs/libupnpp/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2014 OpenWrt.org
+# Copyright (C) 2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libupnpp
-PKG_VERSION:=0.11.0
+PKG_VERSION:=0.14.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.lesbonscomptes.com/upmpdcli/downloads
-PKG_MD5SUM:=faefaef9e7dbfe57d9224cf49aab6e2e
+PKG_MD5SUM:=1b10905a365fc6277e1d8ced77278666
PKG_MAINTAINER:=Petko Bordjukov <bordjukov@gmail.com>
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=COPYING
diff --git a/libs/libxml2/Makefile b/libs/libxml2/Makefile
index fd0251489..155640c65 100644
--- a/libs/libxml2/Makefile
+++ b/libs/libxml2/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2006-2015 OpenWrt.org
+# Copyright (C) 2006-2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -8,14 +8,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libxml2
-PKG_VERSION:=2.9.3
+PKG_VERSION:=2.9.4
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://gd.tuwien.ac.at/languages/libxml/ \
http://xmlsoft.org/sources/ \
ftp://fr.rpmfind.net/pub/libxml/
-PKG_MD5SUM:=daece17e045f1c107610e137ab50c179
+PKG_MD5SUM:=ae249165c173b1ff386ee8ad676815f5
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
diff --git a/libs/libxslt/Makefile b/libs/libxslt/Makefile
index 20a62210c..955073a00 100644
--- a/libs/libxslt/Makefile
+++ b/libs/libxslt/Makefile
@@ -20,7 +20,7 @@ PKG_MD5SUM:=9667bf6f9310b957254fdcf6596600b7
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
-PKG_MAINTAINER:=Jiri Slachta <slachta@cesnet.cz>
+PKG_MAINTAINER:=Jiri Slachta <jiri@slachta.eu>
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
diff --git a/libs/tiff/Makefile b/libs/tiff/Makefile
index 317572590..6d83fe79a 100644
--- a/libs/tiff/Makefile
+++ b/libs/tiff/Makefile
@@ -31,7 +31,7 @@ include $(INCLUDE_DIR)/package.mk
define Package/tiff/Default
TITLE:=TIFF
URL:=http://www.remotesensing.org/libtiff/
- MAINTAINER:=Jiri Slachta <slachta@cesnet.cz>
+ MAINTAINER:=Jiri Slachta <jiri@slachta.eu>
endef
define Package/libtiff
diff --git a/multimedia/crtmpserver/Makefile b/multimedia/crtmpserver/Makefile
index 5f2a31eb4..972fff837 100644
--- a/multimedia/crtmpserver/Makefile
+++ b/multimedia/crtmpserver/Makefile
@@ -8,8 +8,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=crtmpserver
-PKG_REV:=811
-PKG_VERSION:=r$(PKG_REV)
+PKG_REV:=b6fdcdb
+PKG_VERSION:=2012-07-18+git-$(PKG_REV)
PKG_RELEASE:=1
PKG_BUILD_PARALLEL:=2
PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
@@ -17,10 +17,10 @@ PKG_LICENSE:=GPL-3.0
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=--username=anonymous --password= https://svn.rtmpd.com/crtmpserver/branches/1.0
+PKG_SOURCE_URL:=https://github.com/j0sh/crtmpserver.git
PKG_SOURCE_SUBDIR:=crtmpserver-$(PKG_VERSION)
PKG_SOURCE_VERSION:=$(PKG_REV)
-PKG_SOURCE_PROTO:=svn
+PKG_SOURCE_PROTO:=git
include $(INCLUDE_DIR)/package.mk
@@ -66,6 +66,9 @@ define Build/Configure
-e 's,^OPTIMIZATIONS[[:space:]]*=.*,OPTIMIZATIONS=-O2,' \
-e 's,^SSL_BASE[[:space:]]*=.*,SSL_BASE=$(STAGING_DIR)/usr,' \
linux-openwrt-uclibc.mk)
+ (cd $(PKG_BUILD_DIR)/sources/common/include/; \
+ echo '#define CRTMPSERVER_VERSION_RELEASE_NUMBER "$(PKG_VERSION)\n"' > version.h; \
+ echo '#define CRTMPSERVER_VERSION_CODE_NAME "Git\n"' >> version.h)
endef
define Build/Compile
diff --git a/multimedia/crtmpserver/patches/010-link-crypt-for-lua.patch b/multimedia/crtmpserver/patches/010-link-crypt-for-lua.patch
index ec758188e..cc49523ae 100644
--- a/multimedia/crtmpserver/patches/010-link-crypt-for-lua.patch
+++ b/multimedia/crtmpserver/patches/010-link-crypt-for-lua.patch
@@ -1,6 +1,6 @@
--- a/builders/make/compile.mk
+++ b/builders/make/compile.mk
-@@ -67,7 +67,7 @@ TINYXML_OBJS = $(TINYXML_SRCS:.cpp=.tiny
+@@ -72,7 +72,7 @@ TINYXML_OBJS = $(TINYXML_SRCS:.cpp=.tiny
#common
COMMON_INCLUDE=$(LUA_INCLUDE) $(TINYXML_INCLUDE) $(SSL_INCLUDE) -I$(PROJECT_BASE_PATH)/sources/common/include
diff --git a/multimedia/crtmpserver/patches/030-default-config.patch b/multimedia/crtmpserver/patches/030-default-config.patch
index c37644ce9..2975f000c 100644
--- a/multimedia/crtmpserver/patches/030-default-config.patch
+++ b/multimedia/crtmpserver/patches/030-default-config.patch
@@ -23,7 +23,7 @@
-- It is optional. If not specified, it will be defaulted to:
-- <rootDirectory>/<name>/mediaFolder
- -- mediaFolder="/some/directory/where/media/files/are/stored"
-+ mediaFolder="/usr/share/crtmpserver/appselector",
++ mediaFolder="/media",
-- the application will also be known by that names. It is optional
--aliases=
--{
@@ -41,16 +41,7 @@
port=8080,
protocol="inboundRtmpt"
},
-@@ -105,7 +98,7 @@ configuration=
- description="FLV Playback Sample",
- name="flvplayback",
- protocol="dynamiclinklibrary",
-- mediaFolder="/Volumes/android/backup/media/",
-+ mediaFolder="/media/",
- aliases=
- {
- "simpleLive",
-@@ -183,6 +176,7 @@ configuration=
+@@ -184,6 +177,7 @@ configuration=
name="samplefactory",
description="asdsadasdsa",
protocol="dynamiclinklibrary",
diff --git a/multimedia/crtmpserver/patches/040-use-select.patch b/multimedia/crtmpserver/patches/040-use-select.patch
index 466f86c9e..380208e80 100644
--- a/multimedia/crtmpserver/patches/040-use-select.patch
+++ b/multimedia/crtmpserver/patches/040-use-select.patch
@@ -1,7 +1,5 @@
-Index: crtmpserver-r726/builders/make/linux.mk
-===================================================================
---- crtmpserver-r726.orig/builders/make/linux.mk
-+++ crtmpserver-r726/builders/make/linux.mk
+--- a/builders/make/linux.mk
++++ b/builders/make/linux.mk
@@ -38,7 +38,7 @@ dynamic_exec_flags = $(FPIC) $(OPTIMIZAT
PLATFORM_DEFINES = \
-DLINUX \
diff --git a/multimedia/crtmpserver/patches/050-add-missing-make-defines.patch b/multimedia/crtmpserver/patches/050-add-missing-make-defines.patch
index f9ff617b9..25694b8f7 100644
--- a/multimedia/crtmpserver/patches/050-add-missing-make-defines.patch
+++ b/multimedia/crtmpserver/patches/050-add-missing-make-defines.patch
@@ -1,22 +1,6 @@
--- a/builders/make/compile.mk
+++ b/builders/make/compile.mk
-@@ -43,17 +43,22 @@ FEATURES_DEFINES = \
- -DHAS_PROTOCOL_RTP \
- -DHAS_PROTOCOL_TS \
- -DHAS_PROTOCOL_VAR \
-+ -DHAS_PROTOCOL_CLI \
-+ -DHAS_PROTOCOL_HLS \
-+ -DHAS_PROTOCOL_RAWHTTPSTREAM \
- -DHAS_LUA \
- -DHAS_MEDIA_MP3 \
- -DHAS_MEDIA_MP4 \
-- -DHAS_MEDIA_FLV
-+ -DHAS_MEDIA_FLV \
-+ -DHAS_SYSLOG
-+
-
-
- DEFINES = $(PLATFORM_DEFINES) $(FEATURES_DEFINES)
+@@ -58,7 +58,7 @@ DEFINES = $(PLATFORM_DEFINES) $(FEATURES
#library paths
SSL_INCLUDE=-I$(SSL_BASE)/include
@@ -25,7 +9,7 @@
#lua
LUA_INCLUDE=-I$(PROJECT_BASE_PATH)/3rdparty/lua-dev
-@@ -67,25 +72,25 @@ TINYXML_OBJS = $(TINYXML_SRCS:.cpp=.tiny
+@@ -72,25 +72,25 @@ TINYXML_OBJS = $(TINYXML_SRCS:.cpp=.tiny
#common
COMMON_INCLUDE=$(LUA_INCLUDE) $(TINYXML_INCLUDE) $(SSL_INCLUDE) -I$(PROJECT_BASE_PATH)/sources/common/include
diff --git a/multimedia/crtmpserver/patches/060-add-missing-includes.patch b/multimedia/crtmpserver/patches/060-add-missing-includes.patch
index 505b5f337..7b9da39a2 100644
--- a/multimedia/crtmpserver/patches/060-add-missing-includes.patch
+++ b/multimedia/crtmpserver/patches/060-add-missing-includes.patch
@@ -23,4 +23,4 @@
+
#include "utils/logging/fileloglocation.h"
#include "utils/lua/luautils.h"
-
+ #include "utils/misc/file.h"
diff --git a/multimedia/crtmpserver/patches/070-missing-include-gcc-47.patch b/multimedia/crtmpserver/patches/070-missing-include-gcc-47.patch
index 94d80e793..534046f07 100644
--- a/multimedia/crtmpserver/patches/070-missing-include-gcc-47.patch
+++ b/multimedia/crtmpserver/patches/070-missing-include-gcc-47.patch
@@ -5,6 +5,6 @@
#include <iostream>
#include <sstream>
+#include "lstate.h"
+ using namespace std;
// Help out windows:
- #if defined( _DEBUG ) && !defined( DEBUG )
diff --git a/multimedia/oggfwd/Makefile b/multimedia/oggfwd/Makefile
index 4560da1f8..a025e8dab 100644
--- a/multimedia/oggfwd/Makefile
+++ b/multimedia/oggfwd/Makefile
@@ -13,7 +13,7 @@ PKG_VERSION:=20150412
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=git://r-w-x.org/oggfwd.git
+PKG_SOURCE_URL:=https://r-w-x.org/oggfwd.git
PKG_SOURCE_PROTO:=git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE_VERSION:=$(PKG_REV)
diff --git a/multimedia/xupnpd/Makefile b/multimedia/xupnpd/Makefile
index 9522e83fd..35b1aad72 100644
--- a/multimedia/xupnpd/Makefile
+++ b/multimedia/xupnpd/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2013-2015 OpenWrt.org
+# Copyright (C) 2013-2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -8,15 +8,19 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=xupnpd
-PKG_REV:=404
-PKG_VERSION:=$(PKG_REV)
+PKG_REV:=fdeeb919264c1dde4a2ead5045eefbe54011b2dc
+PKG_VERSION:=2016-05-11
PKG_RELEASE:=1
-PKG_SOURCE_PROTO:=svn
+PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=$(PKG_REV)
-PKG_SOURCE_SUBDIR:=xupnpd-$(PKG_VERSION)
-PKG_SOURCE_URL:=http://tsdemuxer.googlecode.com/svn/trunk/xupnpd/src/
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_URL:=https://github.com/clark15b/xupnpd.git
PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz
+
+PKG_LICENSE:=GPLv2
+PKG_LICENSE_FILES:=LICENSE
+
PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
include $(INCLUDE_DIR)/package.mk
@@ -24,7 +28,7 @@ include $(INCLUDE_DIR)/package.mk
LUA_FLAGS:=-llua
define Build/Compile
- (cd $(PKG_BUILD_DIR); $(TARGET_CC) -v $(LUA_FLAGS) $(TARGET_CFLAGS) -fno-exceptions -fno-rtti -DWITH_URANDOM $(TARGET_CPPFLAGS) $(TARGET_LDFLAGS) -lm -ldl -lcrypt -o xupnpd *.c *.cpp)
+ (cd $(PKG_BUILD_DIR)/src; $(TARGET_CC) -v $(LUA_FLAGS) $(TARGET_CFLAGS) -fno-exceptions -fno-rtti -DWITH_URANDOM $(TARGET_CPPFLAGS) $(TARGET_LDFLAGS) -lm -ldl -lcrypt -o xupnpd *.c *.cpp)
endef
define Package/xupnpd
@@ -50,18 +54,18 @@ endef
define Package/xupnpd/install
$(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/xupnpd $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/xupnpd $(1)/usr/bin
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/xupnpd.init $(1)/etc/init.d/xupnpd
$(INSTALL_DIR) $(1)/usr/share/xupnpd
- $(CP) $(PKG_BUILD_DIR)/*.lua $(1)/usr/share/xupnpd
+ $(CP) $(PKG_BUILD_DIR)/src/*.lua $(1)/usr/share/xupnpd
$(INSTALL_DIR) $(1)/usr/share/xupnpd/ui
- $(CP) $(PKG_BUILD_DIR)/ui/* $(1)/usr/share/xupnpd/ui
+ $(CP) $(PKG_BUILD_DIR)/src/ui/* $(1)/usr/share/xupnpd/ui
$(INSTALL_DIR) $(1)/usr/share/xupnpd/www
- $(CP) $(PKG_BUILD_DIR)/www/* $(1)/usr/share/xupnpd/www
+ $(CP) $(PKG_BUILD_DIR)/src/www/* $(1)/usr/share/xupnpd/www
$(INSTALL_DIR) $(1)/usr/share/xupnpd/playlists
$(INSTALL_DIR) $(1)/usr/share/xupnpd/plugins
- $(CP) $(PKG_BUILD_DIR)/plugins/* $(1)/usr/share/xupnpd/plugins
+ $(CP) $(PKG_BUILD_DIR)/src/plugins/* $(1)/usr/share/xupnpd/plugins
$(INSTALL_DIR) $(1)/usr/share/xupnpd/config
$(INSTALL_DIR) $(1)/etc/xupnpd
(cd $(1)/etc/xupnpd; ln -s ../../usr/share/xupnpd/config ./; ln -s ../../usr/share/xupnpd/xupnpd.lua ./)
diff --git a/multimedia/xupnpd/patches/100-default_config.patch b/multimedia/xupnpd/patches/100-default_config.patch
index 89958c7fe..dee21a997 100644
--- a/multimedia/xupnpd/patches/100-default_config.patch
+++ b/multimedia/xupnpd/patches/100-default_config.patch
@@ -1,5 +1,5 @@
---- a/xupnpd.lua
-+++ b/xupnpd.lua
+--- a/src/xupnpd.lua
++++ b/src/xupnpd.lua
@@ -1,10 +1,10 @@
cfg={}
diff --git a/multimedia/xupnpd/patches/101-root_dir_param.patch b/multimedia/xupnpd/patches/101-root_dir_param.patch
index 68ea3e82e..4dac9d944 100644
--- a/multimedia/xupnpd/patches/101-root_dir_param.patch
+++ b/multimedia/xupnpd/patches/101-root_dir_param.patch
@@ -1,5 +1,5 @@
---- a/main.cpp
-+++ b/main.cpp
+--- a/src/main.cpp
++++ b/src/main.cpp
@@ -4,11 +4,14 @@
* https://tsdemuxer.googlecode.com/svn/trunk/xupnpd
*/
diff --git a/net/adblock/Makefile b/net/adblock/Makefile
index 3bc057cd8..21fe36b46 100644
--- a/net/adblock/Makefile
+++ b/net/adblock/Makefile
@@ -7,7 +7,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=adblock
-PKG_VERSION:=1.1.15
+PKG_VERSION:=1.1.17
PKG_RELEASE:=1
PKG_LICENSE:=GPL-3.0+
PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
diff --git a/net/adblock/files/README.md b/net/adblock/files/README.md
index 7bdc729a3..adb3eb912 100644
--- a/net/adblock/files/README.md
+++ b/net/adblock/files/README.md
@@ -39,7 +39,7 @@ A lot of people already use adblocker plugins within their desktop browsers, but
* => weekly updates, approx. 12.000 entries
* [winhelp](http://winhelp2002.mvps.org)
* => infrequent updates, approx. 15.000 entries
- * [winspy](https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/hosts/windows10_spy.txt)
+ * [winspy](https://github.com/crazy-max/WindowsSpyBlocker)
* => infrequent updates, approx. 120 entries
* [yoyo](http://pgl.yoyo.org/adservers)
* => weekly updates, approx. 2.500 entries (enabled by default)
@@ -102,9 +102,10 @@ A lot of people already use adblocker plugins within their desktop browsers, but
* **list updates:** for a scheduled call of the adblock service add an appropriate crontab entry (see example below)
* **new list sources:** you could add new blocklist sources on your own via uci config, all you need is a source url and an awk one-liner (see example below)
* **AP mode:** in AP mode adblock uses automatically the local router ip as nullip address. To make sure that your LuCI interface will be still accessible, please change the local uhttpd instance to ports <> 80/443 (see example below)
+* **Restricted mode:** to disable flash writes with adblock status information to the adblock config file (used by LuCI frontend), please set 'adb\_restricted' to '1'
* **adblock toggle:** to quickly switch adblocking 'on' or 'off', simply use _/etc/init.d/adblock toggle_
-* **outdated configuration:** if adblock detects an outdated config file, please copy the current version from '/etc/adblock/adblock.conf.default' to '/etc/config/adblock', make your individual changes and finally restart the adblock service
-* **debugging:** for script debugging please change the 'DEBUG' variable in the header of _/usr/bin/adblock-update.sh_ from '0' to '1' and start this script directly (without any parameters)
+* **configuration update:** to update an outdated adblock config file with the current default version, please run _/etc/init.d/adblock cfgup_, make your individual changes and start the adblock service again
+* **debugging:** for script debugging please set the 'adb\_debug' variable in the header of _/etc/init.d/adblock_ to '1'
* **disable active dns probing in windows:** to prevent a possible 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_
## Further adblock config options
@@ -115,8 +116,9 @@ A lot of people already use adblocker plugins within their desktop browsers, but
* adb\_nullport => port of the adblock uhttpd instance (default: '65535')
* adb\_nullipv4 => IPv4 blackhole ip address (default: '192.0.2.1', in AP mode: local router ip)
* adb\_nullipv6 => IPv6 blackhole ip address (default: '::ffff:c000:0201', in AP mode: local router ip)
- * adb\_forcedns => redirect all DNS queries to local dnsmasq resolver (default: '1', enabled)
+ * adb\_forcedns => redirect all local DNS queries to the local dnsmasq resolver (default: '1', enabled)
* adb\_fetchttl => set the timeout for list downloads (default: '5' seconds)
+ * adb\_restricted => disable updates of the adblock config file (no flash writes) during runtime (default: '0', disabled)
## Examples
diff --git a/net/adblock/files/adblock-helper.sh b/net/adblock/files/adblock-helper.sh
index 15773efbe..f447c99f8 100644
--- a/net/adblock/files/adblock-helper.sh
+++ b/net/adblock/files/adblock-helper.sh
@@ -12,8 +12,8 @@ f_envload()
then
. "/lib/functions.sh"
else
- rc=110
- f_log "system function library not found" "${rc}"
+ rc=-1
+ f_log "system function library not found, please check your installation"
f_exit
fi
@@ -23,8 +23,8 @@ f_envload()
then
. "/lib/functions/network.sh"
else
- rc=115
- f_log "system network library not found" "${rc}"
+ rc=-1
+ f_log "system network library not found, please check your installation"
f_exit
fi
@@ -39,6 +39,7 @@ f_envload()
adb_whitelist_rset="\$1 ~/^([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$1)}"
adb_forcedns=1
adb_fetchttl=5
+ adb_restricted=0
# function to parse global section by callback
#
@@ -95,8 +96,8 @@ f_envload()
pkg_list="$(opkg list-installed)"
if [ -z "${pkg_list}" ]
then
- rc=120
- f_log "empty package list" "${rc}"
+ rc=-1
+ f_log "empty package list, please check your installation"
f_exit
fi
@@ -114,10 +115,11 @@ f_envload()
adb_dnsdir="/tmp/dnsmasq.d"
adb_dnshidedir="${adb_dnsdir}/.adb_hidden"
adb_dnsprefix="adb_list"
- adb_uci="$(which uci)"
adb_iptv4="$(which iptables)"
adb_iptv6="$(which ip6tables)"
adb_fetch="$(which wget)"
+ adb_uci="$(which uci)"
+ adb_date="$(which date)"
unset adb_srclist adb_revsrclist adb_errsrclist
# check 'enabled' & 'version' config options
@@ -125,7 +127,7 @@ f_envload()
if [ -z "${adb_enabled}" ] || [ -z "${adb_cfgver}" ] || [ "${adb_cfgver%%.*}" != "${adb_mincfgver%%.*}" ]
then
rc=-1
- f_log "outdated adblock config (${adb_mincfgver} vs. ${adb_cfgver}), please use latest version from '/etc/adblock/adblock.conf.default'"
+ f_log "outdated adblock config (${adb_mincfgver} vs. ${adb_cfgver}), please run '/etc/init.d/adblock cfgup' to update your configuration"
f_exit
elif [ "${adb_cfgver#*.}" != "${adb_mincfgver#*.}" ]
then
@@ -140,8 +142,8 @@ f_envload()
# check running dnsmasq instance
#
- rc="$(ps | grep -q "[d]nsmasq"; printf ${?})"
- if [ $((rc)) -ne 0 ]
+ check="$(pgrep -f "dnsmasq")"
+ if [ -z "${check}" ]
then
rc=-1
f_log "please enable the local dnsmasq instance to use adblock"
@@ -167,6 +169,9 @@ f_envload()
rc=-1
f_log "no valid IPv4/IPv6 configuration found (${adb_lanif}), please set 'adb_lanif' manually"
f_exit
+ else
+ network_get_device adb_landev4 "${adb_lanif}"
+ network_get_device adb_landev6 "${adb_lanif}"
fi
# check logical update interfaces (with default route)
@@ -184,8 +189,8 @@ f_envload()
then
adb_nullipv4="${adb_ipv4}"
adb_nullipv6="${adb_ipv6}"
- if [ "$(uci get uhttpd.main.listen_http | grep -Fo "80")" = "80" ] ||
- [ "$(uci get uhttpd.main.listen_https | grep -Fo "443")" = "443" ]
+ if [ "$(${adb_uci} get uhttpd.main.listen_http | grep -Fo "80")" = "80" ] ||
+ [ "$(${adb_uci} get uhttpd.main.listen_https | grep -Fo "443")" = "443" ]
then
rc=-1
f_log "AP mode detected, set local LuCI instance to ports <> 80/443"
@@ -207,16 +212,28 @@ f_envcheck()
{
local check
+ # log partially outdated config
+ #
if [ "${outdate_ok}" = "true" ]
then
- f_log "partially outdated adblock config (${adb_mincfgver} vs. ${adb_cfgver}), please use latest version from '/etc/adblock/adblock.conf.default'"
+ f_log "partially outdated adblock config (${adb_mincfgver} vs. ${adb_cfgver}), please run '/etc/init.d/adblock cfgup' to update your configuration"
fi
+ # log ap mode
+ #
if [ "${apmode_ok}" = "true" ]
then
f_log "AP mode enabled"
fi
+ # set & log restricted mode
+ #
+ if [ $((adb_restricted)) -eq 1 ]
+ then
+ adb_uci="$(which true)"
+ f_log "Restricted mode enabled"
+ fi
+
# check general package dependencies
#
f_depend "busybox"
@@ -272,7 +289,7 @@ f_envcheck()
then
if [ $((av_space)) -le 2000 ]
then
- rc=125
+ rc=105
f_log "not enough free space in '${adb_tmpdir}' (avail. ${av_space} kb)" "${rc}"
f_exit
else
@@ -280,7 +297,7 @@ f_envcheck()
fi
fi
else
- rc=130
+ rc=110
f_log "temp directory not found" "${rc}"
f_exit
fi
@@ -337,10 +354,10 @@ f_envcheck()
f_firewall "IPv4" "filter" "A" "forwarding_rule" "adb-fwd" "-d ${adb_nullipv4} -j REJECT --reject-with icmp-host-unreachable"
f_firewall "IPv4" "filter" "A" "output_rule" "adb-out" "-p tcp -d ${adb_nullipv4} -j REJECT --reject-with tcp-reset"
f_firewall "IPv4" "filter" "A" "output_rule" "adb-out" "-d ${adb_nullipv4} -j REJECT --reject-with icmp-host-unreachable"
- if [ $((adb_forcedns)) -eq 1 ]
+ if [ $((adb_forcedns)) -eq 1 ] && [ -n "${adb_landev4}" ]
then
- f_firewall "IPv4" "nat" "A" "prerouting_rule" "adb-dns" "-p udp --dport 53 -j DNAT --to-destination ${adb_ipv4}:53"
- f_firewall "IPv4" "nat" "A" "prerouting_rule" "adb-dns" "-p tcp --dport 53 -j DNAT --to-destination ${adb_ipv4}:53"
+ f_firewall "IPv4" "nat" "A" "prerouting_rule" "adb-dns" "-i ${adb_landev4} -p udp --dport 53 -j DNAT --to-destination ${adb_ipv4}:53"
+ f_firewall "IPv4" "nat" "A" "prerouting_rule" "adb-dns" "-i ${adb_landev4} -p tcp --dport 53 -j DNAT --to-destination ${adb_ipv4}:53"
fi
if [ "${fw_done}" = "true" ]
then
@@ -358,10 +375,10 @@ f_envcheck()
f_firewall "IPv6" "filter" "A" "forwarding_rule" "adb-fwd" "-d ${adb_nullipv6} -j REJECT --reject-with icmp6-addr-unreachable"
f_firewall "IPv6" "filter" "A" "output_rule" "adb-out" "-p tcp -d ${adb_nullipv6} -j REJECT --reject-with tcp-reset"
f_firewall "IPv6" "filter" "A" "output_rule" "adb-out" "-d ${adb_nullipv6} -j REJECT --reject-with icmp6-addr-unreachable"
- if [ $((adb_forcedns)) -eq 1 ]
+ if [ $((adb_forcedns)) -eq 1 ] && [ -n "${adb_landev6}" ]
then
- f_firewall "IPv6" "nat" "A" "PREROUTING" "adb-dns" "-p udp --dport 53 -j DNAT --to-destination [${adb_ipv6}]:53"
- f_firewall "IPv6" "nat" "A" "PREROUTING" "adb-dns" "-p tcp --dport 53 -j DNAT --to-destination [${adb_ipv6}]:53"
+ f_firewall "IPv6" "nat" "A" "PREROUTING" "adb-dns" "-i ${adb_landev6} -p udp --dport 53 -j DNAT --to-destination [${adb_ipv6}]:53"
+ f_firewall "IPv6" "nat" "A" "PREROUTING" "adb-dns" "-i ${adb_landev6} -p tcp --dport 53 -j DNAT --to-destination [${adb_ipv6}]:53"
fi
if [ "${fw_done}" = "true" ]
then
@@ -372,8 +389,8 @@ f_envcheck()
# check volatile adblock uhttpd instance configuration
#
- rc="$(ps | grep -q "[u]httpd.*\-h /www/adblock"; printf ${?})"
- if [ $((rc)) -ne 0 ]
+ check="$(pgrep -f "uhttpd -h /www/adblock")"
+ if [ -z "${check}" ]
then
if [ -n "${adb_wanif4}" ] && [ -n "${adb_wanif6}" ]
then
@@ -418,7 +435,7 @@ f_depend()
check="$(printf "${pkg_list}" | grep "^${package} -")"
if [ -z "${check}" ]
then
- rc=135
+ rc=115
f_log "package '${package}' not found" "${rc}"
f_exit
fi
@@ -600,14 +617,14 @@ f_restore()
then
/etc/init.d/dnsmasq restart
sleep 1
- rc="$(ps | grep -q "[d]nsmasq"; printf ${?})"
- if [ $((rc)) -eq 0 ]
+ check="$(pgrep -f "dnsmasq")"
+ if [ -n "${check}" ]
then
rc=0
f_cntconfig
f_log "adblock lists with overall ${adb_count} domains loaded"
else
- rc=140
+ rc=120
f_log "dnsmasq restart failed, please check 'logread' output" "${rc}"
fi
fi
@@ -620,6 +637,7 @@ f_exit()
{
local ipv4_adblock=0
local ipv6_adblock=0
+ local lastrun="$(${adb_date} "+%d.%m.%Y %H:%M:%S")"
# delete temporary files & directories
#
@@ -651,14 +669,14 @@ f_exit()
"${adb_uci}" -q commit "adblock"
fi
f_log "firewall statistics (IPv4/IPv6): ${ipv4_adblock}/${ipv6_adblock} ad related packets blocked"
- f_log "domain adblock processing finished successfully (${adb_scriptver}, ${adb_sysver}, $(/bin/date "+%d.%m.%Y %H:%M:%S"))"
+ f_log "domain adblock processing finished successfully (${adb_scriptver}, ${adb_sysver}, ${lastrun})"
elif [ $((rc)) -gt 0 ]
then
if [ -n "$(${adb_uci} -q changes adblock)" ]
then
"${adb_uci}" -q revert "adblock"
fi
- f_log "domain adblock processing failed (${adb_scriptver}, ${adb_sysver}, $(/bin/date "+%d.%m.%Y %H:%M:%S"))"
+ f_log "domain adblock processing failed (${adb_scriptver}, ${adb_sysver}, ${lastrun})"
else
rc=0
fi
diff --git a/net/adblock/files/adblock-update.sh b/net/adblock/files/adblock-update.sh
index 222e41247..6421e47c6 100755
--- a/net/adblock/files/adblock-update.sh
+++ b/net/adblock/files/adblock-update.sh
@@ -10,15 +10,6 @@
#
LC_ALL=C
-# script debug switch (disabled by default)
-# set 'DEBUG=1' to enable script debugging
-#
-DEBUG=0
-if [ $((DEBUG)) -eq 0 ]
-then
- exec 2>/dev/null
-fi
-
# set pid & logger
#
adb_pid="${$}"
@@ -37,8 +28,8 @@ fi
# get current directory and set script/config version
#
adb_scriptdir="${0%/*}"
-adb_scriptver="1.1.15"
-adb_mincfgver="2.0"
+adb_scriptver="1.1.17"
+adb_mincfgver="2.1"
# source in adblock function library
#
@@ -303,8 +294,8 @@ then
"${adb_uci}" -q set "adblock.global.adb_dnstoggle=on"
/etc/init.d/dnsmasq restart
sleep 1
- rc="$(ps | grep -q "[d]nsmasq"; printf ${?})"
- if [ $((rc)) -eq 0 ]
+ check="$(pgrep -f "dnsmasq")"
+ if [ -n "${check}" ]
then
f_log "adblock lists with overall ${adb_count} domains loaded"
else
diff --git a/net/adblock/files/adblock.conf b/net/adblock/files/adblock.conf
index c3a084596..be656d677 100644
--- a/net/adblock/files/adblock.conf
+++ b/net/adblock/files/adblock.conf
@@ -3,11 +3,10 @@
config adblock 'global'
option adb_enabled '1'
- option adb_cfgver '2.0'
+ option adb_cfgver '2.1'
option adb_whitelist '/etc/adblock/adblock.whitelist'
option adb_whitelist_rset '\$1 ~/^([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$1)}'
option adb_forcedns '1'
- option adb_dnstoggle 'on'
config service 'backup'
option enabled '0'
@@ -116,7 +115,7 @@ config source 'whocares'
config source 'winspy'
option enabled '0'
- option adb_src 'https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/hosts/windows10_spy.txt'
+ option adb_src 'https://raw.githubusercontent.com/crazy-max/WindowsSpyBlocker/master/data/hosts/win10/spy.txt'
option adb_src_rset '\$0 ~/^0\.0\.0\.0[ \t]+([A-Za-z0-9_-]+\.){1,}[A-Za-z]+/{print tolower(\$2)}'
option adb_src_desc 'focus on windows spy & telemetry domains, infrequent updates, approx. 120 entries'
diff --git a/net/adblock/files/adblock.init b/net/adblock/files/adblock.init
index edd29a110..7c63213e7 100755
--- a/net/adblock/files/adblock.init
+++ b/net/adblock/files/adblock.init
@@ -2,17 +2,24 @@
#
START=99
-EXTRA_COMMANDS="toggle"
-EXTRA_HELP=" toggle Toggle adblocking 'on' or 'off'"
+EXTRA_COMMANDS="toggle cfgup"
+EXTRA_HELP=" toggle Toggle adblocking 'on' or 'off'
+ cfgup Update the adblock configuration file"
-exec 2>/dev/null
+PATH="/usr/sbin:/usr/bin:/sbin:/bin"
+
+adb_debug=0
+if [ $((adb_debug)) -eq 0 ]
+then
+ exec 2>/dev/null
+fi
adb_pid="${$}"
adb_script="/usr/bin/adblock-update.sh"
adb_dnsdir="/tmp/dnsmasq.d"
adb_dnshidedir="${adb_dnsdir}/.adb_hidden"
adb_dnsprefix="adb_list"
adb_pidfile="/var/run/adblock.pid"
-adb_logger="$(which logger)"
+adb_log="$(which logger)"
adb_uci="$(which uci)"
if [ -t 1 ]
@@ -26,11 +33,11 @@ fi
if [ -r "${adb_pidfile}" ]
then
- "${adb_logger}" ${log_parm} -t "adblock[${adb_pid}] error" "adblock service already running ($(cat ${adb_pidfile})" 2>&1
+ "${adb_log}" ${log_parm} -t "adblock[${adb_pid}] error" "adblock service already running ($(cat ${adb_pidfile}))" 2>&1
exit 255
fi
-remove_config()
+rm_config()
{
local value opt section="${1}" options="adb_src_timestamp adb_src_count"
for opt in ${options}
@@ -62,32 +69,17 @@ reload()
start
}
-toggle()
+stop()
{
-if [ -d "${adb_dnshidedir}" ]
-then
- list_dns="$(find "${adb_dnsdir}" -maxdepth 1 -type f -name "${adb_dnsprefix}*" -print)"
- list_dnshide="$(find "${adb_dnshidedir}" -maxdepth 1 -type f -name "${adb_dnsprefix}*" -print)"
- if [ -n "${list_dns}" ]
+ if [ -n "$(${adb_uci} -q get "adblock.global.adb_overall_count")" ]
then
- mv -f "${adb_dnsdir}/${adb_dnsprefix}"* "${adb_dnshidedir}"
- "${adb_uci}" -q set "adblock.global.adb_dnstoggle=off"
- "${adb_uci}" -q commit "adblock"
- /etc/init.d/dnsmasq restart
- "${adb_logger}" ${log_parm} -t "adblock[${adb_pid}] info " "toggle for adblocking switched 'off'" 2>&1
- elif [ -n "${list_dnshide}" ]
- then
- mv -f "${adb_dnshidedir}/${adb_dnsprefix}"* "${adb_dnsdir}"
- "${adb_uci}" -q set "adblock.global.adb_dnstoggle=on"
+ . "/lib/functions.sh"
+ config_load adblock
+ config_foreach rm_config source
+ "${adb_uci}" -q delete "adblock.global.adb_dnstoggle"
+ "${adb_uci}" -q delete "adblock.global.adb_overall_count"
"${adb_uci}" -q commit "adblock"
- /etc/init.d/dnsmasq restart
- "${adb_logger}" ${log_parm} -t "adblock[${adb_pid}] info " "toggle for adblocking switched 'on'" 2>&1
fi
-fi
-}
-
-stop()
-{
if [ -d "${adb_dnshidedir}" ]
then
find "${adb_dnshidedir}" -maxdepth 1 -type f -name "${adb_dnsprefix}*" -exec mv -f "{}" "${adb_dnsdir}" \;
@@ -96,26 +88,60 @@ stop()
rc=${?}
if [ $((rc)) -eq 0 ] && [ -n "${rm_done}" ]
then
- . "/lib/functions.sh"
- config_load adblock
- config_foreach remove_config source
- "${adb_uci}" -q set "adblock.global.adb_dnstoggle=on"
- "${adb_uci}" -q delete "adblock.global.adb_overall_count"
- "${adb_uci}" -q commit "adblock"
rm -rf "${adb_dnshidedir}"
/etc/init.d/dnsmasq restart
/etc/init.d/firewall restart
fi
-
- uhttpd_pid="$(ps | grep "[u]httpd.*\-h /www/adblock" | awk '{print $1}')"
+ uhttpd_pid="$(pgrep -f "uhttpd -h /www/adblock")"
if [ -n "${uhttpd_pid}" ]
then
kill -9 "${uhttpd_pid}"
fi
-
if [ -n "${rm_done}" ] || [ -n "${uhttpd_pid}" ]
then
- "${adb_logger}" ${log_parm} -t "adblock[${adb_pid}] info " "all adblock related services stopped" 2>&1
+ "${adb_log}" ${log_parm} -t "adblock[${adb_pid}] info " "all adblock related services stopped" 2>&1
+ fi
+ return 0
+}
+
+toggle()
+{
+ if [ "$(${adb_uci} -q get "adblock.global.adb_restricted")" = "1" ]
+ then
+ adb_uci="$(which true)"
+ fi
+ if [ -d "${adb_dnshidedir}" ]
+ then
+ list_dns="$(find "${adb_dnsdir}" -maxdepth 1 -type f -name "${adb_dnsprefix}*" -print)"
+ list_dnshide="$(find "${adb_dnshidedir}" -maxdepth 1 -type f -name "${adb_dnsprefix}*" -print)"
+ if [ -n "${list_dns}" ]
+ then
+ mv -f "${adb_dnsdir}/${adb_dnsprefix}"* "${adb_dnshidedir}"
+ "${adb_uci}" -q set "adblock.global.adb_dnstoggle=off"
+ "${adb_uci}" -q commit "adblock"
+ /etc/init.d/dnsmasq restart
+ "${adb_log}" ${log_parm} -t "adblock[${adb_pid}] info " "toggle for adblocking switched 'off'" 2>&1
+ elif [ -n "${list_dnshide}" ]
+ then
+ mv -f "${adb_dnshidedir}/${adb_dnsprefix}"* "${adb_dnsdir}"
+ "${adb_uci}" -q set "adblock.global.adb_dnstoggle=on"
+ "${adb_uci}" -q commit "adblock"
+ /etc/init.d/dnsmasq restart
+ "${adb_log}" ${log_parm} -t "adblock[${adb_pid}] info " "toggle for adblocking switched 'on'" 2>&1
+ fi
fi
return 0
}
+
+cfgup()
+{
+ stop
+ cp -pf "/etc/adblock/adblock.conf.default" "/etc/config/adblock"
+ rc=$?
+ if [ $((rc)) -eq 0 ]
+ then
+ "${adb_log}" ${log_parm} -t "adblock[${adb_pid}] info " "default adblock configuration applied, please check the settings in '/etc/config/adblock'" 2>&1
+ else
+ "${adb_log}" ${log_parm} -t "adblock[${adb_pid}] info " "default adblock configuration not found, please re-install the package via 'opkg install adblock --force-maintainer'" 2>&1
+ fi
+}
diff --git a/net/aria2/Config.in b/net/aria2/Config.in
index ec21fafe7..b0d7309d3 100644
--- a/net/aria2/Config.in
+++ b/net/aria2/Config.in
@@ -23,6 +23,23 @@ config ARIA2_BITTORRENT
config ARIA2_METALINK
bool "Enable metalink support"
- default N
+ default n
+
+config ARIA2_SFTP
+ bool "Enable sftp support"
+ default n
+
+choice
+ prompt "XML library"
+ default ARIA2_EXPAT
+ depends on ARIA2_METALINK
+
+config ARIA2_EXPAT
+ bool "EXPAT"
+
+config ARIA2_LIBXML2
+ bool "LIBXML2"
+
+endchoice
endmenu
diff --git a/net/aria2/Makefile b/net/aria2/Makefile
index cac017a6c..c8f4cef0c 100644
--- a/net/aria2/Makefile
+++ b/net/aria2/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2012-2014 OpenWrt.org
+# Copyright (C) 2012-2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -7,15 +7,15 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=aria2
-PKG_VERSION:=1.18.7
-PKG_RELEASE:=1
+PKG_VERSION:=1.23.0
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=@SF/aria2
-PKG_MD5SUM:=36e92af92b4370817c577ed802546842
+PKG_SOURCE_URL:=https://github.com/aria2/aria2/releases/download/release-$(PKG_VERSION)/
+PKG_MD5SUM:=bc41d919e7d89835ee01c1175300eddc
PKG_INSTALL:=1
-PKG_MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
+PKG_MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>, Hsing-Wang Liao <kuoruan@gmail.com>
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=COPYING
@@ -24,7 +24,10 @@ PKG_CONFIG_DEPENDS := \
ARIA2_OPENSSL \
ARIA2_GNUTLS \
ARIA2_BITTORRENT \
- ARIA2_METALINK
+ ARIA2_METALINK \
+ ARIA2_SFTP \
+ ARIA2_EXPAT \
+ ARIA2_LIBXML2
include $(INCLUDE_DIR)/package.mk
@@ -37,8 +40,8 @@ define Package/aria2
CATEGORY:=Network
SUBMENU:=File Transfer
TITLE:=lightweight download utility
- URL:=http://aria2.sourceforge.net/
- DEPENDS:=+zlib +ARIA2_METALINK:libxml2 +libstdcpp +ARIA2_OPENSSL:libopenssl +ARIA2_GNUTLS:libgnutls
+ URL:=https://aria2.github.io/
+ DEPENDS:=+zlib +ARIA2_SFTP:libssh2 +ARIA2_LIBXML2:libxml2 +ARIA2_EXPAT:libexpat +libstdcpp +ARIA2_OPENSSL:libopenssl +ARIA2_GNUTLS:libgnutls
endef
define Package/aria2/description
@@ -53,18 +56,26 @@ CONFIGURE_ARGS += \
$(if $(CONFIG_ARIA2_GNUTLS),--with,--without)-gnutls \
$(if $(CONFIG_ARIA2_BITTORRENT),--enable,--disable)-bittorrent \
$(if $(CONFIG_ARIA2_METALINK),--enable,--disable)-metalink \
- $(if $(CONFIG_ARIA2_METALINK),--with,--without)-libxml2 \
+ $(if $(CONFIG_ARIA2_SFTP),--with,--without)-libssh2 \
+ $(if $(CONFIG_ARIA2_LIBXML2),--with,--without)-libxml2 \
+ $(if $(CONFIG_ARIA2_EXPAT),--with,--without)-libexpat \
--without-libnettle \
--without-libgmp \
--without-libgcrypt \
- --without-libexpat \
--without-libcares \
+ --without-libuv \
--without-sqlite3 \
--with-libz
define Package/aria2/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/aria2c $(1)/usr/bin
+
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/aria2.init $(1)/etc/init.d/aria2
+
+ $(INSTALL_DIR) $(1)/etc/config
+ $(INSTALL_CONF) ./files/aria2.conf $(1)/etc/config/aria2
endef
$(eval $(call BuildPackage,aria2))
diff --git a/net/aria2/files/aria2.conf b/net/aria2/files/aria2.conf
new file mode 100644
index 000000000..22aca30ca
--- /dev/null
+++ b/net/aria2/files/aria2.conf
@@ -0,0 +1,10 @@
+
+config aria2 'main'
+ option enabled '0'
+ option file_allocation 'none'
+ option bt_enable_lpd 'true'
+ option enable_dht 'true'
+ option follow_torrent 'true'
+ option user 'root'
+ option dir '/mnt/sda1'
+ option save_session_interval '30'
diff --git a/net/aria2/files/aria2.init b/net/aria2/files/aria2.init
new file mode 100755
index 000000000..4205273da
--- /dev/null
+++ b/net/aria2/files/aria2.init
@@ -0,0 +1,78 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2014-2016 nanpuyue <nanpuyue@gmail.com>
+
+START=99
+SERVICE_WRITE_PID=1
+SERVICE_DAEMONIZE=1
+
+
+append_params() {
+ local p; local v; local s="$1"; shift
+ for p in $*; do
+ config_get v "$s" "$p"
+ [ -n "$v" ] && (
+ p=$(echo "$p" | sed -e 's|_|-|g');
+ echo "$p=$v" >> $config_file
+ )
+ done
+}
+
+section_enabled() {
+ local result
+ config_get_bool result "$1" 'enabled' 0
+ [ $result -eq 1 ]
+}
+
+option_disabled() {
+ local result
+ config_get_bool result "$1" "$2" 1
+ [ $result -eq 0 ]
+}
+
+start_instance() {
+ local s="$1"
+ local user
+
+ section_enabled "$s" || return 1
+
+ config_get config_dir "$s" 'config_dir' '/var/etc/aria2'
+ config_get user "$s" 'user'
+
+ config_file="$config_dir/aria2.conf"
+ session_file="$config_dir/aria2.session"
+ dht_file="$config_dir/dht.dat"
+ [ -d "$config_dir" ] || {
+ mkdir -m 0755 -p "$config_dir"
+ touch "$config_file"
+ [ -z "$user" ] || chown -R $user $config_dir
+ }
+ touch "$session_file"
+
+ echo -e "enable-rpc=true\nrpc-allow-origin-all=true\nrpc-listen-all=true\nquiet=true" > $config_file
+ echo -e "continue=true\ninput-file=$session_file\nsave-session=$session_file" >> $config_file
+ option_disabled "$s" 'enable_dht' || echo "dht-file-path=$dht_file" >> $config_file
+
+ append_params "$s" \
+ file_allocation bt_enable_lpd enable_dht rpc_user rpc_passwd rpc_listen_port dir bt_tracker disk_cache \
+ max_overall_download_limit max_overall_upload_limit max_download_limit max_upload_limit max_concurrent_downloads \
+ max_connection_per_server min_split_size split save_session_interval follow_torrent listen_port bt_max_peers \
+ peer_id_prefix user_agent rpc_secret
+
+ config_list_foreach "$s" extra_settings append_extrasettings
+
+ SERVICE_UID="$user" \
+ service_start /usr/bin/aria2c --conf-path="$config_file"
+}
+
+append_extrasettings() {
+ echo "$1" >> $config_file
+}
+
+start() {
+ config_load 'aria2'
+ config_foreach start_instance 'aria2'
+}
+
+stop() {
+ service_stop /usr/bin/aria2c
+}
diff --git a/net/ddns-scripts/Makefile b/net/ddns-scripts/Makefile
index 3724d36d5..5e6f3acdf 100755
--- a/net/ddns-scripts/Makefile
+++ b/net/ddns-scripts/Makefile
@@ -12,7 +12,7 @@ PKG_NAME:=ddns-scripts
PKG_VERSION:=2.7.1
# Release == build
# increase on changes of services files or tld_names.dat
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_LICENSE:=GPL-2.0
PKG_MAINTAINER:=Christian Schoenebeck <christian.schoenebeck@gmail.com>
diff --git a/net/ddns-scripts/files/dynamic_dns_functions.sh b/net/ddns-scripts/files/dynamic_dns_functions.sh
index 72deca0bf..93a35c8c3 100755
--- a/net/ddns-scripts/files/dynamic_dns_functions.sh
+++ b/net/ddns-scripts/files/dynamic_dns_functions.sh
@@ -956,6 +956,7 @@ get_registered_ip() {
# 1 no IP detected
[ $# -lt 1 -o $# -gt 2 ] && write_log 12 "Error calling 'get_registered_ip()' - wrong number of parameters"
+ [ $is_glue -eq 1 ] && [ -z "$(which host)" ] && write_log 12 "Update of glue records is only supported using BIND host"
write_log 7 "Detect registered/public IP"
# set correct regular expression
@@ -968,6 +969,7 @@ get_registered_ip() {
[ $use_ipv6 -eq 0 ] && __PROG="$__PROG -4" || __PROG="$__PROG -6"
fi
[ $force_dnstcp -eq 1 ] && __PROG="$__PROG -T" # force TCP
+ [ $is_glue -eq 1 ] && __PROG="$__PROG -v" # use verbose output to get additional section
__RUNPROG="$__PROG $lookup_host $dns_server >$DATFILE 2>$ERRFILE"
__PROG="BIND host"
@@ -1039,6 +1041,12 @@ get_registered_ip() {
else
if [ "$__PROG" = "BIND host" ]; then
__DATA=$(cat $DATFILE | awk -F "address " '/has/ {print $2; exit}' )
+
+ if [ $is_glue -eq 1 ]; then
+ __DATA=$(cat $DATFILE | grep "^$lookup_host" | grep -m 1 -o "$__REGEX" )
+ else
+ __DATA=$(cat $DATFILE | awk -F "address " '/has/ {print $2; exit}' )
+ fi
elif [ "$__PROG" = "Knot host" ]; then
__DATA=$(cat $DATFILE | awk -F "address " '/has/ {print $2; exit}' )
elif [ "$__PROG" = "drill" ]; then
diff --git a/net/ddns-scripts/files/dynamic_dns_updater.sh b/net/ddns-scripts/files/dynamic_dns_updater.sh
index 02a61dfe9..31dac5eff 100755
--- a/net/ddns-scripts/files/dynamic_dns_updater.sh
+++ b/net/ddns-scripts/files/dynamic_dns_updater.sh
@@ -110,6 +110,7 @@ trap "trap_handler 15" 15 # SIGTERM Termination
# force_dnstcp force communication with DNS server via TCP instead of default UDP
# proxy using a proxy for communication !!! ALSO used to detect local IP via web => return proxy's IP !!!
# use_logfile self-explanatory "/var/log/ddns/$SECTION_ID.log"
+# is_glue the record that should be updated is a glue record
#
# some functionality needs
# - GNU Wget or cURL installed for sending updates to DDNS service
diff --git a/net/mosquitto/Makefile b/net/mosquitto/Makefile
index b4c0ae747..7fecd2f20 100644
--- a/net/mosquitto/Makefile
+++ b/net/mosquitto/Makefile
@@ -9,14 +9,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=mosquitto
-PKG_VERSION:=1.4.8
+PKG_VERSION:=1.4.9
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_MD5SUM:=d859cd474ffa61a6197bdabe007b9027
+PKG_MD5SUM:=67943e2c5afebf7329628616eb2c41c5
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
@@ -26,7 +26,7 @@ define Package/$(PKG_NAME)/default
CATEGORY:=Network
TITLE:=mosquitto - an MQTT message broker
URL:=http://www.mosquitto.org/
- MAINTAINER:=Karl Palsson <karlp@remake.is>
+ MAINTAINER:=Karl Palsson <karlp@etactica.com>
DEPENDS:= +librt +libuuid
USERID:=mosquitto=200:mosquitto=200
endef
diff --git a/net/nginx/Makefile b/net/nginx/Makefile
index af0747636..d27ee6412 100644
--- a/net/nginx/Makefile
+++ b/net/nginx/Makefile
@@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=nginx
-PKG_VERSION:=1.10.0
+PKG_VERSION:=1.10.1
PKG_RELEASE:=1
PKG_SOURCE:=nginx-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://nginx.org/download/
-PKG_MD5SUM:=c184c873d2798c5ba92be95ed1209c02
+PKG_MD5SUM:=088292d9caf6059ef328aa7dda332e44
PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>
PKG_LICENSE:=2-clause BSD-like license
diff --git a/net/vnstat/files/vnstat.init b/net/vnstat/files/vnstat.init
index 802e60b06..7921cbcde 100644
--- a/net/vnstat/files/vnstat.init
+++ b/net/vnstat/files/vnstat.init
@@ -31,7 +31,7 @@ start() {
init_iface() {
local ifn="$1"
- [ -n "$url" ] && {
+ if [ -n "$url" ]; then
local try=0
local max=3
local hostname="$(cat /proc/sys/kernel/hostname)"
@@ -45,7 +45,13 @@ start() {
sleep 30
fi
done
- }
+ elif [ -n "$backup_dir" ]; then
+ if cp -f "$backup_dir/$ifn" "$lib/" &>/dev/null; then
+ logger -t "vnstat" "Restored backup for database $ifn"
+ else
+ logger -t "vnstat" "Restore of backup for database $ifn failed"
+ fi
+ fi
/usr/bin/vnstat -u -i "$ifn" >/dev/null
@@ -57,6 +63,7 @@ start() {
config_get url "$cfg" remote
config_get lnk "$cfg" symlink
+ config_get backup_dir "$cfg" backup_dir
config_list_foreach "$cfg" interface init_iface
return 1
diff --git a/net/webui-aria2/Makefile b/net/webui-aria2/Makefile
new file mode 100644
index 000000000..02ec30e7a
--- /dev/null
+++ b/net/webui-aria2/Makefile
@@ -0,0 +1,56 @@
+#
+# Copyright (C) 2016 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:=webui-aria2
+PKG_VERSION:=2016-05-30
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/ziahamza/webui-aria2.git
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_VERSION:=a4b1e954f15a2cc69dd0cb2092c44a549715b2e7
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
+
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Hsing-Wang Liao <kuoruan@gmail.com>
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/webui-aria2
+ SECTION:=net
+ CATEGORY:=Network
+ SUBMENU:=Download Manager
+ DEPENDS:=
+ TITLE:=An interface to interact with aria2
+ URL:=https://github.com/ziahamza/webui-aria2
+ PKGARCH:=all
+endef
+
+define Package/webui-aria2/description
+ The aim for this project is to create the worlds best and hottest interface to interact with aria2. Very simple to use.
+endef
+
+define Build/Compile
+endef
+
+define Package/webui-aria2/install
+ $(INSTALL_DIR) $(1)/www/webui-aria2
+
+ $(CP) $(PKG_BUILD_DIR)/fonts $(1)/www/webui-aria2
+ $(CP) $(PKG_BUILD_DIR)/flags $(1)/www/webui-aria2
+ $(CP) $(PKG_BUILD_DIR)/js $(1)/www/webui-aria2
+ $(CP) $(PKG_BUILD_DIR)/img $(1)/www/webui-aria2
+ $(CP) $(PKG_BUILD_DIR)/css $(1)/www/webui-aria2
+ $(CP) $(PKG_BUILD_DIR)/index.html $(1)/www/webui-aria2
+ $(CP) $(PKG_BUILD_DIR)/favicon.ico $(1)/www/webui-aria2
+ $(CP) $(PKG_BUILD_DIR)/configuration.js $(1)/www/webui-aria2
+endef
+
+$(eval $(call BuildPackage,webui-aria2))
diff --git a/net/yaaw/Makefile b/net/yaaw/Makefile
new file mode 100644
index 000000000..e78a7d693
--- /dev/null
+++ b/net/yaaw/Makefile
@@ -0,0 +1,51 @@
+#
+# Copyright (C) 2016 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:=yaaw
+PKG_VERSION:=2016-05-28
+PKG_RELEASE:=1
+PKG_MAINTAINER:=Hsing-Wang Liao <kuoruan@gmail.com>
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/binux/yaaw.git
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE_VERSION:=c28cde2252b707fe0661693f78c5e5e3beee09a1
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
+
+PKG_LICENSE:=LGPL-3.0
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/yaaw
+ SECTION:=net
+ CATEGORY:=Network
+ SUBMENU:=Download Manager
+ DEPENDS:=
+ TITLE:=Yet another aria2 web frontend
+ URL:=https://github.com/binux/yaaw
+ PKGARCH:=all
+endef
+
+define Package/yaaw/description
+ Yet Another Aria2 Web Frontend in pure HTML/CSS/Javascirpt.
+endef
+
+define Build/Compile
+endef
+
+define Package/yaaw/install
+ $(INSTALL_DIR) $(1)/www/yaaw
+ $(CP) $(PKG_BUILD_DIR)/js $(1)/www/yaaw
+ $(CP) $(PKG_BUILD_DIR)/img $(1)/www/yaaw
+ $(CP) $(PKG_BUILD_DIR)/css $(1)/www/yaaw
+ $(CP) $(PKG_BUILD_DIR)/index.html $(1)/www/yaaw
+ $(CP) $(PKG_BUILD_DIR)/offline.appcache $(1)/www/yaaw
+endef
+
+$(eval $(call BuildPackage,yaaw))
diff --git a/net/znc/Makefile b/net/znc/Makefile
index 97c354b89..b32665b47 100644
--- a/net/znc/Makefile
+++ b/net/znc/Makefile
@@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=znc
-PKG_VERSION:=1.6.2
+PKG_VERSION:=1.6.3
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://znc.in/releases \
http://znc.in/releases/archive
-PKG_MD5SUM:=89f6696ed366661f7432ece343fd19d0
+PKG_MD5SUM:=0dad0307e2faea26b9e304e308f7ec63
PKG_MAINTAINER:=Jonas Gorski <jogo@openwrt.org>
PKG_LICENSE:=Apache-2.0
diff --git a/net/znc/files/znc.init b/net/znc/files/znc.init
index 2ee5a1e58..91f3ecaa7 100644
--- a/net/znc/files/znc.init
+++ b/net/znc/files/znc.init
@@ -12,6 +12,7 @@ DISABLED=
RUNAS_USER=
RUNAS_GROUP=
+RUNAS_SHELL=
add_param() {
echo "$1 = $2" >> $ZNC_CONFIG
@@ -60,6 +61,7 @@ znc_global() {
config_get RUNAS_USER "$znc" runas_user
config_get RUNAS_GROUP "$znc" runas_group
+ config_get RUNAS_SHELL "$znc" runas_shell
if [ "${znc_config_path}" ]
then
@@ -168,7 +170,7 @@ start() {
config_foreach add_listener listener
config_foreach add_user user
- chown -hR ${RUNAS_USER:-nobody}:${RUNAS_GROUP:-nogroup} /tmp/etc/znc
+ chown -hR ${RUNAS_USER:-nobody}:${RUNAS_GROUP:-nogroup} ${ZNC_CONFIG_PATH}
fi
if [ "$EXTERNAL_CONFIG" -eq 1 -a "$RUNAS_USER" ]
@@ -176,7 +178,8 @@ start() {
local SU=$(which su)
if [ "$SU" ]
then
- $SU -c "/usr/bin/znc -d$ZNC_CONFIG_PATH >/dev/null &" $RUNAS_USER
+ chown -hR ${RUNAS_USER:-nobody}:${RUNAS_GROUP:-nogroup} ${ZNC_CONFIG_PATH}
+ $SU ${RUNAS_SHELL:+s $RUNAS_SHELL} -c "/usr/bin/znc -d$ZNC_CONFIG_PATH >/dev/null &" $RUNAS_USER
else
logger -s -t ZNC -p daemon.err "Could not run ZNC as user $RUNAS_USER: su not found."
exit 1
diff --git a/sound/shairport-sync/Makefile b/sound/shairport-sync/Makefile
index a35f64386..8c253f970 100644
--- a/sound/shairport-sync/Makefile
+++ b/sound/shairport-sync/Makefile
@@ -9,7 +9,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=shairport-sync
-PKG_VERSION:=2.8.2
+PKG_VERSION:=2.8.4
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
diff --git a/sound/shairport-sync/files/shairport-sync.config b/sound/shairport-sync/files/shairport-sync.config
index f2256a4e2..96917af6c 100644
--- a/sound/shairport-sync/files/shairport-sync.config
+++ b/sound/shairport-sync/files/shairport-sync.config
@@ -10,7 +10,7 @@ config shairport-sync 'shairport_sync'
option disabled '1'
option respawn '1'
# General
- option name 'Shairport-Sync'
+ option name 'Shairport-Sync-%v-%h'
option password ''
option interpolation '' # basic/soxr
option output_backend '' # alsa/pipe/stdout/ao/dummy/pulse/sndio
@@ -25,10 +25,15 @@ config shairport-sync 'shairport_sync'
option ignore_volume_control '' # no/yes
option volume_range_db '' # 30 to 150
option regtype '' # _raop._tcp
+ option playback_mode '' # stereo/mono
# Metadata
option metadata_enabled '' # no/yes
option metadata_cover_art '' # no/yes
option metadata_pipe_name '' # /tmp/shairport-sync-metadata
+ option metadata_pipe_timeout '' # 5000
+ option metadata_socket_address '' # 226.0.0.1
+ option metadata_socket_port '' # 5555
+ option metadata_socket_msglength # 65000
# Session Control
option sesctl_run_before_play_begins '' # /etc/shairport-sync-start.sh
option sesctl_run_after_play_ends '' # /etc/shairport-sync-stop.sh
diff --git a/sound/shairport-sync/files/shairport-sync.init b/sound/shairport-sync/files/shairport-sync.init
index 68c5a6d30..afda520e8 100644
--- a/sound/shairport-sync/files/shairport-sync.init
+++ b/sound/shairport-sync/files/shairport-sync.init
@@ -60,6 +60,7 @@ start_instance() {
append_str "$cfg" "$conf_file" ignore_volume_control "ignore_volume_control"
append_num "$cfg" "$conf_file" volume_range_db "volume_range_db"
append_str "$cfg" "$conf_file" regtype "regtype"
+ append_str "$cfg" "$conf_file" playback_mode "playback_mode"
echo -e "};\n" >> $conf_file
# Metadata
@@ -68,6 +69,10 @@ start_instance() {
append_str "$cfg" "$conf_file" metadata_enabled "enabled"
append_str "$cfg" "$conf_file" metadata_cover_art "include_cover_art"
append_str "$cfg" "$conf_file" metadata_pipe_name "pipe_name"
+ append_num "$cfg" "$conf_file" metadata_pipe_timeout "pipe_timeout"
+ append_str "$cfg" "$conf_file" metadata_socket_address "socket_address"
+ append_num "$cfg" "$conf_file" metadata_socket_port "socket_port"
+ append_num "$cfg" "$conf_file" metadata_socket_msglength "socket_msglength"
echo -e "};\n" >> $conf_file
# Session control
diff --git a/sound/squeezelite/Makefile b/sound/squeezelite/Makefile
index 086bea868..6c1b48972 100644
--- a/sound/squeezelite/Makefile
+++ b/sound/squeezelite/Makefile
@@ -8,17 +8,17 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=squeezelite
-PKG_VERSION:=1.8
-PKG_RELEASE=2
+PKG_VERSION:=1.8.4-743
+PKG_RELEASE=1
PKG_LICENSE:=GPL-3.0
PKG_LICENSE_FILES:=LICENSE.txt
PKG_MAINTAINER:= Ted Hess <thess@kitschensync.net>
PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://code.google.com/p/squeezelite/
+PKG_SOURCE_URL:=https://github.com/ralph-irving/squeezelite.git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=8b8dfe6918ebe45ade5f3d9b68d453d7b8128d99
+PKG_SOURCE_VERSION:=e37ed17fed9e11a7346cbe9f1e1deeccc051f42e
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
@@ -32,7 +32,7 @@ define Package/squeezelite/default
CATEGORY:=Sound
TITLE:=Headless squeezebox emulator
PROVIDES:=squeezelite
- URL:=https://code.google.com/p/squeezelite/
+ URL:=https://github.com/ralph-irving/squeezelite
DEPENDS:= +alsa-lib +SQUEEZELITE_RESAMPLE:libsoxr
MENU:=1
endef
diff --git a/sound/squeezelite/patches/010-select_broadcast_interface.patch b/sound/squeezelite/patches/010-select_broadcast_interface.patch
index 17d083e72..465f61a00 100644
--- a/sound/squeezelite/patches/010-select_broadcast_interface.patch
+++ b/sound/squeezelite/patches/010-select_broadcast_interface.patch
@@ -1,6 +1,6 @@
--- a/main.c
+++ b/main.c
-@@ -69,6 +69,7 @@ static void usage(const char *argv0) {
+@@ -78,6 +78,7 @@ static void usage(const char *argv0) {
#if IR
" -i [<filename>]\tEnable lirc remote control support (lirc config file ~/.lircrc used if filename not specified)\n"
#endif
@@ -8,8 +8,8 @@
" -m <mac addr>\t\tSet mac address, format: ab:cd:ef:12:34:56\n"
" -M <modelname>\tSet the squeezelite player model name sent to the server (default: " MODEL_NAME_STRING ")\n"
" -n <name>\t\tSet the player name\n"
-@@ -197,6 +198,8 @@ int main(int argc, char **argv) {
- char *modelname = NULL;
+@@ -233,6 +234,8 @@ int main(int argc, char **argv) {
+ extern bool pcm_check_header;
char *logfile = NULL;
u8_t mac[6];
+ char *iface = NULL;
@@ -17,15 +17,15 @@
unsigned stream_buf_size = STREAMBUF_SIZE;
unsigned output_buf_size = 0; // set later
unsigned rates[MAX_SUPPORTED_SAMPLERATES] = { 0 };
-@@ -233,6 +236,7 @@ int main(int argc, char **argv) {
- log_level log_ir = lWARN;
- #endif
+@@ -271,6 +274,7 @@ int main(int argc, char **argv) {
+
+ int maxSampleRate = 0;
+ memset(mac, 0, sizeof(mac));
char *optarg = NULL;
int optind = 1;
int i;
-@@ -240,8 +244,6 @@ int main(int argc, char **argv) {
+@@ -278,8 +282,6 @@ int main(int argc, char **argv) {
#define MAXCMDLINE 512
char cmdline[MAXCMDLINE] = "";
@@ -34,7 +34,7 @@
for (i = 0; i < argc && (strlen(argv[i]) + strlen(cmdline) + 2 < MAXCMDLINE); i++) {
strcat(cmdline, argv[i]);
strcat(cmdline, " ");
-@@ -249,7 +251,7 @@ int main(int argc, char **argv) {
+@@ -287,7 +289,7 @@ int main(int argc, char **argv) {
while (optind < argc && strlen(argv[optind]) >= 2 && argv[optind][0] == '-') {
char *opt = argv[optind] + 1;
@@ -43,7 +43,7 @@
#if ALSA
"UV"
#endif
-@@ -334,6 +336,9 @@ int main(int argc, char **argv) {
+@@ -382,6 +384,9 @@ int main(int argc, char **argv) {
case 'f':
logfile = optarg;
break;
@@ -53,7 +53,7 @@
case 'm':
{
int byte = 0;
-@@ -556,6 +561,11 @@ int main(int argc, char **argv) {
+@@ -667,6 +672,11 @@ int main(int argc, char **argv) {
winsock_init();
#endif
@@ -65,18 +65,18 @@
stream_init(log_stream, stream_buf_size);
if (!strcmp(output_device, "-")) {
-@@ -599,7 +609,7 @@ int main(int argc, char **argv) {
+@@ -710,7 +720,7 @@ int main(int argc, char **argv) {
exit(1);
}
-- slimproto(log_slimproto, server, mac, name, namefile, modelname);
-+ slimproto(log_slimproto, server, bcast_addr, mac, name, namefile, modelname);
+- slimproto(log_slimproto, server, mac, name, namefile, modelname, maxSampleRate);
++ slimproto(log_slimproto, server, bcast_addr, mac, name, namefile, modelname, maxSampleRate);
decode_close();
stream_close();
--- a/squeezelite.h
+++ b/squeezelite.h
-@@ -374,7 +374,7 @@ typedef enum { EVENT_TIMEOUT = 0, EVENT_
+@@ -403,7 +403,7 @@ typedef enum { EVENT_TIMEOUT = 0, EVENT_
char *next_param(char *src, char c);
u32_t gettime_ms(void);
@@ -85,18 +85,18 @@
void set_nonblock(sockfd s);
int connect_timeout(sockfd sock, const struct sockaddr *addr, socklen_t addrlen, int timeout);
void server_addr(char *server, in_addr_t *ip_ptr, unsigned *port_ptr);
-@@ -426,7 +426,7 @@ void buf_init(struct buffer *buf, size_t
+@@ -459,7 +459,7 @@ void buf_init(struct buffer *buf, size_t
void buf_destroy(struct buffer *buf);
// slimproto.c
--void slimproto(log_level level, char *server, u8_t mac[6], const char *name, const char *namefile, const char *modelname);
-+void slimproto(log_level level, char *server, in_addr_t bcast_addr, u8_t *mac, const char *name, const char *namefile, const char *modelname);
+-void slimproto(log_level level, char *server, u8_t mac[6], const char *name, const char *namefile, const char *modelname, int maxSampleRate);
++void slimproto(log_level level, char *server, in_addr_t bcast_addr, u8_t mac[6], const char *name, const char *namefile, const char *modelname, int maxSampleRate);
void slimproto_stop(void);
void wake_controller(void);
--- a/slimproto.c
+++ b/slimproto.c
-@@ -107,7 +107,7 @@ void send_packet(u8_t *packet, size_t le
+@@ -119,7 +119,7 @@ void send_packet(u8_t *packet, size_t le
}
}
@@ -105,7 +105,7 @@
const char *base_cap = "Model=squeezelite,AccuratePlayPoints=1,HasDigitalOut=1,HasPolarityInversion=1,Firmware=" VERSION;
struct HELO_packet pkt;
-@@ -730,7 +730,7 @@ void wake_controller(void) {
+@@ -782,7 +782,7 @@ void wake_controller(void) {
wake_signal(wake_e);
}
@@ -114,7 +114,7 @@
struct sockaddr_in d;
struct sockaddr_in s;
char *buf;
-@@ -746,7 +746,7 @@ in_addr_t discover_server(void) {
+@@ -798,7 +798,7 @@ in_addr_t discover_server(void) {
memset(&d, 0, sizeof(d));
d.sin_family = AF_INET;
d.sin_port = htons(PORT);
@@ -123,16 +123,16 @@
pollinfo.fd = disc_sock;
pollinfo.events = POLLIN;
-@@ -777,7 +777,7 @@ in_addr_t discover_server(void) {
+@@ -829,7 +829,7 @@ in_addr_t discover_server(void) {
#define FIXED_CAP_LEN 256
#define VAR_CAP_LEN 128
--void slimproto(log_level level, char *server, u8_t mac[6], const char *name, const char *namefile, const char *modelname) {
-+void slimproto(log_level level, char *server, in_addr_t bcast_addr, u8_t *mac, const char *name, const char *namefile, const char *modelname) {
+-void slimproto(log_level level, char *server, u8_t mac[6], const char *name, const char *namefile, const char *modelname, int maxSampleRate) {
++void slimproto(log_level level, char *server, in_addr_t bcast_addr, u8_t mac[6], const char *name, const char *namefile, const char *modelname, int maxSampleRate) {
struct sockaddr_in serv_addr;
static char fixed_cap[FIXED_CAP_LEN], var_cap[VAR_CAP_LEN] = "";
bool reconnect = false;
-@@ -795,7 +795,7 @@ void slimproto(log_level level, char *se
+@@ -849,7 +849,7 @@ void slimproto(log_level level, char *se
}
if (!slimproto_ip) {
@@ -141,7 +141,7 @@
}
if (!slimproto_port) {
-@@ -870,7 +870,7 @@ void slimproto(log_level level, char *se
+@@ -924,7 +924,7 @@ void slimproto(log_level level, char *se
// rediscover server if it was not set at startup
if (!server && ++failed_connect > 5) {
@@ -152,7 +152,7 @@
} else {
--- a/utils.c
+++ b/utils.c
-@@ -21,11 +21,11 @@
+@@ -22,11 +22,11 @@
#include "squeezelite.h"
#if LINUX || OSX || FREEBSD
@@ -167,7 +167,7 @@
#include <net/if_dl.h>
#include <net/if_types.h>
#endif
-@@ -33,15 +33,11 @@
+@@ -44,15 +44,11 @@
#if WIN
#include <iphlpapi.h>
#endif
@@ -185,42 +185,34 @@
// logging functions
const char *logtime(void) {
static char buf[100];
-@@ -99,67 +95,101 @@ u32_t gettime_ms(void) {
+@@ -114,58 +110,101 @@ u32_t gettime_ms(void) {
#endif
}
-// mac address
--#if LINUX
+-#if LINUX && !defined(SUN)
-// search first 4 interfaces returned by IFCONF
-void get_mac(u8_t mac[]) {
+- char *utmac;
- struct ifconf ifc;
- struct ifreq *ifr, *ifend;
- struct ifreq ifreq;
- struct ifreq ifs[4];
--
-- mac[0] = mac[1] = mac[2] = mac[3] = mac[4] = mac[5] = 0;
--
-- int s = socket(AF_INET, SOCK_DGRAM, 0);
--
-- ifc.ifc_len = sizeof(ifs);
-- ifc.ifc_req = ifs;
--
-- if (ioctl(s, SIOCGIFCONF, &ifc) == 0) {
-- ifend = ifs + (ifc.ifc_len / sizeof(struct ifreq));
--
-- for (ifr = ifc.ifc_req; ifr < ifend; ifr++) {
-- if (ifr->ifr_addr.sa_family == AF_INET) {
--
-- strncpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
-- if (ioctl (s, SIOCGIFHWADDR, &ifreq) == 0) {
-- memcpy(mac, ifreq.ifr_hwaddr.sa_data, 6);
-- if (mac[0]+mac[1]+mac[2] != 0) {
-- break;
-- }
+// Get broadcast address for interface (given or first available)
+// Return MAC address if none given
+#if LINUX || OSX || FREEBSD
-+
+
+- utmac = getenv("UTMAC");
+- if (utmac)
+- {
+- if ( strlen(utmac) == 17 )
+- {
+- if (sscanf(utmac,"%2hhx:%2hhx:%2hhx:%2hhx:%2hhx:%2hhx",
+- &mac[0],&mac[1],&mac[2],&mac[3],&mac[4],&mac[5]) == 6)
+- {
+- return;
+- }
+- }
+in_addr_t get_iface_info(log_level level, char *iface, u8_t *mac) {
+ struct ifaddrs *addrs, *ifa;
+ struct sockaddr *sdl;
@@ -240,11 +232,12 @@
+ {
+ if( strlen(iface) > sizeof(ifname) )
+ return -1;
-+
+
+ strncpy(ifname, iface, sizeof(ifname));
+ have_ifname = 1;
-+ }
-+
+ }
+
+- mac[0] = mac[1] = mac[2] = mac[3] = mac[4] = mac[5] = 0;
+ if (getifaddrs(&addrs) == 0) {
+ //iterate to find corresponding ethernet address
+ for (ifa = addrs; ifa; ifa = ifa->ifa_next) {
@@ -256,7 +249,8 @@
+ {
+ continue;
+ }
-+
+
+- int s = socket(AF_INET, SOCK_DGRAM, 0);
+ if (!have_ifname)
+ {
+ // We have found a valid interface name. Keep it.
@@ -267,39 +261,22 @@
+ {
+ // This is not the interface we're looking for.
+ continue;
- }
- }
-- }
-- }
++ }
++ }
-- close(s);
--}
--#endif
+- ifc.ifc_len = sizeof(ifs);
+- ifc.ifc_req = ifs;
--#if OSX || FREEBSD
--void get_mac(u8_t mac[]) {
-- struct ifaddrs *addrs, *ptr;
-- const struct sockaddr_dl *dlAddr;
-- const unsigned char *base;
--
-- mac[0] = mac[1] = mac[2] = mac[3] = mac[4] = mac[5] = 0;
--
-- if (getifaddrs(&addrs) == 0) {
-- ptr = addrs;
-- while (ptr) {
-- if (ptr->ifa_addr->sa_family == AF_LINK && ((const struct sockaddr_dl *) ptr->ifa_addr)->sdl_type == IFT_ETHER) {
-- dlAddr = (const struct sockaddr_dl *)ptr->ifa_addr;
-- base = (const unsigned char*) &dlAddr->sdl_data[dlAddr->sdl_nlen];
-- memcpy(mac, base, min(dlAddr->sdl_alen, 6));
+- if (ioctl(s, SIOCGIFCONF, &ifc) == 0) {
+- ifend = ifs + (ifc.ifc_len / sizeof(struct ifreq));
+ // Check address family.
+ if ((ifa->ifa_addr->sa_family == AF_INET) &&
+ (((struct sockaddr_in *)ifa->ifa_broadaddr)->sin_addr.s_addr != 0))
+ {
+ // Get broadcast address and MAC address
+ bcast_addr = ((struct sockaddr_in *)ifa->ifa_broadaddr)->sin_addr.s_addr;
- break;
- }
-- ptr = ptr->ifa_next;
++ break;
++ }
+ else
+ {
+ // Address is not IPv4
@@ -307,8 +284,17 @@
+ have_ifname = 0;
+ }
+
- }
-+
++ }
+
+- for (ifr = ifc.ifc_req; ifr < ifend; ifr++) {
+- if (ifr->ifr_addr.sa_family == AF_INET) {
+-
+- strncpy(ifreq.ifr_name, ifr->ifr_name, sizeof(ifreq.ifr_name));
+- if (ioctl (s, SIOCGIFHWADDR, &ifreq) == 0) {
+- memcpy(mac, ifreq.ifr_hwaddr.sa_data, 6);
+- if (mac[0]+mac[1]+mac[2] != 0) {
+- break;
+- }
+ // Find MAC address matching interface
+ if (!have_mac && (bcast_addr != 0)) {
+ for (ifa = addrs; ifa; ifa = ifa->ifa_next) {
@@ -318,13 +304,14 @@
+ ptr = (unsigned char *)sdl->sa_data;
+ memcpy(mac, ptr + 10, 6);
+ have_mac = 1;
-+ }
-+ }
-+ }
+ }
+ }
+ }
+
- freeifaddrs(addrs);
++ freeifaddrs(addrs);
}
-+
+
+- close(s);
+ LOG_INFO("Interface: %s, broadcast: %08X, macaddr = %02x:%02x:%02x:%02x:%02x:%02x",
+ ifname, bcast_addr, mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
+
@@ -333,6 +320,37 @@
#endif
+
+ #if SUN
+ void get_mac(u8_t mac[]) {
+ struct arpreq parpreq;
+@@ -232,30 +271,6 @@ void get_mac(u8_t mac[]) {
+ }
+ #endif
+
+-#if OSX || FREEBSD
+-void get_mac(u8_t mac[]) {
+- struct ifaddrs *addrs, *ptr;
+- const struct sockaddr_dl *dlAddr;
+- const unsigned char *base;
+-
+- mac[0] = mac[1] = mac[2] = mac[3] = mac[4] = mac[5] = 0;
+-
+- if (getifaddrs(&addrs) == 0) {
+- ptr = addrs;
+- while (ptr) {
+- if (ptr->ifa_addr->sa_family == AF_LINK && ((const struct sockaddr_dl *) ptr->ifa_addr)->sdl_type == IFT_ETHER) {
+- dlAddr = (const struct sockaddr_dl *)ptr->ifa_addr;
+- base = (const unsigned char*) &dlAddr->sdl_data[dlAddr->sdl_nlen];
+- memcpy(mac, base, min(dlAddr->sdl_alen, 6));
+- break;
+- }
+- ptr = ptr->ifa_next;
+- }
+- freeifaddrs(addrs);
+- }
+-}
+-#endif
+-
#if WIN
#pragma comment(lib, "IPHLPAPI.lib")
void get_mac(u8_t mac[]) {
diff --git a/sound/squeezelite/patches/020-no_mpg123.patch b/sound/squeezelite/patches/020-no_mpg123.patch
index c3eb5d05c..bc0547ab0 100644
--- a/sound/squeezelite/patches/020-no_mpg123.patch
+++ b/sound/squeezelite/patches/020-no_mpg123.patch
@@ -20,7 +20,7 @@
LINKALL_IR = -llirc_client
--- a/decode.c
+++ b/decode.c
-@@ -146,8 +146,8 @@ void decode_init(log_level level, const
+@@ -147,8 +147,8 @@ void decode_init(log_level level, const
// try mad then mpg for mp3 unless command line option passed
if (!(strstr(exclude_codecs, "mp3") || strstr(exclude_codecs, "mad")) &&
(!include_codecs || strstr(include_codecs, "mp3") || strstr(include_codecs, "mad"))) codecs[i] = register_mad();
@@ -33,7 +33,7 @@
--- a/main.c
+++ b/main.c
-@@ -35,7 +35,8 @@
+@@ -39,7 +39,8 @@
#else
#define CODECS_DSD ""
#endif
@@ -45,7 +45,7 @@
--- a/squeezelite.h
+++ b/squeezelite.h
-@@ -140,7 +140,7 @@
+@@ -155,7 +155,7 @@
#if LINUX
#define LIBFLAC "libFLAC.so.8"
#define LIBMAD "libmad.so.0"
@@ -54,7 +54,7 @@
#define LIBVORBIS "libvorbisfile.so.3"
#define LIBTREMOR "libvorbisidec.so.1"
#define LIBFAAD "libfaad.so.2"
-@@ -154,7 +154,7 @@
+@@ -169,7 +169,7 @@
#if OSX
#define LIBFLAC "libFLAC.8.dylib"
#define LIBMAD "libmad.0.dylib"
@@ -63,7 +63,7 @@
#define LIBVORBIS "libvorbisfile.3.dylib"
#define LIBTREMOR "libvorbisidec.1.dylib"
#define LIBFAAD "libfaad.2.dylib"
-@@ -167,7 +167,7 @@
+@@ -182,7 +182,7 @@
#if WIN
#define LIBFLAC "libFLAC.dll"
#define LIBMAD "libmad-0.dll"
@@ -72,7 +72,7 @@
#define LIBVORBIS "libvorbisfile.dll"
#define LIBTREMOR "libvorbisidec.dll"
#define LIBFAAD "libfaad2.dll"
-@@ -180,7 +180,7 @@
+@@ -195,7 +195,7 @@
#if FREEBSD
#define LIBFLAC "libFLAC.so.11"
#define LIBMAD "libmad.so.2"
diff --git a/sound/squeezelite/patches/030-fix_musl_compatibilty.patch b/sound/squeezelite/patches/030-fix_musl_compatibilty.patch
index 86e526015..24f00e01b 100644
--- a/sound/squeezelite/patches/030-fix_musl_compatibilty.patch
+++ b/sound/squeezelite/patches/030-fix_musl_compatibilty.patch
@@ -1,6 +1,6 @@
--- a/output_alsa.c
+++ b/output_alsa.c
-@@ -862,8 +862,11 @@ void output_init_alsa(log_level level, c
+@@ -911,8 +911,11 @@ void output_init_alsa(log_level level, c
LOG_INFO("memory locked");
}
diff --git a/sound/squeezelite/patches/040-clear_dynlink_errors.patch b/sound/squeezelite/patches/040-clear_dynlink_errors.patch
index 157157242..b534a2b5f 100644
--- a/sound/squeezelite/patches/040-clear_dynlink_errors.patch
+++ b/sound/squeezelite/patches/040-clear_dynlink_errors.patch
@@ -1,6 +1,6 @@
--- a/faad.c
+++ b/faad.c
-@@ -593,6 +593,8 @@ static bool load_faad() {
+@@ -594,6 +594,8 @@ static bool load_faad() {
return false;
}
@@ -11,7 +11,7 @@
a->NeAACDecOpen = dlsym(handle, "NeAACDecOpen");
--- a/ffmpeg.c
+++ b/ffmpeg.c
-@@ -590,6 +590,8 @@ static bool load_ff() {
+@@ -620,6 +620,8 @@ static bool load_ff() {
return false;
}
@@ -33,7 +33,7 @@
f->FLAC__stream_decoder_new = dlsym(handle, "FLAC__stream_decoder_new");
--- a/ir.c
+++ b/ir.c
-@@ -167,10 +167,10 @@ static void *ir_thread() {
+@@ -168,10 +168,10 @@ static void *ir_thread() {
UNLOCK_I;
wake_controller();
}
@@ -46,7 +46,7 @@
return 0;
}
-@@ -184,6 +184,8 @@ static bool load_lirc() {
+@@ -185,6 +185,8 @@ static bool load_lirc() {
return false;
}
@@ -57,7 +57,7 @@
i->lirc_readconfig = dlsym(handle, "lirc_readconfig");
--- a/mad.c
+++ b/mad.c
-@@ -364,7 +364,9 @@ static bool load_mad() {
+@@ -365,7 +365,9 @@ static bool load_mad() {
LOG_INFO("dlerror: %s", dlerror());
return false;
}
@@ -70,7 +70,7 @@
m->mad_synth_init = dlsym(handle, "mad_synth_init");
--- a/mpg.c
+++ b/mpg.c
-@@ -221,7 +221,9 @@ static bool load_mpg() {
+@@ -222,7 +222,9 @@ static bool load_mpg() {
LOG_INFO("dlerror: %s", dlerror());
return false;
}
@@ -83,7 +83,7 @@
m->mpg123_rates = dlsym(handle, "mpg123_rates");
--- a/resample.c
+++ b/resample.c
-@@ -250,6 +250,8 @@ static bool load_soxr(void) {
+@@ -251,6 +251,8 @@ static bool load_soxr(void) {
return false;
}
@@ -94,7 +94,7 @@
r->soxr_create = dlsym(handle, "soxr_create");
--- a/vorbis.c
+++ b/vorbis.c
-@@ -286,6 +286,8 @@ static bool load_vorbis() {
+@@ -287,6 +287,8 @@ static bool load_vorbis() {
}
}
diff --git a/sound/upmpdcli/Makefile b/sound/upmpdcli/Makefile
index 9c2c1cc95..27bbee859 100644
--- a/sound/upmpdcli/Makefile
+++ b/sound/upmpdcli/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2015 OpenWrt.org
+# Copyright (C) 2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=upmpdcli
-PKG_VERSION:=0.11.0
-PKG_RELEASE:=1
+PKG_VERSION:=1.1.3
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.lesbonscomptes.com/upmpdcli/downloads
-PKG_MD5SUM:=40eb2a1988ca367a690fb2506e0f73c1
+PKG_MD5SUM:=de9f232d6d5f746ec81ec239e11bdda4
PKG_MAINTAINER:=Petko Bordjukov <bordjukov@gmail.com>
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=COPYING
@@ -55,7 +55,7 @@ ifneq ($(CONFIG_PACKAGE_UPMPDCLI_SC_WEB_INTERFACE),y)
$(RM) -rf $(PKG_INSTALL_DIR)/usr/share/upmpdcli/web
endif
$(CP) $(PKG_INSTALL_DIR)/usr/share/upmpdcli $(1)/usr/share/
- $(INSTALL_DATA) ./files/upmpdcli.png $(1)/usr/share/upmpdcli/
+ $(INSTALL_DATA) ./files/upmpdcli.png $(1)/usr/share/upmpdcli/icon.png
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/upmpdcli.init $(1)/etc/init.d/upmpdcli
endef
diff --git a/sound/upmpdcli/patches/010-Add_icon_config.patch b/sound/upmpdcli/patches/010-Add_icon_config.patch
index 9b1ca6db7..3030ae3a4 100644
--- a/sound/upmpdcli/patches/010-Add_icon_config.patch
+++ b/sound/upmpdcli/patches/010-Add_icon_config.patch
@@ -1,9 +1,11 @@
---- a/src/upmpdcli.conf
-+++ b/src/upmpdcli.conf
-@@ -53,3 +53,6 @@ ohmetapersist = 1
- # Path to the sc2mpd if it is not in /usr/bin and the location is not in
- # the PATH for the init scripts.
- #sc2mpd = /usr/bin/sc2mpd
-+
-+# Icon for MPD UPnP interface
-+iconpath = /usr/share/upmpdcli/upmpdcli.png
+--- a/src/upmpdcli.conf-dist
++++ b/src/upmpdcli.conf-dist
+@@ -24,7 +24,7 @@
+
+ # You can set a path to an icon here. The icon will be displayed by a control
+ # point. The icon will only be read once, when upmpdcli starts up.
+-# iconpath = /usr/share/upmpdcli/icon.png
++iconpath = /usr/share/upmpdcli/icon.png
+
+ # You can set a path to an html file here, to replace the default
+ # presentation page. The page will only be read once, when upmpdcli starts
diff --git a/utils/dump1090/Makefile b/utils/dump1090/Makefile
index 4f174ae3d..9c6eac623 100644
--- a/utils/dump1090/Makefile
+++ b/utils/dump1090/Makefile
@@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=dump1090
-PKG_VERSION:=2016-02-25
+PKG_VERSION:=2016-06-01
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=git://github.com/mutability/dump1090.git
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_VERSION:=214bc0e587fa70b7206c094e10e62c88bf387322
+PKG_SOURCE_VERSION:=8b341f39e514aa77ed3b33cee65697394cb9f1a7
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
diff --git a/utils/gzip/Makefile b/utils/gzip/Makefile
new file mode 100644
index 000000000..d1236f212
--- /dev/null
+++ b/utils/gzip/Makefile
@@ -0,0 +1,63 @@
+#
+# Copyright (C) 2006-2016 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:=gzip
+PKG_VERSION:=1.7
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=@GNU/gzip
+PKG_MD5SUM:=c4abae2ddd5c6f39c6f8169693cc7ac0
+PKG_LICENSE:=GPL-3.0+
+
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/gzip
+ SECTION:=utils
+ CATEGORY:=Utilities
+ TITLE:=gzip (GNU zip) is a compression utility.
+ URL:=https://www.gnu.org/software/gzip/
+ MAINTAINER:=Christian Beier <dontmind@freeshell.org>
+endef
+
+define Package/gzip/description
+ gzip (GNU zip) is a compression utility designed to be a \
+ replacement for compress.
+endef
+
+CONFIGURE_VARS += \
+ gl_cv_func_getopt_gnu=yes \
+ ac_cv_search_clock_gettime=no
+
+define Package/gzip/install
+ $(SED) 's,/bin/bash,/bin/sh,g' $(PKG_INSTALL_DIR)/usr/bin/{gunzip,zcat}
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{gunzip,gzip,zcat} $(1)/usr/bin/
+endef
+
+define Package/gzip/postinst
+#!/bin/sh
+for app in gunzip gzip zcat; do
+ ln -sf ../usr/bin/$$app $${IPKG_INSTROOT}/bin/$$app
+done
+endef
+
+define Package/gzip/postrm
+#!/bin/sh
+for app in gunzip gzip zcat; do
+ ln -sf busybox $${IPKG_INSTROOT}/bin/$$app
+ $${IPKG_INSTROOT}/bin/$$app 2>&1 | grep 'applet not found' > /dev/null 2>&1 && rm $${IPKG_INSTROOT}/bin/$$app
+done
+exit 0
+endef
+
+$(eval $(call BuildPackage,gzip))
+
diff --git a/utils/lrzsz/Makefile b/utils/lrzsz/Makefile
new file mode 100644
index 000000000..5074a1d0b
--- /dev/null
+++ b/utils/lrzsz/Makefile
@@ -0,0 +1,58 @@
+#
+# Copyright (C) 2006-2016 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:=lrzsz
+PKG_VERSION:=0.12.20
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://ohse.de/uwe/releases/
+PKG_MD5SUM:=b5ce6a74abc9b9eb2af94dffdfd372a4
+
+PKG_MAINTAINER:=Hsing-Wang Liao <kuoruan@gmail.com>
+PKG_LICENSE:=GPL-2.0+
+PKG_LICENSE_FILES:=COPYING
+
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/lrzsz
+ SECTION:=utils
+ CATEGORY:=Utilities
+ TITLE:=X, Y and Z-modem protocols
+ URL:=https://ohse.de/uwe/software/lrzsz.html
+endef
+
+define Package/lrzsz/description
+ Transfer files in your login sessions.
+ Very leightweight and straight forward.
+ You just need a terminal client that can do
+ either X, Y or Z-modem file transfers.
+endef
+
+define Package/lrzsz/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lrz $(1)/usr/bin/
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lsz $(1)/usr/bin/
+ (cd $(1)/usr/bin; \
+ ln -fs lrz lrx; \
+ ln -fs lrz lrb; \
+ ln -fs lrz rz; \
+ ln -fs lrz rx; \
+ ln -fs lrz rb; \
+ ln -fs lsz lsx; \
+ ln -fs lsz lsb; \
+ ln -fs lsz sz; \
+ ln -fs lsz sx; \
+ ln -fs lsz sb; \
+ );
+endef
+
+$(eval $(call BuildPackage,lrzsz))
diff --git a/utils/lrzsz/patches/100-install_delete_fix.patch b/utils/lrzsz/patches/100-install_delete_fix.patch
new file mode 100644
index 000000000..3b19443bd
--- /dev/null
+++ b/utils/lrzsz/patches/100-install_delete_fix.patch
@@ -0,0 +1,19 @@
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -372,13 +372,13 @@
+ rm -f $(DESTDIR)/$(bindir)/`echo lsb | sed -e '$(transform)'`
+ ln $(DESTDIR)/$(bindir)/`echo lsz |sed -e '$(transform)'` \
+ $(DESTDIR)/$(bindir)/`echo lsb |sed -e '$(transform)'`
+- rm -f $(bindir)/`echo lsx | sed -e '$(transform)'`
++ rm -f $(DESTDIR)/$(bindir)/`echo lsx | sed -e '$(transform)'`
+ ln $(DESTDIR)/$(bindir)/`echo lsz |sed -e '$(transform)'` \
+ $(DESTDIR)/$(bindir)/`echo lsx |sed -e '$(transform)'`
+- rm -f $(bindir)/`echo lrb | sed -e '$(transform)'`
++ rm -f $(DESTDIR)/$(bindir)/`echo lrb | sed -e '$(transform)'`
+ ln $(DESTDIR)/$(bindir)/`echo lrz |sed -e '$(transform)'` \
+ $(DESTDIR)/$(bindir)/`echo lrb |sed -e '$(transform)'`
+- rm -f $(bindir)/`echo lrx | sed -e '$(transform)'`
++ rm -f $(DESTDIR)/$(bindir)/`echo lrx | sed -e '$(transform)'`
+ ln $(DESTDIR)/$(bindir)/`echo lrz |sed -e '$(transform)'` \
+ $(DESTDIR)/$(bindir)/`echo lrx |sed -e '$(transform)'`
+ # rm -f $(bindir)/`echo lrzszbug | sed -e '$(transform)'`
diff --git a/utils/mt-st/Makefile b/utils/mt-st/Makefile
index 69009f95f..45056eb22 100644
--- a/utils/mt-st/Makefile
+++ b/utils/mt-st/Makefile
@@ -14,7 +14,7 @@ PKG_RELEASE:=1
PKG_SOURCE_SUBDIR:=$(PKG_NAME)
PKG_SOURCE_VERSION:=$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
-PKG_SOURCE_URL:=http://ftp.ibiblio.org/pub/Linux/system/backup/
+PKG_SOURCE_URL:=ftp://ftp.ibiblio.org/pub/Linux/system/backup/
PKG_MD5SUM:=fdd5f5ec673c9f630a102ceff7612774
PKG_LICENSE:=GPL-2.0
diff --git a/utils/pciutils/Makefile b/utils/pciutils/Makefile
index 209a3ed09..921916815 100644
--- a/utils/pciutils/Makefile
+++ b/utils/pciutils/Makefile
@@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=pciutils
-PKG_VERSION:=3.4.1
-PKG_RELEASE:=3
+PKG_VERSION:=3.5.1
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@KERNEL/software/utils/pciutils
-PKG_MD5SUM:=e901d17fcc6850747f43efde4de3452b
+PKG_MD5SUM:=979e4b1c17e9be83c00113f0f99a8a7b
PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
PKG_LICENSE:=GPL-2.0
diff --git a/utils/tar/Makefile b/utils/tar/Makefile
index 02d796b32..d317329dc 100644
--- a/utils/tar/Makefile
+++ b/utils/tar/Makefile
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2008-2015 OpenWrt.org
+# Copyright (C) 2008-2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=tar
-PKG_VERSION:=1.28
-PKG_RELEASE:=2
+PKG_VERSION:=1.29
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
-PKG_MD5SUM:=8f32b2bc1ed7ddf4cf4e4a39711341b0
+PKG_MD5SUM:=955cd533955acb1804b83fd70218da51
PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
PKG_LICENSE:=GPL-3.0
@@ -21,14 +21,44 @@ PKG_LICENSE_FILES:=COPYING
PKG_INSTALL:=1
+BUILD_DEPENDS:=xz
+
include $(INCLUDE_DIR)/package.mk
define Package/tar
SECTION:=utils
CATEGORY:=Utilities
- DEPENDS:=+bzip2 +libacl +libattr
+ DEPENDS:=+PACKAGE_TAR_POSIX_ACL:libacl +PACKAGE_TAR_XATTR:libattr +PACKAGE_TAR_BZIP2:bzip2
+ EXTRA_DEPENDS:=$(if $(CONFIG_PACKAGE_TAR_XZ),xz)
TITLE:=GNU tar
URL:=http://www.gnu.org/software/tar/
+ MENU:=1
+endef
+
+define Package/tar/config
+ if PACKAGE_tar
+ config PACKAGE_TAR_POSIX_ACL
+ bool "tar: Enable POSIX ACL support"
+ default n
+
+ config PACKAGE_TAR_XATTR
+ bool "tar: Enable extended attribute (xattr) support"
+ default n
+
+ config PACKAGE_TAR_GZIP
+ bool "tar: Enable seamless gzip support"
+ default y
+
+ config PACKAGE_TAR_BZIP2
+ bool "tar: Enable seamless bzip2 support"
+ default y
+
+ config PACKAGE_TAR_XZ
+ bool "tar: Enable seamless xz support"
+ select PACKAGE_xz-utils
+ select PACKAGE_xz
+ default y
+ endif
endef
define Package/tar/description
@@ -52,6 +82,18 @@ $${IPKG_INSTROOT}/bin/tar 2>&1 | grep 'applet not found' > /dev/null 2>&1 && rm
exit 0
endef
+CONFIGURE_ARGS += \
+ $(if $(CONFIG_PACKAGE_TAR_POSIX_ACL),--with,--without)-posix-acls \
+ $(if $(CONFIG_PACKAGE_TAR_XATTR),--with,--without)-xattrs \
+ $(if $(CONFIG_PACKAGE_TAR_GZIP),--with-gzip=gzip,--without-gzip) \
+ $(if $(CONFIG_PACKAGE_TAR_BZIP2),--with-bzip2=bzip2,--without-bzip2) \
+ $(if $(CONFIG_PACKAGE_TAR_XZ),--with-xz=xz,--without-xz) \
+ --without-compress \
+ --without-lzip \
+ --without-lzma \
+ --without-lzop \
+ --without-selinux
+
MAKE_FLAGS += \
CFLAGS="$(TARGET_CFLAGS)" \
LDFLAGS="$(TARGET_LDLAGS)"