diff options
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)" |