PKG_NAME:=syslog-ng
PKG_VERSION:=3.21.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
PKG_LICENSE:=LGPL-2.1+
#!/bin/sh /etc/rc.common
-# Copyright (C) 2006-2016 OpenWrt.org
+# Copyright (C) 2006-2019 OpenWrt.org
START=50
start_service() {
[ -f /etc/syslog-ng.conf ] || return 1
procd_open_instance
- procd_set_param command /usr/sbin/syslog-ng
+ procd_set_param command /usr/sbin/syslog-ng --foreground
procd_close_instance
}
-
-reload_service() {
- stop
- start
-}
PKG_NAME:=diffutils
PKG_VERSION:=3.7
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNU/diffutils
DEPENDS:=+USE_GLIBC:librt
TITLE:=diffutils
URL:=http://www.gnu.org/software/diffutils/
+ ALTERNATIVES:=\
+ 200:/usr/bin/cmp:/usr/bin/gnu-cmp \
+ 200:/usr/bin/diff:/usr/bin/gnu-diff \
+
endef
define Package/diffutils/description
define Package/diffutils/install
$(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{sdiff,diff3,diff,cmp} $(1)/usr/bin/
-endef
-
-define Package/diffutils/preinst
-#!/bin/sh
-for x in sdiff diff3 diff cmp; do
- [ -L "$${IPKG_INSTROOT}/usr/bin/$$x" ] && rm -f "$${IPKG_INSTROOT}/usr/bin/$$x"
-done
-exit 0
-endef
-
-define Package/diffutils/postrm
-#!/bin/sh
-for x in sdiff diff3 diff cmp; do
- /bin/busybox $$x -h 2>&1 | grep -q BusyBox && ln -sf ../../bin/busybox /usr/bin/$$x
-done
-exit 0
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{sdiff,diff3} $(1)/usr/bin/
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/diff $(1)/usr/bin/gnu-diff
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/cmp $(1)/usr/bin/gnu-cmp
endef
$(eval $(call BuildPackage,diffutils))
CATEGORY:=Languages
endef
-define GoPackage/Environment
+define GoPackage/Environment/Default
GOOS=$(GO_OS) \
GOARCH=$(GO_ARCH) \
GO386=$(GO_386) \
CGO_CXXFLAGS="$(filter-out $(GO_CFLAGS_TO_REMOVE),$(TARGET_CXXFLAGS))"
endef
+GoPackage/Environment=$(call GoPackage/Environment/Default,)
+
# false if directory does not exist
GoPackage/is_dir_not_empty=$$$$($(FIND) $(1) -maxdepth 0 -type d \! -empty 2>/dev/null)
GO_VERSION_MAJOR_MINOR:=1.12
-GO_VERSION_PATCH:=5
+GO_VERSION_PATCH:=6
PKG_SOURCE:=go$(PKG_VERSION).src.tar.gz
PKG_SOURCE_URL:=$(GO_SOURCE_URLS)
-PKG_HASH:=2aa5f088cbb332e73fc3def546800616b38d3bfe6b8713b8a6404060f22503e8
+PKG_HASH:=c96c5ccc7455638ae1a8b7498a030fe653731c8391c5f8e79590bce72f92b4ca
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
PKG_NPM_NAME:=homebridge
PKG_NAME:=node-$(PKG_NPM_NAME)
-PKG_VERSION:=0.4.49
+PKG_VERSION:=0.4.50
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NPM_NAME)-$(PKG_VERSION).tgz
PKG_SOURCE_URL:=http://registry.npmjs.org/$(PKG_NPM_NAME)/-/
-PKG_HASH:=1507c2ec513e6c8871d59537b502a1ed24c93e4cb59f1eca8c7fa35d77877cb3
+PKG_HASH:=85541254b44c0b70e38ed5e49a9c6a68a20467b99fe0ff3703ca9fc422ce879c
PKG_BUILD_DEPENDS:=node/host
PKG_USE_MIPS16:=0
CATEGORY:=Languages
TITLE:=The Perl intepreter
URL:=http://www.perl.com/
- DEPENDS:=+USE_GLIBC:libbsd +PERL_THREADS:libpthread
+ DEPENDS:=+USE_GLIBC:libbsd +PERL_THREADS:libpthread @!arc
endef
define Package/perl/description
PECL_LONGNAME:=Extended HTTP Support
PKG_VERSION:=3.2.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_HASH:=6fb7f038365fb1f3302f1b7e7d6b55d5c422bdea36057b1efe02bbe6ad3cc01b
PKG_NAME:=php7-pecl-http
PECL_cv_HAVE_LIBCURL_SecureTransport=no \
PECL_cv_HAVE_LIBCURL_GSKit=no \
PECL_cv_HAVE_LIBCURL_PolarSSL=no \
- PECL_cv_HAVE_LIBCURL_WolfSSL=$(if $(CONFIG_LIBCURL_CYASSL),yes,no) \
+ PECL_cv_HAVE_LIBCURL_WolfSSL=$(if $(CONFIG_LIBCURL_WOLFSSL),yes,no) \
PECL_cv_HAVE_LIBCURL_mbedTLS=$(if $(CONFIG_LIBCURL_MBEDTLS),yes,no) \
PECL_cv_HAVE_LIBCURL_axTLS=no \
PECL_cv_LIBCURL_TLSAUTH_SRP=$(if $(CONFIG_LIBCURL_TLS_SRP),yes,no) \
include $(TOPDIR)/rules.mk
PKG_NAME:=Flask
-PKG_VERSION:=1.0.2
+PKG_VERSION:=1.0.3
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/F/Flask
-PKG_HASH:=2271c0070dbcb5275fad4a82e29f23ab92682dc45f9dfbc22c02ba9b9322ce48
-PKG_BUILD_DEPENDS:=python python3
+PKG_HASH:=ad7c6d841e64296b962296c2c2dabc6543752985727af86a975072dea984b6f3
+
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
-PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
-
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-$(PKG_NAME)-$(PKG_VERSION)
-PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
- URL:=http://github.com/pallets/flask/
TITLE:=python3-flask
+ URL:=https://github.com/pallets/flask/
DEPENDS:=+python3-asyncio +python3-click +python3-codecs +python3-decimal \
+python3-itsdangerous +python3-jinja2 +python3 +python3-logging \
+python3-markupsafe +python3-multiprocessing +python3-setuptools \
* If a replacement cannot be found, the program will be removed during "The Snap"
* Python 2 libraries will remain in the feed until "The Snap"
- * A Python 2-only library will be transitioned to Python 3 (or a suitable replacement found), if its Python 3 version is a dependency of another package in the feed
+ * For any Python 2-only libraries, a Python 3 version will be added (or a suitable replacement found), if its Python 3 version is a dependency of another package in the feed
* Python 2 libraries will receive normal updates until 31 October 2019
* From 31 October 2019 onward:
* Python 2-only libraries will receive security updates only
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-bcrypt-$(PKG_VERSION)
+PKG_BUILD_DEPENDS:=libffi/host
+HOST_PYTHON_PACKAGE_BUILD_DEPENDS:="cffi>=1.1"
+HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:="cffi>=1.1"
+
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
PKG_NAME:=django-appconf
PKG_VERSION:=1.0.2
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_LICENSE:=BSD-3-Clause
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
CATEGORY:=Languages
TITLE:=A helper class for handling configuration defaults of packaged apps gracefully.
URL:=http://django-appconf.readthedocs.org/
- DEPENDS:=+python +django
+ DEPENDS:=+python +python-django
endef
define Package/django-appconf/description
PKG_NAME:=django-compressor
PKG_VERSION:=2.2
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_LICENSE:=MIT
CATEGORY:=Languages
TITLE:=Compress CSS/JS into single cached files
URL:=http://django-compressor.readthedocs.org/
- DEPENDS:=+python +django +django-appconf +python-rcssmin
+ DEPENDS:=+python +python-django +django-appconf +python-rcssmin
VARIANT:=python
endef
PKG_NAME:=django-constance
PKG_VERSION:=2.3.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_LICENSE:=BSD-3-Clause
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_HASH:=a49735063b2c30015d2e52a90609ea9798da722ed070f091de51714758a5d018
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-django-constance-$(PKG_VERSION)
+
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
+include ../python3-package.mk
+
+PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
-define Package/django-constance
+define Package/python-django-constance/Default
SUBMENU:=Python
SECTION:=lang
CATEGORY:=Languages
TITLE:=Django live settings with pluggable backends, including Redis.
URL:=https://github.com/jazzband/django-constance
- DEPENDS:=+python +django
endef
-define Package/django-constance/description
+define Package/python-django-constance
+$(call Package/python-django-constance/Default)
+ DEPENDS:= \
+ +PACKAGE_python-django-constance:python \
+ +PACKAGE_python-django-constance:python-django
+ VARIANT:=python
+endef
+
+define Package/python-django-constance/description
Django live settings with pluggable backends, including Redis.
endef
-define Build/Compile
- $(call Build/Compile/PyMod,,install --prefix=/usr --root=$(PKG_INSTALL_DIR))
+define Package/python3-django-constance
+$(call Package/python-django-constance/Default)
+ DEPENDS:= \
+ +PACKAGE_python3-django-constance:python3 \
+ +PACKAGE_python3-django-constance:python3-django
+ VARIANT:=python3
endef
-define Package/django-constance/install
- $(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)
- $(CP) \
- $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \
- $(1)$(PYTHON_PKG_DIR)
+define Package/python3-django-constance/description
+$(call define Package/python-django-constance/description)
+.
+(Variant for Python3)
endef
-$(eval $(call BuildPackage,django-constance))
+$(eval $(call PyPackage,python-django-constance))
+$(eval $(call BuildPackage,python-django-constance))
+$(eval $(call Py3Package,python3-django-constance))
+$(eval $(call BuildPackage,python3-django-constance))
PKG_NAME:=django-formtools
PKG_VERSION:=2.1
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_MAINTAINER:=Eneas U de Queiroz <cote2004-github@yahoo.com>
PKG_LICENSE:=BSD-3-Clause
CATEGORY:=Languages
TITLE:=High-level abstractions for Django forms
URL:=https://django-formtools.readthedocs.io/en/latest/
- DEPENDS:=+python +django
+ DEPENDS:=+python +python-django
VARIANT:=python
endef
PKG_NAME:=django-jsonfield
PKG_VERSION:=1.0.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_LICENSE:=BSD-3-Clause
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
CATEGORY:=Languages
TITLE:=JSONField for django models
URL:=https://github.com/bradjasper/django-jsonfield
- DEPENDS:=+python +django
+ DEPENDS:=+python +python-django
endef
define Package/django-jsonfield/description
PKG_NAME:=django-picklefield
PKG_VERSION:=1.1.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_LICENSE:=MIT
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
CATEGORY:=Languages
TITLE:=Pickled object field for Django
URL:=https://github.com/gintas/django-picklefield
- DEPENDS:=+python +django
+ DEPENDS:=+python +python-django
endef
define Package/django-picklefield/description
PKG_NAME:=django-postoffice
PKG_VERSION:=3.1.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_LICENSE:=MIT
PKG_SOURCE:=django-post_office-$(PKG_VERSION).tar.gz
CATEGORY:=Languages
TITLE:=A Django app to monitor and send mail asynchronously, complete with template support.
URL:=https://github.com/ui/django-postoffice
- DEPENDS:=+python +django +django-jsonfield
+ DEPENDS:=+python +python-django +django-jsonfield
endef
define Package/django-postoffice/description
PKG_NAME:=django-ranged-response
PKG_VERSION:=0.2.0
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_MAINTAINER:=Eneas U de Queiroz <cote2004-github@yahoo.com>
PKG_LICENSE:=MIT
CATEGORY:=Languages
TITLE:=Add Content-Range: to FileResponse
URL:=https://github.com/wearespindle/django-ranged-fileresponse
- DEPENDS:=+python +django
+ DEPENDS:=+python +python-django
VARIANT:=python
endef
PKG_NAME:=django-restframework
PKG_VERSION:=3.9.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_LICENSE:=BSD-3-Clause
PKG_SOURCE:=djangorestframework-$(PKG_VERSION).tar.gz
CATEGORY:=Languages
TITLE:=Web APIs for Django, made easy.
URL:=https://www.django-rest-framework.org
- DEPENDS:=+python +django
+ DEPENDS:=+python +python-django
endef
define Package/django-restframework/description
PKG_NAME:=django-simple-captcha
PKG_VERSION:=0.5.11
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_MAINTAINER:=Eneas U de Queiroz <cote2004-github@yahoo.com>
PKG_LICENSE:=MIT
CATEGORY:=Languages
TITLE:=Simple Django captcha application
URL:=https://github.com/mbi/django-simple-captcha
- DEPENDS:=+python +python-six +django +pillow +django-ranged-response
+ DEPENDS:=+python +python-six +python-django +pillow +django-ranged-response
VARIANT:=python
endef
PKG_NAME:=django-statici18n
PKG_VERSION:=1.8.2
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_LICENSE:=BSD-3-Clause
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
CATEGORY:=Languages
TITLE:=A Django app that provides helper for generating JavaScript catalog to static files.
URL:=https://django-statici18n.readthedocs.org/
- DEPENDS:=+python +django
+ DEPENDS:=+python +python-django
endef
define Package/django-statici18n/description
PKG_NAME:=django-webpack-loader
PKG_VERSION:=0.6.0
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_MAINTAINER:=Eneas U de Queiroz <cote2004-github@yahoo.com>
PKG_LICENSE:=MIT
CATEGORY:=Languages
TITLE:=Transparently use webpack in django
URL:=https://github.com/owais/django-webpack-loader
- DEPENDS:=+python +django
+ DEPENDS:=+python +python-django
VARIANT:=python
endef
PKG_NAME:=django
PKG_VERSION:=1.11.17
-PKG_RELEASE=3
+PKG_RELEASE=4
PKG_SOURCE:=Django-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/D/Django
PKG_LICENSE_FILES:=LICENSE LICENSE.python
PKG_CPE_ID:=cpe:/a:djangoproject:django
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-django-$(PKG_VERSION)
+
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
+include ../python3-package.mk
+
+PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
-define Package/django
- SUBMENU:=Python
- SECTION:=lang
- CATEGORY:=Languages
- TITLE:=The web framework for perfectionists with deadlines.
- URL:=https://www.djangoproject.com/
- DEPENDS:=+python +python-pytz
+define Package/django/Default
+ SUBMENU:=Python
+ SECTION:=lang
+ CATEGORY:=Languages
+ TITLE:=The web framework for perfectionists with deadlines.
+ URL:=https://www.djangoproject.com/
endef
-define Package/django/description
- The web framework for perfectionists with deadlines.
+define Package/python-django
+$(call Package/django/Default)
+ DEPENDS:= \
+ +PACKAGE_python-django:python \
+ +PACKAGE_python-django:python-pytz
+ VARIANT:=python
endef
-define Build/Compile
- $(call Build/Compile/PyMod,,install --prefix=/usr --root=$(PKG_INSTALL_DIR))
+define Package/python-django/description
+ The web framework for perfectionists with deadlines.
endef
-define Build/InstallDev
- $(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)
- $(INSTALL_DIR) $(1)/usr/bin
- $(CP) \
- $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \
- $(1)$(PYTHON_PKG_DIR)
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/django-admin.py \
- $(1)/usr/bin
+define Package/python3-django
+$(call Package/django/Default)
+ DEPENDS:= \
+ +PACKAGE_python3-django:python3 \
+ +PACKAGE_python3-django:python3-pytz
+ VARIANT:=python3
endef
-define Package/django/install
- $(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)
- $(INSTALL_DIR) $(1)/usr/bin
- $(CP) \
- $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \
- $(1)$(PYTHON_PKG_DIR)
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/django-admin.py \
- $(1)/usr/bin
- # fix python exec path
- sed -i 's/#!.*/#!\/usr\/bin\/python/g' $(1)/usr/bin/django-admin.py
+define Package/python3-django/description
+$(call Package/python-django/description)
+.
+(Variant for Python3)
endef
-$(eval $(call BuildPackage,django))
+$(eval $(call PyPackage,python-django))
+$(eval $(call BuildPackage,python-django))
+
+$(eval $(call Py3Package,python3-django))
+$(eval $(call BuildPackage,python3-django))
include $(TOPDIR)/rules.mk
PKG_NAME:=python-certifi
-PKG_VERSION:=2019.3.9
-PKG_RELEASE:=2
+PKG_VERSION:=2019.6.16
+PKG_RELEASE:=1
PKG_MAINTAINER:=Eneas U de Queiroz <cote2004-github@yahoo.com>
PKG_LICENSE:=MPL-2.0
PKG_SOURCE:=certifi-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/c/certifi
-PKG_HASH:=b26104d6835d1f5e49452a26eb2ff87fe7090b89dfcaee5ea2212697e1e1d7ae
+PKG_HASH:=945e3ba63a0b9f577b1395204e13c3a231f9bc0223888be653286534e5873695
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-certifi-$(PKG_VERSION)
include $(TOPDIR)/rules.mk
PKG_NAME:=pycurl
-PKG_VERSION:=7.43.0.2
-PKG_RELEASE:=2
+PKG_VERSION:=7.43.0.3
+PKG_RELEASE:=1
PKG_SOURCE:=pycurl-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pycurl
-PKG_HASH:=0f0cdfc7a92d4f2a5c44226162434e34f7d6967d3af416a6f1448649c09a25a4
+PKG_HASH:=6f08330c5cf79fa8ef68b9912b9901db7ffd34b63e225dce74db56bb21deda8e
PKG_MAINTAINER:=Waldemar Konik <informatyk74@interia.pl>
PKG_LICENSE:=LGPL-2.1
+++ /dev/null
-From bb7d7a803665005cc72ad68a388e9e937ff3d2f6 Mon Sep 17 00:00:00 2001
-From: Josef Schlehofer <pepe.schlehofer@gmail.com>
-Date: Sat, 23 Mar 2019 21:02:17 +0100
-Subject: [PATCH] support for mbedTLS
-
----
- INSTALL.rst | 4 ++--
- doc/thread-safety.rst | 2 +-
- setup.py | 28 +++++++++++++++++++++-------
- src/module.c | 6 ++++--
- src/pycurl.h | 7 ++++++-
- src/threadsupport.c | 39 +++++++++++++++++++++++++++++++++++++++
- 6 files changed, 73 insertions(+), 13 deletions(-)
-
-diff --git a/INSTALL.rst b/INSTALL.rst
-index 8ad8b4f..da70d25 100644
---- a/INSTALL.rst
-+++ b/INSTALL.rst
-@@ -53,7 +53,7 @@ It will then fail at runtime as follows::
-
- To fix this, you need to tell ``setup.py`` what SSL backend is used::
-
-- python setup.py --with-[openssl|gnutls|nss] install
-+ python setup.py --with-[openssl|gnutls|nss|mbedtls] install
-
- Note: as of PycURL 7.21.5, setup.py accepts ``--with-openssl`` option to
- indicate that libcurl is built against OpenSSL. ``--with-ssl`` is an alias
-@@ -85,7 +85,7 @@ environment variable::
- The same applies to the SSL backend, if you need to specify it (see the SSL
- note above)::
-
-- export PYCURL_SSL_LIBRARY=[openssl|gnutls|nss]
-+ export PYCURL_SSL_LIBRARY=[openssl|gnutls|nss|mbedtls]
- easy_install pycurl
-
-
-diff --git a/doc/thread-safety.rst b/doc/thread-safety.rst
-index 5ba3f3e..ae2b9e5 100644
---- a/doc/thread-safety.rst
-+++ b/doc/thread-safety.rst
-@@ -21,7 +21,7 @@ For Python programs using PycURL, this means:
- Python code *outside of a libcurl callback for the PycURL object in question*
- is unsafe.
-
--PycURL handles the necessary SSL locks for OpenSSL/LibreSSL, GnuTLS and NSS.
-+PycURL handles the necessary SSL locks for OpenSSL/LibreSSL, GnuTLS, NSS and mbedTLS.
-
- A special situation exists when libcurl uses the standard C library
- name resolver (i.e., not threaded nor c-ares resolver). By default libcurl
-diff --git a/setup.py b/setup.py
-index e1e6925..5ab437f 100644
---- a/setup.py
-+++ b/setup.py
-@@ -143,6 +143,7 @@ class ExtensionConfiguration(object):
- '--with-ssl': self.using_openssl,
- '--with-gnutls': self.using_gnutls,
- '--with-nss': self.using_nss,
-+ '--with-mbedtls': self.using_mbedtls,
- }
-
- def detect_ssl_option(self):
-@@ -152,20 +153,20 @@ class ExtensionConfiguration(object):
- if option != other_option:
- if scan_argv(self.argv, other_option) is not None:
- raise ConfigurationError('Cannot give both %s and %s' % (option, other_option))
--
-+
- return option
-
- def detect_ssl_backend(self):
- ssl_lib_detected = False
--
-+
- if 'PYCURL_SSL_LIBRARY' in os.environ:
- ssl_lib = os.environ['PYCURL_SSL_LIBRARY']
-- if ssl_lib in ['openssl', 'gnutls', 'nss']:
-+ if ssl_lib in ['openssl', 'gnutls', 'nss', 'mbedtls']:
- ssl_lib_detected = True
- getattr(self, 'using_%s' % ssl_lib)()
- else:
- raise ConfigurationError('Invalid value "%s" for PYCURL_SSL_LIBRARY' % ssl_lib)
--
-+
- option = self.detect_ssl_option()
- if option:
- ssl_lib_detected = True
-@@ -194,6 +195,10 @@ class ExtensionConfiguration(object):
- self.using_nss()
- ssl_lib_detected = True
- break
-+ if arg[2:] == 'mbedtls':
-+ self.using_nss()
-+ ssl_lib_detected = True
-+ break
-
- if not ssl_lib_detected and len(self.argv) == len(self.original_argv) \
- and not os.environ.get('PYCURL_CURL_CONFIG') \
-@@ -201,7 +206,7 @@ class ExtensionConfiguration(object):
- # this path should only be taken when no options or
- # configuration environment variables are given to setup.py
- ssl_lib_detected = self.detect_ssl_lib_on_centos6()
--
-+
- self.ssl_lib_detected = ssl_lib_detected
-
- def curl_config(self):
-@@ -301,7 +306,7 @@ class ExtensionConfiguration(object):
- if errtext:
- msg += ":\n" + errtext
- raise ConfigurationError(msg)
--
-+
- # hack
- self.sslhintbuf = sslhintbuf
-
-@@ -327,7 +332,7 @@ specify the SSL backend manually.''')
- self.library_dirs.append(arg[2:])
- else:
- self.extra_link_args.append(arg)
--
-+
- if not self.libraries:
- self.libraries.append("curl")
-
-@@ -354,6 +359,9 @@ specify the SSL backend manually.''')
- elif ssl_version.startswith('NSS/'):
- self.using_nss()
- ssl_lib_detected = True
-+ elif ssl_version.startswith('mbedTLS/'):
-+ self.using_mbedtls()
-+ ssl_lib_detected = 'mbedtls'
- return ssl_lib_detected
-
- def detect_ssl_lib_on_centos6(self):
-@@ -505,6 +513,11 @@ specify the SSL backend manually.''')
- self.libraries.append('ssl3')
- self.define_macros.append(('HAVE_CURL_SSL', 1))
-
-+ def using_mbedtls(self):
-+ self.define_macros.append(('HAVE_CURL_MBEDTLS', 1))
-+ self.libraries.append('mbedtls')
-+ self.define_macros.append(('HAVE_CURL_SSL', 1))
-+
- def get_bdist_msi_version_hack():
- # workaround for distutils/msi version requirement per
- # epydoc.sourceforge.net/stdlib/distutils.version.StrictVersion-class.html -
-@@ -871,6 +884,7 @@ PycURL Unix options:
- --with-ssl legacy alias for --with-openssl
- --with-gnutls libcurl is linked against GnuTLS
- --with-nss libcurl is linked against NSS
-+ --with-mbedtls libcurl is linked against mbedTLS
- '''
-
- windows_help = '''\
-diff --git a/src/module.c b/src/module.c
-index 2331ae8..7fdb25a 100644
---- a/src/module.c
-+++ b/src/module.c
-@@ -328,7 +328,7 @@ initpycurl(void)
- PyObject *collections_module = NULL;
- PyObject *named_tuple = NULL;
- PyObject *arglist = NULL;
--
-+
- assert(Curl_Type.tp_weaklistoffset > 0);
- assert(CurlMulti_Type.tp_weaklistoffset > 0);
- assert(CurlShare_Type.tp_weaklistoffset > 0);
-@@ -355,6 +355,8 @@ initpycurl(void)
- runtime_ssl_lib = "gnutls";
- } else if (!strncmp(vi->ssl_version, "NSS/", 4)) {
- runtime_ssl_lib = "nss";
-+ } else if (!strncmp(vi->ssl_version, "mbedTLS/", 2)) {
-+ runtime_ssl_lib = "mbedtls";
- } else {
- runtime_ssl_lib = "none/other";
- }
-@@ -461,7 +463,7 @@ initpycurl(void)
- /* constants for ioctl callback argument values */
- insint_c(d, "IOCMD_NOP", CURLIOCMD_NOP);
- insint_c(d, "IOCMD_RESTARTREAD", CURLIOCMD_RESTARTREAD);
--
-+
- /* opensocketfunction return value */
- insint_c(d, "SOCKET_BAD", CURL_SOCKET_BAD);
-
-diff --git a/src/pycurl.h b/src/pycurl.h
-index 65290f7..2294cb8 100644
---- a/src/pycurl.h
-+++ b/src/pycurl.h
-@@ -174,6 +174,11 @@ pycurl_inet_ntop (int family, void *addr, char *string, size_t string_size);
- # define COMPILE_SSL_LIB "gnutls"
- # elif defined(HAVE_CURL_NSS)
- # define COMPILE_SSL_LIB "nss"
-+# elif defined(HAVE_CURL_MBEDTLS)
-+# include <mbedtls/ssl.h>
-+# define PYCURL_NEED_SSL_TSL
-+# define PYCURL_NEED_MBEDTLS_TSL
-+# define COMPILE_SSL_LIB "mbedtls"
- # else
- # ifdef _MSC_VER
- /* sigh */
-@@ -190,7 +195,7 @@ pycurl_inet_ntop (int family, void *addr, char *string, size_t string_size);
- /* since we have no crypto callbacks for other ssl backends,
- * no reason to require users match those */
- # define COMPILE_SSL_LIB "none/other"
--# endif /* HAVE_CURL_OPENSSL || HAVE_CURL_GNUTLS || HAVE_CURL_NSS */
-+# endif /* HAVE_CURL_OPENSSL || HAVE_CURL_GNUTLS || HAVE_CURL_NSS || HAVE_CURL_MBEDTLS */
- #else
- # define COMPILE_SSL_LIB "none/other"
- #endif /* HAVE_CURL_SSL */
-diff --git a/src/threadsupport.c b/src/threadsupport.c
-index 6ca07f5..51abffd 100644
---- a/src/threadsupport.c
-+++ b/src/threadsupport.c
-@@ -232,6 +232,45 @@ pycurl_ssl_cleanup(void)
- }
- #endif
-
-+/* mbedTLS */
-+
-+#ifdef PYCURL_NEED_MBEDTLS_TSL
-+static int
-+pycurl_ssl_mutex_create(void **m)
-+{
-+ if ((*((PyThread_type_lock *) m) = PyThread_allocate_lock()) == NULL) {
-+ return -1;
-+ } else {
-+ return 0;
-+ }
-+}
-+
-+static int
-+pycurl_ssl_mutex_destroy(void **m)
-+{
-+ PyThread_free_lock(*((PyThread_type_lock *) m));
-+ return 0;
-+}
-+
-+static int
-+pycurl_ssl_mutex_lock(void **m)
-+{
-+ return !PyThread_acquire_lock(*((PyThread_type_lock *) m), 1);
-+}
-+
-+PYCURL_INTERNAL int
-+pycurl_ssl_init(void)
-+{
-+ return 0;
-+}
-+
-+PYCURL_INTERNAL void
-+pycurl_ssl_cleanup(void)
-+{
-+ return;
-+}
-+#endif
-+
- /*************************************************************************
- // CurlShareObject
- **************************************************************************/
---
-2.17.0.windows.1
-
--- /dev/null
+#
+# Copyright (C) 2019 CZ.NIC, z. s. p. o. (https://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-markdown
+PKG_VERSION:=3.1.1
+PKG_RELEASE:=1
+
+PKG_SOURCE:=Markdown-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/m/markdown/
+PKG_HASH:=2e50876bcdd74517e7b71f3e7a76102050edec255b3983403f1a63e7c8a41e7a
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/Markdown-$(PKG_VERSION)
+
+PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
+PKG_LICENSE:=BSD-3-Clause
+PKG_LICENSE_FILES:=LICENSE.md
+
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-markdown
+ SECTION:=lang
+ CATEGORY:=Languages
+ SUBMENU:=Python
+ TITLE:=Markdown implementation in Python
+ URL:=https://python-markdown.github.io/
+ DEPENDS:= \
+ +python3-light \
+ +python3-setuptools \
+ +python3-logging
+ VARIANT:=python3
+endef
+
+define Package/python3-markdown/description
+ A fast and complete Python implementation of Markdown.
+endef
+
+$(eval $(call Py3Package,python3-markdown))
+$(eval $(call BuildPackage,python3-markdown))
+$(eval $(call BuildPackage,python3-markdown-src))
PKG_NAME:=python-pytz
PKG_VERSION:=2019.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=pytz-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pytz
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE.txt
-HOST_BUILD_DEPENDS:=python/host
-
-include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
include ../python3-package.mk
PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
-HOST_UNPACK:=$(HOST_TAR) -C $(HOST_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
define Package/python-pytz/Default
SUBMENU:=Python
(Variant for Python3)
endef
-define Host/Compile
- $(call Build/Compile/HostPyMod,,install --prefix="" --root="$(STAGING_DIR_HOSTPKG)")
-endef
-
-Host/Install:=
-
-$(eval $(call HostBuild))
-
$(eval $(call PyPackage,python-pytz))
$(eval $(call BuildPackage,python-pytz))
$(eval $(call BuildPackage,python-pytz-src))
include $(TOPDIR)/rules.mk
PKG_NAME:=python-twisted
-PKG_VERSION:=19.2.0
+PKG_VERSION:=19.2.1
PKG_RELEASE:=1
PKG_SOURCE:=Twisted-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/T/Twisted
-PKG_HASH:=1708e1928ae84ec9d3ebab0d427e20e1e38ff721b15bbced476d047d4a43abbe
+PKG_HASH:=fa2c04c2d68a9be7fc3975ba4947f653a57a656776f24be58ff0fe4b9aaf3e52
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-twisted-$(PKG_VERSION)
PKG_BUILD_DEPENDS:=libtirpc
include $(TOPDIR)/rules.mk
PKG_NAME:=python-zeroconf
-PKG_VERSION:=0.22.0
+PKG_VERSION:=0.23.0
PKG_RELEASE:=1
PKG_SOURCE:=zeroconf-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://pypi.python.org/packages/source/z/zeroconf/
-PKG_HASH:=fe66582c7b3ecc229ea4555b6d9da9bc26fc70134811e980b4fbd033e472b825
+PKG_HASH:=e0c333b967c48f8b2e5cc94a1d4d28893023fb06dfd797ee384a94cdd1d0eef5
PKG_BUILD_DIR:=$(BUILD_DIR)/zeroconf-$(PKG_VERSION)
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib $(1)/usr/lib/pkgconfig
- $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_DIR) $(2)/bin
$(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON_VERSION)-openwrt
$(CP) \
$(PKG_INSTALL_DIR)/usr/include/python$(PYTHON_VERSION) \
$(1)/usr/lib/pkgconfig
$(INSTALL_BIN) \
./files/python-config.in \
- $(1)/usr/bin/python$(PYTHON_VERSION)-config
+ $(2)/bin/python$(PYTHON_VERSION)-config
$(SED) \
's|@EXENAME@|$(HOST_PYTHON_DIR)/bin/python$(PYTHON_VERSION)|' \
- $(1)/usr/bin/python$(PYTHON_VERSION)-config
+ -e 's|@TARGET_PREFIX@|$(PYTHON_DIR)|' \
+ $(2)/bin/python$(PYTHON_VERSION)-config
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON_VERSION)/_sysconfigdata.py \
$(1)/usr/lib/python$(PYTHON_VERSION)-openwrt/_sysconfigdatatarget.py
# start changes
host_prefix = sysconfig.PREFIX
-target_bin_dir = os.path.dirname(os.path.abspath(__file__))
-target_prefix = os.path.normpath(os.path.join(target_bin_dir, '..'))
+target_prefix = '@TARGET_PREFIX@'
target_data_dir = os.path.join(target_prefix, 'lib', 'python' + sysconfig.get_config_var('VERSION') + '-openwrt')
sys.path.append(target_data_dir)
--- /dev/null
+#
+# Copyright (C) 2019 CZ.NIC z.s.p.o. (http://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=Flask-Login
+PKG_VERSION:=0.4.1
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/f/flask-login/
+PKG_HASH:=c815c1ac7b3e35e2081685e389a665f2c74d7e077cb93cecabaea352da4752ec
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-flask-login
+ SECTION:=lang
+ CATEGORY:=Languages
+ SUBMENU:=Python
+ TITLE:=User session management plugin for Flask
+ URL:=https://github.com/maxcountryman/flask-login
+ DEPENDS:=+python3-light +python3-flask
+ VARIANT:=python3
+endef
+
+define Package/python3-flask-login/description
+ Flask-Login provides user session management for Flask.
+ It handles the common tasks of logging in, logging out,
+ and remembering your users’ sessions over extended periods of time.
+endef
+
+$(eval $(call Py3Package,python3-flask-login))
+$(eval $(call BuildPackage,python3-flask-login))
+$(eval $(call BuildPackage,python3-flask-login-src))
--- /dev/null
+#
+# Copyright (C) 2019 CZ.NIC z.s.p.o. (http://www.nic.cz/)
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=maxminddb
+PKG_VERSION:=1.4.1
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/m/maxminddb/
+PKG_HASH:=df1451bcd848199905ac0de4631b3d02d6a655ad28ba5e5a4ca29a23358db712
+
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
+PKG_LICENSE:=Apache-2.0
+PKG_LICENSE_FILES:=LICENSE
+
+include $(INCLUDE_DIR)/package.mk
+include ../python3-package.mk
+
+define Package/python3-maxminddb
+ SECTION:=lang
+ CATEGORY:=Languages
+ SUBMENU:=Python
+ TITLE:=Reader for the MaxMind DB format
+ URL:=https://dev.maxmind.com/
+ DEPENDS:=+python3-light +libmaxminddb
+ VARIANT:=python3
+endef
+
+define Package/python3-maxminddb/description
+ Module for reading MaxMind DB files
+endef
+
+$(eval $(call Py3Package,python3-maxminddb))
+$(eval $(call BuildPackage,python3-maxminddb))
+$(eval $(call BuildPackage,python3-maxminddb-src))
include $(TOPDIR)/rules.mk
PKG_NAME:=python3-pyroute2
-PKG_VERSION:=0.5.5
+PKG_VERSION:=0.5.6
PKG_RELEASE:=1
PKG_SOURCE:=pyroute2-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pyroute2
-PKG_HASH:=ad679a91d453fe8426c4076d0da3a67265e5ccfe641879d75c9bc7660d075dfa
+PKG_HASH:=deae0e6191a04c3ee213c6fae6ed779602ef5da5ca5e2fa533f27bc04326bfbe
PKG_BUILD_DIR:=$(BUILD_DIR)/pyroute2-$(PKG_VERSION)
SECTION:=lang
CATEGORY:=Languages
TITLE:=Python netlink library
- URL:=http://github.com/svinota/pyroute2
+ URL:=https://github.com/svinota/pyroute2
DEPENDS:= \
+python3-light \
+python3-distutils \
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib $(1)/usr/lib/pkgconfig
- $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_DIR) $(2)/bin
$(CP) \
$(PKG_INSTALL_DIR)/usr/include/python$(PYTHON_VERSION) \
$(1)/usr/include/
$(1)/usr/lib/pkgconfig
$(INSTALL_BIN) \
$(PKG_INSTALL_DIR)/usr/bin/python$(PYTHON_VERSION)-config \
- $(1)/usr/bin/
+ $(2)/bin/
+ $(SED) \
+ 's|^prefix_real=.*$$$$|prefix_real="$(PYTHON3_DIR)"|' \
+ $(2)/bin/python$(PYTHON_VERSION)-config
endef
PYTHON3_BASE_LIB_FILES:= \
include $(TOPDIR)/rules.mk
PKG_NAME:=ruamel-yaml
-PKG_VERSION:=0.15.94
+PKG_VERSION:=0.15.97
PKG_RELEASE:=1
PKG_SOURCE:=ruamel.yaml-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/r/ruamel.yaml/
-PKG_HASH:=0939bcb399ad037ef903d74ccf2f8a074f06683bc89133ad19305067d34487c8
+PKG_HASH:=17dbf6b7362e7aee8494f7a0f5cffd44902a6331fe89ef0853b855a7930ab845
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-ruamel.yaml-$(PKG_VERSION)
PKG_NAME:=boost
PKG_VERSION:=1.70.0
PKG_SOURCE_VERSION:=1_70_0
-PKG_RELEASE:=5
+PKG_RELEASE:=6
PKG_SOURCE:=$(PKG_NAME)_$(PKG_SOURCE_VERSION).tar.bz2
PKG_SOURCE_URL:=@SF/$(PKG_NAME)/$(PKG_NAME)/$(PKG_VERSION) https://dl.bintray.com/boostorg/release/$(PKG_VERSION)/source/
)
endmenu
- menu "Select Boost libraries for Host build"
- comment "Libraries for Host build"
-
- $(foreach lib,$(BOOST_LIBS), \
- config boost-host-build-$(lib)
- bool "Boost $(lib) $(if $(findstring python,$(lib)),$(paren_left)v$(if $(findstring 3,$(lib)),$(BOOST_PYTHON3_VER),$(BOOST_PYTHON_VER))$(paren_right) ,)library."
- default n
- )
- endmenu
-
endef
PKG_CONFIG_DEPENDS:= CONFIG_PACKAGE_boost-test
BOOST_DEPENDS+= +$(if $(4),$(4):boost-$(1),boost-$(1))
PKG_CONFIG_DEPENDS+= CONFIG_PACKAGE_boost-$(1)
- HOST_CONFIG_DEPENDS+= CONFIG_boost-host-build-$(1)
BOOST_LIBS+= $(1)
( cd $(HOST_BUILD_DIR)/tools/build/src/engine ; ./build.sh gcc )
( cd $(HOST_BUILD_DIR) ; \
- ./bootstrap.sh --prefix=$(STAGING_DIR_HOST) \
- --with-libraries=$(subst $() $(),$(comma),$(strip \
- headers \
- $(foreach lib,$(BOOST_LIBS), \
- $(if $(findstring python,$(lib)),,$(if $(CONFIG_boost-host-build-$(lib)),$(lib)))))) ; \
+ ./bootstrap.sh --prefix=$(STAGING_DIR_HOSTPKG) \
+ --with-libraries=atomic,chrono,date_time,filesystem,headers,thread,system ;\
./b2 --ignore-site-config install )
endef
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE.md
PKG_VERSION:=0.8.21
-PKG_RELEASE:=1
+PKG_RELEASE:=2
# Use this for official releasees
PKG_HASH:=51892570f18d1667d0da4d0908a091e41b41c20db9835765677109a3d150cd26
--- /dev/null
+--- a/src/plugins/crypto/openssl_operations.c
++++ b/src/plugins/crypto/openssl_operations.c
+@@ -25,6 +25,10 @@
+ #include <stdlib.h>
+ #include <string.h>
+
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#define EVP_CIPHER_CTX_reset EVP_CIPHER_CTX_cleanup
++#endif
++
+ #define KEY_BUFFER_SIZE (ELEKTRA_CRYPTO_SSL_KEYSIZE + ELEKTRA_CRYPTO_SSL_BLOCKSIZE)
+
+ /*
+@@ -144,8 +148,10 @@ int elektraCryptoOpenSSLInit (Key * errorKey ELEKTRA_UNUSED)
+ // initialize OpenSSL according to
+ // https://wiki.openssl.org/index.php/Library_Initialization
+ pthread_mutex_lock (&mutex_ssl);
++#if OPENSSL_VERSION_NUMBER < 0x10100000L
+ OpenSSL_add_all_algorithms ();
+ ERR_load_crypto_strings ();
++#endif
+ pthread_mutex_unlock (&mutex_ssl);
+ return 1;
+ }
+@@ -246,8 +252,8 @@ void elektraCryptoOpenSSLHandleDestroy (elektraCryptoHandle * handle)
+ if (handle)
+ {
+ pthread_mutex_lock (&mutex_ssl);
+- EVP_CIPHER_CTX_cleanup (handle->encrypt);
+- EVP_CIPHER_CTX_cleanup (handle->decrypt);
++ EVP_CIPHER_CTX_reset (handle->encrypt);
++ EVP_CIPHER_CTX_reset (handle->decrypt);
+ EVP_CIPHER_CTX_free (handle->encrypt);
+ EVP_CIPHER_CTX_free (handle->decrypt);
+ pthread_mutex_unlock (&mutex_ssl);
include $(TOPDIR)/rules.mk
PKG_NAME:=fbthrift
-PKG_VERSION:=2019.05.27.00
-PKG_RELEASE:=1
-PKG_MAINTAINER:=Amol Bhave <ambhave@fb.com>
+PKG_VERSION:=2019.06.10.00
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/facebook/fbthrift/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=7c56dae532e60844520cef4ce03abd4911323fe340fdee0cc3a6a3e8adb09e3f
+PKG_HASH:=0897c66564a2742b24dd6ae77812b42987c3493944d1d5d40d4005d71deb7cb5
+PKG_MAINTAINER:=Amol Bhave <ambhave@fb.com>
+PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
+HOST_BUILD_DEPENDS:=libmstch/host
PKG_BUILD_DEPENDS:=fbthrift/host
-HOST_BUILD_DEPENDS:=boost/host libmstch/host
+
+HOST_BUILD_PARALLEL:=1
+PKG_BUILD_PARALLEL:=1
+CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/cmake.mk
-HOST_BUILD_PREFIX:=$(STAGING_DIR_HOST)
-
-PKG_BUILD_PARALLEL:=1
-HOST_BUILD_PARALLEL:=1
-CMAKE_OPTIONS:= \
- -DBoost_NO_BOOST_CMAKE=ON \
- -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
- -DBUILD_SHARED_LIBS=ON
-CMAKE_HOST_OPTIONS:= \
- -DBoost_NO_BOOST_CMAKE=ON \
- -Dcompiler_only=ON
-HOST_LDFLAGS:=-Wl,-rpath=$(STAGING_DIR_HOST)/lib
-CMAKE_INSTALL:=1
-
define Package/fbthrift
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Facebook's branch of Apache Thrift, including a new C++ server.
- DEPENDS:=+libwangle +libfmt +libmstch +librsocket-cpp +@boost-host-build-filesystem \
- +@boost-host-build-thread +@boost-host-build-system
+ DEPENDS:=+libwangle +libfmt +librsocket-cpp
endef
define Package/fbthrift/description
Facebook's branch of Apache Thrift, including a new C++ server.
endef
+CMAKE_HOST_OPTIONS += \
+ -DBoost_NO_BOOST_CMAKE=ON \
+ -DCMAKE_SKIP_RPATH=FALSE \
+ -DCMAKE_INSTALL_RPATH="${STAGING_DIR_HOSTPKG}/lib" \
+ -Dcompiler_only=ON
+
+CMAKE_OPTIONS += \
+ -DBoost_NO_BOOST_CMAKE=ON \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
+ -Dlib_only=ON \
+ -DTHRIFT1="$(STAGING_DIR_HOSTPKG)/bin/thrift1" \
+ -DTHRIFT_COMPILER_INCLUDE="$(STAGING_DIR_HOSTPKG)/include/"
+
define Package/fbthrift/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so* $(1)/usr/lib/
--- /dev/null
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=fbzmq
+PKG_VERSION:=2019.06.10.00
+PKG_RELEASE:=2
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/facebook/fbzmq/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=9bb9b2bd42951fa3458b5d6d25f3364c14a7efa3b78bef68a6c00ee6fcba5813
+
+PKG_MAINTAINER:=Amol Bhave <ambhave@fb.com>
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+
+CMAKE_SOURCE_SUBDIR:=fbzmq
+PKG_BUILD_PARALLEL:=1
+CMAKE_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+define Package/fbzmq
+ SECTION:=libs
+ CATEGORY:=Libraries
+ TITLE:=Facebook ZeroMQ wrappers.
+ DEPENDS:=+fbthrift +libzmq +libsigar
+endef
+
+define Package/fbzmq/description
+ Facebook ZeroMQ wrappers.
+endef
+
+CMAKE_OPTIONS += \
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
+ -DBUILD_TESTS=OFF \
+ -DBUILD_SHARED_LIBS=ON \
+ -DTHRIFT1="$(STAGING_DIR_HOSTPKG)/bin/thrift1" \
+ -DTHRIFT_COMPILER_INCLUDE="$(STAGING_DIR_HOSTPKG)/include/"
+
+define Package/fbzmq/install
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfbzmq.so* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,fbzmq))
include $(TOPDIR)/rules.mk
PKG_NAME:=file
-PKG_VERSION:=5.36
+PKG_VERSION:=5.37
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://src.fedoraproject.org/lookaside/pkgs/file/ \
http://download.openpkg.org/components/cache/file/ \
ftp://ftp.astron.com/pub/file/
-PKG_HASH:=fb608290c0fd2405a8f63e5717abf6d03e22e183fb21884413d1edd918184379
+PKG_HASH:=e9c13967f7dd339a3c241b7710ba093560b9a33013491318e88e6b8b57bae07f
PKG_LICENSE:=BSD-2c
PKG_LICENSE_FILES:=COPYING
PKG_NAME:=getdns
PKG_VERSION:=1.5.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
define Package/getdns/install
$(INSTALL_DIR) $(1)/usr/lib
- $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libgetdns.so.* $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgetdns.so.* $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/getdns_query $(1)/usr/sbin/getdns_query
endef
PKG_NAME:=hwloc
PKG_VERSION:=2.0.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://download.open-mpi.org/release/$(PKG_NAME)/v2.0
SECTION:=libs
CATEGORY:=Libraries
TITLE+= libraries
+ DEPENDS+=+libpciaccess
endef
define Package/libhwloc/description
PKG_NAME:=ibrcommon
PKG_VERSION:=1.0.1
-PKG_RELEASE:=6
+PKG_RELEASE:=7
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases
PKG_INSTALL:=1
PKG_FIXUP:=libtool
+include $(INCLUDE_DIR)/uclibc++.mk
include $(INCLUDE_DIR)/package.mk
define Package/ibrcommon
SECTION:=libs
CATEGORY:=Libraries
- DEPENDS:=+libstdcpp +libpthread +librt +libnl +libopenssl
+ DEPENDS:=$(CXX_DEPENDS) +librt +libnl +libopenssl
TITLE:=IBR Common C++ Library
endef
PKG_NAME:=ibrdtn
PKG_VERSION:=1.0.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases
PKG_INSTALL:=1
PKG_FIXUP:=libtool
+include $(INCLUDE_DIR)/uclibc++.mk
include $(INCLUDE_DIR)/package.mk
define Package/ibrdtn
--- /dev/null
+From 199c86591edc7e82b92903efecadc4f69ea63370 Mon Sep 17 00:00:00 2001
+From: Johannes Morgenroth <jm@m-network.de>
+Date: Tue, 1 Jan 2019 11:25:50 +0100
+Subject: [PATCH] Add operator!=() to Bundle::block_elem
+
+Alternative implementations of libstdcpp as uclibc++ use it in
+the algorithm implemenetations.
+---
+ ibrdtn/data/Bundle.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/ibrdtn/data/Bundle.h b/ibrdtn/data/Bundle.h
+index 036a2a6fb..9bbc066d7 100644
+--- a/ibrdtn/data/Bundle.h
++++ b/ibrdtn/data/Bundle.h
+@@ -69,6 +69,9 @@ namespace dtn
+ bool operator==(const dtn::data::block_t &type) const {
+ return (**this) == type;
+ }
++ bool operator!=(const dtn::data::block_t &type) const {
++ return !((**this) == type);
++ }
+ };
+
+ typedef std::list<block_elem> block_list;
--- /dev/null
+From 6945698778caf7cdaace9ce8dae82162dbe2ee9f Mon Sep 17 00:00:00 2001
+From: Johannes Morgenroth <jm@m-network.de>
+Date: Thu, 3 Jan 2019 07:26:51 +0100
+Subject: [PATCH] Use const iterator in const function of MemoryBundleSet
+
+---
+ ibrdtn/data/MemoryBundleSet.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ibrdtn/data/MemoryBundleSet.cpp b/ibrdtn/data/MemoryBundleSet.cpp
+index 987342e6d..b67fdd393 100644
+--- a/ibrdtn/data/MemoryBundleSet.cpp
++++ b/ibrdtn/data/MemoryBundleSet.cpp
+@@ -134,7 +134,7 @@ namespace dtn
+ // the bundles set. This happen if the MemoryBundleSet gets deserialized.
+ if (!_consistent) return true;
+
+- bundle_set::iterator iter = _bundles.find(dtn::data::MetaBundle::create(bundle));
++ bundle_set::const_iterator iter = _bundles.find(dtn::data::MetaBundle::create(bundle));
+ return (iter != _bundles.end());
+ }
+
--- /dev/null
+From 1395d849d73147319ee422d2ce34de0bcb90e6f8 Mon Sep 17 00:00:00 2001
+From: Johannes Morgenroth <jm@m-network.de>
+Date: Thu, 3 Jan 2019 07:34:14 +0100
+Subject: [PATCH] Use std::streamoff instead of std::streampos
+
+---
+ ibrdtn/data/BundleMerger.cpp | 2 +-
+ ibrdtn/data/Dictionary.cpp | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/ibrdtn/data/BundleMerger.cpp b/ibrdtn/data/BundleMerger.cpp
+index 1cd20c522..b71a0849b 100644
+--- a/ibrdtn/data/BundleMerger.cpp
++++ b/ibrdtn/data/BundleMerger.cpp
+@@ -119,7 +119,7 @@ namespace dtn
+ }
+
+ ibrcommon::BLOB::iostream stream = c._blob.iostream();
+- (*stream).seekp(obj.fragmentoffset.get<std::streampos>());
++ (*stream).seekp(obj.fragmentoffset.get<std::streamoff>());
+
+ const dtn::data::PayloadBlock &p = obj.find<dtn::data::PayloadBlock>();
+ const Length plength = p.getLength();
+diff --git a/ibrdtn/data/Dictionary.cpp b/ibrdtn/data/Dictionary.cpp
+index 6299e66f3..208f90488 100644
+--- a/ibrdtn/data/Dictionary.cpp
++++ b/ibrdtn/data/Dictionary.cpp
+@@ -154,11 +154,11 @@ namespace dtn
+ {
+ char buffer[1024];
+
+- _bytestream.seekg(scheme.get<std::streampos>());
++ _bytestream.seekg(scheme.get<std::streamoff>());
+ _bytestream.get(buffer, 1024, '\0');
+ std::string scheme_str(buffer);
+
+- _bytestream.seekg(ssp.get<std::streampos>());
++ _bytestream.seekg(ssp.get<std::streamoff>());
+ _bytestream.get(buffer, 1024, '\0');
+ std::string ssp_str(buffer);
+
--- /dev/null
+From a5b9c2feeaabbd90c9734c5d865d471eed0d5e3a Mon Sep 17 00:00:00 2001
+From: Rosen Penev <rosenp@gmail.com>
+Date: Thu, 28 Mar 2019 01:55:15 -0700
+Subject: [PATCH] Add operator!=() to BundleID and MetaBundle
+
+Needed for uClibc++.
+
+Signed-off-by: Rosen Penev <rosenp@gmail.com>
+---
+ ibrdtn/data/Bundle.cpp | 10 ++++++++++
+ ibrdtn/data/Bundle.h | 2 ++
+ 2 files changed, 12 insertions(+)
+
+diff --git a/ibrdtn/data/Bundle.cpp b/ibrdtn/data/Bundle.cpp
+index f515860..943544e 100644
+--- a/ibrdtn/data/Bundle.cpp
++++ b/ibrdtn/data/Bundle.cpp
+@@ -71,11 +71,21 @@ namespace dtn
+ return other == (const PrimaryBlock&)(*this);
+ }
+
++ bool Bundle::operator!=(const BundleID& other) const
++ {
++ return other != (const PrimaryBlock&)(*this);
++ }
++
+ bool Bundle::operator==(const MetaBundle& other) const
+ {
+ return other == (const PrimaryBlock&)(*this);
+ }
+
++ bool Bundle::operator!=(const MetaBundle& other) const
++ {
++ return other != (const PrimaryBlock&)(*this);
++ }
++
+ bool Bundle::operator!=(const Bundle& other) const
+ {
+ return (const PrimaryBlock&)(*this) != (const PrimaryBlock&)other;
+diff --git a/ibrdtn/data/Bundle.h b/ibrdtn/data/Bundle.h
+index 9bbc066..6a4ea47 100644
+--- a/ibrdtn/data/Bundle.h
++++ b/ibrdtn/data/Bundle.h
+@@ -97,7 +97,9 @@ namespace dtn
+ virtual ~Bundle();
+
+ bool operator==(const BundleID& other) const;
++ bool operator!=(const BundleID& other) const;
+ bool operator==(const MetaBundle& other) const;
++ bool operator!=(const MetaBundle& other) const;
+
+ bool operator==(const Bundle& other) const;
+ bool operator!=(const Bundle& other) const;
PKG_NAME:=libaio
PKG_VERSION:=0.3.111
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://releases.pagure.org/libaio
PKG_HASH:=62cf871ad8fd09eb3418f00aca7a7d449299b8e1de31c65f28bf6a2ef1fa502a
+
PKG_MAINTAINER:=Steven Barth <cyrus@openwrt.org>
-PKG_LICENSE:=LGPL-2.1
+PKG_LICENSE:=LGPL-2.1-only
+PKG_LICENSE_FILES:=COPYING
-PKG_ASLR_PIE:=1
PKG_BUILD_PARALLEL:=1
-
PKG_USE_MIPS16:=0
+PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
URL:=http://lse.sourceforge.net/io/aio.html
endef
-define Build/Configure
-endef
-
-LIBAIO_CFLAGS:=-nostdlib -nostartfiles -I. $(TARGET_CFLAGS) $(TARGET_CPPFLAGS) $(FPIC)
-
-define Build/Compile
- $(MAKE) -C $(PKG_BUILD_DIR) \
- $(TARGET_CONFIGURE_OPTS) \
- ARCH="$(ARCH)" \
- CC="$(TARGET_CROSS)gcc" \
- LD="$(TARGET_CROSS)ld" \
- CFLAGS="$(LIBAIO_CFLAGS)" \
- all
- $(MAKE) -C $(PKG_BUILD_DIR) \
- prefix="$(PKG_INSTALL_DIR)/usr" \
- install
-endef
-
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/libaio.h $(1)/usr/include/
--- /dev/null
+From 4059161333a14a0c705efecc5765b6cb2a29ae02 Mon Sep 17 00:00:00 2001
+From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
+Date: Oct 22 2018 18:43:14 +0000
+Subject: Makefile: add missing DESTDIR variable use
+
+
+Patch borrowed from OpenEmbedded, available at
+recipes/libaio/libaio-0.3.106/destdir.patch in their source tree.
+
+It just adds support for the traditional DESTDIR variable to install
+the library in a different sysroot than the normal /.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
+[JEM: I couldn't verify the initial author of this change, but it's
+ trivial. For information on the DESTDIR convention, see:
+ https://www.gnu.org/prep/standards/html_node/DESTDIR.html]
+Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
+
+---
+
+diff --git a/Makefile b/Makefile
+index e9dbdb0..c1fb831 100644
+--- a/Makefile
++++ b/Makefile
+@@ -14,7 +14,7 @@ all:
+ @$(MAKE) -C src
+
+ install:
+- @$(MAKE) -C src install prefix=$(prefix) includedir=$(includedir) libdir=$(libdir)
++ @$(MAKE) -C src install prefix=$(DESTDIR)$(prefix) includedir=$(DESTDIR)$(includedir) libdir=$(DESTDIR)$(libdir)
+
+ check:
+ @$(MAKE) -C harness check
+
include $(TOPDIR)/rules.mk
PKG_NAME:=libcoap
-PKG_VERSION:=v4.1.2
+PKG_VERSION:=4.2.0
PKG_RELEASE:=1
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/obgm/libcoap
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)
-PKG_SOURCE_VERSION:=fa5248603049ddf95cc84608aad569120763bf2b
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_MIRROR_HASH:=0ab4bc9569a78904743cc3074fd1c0fc9c78c85fd510fef5145dd872523619e6
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/obgm/libcoap/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=9523e38da6ee8b2a8f5ce83ded64107dd1e514c7ad00cd74ccfe3454b679c271
PKG_MAINTAINER:=Anton Glukhov <anton.a.glukhov@gmail.com>
PKG_LICENSE:=GPL-2.0+ BSD-2-Clause
PKG_LICENSE_FILES:=COPYING LICENSE.GPL LICENSE.BSD
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
-
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
SECTION:=libs
CATEGORY:=Libraries
TITLE:=CoAP (RFC 7252) library
- URL:=http://libcoap.net/
+ URL:=https://libcoap.net/
+ ABI_VERSION:=2
endef
define Package/libcoap/description
CONFIGURE_ARGS += \
--enable-examples \
- --disable-documentation
-
-ifeq ($(CONFIG_BIG_ENDIAN),y)
-TARGET_CFLAGS += -DWORDS_BIGENDIAN
-endif
+ --disable-documentation \
+ --disable-doxygen \
+ --disable-dtls \
+ --disable-gcov \
+ --disable-tests
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
define Package/libcoap/install
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libcoap-1.so* $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libcoap-$(ABI_VERSION).so* $(1)/usr/lib/
endef
define Package/coap-client/install
PKG_NAME:=libdouble-conversion
PKG_VERSION:=3.1.5
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=double-conversion-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/google/double-conversion/tar.gz/v$(PKG_VERSION)?
define Package/libdouble-conversion/install
$(INSTALL_DIR) $(1)/usr/lib
- $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/lib*.so* $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,libdouble-conversion))
include $(TOPDIR)/rules.mk
PKG_NAME:=libfizz
-PKG_VERSION:=2019.05.27.00
+PKG_VERSION:=2019.06.10.00
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/facebookincubator/fizz/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=d3f5325717a2af3684a41889d45b19e975cfff177faffdfaab8cb63df4e0318c
+PKG_HASH:=29a9b2d020b70b83bf27fa6332c07c4ae9cca3b82c5ac9214220a815d7f1fe7f
PKG_BUILD_DIR:=$(BUILD_DIR)/fizz-$(PKG_VERSION)
+PKG_MAINTAINER:=Amol Bhave <ambhave@fb.com>
PKG_LICENSE:=BSD
PKG_LICENSE_FILES:=LICENSE
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
-
PKG_BUILD_PARALLEL:=1
CMAKE_SOURCE_SUBDIR:=fizz
-CMAKE_OPTIONS:= \
- -DBUILD_EXAMPLES=OFF \
- -DBUILD_SHARED_LIBS=ON
CMAKE_INSTALL:=1
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
define Package/libfizz
SECTION:=libs
CATEGORY:=Libraries
Fizz currently supports TLS 1.3 drafts 28, 26 (both wire-compatible with the final specification), and 23.
endef
+CMAKE_OPTIONS += \
+ -DBUILD_EXAMPLES=OFF \
+ -DBUILD_SHARED_LIBS=ON
+
define Package/libfizz/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfizz.so* $(1)/usr/lib/
include $(TOPDIR)/rules.mk
PKG_NAME:=libfolly
-PKG_VERSION:=2019.05.27.00
-PKG_RELEASE:=1
+PKG_VERSION:=2019.06.10.00
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/facebook/folly/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=7535937e4b4bde14e6c854dc55a5fe9f290ccf1918621f20678ebecd0c1239e1
+PKG_HASH:=afecd68815a83865d95a3a6b861abe8096beefae45c89566e0d510279b631b57
PKG_BUILD_DIR:=$(BUILD_DIR)/folly-$(PKG_VERSION)
+PKG_MAINTAINER:=Amol Bhave <ambhave@fb.com>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
-
PKG_BUILD_PARALLEL:=1
-CMAKE_OPTIONS:= \
- -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
- -DCXX_STD=gnu++14 \
- -DFOLLY_HAVE_UNALIGNED_ACCESS_EXITCODE=OFF \
- -DFOLLY_HAVE_LINUX_VDSO_EXITCODE=OFF \
- -DFOLLY_HAVE_WCHAR_SUPPORT_EXITCODE=OFF \
- -DHAVE_VSNPRINTF_ERRORS_EXITCODE=OFF \
- -DFOLLY_HAVE_XSI_STRERROR_R_EXITCODE=0 \
- -DBUILD_SHARED_LIBS=ON
CMAKE_INSTALL:=1
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
define Package/libfolly
SECTION:=libs
CATEGORY:=Libraries
TITLE:=An open-source C++ library developed and used at Facebook.
URL:=https://github.com/facebook/folly
DEPENDS:=+boost +boost-context +boost-date_time +boost-filesystem +boost-program_options +boost-regex \
- +libopenssl +libdouble-conversion +libevent2 +glog +libsodium +libaio +libunwind +libatomic \
- +libbz2 +zlib +libzstd +liblzma +liblz4
+ +libopenssl +libdouble-conversion +libevent2 +glog +libsodium +libaio +libatomic \
+ +libbz2 +zlib +libzstd +liblzma +liblz4 +PACKAGE_libunwind:libunwind
endef
define Package/libfolly/description
This package includes the shared library.
endef
+CMAKE_OPTIONS += \
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
+ -DCXX_STD=gnu++14 \
+ -DFOLLY_HAVE_UNALIGNED_ACCESS_EXITCODE=OFF \
+ -DFOLLY_HAVE_LINUX_VDSO_EXITCODE=OFF \
+ -DFOLLY_HAVE_WCHAR_SUPPORT_EXITCODE=OFF \
+ -DHAVE_VSNPRINTF_ERRORS_EXITCODE=OFF \
+ -DFOLLY_HAVE_XSI_STRERROR_R_EXITCODE=0 \
+ -DBUILD_SHARED_LIBS=ON
+
define Package/libfolly/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libfolly*.so* $(1)/usr/lib/
--- /dev/null
+--- a/folly/CachelinePadded.h
++++ b/folly/CachelinePadded.h
+@@ -35,10 +35,6 @@ namespace folly {
+ */
+ template <typename T>
+ class CachelinePadded {
+- static_assert(
+- alignof(T) <= max_align_v,
+- "CachelinePadded does not support over-aligned types.");
+-
+ public:
+ template <typename... Args>
+ explicit CachelinePadded(Args&&... args)
+--- a/folly/external/farmhash/farmhash.cpp
++++ b/folly/external/farmhash/farmhash.cpp
+@@ -181,6 +181,7 @@
+
+ #undef bswap_32
+ #undef bswap_64
++#undef _BYTESWAP_H
+ #include <byteswap.h>
+
+ #endif
--- /dev/null
+--- a/folly/portability/Asm.h
++++ b/folly/portability/Asm.h
+@@ -38,7 +38,7 @@ inline void asm_volatile_pause() {
+ ::_mm_pause();
+ #elif defined(__i386__) || FOLLY_X64
+ asm volatile("pause");
+-#elif FOLLY_AARCH64 || defined(__arm__)
++#elif FOLLY_AARCH64 || (defined(__arm__) && !(__ARM_ARCH < 7))
+ asm volatile("yield");
+ #elif FOLLY_PPC64
+ asm volatile("or 27,27,27");
include $(TOPDIR)/rules.mk
PKG_NAME:=libgabe
-PKG_VERSION:=0.99
-PKG_RELEASE:=2
+PKG_VERSION:=1.0
+PKG_RELEASE:=1
-PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/schanzen/libgabe/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=2a8c151a90c9ad8eaad073c8ad1482d66875e3433b0b4fd1e08424c0fc89e877
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_LICENSE:=GPLv2
PKG_LICENSE_FILES:=COPYING
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_URL:=https://github.com/schanzen/libgabe.git
-PKG_SOURCE_VERSION:=a082729326155207312a5fc280d17844b69450f2
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.xz
-PKG_MIRROR_HASH:=74046e8c5657d2e5bcdc0e806983ad4e205a0ed0945f8ab802d7fe564c32e9bd
-
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
--- /dev/null
+From 9a0e73c5f6cbcf825eced89d26273a24f7266522 Mon Sep 17 00:00:00 2001
+From: "Schanzenbach, Martin" <martin.schanzenbach@aisec.fraunhofer.de>
+Date: Sun, 30 Sep 2018 20:38:37 +0200
+Subject: [PATCH] shared library
+
+---
+ Makefile.in | 13 ++++++-------
+ 1 file changed, 6 insertions(+), 7 deletions(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index f23bf90..c8c19fa 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -18,13 +18,12 @@ LDFLAGS = @LDFLAGS@ \
+
+ DISTNAME = @PACKAGE_TARNAME@-@PACKAGE_VERSION@
+
+-all: libgabe.a TAGS
++all: libgabe.so TAGS
+
+ # compilation and library making
+
+-libgabe.a: core.o misc.o
+- rm -f $@
+- ar rc $@ $^
++libgabe.so: core.o misc.o
++ $(CC) -shared -o $@ $^
+
+ # test: test.o libgabe.a
+ # $(CC) -o $@ $(LDFLAGS) $^
+@@ -44,14 +43,14 @@ dist: AUTHORS COPYING INSTALL NEWS README \
+ tar zc $(DISTNAME) > $(DISTNAME).tar.gz
+ rm -rf $(DISTNAME)
+
+-install: libgabe.a gabe.h
++install: libgabe.so gabe.h
+ $(top_srcdir)/mkinstalldirs -m 755 $(DESTDIR)$(libdir)
+ $(top_srcdir)/mkinstalldirs -m 755 $(DESTDIR)$(includedir)
+- $(top_srcdir)/install-sh -m 755 libgabe.a $(DESTDIR)$(libdir)
++ $(top_srcdir)/install-sh -m 755 libgabe.so $(DESTDIR)$(libdir)
+ $(top_srcdir)/install-sh -m 644 gabe.h $(DESTDIR)$(includedir)
+
+ uninstall:
+- /bin/rm -f $(DESTDIR)$(libdir)/libgabe.a
++ /bin/rm -f $(DESTDIR)$(libdir)/libgabe.so
+ /bin/rm -f $(DESTDIR)$(includedir)/gabe.h
+
+ # development and meta stuff
+--
+2.17.1
+
PKG_NAME:=gflags
PKG_VERSION:=2.2.2
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/gflags/gflags/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=34af2f15cf7367513b352bdcd2493ab14ce43692d2dcd9dfc499492966c64dcf
+PKG_MAINTAINER:=Amol Bhave <ambhave@fb.com>
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=COPYING.txt
TITLE:=C++ library that implements commandline flags processing
DEPENDS:=+libstdcpp +libpthread
URL:=https://github.com/gflags/gflags
- MAINTAINER:=Amol Bhave <ambhave@fb.com>
endef
define Package/gflags/description
define Package/gflags/install
$(INSTALL_DIR) $(1)/usr/lib
- $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libgflags.so* $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgflags.so* $(1)/usr/lib/
endef
$(eval $(call BuildPackage,gflags))
include $(TOPDIR)/rules.mk
PKG_NAME:=libgphoto2
-PKG_VERSION:=2.5.22
+PKG_VERSION:=2.5.23
PKG_RELEASE:=1
PORT_VERSION:=0.12.0
PKG_MAINTAINER:=Leonardo Medici <leonardo_medici@me.com>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@SF/gphoto
-PKG_HASH:=15d7327aa9a986af1e1dbfd8f15ba81352b67450d30e44562ce768ff9435ce58
+PKG_HASH:=d8af23364aa40fd8607f7e073df74e7ace05582f4ba13f1724d12d3c97e8852d
PKG_LICENSE:=LGPL-2.1
PKG_LICENSE_FILES:=COPYING
--enable-shared \
--enable-static \
--disable-rpath \
- --with-camlibs="all" \
+ --with-camlibs="all,outdated" \
--with-gdlib=no \
--with-libexif=no \
--with-libusb=no \
include $(TOPDIR)/rules.mk
PKG_NAME:=liblo
-PKG_VERSION:=0.29
+PKG_VERSION:=0.30
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/liblo
-PKG_HASH:=ace1b4e234091425c150261d1ca7070cece48ee3c228a5612d048116d864c06a
+PKG_HASH:=30a7c9de49a25ed7f2425a7a7415f5b14739def62431423d3419ea26fb978d1b
+PKG_MAINTAINER:=
PKG_LICENSE:=LGPL-2.1+
PKG_LICENSE_FILES:=COPYING
-PKG_MAINTAINER:=Nicolas Thill <nico@openwrt.org>
PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
DEPENDS:= +liblo
endef
-TARGET_CFLAGS += \
- -Wno-error=maybe-uninitialized \
-
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/lo $(1)/usr/include/
+++ /dev/null
---- a/src/server.c
-+++ b/src/server.c
-@@ -48,7 +48,7 @@
- #include <netdb.h>
- #include <sys/socket.h>
- #ifdef HAVE_POLL
--#include <sys/poll.h>
-+#include <poll.h>
- #endif
- #include <sys/un.h>
- #include <arpa/inet.h>
--- /dev/null
+config LZ4_OPTIMIZE_SPEED
+ bool "Optimize for speed"
+ depends on PACKAGE_liblz4
+ help
+ This enables additional optimization and
+ increases performance considerably at
+ the expense of binary size.
include $(TOPDIR)/rules.mk
-# Although liblz4 exports a major.minor.patch version, it isn't always
-# incremented for new releases. Check the NEWS file and instead use a
-# release tag when appropriate. (eg: PKG_VERSION:=r131)
PKG_NAME:=liblz4
-PKG_VERSION:=v1.7.5
+PKG_VERSION:=1.9.1
PKG_RELEASE:=1
-PKG_LICENSE:=BSD-2-Clause
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/lz4/lz4/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=f8377c89dad5c9f266edc0be9b73595296ecafd5bfa1000de148096c50052dc4
+PKG_BUILD_DIR:=$(BUILD_DIR)/lz4-$(PKG_VERSION)
+
PKG_MAINTAINER:=Darik Horn <dajhorn@vanadac.com>
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_MIRROR_HASH:=afb362b970816e06dac4997d26dd7d2cdb83168510228d174d25b1044b271e18
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
-PKG_SOURCE_URL:=https://github.com/lz4/lz4.git
-PKG_SOURCE_VERSION:=$(PKG_VERSION)
+PKG_BUILD_PARALLEL:=1
+CMAKE_INSTALL:=1
+CMAKE_SOURCE_SUBDIR:=contrib/cmake_unofficial
include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+define Package/lz4/Default
+ SUBMENU:=Compression
+ URL:=https://www.lz4.org/
+endef
define Package/liblz4
- SECTION:=libs
- CATEGORY:=Libraries
- TITLE:=Extremely fast compression
- URL:=http://www.lz4.org/
+$(call Package/lz4/Default)
+ SECTION:=libs
+ CATEGORY:=Libraries
+ TITLE:=Extremely fast compression
+ LICENSE:=BSD-2-Clause
+ LICENSE_FILES:=LICENSE lib/LICENSE
+ ABI_VERSION:=$(firstword $(subst .,$(space),$(PKG_VERSION)))
+ MENU:=1
endef
define Package/liblz4/description
even faster decoder. This package provides the liblz4 shared library.
endef
-TARGET_CFLAGS += $(FPIC)
+define Package/liblz4/config
+ source "$(SOURCE)/Config.in"
+endef
-define Build/Compile
- $(MAKE) -C "$(PKG_BUILD_DIR)/lib" $(MAKE_INSTALL_FLAGS) \
- CC="$(TARGET_CC)" \
- CFLAGS="$(TARGET_CFLAGS)" \
- PREFIX="$(CONFIGURE_PREFIX)" \
- install
+define Package/lz4
+$(call Package/lz4/Default)
+ SECTION:=utils
+ CATEGORY:=Utilities
+ TITLE:=Extremely fast compression
+ LICENSE:=GPL-2.0-or-later
+ LICENSE_FILES:=LICENSE programs/COPYING
+ DEPENDS:=+liblz4
endef
-define Build/InstallDev
- $(CP) $(PKG_INSTALL_DIR)/* $(1)/
+define Package/lz4/description
+ LZ4 - Fast real-time compression algorithm.
+ This package provides the lz4 binaries.
endef
+CMAKE_OPTIONS += \
+ -DCMAKE_INSTALL_MANDIR=/dev/null \
+ -DLZ4_BUILD_LEGACY_LZ4C=OFF
+
+ifeq ($(CONFIG_LZ4_OPTIMIZE_SPEED),y)
+ TARGET_CFLAGS := $(filter-out -O%,$(TARGET_CFLAGS)) -O3
+endif
+
+TARGET_CFLAGS += $(FPIC) -ffunction-sections -fdata-sections -flto
+TARGET_LDFLAGS += -Wl,--gc-sections
+
define Package/liblz4/install
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblz4.so* $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/liblz4.so.$(ABI_VERSION)* $(1)/usr/lib/
+endef
+
+define Package/lz4/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(CP) $(PKG_INSTALL_DIR)/usr/bin/{lz4,lz4cat,unlz4} $(1)/usr/bin/
endef
$(eval $(call BuildPackage,liblz4))
+$(eval $(call BuildPackage,lz4))
PKG_NAME:=libmstch
PKG_VERSION:=1.0.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/no1msd/mstch/tar.gz/$(PKG_VERSION)?
PKG_BUILD_DIR:=$(BUILD_DIR)/mstch-$(PKG_VERSION)
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/mstch-$(PKG_VERSION)
+PKG_MAINTAINER:=Amol Bhave <ambhave@fb.com>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
-HOST_BUILD_DEPENDS:=boost boost/host
-
-PKG_BUILD_DEPENDS:=boost
+HOST_BUILD_DEPENDS:=boost/host
+PKG_BUILD_PARALLEL:=1
+CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/cmake.mk
-HOST_BUILD_PREFIX:=$(STAGING_DIR_HOST)
-
-PKG_BUILD_PARALLEL:=1
-CMAKE_INSTALL:=1
-CMAKE_OPTIONS:= \
- -DCMAKE_POSITION_INDEPENDENT_CODE=True
-
define Package/libmstch
SECTION:=libs
CATEGORY:=Libraries
TITLE:=Complete implementation of {{mustache}} templates using modern C++
DEPENDS:=+boost +boost-container
URL:=https://github.com/no1msd/mstch
- MAINTAINER:=Amol Bhave <ambhave@fb.com>
endef
define Package/libmstch/description
mstch is a complete implementation of {{mustache}} templates using modern C++
endef
+CMAKE_OPTIONS += \
+ -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE
+
$(eval $(call BuildPackage,libmstch))
$(eval $(call HostBuild))
PKG_NAME:=libnatpmp
PKG_VERSION:=20150609
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://miniupnp.tuxfamily.org/files
PKG_HASH:=e1aa9c4c4219bc06943d6b2130f664daee213fb262fcb94dd355815b8f4536b0
-PKG_MAINTAINER:=Hauke Mehrtens <hauke@hauke-m.de>
-PKG_LICENSE:=BSD-3c
+
+PKG_MAINTAINER:=Rosen Penev <rosenp@gmail.com>
+PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
-PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libnatpmp/Default
TITLE:=NAT Port Mapping Protocol (NAT-PMP)
- URL:=http://miniupnp.free.fr/libnatpmp.html
+ URL:=https://miniupnp.tuxfamily.org/libnatpmp.html
endef
define Package/libnatpmp/Default/description
SECTION:=libs
CATEGORY:=Libraries
TITLE+= library
+ ABI_VERSION:=1
endef
define Package/libnatpmp/description
This package contains the natpmp client.
endef
-MAKE_FLAGS += \
- COPTS="$(TARGET_CFLAGS)" \
- PREFIX="$(PKG_INSTALL_DIR)" \
- OS="Linux"
-
-define Build/InstallDev
- $(INSTALL_DIR) $(1)/usr/include
- $(CP) $(PKG_INSTALL_DIR)/usr/include/declspec.h $(1)/usr/include/
- $(CP) $(PKG_INSTALL_DIR)/usr/include/natpmp.h $(1)/usr/include/
- $(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnatpmp*.{so*,a} $(1)/usr/lib/
-endef
-
define Package/libnatpmp/install
$(INSTALL_DIR) $(1)/usr/lib
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libnatpmp.so.* $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libnatpmp.so.* $(1)/usr/lib/
endef
define Package/natpmpc/install
+++ /dev/null
---- a/Makefile
-+++ b/Makefile
-@@ -56,7 +56,7 @@ else
- endif
- endif
-
--HEADERS = natpmp.h
-+HEADERS = natpmp.h declspec.h
-
- EXECUTABLES = testgetgateway natpmpc-shared natpmpc-static
-
--- /dev/null
+--- /dev/null
++++ b/CMakeLists.txt
+@@ -0,0 +1,50 @@
++cmake_minimum_required(VERSION 2.8.12)
++
++if(POLICY CMP0048)
++ cmake_policy(SET CMP0048 NEW)
++endif()
++
++project(natpmp C)
++
++set (NATPMP_VERSION 20150609)
++set (NATPMP_API_VERSION 1)
++
++set (NATPMP_SOURCES
++ natpmp.c
++ getgateway.c
++)
++
++if (WIN32)
++ set (NATPMP_SOURCES ${NATPMP_SOURCES} wingettimeofday.c)
++endif (WIN32)
++
++# Library itself
++add_library(natpmp SHARED ${NATPMP_SOURCES})
++set_target_properties (natpmp PROPERTIES OUTPUT_NAME "natpmp")
++set_target_properties (natpmp PROPERTIES VERSION ${NATPMP_VERSION})
++set_target_properties (natpmp PROPERTIES SOVERSION ${NATPMP_API_VERSION})
++target_compile_definitions(natpmp PRIVATE -DENABLE_STRNATPMPERR)
++target_include_directories(natpmp PUBLIC ${CMAKE_CURRENT_LIST_DIR})
++
++if (WIN32)
++ target_link_libraries(natpmp PUBLIC ws2_32 Iphlpapi)
++ target_compile_definitions(natpmp PUBLIC -DNATPMP_STATICLIB)
++endif (WIN32)
++
++install(TARGETS natpmp
++ RUNTIME DESTINATION bin
++ LIBRARY DESTINATION lib${LIB_SUFFIX}
++ ARCHIVE DESTINATION lib${LIB_SUFFIX})
++
++# Executables
++add_executable(natpmpc natpmpc.c)
++target_link_libraries(natpmpc natpmp)
++
++install(FILES natpmpc DESTINATION bin)
++
++add_executable(testgetgateway
++ testgetgateway.c
++ getgateway.c)
++target_link_libraries(testgetgateway natpmp)
++
++install(FILES natpmp.h DESTINATION include)
include $(TOPDIR)/rules.mk
PKG_NAME:=librsocket-cpp
-PKG_SOURCE_DATE:=2019-05-08
-PKG_SOURCE_VERSION:=ddc80392b17a3fadcbea09f82ea5f6936f0fd459
+PKG_SOURCE_DATE:=2019-06-11
+PKG_SOURCE_VERSION:=741f817fd519e0610cddb5783aae812355e19435
PKG_RELEASE:=1
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_DATE).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/rsocket/rsocket-cpp/tar.gz/$(PKG_SOURCE_VERSION)?
-PKG_HASH:=b9b5177be57f6cd23ff3592845b11209167f679b683cb73acbf351e7a3550a76
+PKG_HASH:=56886deba0f3594b4a430b1f515c90a138800b8e387440e6b8bf728d660f457a
PKG_BUILD_DIR:=$(BUILD_DIR)/rsocket-cpp-$(PKG_SOURCE_VERSION)
+PKG_MAINTAINER:=Amol Bhave <ambhave@fb.com>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
-
PKG_BUILD_PARALLEL:=1
CMAKE_BINARY_SUBDIR:=builddir
-CMAKE_OPTIONS:= \
- -DBUILD_BENCHMARKS=OFF \
- -DBUILD_EXAMPLES=OFF \
- -DBUILD_TESTS=OFF \
- -DBUILD_SHARED_LIBS=ON
CMAKE_INSTALL:=1
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
define Package/librsocket-cpp
SECTION:=libs
CATEGORY:=Libraries
C++ implementation of reactive functional programming including both Observable and Flowable types.
endef
+CMAKE_OPTIONS += \
+ -DBUILD_BENCHMARKS=OFF \
+ -DBUILD_EXAMPLES=OFF \
+ -DBUILD_TESTS=OFF \
+ -DBUILD_SHARED_LIBS=ON
+
define Package/librsocket-cpp/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libReactiveSocket.so* $(1)/usr/lib/
+++ /dev/null
-diff --git a/yarpl/CMakeLists.txt b/yarpl/CMakeLists.txt
---- a/yarpl/CMakeLists.txt Fri May 03 07:45:18 2019 -0700
-+++ b/yarpl/CMakeLists.txt Tue May 07 02:03:23 2019 -0700
-@@ -21,7 +21,11 @@
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wno-unused-parameter")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-weak-vtables -Wno-padded")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-omit-frame-pointer")
-- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -momit-leaf-frame-pointer")
-+ include(CheckCXXCompilerFlag)
-+ CHECK_CXX_COMPILER_FLAG("-momit-leaf-frame-pointer" HAVE_OMIT_LEAF_FRAME_POINTER)
-+ if(HAVE_OMIT_LEAF_FRAME_POINTER)
-+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -momit-leaf-frame-pointer")
-+ endif()
- endif()
-
- if(YARPL_WRAP_SHARED_IN_LOCK)
--- /dev/null
+--- a/yarpl/Refcounted.h
++++ b/yarpl/Refcounted.h
+@@ -42,7 +42,7 @@ std::shared_ptr<T> atomic_exchange(
+ auto refptr = ar->ref.lock();
+ auto old = std::move(*refptr);
+ *refptr = std::move(r);
+- return std::move(old);
++ return old;
+ }
+
+ template <typename T>
include $(TOPDIR)/rules.mk
PKG_NAME:=libuhttpd
-PKG_VERSION:=2.2.1
-PKG_RELEASE:=2
+PKG_VERSION:=2.2.2
+PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=v$(PKG_VERSION)
PKG_SOURCE_URL=https://github.com/zhaojh329/libuhttpd.git
-PKG_MIRROR_HASH:=e6b3d540a0d32a77739ab6b028ded46fbf4997d241fabb578ef1f212581eea33
+PKG_MIRROR_HASH:=98f217238160489468fafe8c643b7f96f168c80000ee07d3ca808d54f4c6a608
CMAKE_INSTALL:=1
PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_SOURCE_SUBDIR)
include $(TOPDIR)/rules.mk
PKG_NAME:=libupm
-PKG_VERSION:=1.7.1
+PKG_VERSION:=2.0.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/intel-iot-devkit/upm/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=b253742b01146f4b86e20714aa24e75ca1e9d46629eab9aa8db070ce94cf3619
+PKG_HASH:=7dd2f4165b71e071d100b58d6a392f3cf57b0f257c82ffabf49e931b5ed6bc23
PKG_BUILD_DIR:=$(BUILD_DIR)/upm-$(PKG_VERSION)
PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>, Hirokazu MORIKAWA <morikw2@gmail.com>
PKG_LICENSE_FILES:=LICENSE
CMAKE_INSTALL:=1
+CMAKE_BINARY_SUBDIR:=build
PKG_USE_MIPS16:=0
+PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
adxrs610 am2315 apa102 apds9002 apds9930 at42qt1070 bh1749 bh1750 bh1792 biss0001 bma220 \
bma250e bmg160 bmi160 bmm150 bmp280 bmpx8x bmx055 bno055 button buzzer cjq4435 collision \
cwlsxxa dfrec dfrorp dfrph ds1307 ds1808lc ds18b20 ds2413 ecezo ecs1030 \
- ehr eldriver electromagnet emg enc03r flex gas gp2y0a gprs grove grovecollision groveehr \
- groveeldriver groveelectromagnet groveemg grovegprs grovegsr grovelinefinder grovemd \
- grovemoisture groveo2 grovescam grovespeaker groveultrasonic grovevdiv grovewater grovewfs \
+ ehr eldriver electromagnet emg enc03r flex gas gp2y0a gprs \
gsr guvas12d h3lis331dl hcsr04 hdc1000 hdxxvxta hka5 hlg150h hm11 hmc5883l hmtrp hp20x \
ht9170 htu21d hx711 ili9341 ims ina132 interfaces isd1820 itg3200 jhd1313m1 joystick12 kx122 \
kxcjk1013 kxtj3 l298 l3gd20 lcd lcdks lcm1602 ldt0028 led lidarlitev3 light linefinder lis2ds12 \
veml6070 water waterlevel wfs wheelencoder wt5001 xbee yg1006 zfm20 \
vcap t3311 hwxpxx h803x ozw curieimu
# (require libbacnet) tb7300 t8100 e50hx bacnetmstp
+# (require libtinyb) 2jciebu01_ble 2jciebu01_usb
define Package/libupm/Default
SECTION:=libs
define Package/libupm/install/Default-python
$(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON_VERSION)/site-packages/upm
- $(CP) $(PKG_BUILD_DIR)/src/$(2)/python$(PYTHON_VERSION)/pyupm_$(2).py \
+ $(CP) $(CMAKE_BINARY_DIR)/$(if $(filter interfaces, $(2)),,src/)$(2)/python$(PYTHON_VERSION)/pyupm_$(2).py \
$(1)/usr/lib/python$(PYTHON_VERSION)/site-packages/upm/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON_VERSION)/site-packages/upm/_pyupm_$(2).so \
$(1)/usr/lib/python$(PYTHON_VERSION)/site-packages/upm/ ;
define Package/libupm/install/Default-python3
$(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/upm
- $(CP) $(PKG_BUILD_DIR)/src/$(2)/python$(PYTHON3_VERSION)/pyupm_$(2).py \
+ $(CP) $(CMAKE_BINARY_DIR)/$(if $(filter interfaces, $(2)),,src/)$(2)/python$(PYTHON3_VERSION)/pyupm_$(2).py \
$(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/upm/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION)/site-packages/upm/_pyupm_$(2).so \
$(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/upm/ ;
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -225,14 +225,7 @@ include(GNUInstallDirs)
+@@ -231,14 +231,7 @@
set (LIB_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}" CACHE PATH "Installation path for libraries")
# Make a version file containing the current version from git.
-# If git_describe fails, use a dirty version
-if (${VERSION} MATCHES -NOTFOUND)
- set (VERSION "v1.7.1")
++ set (VERSION "v2.0.0")
- message (WARNING "Failed to retrieve UPM version with 'git describe' (using "
- "${VERSION}). Check that git is installed and this is a valid git repo.")
-endif ()
-+set (VERSION "v1.7.1")
message (STATUS "UPM Version ${VERSION}")
--- /dev/null
+diff -urN a/src/bma250e/bma250e.cxx b/src/bma250e/bma250e.cxx
+--- a/src/bma250e/bma250e.cxx 2019-05-09 00:06:25.000000000 +0900
++++ b/src/bma250e/bma250e.cxx 2019-05-13 16:43:04.344536227 +0900
+@@ -195,35 +195,35 @@
+ fifoConfig(mode, axes);
+ }
+ if(tok.substr(0, 20) == "setInterruptEnable0:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(20), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(20), nullptr, 0);
+ setInterruptEnable0(bits);
+ }
+ if(tok.substr(0, 20) == "setInterruptEnable1:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(20), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(20), nullptr, 0);
+ setInterruptEnable1(bits);
+ }
+ if(tok.substr(0, 20) == "setInterruptEnable2:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(20), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(20), nullptr, 0);
+ setInterruptEnable2(bits);
+ }
+ if(tok.substr(0, 17) == "setInterruptMap0:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+ setInterruptMap0(bits);
+ }
+ if(tok.substr(0, 17) == "setInterruptMap1:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+ setInterruptMap1(bits);
+ }
+ if(tok.substr(0, 17) == "setInterruptMap2:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+ setInterruptMap2(bits);
+ }
+ if(tok.substr(0, 16) == "setInterruptSrc:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(16), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(16), nullptr, 0);
+ setInterruptSrc(bits);
+ }
+ if(tok.substr(0, 26) == "setInterruptOutputControl:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(26), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(26), nullptr, 0);
+ setInterruptOutputControl(bits);
+ }
+ if(tok.substr(0, 26) == "setInterruptLatchBehavior:") {
+diff -urN a/src/bmg160/bmg160.cxx b/src/bmg160/bmg160.cxx
+--- a/src/bmg160/bmg160.cxx 2019-05-09 00:06:25.000000000 +0900
++++ b/src/bmg160/bmg160.cxx 2019-05-13 16:44:25.516304666 +0900
+@@ -173,23 +173,23 @@
+ fifoConfig(mode, axes);
+ }
+ if(tok.substr(0, 20) == "setInterruptEnable0:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(20), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(20), nullptr, 0);
+ setInterruptEnable0(bits);
+ }
+ if(tok.substr(0, 17) == "setInterruptMap0:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+ setInterruptMap0(bits);
+ }
+ if(tok.substr(0, 17) == "setInterruptMap1:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+ setInterruptMap1(bits);
+ }
+ if(tok.substr(0, 16) == "setInterruptSrc:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(16), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(16), nullptr, 0);
+ setInterruptSrc(bits);
+ }
+ if(tok.substr(0, 26) == "setInterruptOutputControl:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(26), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(26), nullptr, 0);
+ setInterruptOutputControl(bits);
+ }
+ if(tok.substr(0, 26) == "setInterruptLatchBehavior:") {
+diff -urN a/src/bmm150/bmm150.cxx b/src/bmm150/bmm150.cxx
+--- a/src/bmm150/bmm150.cxx 2019-05-09 00:06:25.000000000 +0900
++++ b/src/bmm150/bmm150.cxx 2019-05-13 16:45:03.228197100 +0900
+@@ -170,19 +170,19 @@
+ setOpmode(opmode);
+ }
+ if(tok.substr(0, 19) == "setInterruptEnable:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(19), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(19), nullptr, 0);
+ setInterruptEnable(bits);
+ }
+ if(tok.substr(0, 19) == "setInterruptConfig:") {
+- u_int8_t bits = (u_int8_t)std::stoul(tok.substr(19), nullptr, 0);
++ uint8_t bits = (uint8_t)std::stoul(tok.substr(19), nullptr, 0);
+ setInterruptConfig(bits);
+ }
+ if(tok.substr(0, 17) == "setRepetitionsXY:") {
+- u_int8_t reps = (u_int8_t)std::stoul(tok.substr(17), nullptr, 0);
++ uint8_t reps = (uint8_t)std::stoul(tok.substr(17), nullptr, 0);
+ setRepetitionsXY(reps);
+ }
+ if(tok.substr(0, 16) == "setRepetitionsZ:") {
+- u_int8_t reps = (u_int8_t)std::stoul(tok.substr(16), nullptr, 0);
++ uint8_t reps = (uint8_t)std::stoul(tok.substr(16), nullptr, 0);
+ setRepetitionsZ(reps);
+ }
+ if(tok.substr(0, 14) == "setPresetMode:") {
include $(TOPDIR)/rules.mk
PKG_NAME:=libuv
-PKG_VERSION:=1.24.1
+PKG_VERSION:=1.29.1
PKG_RELEASE:=1
PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://dist.libuv.org/dist/v$(PKG_VERSION)/
-PKG_HASH:=3dd3eeb7b00214b0226da55b38898d3f9481d0cf744d42faf82771e0f19f2b0a
+PKG_HASH:=1486043da5ccaf86d451a5fe93920c5b66770b132d92b6d0a15d636346ca570c
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-v$(PKG_VERSION)
PKG_BUILD_PARALLEL:=1
include $(TOPDIR)/rules.mk
PKG_NAME:=libwangle
-PKG_VERSION:=2019.05.27.00
+PKG_VERSION:=2019.06.10.00
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/facebook/wangle/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=935d94658133279d98de27ab7c78801c87f16414b8eec43766798acc5b14f549
+PKG_HASH:=3721c003aa5fce889699b0301705eced7a0ea4ab2e7e12af543dab3493ba8be9
PKG_BUILD_DIR:=$(BUILD_DIR)/wangle-$(PKG_VERSION)
+PKG_MAINTAINER:=Amol Bhave <ambhave@fb.com>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
-
PKG_BUILD_PARALLEL:=1
CMAKE_SOURCE_SUBDIR:=wangle
-CMAKE_OPTIONS:= \
- -DBUILD_SHARED_LIBS=ON
CMAKE_INSTALL:=1
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
define Package/libwangle
SECTION:=libs
CATEGORY:=Libraries
This package includes the shared library.
endef
+CMAKE_OPTIONS:= \
+ -DBUILD_SHARED_LIBS=ON
+
define Package/libwangle/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libwangle.so* $(1)/usr/lib/
PKG_NAME:=libxml2
PKG_VERSION:=2.9.9
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://xmlsoft.org/sources/
A library for manipulating XML and HTML resources.
endef
+define Package/libxml2-dev
+ SECTION:=devel
+ CATEGORY:=Development
+ SUBMENU:=Libraries
+ TITLE:=Development files for libxml2
+ URL:=http://xmlsoft.org/
+ DEPENDS:=+libxml2
+endef
+
+define Package/libxml2-dev/description
+ A library for manipulating XML and HTML resources.
+
+ This package contains the headers and xml2-config binary.
+endef
+
+define Package/libxml2-utils
+ SECTION:=utils
+ CATEGORY:=Utilities
+ TITLE:=XML command line utilities (xmllint...)
+ URL:=http://xmlsoft.org/
+ DEPENDS:=+libxml2
+endef
+
+define Package/libxml2-utils/description
+ This package contains the binaries xmllint and xmlcatalog
+ from libxml2, a library for manipulating XML and HTML resources.
+endef
+
TARGET_CFLAGS += $(FPIC)
CONFIGURE_ARGS += \
define Package/libxml2/install
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libxml2.so* $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libxml2.so.* $(1)/usr/lib/
+endef
+
+define Package/libxml2-dev/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(CP) $(PKG_INSTALL_DIR)/usr/bin/xml2-config $(1)/usr/bin/
+ $(SED) "s,$(STAGING_DIR),,g" $(1)/usr/bin/xml2-config
+
+ $(INSTALL_DIR) $(1)/usr/include/
+ $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
+
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libxml2.so $(1)/usr/lib/
+
+ $(INSTALL_DIR) $(1)/usr/lib/{cmake,pkgconfig}
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/{cmake,pkgconfig} $(1)/usr/lib/
+ $(SED) "s,$(STAGING_DIR),,g" $(1)/usr/lib/pkgconfig/*.pc
+
+ $(INSTALL_DIR) $(1)/usr/share/aclocal
+ $(CP) $(PKG_INSTALL_DIR)/usr/share/aclocal/* $(1)/usr/share/aclocal
+endef
+
+define Package/libxml2-utils/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(CP) $(PKG_INSTALL_DIR)/usr/bin/xmllint $(1)/usr/bin/
+ $(CP) $(PKG_INSTALL_DIR)/usr/bin/xmlcatalog $(1)/usr/bin/
endef
define Host/Install
$(eval $(call HostBuild))
$(eval $(call BuildPackage,libxml2))
+$(eval $(call BuildPackage,libxml2-dev))
+$(eval $(call BuildPackage,libxml2-utils))
--without-gpm-support \
--with-colorsfile=/etc/newt/palette
-MAKE_VARS+= PYTHON_CONFIG_PATH="$(STAGING_DIR)/usr/bin"
+MAKE_VARS+= PYTHON_CONFIG_PATH="$(STAGING_DIR)/host/bin"
Build/Compile=$(call Build/Compile/Default,)
include $(TOPDIR)/rules.mk
PKG_NAME:=opus
-PKG_VERSION:=1.3
+PKG_VERSION:=1.3.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://archive.mozilla.org/pub/opus
-PKG_HASH:=4f3d69aefdf2dbaf9825408e452a8a414ffc60494c70633560700398820dc550
+PKG_HASH:=65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d
PKG_MAINTAINER:=Ted Hess <thess@kitchensync.net>, Ian Leonard <antonlacon@gmail.com>
PKG_LICENSE:=BSD-3-Clause
PKG_NAME:=poco
PKG_VERSION:=1.9.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://pocoproject.org/releases/$(PKG_NAME)-$(PKG_VERSION)
CATEGORY:=Libraries
TITLE:=Poco C++ libraries
URL:=https://www.pocoproject.org/
- DEPENDS:=+libstdcpp +libpthread +librt
+ DEPENDS:=+libstdcpp +libpthread +librt @!arc
MAINTAINER:=Jean-Michel Julien <jean-michel.julien@trilliantinc.com>
endef
include $(TOPDIR)/rules.mk
PKG_NAME:=speexdsp
-PKG_VERSION:=1.2rc3
+PKG_VERSION:=1.2.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://downloads.us.xiph.org/releases/speex/
-PKG_HASH:=4ae688600039f5d224bdf2e222d2fbde65608447e4c2f681585e4dca6df692f1
+PKG_SOURCE_URL:=https://downloads.us.xiph.org/releases/speex/
+PKG_HASH:=682042fc6f9bee6294ec453f470dadc26c6ff29b9c9e9ad2ffc1f4312fd64771
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
PKG_NAME:=ffmpeg
PKG_VERSION:=3.4.6
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://ffmpeg.org/releases/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/ffprobe $(1)/usr/bin/
endef
+Package/ffprobe-custom/install = $(Package/ffprobe/install)
+
define Package/ffserver/install
$(INSTALL_DIR) $(1)/usr/bin
$(CP) $(PKG_INSTALL_DIR)/usr/bin/ffserver $(1)/usr/bin/
endef
+Package/ffserver-custom/install = $(Package/ffserver/install)
+
define Package/libffmpeg-custom/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avdevice,avformat,avutil}.so.* $(1)/usr/lib/
include $(TOPDIR)/rules.mk
PKG_NAME:=gphoto2
-PKG_VERSION:=2.5.20
+PKG_VERSION:=2.5.23
PKG_RELEASE:=1
PKG_MAINTAINER:=Leonardo Medici <leonardo_medici@me.com>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@SF/gphoto
-PKG_HASH:=a36f03b50a8f040f185cbc757f957f03dc05a9210907199e6919ef3f970248f6
+PKG_HASH:=df87092100e7766c9d0a4323217c91908a9c891c0d3670ebf40b76903be458d1
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=COPYING
include $(TOPDIR)/rules.mk
PKG_NAME:=graphicsmagick
-PKG_VERSION:=1.3.31
-PKG_RELEASE:=2
+PKG_VERSION:=1.3.32
+PKG_RELEASE:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/GraphicsMagick-$(PKG_VERSION)
PKG_SOURCE:=GraphicsMagick-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@SF/graphicsmagick
-PKG_HASH:=69ee4ac6a49a818098f47f51c4f430ca9bb2493cb3594f322eb211b8aeb71f41
+PKG_HASH:=d1f70bc6d41de922199ce6b0a04af7b3492b2fc4a2be6ee24e0af4e15250db0a
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=Copyright.txt
--- /dev/null
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=imagemagick
+PKG_VERSION:=7.0.8
+PKG_REVISION:=49
+PKG_RELEASE:=1
+PKG_MAINTAINER:=Val Kulkov <val.kulkov@gmail.com>
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_REVISION).tar.gz
+PKG_SOURCE_URL:=http://github.com/ImageMagick/ImageMagick/archive/$(PKG_VERSION)-$(PKG_REVISION)
+PKG_HASH:=53f7963bbe81520e799e9e178a13757890ed43bc9faf2e86fae1cf58aea28575
+PKG_BUILD_DIR:=$(BUILD_DIR)/ImageMagick-$(PKG_VERSION)-$(PKG_REVISION)
+
+PKG_LICENSE:=Apache-2.0
+PKG_LICENSE_FILES:=LICENSE
+
+PKG_USE_MIPS16:=0
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/imagemagick/Default
+ SECTION:=multimedia
+ CATEGORY:=Multimedia
+ TITLE:=Image manipulation tools
+ URL:=https://www.imagemagick.org/
+endef
+
+define Package/imagemagick
+ $(call Package/imagemagick/Default)
+ DEPENDS:=+libltdl +libpthread +zlib +libfreetype +libpng +libjpeg +libtiff
+endef
+
+define Package/imagemagick/description
+ImageMagick is a free and open-source software suite for displaying,
+converting, and editing raster image and vector image files.
+NOTE: this package may not be suitable for many embedded devices because
+of its large size. Consider using extroot or alternatively consider
+graphicsmagick which is smaller but similar in functionality.
+endef
+
+define Package/imagemagick/conffiles
+/etc/ImageMagick-7/colors.xml
+/etc/ImageMagick-7/delegates.xml
+/etc/ImageMagick-7/log.xml
+/etc/ImageMagick-7/mime.xml
+/etc/ImageMagick-7/policy.xml
+/etc/ImageMagick-7/quantization-table.xml
+/etc/ImageMagick-7/thresholds.xml
+/etc/ImageMagick-7/type-apple.xml
+/etc/ImageMagick-7/type-dejavu.xml
+/etc/ImageMagick-7/type-ghostscript.xml
+/etc/ImageMagick-7/type-urw-base35.xml
+/etc/ImageMagick-7/type-windows.xml
+/etc/ImageMagick-7/type.xml
+endef
+
+CONFIGURE_ARGS += \
+ --enable-shared \
+ --disable-static \
+ --disable-docs \
+ --enable-dependency-tracking \
+ --with-modules \
+ --with-threads \
+ --with-ltdl \
+ --with-zlib \
+ --disable-hdri \
+ --with-quantum-depth=8 \
+ --disable-deprecated \
+ --disable-cipher \
+ --without-bzlib \
+ --without-autotrace \
+ --without-djvu \
+ --without-dps \
+ --without-fftw \
+ --without-flif \
+ --without-fpx \
+ --without-fontconfig \
+ --without-gslib \
+ --without-gvc \
+ --without-heic \
+ --without-jbig \
+ --without-lcms \
+ --without-lqr \
+ --without-lzma \
+ --without-magick-plus-plus \
+ --without-openexr \
+ --without-openjp2 \
+ --without-raqm \
+ --without-raw \
+ --without-webp \
+ --without-x \
+ --without-zstd \
+ --without-gslib \
+ --without-gvc \
+ --without-pango \
+ --without-perl \
+ --without-rsvg \
+ --without-wmf \
+ --without-xml \
+ --with-freetype \
+ --with-jpeg \
+ --with-png \
+ --with-tiff
+
+TARGET_CFLAGS += -flto
+
+define Build/InstallDev
+ $(INSTALL_DIR) $(1)/usr/include
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/include/* \
+ $(1)/usr/include/
+
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/lib/*.so* \
+ $(1)/usr/lib/
+
+ $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+ $(INSTALL_DATA) \
+ $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* \
+ $(1)/usr/lib/pkgconfig/
+endef
+
+IMlibdir:=usr/lib/ImageMagick-$(PKG_VERSION)
+define Package/imagemagick/install
+ $(INSTALL_DIR) $(1)/etc $(1)/usr/bin $(1)/$(IMlibdir)
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so.* $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin/
+ $(RM) $(1)/usr/bin/*-config
+ $(CP) $(PKG_INSTALL_DIR)/etc/ImageMagick-* $(1)/etc/
+ $(CP) $(PKG_INSTALL_DIR)/$(IMlibdir)/* $(1)/$(IMlibdir)/
+endef
+
+$(eval $(call BuildPackage,imagemagick))
include $(TOPDIR)/rules.mk
PKG_NAME:=youtube-dl
-PKG_VERSION:=2019.5.20
+PKG_VERSION:=2019.6.8
PKG_RELEASE:=1
PKG_SOURCE:=youtube_dl-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/y/youtube_dl/
-PKG_HASH:=f73babe4bbad1c1eab3b4d74042ed8204cd62820e8489db74d3087ff9a6575df
+PKG_HASH:=93ca1ff30b99223318305cf4f30a02b8ea2cf5fdd2816f83d60aaa3c1bb19432
PKG_BUILD_DIR:=$(BUILD_DIR)/youtube_dl-$(PKG_VERSION)
include $(TOPDIR)/rules.mk
PKG_NAME:=acme
-PKG_VERSION:=2.7.9
-PKG_RELEASE:=9
-PKG_LICENSE:=GPLv3
+PKG_VERSION:=2.8.1
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/Neilpang/acme.sh/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=25f8eef1a53584e3ebc653e1ae7763362ca97c40bb476ab7fee01aa50fa3a101
+PKG_HASH:=4fc55b2112058e563616893fefb56c5ff4895a7e6327e9f8416797fdc44d98e3
PKG_BUILD_DIR:=$(BUILD_DIR)/acme.sh-$(PKG_VERSION)
+
PKG_MAINTAINER:=Toke Høiland-Jørgensen <toke@toke.dk>
-PKGARCH:=all
+PKG_LICENSE:=GPL-3.0-only
+PKG_LICENSE_FILES:=LICENSE.md
LUCI_DIR:=/usr/lib/lua/luci
define Package/acme
SECTION:=net
CATEGORY:=Network
- DEPENDS:=+curl +ca-bundle +openssl-util +socat
+ DEPENDS:=+wget +ca-bundle +openssl-util +socat
TITLE:=ACME (Letsencrypt) client
+ URL:=https://acme.sh
+ PKGARCH:=all
endef
define Package/acme/description
CATEGORY:=Network
DEPENDS:=+acme
TITLE:=DNS API integration for ACME (Letsencrypt) client
+ PKGARCH:=all
endef
define Package/acme-dnsapi/description
TITLE:=ACME package - LuCI interface
DEPENDS:= lua luci-base +acme
SUBMENU:=3. Applications
+ PKGARCH:=all
endef
define Package/luci-app-acme/description
include $(TOPDIR)/rules.mk
PKG_NAME:=apfree-wifidog
-PKG_VERSION:=3.8.1588
+PKG_VERSION:=3.11.1716
PKG_RELEASE=1
PKG_LICENSE:=GPL-3.0-or-later
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/liudf0716/apfree_wifidog.git
PKG_SOURCE_VERSION:=$(PKG_VERSION)
-PKG_MIRROR_HASH:=0d10ad5a29358a7124ba75570894f48998af841519b0f295e3fcbed66ee7bccc
-
-PKG_INSTALL:=1
+PKG_MIRROR_HASH:=76eda57e40b919091281305344bc57fc732a779d7944f57bd5de87914ba127d1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
SECTION:=net
CATEGORY:=Network
DEPENDS:=+zlib +iptables-mod-extra +iptables-mod-ipopt +kmod-ipt-nat +iptables-mod-nat-extra \
- +libjson-c +ipset +libip4tc +libevent2 +libevent2-openssl \
- +fping +libmosquitto +libuci +px5g
+ +libjson-c +ipset +libip4tc +libevent2 +libevent2-openssl +libuci +px5g
TITLE:=Apfree's wireless captive portal solution
URL:=https://github.com/liudf0716/apfree_wifidog
endef
The ApFree Wifidog project is a complete and embeddable captive portal
solution for wireless community groups or individuals who wish to open a free
Hotspot while still preventing abuse of their Internet connection.
-
It's enhanced wifidog
endef
define Package/apfree-wifidog/install
$(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/wifidog $(1)/usr/bin/wifidogx
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/wdctl $(1)/usr/bin/wdctlx
- $(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libhttpd.so* $(1)/usr/lib/
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/wifidogx $(1)/usr/bin/wifidogx
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/wdctlx $(1)/usr/bin/wdctlx
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) ./files/wdping $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/etc
config wifidog
- option gateway_interface 'br-lan'
- option auth_server_hostname 'change wifidog.kunteng.org.cn to your auth server domain or ip'
- option auth_server_port 8001
- option auth_server_path '/wifidog/'
- option check_interval 60
- option client_timeout 5
- option httpd_max_conn 200
- option pool_mode 1
- option thread_number 5
- option queue_size 20
- option wired_passed 0
- option enable 0
+ option gateway_interface 'br-lan'
+ option auth_server_hostname 'change wifidog.kunteng.org.cn to your auth server domain or ip'
+ option auth_server_port 443
+ option auth_server_path '/wifidog/'
+ option check_interval 60
+ option client_timeout 5
+ option wired_passed 0
+ option disabled 1
USE_PROCD=1
PROG=/usr/bin/wifidogx
-CONFIGFILE=/tmp/wifidog.conf
+CONFIGFILE=/tmp/wifidogx.conf
EXTRA_COMMANDS="status"
EXTRA_HELP=" status Print the status of the service"
local delta_traffic
local check_interval
local client_timeout
- local httpd_max_conn
local trusted_domains
local js_filter
local trusted_maclist
[ -f ${CONFIGFILE} ] && rm -f ${CONFIGFILE}
- config_get enable "${cfg}" "enable" 0
- [ "${enable}" = "1" ] || return
+ config_get enable "${cfg}" "disabled" 0
+ [ "${enable}" = "0" ] || {
+ echo "wifidogx disabled in /etc/config/wifidogx file, please set disabled to 0 to enable it" >&2
+ return
+ }
default_gateway_id=$(sed -e 's/://g' /sys/class/net/br-lan/address)
config_get check_interval "${cfg}" "check_interval" "60"
config_get js_filter "${cfg}" "js_filter" 1
config_get client_timeout "${cfg}" "client_timeout" "5"
- config_get httpd_max_conn "${cfg}" "httpd_max_conn" "200"
config_get trusted_domains "${cfg}" "trusted_domains"
config_get trusted_maclist "${cfg}" "trusted_maclist"
config_get untrusted_maclist "${cfg}" "untrusted_maclist"
ClientTimeout $client_timeout
JsFilter $js_filter
WiredPassed $wired_passed
-
- HTTPDMaxConn $httpd_max_conn
-
- PoolMode $pool_mode
- ThreadNumber $thread_number
- QueueSize $queue_size
-
$set_trusted_domains
-
$set_untrusted_maclist
-
$set_trusted_maclist
-
$set_trusted_iplist
-
$set_trusted_pan_domains
-
$set_proxy_port
-
$set_no_auth
-
$set_apple_cna
-
$set_update_domain_interval
-
$set_dns_timeout
FirewallRuleSet global {
config_foreach prepare_wifidog_conf wifidog
[ ! -f ${CONFIGFILE} ] && {
- echo "no wifidog.conf, exit..."
- stop
+ echo "no wifidogx.conf, exit..." >&2
exit
}
}
[ -s ${APFREE_KEY} -a -s ${APFREE_CERT} ] || {
- echo "no cert or key, exit..."
- stop
+ echo "no cert or key, exit..." >&2
exit
}
include $(TOPDIR)/rules.mk
PKG_NAME:=banip
-PKG_VERSION:=0.1.3
+PKG_VERSION:=0.1.4
PKG_RELEASE:=1
PKG_LICENSE:=GPL-3.0+
PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
config source 'sslbl'
option ban_src 'https://sslbl.abuse.ch/blacklist/sslipblacklist.csv'
option ban_src_desc 'SSL Blacklist by abuse.ch (IPv4)'
- option ban_src_rset 'BEGIN{FS=\",\"}/^(([0-9]{1,3}\.){3}[0-9]{1,3},).*/{print \"add sslbl \"\$1}'
+ option ban_src_rset 'BEGIN{FS=\",\"}/(([0-9]{1,3}\.){3}[0-9]{1,3},).*/{print \"add sslbl \"\$2}'
option ban_src_settype 'ip'
option ban_src_ruletype 'src'
option ban_src_on '0'
do
procd_add_interface_trigger "interface.*.up" "${iface}" "${ban_init}" start
done
- procd_add_reload_trigger "banip" "firewall"
+ procd_add_reload_trigger "banip"
}
#
LC_ALL=C
PATH="/usr/sbin:/usr/bin:/sbin:/bin"
-ban_ver="0.1.3"
+ban_ver="0.1.4"
ban_sysver="unknown"
ban_enabled=0
ban_automatic="1"
done
fi
else
- if [ -x "${ban_ipset}" ] && [ -n "$("${ban_ipset}" -n list "${src_name}" 2>/dev/null)" ]
+ if [ -x "${ban_ipset}" ] && [ -n "$("${ban_ipset}" -q -n list "${src_name}")" ]
then
- "${ban_ipset}" destroy "${src_name}"
+ "${ban_ipset}" -q destroy "${src_name}"
fi
fi
}
if [ "${cnt}" -gt 0 ]
then
- if [ -x "${ban_ipset}" ] && [ -z "$("${ban_ipset}" -n list "${src_name}" 2>/dev/null)" ]
+ if [ -x "${ban_ipset}" ] && [ -z "$("${ban_ipset}" -q -n list "${src_name}")" ]
then
- "${ban_ipset}" create "${src_name}" hash:"${src_settype}" hashsize "${size}" maxelem 262144 family "${src_setipv}" counters
+ "${ban_ipset}" -q create "${src_name}" hash:"${src_settype}" hashsize "${size}" maxelem 262144 family "${src_setipv}" counters
else
- "${ban_ipset}" flush "${src_name}"
+ "${ban_ipset}" -q flush "${src_name}"
fi
-
"${ban_ipset}" -! restore < "${tmp_file}"
printf "%s\n" "1" > "${tmp_set}"
printf "%s\n" "${cnt}" > "${tmp_cnt}"
fi
f_iptadd
end_ts="$(date +%s)"
- f_log "debug" "f_ipset ::: name: ${src_name:-"-"}, mode: ${mode:-"-"}, settype: ${src_settype:-"-"}, setipv: ${src_setipv:-"-"}, ruletype: ${src_ruletype:-"-"}, count(sum/ip/cidr): ${cnt:-0}/${cnt_ip:-0}/${cnt_cidr:-0}, time(s): $((end_ts-start_ts))"
+ f_log "debug" "f_ipset ::: name: ${src_name:-"-"}, mode: ${mode:-"-"}, settype: ${src_settype:-"-"}, setipv: ${src_setipv:-"-"}, ruletype: ${src_ruletype:-"-"}, count(sum/ip/cidr): ${cnt:-0}/${cnt_ip:-0}/${cnt_cidr:-0}, time: $((end_ts-start_ts))"
;;
refresh)
- if [ -x "${ban_ipset}" ] && [ -n "$("${ban_ipset}" -n list "${src_name}" 2>/dev/null)" ]
+ ban_rc=4
+ if [ -x "${ban_ipset}" ] && [ -n "$("${ban_ipset}" -q -n list "${src_name}")" ]
then
- "${ban_ipset}" save "${src_name}" > "${tmp_file}"
+ "${ban_ipset}" -q save "${src_name}" > "${tmp_file}"
if [ -s "${tmp_file}" ]
then
+ ban_rc=0
cnt="$(($(wc -l 2>/dev/null < "${tmp_file}")-1))"
cnt_cidr="$(grep -cF "/" "${tmp_file}")"
cnt_ip="$((cnt-cnt_cidr))"
f_iptadd
fi
end_ts="$(date +%s)"
- f_log "debug" "f_ipset ::: name: ${src_name:-"-"}, mode: ${mode:-"-"}, count: ${cnt:-0}/${cnt_ip:-0}/${cnt_cidr:-0}, time(s): $((end_ts-start_ts))"
+ f_log "debug" "f_ipset ::: name: ${src_name:-"-"}, mode: ${mode:-"-"}, count: ${cnt:-0}/${cnt_ip:-0}/${cnt_cidr:-0}, time: $((end_ts-start_ts)), rc: ${ban_rc}"
;;
flush)
f_iptadd "remove"
- if [ -x "${ban_ipset}" ] && [ -n "$("${ban_ipset}" -n list "${src_name}" 2>/dev/null)" ]
+ if [ -x "${ban_ipset}" ] && [ -n "$("${ban_ipset}" -q -n list "${src_name}")" ]
then
- "${ban_ipset}" flush "${src_name}"
- "${ban_ipset}" destroy "${src_name}"
+ "${ban_ipset}" -q flush "${src_name}"
+ "${ban_ipset}" -q destroy "${src_name}"
fi
f_log "debug" "f_ipset ::: name: ${src_name:-"-"}, mode: ${mode:-"-"}"
;;
for source in ${ban_sources}
do
- if [ -x "${ban_ipset}" ] && [ -n "$("${ban_ipset}" -n list "${source}" 2>/dev/null)" ]
+ if [ -x "${ban_ipset}" ] && [ -n "$("${ban_ipset}" -q -n list "${source}")" ]
then
- "${ban_ipset}" destroy "${source}"
+ "${ban_ipset}" -q destroy "${source}"
fi
done
f_log "debug" "f_ipset ::: name: ${src_name:-"-"}, mode: ${mode:-"-"}"
continue
elif [ "${ban_action}" = "refresh" ]
then
+ start_ts="$(date +%s)"
f_ipset refresh
- continue
+ if [ ${ban_rc} -eq 0 ]
+ then
+ continue
+ fi
fi
# download queue processing
PKG_NAME:=bridge-utils
PKG_VERSION:=1.6
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/linux/utils/net/$(PKG_NAME)
CATEGORY:=Base system
TITLE:=Ethernet bridging configuration utility
URL:=http://www.linuxfromscratch.org/blfs/view/svn/basicnet/bridge-utils.html
+ ALTERNATIVES:=300:/usr/sbin/brctl:/usr/libexec/bridge-utils-brctl
endef
define Package/bridge/description
--with-linux-headers="$(LINUX_DIR)" \
define Package/bridge/install
- $(INSTALL_DIR) $(1)/usr/sbin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/brctl/brctl $(1)/usr/sbin
-endef
-
-define Package/bridge/prerm
-#!/bin/sh
-$${IPKG_INSTROOT}/bin/busybox brctl -h 2>&1 | grep -q BusyBox && \
-ln -sf ../../bin/busybox $${IPKG_INSTROOT}/usr/sbin/brctl
-exit 0
+ $(INSTALL_DIR) $(1)/usr/libexec
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/brctl/brctl $(1)/usr/libexec/bridge-utils-brctl
endef
$(eval $(call BuildPackage,bridge))
include $(TOPDIR)/rules.mk
PKG_NAME:=dhcpcd
-PKG_VERSION:=7.0.8
+PKG_VERSION:=7.2.2
PKG_RELEASE:=1
PKG_SOURCE_URL:=ftp://roy.marples.name/pub/dhcpcd \
http://roy.marples.name/downloads/dhcpcd
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_HASH:=96968e883369ab4afd11eba9dfd9bb109f5dfff65b2814ce6c432f36362dc9b5
+PKG_HASH:=3db7ff18cba9274da1d2176fb3c7cbe23926a8e58d5c8e244ad55c62d38ba09e
PKG_LICENSE:=BSD-2c
PKG_LICENSE_FILES:=
include $(TOPDIR)/rules.mk
PKG_NAME:=git
-PKG_VERSION:=2.21.0
+PKG_VERSION:=2.22.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/software/scm/git/
-PKG_HASH:=8ccb1ce743ee991d91697e163c47c11be4bf81efbdd9fb0b4a7ad77cc0020d28
+PKG_HASH:=159e4b599f8af4612e70b666600a3139541f8bacc18124daf2cbe8d1b934f29f
PKG_INSTALL:=1
PKG_FIXUP:=autoreconf
PKG_NAME:=gnunet
-PKG_VERSION:=0.11.4
+PKG_VERSION:=0.11.5
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@GNU/gnunet
-PKG_HASH:=7afeb638bd8b5a33c6b8dab24b90c5d7467439adc79794ff33218e9180f8b01b
+PKG_HASH:=98e0355ff0627bf88112b3b92a7522e98c0ae6071fc45efda5a33daed28199b3
PKG_LICENSE:=AGPL-3.0
PKG_LICENSE_FILES:=COPYING
include $(TOPDIR)/rules.mk
PKG_NAME:=gnurl
-PKG_VERSION:=7.64.1
+PKG_VERSION:=7.65.1
PKG_RELEASE:=1
PKG_SOURCE_URL:=https://ftp.gnu.org/gnu/gnunet
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_HASH:=8ea67d505e2576f00d8a09485e6c04396af75388c17d77087a140f05e0ca2a96
+PKG_HASH:=37bb87993f9219f4c76195031f1b0311afde157a1b852d54f570e3195ad7af01
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
PKG_NAME:=ibrdtn-tools
PKG_VERSION:=1.0.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases
PKG_INSTALL:=1
+include $(INCLUDE_DIR)/uclibc++.mk
include $(INCLUDE_DIR)/package.mk
define Package/ibrdtn-tools
PKG_NAME:=ibrdtnd
PKG_VERSION:=1.0.1
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.ibr.cs.tu-bs.de/projects/ibr-dtn/releases
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
+include $(INCLUDE_DIR)/uclibc++.mk
include $(INCLUDE_DIR)/package.mk
define Package/ibrdtnd
--- /dev/null
+--- a/src/security/SecurityKeyManager.cpp
++++ b/src/security/SecurityKeyManager.cpp
+@@ -29,6 +29,7 @@
+ #include <fstream>
+ #include <fcntl.h>
+
++#include <openssl/bn.h>
+ #include <openssl/pem.h>
+ #include <openssl/rsa.h>
+ #include <openssl/err.h>
+--- a/src/security/exchange/DHProtocol.cpp
++++ b/src/security/exchange/DHProtocol.cpp
+@@ -28,6 +28,7 @@
+ #include <ibrcommon/ssl/HMacStream.h>
+ #include <ibrcommon/Logger.h>
+
++#include <openssl/dh.h>
+ #include <openssl/rand.h>
+ #include <openssl/pem.h>
+ #include "openssl_compat.h"
include $(TOPDIR)/rules.mk
PKG_NAME:=inadyn
-PKG_VERSION:=2.3.1
-PKG_RELEASE:=2
-PKG_MAINTAINER:=
-PKG_LICENSE:=GPL-2.0
-PKG_LICENSE_FILES:=COPYING
+PKG_VERSION:=2.5
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/troglobit/inadyn/releases/download/v$(PKG_VERSION)
-PKG_HASH:=81c942db6eab27fa16e868175bdb7aff963eeee06d48bc5443e0dcd6f7c2da40
+PKG_HASH:=4a9ad208671f62912428413da0282450b2d2c4da38f3c95c4ac975d048c41fcd
+
+PKG_MAINTAINER:=
+PKG_LICENSE:=GPL-2.0
+PKG_LICENSE_FILES:=COPYING
-PKG_FIXUP:=autoreconf
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
/etc/inadyn.conf
endef
-CONFIGURE_ARGS += --enable-shared --disable-static --enable-openssl
+TARGET_CFLAGS += $(FPIC)
+
+CONFIGURE_ARGS += \
+ --enable-shared \
+ --disable-static \
+ --enable-openssl \
+ --without-pic
define Package/inadyn/install
$(INSTALL_DIR) $(1)/etc
$(INSTALL_DIR) $(1)/usr/sbin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/src/inadyn $(1)/usr/sbin/
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/inadyn $(1)/usr/sbin/
endef
$(eval $(call BuildPackage,inadyn))
+++ /dev/null
---- a/src/openssl.c
-+++ b/src/openssl.c
-@@ -25,17 +25,21 @@
-
- int ssl_init(void)
- {
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- SSL_library_init();
- SSL_load_error_strings();
- OpenSSL_add_all_algorithms();
-+#endif
-
- return 0;
- }
-
- void ssl_exit(void)
- {
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- ERR_free_strings();
- EVP_cleanup();
-+#endif
- }
-
- static int verify_callback(int preverify_ok, X509_STORE_CTX *ctx)
include $(TOPDIR)/rules.mk
PKG_NAME:=knot
-PKG_VERSION:=2.8.1
+PKG_VERSION:=2.8.2
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://secure.nic.cz/files/knot-dns/
-PKG_HASH:=b21bf03e5cb6804df4e0e8b3898446349e86ddae5bf110edaf240d0ad1e2a2c6
+PKG_HASH:=00d24361a2406392c508904fad943536bae6369981686b4951378fc1c9a5a137
PKG_MAINTAINER:=Daniel Salzman <daniel.salzman@nic.cz>
PKG_LICENSE:=GPL-3.0 LGPL-2.0 0BSD BSD-3-Clause OLDAP-2.8
include $(TOPDIR)/rules.mk
PKG_NAME:=libreswan
-PKG_VERSION:=3.27
-PKG_RELEASE:=3
+PKG_VERSION:=3.29
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://download.libreswan.org/
-PKG_HASH:=ead07dd701116094b483dc57e54e2a5ee9a06d3982bb142260bcbf3d1faf7b82
+PKG_HASH:=d60e4160f43272b6307b697a13f79f56b5ec2bca61d83097ddadd8586a58ab3e
PKG_LICENSE:=GPL-2.0
PKG_MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com>
SUBMENU:=VPN
SECTION:=net
CATEGORY:=Network
- DEPENDS:= +libnss +librt +libevent2 +libevent2-pthreads +kmod-crypto-authenc \
- +kmod-crypto-hash +kmod-ipt-ipsec +iptables-mod-ipsec +ip-full +kmod-ip-vti \
- +kmod-ipsec +kmod-ipsec4 +kmod-crypto-rng +IPV6:kmod-ipsec6 +IPV6:kmod-ip6-vti
+ DEPENDS:= +IPV6:kmod-ip6-vti +IPV6:kmod-ipsec6 +ip-full +iptables-mod-ipsec \
+ +kmod-crypto-aead +kmod-crypto-authenc +kmod-crypto-gcm \
+ +kmod-crypto-hash +kmod-crypto-rng +kmod-ip-vti +kmod-ipsec \
+ +kmod-ipsec4 +kmod-ipt-ipsec +libevent2 +libevent2-pthreads \
+ +libldns +librt +libunbound-heavy +nss-utils +nspr
PROVIDES:=openswan
CONFLICTS:=strongswan
TITLE+= IPsec Server
/etc/ipsec.secrets
endef
-TARGET_CFLAGS+= -Wno-error=format-nonliteral
MAKE_FLAGS+= \
WERROR_CFLAGS=" " \
- USE_DNSSEC=false \
USE_LINUX_AUDIT=false \
USE_LABELED_IPSEC=false \
USE_NM=false \
USE_FIPSCHECK=false \
USE_LIBCAP_NG=false \
USE_SYSTEMD_WATCHDOG=false \
+ USE_SECCOMP=false\
INC_USRLOCAL="/usr" \
FINALRUNDIR="/var/run/pluto" \
ARCH="$(LINUX_KARCH)" \
- KERNELSRC="$(LINUX_DIR)"
define Build/Prepare
$(call Build/Prepare/Default)
--- /dev/null
+From 9126ec99ca9e136666cbba5b48a8a02cb11350e0 Mon Sep 17 00:00:00 2001
+From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+Date: Mon, 15 Oct 2018 11:16:54 -0400
+Subject: [PATCH] Automatically detect whether Curve25519 is available in NSS
+ for USE_DH31
+
+currently, USE_DH31 defaults to true.
+
+On some platforms, where older versions of NSS are in use, this should
+default to false.
+
+This patch automatically detects such systems and disables USE_DH31 on
+those platforms.
+
+It produces some amount of noise on stderr about CURVE_25519 during
+the build on those older platforms, but that seems ok to me, since
+those platforms should know that they're missing a modern feature.
+
+If you prefer less noise, i'd be happy with any modification that does
+a similar sort of autodetection.
+
+diff --git a/mk/userland-cflags.mk b/mk/userland-cflags.mk
+index d0a88b1aa1..7d88874b1c 100644
+--- a/mk/userland-cflags.mk
++++ b/mk/userland-cflags.mk
+@@ -240,7 +240,7 @@ ifeq ($(USE_DH24),true)
+ USERLAND_CFLAGS += -DUSE_DH24
+ endif
+
+-USE_DH31 ?= true
++USE_DH31 ?= $(shell if printf '\#include <secoidt.h>\nint main() { return SEC_OID_CURVE25519; }\n'| $(CC) -x c $$(pkg-config --cflags nss) -o /dev/null -; then echo true; else echo false; fi )
+ ifeq ($(USE_DH31),true)
+ USERLAND_CFLAGS += -DUSE_DH31
+ endif
+++ /dev/null
-From 010a9f2bbdaa97024933be04eff1a48ff1f9b657 Mon Sep 17 00:00:00 2001
-From: Andrew Cagney <cagney@gnu.org>
-Date: Thu, 25 Oct 2018 21:00:59 -0400
-Subject: [PATCH] building: move kernel (klips) rules to mk/kernel.mk
-
----
- Makefile | 448 +-----------------------------------------------
- mk/kernel.mk | 468 +++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 474 insertions(+), 442 deletions(-)
- create mode 100644 mk/kernel.mk
-
-diff --git a/Makefile b/Makefile
-index b706defd0f..0b070966e6 100644
---- a/Makefile
-+++ b/Makefile
-@@ -97,119 +97,14 @@ KERNELREL=$(shell ${KVSHORTUTIL} ${KERNELSRC}/Makefile)
-
- # directories visited by all recursion
-
--# declaration for make's benefit
--.PHONY: def insert kpatch patches _patches _patches2.4 \
-- klipsdefaults programs man install \
-- precheck verset confcheck kernel \
-- module module24 module26 kinstall minstall minstall24 minstall26 \
-- moduleclean mod24clean module24clean mod26clean module26clean \
-- backup unpatch uninstall \
-- check \
--
--kpatch: unapplypatch applypatch klipsdefaults
--npatch: unapplynpatch applynpatch
--sarefpatch: unapplysarefpatch applysarefpatch
--
--unapplypatch:
-- @echo "info: making unapplypatch in `pwd` and KERNELSRC=\"${KERNELSRC}\";"
-- -@if [ -f ${KERNELSRC}/libreswan.patch ]; then \
-- echo Undoing previous patches; \
-- cat ${KERNELSRC}/libreswan.patch | (cd ${KERNELSRC} && patch -p1 -R --force -E -z .preipsec --reverse --ignore-whitespace ); \
-- fi
--
--applypatch:
-- @echo "info: Now performing forward patches in `pwd`";
-- ${MAKE} kernelpatch${KERNELREL} | tee ${KERNELSRC}/libreswan.patch | (cd ${KERNELSRC} && patch -p1 -b -z .preipsec --forward --ignore-whitespace )
--
--unapplynpatch:
-- @echo "info: making unapplynpatch (note the second N) in `pwd`";
-- -@if [ -f ${KERNELSRC}/natt.patch ]; then \
-- echo Undoing previous NAT patches; \
-- cat ${KERNELSRC}/natt.patch | (cd ${KERNELSRC} && patch -p1 -R --force -E -z .preipsec --reverse --ignore-whitespace ); \
-- fi
--
--applynpatch:
-- @echo "info: Now performing forward NAT patches in `pwd`";
-- ${MAKE} nattpatch${KERNELREL} | tee ${KERNELSRC}/natt.patch | (cd ${KERNELSRC} && patch -p1 -b -z .preipsec --forward --ignore-whitespace )
--
--unapplysarefpatch:
-- @echo "info: making unapplysarefpatch in `pwd`";
-- -@if [ -f ${KERNELSRC}/saref.patch ]; then \
-- echo Undoing previous saref patches; \
-- cat ${KERNELSRC}/saref.patch | (cd ${KERNELSRC} && patch -p1 -R --force -E -z .preng --reverse --ignore-whitespace ); \
-- fi
--
--applysarefpatch:
-- @echo "info: Now performing SAref patches in `pwd`";
-- ${MAKE} sarefpatch${KERNELREL} | tee ${KERNELSRC}/klipsng.patch | (cd ${KERNELSRC} && patch -p1 -b -z .preng --forward --ignore-whitespace )
--
--# patch kernel
--PATCHER=packaging/utils/patcher
--
--_patches:
-- echo "===============" >>out.kpatch
-- echo "`date` `cd $(KERNELSRC) ; pwd`" >>out.kpatch
-- $(MAKE) __patches$(KERNELREL) >>out.kpatch
--
--# Linux-2.4.0 version
--__patches2.4:
-- @$(PATCHER) -v -c $(KERNELSRC) Documentation/Configure.help \
-- 'CONFIG_KLIPS' $(PATCHES)/Documentation/Configure.help.fs2_2.patch
-- @$(PATCHER) -v $(KERNELSRC) net/Config.in \
-- 'CONFIG_KLIPS' $(PATCHES)/net/Config.in.fs2_4.patch
-- @$(PATCHER) -v $(KERNELSRC) net/Makefile \
-- 'CONFIG_KLIPS' $(PATCHES)/net/Makefile.fs2_4.patch
-- @$(PATCHER) -v $(KERNELSRC) net/ipv4/af_inet.c \
-- 'CONFIG_KLIPS' $(PATCHES)/net/ipv4/af_inet.c.fs2_4.patch
-- @$(PATCHER) -v $(KERNELSRC) net/ipv4/udp.c \
-- 'CONFIG_KLIPS' $(PATCHES)/net/ipv4/udp.c.fs2_4.patch
-- @$(PATCHER) -v $(KERNELSRC) include/net/sock.h \
-- 'CONFIG_KLIPS' $(PATCHES)/include/net/sock.h.fs2_4.patch
--# Removed patches, will unpatch automatically.
-- @$(PATCHER) -v $(KERNELSRC) include/linux/proc_fs.h
-- @$(PATCHER) -v $(KERNELSRC) net/core/dev.c
-- @$(PATCHER) -v $(KERNELSRC) net/ipv4/protocol.c
-- @$(PATCHER) -v $(KERNELSRC) drivers/net/Space.c
-- @$(PATCHER) -v $(KERNELSRC) include/linux/netlink.h
-- @$(PATCHER) -v $(KERNELSRC) net/netlink/af_netlink.c
-- @$(PATCHER) -v $(KERNELSRC) net/netlink/netlink_dev.c
-- @$(PATCHER) -v $(KERNELSRC) drivers/isdn/isdn_net.c
--
--klipsdefaults:
-- @KERNELDEFCONFIG=$(KERNELSRC)/arch/$(ARCH)/defconfig ; \
-- KERNELCONFIG=$(KCFILE) ; \
-- if ! egrep -q 'CONFIG_KLIPS' $$KERNELDEFCONFIG ; \
-- then \
-- set -x ; \
-- cp -a $$KERNELDEFCONFIG $$KERNELDEFCONFIG.orig ; \
-- chmod u+w $$KERNELDEFCONFIG ; \
-- cat $$KERNELDEFCONFIG $(KERNELKLIPS)/defconfig \
-- >$$KERNELDEFCONFIG.tmp ; \
-- rm -f $$KERNELDEFCONFIG ; \
-- cp -a $$KERNELDEFCONFIG.tmp $$KERNELDEFCONFIG ; \
-- rm -f $$KERNELDEFCONFIG.tmp ; \
-- fi ; \
-- if ! egrep -q 'CONFIG_KLIPS' $$KERNELCONFIG ; \
-- then \
-- set -x ; \
-- cp -a $$KERNELCONFIG $$KERNELCONFIG.orig ; \
-- chmod u+w $$KERNELCONFIG ; \
-- cat $$KERNELCONFIG $(KERNELKLIPS)/defconfig \
-- >$$KERNELCONFIG.tmp ; \
-- rm -f $$KERNELCONFIG ; \
-- cp -a $$KERNELCONFIG.tmp $$KERNELCONFIG ; \
-- rm -f $$KERNELCONFIG.tmp ; \
-- fi
--
--
--
- # programs
-
- ABSOBJDIR:=$(shell mkdir -p ${OBJDIR}; cd ${OBJDIR} && pwd)
- OBJDIRTOP=${ABSOBJDIR}
-
- # Recursive clean dealt with elsewhere.
--local-clean-base: moduleclean
-+.PHONY: local-clean-base
-+local-clean-base:
- $(foreach file,$(RPMTMPDIR) $(RPMDEST) out.*build out.*install, \
- rm -rf $(file) ; ) # but leave out.kpatch
-
-@@ -219,339 +114,13 @@ local-clean-base: moduleclean
- # $(OBJDIR), "distclean" does not depend on it. If it did, "make
- # distclean" would have the quirky behaviour of first creating
- # $(OBJDIR) only to then delete it.
--distclean: moduleclean module24clean module26clean clean-kvm-keys
-+.PHONY: distclean
-+distclean: clean-kvm-keys
- rm -f $(RPMTMPDIR) $(RPMDEST) out.*
- rm -rf testing/pluto/*/OUTPUT*
- rm -rf OBJ.* $(OBJDIR)
- rm -rf BACKUP
-
--# proxies for major kernel make operations
--
--# do-everything entries
--KINSERT_PRE=precheck verset insert
--PRE=precheck verset kpatch
--POST=confcheck programs kernel install
--MPOST=confcheck programs module install
--
--# preliminaries
--precheck:
-- @if test ! -d $(KERNELSRC) -a ! -L $(KERNELSRC) ; \
-- then \
-- echo '*** cannot find directory "$(KERNELSRC)"!!' ; \
-- echo '*** may be necessary to add symlink to kernel source' ; \
-- exit 1 ; \
-- fi
-- @if ! cd $(KERNELSRC) ; \
-- then \
-- echo '*** cannot "cd $(KERNELSRC)"!!' ; \
-- echo '*** may be necessary to add symlink to kernel source' ; \
-- exit 1 ; \
-- fi
-- @if test ! -f $(KCFILE) ; \
-- then \
-- echo '*** cannot find "$(KCFILE)"!!' ; \
-- echo '*** perhaps kernel has never been configured?' ; \
-- echo '*** please do that first; the results are necessary.' ; \
-- exit 1 ; \
-- fi
-- @if test ! -f $(VERFILE) ; \
-- then \
-- echo '*** cannot find "$(VERFILE)"!!' ; \
-- echo '*** perhaps kernel has never been compiled?' ; \
-- echo '*** please do that first; the results are necessary.' ; \
-- exit 1 ; \
-- fi
--
--# configuring (exit statuses disregarded, something fishy here sometimes)
--xcf:
-- -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) xconfig
--mcf:
-- -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) menuconfig
--pcf:
-- -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) config
--
--ocf:
-- -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) oldconfig
--
--rcf:
-- cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) ${NONINTCONFIG} </dev/null
-- cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) dep >/dev/null
--
--kclean:
-- -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) clean
--
--confcheck:
-- @if test ! -f $(KCFILE) ; \
-- then echo '*** no kernel configuration file written!!' ; exit 1 ; \
-- fi
-- @if ! egrep -q '^CONFIG_KLIPS=[my]' $(KCFILE) ; \
-- then echo '*** IPsec not in kernel config ($(KCFILE))!!' ; exit 1 ; \
-- fi
-- @if ! egrep -q 'CONFIG_KLIPS[ ]+1' $(ACFILE) && \
-- ! egrep -q 'CONFIG_KLIPS_MODULE[ ]+1' $(ACFILE) ; \
-- then echo '*** IPsec in kernel config ($(KCFILE)),' ; \
-- echo '*** but not in config header file ($(ACFILE))!!' ; \
-- exit 1 ; \
-- fi
-- @if egrep -q '^CONFIG_KLIPS=m' $(KCFILE) && \
-- ! egrep -q '^CONFIG_MODULES=y' $(KCFILE) ; \
-- then echo '*** IPsec configured as module in kernel with no module support!!' ; exit 1 ; \
-- fi
-- @if ! egrep -q 'CONFIG_KLIPS_AH[ ]+1' $(ACFILE) && \
-- ! egrep -q 'CONFIG_KLIPS_ESP[ ]+1' $(ACFILE) ; \
-- then echo '*** IPsec configuration must include AH or ESP!!' ; exit 1 ; \
-- fi
--
--# kernel building, with error checks
--kernel:
-- rm -f out.kbuild out.kinstall
-- # undocumented kernel folklore: clean BEFORE dep.
-- # we run make dep separately, because there is no point in running ERRCHECK
-- # on the make dep output.
-- # see LKML thread "clean before or after dep?"
-- ( cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) $(KERNCLEAN) $(KERNDEP) )
-- ( cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) $(KERNEL) ) 2>&1 | tee out.kbuild
-- @if egrep -q '^CONFIG_MODULES=y' $(KCFILE) ; \
-- then set -x ; \
-- ( cd $(KERNELSRC) ; \
-- $(MAKE) $(KERNMAKEOPTS) modules 2>&1 ) | tee -a out.kbuild ; \
-- fi
-- ${ERRCHECK} out.kbuild
--
--# module-only building, with error checks
--ifneq ($(strip $(MOD24BUILDDIR)),)
--${MOD24BUILDDIR}/Makefile : ${LIBRESWANSRCDIR}/packaging/makefiles/module24.make
-- mkdir -p ${MOD24BUILDDIR}
-- cp ${LIBRESWANSRCDIR}/packaging/makefiles/module24.make ${MOD24BUILDDIR}/Makefile
--
--module:
-- @if [ -f ${KERNELSRC}/README.libreswan-2 ] ; then \
-- echo "WARNING: Kernel source ${KERNELSRC} has already been patched with libreswan-2, out of tree build might fail!"; \
-- fi;
-- @if [ -f ${KERNELSRC}/README.openswan ] ; then \
-- echo "WARNING: Kernel source ${KERNELSRC} has already been patched with openswan, out of tree build might fail!"; \
-- fi;
-- @if [ -f ${KERNELSRC}/README.openswan-2 ] ; then \
-- echo "WARNING: Kernel source ${KERNELSRC} has already been patched with openswan-2, out of tree build might fail!"; \
-- fi;
-- @if [ -f ${KERNELSRC}/README.freeswan ] ; then \
-- echo "ERROR: Kernel source ${KERNELSRC} has already been patched with freeswan, out of tree build will fail!"; \
-- fi;
-- @if [ -f ${KERNELSRC}/Rules.make ] ; then \
-- echo "Building module for a 2.4 kernel"; ${MAKE} module24 ; \
-- else echo "Building module for a 2.6 kernel"; ${MAKE} module26; \
-- fi;
--
--modclean moduleclean:
-- @if [ -f ${KERNELSRC}/Rules.make ] ; then \
-- echo "Cleaning module for a 2.4 kernel"; ${MAKE} module24clean ; \
-- else echo "Cleaning module for a 2.6 kernel"; ${MAKE} module26clean; \
-- fi;
--
--module24:
-- @if [ ! -f ${KERNELSRC}/Rules.make ] ; then \
-- echo "Warning: Building for a 2.4 kernel in what looks like a 2.6 tree"; \
-- fi ; \
-- ${MAKE} ${MOD24BUILDDIR}/Makefile
-- ${MAKE} -C ${MOD24BUILDDIR} LIBRESWANSRCDIR=${LIBRESWANSRCDIR} ARCH=${ARCH} V=${V} ${MODULE_FLAGS} MODULE_DEF_INCLUDE=${MODULE_DEF_INCLUDE} TOPDIR=${KERNELSRC} -f Makefile ipsec.o
-- @echo
-- @echo '========================================================='
-- @echo
-- @echo 'KLIPS24 module built successfully. '
-- @echo ipsec.o is in ${MOD24BUILDDIR}
-- @echo
-- @(cd ${MOD24BUILDDIR}; ls -l ipsec.o)
-- @(cd ${MOD24BUILDDIR}; size ipsec.o)
-- @echo
-- @echo 'use make minstall as root to install it'
-- @echo
-- @echo '========================================================='
-- @echo
--
--mod24clean module24clean:
-- rm -rf ${MOD24BUILDDIR}
--
--#autoodetect 2.4 and 2.6
--module_install minstall install-module:
-- @if [ -f $(KERNELSRC)/Rules.make ] ; then \
-- $(MAKE) minstall24 ; \
-- else \
-- $(MAKE) minstall26 ; \
-- fi;
--
--# Extract the value of MODLIB from the output of $(MAKE). Also hide
--# the sup-process $(MAKE) so that GNU Make doesn't always invoke the
--# target ("make -n" ignored).
--#
--# If $(MAKE) directly appears in a target (for instance in minstall26)
--# then GNU Make will assume that it is a recursive make invocation and
--# invoke the target regardless of -n.
--#
--# XXX: minstall24 should also use this.
--
--osmodlib-from-make = \
-- OSMODLIB=$$($(MAKE) $(1) 2>/dev/null | sed -n -e 's/^MODLIB[ :=]*\([^;]*\).*/\1/p' | head -1) ; \
-- test -z "$$OSMODLIB" || echo "OSMODLIB=$$OSMODLIB ($(MAKE) $(1))"
--
--# module-only install, with error checks
--minstall24:
-- ( OSMODLIB=`${MAKE} -C $(KERNELSRC) -p dummy | ( sed -n -e '/^MODLIB/p' -e '/^MODLIB/q' ; cat > /dev/null ) | sed -e 's/^MODLIB[ :=]*\([^;]*\).*/\1/'` ; \
-- if [ -z "$$OSMODLIB" ] ; then \
-- OSMODLIB=`${MAKE} -C $(KERNELSRC) -n -p modules_install | ( sed -n -e '/^MODLIB/p' -e '/^MODLIB/q' ; cat > /dev/null ) | sed -e 's/^MODLIB[ :=]*\([^;]*\).*/\1/'` ; \
-- fi ; \
-- if [ -z "$$OSMODLIB" ] ; then \
-- echo "No known place to install module. Aborting." ; \
-- exit 93 ; \
-- fi ; \
-- set -x ; \
-- mkdir -p $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
-- cp $(MOD24BUILDDIR)/ipsec.o $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
-- if [ -f /sbin/depmod ] ; then /sbin/depmod -a ; fi; \
-- if [ -n "$(OSMOD_DESTDIR)" ] ; then \
-- mkdir -p $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
-- if [ -f $$OSMODLIB/kernel/ipsec.o -a -f $$OSMODLIB/kernel/$(OSMOD_DESTDIR)/ipsec.o ] ; then \
-- echo "WARNING: two ipsec.o modules found in $$OSMODLIB/kernel:" ; \
-- ls -l $$OSMODLIB/kernel/ipsec.o $$OSMODLIB/kernel/$(OSMOD_DESTDIR)/ipsec.o ; \
-- exit 1; \
-- fi ; \
-- fi ; \
-- set -x ) ;
--
--
--else
--module:
-- echo 'Building in place is no longer supported. Please set MOD24BUILDDIR='
-- exit 1
--
--endif
--
--# module-only building, with error checks
--ifneq ($(strip $(MODBUILDDIR)),)
--${MODBUILDDIR}/Makefile : ${LIBRESWANSRCDIR}/packaging/makefiles/module.make
-- mkdir -p ${MODBUILDDIR}
-- echo ln -s -f ${LIBRESWANSRCDIR}/linux/net/ipsec/des/*.S ${MODBUILDDIR}
-- (rm -f ${MODBUILDDIR}/des; mkdir -p ${MODBUILDDIR}/des && cd ${MODBUILDDIR}/des && ln -s -f ${LIBRESWANSRCDIR}/linux/net/ipsec/des/* . && ln -s -f Makefile.fs2_6 Makefile)
-- (rm -f ${MODBUILDDIR}/aes; mkdir -p ${MODBUILDDIR}/aes && cd ${MODBUILDDIR}/aes && ln -s -f ${LIBRESWANSRCDIR}/linux/net/ipsec/aes/* . && ln -s -f Makefile.fs2_6 Makefile)
-- mkdir -p ${MODBUILDDIR}/aes
-- cp ${LIBRESWANSRCDIR}/packaging/makefiles/module.make ${MODBUILDDIR}/Makefile
-- ln -s -f ${LIBRESWANSRCDIR}/linux/net/ipsec/match*.S ${MODBUILDDIR}
--
--module26:
-- @if [ -f ${KERNELSRC}/Rules.make ] ; then \ echo "Warning: Building for a 2.6+ kernel in what looks like a 2.4 tree"; \
-- fi ; \
-- ${MAKE} ${MODBUILDDIR}/Makefile
-- ${MAKE} -C ${KERNELSRC} ${KERNELBUILDMFLAGS} BUILDDIR=${MODBUILDDIR} SUBDIRS=${MODBUILDDIR} INITSYSTEM=$(INITSYSTEM) MODULE_DEF_INCLUDE=${MODULE_DEF_INCLUDE} MODULE_DEFCONFIG=${MODULE_DEFCONFIG} MODULE_EXTRA_INCLUDE=${MODULE_EXTRA_INCLUDE} ARCH=${ARCH} V=${V} modules
-- @echo
-- @echo '========================================================='
-- @echo
-- @echo 'KLIPS module built successfully. '
-- @echo ipsec.ko is in ${MODBUILDDIR}
-- @echo
-- @(cd ${MODBUILDDIR}; ls -l ipsec.ko)
-- @(cd ${MODBUILDDIR}; size ipsec.ko)
-- @echo
-- @echo 'use make minstall as root to install it'
-- @echo
-- @echo '========================================================='
-- @echo
--
--mod26clean module26clean:
-- rm -rf ${MODBUILDDIR}
--
--# module-only install, with error checks
--minstall26:
-- $(call osmodlib-from-make,-C $(KERNELSRC) -p help) ; \
-- if [ -z "$$OSMODLIB" ] ; then \
-- $(call osmodlib-from-make,-C $(KERNELSRC) -n -p modules_install) ; \
-- fi ; \
-- if [ -z "$$OSMODLIB" ] ; then \
-- echo "No known place to install module. Aborting." ; \
-- exit 93 ; \
-- fi ; \
-- set -x ; \
-- mkdir -p $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
-- cp $(MODBUILDDIR)/ipsec.ko $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
-- if [ -f /sbin/depmod ] ; then \
-- /sbin/depmod -a ; \
-- fi ; \
-- if [ -n "$(OSMOD_DESTDIR)" ] ; then \
-- mkdir -p $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
-- if [ -f $$OSMODLIB/kernel/ipsec.ko -a -f $$OSMODLIB/kernel/$(OSMOD_DESTDIR)/ipsec.ko ] ; then \
-- echo "WARNING: two ipsec.ko modules found in $$OSMODLIB/kernel:" ; \
-- ls -l $$OSMODLIB/kernel/ipsec.ko $$OSMODLIB/kernel/$(OSMOD_DESTDIR)/ipsec.ko ; \
-- exit 1; \
-- fi ; \
-- fi
--
--
--else
--module26:
-- echo 'Building in place is no longer supported. Please set MODBUILDDIR='
-- exit 1
--
--endif
--
--# kernel install, with error checks
--kinstall:
-- rm -f out.kinstall
-- >out.kinstall
-- # undocumented kernel folklore: modules_install must precede install (observed on RHL8.0)
-- @if egrep -q '^CONFIG_MODULES=y' $(KCFILE) ; \
-- then set -x ; \
-- ( cd $(KERNELSRC) ; \
-- $(MAKE) $(KERNMAKEOPTS) modules_install 2>&1 ) | tee -a out.kinstall ; \
-- fi
-- ( cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) install ) 2>&1 | tee -a out.kinstall
-- ${ERRCHECK} out.kinstall
--
--kernelpatch3 kernelpatch3.5 kernelpatch2.6 kernelpatch:
-- packaging/utils/kernelpatch 2.6
--
--kernelpatch2.4:
-- packaging/utils/kernelpatch 2.4
--
--nattpatch:
-- if [ -f ${KERNELSRC}/Makefile ]; then \
-- ${MAKE} nattpatch${KERNELREL}; \
-- else echo "Cannot determine Linux kernel version. Perhaps you need to set KERNELSRC? (eg: export KERNELSRC=/usr/src/linux-`uname -r`/)"; exit 1; \
-- fi;
--
--sarefpatch2.6:
-- #cat patches/kernel/2.6.38/0001-SAREF-add-support-for-SA-selection-through-sendmsg.patch
-- #packaging/utils/sarefpatch 2.6
-- echo ""
--
--nattpatch2.6:
-- packaging/utils/nattpatch 2.6
--
--nattpatch2.4:
-- packaging/utils/nattpatch 2.4
--
--nattupdate:
-- (cd UMLPOOL && diff -u plain26/net/ipv4/udp.c.orig plain26/net/ipv4/udp.c; exit 0) >nat-t/net/ipv4/udp.c.os2_6.patch
--
--# take all the patches out of the kernel
--# (Note, a couple of files are modified by non-patch means; they are
--# included in "make backup".)
--unpatch:
-- @echo \"make unpatch\" is obsolete. See make unapplypatch.
-- exit 1
--
--_unpatch:
-- for f in `find $(KERNELSRC)/. -name '*.preipsec' -print` ; \
-- do \
-- echo "restoring $$f:" ; \
-- dir=`dirname $$f` ; \
-- core=`basename $$f .preipsec` ; \
-- cd $$dir ; \
-- mv -f $$core.preipsec $$core ; \
-- rm -f $$core.wipsec $$core.ipsecmd5 ; \
-- done
--
--# at the moment there is no difference between snapshot and release build
--snapready: buildready
--relready: buildready
--ready: devready
-
- # set up for build
- buildready:
-@@ -604,13 +173,6 @@ deb:
- #debuild -S -sa
- @echo "to build optional KLIPS kernel module, run make deb-klips"
-
--deb-klips:
-- sudo module-assistant prepare -u .
-- sudo dpkg -i ../libreswan-modules-source_`make -s showdebversion`_all.deb
-- sudo module-assistant -u . prepare
-- sudo module-assistant -u . build libreswan
--
--
- release:
- packaging/utils/makerelease
-
-@@ -654,3 +216,5 @@ install-fipshmac:
- include ${LIBRESWANSRCDIR}/mk/docker-targets.mk
- include ${LIBRESWANSRCDIR}/mk/kvm-targets.mk
- include ${LIBRESWANSRCDIR}/mk/web-targets.mk
-+include ${LIBRESWANSRCDIR}/mk/kernel.mk
-+
-diff --git a/mk/kernel.mk b/mk/kernel.mk
-new file mode 100644
-index 0000000000..187167d440
---- /dev/null
-+++ b/mk/kernel.mk
-@@ -0,0 +1,468 @@
-+# Libreswan master makefile
-+#
-+# Copyright (C) 1998-2002 Henry Spencer.
-+# Copyright (C) 2003-2004 Xelerance Corporation
-+# Copyright (C) 2017, Richard Guy Briggs <rgb@tricolour.ca>
-+# Copyright (C) 2015-2018 Andrew Cagney
-+#
-+# This program is free software; you can redistribute it and/or modify it
-+# under the terms of the GNU General Public License as published by the
-+# Free Software Foundation; either version 2 of the License, or (at your
-+# option) any later version. See <https://www.gnu.org/licenses/gpl2.txt>.
-+#
-+# This program is distributed in the hope that it will be useful, but
-+# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-+# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-+# for more details.
-+#
-+
-+PATCHES=linux
-+# where KLIPS goes in the kernel
-+# note, some of the patches know the last part of this path
-+KERNELKLIPS=$(KERNELSRC)/net/ipsec
-+KERNELCRYPTODES=$(KERNELSRC)/crypto/ciphers/des
-+KERNELLIBFREESWAN=$(KERNELSRC)/lib/libfreeswan
-+KERNELLIBZLIB=$(KERNELSRC)/lib/zlib
-+KERNELINCLUDE=$(KERNELSRC)/include
-+
-+MAKEUTILS=packaging/utils
-+ERRCHECK=${MAKEUTILS}/errcheck
-+KVUTIL=${MAKEUTILS}/kernelversion
-+KVSHORTUTIL=${MAKEUTILS}/kernelversion-short
-+
-+# kernel details
-+# what variant of our patches should we use, and where is it
-+KERNELREL=$(shell ${KVSHORTUTIL} ${KERNELSRC}/Makefile)
-+
-+# directories visited by all recursion
-+
-+# declaration for make's benefit
-+.PHONY: def insert kpatch patches _patches _patches2.4 \
-+ klipsdefaults programs man install \
-+ precheck verset confcheck kernel \
-+ module module24 module26 kinstall minstall minstall24 minstall26 \
-+ moduleclean mod24clean module24clean mod26clean module26clean \
-+ backup unpatch uninstall \
-+ check \
-+
-+kpatch: unapplypatch applypatch klipsdefaults
-+npatch: unapplynpatch applynpatch
-+sarefpatch: unapplysarefpatch applysarefpatch
-+
-+unapplypatch:
-+ @echo "info: making unapplypatch in `pwd` and KERNELSRC=\"${KERNELSRC}\";"
-+ -@if [ -f ${KERNELSRC}/libreswan.patch ]; then \
-+ echo Undoing previous patches; \
-+ cat ${KERNELSRC}/libreswan.patch | (cd ${KERNELSRC} && patch -p1 -R --force -E -z .preipsec --reverse --ignore-whitespace ); \
-+ fi
-+
-+applypatch:
-+ @echo "info: Now performing forward patches in `pwd`";
-+ ${MAKE} kernelpatch${KERNELREL} | tee ${KERNELSRC}/libreswan.patch | (cd ${KERNELSRC} && patch -p1 -b -z .preipsec --forward --ignore-whitespace )
-+
-+unapplynpatch:
-+ @echo "info: making unapplynpatch (note the second N) in `pwd`";
-+ -@if [ -f ${KERNELSRC}/natt.patch ]; then \
-+ echo Undoing previous NAT patches; \
-+ cat ${KERNELSRC}/natt.patch | (cd ${KERNELSRC} && patch -p1 -R --force -E -z .preipsec --reverse --ignore-whitespace ); \
-+ fi
-+
-+applynpatch:
-+ @echo "info: Now performing forward NAT patches in `pwd`";
-+ ${MAKE} nattpatch${KERNELREL} | tee ${KERNELSRC}/natt.patch | (cd ${KERNELSRC} && patch -p1 -b -z .preipsec --forward --ignore-whitespace )
-+
-+unapplysarefpatch:
-+ @echo "info: making unapplysarefpatch in `pwd`";
-+ -@if [ -f ${KERNELSRC}/saref.patch ]; then \
-+ echo Undoing previous saref patches; \
-+ cat ${KERNELSRC}/saref.patch | (cd ${KERNELSRC} && patch -p1 -R --force -E -z .preng --reverse --ignore-whitespace ); \
-+ fi
-+
-+applysarefpatch:
-+ @echo "info: Now performing SAref patches in `pwd`";
-+ ${MAKE} sarefpatch${KERNELREL} | tee ${KERNELSRC}/klipsng.patch | (cd ${KERNELSRC} && patch -p1 -b -z .preng --forward --ignore-whitespace )
-+
-+# patch kernel
-+PATCHER=packaging/utils/patcher
-+
-+_patches:
-+ echo "===============" >>out.kpatch
-+ echo "`date` `cd $(KERNELSRC) ; pwd`" >>out.kpatch
-+ $(MAKE) __patches$(KERNELREL) >>out.kpatch
-+
-+# Linux-2.4.0 version
-+__patches2.4:
-+ @$(PATCHER) -v -c $(KERNELSRC) Documentation/Configure.help \
-+ 'CONFIG_KLIPS' $(PATCHES)/Documentation/Configure.help.fs2_2.patch
-+ @$(PATCHER) -v $(KERNELSRC) net/Config.in \
-+ 'CONFIG_KLIPS' $(PATCHES)/net/Config.in.fs2_4.patch
-+ @$(PATCHER) -v $(KERNELSRC) net/Makefile \
-+ 'CONFIG_KLIPS' $(PATCHES)/net/Makefile.fs2_4.patch
-+ @$(PATCHER) -v $(KERNELSRC) net/ipv4/af_inet.c \
-+ 'CONFIG_KLIPS' $(PATCHES)/net/ipv4/af_inet.c.fs2_4.patch
-+ @$(PATCHER) -v $(KERNELSRC) net/ipv4/udp.c \
-+ 'CONFIG_KLIPS' $(PATCHES)/net/ipv4/udp.c.fs2_4.patch
-+ @$(PATCHER) -v $(KERNELSRC) include/net/sock.h \
-+ 'CONFIG_KLIPS' $(PATCHES)/include/net/sock.h.fs2_4.patch
-+# Removed patches, will unpatch automatically.
-+ @$(PATCHER) -v $(KERNELSRC) include/linux/proc_fs.h
-+ @$(PATCHER) -v $(KERNELSRC) net/core/dev.c
-+ @$(PATCHER) -v $(KERNELSRC) net/ipv4/protocol.c
-+ @$(PATCHER) -v $(KERNELSRC) drivers/net/Space.c
-+ @$(PATCHER) -v $(KERNELSRC) include/linux/netlink.h
-+ @$(PATCHER) -v $(KERNELSRC) net/netlink/af_netlink.c
-+ @$(PATCHER) -v $(KERNELSRC) net/netlink/netlink_dev.c
-+ @$(PATCHER) -v $(KERNELSRC) drivers/isdn/isdn_net.c
-+
-+klipsdefaults:
-+ @KERNELDEFCONFIG=$(KERNELSRC)/arch/$(ARCH)/defconfig ; \
-+ KERNELCONFIG=$(KCFILE) ; \
-+ if ! egrep -q 'CONFIG_KLIPS' $$KERNELDEFCONFIG ; \
-+ then \
-+ set -x ; \
-+ cp -a $$KERNELDEFCONFIG $$KERNELDEFCONFIG.orig ; \
-+ chmod u+w $$KERNELDEFCONFIG ; \
-+ cat $$KERNELDEFCONFIG $(KERNELKLIPS)/defconfig \
-+ >$$KERNELDEFCONFIG.tmp ; \
-+ rm -f $$KERNELDEFCONFIG ; \
-+ cp -a $$KERNELDEFCONFIG.tmp $$KERNELDEFCONFIG ; \
-+ rm -f $$KERNELDEFCONFIG.tmp ; \
-+ fi ; \
-+ if ! egrep -q 'CONFIG_KLIPS' $$KERNELCONFIG ; \
-+ then \
-+ set -x ; \
-+ cp -a $$KERNELCONFIG $$KERNELCONFIG.orig ; \
-+ chmod u+w $$KERNELCONFIG ; \
-+ cat $$KERNELCONFIG $(KERNELKLIPS)/defconfig \
-+ >$$KERNELCONFIG.tmp ; \
-+ rm -f $$KERNELCONFIG ; \
-+ cp -a $$KERNELCONFIG.tmp $$KERNELCONFIG ; \
-+ rm -f $$KERNELCONFIG.tmp ; \
-+ fi
-+
-+
-+local-clean-base: moduleclean
-+distclean: moduleclean module24clean module26clean clean-kvm-keys
-+
-+# proxies for major kernel make operations
-+
-+# do-everything entries
-+KINSERT_PRE=precheck verset insert
-+PRE=precheck verset kpatch
-+POST=confcheck programs kernel install
-+MPOST=confcheck programs module install
-+
-+# preliminaries
-+precheck:
-+ @if test ! -d $(KERNELSRC) -a ! -L $(KERNELSRC) ; \
-+ then \
-+ echo '*** cannot find directory "$(KERNELSRC)"!!' ; \
-+ echo '*** may be necessary to add symlink to kernel source' ; \
-+ exit 1 ; \
-+ fi
-+ @if ! cd $(KERNELSRC) ; \
-+ then \
-+ echo '*** cannot "cd $(KERNELSRC)"!!' ; \
-+ echo '*** may be necessary to add symlink to kernel source' ; \
-+ exit 1 ; \
-+ fi
-+ @if test ! -f $(KCFILE) ; \
-+ then \
-+ echo '*** cannot find "$(KCFILE)"!!' ; \
-+ echo '*** perhaps kernel has never been configured?' ; \
-+ echo '*** please do that first; the results are necessary.' ; \
-+ exit 1 ; \
-+ fi
-+ @if test ! -f $(VERFILE) ; \
-+ then \
-+ echo '*** cannot find "$(VERFILE)"!!' ; \
-+ echo '*** perhaps kernel has never been compiled?' ; \
-+ echo '*** please do that first; the results are necessary.' ; \
-+ exit 1 ; \
-+ fi
-+
-+# configuring (exit statuses disregarded, something fishy here sometimes)
-+xcf:
-+ -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) xconfig
-+mcf:
-+ -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) menuconfig
-+pcf:
-+ -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) config
-+
-+ocf:
-+ -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) oldconfig
-+
-+rcf:
-+ cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) ${NONINTCONFIG} </dev/null
-+ cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) dep >/dev/null
-+
-+kclean:
-+ -cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) clean
-+
-+confcheck:
-+ @if test ! -f $(KCFILE) ; \
-+ then echo '*** no kernel configuration file written!!' ; exit 1 ; \
-+ fi
-+ @if ! egrep -q '^CONFIG_KLIPS=[my]' $(KCFILE) ; \
-+ then echo '*** IPsec not in kernel config ($(KCFILE))!!' ; exit 1 ; \
-+ fi
-+ @if ! egrep -q 'CONFIG_KLIPS[ ]+1' $(ACFILE) && \
-+ ! egrep -q 'CONFIG_KLIPS_MODULE[ ]+1' $(ACFILE) ; \
-+ then echo '*** IPsec in kernel config ($(KCFILE)),' ; \
-+ echo '*** but not in config header file ($(ACFILE))!!' ; \
-+ exit 1 ; \
-+ fi
-+ @if egrep -q '^CONFIG_KLIPS=m' $(KCFILE) && \
-+ ! egrep -q '^CONFIG_MODULES=y' $(KCFILE) ; \
-+ then echo '*** IPsec configured as module in kernel with no module support!!' ; exit 1 ; \
-+ fi
-+ @if ! egrep -q 'CONFIG_KLIPS_AH[ ]+1' $(ACFILE) && \
-+ ! egrep -q 'CONFIG_KLIPS_ESP[ ]+1' $(ACFILE) ; \
-+ then echo '*** IPsec configuration must include AH or ESP!!' ; exit 1 ; \
-+ fi
-+
-+# kernel building, with error checks
-+kernel:
-+ rm -f out.kbuild out.kinstall
-+ # undocumented kernel folklore: clean BEFORE dep.
-+ # we run make dep separately, because there is no point in running ERRCHECK
-+ # on the make dep output.
-+ # see LKML thread "clean before or after dep?"
-+ ( cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) $(KERNCLEAN) $(KERNDEP) )
-+ ( cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) $(KERNEL) ) 2>&1 | tee out.kbuild
-+ @if egrep -q '^CONFIG_MODULES=y' $(KCFILE) ; \
-+ then set -x ; \
-+ ( cd $(KERNELSRC) ; \
-+ $(MAKE) $(KERNMAKEOPTS) modules 2>&1 ) | tee -a out.kbuild ; \
-+ fi
-+ ${ERRCHECK} out.kbuild
-+
-+# module-only building, with error checks
-+ifneq ($(strip $(MOD24BUILDDIR)),)
-+${MOD24BUILDDIR}/Makefile : ${LIBRESWANSRCDIR}/packaging/makefiles/module24.make
-+ mkdir -p ${MOD24BUILDDIR}
-+ cp ${LIBRESWANSRCDIR}/packaging/makefiles/module24.make ${MOD24BUILDDIR}/Makefile
-+
-+module:
-+ @if [ -f ${KERNELSRC}/README.libreswan-2 ] ; then \
-+ echo "WARNING: Kernel source ${KERNELSRC} has already been patched with libreswan-2, out of tree build might fail!"; \
-+ fi;
-+ @if [ -f ${KERNELSRC}/README.openswan ] ; then \
-+ echo "WARNING: Kernel source ${KERNELSRC} has already been patched with openswan, out of tree build might fail!"; \
-+ fi;
-+ @if [ -f ${KERNELSRC}/README.openswan-2 ] ; then \
-+ echo "WARNING: Kernel source ${KERNELSRC} has already been patched with openswan-2, out of tree build might fail!"; \
-+ fi;
-+ @if [ -f ${KERNELSRC}/README.freeswan ] ; then \
-+ echo "ERROR: Kernel source ${KERNELSRC} has already been patched with freeswan, out of tree build will fail!"; \
-+ fi;
-+ @if [ -f ${KERNELSRC}/Rules.make ] ; then \
-+ echo "Building module for a 2.4 kernel"; ${MAKE} module24 ; \
-+ else echo "Building module for a 2.6 kernel"; ${MAKE} module26; \
-+ fi;
-+
-+modclean moduleclean:
-+ @if [ -f ${KERNELSRC}/Rules.make ] ; then \
-+ echo "Cleaning module for a 2.4 kernel"; ${MAKE} module24clean ; \
-+ else echo "Cleaning module for a 2.6 kernel"; ${MAKE} module26clean; \
-+ fi;
-+
-+module24:
-+ @if [ ! -f ${KERNELSRC}/Rules.make ] ; then \
-+ echo "Warning: Building for a 2.4 kernel in what looks like a 2.6 tree"; \
-+ fi ; \
-+ ${MAKE} ${MOD24BUILDDIR}/Makefile
-+ ${MAKE} -C ${MOD24BUILDDIR} LIBRESWANSRCDIR=${LIBRESWANSRCDIR} ARCH=${ARCH} V=${V} ${MODULE_FLAGS} MODULE_DEF_INCLUDE=${MODULE_DEF_INCLUDE} TOPDIR=${KERNELSRC} -f Makefile ipsec.o
-+ @echo
-+ @echo '========================================================='
-+ @echo
-+ @echo 'KLIPS24 module built successfully. '
-+ @echo ipsec.o is in ${MOD24BUILDDIR}
-+ @echo
-+ @(cd ${MOD24BUILDDIR}; ls -l ipsec.o)
-+ @(cd ${MOD24BUILDDIR}; size ipsec.o)
-+ @echo
-+ @echo 'use make minstall as root to install it'
-+ @echo
-+ @echo '========================================================='
-+ @echo
-+
-+mod24clean module24clean:
-+ rm -rf ${MOD24BUILDDIR}
-+
-+#autoodetect 2.4 and 2.6
-+module_install minstall install-module:
-+ @if [ -f $(KERNELSRC)/Rules.make ] ; then \
-+ $(MAKE) minstall24 ; \
-+ else \
-+ $(MAKE) minstall26 ; \
-+ fi;
-+
-+# Extract the value of MODLIB from the output of $(MAKE). Also hide
-+# the sup-process $(MAKE) so that GNU Make doesn't always invoke the
-+# target ("make -n" ignored).
-+#
-+# If $(MAKE) directly appears in a target (for instance in minstall26)
-+# then GNU Make will assume that it is a recursive make invocation and
-+# invoke the target regardless of -n.
-+#
-+# XXX: minstall24 should also use this.
-+
-+osmodlib-from-make = \
-+ OSMODLIB=$$($(MAKE) $(1) 2>/dev/null | sed -n -e 's/^MODLIB[ :=]*\([^;]*\).*/\1/p' | head -1) ; \
-+ test -z "$$OSMODLIB" || echo "OSMODLIB=$$OSMODLIB ($(MAKE) $(1))"
-+
-+# module-only install, with error checks
-+minstall24:
-+ ( OSMODLIB=`${MAKE} -C $(KERNELSRC) -p dummy | ( sed -n -e '/^MODLIB/p' -e '/^MODLIB/q' ; cat > /dev/null ) | sed -e 's/^MODLIB[ :=]*\([^;]*\).*/\1/'` ; \
-+ if [ -z "$$OSMODLIB" ] ; then \
-+ OSMODLIB=`${MAKE} -C $(KERNELSRC) -n -p modules_install | ( sed -n -e '/^MODLIB/p' -e '/^MODLIB/q' ; cat > /dev/null ) | sed -e 's/^MODLIB[ :=]*\([^;]*\).*/\1/'` ; \
-+ fi ; \
-+ if [ -z "$$OSMODLIB" ] ; then \
-+ echo "No known place to install module. Aborting." ; \
-+ exit 93 ; \
-+ fi ; \
-+ set -x ; \
-+ mkdir -p $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
-+ cp $(MOD24BUILDDIR)/ipsec.o $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
-+ if [ -f /sbin/depmod ] ; then /sbin/depmod -a ; fi; \
-+ if [ -n "$(OSMOD_DESTDIR)" ] ; then \
-+ mkdir -p $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
-+ if [ -f $$OSMODLIB/kernel/ipsec.o -a -f $$OSMODLIB/kernel/$(OSMOD_DESTDIR)/ipsec.o ] ; then \
-+ echo "WARNING: two ipsec.o modules found in $$OSMODLIB/kernel:" ; \
-+ ls -l $$OSMODLIB/kernel/ipsec.o $$OSMODLIB/kernel/$(OSMOD_DESTDIR)/ipsec.o ; \
-+ exit 1; \
-+ fi ; \
-+ fi ; \
-+ set -x ) ;
-+
-+
-+else
-+module:
-+ echo 'Building in place is no longer supported. Please set MOD24BUILDDIR='
-+ exit 1
-+
-+endif
-+
-+# module-only building, with error checks
-+ifneq ($(strip $(MODBUILDDIR)),)
-+${MODBUILDDIR}/Makefile : ${LIBRESWANSRCDIR}/packaging/makefiles/module.make
-+ mkdir -p ${MODBUILDDIR}
-+ echo ln -s -f ${LIBRESWANSRCDIR}/linux/net/ipsec/des/*.S ${MODBUILDDIR}
-+ (rm -f ${MODBUILDDIR}/des; mkdir -p ${MODBUILDDIR}/des && cd ${MODBUILDDIR}/des && ln -s -f ${LIBRESWANSRCDIR}/linux/net/ipsec/des/* . && ln -s -f Makefile.fs2_6 Makefile)
-+ (rm -f ${MODBUILDDIR}/aes; mkdir -p ${MODBUILDDIR}/aes && cd ${MODBUILDDIR}/aes && ln -s -f ${LIBRESWANSRCDIR}/linux/net/ipsec/aes/* . && ln -s -f Makefile.fs2_6 Makefile)
-+ mkdir -p ${MODBUILDDIR}/aes
-+ cp ${LIBRESWANSRCDIR}/packaging/makefiles/module.make ${MODBUILDDIR}/Makefile
-+ ln -s -f ${LIBRESWANSRCDIR}/linux/net/ipsec/match*.S ${MODBUILDDIR}
-+
-+module26:
-+ @if [ -f ${KERNELSRC}/Rules.make ] ; then \ echo "Warning: Building for a 2.6+ kernel in what looks like a 2.4 tree"; \
-+ fi ; \
-+ ${MAKE} ${MODBUILDDIR}/Makefile
-+ ${MAKE} -C ${KERNELSRC} ${KERNELBUILDMFLAGS} BUILDDIR=${MODBUILDDIR} SUBDIRS=${MODBUILDDIR} INITSYSTEM=$(INITSYSTEM) MODULE_DEF_INCLUDE=${MODULE_DEF_INCLUDE} MODULE_DEFCONFIG=${MODULE_DEFCONFIG} MODULE_EXTRA_INCLUDE=${MODULE_EXTRA_INCLUDE} ARCH=${ARCH} V=${V} modules
-+ @echo
-+ @echo '========================================================='
-+ @echo
-+ @echo 'KLIPS module built successfully. '
-+ @echo ipsec.ko is in ${MODBUILDDIR}
-+ @echo
-+ @(cd ${MODBUILDDIR}; ls -l ipsec.ko)
-+ @(cd ${MODBUILDDIR}; size ipsec.ko)
-+ @echo
-+ @echo 'use make minstall as root to install it'
-+ @echo
-+ @echo '========================================================='
-+ @echo
-+
-+mod26clean module26clean:
-+ rm -rf ${MODBUILDDIR}
-+
-+# module-only install, with error checks
-+minstall26:
-+ $(call osmodlib-from-make,-C $(KERNELSRC) -p help) ; \
-+ if [ -z "$$OSMODLIB" ] ; then \
-+ $(call osmodlib-from-make,-C $(KERNELSRC) -n -p modules_install) ; \
-+ fi ; \
-+ if [ -z "$$OSMODLIB" ] ; then \
-+ echo "No known place to install module. Aborting." ; \
-+ exit 93 ; \
-+ fi ; \
-+ set -x ; \
-+ mkdir -p $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
-+ cp $(MODBUILDDIR)/ipsec.ko $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
-+ if [ -f /sbin/depmod ] ; then \
-+ /sbin/depmod -a ; \
-+ fi ; \
-+ if [ -n "$(OSMOD_DESTDIR)" ] ; then \
-+ mkdir -p $$OSMODLIB/kernel/$(OSMOD_DESTDIR) ; \
-+ if [ -f $$OSMODLIB/kernel/ipsec.ko -a -f $$OSMODLIB/kernel/$(OSMOD_DESTDIR)/ipsec.ko ] ; then \
-+ echo "WARNING: two ipsec.ko modules found in $$OSMODLIB/kernel:" ; \
-+ ls -l $$OSMODLIB/kernel/ipsec.ko $$OSMODLIB/kernel/$(OSMOD_DESTDIR)/ipsec.ko ; \
-+ exit 1; \
-+ fi ; \
-+ fi
-+
-+
-+else
-+module26:
-+ echo 'Building in place is no longer supported. Please set MODBUILDDIR='
-+ exit 1
-+
-+endif
-+
-+# kernel install, with error checks
-+kinstall:
-+ rm -f out.kinstall
-+ >out.kinstall
-+ # undocumented kernel folklore: modules_install must precede install (observed on RHL8.0)
-+ @if egrep -q '^CONFIG_MODULES=y' $(KCFILE) ; \
-+ then set -x ; \
-+ ( cd $(KERNELSRC) ; \
-+ $(MAKE) $(KERNMAKEOPTS) modules_install 2>&1 ) | tee -a out.kinstall ; \
-+ fi
-+ ( cd $(KERNELSRC) ; $(MAKE) $(KERNMAKEOPTS) install ) 2>&1 | tee -a out.kinstall
-+ ${ERRCHECK} out.kinstall
-+
-+kernelpatch3 kernelpatch3.5 kernelpatch2.6 kernelpatch:
-+ packaging/utils/kernelpatch 2.6
-+
-+kernelpatch2.4:
-+ packaging/utils/kernelpatch 2.4
-+
-+nattpatch:
-+ if [ -f ${KERNELSRC}/Makefile ]; then \
-+ ${MAKE} nattpatch${KERNELREL}; \
-+ else echo "Cannot determine Linux kernel version. Perhaps you need to set KERNELSRC? (eg: export KERNELSRC=/usr/src/linux-`uname -r`/)"; exit 1; \
-+ fi;
-+
-+sarefpatch2.6:
-+ #cat patches/kernel/2.6.38/0001-SAREF-add-support-for-SA-selection-through-sendmsg.patch
-+ #packaging/utils/sarefpatch 2.6
-+ echo ""
-+
-+nattpatch2.6:
-+ packaging/utils/nattpatch 2.6
-+
-+nattpatch2.4:
-+ packaging/utils/nattpatch 2.4
-+
-+nattupdate:
-+ (cd UMLPOOL && diff -u plain26/net/ipv4/udp.c.orig plain26/net/ipv4/udp.c; exit 0) >nat-t/net/ipv4/udp.c.os2_6.patch
-+
-+# take all the patches out of the kernel
-+# (Note, a couple of files are modified by non-patch means; they are
-+# included in "make backup".)
-+unpatch:
-+ @echo \"make unpatch\" is obsolete. See make unapplypatch.
-+ exit 1
-+
-+_unpatch:
-+ for f in `find $(KERNELSRC)/. -name '*.preipsec' -print` ; \
-+ do \
-+ echo "restoring $$f:" ; \
-+ dir=`dirname $$f` ; \
-+ core=`basename $$f .preipsec` ; \
-+ cd $$dir ; \
-+ mv -f $$core.preipsec $$core ; \
-+ rm -f $$core.wipsec $$core.ipsecmd5 ; \
-+ done
+++ /dev/null
-From fa00316e8c5151747f3e80895e6afd9ee1a9c0cd Mon Sep 17 00:00:00 2001
-From: Andrew Cagney <cagney@gnu.org>
-Date: Thu, 25 Oct 2018 21:02:45 -0400
-Subject: [PATCH] building: when !USE_KLIPS=true cripple klips kernel module
- rules
-
----
- Makefile | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 0b070966e6..2fcf0229fd 100644
---- a/Makefile
-+++ b/Makefile
-@@ -216,5 +216,6 @@ install-fipshmac:
- include ${LIBRESWANSRCDIR}/mk/docker-targets.mk
- include ${LIBRESWANSRCDIR}/mk/kvm-targets.mk
- include ${LIBRESWANSRCDIR}/mk/web-targets.mk
-+ifeq ($(USE_KLIPS),true)
- include ${LIBRESWANSRCDIR}/mk/kernel.mk
--
-+endif
include $(TOPDIR)/rules.mk
PKG_NAME:=mDNSResponder
-PKG_VERSION:=878.200.35
+PKG_VERSION:=IETF104
PKG_RELEASE:=1
PKG_SOURCE:=mDNSResponder-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://opensource.apple.com/tarballs/mDNSResponder/
-PKG_HASH:=e777b4d7dbf5eb1552cb80090ad1ede319067ab6e45e3990d68aabf6e8b3f5a0
+PKG_SOURCE_URL:=https://opensource.apple.com/tarballs/mDNSResponder/IETF/
+PKG_HASH:=b3a76fd35cf2d561546c2fbeaea1e5998b7e04b8330afb918ea5fbdeb202162c
PKG_MAINTAINER:=
PKG_LICENSE:=Apache-2.0
+++ /dev/null
---- a/Clients/Makefile
-+++ b/Clients/Makefile
-@@ -27,6 +27,8 @@
-
- #############################################################################
-
-+CC = @cc
-+
- # On OS X the dns_sd library functions are included in libSystem, which is implicitly linked with every executable
- # If /usr/lib/libSystem.dylib exists, then we're on OS X, so we don't need also to link the "dns_sd" shared library
- ifneq "$(wildcard /usr/lib/libSystem.dylib)" ""
-@@ -46,10 +48,10 @@ build:
- mkdir build
-
- build/dns-sd: build dns-sd.c ClientCommon.c
-- $(CC) $(filter %.c %.o, $+) $(LIBS) -I../mDNSShared -Wall -o $@
-+ $(CC) $(CFLAGS) $(filter %.c %.o, $+) $(LIBS) -I../mDNSShared -Wall -o $@
-
- build/dns-sd64: build dns-sd.c ClientCommon.c
-- $(CC) $(filter %.c %.o, $+) $(LIBS) -I../mDNSShared -Wall -o $@ -m64
-+ $(CC) $(CFLAGS) $(filter %.c %.o, $+) $(LIBS) -I../mDNSShared -Wall -o $@ -m64
-
- # Note, we can make a 'fat' version of dns-sd using 'lipo', as shown below, but we
- # don't, because we don't want or need a 'fat' version of dns-sd, because it will
---- a/mDNSPosix/Makefile
-+++ b/mDNSPosix/Makefile
-@@ -54,11 +54,12 @@ COREDIR = ../mDNSCore
- SHAREDDIR ?= ../mDNSShared
- JDK = /usr/jdk
-
--CC = @cc
-+CC = @gcc
- BISON = @bison
- FLEX = @flex
- ST = @strip
--LD = ld -shared
-+LD = @ld
-+SOOPTS = -shared
- CP = cp
- RM = rm
- LN = ln -s -f
-@@ -92,7 +93,7 @@ CFLAGS_DEBUG = -O0 -DMDNS_DEBUGMSGS=0
- CFLAGS_OS = -DNOT_HAVE_DAEMON -DNOT_HAVE_SA_LEN -DNOT_HAVE_SOCKLEN_T -DNOT_HAVE_IF_NAMETOINDEX \
- -DLOG_PERROR=0 -D_XPG4_2 -D__EXTENSIONS__ -DHAVE_BROKEN_RECVIF_NAME -DTARGET_OS_SOLARIS
- CC = gcc
--LD = gcc -shared
-+LD = gcc
- LINKOPTS = -lsocket -lnsl -lresolv
- JAVACFLAGS_OS += -I$(JDK)/include/solaris
- ifneq ($(DEBUG),1)
-@@ -149,7 +150,8 @@ -D__MAC_OS_X_VERSION_MIN_REQUIRED=__MAC_OS_X_VERSION_10_4 \
- -DHAVE_STRLCPY=1 \
- -D__APPLE_USE_RFC_2292 #-Wunreachable-code
- CC = gcc
--LD = $(CC) -dynamiclib
-+LD = $(CC)
-+SOOPTS= -dynamiclib
- LINKOPTS = -lSystem
- LDSUFFIX = dylib
- JDK = /System/Library/Frameworks/JavaVM.framework/Home
-@@ -172,8 +174,9 @@ NSSLIBFILE := $(NSSLIBNAME)-$(NSSVERSIO
- NSSLINKNAME := $(NSSLIBNAME).so.2
- NSSINSTPATH := /lib
-
--# If not otherwise defined, we install into /usr/lib and /usr/include
-+# If not otherwise defined, we install into /usr/lib, /usr/include and /etc
- # and our startup script is called mdns (e.g. /etc/init.d/mdns)
-+ETCBASE?=/etc
- INSTBASE?=/usr
- STARTUPSCRIPTNAME?=mdns
-
-@@ -259,7 +262,7 @@ libdns_sd: setup $(BUILDDIR)/libdns_sd.$
- CLIENTLIBOBJS = $(OBJDIR)/dnssd_clientlib.c.so.o $(OBJDIR)/dnssd_clientstub.c.so.o $(OBJDIR)/dnssd_ipc.c.so.o
-
- $(BUILDDIR)/libdns_sd.$(LDSUFFIX): $(CLIENTLIBOBJS)
-- @$(LD) $(LINKOPTS) -o $@ $+
-+ @$(LD) $(SOOPTS) $(LINKOPTS) -o $@ $+
- @$(STRIP) $@
-
- Clients: setup libdns_sd ../Clients/build/dns-sd
-@@ -294,7 +297,7 @@ InstalledManPages: $(MANPATH)/man8/mdnsd
- InstalledClients: $(INSTBASE)/bin/dns-sd
- @echo $+ " installed"
-
--InstalledNSS: $(NSSINSTPATH)/$(NSSLINKNAME) /etc/nss_mdns.conf $(MANPATH)/man5/nss_mdns.conf.5 $(MANPATH)/man8/libnss_mdns.8
-+InstalledNSS: $(NSSINSTPATH)/$(NSSLINKNAME) $(ETCBASE)/nss_mdns.conf $(MANPATH)/man5/nss_mdns.conf.5 $(MANPATH)/man8/libnss_mdns.8
- @echo $+ " installed"
-
- # Note: If daemon already installed, we make sure it's stopped before overwriting it
-@@ -347,19 +350,21 @@ $(INSTBASE)/bin/dns-sd: ../Clients/build
-
- $(NSSINSTPATH)/$(NSSLINKNAME): $(NSSINSTPATH)/$(NSSLIBFILE)
- $(LN) $< $@
-- ldconfig
-+ifdef LDCONFIG
-+ $(LDCONFIG)
-+endif
-
- $(NSSINSTPATH)/$(NSSLIBFILE): $(BUILDDIR)/$(NSSLIBFILE)
- $(CP) $< $@
- chmod 444 $@
-
--/etc/nss_mdns.conf: nss_mdns.conf
-+$(ETCBASE)/nss_mdns.conf: nss_mdns.conf
- $(CP) $< $@
- chmod 444 $@
- # Check the nsswitch.conf file.
- # If 'mdns' does not already appear on the "hosts:" line, then add it right before 'dns'
-- cp -f /etc/nsswitch.conf /etc/nsswitch.conf.pre-mdns
-- sed -e '/mdns/!s/^\(hosts:.*\)dns\(.*\)/\1mdns dns\2/' /etc/nsswitch.conf.pre-mdns > /etc/nsswitch.conf
-+ -[ -f $(ETCBASE)/nsswitch.conf ] && cp -f $(ETCBASE)/nsswitch.conf $(ETCBASE)/nsswitch.conf.pre-mdns
-+ -[ -f $(ETCBASE)/nsswitch.conf ] && sed -e '/mdns/!s/^\(hosts:.*\)dns\(.*\)/\1mdns dns\2/' $(ETCBASE)/nsswitch.conf.pre-mdns > $(ETCBASE)/nsswitch.conf
-
- #############################################################################
+++ /dev/null
-diff --git a/Clients/Makefile b/Clients/Makefile
-index 383af31..925c20e 100755
---- a/Clients/Makefile
-+++ b/Clients/Makefile
-@@ -36,7 +36,7 @@ TARGETS = build/dns-sd build/dns-sd64
- LIBS =
- else
- TARGETS = build/dns-sd
--LIBS = -L../mDNSPosix/build/prod/ -ldns_sd
-+LIBS ?= -L../mDNSPosix/build/prod/ -ldns_sd
- endif
-
- all: $(TARGETS)
-diff --git a/mDNSPosix/PosixDaemon.c b/mDNSPosix/PosixDaemon.c
-index 88b3292..e86a6c7 100644
---- a/mDNSPosix/PosixDaemon.c
-+++ b/mDNSPosix/PosixDaemon.c
-@@ -37,6 +37,11 @@
- #include <fcntl.h>
- #include <pwd.h>
- #include <sys/types.h>
-+#ifdef __linux__
-+#include <sys/capability.h> /* !!! We require libcap-dev for this. Oh well. */
-+/* prctl is required to enable inheriting of capabilities across setuid */
-+#include <sys/prctl.h>
-+#endif /* __linux__ */
-
- #if __APPLE__
- #undef daemon
-@@ -184,16 +189,50 @@ int main(int argc, char **argv)
-
- Reconfigure(&mDNSStorage);
-
-+#ifdef __linux__
-+ /*
-+ * SO_BINDTODEVICE is privileged operation; however, we can get
-+ * around it using capabilities instead of remaining root.
-+ */
-+ if (mStatus_NoError == err)
-+ {
-+ if (prctl(PR_SET_KEEPCAPS, 1, 0, 0, 0) < 0)
-+ perror("prctl PR_SET_KEEPCAPS");
-+ }
-+#endif /* __linux__ */
-+
- // Now that we're finished with anything privileged, switch over to running as "nobody"
- if (mStatus_NoError == err)
- {
- const struct passwd *pw = getpwnam("nobody");
- if (pw != NULL)
-+ {
- setuid(pw->pw_uid);
-+#ifdef __linux__
-+ struct __user_cap_header_struct ch;
-+ struct __user_cap_data_struct cd[_LINUX_CAPABILITY_U32S_3];
-+
-+ memset(&ch, 0, sizeof(ch));
-+ ch.version = _LINUX_CAPABILITY_VERSION_3;
-+ ch.pid = getpid();
-+ memset(&cd[0], 0, sizeof(cd));
-+ /* CAP_NET_RAW is required to use SO_BINDTODEVICE */
-+ int caps = CAP_TO_MASK(CAP_NET_RAW);
-+ cd[0].permitted = caps;
-+ cd[0].effective = caps;
-+ if (capset(&ch, &cd[0]) < 0)
-+ perror("capset");
-+#endif /* __linux__ */
-+ }
- else
- LogMsg("WARNING: mdnsd continuing as root because user \"nobody\" does not exist");
- }
-
-+#ifdef __linux__
-+ if (mStatus_NoError == err)
-+ err = mDNSPlatformPosixRefreshInterfaceList(&mDNSStorage);
-+#endif /* __linux__ */
-+
- if (mStatus_NoError == err)
- err = MainLoop(&mDNSStorage);
-
-diff --git a/mDNSPosix/mDNSPosix.c b/mDNSPosix/mDNSPosix.c
-index 6effa12..7c1d6eb 100755
---- a/mDNSPosix/mDNSPosix.c
-+++ b/mDNSPosix/mDNSPosix.c
-@@ -733,6 +741,29 @@ mDNSlocal int SetupSocket(struct sockaddr *intfAddr, mDNSIPPort port, int interf
- if (err < 0) { err = errno; perror("setsockopt - IP_MULTICAST_TTL"); }
- }
-
-+#ifdef __linux__
-+#ifdef SO_BINDTODEVICE
-+ if (err == 0 && interfaceIndex)
-+ {
-+ char ifname[IFNAMSIZ];
-+ if (if_indextoname(interfaceIndex, ifname))
-+ {
-+ err = setsockopt(*sktPtr, SOL_SOCKET, SO_BINDTODEVICE, ifname, strlen(ifname));
-+ if (err < 0)
-+ {
-+ err = errno;
-+ perror("setsockopt - SO_BINDTODEVICE");
-+ }
-+ }
-+ else
-+ {
-+ err = errno;
-+ perror("if_indextoname");
-+ }
-+ }
-+#endif /* SO_BINDTODEVICE */
-+#endif /* __linux__ */
-+
- // And start listening for packets
- if (err == 0)
- {
-@@ -814,6 +845,29 @@ mDNSlocal int SetupSocket(struct sockaddr *intfAddr, mDNSIPPort port, int interf
- if (err < 0) { err = errno; perror("setsockopt - IPV6_MULTICAST_HOPS"); }
- }
-
-+#ifdef __linux__
-+#ifdef SO_BINDTODEVICE
-+ if (err == 0 && interfaceIndex)
-+ {
-+ char ifname[IFNAMSIZ];
-+ if (if_indextoname(interfaceIndex, ifname))
-+ {
-+ err = setsockopt(*sktPtr, SOL_SOCKET, SO_BINDTODEVICE, ifname, strlen(ifname));
-+ if (err < 0)
-+ {
-+ err = errno;
-+ perror("setsockopt - SO_BINDTODEVICE");
-+ }
-+ }
-+ else
-+ {
-+ err = errno;
-+ perror("if_indextoname");
-+ }
-+ }
-+#endif /* SO_BINDTODEVICE */
-+#endif /* __linux__ */
-+
- // And start listening for packets
- if (err == 0)
- {
-@@ -958,19 +1017,14 @@ mDNSlocal int SetupInterfaceList(mDNS *const m)
- int err = 0;
- struct ifi_info *intfList = get_ifi_info(AF_INET, mDNStrue);
- struct ifi_info *firstLoopback = NULL;
-+ struct ifi_info **p = &intfList;
-
- assert(m != NULL);
- debugf("SetupInterfaceList");
-
-- if (intfList == NULL) err = ENOENT;
--
- #if HAVE_IPV6
-- if (err == 0) /* Link the IPv6 list to the end of the IPv4 list */
-- {
-- struct ifi_info **p = &intfList;
-- while (*p) p = &(*p)->ifi_next;
-- *p = get_ifi_info(AF_INET6, mDNStrue);
-- }
-+ while (*p) p = &(*p)->ifi_next;
-+ *p = get_ifi_info(AF_INET6, mDNStrue);
- #endif
-
- if (err == 0)
-@@ -1046,7 +1100,7 @@ mDNSlocal mStatus OpenIfNotifySocket(int *pFD)
- /* Subscribe the socket to Link & IP addr notifications. */
- mDNSPlatformMemZero(&snl, sizeof snl);
- snl.nl_family = AF_NETLINK;
-- snl.nl_groups = RTMGRP_LINK | RTMGRP_IPV4_IFADDR;
-+ snl.nl_groups = RTMGRP_LINK | RTMGRP_IPV4_IFADDR | RTMGRP_IPV6_IFADDR;
- ret = bind(sock, (struct sockaddr *) &snl, sizeof snl);
- if (0 == ret)
- *pFD = sock;
-@@ -1124,11 +1178,18 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd)
- PrintNetLinkMsg(pNLMsg);
- #endif
-
-+ // this result isn't used anywhere as a number, just as
-+ // non-zero - however, I have seen devices with more than 32
-+ // interfaces at some point..
-+ // (on Linux, every tunnel increases index for example)
-+
- // Process the NetLink message
- if (pNLMsg->nlmsg_type == RTM_GETLINK || pNLMsg->nlmsg_type == RTM_NEWLINK)
-- result |= 1 << ((struct ifinfomsg*) NLMSG_DATA(pNLMsg))->ifi_index;
-+ result |= 1;
-+ // << ((struct ifinfomsg*) NLMSG_DATA(pNLMsg))->ifi_index;
- else if (pNLMsg->nlmsg_type == RTM_DELADDR || pNLMsg->nlmsg_type == RTM_NEWADDR)
-- result |= 1 << ((struct ifaddrmsg*) NLMSG_DATA(pNLMsg))->ifa_index;
-+ result |= 1;
-+ // << ((struct ifaddrmsg*) NLMSG_DATA(pNLMsg))->ifa_index;
-
- // Advance pNLMsg to the next message in the buffer
- if ((pNLMsg->nlmsg_flags & NLM_F_MULTI) != 0 && pNLMsg->nlmsg_type != NLMSG_DONE)
-@@ -1299,8 +1360,12 @@ mDNSexport mStatus mDNSPlatformInit(mDNS *const m)
- if (err == mStatus_NoError) err = SetupSocket(&sa, zeroIPPort, 0, &m->p->unicastSocket6);
- #endif
-
-+ // In Linux case, we can't set up sockets with different owner -
-+ // it blows up SO_REUSEPORT. So we do this step bit later.
-+#ifndef __linux__
- // Tell mDNS core about the network interfaces on this machine.
- if (err == mStatus_NoError) err = SetupInterfaceList(m);
-+#endif /* !__linux__ */
-
- // Tell mDNS core about DNS Servers
- mDNS_Lock(m);
-diff --git a/mDNSPosix/mDNSUNP.c b/mDNSPosix/mDNSUNP.c
-index b392fc7..f551ad5 100755
---- a/mDNSPosix/mDNSUNP.c
-+++ b/mDNSPosix/mDNSUNP.c
-@@ -63,6 +63,7 @@
- #if defined(AF_INET6) && HAVE_IPV6 && HAVE_LINUX
- #include <netdb.h>
- #include <arpa/inet.h>
-+#include <linux/if_addr.h>
-
- /* Converts a prefix length to IPv6 network mask */
- void plen_to_mask(int plen, char *addr) {
-@@ -127,6 +128,8 @@
- nitems = fscanf(fp, ifnameFmt, ifname);
- if (nitems != 1) break;
-
-+ if (flags & IFA_F_DEPRECATED) continue;
-+
- if (strcmp(lastname, ifname) == 0) {
- if (doaliases == 0)
- continue; /* already processed this interface */
-diff --git a/mDNSShared/dnsextd_parser.y b/mDNSShared/dnsextd_parser.y
-index 18c5990..d4b63ce 100644
---- a/mDNSShared/dnsextd_parser.y
-+++ b/mDNSShared/dnsextd_parser.y
-@@ -15,6 +15,8 @@
- * limitations under the License.
- */
-
-+%parse-param { void *context }
-+
- %{
- #include <stdio.h>
- #include <stdlib.h>
-@@ -23,7 +25,7 @@
- #include "DebugServices.h"
- #include "dnsextd.h"
-
--void yyerror( const char* error );
-+void yyerror( void *context, const char* error );
- int yylex(void);
-
-
-@@ -409,7 +419,7 @@ int yywrap(void);
-
- extern int yylineno;
-
--void yyerror( const char *str )
-+void yyerror( void *context, const char *str )
- {
- fprintf( stderr,"%s:%d: error: %s\n", g_filename, yylineno, str );
- }
+++ /dev/null
---- a/Clients/dns-sd.c
-+++ b/Clients/dns-sd.c
-@@ -2281,7 +2281,7 @@ Fail:
-
- // NOT static -- otherwise the compiler may optimize it out
- // The "@(#) " pattern is a special prefix the "what" command looks for
--const char VersionString_SCCS[] = "@(#) dns-sd " STRINGIFY(mDNSResponderVersion) " (" __DATE__ " " __TIME__ ")";
-+const char VersionString_SCCS[] = "@(#) dns-sd " STRINGIFY(mDNSResponderVersion);
-
- #if _BUILDING_XCODE_PROJECT_
- // If the process crashes, then this string will be magically included in the automatically-generated crash log
---- a/mDNSPosix/PosixDaemon.c
-+++ b/mDNSPosix/PosixDaemon.c
-@@ -290,9 +290,9 @@ asm (".desc ___crashreporter_info__, 0x1
-
- // For convenience when using the "strings" command, this is the last thing in the file
- #if mDNSResponderVersion > 1
--mDNSexport const char mDNSResponderVersionString_SCCS[] = "@(#) mDNSResponder-" STRINGIFY(mDNSResponderVersion) " (" __DATE__ " " __TIME__ ")";
-+mDNSexport const char mDNSResponderVersionString_SCCS[] = "@(#) mDNSResponder-" STRINGIFY(mDNSResponderVersion);
- #elif MDNS_VERSIONSTR_NODTS
- mDNSexport const char mDNSResponderVersionString_SCCS[] = "@(#) mDNSResponder (Engineering Build)";
- #else
--mDNSexport const char mDNSResponderVersionString_SCCS[] = "@(#) mDNSResponder (Engineering Build) (" __DATE__ " " __TIME__ ")";
-+mDNSexport const char mDNSResponderVersionString_SCCS[] = "@(#) mDNSResponder (Engineering Build)";
- #endif
---- a/mDNSShared/Java/JNISupport.c
-+++ b/mDNSShared/Java/JNISupport.c
-@@ -1069,4 +1069,4 @@ exit:
-
- // NOT static -- otherwise the compiler may optimize it out
- // The "@(#) " pattern is a special prefix the "what" command looks for
--const char VersionString_SCCS[] = "@(#) libjdns_sd " STRINGIFY(mDNSResponderVersion) " (" __DATE__ " " __TIME__ ")";
-+const char VersionString_SCCS[] = "@(#) libjdns_sd " STRINGIFY(mDNSResponderVersion);
---- a/mDNSShared/dnsextd.c
-+++ b/mDNSShared/dnsextd.c
-@@ -3136,7 +3136,7 @@ mDNS mDNSStorage;
-
- // For convenience when using the "strings" command, this is the last thing in the file
- // The "@(#) " pattern is a special prefix the "what" command looks for
--const char mDNSResponderVersionString_SCCS[] = "@(#) dnsextd " STRINGIFY(mDNSResponderVersion) " (" __DATE__ " " __TIME__ ")";
-+const char mDNSResponderVersionString_SCCS[] = "@(#) dnsextd " STRINGIFY(mDNSResponderVersion);
-
- #if _BUILDING_XCODE_PROJECT_
- // If the process crashes, then this string will be magically included in the automatically-generated crash log
---- a/mDNSShared/dnssd_clientlib.c
-+++ b/mDNSShared/dnssd_clientlib.c
-@@ -363,4 +363,4 @@ DNSServiceErrorType DNSSD_API TXTRecordG
-
- // NOT static -- otherwise the compiler may optimize it out
- // The "@(#) " pattern is a special prefix the "what" command looks for
--const char VersionString_SCCS_libdnssd[] DNSSD_USED = "@(#) libdns_sd " STRINGIFY(mDNSResponderVersion) " (" __DATE__ " " __TIME__ ")";
-+const char VersionString_SCCS_libdnssd[] DNSSD_USED = "@(#) libdns_sd " STRINGIFY(mDNSResponderVersion);
include $(TOPDIR)/rules.mk
PKG_NAME:=mosquitto
-PKG_VERSION:=1.6.2
+PKG_VERSION:=1.6.3
PKG_RELEASE:=1
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE.txt
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://mosquitto.org/files/source/
-PKG_HASH:=33499e78dfa0ca1cb488fd196fde940a66305bdfd44ba763ce2001db2569a08b
+PKG_HASH:=9ef5cc75f4fe31d7bf50654ddf4728ad9e1ae2e5609a4b42ecbbcb4a209ed17e
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
+++ /dev/null
-diff --git a/lib/net_mosq.c b/lib/net_mosq.c
-index 745b170..bdcaa19 100644
---- a/lib/net_mosq.c
-+++ b/lib/net_mosq.c
-@@ -50,6 +50,7 @@ Contributors:
- #include <openssl/conf.h>
- #include <openssl/engine.h>
- #include <openssl/err.h>
-+#include <openssl/ui.h>
- #include <tls_mosq.h>
- #endif
-
+++ /dev/null
-diff --git a/lib/net_mosq.c b/lib/net_mosq.c
-index bdcaa19..f207e32 100644
---- a/lib/net_mosq.c
-+++ b/lib/net_mosq.c
-@@ -141,7 +141,9 @@ int net__init(void)
- | OPENSSL_INIT_ADD_ALL_DIGESTS \
- | OPENSSL_INIT_LOAD_CONFIG, NULL);
- # endif
-+#if !defined(OPENSSL_NO_ENGINE)
- ENGINE_load_builtin_engines();
-+#endif
- setup_ui_method();
- if(tls_ex_index_mosq == -1){
- tls_ex_index_mosq = SSL_get_ex_new_index(0, "client context", NULL, NULL, NULL);
-@@ -599,6 +601,7 @@ static int net__init_ssl_ctx(struct mosquitto *mosq)
- SSL_CTX_set_mode(mosq->ssl_ctx, SSL_MODE_RELEASE_BUFFERS);
- #endif
-
-+#if !defined(OPENSSL_NO_ENGINE)
- if(mosq->tls_engine){
- engine = ENGINE_by_id(mosq->tls_engine);
- if(!engine){
-@@ -615,12 +618,15 @@ static int net__init_ssl_ctx(struct mosquitto *mosq)
- ENGINE_set_default(engine, ENGINE_METHOD_ALL);
- ENGINE_free(engine); /* release the structural reference from ENGINE_by_id() */
- }
-+#endif
-
- if(mosq->tls_ciphers){
- ret = SSL_CTX_set_cipher_list(mosq->ssl_ctx, mosq->tls_ciphers);
- if(ret == 0){
- log__printf(mosq, MOSQ_LOG_ERR, "Error: Unable to set TLS ciphers. Check cipher list \"%s\".", mosq->tls_ciphers);
-+#if !defined(OPENSSL_NO_ENGINE)
- ENGINE_FINISH(engine);
-+#endif
- COMPAT_CLOSE(mosq->sock);
- mosq->sock = INVALID_SOCKET;
- net__print_ssl_error(mosq);
-@@ -647,7 +653,9 @@ static int net__init_ssl_ctx(struct mosquitto *mosq)
- log__printf(mosq, MOSQ_LOG_ERR, "Error: Unable to load CA certificates, check capath \"%s\".", mosq->tls_capath);
- }
- #endif
-+#if !defined(OPENSSL_NO_ENGINE)
- ENGINE_FINISH(engine);
-+#endif
- COMPAT_CLOSE(mosq->sock);
- mosq->sock = INVALID_SOCKET;
- net__print_ssl_error(mosq);
-@@ -672,7 +680,9 @@ static int net__init_ssl_ctx(struct mosquitto *mosq)
- #else
- log__printf(mosq, MOSQ_LOG_ERR, "Error: Unable to load client certificate \"%s\".", mosq->tls_certfile);
- #endif
-+#if !defined(OPENSSL_NO_ENGINE)
- ENGINE_FINISH(engine);
-+#endif
- COMPAT_CLOSE(mosq->sock);
- mosq->sock = INVALID_SOCKET;
- net__print_ssl_error(mosq);
-@@ -681,6 +691,7 @@ static int net__init_ssl_ctx(struct mosquitto *mosq)
- }
- if(mosq->tls_keyfile){
- if(mosq->tls_keyform == mosq_k_engine){
-+#if !defined(OPENSSL_NO_ENGINE)
- UI_METHOD *ui_method = net__get_ui_method();
- if(mosq->tls_engine_kpass_sha1){
- if(!ENGINE_ctrl_cmd(engine, ENGINE_SECRET_MODE, ENGINE_SECRET_MODE_SHA, NULL, NULL, 0)){
-@@ -714,6 +725,7 @@ static int net__init_ssl_ctx(struct mosquitto *mosq)
- net__print_ssl_error(mosq);
- return MOSQ_ERR_TLS;
- }
-+#endif
- }else{
- ret = SSL_CTX_use_PrivateKey_file(mosq->ssl_ctx, mosq->tls_keyfile, SSL_FILETYPE_PEM);
- if(ret != 1){
-@@ -722,7 +734,9 @@ static int net__init_ssl_ctx(struct mosquitto *mosq)
- #else
- log__printf(mosq, MOSQ_LOG_ERR, "Error: Unable to load client key file \"%s\".", mosq->tls_keyfile);
- #endif
-+#if !defined(OPENSSL_NO_ENGINE)
- ENGINE_FINISH(engine);
-+#endif
- COMPAT_CLOSE(mosq->sock);
- mosq->sock = INVALID_SOCKET;
- net__print_ssl_error(mosq);
-@@ -732,7 +746,9 @@ static int net__init_ssl_ctx(struct mosquitto *mosq)
- ret = SSL_CTX_check_private_key(mosq->ssl_ctx);
- if(ret != 1){
- log__printf(mosq, MOSQ_LOG_ERR, "Error: Client certificate/key are inconsistent.");
-+#if !defined(OPENSSL_NO_ENGINE)
- ENGINE_FINISH(engine);
-+#endif
- COMPAT_CLOSE(mosq->sock);
- mosq->sock = INVALID_SOCKET;
- net__print_ssl_error(mosq);
-diff --git a/lib/options.c b/lib/options.c
-index 005b781..6dc4262 100644
---- a/lib/options.c
-+++ b/lib/options.c
-@@ -255,6 +255,7 @@ int mosquitto_string_option(struct mosquitto *mosq, enum mosq_opt_t option, cons
- switch(option){
- case MOSQ_OPT_TLS_ENGINE:
- #ifdef WITH_TLS
-+# if !defined(OPENSSL_NO_ENGINE)
- eng = ENGINE_by_id(value);
- if(!eng){
- return MOSQ_ERR_INVAL;
-@@ -265,6 +266,7 @@ int mosquitto_string_option(struct mosquitto *mosq, enum mosq_opt_t option, cons
- return MOSQ_ERR_NOMEM;
- }
- return MOSQ_ERR_SUCCESS;
-+#endif
- #else
- return MOSQ_ERR_NOT_SUPPORTED;
- #endif
-diff --git a/src/net.c b/src/net.c
-index 74b4ee8..495f8b2 100644
---- a/src/net.c
-+++ b/src/net.c
-@@ -534,6 +534,7 @@ int net__socket_listen(struct mosquitto__listener *listener)
- return 1;
- }
- if(listener->tls_engine){
-+#if !defined(OPENSSL_NO_ENGINE)
- engine = ENGINE_by_id(listener->tls_engine);
- if(!engine){
- log__printf(NULL, MOSQ_LOG_ERR, "Error loading %s engine\n", listener->tls_engine);
-@@ -548,6 +549,7 @@ int net__socket_listen(struct mosquitto__listener *listener)
- }
- ENGINE_set_default(engine, ENGINE_METHOD_ALL);
- ENGINE_free(engine); /* release the structural reference from ENGINE_by_id() */
-+#endif
- }
- /* FIXME user data? */
- if(listener->require_certificate){
-@@ -560,10 +562,13 @@ int net__socket_listen(struct mosquitto__listener *listener)
- log__printf(NULL, MOSQ_LOG_ERR, "Error: Unable to load server certificate \"%s\". Check certfile.", listener->certfile);
- net__print_error(MOSQ_LOG_ERR, "Error: %s");
- COMPAT_CLOSE(sock);
-+#if !defined(OPENSSL_NO_ENGINE)
- ENGINE_FINISH(engine);
-+#endif
- return 1;
- }
- if(listener->tls_keyform == mosq_k_engine){
-+#if !defined(OPENSSL_NO_ENGINE)
- UI_METHOD *ui_method = net__get_ui_method();
- if(listener->tls_engine_kpass_sha1){
- if(!ENGINE_ctrl_cmd(engine, ENGINE_SECRET_MODE, ENGINE_SECRET_MODE_SHA, NULL, NULL, 0)){
-@@ -593,13 +598,16 @@ int net__socket_listen(struct mosquitto__listener *listener)
- ENGINE_FINISH(engine);
- return 1;
- }
-+#endif
- }else{
- rc = SSL_CTX_use_PrivateKey_file(listener->ssl_ctx, listener->keyfile, SSL_FILETYPE_PEM);
- if(rc != 1){
- log__printf(NULL, MOSQ_LOG_ERR, "Error: Unable to load server key file \"%s\". Check keyfile.", listener->keyfile);
- net__print_error(MOSQ_LOG_ERR, "Error: %s");
- COMPAT_CLOSE(sock);
-+#if !defined(OPENSSL_NO_ENGINE)
- ENGINE_FINISH(engine);
-+#endif
- return 1;
- }
- }
-@@ -608,7 +616,9 @@ int net__socket_listen(struct mosquitto__listener *listener)
- log__printf(NULL, MOSQ_LOG_ERR, "Error: Server certificate/key are inconsistent.");
- net__print_error(MOSQ_LOG_ERR, "Error: %s");
- COMPAT_CLOSE(sock);
-+#if !defined(OPENSSL_NO_ENGINE)
- ENGINE_FINISH(engine);
-+#endif
- return 1;
- }
- /* Load CRLs if they exist. */
-@@ -618,7 +628,9 @@ int net__socket_listen(struct mosquitto__listener *listener)
- log__printf(NULL, MOSQ_LOG_ERR, "Error: Unable to obtain TLS store.");
- net__print_error(MOSQ_LOG_ERR, "Error: %s");
- COMPAT_CLOSE(sock);
-+#if !defined(OPENSSL_NO_ENGINE)
- ENGINE_FINISH(engine);
-+#endif
- return 1;
- }
- lookup = X509_STORE_add_lookup(store, X509_LOOKUP_file());
-@@ -627,7 +639,9 @@ int net__socket_listen(struct mosquitto__listener *listener)
- log__printf(NULL, MOSQ_LOG_ERR, "Error: Unable to load certificate revocation file \"%s\". Check crlfile.", listener->crlfile);
- net__print_error(MOSQ_LOG_ERR, "Error: %s");
- COMPAT_CLOSE(sock);
-+#if !defined(OPENSSL_NO_ENGINE)
- ENGINE_FINISH(engine);
-+#endif
- return 1;
- }
- X509_STORE_set_flags(store, X509_V_FLAG_CRL_CHECK);
-@@ -644,7 +658,9 @@ int net__socket_listen(struct mosquitto__listener *listener)
-
- if(mosquitto__tls_server_ctx(listener)){
- COMPAT_CLOSE(sock);
-+#if !defined(OPENSSL_NO_ENGINE)
- ENGINE_FINISH(engine);
-+#endif
- return 1;
- }
- SSL_CTX_set_psk_server_callback(listener->ssl_ctx, psk_server_callback);
-@@ -654,7 +670,9 @@ int net__socket_listen(struct mosquitto__listener *listener)
- log__printf(NULL, MOSQ_LOG_ERR, "Error: Unable to set TLS PSK hint.");
- net__print_error(MOSQ_LOG_ERR, "Error: %s");
- COMPAT_CLOSE(sock);
-+#if !defined(OPENSSL_NO_ENGINE)
- ENGINE_FINISH(engine);
-+#endif
- return 1;
- }
- }
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://gitlab.com/netify.ai/public/netify-agent.git
-PKG_SOURCE_DATE:=2019-01-03
-PKG_SOURCE_VERSION:=v2.87
-#PKG_SOURCE_VERSION:=e846598bbe26eb6d631f1eda922c7141245f48e3
-PKG_MIRROR_HASH:=05af5b4e48ccfccf60cfb3c0b08c8bb3987d8957f17723520da4488798a7b68d
+PKG_SOURCE_DATE:=2019-06-06
+PKG_SOURCE_VERSION:=v2.88
+#PKG_SOURCE_VERSION:=367ddd2fca4b2edd5e71145e2adea1b58f750214
+PKG_MIRROR_HASH:=8ead41dc074a71626609bced1d584f8df87e39f5ad76dcca76021c1737150089
include $(INCLUDE_DIR)/package.mk
Netify Agent
============
-Copyright ©2015-2018 eGloo Incorporated ([www.egloo.ca](https://www.egloo.ca))
+Copyright ©2015-2019 eGloo Incorporated ([www.egloo.ca](https://www.egloo.ca))
-Deep-Packet Inspection Server
------------------------------
+Network Intelligence - Simplified
+---------------------------------
-The [Netify Agent](https://www.netify.ai/) is a deep-packet inspection server. The Agent is built on top of [nDPI](http://www.ntop.org/products/deep-packet-inspection/ndpi/) (formerly OpenDPI) to detect network protocols and applications. These detections can be saved locally, served over a UNIX or TCP socket, and/or "pushed" (via HTTP POSTs) to a remote third-party server. Flow metadata, network statistics, and detection classifications are stored using JSON encoding.
+The [Netify Agent](https://www.netify.ai/) is a deep-packet inspection server. The Agent is built on top of [nDPI](http://www.ntop.org/products/deep-packet-inspection/ndpi/) (formerly OpenDPI) to detect network protocols and applications. Detections can be saved locally, served over a UNIX or TCP socket, and/or "pushed" (via HTTP POSTs) to a remote third-party server. Flow metadata, network statistics, and detection classifications are stored using JSON encoding.
Optionally, the Netify Agent can be coupled with a [Netify Cloud](https://www.netify.ai/) subscription for further cloud processing, historical storage, machine-learning analysis, event notifications, device detection/identification, along with the option (on supported platforms) to take an active role in policing/bandwidth-shaping specific network protocols and applications.
- [Fedora](http://software.opensuse.org/download.html?project=home%3Aegloo&package=netifyd)
- [Ubuntu](http://software.opensuse.org/download.html?project=home%3Aegloo&package=netifyd)
+Developer Documentation
+-----------------------
+
+Further developer documentation can be found [here](https://www.netify.ai/developer/netify-agent).
+
Configuring/Building From Source
--------------------------------
# - Check and update kmod dependencies when necessary (runtime module load check in the least)
#
PKG_NAME:=openvswitch
-PKG_VERSION:=2.11.0
-PKG_RELEASE:=3
+PKG_VERSION:=2.11.1
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://www.openvswitch.org/releases/
-PKG_HASH:=f4b01d7376d7298bc6e7fa7a6067229ca7c7e299394e5ea9aff651d52edfdbee
+PKG_HASH:=c1296ae44a7b176150915e33bc497cc0a7a02caeba84ea43ce9b6a2509d9b5dc
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
ovs_kmod_upstream_name=kmod-$(call ovs_kmod_package_name,$(patsubst %-intree,%,$(1)))
ovs_kmod_package_provides=$(call ovs_kmod_upstream_name,$(1))
define OvsKmodPackageTemplate
+ifeq ($(if $(call ovs_kmod_is_intree,$(1)),$(ovs_kmod_intree_not_supported)),)
define KernelPackage/$(call ovs_kmod_package_name,$(1))
SECTION:=kernel
CATEGORY:=Kernel modules
SUBMENU:=Network Support
TITLE:=$(ovs_kmod_$(1)_title)
- DEPENDS:=$(ovs_kmod_$(1)_depends) $(if $(call ovs_kmod_is_intree,$(1)),@DEVEL $(if $(ovs_kmod_intree_not_supported),@BROKEN))
+ DEPENDS:=$(ovs_kmod_$(1)_depends) $(if $(call ovs_kmod_is_intree,$(1)),@DEVEL)
PROVIDES:=$(call ovs_kmod_package_provides,$(1))
KCONFIG:=$(ovs_kmod_$(1)_kconfig)
FILES:=$(ovs_kmod_$(1)_files)
endef
ovs_kmod_packages+=$(call ovs_kmod_package_name,$(1))
+endif
endef
ovs_kmod_openvswitch_title:=Open vSwitch kernel datapath (upstream)
ovs_kmod_openvswitch_kconfig:=CONFIG_OPENVSWITCH
ovs_kmod_openvswitch_depends:=\
- +kmod-lib-crc32c +kmod-mpls \
- +kmod-nf-nat +IPV6:kmod-nf-nat6 \
- +kmod-nf-conntrack +IPV6:kmod-nf-conntrack6
+ +kmod-lib-crc32c \
+ +kmod-nf-nat \
+ +IPV6:kmod-nf-nat6 \
+ +kmod-nf-conntrack \
+ +IPV6:kmod-nf-conntrack6 \
+ +(!LINUX_4_9&&!LINUX_4.14):kmod-nsh \
+
ovs_kmod_openvswitch_files:=$(ovs_kmod_upstream_dir)/openvswitch.ko
$(eval $(call OvsKmodPackageTemplate,openvswitch))
# enabled and selected on its own
#
ovs_kmod_openvswitch-intree_title:=Open vSwitch kernel datapath (in tree)
-ovs_kmod_openvswitch-intree_depends:=$(ovs_kmod_openvswitch_depends) +kmod-gre +IPV6:kmod-gre6
+ovs_kmod_openvswitch-intree_depends:=\
+ +kmod-lib-crc32c \
+ +kmod-nf-nat \
+ +IPV6:kmod-nf-nat6 \
+ +kmod-nf-conntrack \
+ +IPV6:kmod-nf-conntrack6 \
+ +kmod-gre +IPV6:kmod-gre6 \
+
ovs_kmod_openvswitch-intree_files:= $(ovs_kmod_intree_dir)/openvswitch.ko
$(eval $(call OvsKmodPackageTemplate,openvswitch-intree))
ovs_intree_kmod_enabled:=$(strip $(foreach c,$(ovs_intree_kmod_configs),$($(c))))
PKG_CONFIG_DEPENDS+=$(ovs_intree_kmod_configs)
ifneq ($(ovs_intree_kmod_enabled),)
- CONFIGURE_ARGS += --with-linux=$(LINUX_DIR)
+ ifeq ($(ovs_kmod_intree_not_supported),)
+ CONFIGURE_ARGS += --with-linux=$(LINUX_DIR)
+ else
+ $(warning XXX: openvswitch: intree kmods selected but not supported)
+ endif
endif
TARGET_CFLAGS += -flto -std=gnu99
--- /dev/null
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=ostiary
+PKG_VERSION:=4.0
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://ingles.homeunix.net/software/ost/latest/
+PKG_HASH:=1b6a0a8a17fd3aa0f6511cdda81558d54f11023a0c953201ddaaef35f56a82c4
+
+PKG_MAINTAINER:=Chris Geraghty <cgretski@hotmail.com>
+PKG_LICENSE:=GPL-2.0-only
+PKG_LICENSE_FILES:=COPYING
+
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/ostiary
+ SECTION:=base
+ CATEGORY:=Network
+ TITLE:=Secure remote execution utility
+ URL:=http://ingles.homeunix.net/software/ost/index.html
+endef
+
+define Package/ostiary/description
+ Replay-resistent predefined remote-command trigger
+endef
+
+define Package/ostiary/conffiles
+/etc/ostiary.cfg
+endef
+
+MAKE_FLAGS += all
+
+define Package/ostiary/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/ostiaryd $(1)/usr/bin/
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/ostclient $(1)/usr/bin/
+ $(INSTALL_DIR) $(1)/etc
+ $(INSTALL_CONF) $(PKG_BUILD_DIR)/tests/ostiary.cfg $(1)/etc/ostiary.cfg
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/ostiaryd.init $(1)/etc/init.d/ostiary
+endef
+
+
+$(eval $(call BuildPackage,ostiary))
--- /dev/null
+#!/bin/sh /etc/rc.common
+
+START=99
+STOP=85
+
+USE_PROCD=1
+
+start_service()
+{
+
+ procd_open_instance
+ procd_set_param command /usr/bin/ostiaryd -c /etc/ostiary.cfg
+ procd_close_instance
+}
+
+
+reload_service() {
+ procd_send_signal ostiaryd
+}
PKG_NAME:=seafile-seahub
PKG_VERSION:=6.3.4
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_LICENSE:=Apache-2.0
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_HASH:=53a9efdb6791fd3a2a191e89cb0f133632056046ec08adbb2ad72088e6161430
PKG_BUILD_DIR:=$(BUILD_DIR)/seahub-$(PKG_VERSION)-server
-PKG_BUILD_DEPENDS:=python-pytz/host
+HOST_PYTHON_PACKAGE_BUILD_DEPENDS:="django>=1.11"
include $(INCLUDE_DIR)/package.mk
include ../../lang/python/python-package.mk
+SEAFILE_PYTHON_DEPENDS:= \
+ simplejson chardet dateutil mysql pytz qrcode requests requests-oauthlib \
+ django django-constance
+
define Package/seafile-seahub
- SECTION:=net
- CATEGORY:=Network
- TITLE:=Seafile server - seahub component
- URL:=https://seafile.com/
- DEPENDS:=+python-simplejson +python +pillow +python-chardet +django +django-appconf \
- +django-compressor +django-constance +django-formtools +django-jsonfield \
- +django-picklefield +django-postoffice +django-restframework \
- +django-simple-captcha +django-statici18n +django-webpack-loader \
- +flup +gunicorn +openpyxl +python-dateutil +python-mysql \
- +python-qrcode +python-requests +python-requests-oauthlib +python-pytz
+ SECTION:=net
+ CATEGORY:=Network
+ TITLE:=Seafile server - seahub component
+ URL:=https://seafile.com/
+ DEPENDS:=+python +pillow +django-appconf \
+ +django-compressor +django-formtools +django-jsonfield \
+ +django-picklefield +django-postoffice +django-restframework \
+ +django-simple-captcha +django-statici18n +django-webpack-loader \
+ +flup +gunicorn +openpyxl \
+ $(foreach dep,$(SEAFILE_PYTHON_DEPENDS),+python-$(dep))
endef
define Build/Configure
endef
+MAKE_VARS += \
+ PYTHON="$(HOST_PYTHON_BIN)" \
+ DJANGO_ADMIN_PY="$(STAGING_DIR_HOSTPKG)/bin/django-admin"
+
define Build/Compile
+ $(call Build/Compile/HostPyPipInstall,$(HOST_PYTHON_PACKAGE_BUILD_DEPENDS))
$(call Build/Compile/Default,locale)
endef
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,6 @@
-+include $(TOPDIR)/rules.mk
-+include $(TOPDIR)/feeds/packages/lang/python/python-package.mk
++PYTHON ?= python
++DJANGO_ADMIN_PY ?= django-admin.py
+
PROJECT=seahub
locale:
@echo "--> Compile locales"
- django-admin.py compilemessages
-+ $(call HostPython,,$(STAGING_DIR)/usr/bin/django-admin.py compilemessages)
++ $(DJANGO_ADMIN_PY) compilemessages
@echo ""
uglify:
statici18n:
@echo "--> Generate JS locale files in static/scripts/i18n"
- python manage.py compilejsi18n
-+ $(call HostPython,,manage.py compilejsi18n)
++ $(PYTHON) manage.py compilejsi18n
collectstatic:
@echo "--> Collect django static files to media/assets"
rm -rf media/assets 2> /dev/null
- python manage.py collectstatic --noinput -i admin -i termsandconditions -i app -i sysadmin-app -i build.js
-+ $(call HostPython,,manage.py collectstatic --noinput -i admin -i termsandconditions -i app -i sysadmin-app -i build.js)
++ $(PYTHON) manage.py collectstatic --noinput -i admin -i termsandconditions -i app -i sysadmin-app -i build.js
compressstatic:
@echo "--> Compress static files(css) to media/CACHE"
rm -rf media/CACHE 2> /dev/null
- python manage.py compress
-+ $(call HostPython,,manage.py compress)
++ $(PYTHON) manage.py compress
clean:
@echo '--> Cleaning media/static cache & dist'
PKG_NAME:=seafile-server
PKG_VERSION:=6.3.4
-PKG_RELEASE:=5
+PKG_RELEASE:=6
PKG_LICENSE:=GPL-3.0
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
TARGET_LDFLAGS += -Wl,-rpath-link=$(STAGING_DIR)/usr/lib -liconv \
-L$(STAGING_DIR)/usr/lib/mysql -lmysqlclient -lz -levent_openssl -levent
+ifdef CONFIG_GCC_LIBSSP
+TARGET_LDFLAGS += -lssp
+endif
+
define Package/seafile-server/conffiles
/etc/config/seafile
endef
# - check if default mode has changed from being tcp_only
#
PKG_NAME:=shadowsocks-libev
-PKG_VERSION:=3.2.5
-PKG_RELEASE:=3
+PKG_VERSION:=3.3.0
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/shadowsocks/shadowsocks-libev/releases/download/v$(PKG_VERSION)
-PKG_HASH:=02273d571b8bea067eefb203a43c142d052042179904f9050a1f20cb8dc5d242
+PKG_HASH:=9732f8b8f02ffeea261bcf15fbf104f826012f74dbee99d016b75f0894a39649
PKG_MAINTAINER:=Yousong Zhou <yszhou4tech@gmail.com>
PKG_INSTALL:=1
PKG_USE_MIPS16:=0
PKG_BUILD_PARALLEL:=1
+PKG_BUILD_DEPENDS:=c-ares pcre
include $(INCLUDE_DIR)/package.mk
SUBMENU:=Web Servers/Proxies
TITLE:=shadowsocks-libev $(1)
URL:=https://github.com/shadowsocks/shadowsocks-libev
- DEPENDS:=+libcares +libev +libmbedtls +libpcre +libpthread +libsodium +shadowsocks-libev-config +zlib
+ DEPENDS:=+libev +libmbedtls +libpthread +libsodium +shadowsocks-libev-config $(DEPENDS_$(1))
endef
define Package/shadowsocks-libev-$(1)/install
endef
+DEPENDS_ss-local = +libpcre
+DEPENDS_ss-server = +libcares +libpcre
+
SHADOWSOCKS_COMPONENTS:=ss-local ss-redir ss-tunnel ss-server
define shadowsocks-libev/templates
$(foreach component,$(SHADOWSOCKS_COMPONENTS),
--disable-assert \
--disable-ssp \
+TARGET_CFLAGS += -flto
+TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
+
$(eval $(call BuildPackage,shadowsocks-libev-config))
$(eval $(call BuildPackage,shadowsocks-libev-ss-rules))
$(foreach component,$(SHADOWSOCKS_COMPONENTS), \
include $(TOPDIR)/rules.mk
PKG_NAME:=unbound
-PKG_VERSION:=1.9.1
-PKG_RELEASE:=5
+PKG_VERSION:=1.9.2
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://nlnetlabs.nl/downloads/unbound
-PKG_HASH:=c3c0bf9b86ccba4ca64f93dd4fe7351308ab54293f297a67de5a8914c1dc59c5
+PKG_HASH:=6f7acec5cf451277fcda31729886ae7dd62537c4f506855603e3aa153fcb6b95
PKG_MAINTAINER:=Eric Luehrsen <ericluehrsen@gmail.com>
PKG_LICENSE:=BSD-3-Clause
4 - Above and interfaces named <iface>.<hostname>.<domain>
option add_wan_fqdn '0'
- Level. Same as previous option only this applies to the WAN. WAN
- are inferred by a UCI `config dhcp` entry that contains the line
- option ignore '1'.
+ Level. Same as previous option only this applies to the WAN. WAN are
+ inferred by a UCI `config dhcp` entry that contains the 'option ignore 1'.
option dns64 '0'
- Boolean. Enable DNS64 through Unbound in order to bridge networks
- that are IPV6 only and IPV4 only (see RFC6052).
+ Boolean. Enable DNS64 through Unbound in order to bridge networks that are
+ IPV6 only and IPV4 only (see RFC6052).
option dns64_prefix '64:ff9b::/96'
- IPV6 Prefix. The IPV6 prefix wrapped on the IPV4 address for DNS64.
- You should use RFC6052 "well known" address, unless you also
- redirect to a proxy or gateway for your NAT64.
+ IPV6 Prefix. The IPV6 prefix wrapped on the IPV4 address for DNS64. You
+ should use RFC6052 "well known" address, unless you also redirect to a proxy
+ or gateway for your NAT64.
option dhcp_link 'none'
Program Name. Link to one of the supported programs we have scripts
Boolean. Skip all this UCI nonsense. Manually edit the
configuration. Make changes to /etc/unbound/unbound.conf.
+ option num_threads '1'
+ Count. Enable multithreading with the "heavy traffic" variant. Base variant
+ spins each as whole proces and is not efficient. Two threads may be used,
+ but they use one shared cache slab. More edges into an industrial setup,
+ and UCI simplificaitons may not be appropriate.
+
option protocol 'mixed'
Unbound can limit its protocol used for recursive queries.
ip4_only - old fashioned IPv4 upstream and downstream
default - Unbound built-in defaults
option query_minimize '0'
- Boolean. Enable a minor privacy option. Don't let each server know
- the next recursion. Query one piece at a time.
+ Boolean. Enable a minor privacy option. Don't let each server know the next
+ recursion. Query one piece at a time.
option query_min_strict '0'
- Boolean. Query minimize is best effort and will fall back to normal
- when it must. This option prevents the fall back, but less than
- standard name servers will fail to resolve their domains.
+ Boolean. Query minimize is best effort and will fall back to normal when it
+ must. This option prevents the fall back, but less than standard name
+ servers will fail to resolve their domains.
option rebind_localhost '0'
- Boolean. Prevent loopback "127.0.0.0/8" or "::1/128" responses.
- These may used by black hole servers for good purposes like
- ad-blocking or parental access control. Obviously these responses
- also can be used to for bad purposes.
+ Boolean. Prevent loopback "127.0.0.0/8" or "::1/128" responses. These may
+ used by black hole servers for good purposes like ad-blocking or parental
+ access control. Obviously these responses may be used to for bad purposes.
option rebind_protection '1'
Level. Block your local address responses from global DNS. A poisoned
large - about double of medium
option root_age '9'
- Days. >90 Disables. Age limit for Unbound root data like root
- DNSSEC key. Unbound uses RFC 5011 to manage root key. This could
- harm flash ROM. This activity is mapped to "tmpfs," but every so
- often it needs to be copied back to flash for the next reboot.
+ Days. >90 Disables. Age limit for Unbound root data like root DNSSEC key.
+ Unbound uses RFC 5011 to manage root key. This could harm flash ROM. This
+ activity is mapped to "tmpfs," but every so often it needs to be copied back
+ to flash for the next reboot.
option ttl_min '120'
- Seconds. Minimum TTL in cache. Recursion can be expensive without
- cache. A low TTL is normal for server migration. A low TTL can be
- abused for snoop-vertising (DNS hit counts; recording query IP).
- Typical to configure maybe 0~300, but 1800 is the maximum accepted.
+ Seconds. Minimum TTL in cache. Recursion can be expensive without cache. A
+ low TTL is normal for server migration. A low TTL can be abused for snoop-
+ vertising (DNS hit counts; recording query IP). Typical to configure maybe
+ 0~300, but 1800 is the maximum accepted.
option unbound_control '0'
Level. Enables unbound-control application access ports.
Boolean. Enable DNSSEC. Unbound names this the "validator" module.
option validator_ntp '1'
- Boolean. Disable DNSSEC time checks at boot. Once NTP confirms
- global real time, then DNSSEC is restarted at full strength. Many
- embedded devices don't have a real time power off clock. NTP needs
- DNS to resolve servers. This works around the chicken-and-egg.
+ Boolean. Disable DNSSEC time checks at boot. Once NTP confirms global real
+ time, then DNSSEC is restarted at full strength. Many embedded devices don't
+ have a real time power off clock. NTP needs DNS to resolve servers. This
+ works around the chicken-and-egg.
option verbosity '1'
Level. Sets Unbounds logging intensity.
list trigger_interface 'lan' 'wan'
Interface (logical). This option is a work around for netifd/procd
- interaction with WAN DHCPv6. Minor RA or DHCP changes in IP6 can
- cause netifd to execute procd interface reload. Limit Unbound procd
- triggers to LAN and WAN (IP4 only) to prevent restart @2-3 minutes.
+ interaction with WAN DHCPv6. Minor RA or DHCP changes in IP6 can cause
+ netifd to execute procd interface reload. Limit Unbound procd triggers to
+ LAN and WAN (IP4 only) to prevent restart @2-3 minutes.
config zone
Boolean. Enable the zone clause.
option fallback 1
- Boolean. Permit normal recursion when the narrowly selected servers
- in this zone are unresponsive or return empty responses. Disable, if
- there are security concerns (forward only internal to organization).
+ Boolean. Permit normal recursion when the narrowly selected servers in this
+ zone are unresponsive or return empty responses. Disable, if there are
+ security concerns (forward only internal to organization).
option port 53
Port. Servers are contact on this port for plain DNS operations.
option resolv_conf 0
- Boolean. Use "resolv.conf" as it was filled by the DHCP client. This
- can be used to forward zones within your ISP (mail.example.net) or that
- have co-located services (streamed-movies.example.com). Recursion may
- not yield the most local result, but forwarding may instead.
+ Boolean. Use "resolv.conf" as it was filled by the DHCP client. This can be
+ used to forward zones within your ISP (mail.example.net) or that have co-
+ located services (streamed-movies.example.com). Recursion may not yield the
+ most local result, but forwarding may instead.
option tls_index (n/a)
Domain. Name TLS certificates are signed for (dns.example.net). If this
- option is ommitted, then Unbound will make the connection but not
- validate it.
+ option is ommitted, then Unbound will make connections but not validate.
option tls_port 853
Port. Servers are contact on this port for DNS over TLS operations.
auth_zone type only. Files "${zone_name}.zone" are expect in this path.
option zone_type (n/a)
- State. Required field or the clause is effectively disabled. Check
- Unbound documentation for clarity (unbound-conf).
+ State. Required field or the clause is effectively disabled. Check Unbound
+ documentation for clarity (unbound-conf).
auth_zone - prefetch whole zones from authoritative server (ICANN)
forward_zone - forward queries in these domains to the listed servers
stub_zone - force recursion of these domains to the listed servers
list server (n/a)
- IP. Every zone must have one server. Stub and forward require IP to
- prevent chicken and egg (due to UCI simplicity). Authoritative prefetch
- may use a server name.
+ IP. Every zone must have one server. Stub and forward require IP to prevent
+ chicken and egg (due to UCI simplicity). Authoritative prefetch may use a
+ server name.
list zone_name
- Domain. Every zone must represent some part of the DNS tree. It can be
- all of it "." or you internal organization domain "example.com." Within
- each zone clause all zone names will be matched to all servers.
+ Domain. Every zone must represent some part of the DNS tree. It can be all
+ of it "." or you internal organization domain "example.com." Within each
+ zone clause all zone names will be matched to all servers.
```
## Replaced Options
config unbound / option prefetch_root
- List the domains in a zone with type auth_zone and fill in the server
- or url fields. Root zones are ready but disabled in default install UCI.
+ List the domains in a zone with type auth_zone and fill in the server or url
+ fields. Root zones are ready but disabled in default install UCI.
config unbound / list domain_forward
List the domains in a zone with type forward_zone and enable the
resolv_conf option.
config unbound / list rebind_interface
- Enable rebind_protection at 2 and all DHCP interfaces are also
- protected for IPV6 GLA (parallel to subnets in add_local_fqdn).
+ Enable rebind_protection at 2 and all DHCP interfaces are also protected for
+ IPV6 GLA (parallel to subnets in add_local_fqdn).
if [ ! -f "$UB_TOTAL_CONF" ] || [ -n "$UB_BOOT" ] ; then
- # Unbound is can be a bit heavy, so wait some on first start but any
- # interface coming up affects the trigger and delay so guarantee start
+ # Unbound can be a bit heavy, so wait some on first start. Any interface
+ # up affects the trigger delay and will guarantee start.
procd_add_raw_trigger "interface.*.up" 3000 /etc/init.d/unbound restart
elif [ -n "$triggers" ] ; then
UB_N_EDNS_SIZE=1280
UB_N_RX_PORT=53
UB_N_ROOT_AGE=9
+UB_N_THREADS=1
UB_TTL_MIN=120
UB_TXT_DOMAIN=lan
fi
+ if [ "$UB_N_THREADS" -gt 1 ] \
+ && $PROG -h | grep -q "linked libs:.*libevent" ; then
+ # heavy variant using "threads" may need substantial resources
+ echo " num-threads: 2" >> $UB_CORE_CONF
+ else
+ # light variant with one "process" is much more efficient with light traffic
+ echo " num-threads: 1" >> $UB_CORE_CONF
+ fi
+
+
{
- # No threading
- echo " num-threads: 1"
+ # Limited threading (2) with one shared slab
echo " msg-cache-slabs: 1"
echo " rrset-cache-slabs: 1"
echo " infra-cache-slabs: 1"
echo " local-data: \"$UB_TXT_DOMAIN. $UB_XNS\""
echo " local-data: '$UB_TXT_DOMAIN. $UB_XTXT'"
echo
- # avoid upstream involvement in RFC6762
- echo " domain-insecure: local"
- echo " private-domain: local"
- echo " local-zone: local $UB_D_DOMAIN_TYPE"
- echo " local-data: \"local. $UB_XSOA\""
- echo " local-data: \"local. $UB_XNS\""
- echo " local-data: 'local. $UB_LTXT'"
- echo
+ if [ "$UB_TXT_DOMAIN" != "local" ] ; then
+ # avoid involvement in RFC6762, unless it is the local zone name
+ echo " local-zone: local always_nxdomain"
+ echo
+ fi
} >> $UB_HOST_CONF
zonetype=2
;;
- transparent|typetransparent)
+ inform|transparent|typetransparent)
{
# transparent will permit forward-zone: or stub-zone: clauses
echo " private-domain: $UB_TXT_DOMAIN"
config_get UB_N_EDNS_SIZE "$cfg" edns_size 1280
config_get UB_N_RX_PORT "$cfg" listen_port 53
config_get UB_N_ROOT_AGE "$cfg" root_age 9
+ config_get UB_N_THREADS "$cfg" num_threads 1
config_get UB_D_CONTROL "$cfg" unbound_control 0
config_get UB_D_DOMAIN_TYPE "$cfg" domain_type static
option listen_port '53'
option localservice '1'
option manual_conf '0'
+ option num_threads '1'
option protocol 'default'
option query_minimize '0'
option query_min_strict '0'
+++ /dev/null
-#
-# Copyright (C) 2016-2017 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=yaaw
-PKG_VERSION:=2017-04-12
-PKG_RELEASE:=1
-
-PKG_SOURCE_PROTO:=git
-PKG_SOURCE_URL:=https://github.com/binux/yaaw.git
-PKG_MIRROR_HASH:=02c79d4233384df7b82e18740f96803da03260785a710be587b4c1554e900326
-PKG_SOURCE_VERSION:=d3a8346c5b9c2c1875dc79e1db2533b584fc8def
-
-PKG_LICENSE:=LGPL-3.0
-PKG_MAINTAINER:=Hsing-Wang Liao <kuoruan@gmail.com>
-
-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)/{css,img,js} \
- $(1)/www/yaaw
- $(CP) \
- $(PKG_BUILD_DIR)/{index.html,offline.appcache} \
- $(1)/www/yaaw
-endef
-
-$(eval $(call BuildPackage,yaaw))
PKG_NAME:=zerotier
PKG_VERSION:=1.2.12
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_LICENSE:=GPL-3.0
index 0cd955d1..add1d3ae 100644
--- a/make-linux.mk
+++ b/make-linux.mk
-@@ -71,11 +71,11 @@ ifeq ($(ZT_DEBUG),1)
+@@ -63,11 +63,11 @@ ifeq ($(ZT_DEBUG),1)
# C25519 in particular is almost UNUSABLE in -O0 even on a 3ghz box!
node/Salsa20.o node/SHA512.o node/C25519.o node/Poly1305.o: CXXFLAGS=-Wall -O2 -g -pthread $(INCLUDES) $(DEFS)
else
--- /dev/null
+--- a/make-linux.mk
++++ b/make-linux.mk
+@@ -231,7 +231,7 @@ ifeq ($(ZT_OFFICIAL),1)
+ endif
+
+ # ARM32 hell -- use conservative CFLAGS
+-ifeq ($(ZT_ARCHITECTURE),3)
++ifeq (0,3)
+ ifeq ($(shell if [ -e /usr/bin/dpkg ]; then dpkg --print-architecture; fi),armel)
+ override CFLAGS+=-march=armv5 -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm
+ override CXXFLAGS+=-march=armv5 -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm
index 49e14f70..8e766bfb 100644
--- a/make-linux.mk
+++ b/make-linux.mk
-@@ -75,7 +75,7 @@ else
+@@ -67,7 +67,7 @@ else
override CFLAGS+=-Wall -Wno-deprecated -pthread $(INCLUDES) -DNDEBUG $(DEFS)
CXXFLAGS?=-O3 -fstack-protector
override CXXFLAGS+=-Wall -Wno-deprecated -std=c++11 -pthread $(INCLUDES) -DNDEBUG $(DEFS)
include $(TOPDIR)/rules.mk
PKG_NAME:=btrfs-progs
-PKG_VERSION:=4.20.2
-PKG_RELEASE:=3
+PKG_VERSION:=5.1.1
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/linux/kernel/people/kdave/btrfs-progs
-PKG_HASH:=890f8b7e162f2bbfaa5c7b23e8b6f791fd3f325239a0510871fa4b45e4a80e7c
+PKG_HASH:=9cb91b7de9e10aa6bbf2b003f60bb3f5e5b1984a8008fad7c4b2d3978f5ebe1b
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-v$(PKG_VERSION)
PKG_MAINTAINER:=Karel Kočí <karel.koci@nic.cz>
SECTION:=utils
CATEGORY:=Utilities
SUBMENU:=Filesystem
- DEPENDS:=+libattr +libuuid +zlib +libblkid +liblzo +libpthread +BTRFS_PROGS_ZSTD:libzstd
TITLE:=Btrfs filesystems utilities
URL:=https://btrfs.wiki.kernel.org/
+ DEPENDS:=+libattr +libuuid +zlib +libblkid +liblzo +libpthread +BTRFS_PROGS_ZSTD:libzstd
endef
define Package/btrfs-progs/description
include $(TOPDIR)/rules.mk
PKG_NAME:=byobu
-PKG_VERSION:=5.127
+PKG_VERSION:=5.129
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).orig.tar.gz
PKG_SOURCE_URL:=https://launchpad.net/byobu/trunk/$(PKG_VERSION)/+download
-PKG_HASH:=4bafc7cb69ff5b0ab6998816d58cd1ef7175e5de75abc1dd7ffd6d5288a4f63b
+PKG_HASH:=e5135f20750c359b6371ee87cf2729c6038fbf3a6e66680e67f6a2125b07c2b9
PKG_LICENSE:=GPL-3.0
PKG_LICENSE_FILES:=COPYING
+++ /dev/null
---- a/usr/bin/byobu.in
-+++ b/usr/bin/byobu.in
-@@ -62,7 +62,7 @@ esac
- export BYOBU_BACKEND
-
- # Store the parent tty
--export BYOBU_TTY=$(tty)
-+export BYOBU_TTY=$(readlink /proc/$$/fd/0)
-
- # Get the default window name
- [ -n "$BYOBU_WINDOW_NAME" ] || BYOBU_WINDOW_NAME=-
---- a/usr/bin/byobu-launch.in
-+++ b/usr/bin/byobu-launch.in
-@@ -30,8 +30,8 @@
- # or edit your sshd_config, ssh_config, and set:
- # $HOME/.bashrc: export BYOBU_DISABLE=1
-
--_tty=$(tty)
--if [ "${_tty#/dev/ttyS}" != "$_tty" ]; then
-+_tty=$(readlink /proc/$$/fd/0)
-+if [ "${_tty#/dev/ttyS}" != "$_tty" ] && [ "${_tty#/dev/ttyAMA}" != "$_tty" ]; then
- # Don't autolaunch byobu on serial consoles
- # You can certainly run 'byobu' manually, though
- echo
--- /dev/null
+--- a/usr/bin/byobu-launch.in
++++ b/usr/bin/byobu-launch.in
+@@ -30,7 +30,7 @@
+ # or edit your sshd_config, ssh_config, and set:
+ # $HOME/.bashrc: export BYOBU_DISABLE=1
+
+-_tty=$(tty)
++_tty=$(readlink /proc/$$/fd/0)
+ if [ "${_tty#/dev/ttyS}" != "$_tty" ] && [ "${_tty#/dev/ttyAMA}" != "$_tty" ]; then
+ # Don't autolaunch byobu on serial consoles
+ # You can certainly run 'byobu' manually, though
+++ /dev/null
---- a/usr/bin/byobu-janitor.in
-+++ b/usr/bin/byobu-janitor.in
-@@ -41,7 +41,7 @@ DEFAULT_PROFILE="light"
- PROFILE="$BYOBU_CONFIG_DIR/profile"
-
- # Create byobu-exchange buffer file, with secure permissions, if it doesn't exist
--[ -e "$BYOBU_RUN_DIR/printscreen" ] || install -m 600 /dev/null "$BYOBU_RUN_DIR/printscreen"
-+[ -e "$BYOBU_RUN_DIR/printscreen" ] || { cp /dev/null "$BYOBU_RUN_DIR/printscreen"; chmod 600 "$BYOBU_RUN_DIR/printscreen"; }
-
- # Affects: users who launched using sudo, such that their config dir
- # is not writable by them
# By default, we won't bug the user with the display of network traffic
# below DISK_IO_THRESHOLD in kB/s; override in $BYOBU_CONFIG_DIR/status
[ -n "$DISK_IO_THRESHOLD" ] || DISK_IO_THRESHOLD=50
+--- a/usr/share/byobu/status/statusrc
++++ b/usr/share/byobu/status/statusrc
+@@ -36,8 +36,8 @@
+ # and your lsb_release is "precise", only "p" will be displayed
+ #RELEASE_ABBREVIATED=1
+
+-# Default: /
+-#MONITORED_DISK=/
++# Default: /overlay
++#MONITORED_DISK=/overlay
+
+ # Minimum disk throughput that triggers the notification (in kB/s)
+ # Default: 50
--- /dev/null
+--- a/usr/lib/byobu/services
++++ b/usr/lib/byobu/services
+@@ -24,6 +24,8 @@ __services_detail() {
+ }
+
+ service_running() {
++ pgrep "$1" >/dev/null
++ return $?
+ if [ -f "/etc/init/$1.conf" ]; then
+ # Use upstart
+ case "$(status $1 2>/dev/null)" in
+++ /dev/null
---- a/usr/lib/byobu/services
-+++ b/usr/lib/byobu/services
-@@ -24,7 +24,9 @@ __services_detail() {
- }
-
- service_running() {
-- if [ -f "/etc/init/$1.conf" ]; then
-+ if pgrep "$1" >/dev/null; then
-+ true
-+ elif [ -f "/etc/init/$1.conf" ]; then
- # Use upstart
- case "$(status $1 2>/dev/null)" in
- *running*)
--- a/usr/lib/byobu/users
+++ b/usr/lib/byobu/users
-@@ -22,20 +22,26 @@
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- __users_detail() {
-- ps -ef | grep "sshd:.*@" | grep -v grep
-+ ps -ef 2>/dev/null | grep "sshd:.*@" | grep -v grep
+@@ -26,7 +26,12 @@ __users_detail() {
}
__users() {
if [ "$USERS_DISTINCT" = "1" ]; then
count=$(pgrep -fl 'sshd:.*@' | cut -f3 -d\ | cut -f1 -d@ | sort -u | wc -l)
else
- # Note: we'd like to use pgrep -c, however, this isn't available in
+@@ -34,6 +39,7 @@ __users() {
# busybox and some distro's pgrep (and it doesn't exit non-zero).
-- count=$(pgrep -f "^sshd:.*@|^/usr/sbin/sshd -i" | wc -l) || return
-+ count=$(pgrep -f "^sshd:.*@|^/usr/sbin/sshd -i" | wc -l)
-+ fi
+ count=$(pgrep -f "^sshd:.*@|^/usr/sbin/sshd -i" | wc -l) || return
fi
++ fi
if [ $count -gt 0 ]; then
-- color b w r; printf "%d" "$count"; color -; color w r; printf "#"; color --
-+ color b w r; printf "%d" "$count"; color -; color w r; printf "##"; color --
+ color b w r; printf "%d" "$count"; color -; color w r; printf "##"; color --
else
- rm -f "$BYOBU_RUN_DIR/status.$BYOBU_BACKEND/users"*
- fi
+++ /dev/null
---- a/usr/bin/byobu-export.in
-+++ b/usr/bin/byobu-export.in
-@@ -22,7 +22,7 @@ PKG="byobu"
- [ -z "${BYOBU_PREFIX}" ] && export BYOBU_PREFIX="@prefix@" || export BYOBU_PREFIX
- . "${BYOBU_PREFIX}/lib/${PKG}/include/common"
-
--gettext "
-+echo "
- The byobu-export utility is now deprecated.
-
- To install byobu on a system for which byobu is not packaged, or
---- a/usr/lib/byobu/menu
-+++ b/usr/lib/byobu/menu
-@@ -35,7 +35,7 @@ __menu() {
- else
- key="F9"
- fi
-- text=$(gettext "Menu" 2>/dev/null) || text="Menu"
-+ text="Menu"
- color k w; printf "%s:<" "$text"; color -; color b k w; printf "%s" "$key"; color k w; printf ">"
- }
-
+++ /dev/null
---- a/usr/bin/byobu-disable-prompt.in
-+++ b/usr/bin/byobu-disable-prompt.in
-@@ -17,6 +17,8 @@
- # You should have received a copy of the GNU General Public License
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-+[ -w "$HOME/.bashrc" ] || exit 1
-+
- PKG="byobu"
- [ -r "$HOME/.byoburc" ] && . "$HOME/.byoburc"
- [ -z "${BYOBU_PREFIX}" ] && export BYOBU_PREFIX="@prefix@" || export BYOBU_PREFIX
---- a/usr/bin/byobu-janitor.in
-+++ b/usr/bin/byobu-janitor.in
-@@ -112,6 +112,7 @@ killall -u $USER byobu-statusd >/dev/nul
- rm -f "$FLAG" "/var/run/screen/S-$USER/$PKG.reload-required"
-
- # Affects: Upgrades from <= byobu 5.50, install byobu prompt if using stock bashrc
-+if [ -r /etc/skel/.bashrc ] && [ -r "$HOME/.bashrc" ] && [ -w "$HOME/.bashrc" ]; then
- if ! (grep -qs "#byobu-prompt#$" "$HOME/.bashrc") && ! [ -e "$BYOBU_CONFIG_DIR/prompt" ]; then
- if eval $BYOBU_TEST diff >/dev/null 2>&1; then
- if diff /etc/skel/.bashrc "$HOME/.bashrc" >/dev/null 2>&1; then
-@@ -123,6 +124,7 @@ if ! (grep -qs "#byobu-prompt#$" "$HOME/
- fi
- fi
- fi
-+fi
- [ -r "$BYOBU_CONFIG_DIR/prompt" ] || printf "[ -r ${BYOBU_PREFIX}/share/${PKG}/profiles/bashrc ] && . ${BYOBU_PREFIX}/share/${PKG}/profiles/bashrc #byobu-prompt#\n" > "$BYOBU_CONFIG_DIR/prompt"
-
- # Affects: Upgrades from <= byobu 5.126, clear out ec2/rcs cost statuses
+++ /dev/null
---- a/usr/share/byobu/keybindings/f-keys.tmux
-+++ b/usr/share/byobu/keybindings/f-keys.tmux
-@@ -26,8 +26,8 @@ source $BYOBU_PREFIX/share/byobu/keybind
-
- # Byobu's Keybindings
- # Documented in: $BYOBU_PREFIX/share/doc/byobu/help.tmux.txt
--bind-key -n F1 new-window -k -n config byobu-config
--bind-key -n S-F1 new-window -k -n help "sh -c '$BYOBU_PAGER $BYOBU_PREFIX/share/doc/byobu/help.tmux.txt'"
-+bind-key -n F1 new-window -n config byobu-config
-+bind-key -n S-F1 new-window -n help "sh -c '$BYOBU_PAGER $BYOBU_PREFIX/share/doc/byobu/help.tmux.txt'"
- bind-key -n F2 new-window -c "#{pane_current_path}" \; rename-window "-"
- bind-key -n C-F2 display-panes \; split-window -h -c "#{pane_current_path}"
- bind-key -n S-F2 display-panes \; split-window -v -c "#{pane_current_path}"
-@@ -54,7 +54,7 @@ bind-key -n M-S-Left resize-pane -L
- bind-key -n M-S-Right resize-pane -R
- bind-key -n F5 source $BYOBU_PREFIX/share/byobu/profiles/tmuxrc
- bind-key -n M-F5 run-shell '$BYOBU_PREFIX/lib/byobu/include/toggle-utf8' \; source $BYOBU_PREFIX/share/byobu/profiles/tmuxrc
--bind-key -n S-F5 new-window -k "$BYOBU_PREFIX/lib/byobu/include/cycle-status" \; source $BYOBU_PREFIX/share/byobu/profiles/tmuxrc
-+bind-key -n S-F5 new-window "$BYOBU_PREFIX/lib/byobu/include/cycle-status" \; source $BYOBU_PREFIX/share/byobu/profiles/tmuxrc
- bind-key -n C-F5 send-keys ". $BYOBU_PREFIX/bin/byobu-reconnect-sockets" \; send-keys Enter
- bind-key -n C-S-F5 new-window -d "byobu-select-profile -r"
- bind-key -n F6 detach
-@@ -68,9 +68,9 @@ bind-key -n M-PPage copy-mode \; send-ke
- bind-key -n F8 command-prompt -p "(rename-window) " "rename-window '%%'"
- bind-key -n C-F8 command-prompt -p "(rename-session) " "rename-session '%%'"
- bind-key -n S-F8 next-layout
--bind-key -n M-S-F8 new-window -k "byobu-layout restore; clear; $SHELL"
-+bind-key -n M-S-F8 new-window "byobu-layout restore; clear; $SHELL"
- bind-key -n C-S-F8 command-prompt -p "Save byobu layout as:" "run-shell \"byobu-layout save '%%'\""
--bind-key -n F9 new-window -k -n config byobu-config
-+bind-key -n F9 new-window -n config byobu-config
- bind-key -n S-F9 command-prompt -p "Send command to all panes:" "run-shell \"$BYOBU_PREFIX/lib/byobu/include/tmux-send-command-to-all-panes '%%'\""
- bind-key -n C-F9 command-prompt -p "Send command to all windows:" "run-shell \"$BYOBU_PREFIX/lib/byobu/include/tmux-send-command-to-all-windows '%%'\""
- bind-key -n M-F9 display-panes \; setw synchronize-panes
+++ /dev/null
---- a/usr/lib/byobu/disk_io
-+++ b/usr/lib/byobu/disk_io
-@@ -53,6 +53,7 @@ __disk_io() {
- /dev/*) part="${mount_point}";;
- *) part=$(awk '$2 == mp { print $1 ; exit(0); }' "mp=$mount_point" /etc/mtab);;
- esac
-+ [ -e "$part" ] || return
- getdisk "$part"
- local disk=${_RET}
- local t2=$(date +%s) t1=
+++ /dev/null
---- a/usr/lib/byobu/hostname
-+++ b/usr/lib/byobu/hostname
-@@ -20,12 +20,16 @@
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- __hostname_detail() {
-- hostname -f
-+ hostname -f 2>/dev/null
- }
-
- __hostname() {
- local h=
-- h=$(hostname -s 2>/dev/null || hostname)
-+ if eval $BYOBU_TEST hostname >/dev/null 2>&1; then
-+ h=$(hostname -s 2>/dev/null || hostname)
-+ elif [ -r /proc/sys/kernel/hostname ]; then
-+ read h < /proc/sys/kernel/hostname
-+ fi
- if metadata_available; then
- local cache="$BYOBU_RUN_DIR/cache.$BYOBU_BACKEND/hostname"
- # Background a retrieval of our public hostname
+++ /dev/null
---- a/usr/lib/byobu/logo
-+++ b/usr/lib/byobu/logo
-@@ -111,6 +111,10 @@ __logo() {
- logo=" lm "
- $MARKUP && printf "$(color g w)$logo$(color -)$(color g w)$(color -) " || printf "$logo"
- ;;
-+ *openwrt*)
-+ logo="OWrt"
-+ $MARKUP && printf "$(color b colour66 W)%s$(color -)" "$logo" || printf "$logo"
-+ ;;
- *red*hat*|*rhel*)
- logo=" RH "
- $MARKUP && printf "$(color R k)%s$(color -)" "$logo" || printf "$logo"
+++ /dev/null
---- a/usr/lib/byobu/processes
-+++ b/usr/lib/byobu/processes
-@@ -20,15 +20,15 @@
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- __processes_detail() {
-- ps -ej
-+ ps -ej 2>/dev/null
- }
-
- __processes() {
- local count=
- if [ -r /proc ]; then
-- count=$(ls -d /proc/[0-9]* 2>/dev/null| wc -l)
-+ count=$(ls -d /proc/[0-9]* 2>/dev/null | wc -l)
- else
-- count=$(ps -ef | wc -l | awk '{print $1}')
-+ count=$(ps -ef | wc -l)
- fi
- [ -n "$count" ] || return
- color b y w; printf "%s" "$count"; color -; color y w; printf "&"; color --
+++ /dev/null
---- a/usr/lib/byobu/release
-+++ b/usr/lib/byobu/release
-@@ -30,7 +30,7 @@ __release() {
- true
- elif [ -r "/etc/os-release" ]; then
- # lsb_release is *really* slow; try to use /etc/os-release
-- release=$(. /etc/os-release && echo "$VERSION_ID")
-+ RELEASE=$(. /etc/os-release && echo "$VERSION_ID")
- elif [ -r "/etc/issue" ]; then
- # next try /etc/issue first
- local issue
+++ /dev/null
---- a/usr/lib/byobu/services
-+++ b/usr/lib/byobu/services
-@@ -45,7 +45,7 @@ service_running() {
- }
-
- __services() {
-- local services=
-+ local services="$SERVICES"
- # Users can define a list of services to monitor in $BYOBU_CONFIG_DIR/status
- if [ -z "$services" ]; then
- if [ -f "/etc/eucalyptus/eucalyptus.conf" ]; then
+++ /dev/null
---- a/usr/lib/byobu/updates_available
-+++ b/usr/lib/byobu/updates_available
-@@ -67,9 +67,16 @@ ___update_cache() {
- elif eval $BYOBU_TEST pacman >/dev/null; then
- # If pacman (Archlinux) exists, use it
- LC_ALL=C flock -xn "$flock" pacman -Sup | grep -vc "^\(::\| \)" >$mycache 2>/dev/null &
-+ elif eval $BYOBU_TEST opkg >/dev/null; then
-+ # If opkg (OpenWrt) exists, use it, also background if flock exists
-+ if eval $BYOBU_TEST flock >/dev/null; then
-+ flock -xn "$flock" opkg list-upgradable | wc -l >$mycache 2>/dev/null &
-+ else
-+ opkg list-upgradable | wc -l >$mycache &
-+ fi
- elif eval $BYOBU_TEST brew >/dev/null; then
- # If homebrew (Mac OSX) exists, use it, also background if flock exists
-- if eval $BYOBU_TEST flock; then
-+ if eval $BYOBU_TEST flock >/dev/null; then
- flock -xn "$flock" brew outdated | wc -l >$mycache 2>/dev/null &
- else
- brew outdated | wc -l >$mycache &
-@@ -106,6 +113,18 @@ ___update_needed() {
- [ "$db" -nt "$mycache" ] && return 0
- done
- return 1
-+ elif eval $BYOBU_TEST opkg >/dev/null; then
-+ # OpenWrt
-+ [ ! -e /var/lock/opkg.lock ] || return 1
-+ if [ -d /var/opkg-lists ]; then
-+ [ /var/opkg-lists -nt "$mycache" ]
-+ return $?
-+ else
-+ local u s
-+ read u s < "$mycache"
-+ [ "$u" -gt 0 ]
-+ return $?
-+ fi
- elif eval $BYOBU_TEST brew >/dev/null; then
- # Mac OSX
- # check if any new versions have been installed since
+++ /dev/null
---- a/usr/lib/byobu/whoami
-+++ b/usr/lib/byobu/whoami
-@@ -19,12 +19,28 @@
- # You should have received a copy of the GNU General Public License
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-+___get_user() {
-+ if eval $BYOBU_TEST whoami >/dev/null 2>&1; then
-+ whoami
-+ elif eval $BYOBU_TEST id >/dev/null 2>&1; then
-+ id -un
-+ fi
-+}
-+
- __whoami_detail() {
-- getent -- passwd "$USER"
-+ local user=$(___get_user)
-+ [ -n "$user" ] || return
-+ if eval $BYOBU_TEST getent >/dev/null 2>&1; then
-+ getent -- passwd "$user"
-+ else
-+ grep "^$user:" /etc/passwd
-+ fi
- }
-
- __whoami() {
-- color bold2; printf "%s@" "$(whoami)"; color -
-+ local user=$(___get_user)
-+ [ -n "$user" ] || return
-+ color bold2; printf "%s@" "$user"; color -
- }
-
- # vi: syntax=sh ts=4 noexpandtab
+++ /dev/null
---- a/usr/lib/byobu/wifi_quality
-+++ b/usr/lib/byobu/wifi_quality
-@@ -19,32 +19,61 @@
- # You should have received a copy of the GNU General Public License
- # along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-+___get_dev_list() {
-+ if [ -n "$MONITORED_NETWORK" ]; then
-+ echo "$MONITORED_NETWORK"
-+ else
-+ iw dev | grep Interface | cut -f2 -d\
-+ fi
-+}
-+
- __wifi_quality_detail() {
-- /sbin/iwconfig 2>/dev/null
-+ if eval $BYOBU_TEST iw >/dev/null 2>&1; then
-+ local dev
-+ for dev in $(___get_dev_list); do
-+ iw dev "$dev" info
-+ iw dev "$dev" link
-+ echo
-+ done
-+ elif eval $BYOBU_TEST iwconfig >/dev/null 2>&1; then
-+ iwconfig 2>/dev/null
-+ fi
- }
-
- __wifi_quality() {
- local out bitrate quality
-- # iwconfig is expected to output lines like:
-- # Bit Rate=54 Mb/s Tx-Power=15 dBm
-- # Link Quality=60/70 Signal level=-50 dBm
-- # the awk below tokenizes the output and prints shell evalable results
-- out=`iwconfig $MONITORED_NETWORK 2>/dev/null |
-- awk '$0 ~ /[ ]*Link Quality./ {
-- sub(/.*=/,"",$2); split($2,a,"/");
-- printf "quality=%.0f\n", 100*a[1]/a[2] };
-- $0 ~ /[ ]*Bit Rate/ { sub(/.*[:=]/,"",$2); printf("bitrate=%s\n", $2); }
-- '`
-- eval "$out"
-- [ -z "$bitrate" ] && bitrate="0"
-- if [ -z "$quality" ] || [ "$quality" = "0" ]; then
-- quality="0"
-+ if eval $BYOBU_TEST iw >/dev/null 2>&1; then
-+ local dev
-+ for dev in $(___get_dev_list); do
-+ # signal to quality: https://superuser.com/a/1360447
-+ out=`iw dev "$dev" link 2>/dev/null |
-+ awk '$0 ~ /^\s*signal:/ { a = 100 * ($2 + 110) / 70;
-+ printf "quality=%.0f\n", (a > 100) ? 100 : ((a < 0) ? 0 : a); }
-+ $0 ~ /^\s*tx bitrate:/ { printf "bitrate=%s\n", $3; }
-+ '`
-+ eval "$out"
-+ [ -z "$bitrate" ] || [ -z "$quality" ] || break
-+ done
-+ elif eval $BYOBU_TEST iwconfig >/dev/null 2>&1; then
-+ # iwconfig is expected to output lines like:
-+ # Bit Rate=54 Mb/s Tx-Power=15 dBm
-+ # Link Quality=60/70 Signal level=-50 dBm
-+ # the awk below tokenizes the output and prints shell evalable results
-+ out=`iwconfig $MONITORED_NETWORK 2>/dev/null |
-+ awk '$0 ~ /[ ]*Link Quality./ {
-+ sub(/.*=/,"",$2); split($2,a,"/");
-+ printf "quality=%.0f\n", 100*a[1]/a[2] };
-+ $0 ~ /[ ]*Bit Rate/ { sub(/.*[:=]/,"",$2); printf("bitrate=%s\n", $2); }
-+ '`
-+ eval "$out"
- fi
-- if [ "$bitrate" = "0" ] || [ "$quality" = "0" ] || [ -z "$bitrate" ] || [ -z "$quality"]; then
-+ [ -n "$bitrate" ] || bitrate=0
-+ [ -n "$quality" ] || quality=0
-+ if [ "$bitrate" -gt 0 ] && [ "$quality" -gt 0 ]; then
-+ printf "${ICON_WIFI}"; color b C k; printf "%s" "$bitrate"; color -; color C k; printf "%s" "$ICON_MBPS"; color -; color b C k; printf "%s" "$quality"; color -; color C k; printf "%s" "$PCT"; color --
-+ else
- rm -f "$BYOBU_RUN_DIR/status.$BYOBU_BACKEND/wifi_quality"*
-- return
- fi
-- printf "${ICON_WIFI}"; color b C k; printf "%s" "$bitrate"; color -; color C k; printf "%s" "$ICON_MBPS"; color -; color b C k; printf "%s" "$quality"; color -; color C k; printf "%s" "$PCT"; color --
- }
-
- # vi: syntax=sh ts=4 noexpandtab
+++ /dev/null
---- a/usr/lib/byobu/raid
-+++ b/usr/lib/byobu/raid
-@@ -24,6 +24,7 @@ __raid_detail() {
- }
-
- __raid() {
-+ [ -r /proc/mdstat ] || return
- while read line; do
- local p msg
- # Errors in your raid
+++ /dev/null
---- a/usr/lib/byobu/session
-+++ b/usr/lib/byobu/session
-@@ -34,7 +34,7 @@ __session() {
- fi
- ;;
- screen)
-- local count=$(screen -ls | grep "^ .*\)$" | wc -l)
-+ local count=$(screen -ls | grep "^\s\+.*)$" | wc -l)
- if [ $count -gt 1 ]; then
- color u W k; printf "${ICON_SESSION}%S"; color --
- else
include $(TOPDIR)/rules.mk
PKG_NAME:=collectd
-PKG_VERSION:=5.8.1
-PKG_RELEASE:=6
+PKG_VERSION:=5.9.0
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://collectd.org/files/ \
https://github.com/collectd/collectd/releases/download/collectd-$(PKG_VERSION)
-PKG_HASH:=e796fda27ce06377f491ad91aa286962a68c2b54076aa77a29673d53204453da
+PKG_HASH:=7b220f8898a061f6e7f29a8c16697d1a198277f813da69474a67911097c0626b
PKG_FIXUP:=autoreconf
PKG_REMOVE_FILES:=aclocal.m4 libltdl/aclocal.m4
COLLECTD_PLUGINS_DISABLED:= \
amqp \
+ ampq1 \
apple_sensors \
aquaero \
barometer \
genericjmx \
gmond \
gps \
+ gpu_nvidia \
grpc \
hddtemp \
hugepages \
oracle \
ovs_events \
ovs_stats \
+ pcie_errors \
perl \
pf \
pinba \
write_redis \
write_riemann \
write_sensu \
+ write_stackdriver \
+ write_syslog \
write_tsdb \
xencpu \
xmms \
$(eval $(call BuildPlugin,ping,ping status input,ping,+PACKAGE_collectd-mod-ping:liboping))
$(eval $(call BuildPlugin,postgresql,PostgreSQL status input,postgresql,+PACKAGE_collectd-mod-postgresql:libpq))
$(eval $(call BuildPlugin,powerdns,PowerDNS server status input,powerdns,))
-$(eval $(call BuildPlugin,processes,process status input,processes,))
+$(eval $(call BuildPlugin,processes,process status input,processes,+PACKAGE_collectd-mod-processes:libmnl))
$(eval $(call BuildPlugin,protocols,network protocols input,protocols,))
$(eval $(call BuildPlugin,rrdtool,RRDtool output,rrdtool,+PACKAGE_collectd-mod-rrdtool:librrd1))
$(eval $(call BuildPlugin,sensors,lm_sensors input,sensors,+PACKAGE_collectd-mod-sensors:libsensors))
+++ /dev/null
-From d5a3c020d33cc33ee8049f54c7b4dffcd123bf83 Mon Sep 17 00:00:00 2001
-From: Pavel Rochnyack <pavel2000@ngs.ru>
-Date: Mon, 3 Dec 2018 18:34:14 +0700
-Subject: [PATCH] sensors: Removed checks for upper limit of
- SENSORS_API_VERSION
-
-That makes no more sense after lm-sensors got new maintainers.
-
-Closes: #3006
----
- src/sensors.c | 17 ++++++-----------
- 1 file changed, 6 insertions(+), 11 deletions(-)
-
-diff --git a/src/sensors.c b/src/sensors.c
-index f4ecda5e49..33982e061a 100644
---- a/src/sensors.c
-+++ b/src/sensors.c
-@@ -149,7 +149,7 @@ typedef struct featurelist {
- static char *conffile = SENSORS_CONF_PATH;
- /* #endif SENSORS_API_VERSION < 0x400 */
-
--#elif (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500)
-+#elif (SENSORS_API_VERSION >= 0x400)
- typedef struct featurelist {
- const sensors_chip_name *chip;
- const sensors_feature *feature;
-@@ -159,11 +159,6 @@ typedef struct featurelist {
-
- static char *conffile = NULL;
- static _Bool use_labels = 0;
--/* #endif (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500) */
--
--#else /* if SENSORS_API_VERSION >= 0x500 */
--#error "This version of libsensors is not supported yet. Please report this " \
-- "as bug."
- #endif
-
- static featurelist_t *first_feature = NULL;
-@@ -223,7 +218,7 @@ static int sensors_config(const char *key, const char *value) {
- if (IS_TRUE(value))
- ignorelist_set_invert(sensor_list, 0);
- }
--#if (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500)
-+#if (SENSORS_API_VERSION >= 0x400)
- else if (strcasecmp(key, "UseLabels") == 0) {
- use_labels = IS_TRUE(value) ? 1 : 0;
- }
-@@ -353,7 +348,7 @@ static int sensors_load_conf(void) {
- } /* while sensors_get_detected_chips */
- /* #endif SENSORS_API_VERSION < 0x400 */
-
--#elif (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500)
-+#elif (SENSORS_API_VERSION >= 0x400)
- chip_num = 0;
- while ((chip = sensors_get_detected_chips(NULL, &chip_num)) != NULL) {
- const sensors_feature *feature;
-@@ -410,7 +405,7 @@ static int sensors_load_conf(void) {
- } /* while (subfeature) */
- } /* while (feature) */
- } /* while (chip) */
--#endif /* (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500) */
-+#endif /* (SENSORS_API_VERSION >= 0x400) */
-
- if (first_feature == NULL) {
- sensors_cleanup();
-@@ -485,7 +480,7 @@ static int sensors_read(void) {
- } /* for fl = first_feature .. NULL */
- /* #endif SENSORS_API_VERSION < 0x400 */
-
--#elif (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500)
-+#elif (SENSORS_API_VERSION >= 0x400)
- for (featurelist_t *fl = first_feature; fl != NULL; fl = fl->next) {
- double value;
- int status;
-@@ -528,7 +523,7 @@ static int sensors_read(void) {
-
- sensors_submit(plugin_instance, type, type_instance, value);
- } /* for fl = first_feature .. NULL */
--#endif /* (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500) */
-+#endif /* (SENSORS_API_VERSION >= 0x400) */
-
- return 0;
- } /* int sensors_read */
-
+++ /dev/null
-From 6028f89df95b12219d735b277863f83e9f5ee9e9 Mon Sep 17 00:00:00 2001
-From: PJ Bostley <pbostley@gmail.com>
-Date: Sat, 20 Jan 2018 16:39:36 -0700
-Subject: [PATCH 1/2] Adding support for CDAB endian 32-bit modbus polls
-
----
- src/modbus.c | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
- 1 file changed, 56 insertions(+), 5 deletions(-)
-
-diff --git a/src/modbus.c b/src/modbus.c
-index 31f0c2da81..daa3c028f5 100644
---- a/src/modbus.c
-+++ b/src/modbus.c
-@@ -76,9 +76,13 @@
- enum mb_register_type_e /* {{{ */
- { REG_TYPE_INT16,
- REG_TYPE_INT32,
-+ REG_TYPE_INT32_CDAB,
- REG_TYPE_UINT16,
- REG_TYPE_UINT32,
-- REG_TYPE_FLOAT }; /* }}} */
-+ REG_TYPE_UINT32_CDAB,
-+ REG_TYPE_FLOAT,
-+ REG_TYPE_FLOAT_CDAB }; /* }}} */
-+
- enum mb_mreg_type_e /* {{{ */
- { MREG_HOLDING,
- MREG_INPUT }; /* }}} */
-@@ -425,7 +429,9 @@ static int mb_read_data(mb_host_t *host, mb_slave_t *slave, /* {{{ */
-
- if ((ds->ds[0].type != DS_TYPE_GAUGE) &&
- (data->register_type != REG_TYPE_INT32) &&
-- (data->register_type != REG_TYPE_UINT32)) {
-+ (data->register_type != REG_TYPE_INT32_CDAB) &&
-+ (data->register_type != REG_TYPE_UINT32) &&
-+ (data->register_type != REG_TYPE_UINT32_CDAB)) {
- NOTICE(
- "Modbus plugin: The data source of type \"%s\" is %s, not gauge. "
- "This will most likely result in problems, because the register type "
-@@ -434,8 +440,11 @@ static int mb_read_data(mb_host_t *host, mb_slave_t *slave, /* {{{ */
- }
-
- if ((data->register_type == REG_TYPE_INT32) ||
-+ (data->register_type == REG_TYPE_INT32_CDAB) ||
- (data->register_type == REG_TYPE_UINT32) ||
-- (data->register_type == REG_TYPE_FLOAT))
-+ (data->register_type == REG_TYPE_UINT32_CDAB) ||
-+ (data->register_type == REG_TYPE_FLOAT) ||
-+ (data->register_type == REG_TYPE_FLOAT_CDAB))
- values_num = 2;
- else
- values_num = 1;
-@@ -496,8 +505,8 @@ static int mb_read_data(mb_host_t *host, mb_slave_t *slave, /* {{{ */
- }
- if (status != values_num) {
- ERROR("Modbus plugin: modbus read function (%s/%s) failed. "
-- " status = %i, values_num = %i. Giving up.",
-- host->host, host->node, status, values_num);
-+ " status = %i, start_addr = %i, values_num = %i. Giving up.",
-+ host->host, host->node, status, data->register_base, values_num);
- #if LEGACY_LIBMODBUS
- modbus_close(&host->connection);
- #else
-@@ -521,6 +530,17 @@ static int mb_read_data(mb_host_t *host, mb_slave_t *slave, /* {{{ */
- "Returned float value is %g",
- (double)float_value);
-
-+ CAST_TO_VALUE_T(ds, vt, float_value);
-+ mb_submit(host, slave, data, vt);
-+ } else if (data->register_type == REG_TYPE_FLOAT_CDAB) {
-+ float float_value;
-+ value_t vt;
-+
-+ float_value = mb_register_to_float(values[1], values[0]);
-+ DEBUG("Modbus plugin: mb_read_data: "
-+ "Returned float value is %g",
-+ (double)float_value);
-+
- CAST_TO_VALUE_T(ds, vt, float_value);
- mb_submit(host, slave, data, vt);
- } else if (data->register_type == REG_TYPE_INT32) {
-@@ -535,6 +555,20 @@ static int mb_read_data(mb_host_t *host, mb_slave_t *slave, /* {{{ */
- "Returned int32 value is %" PRIi32,
- v.i32);
-
-+ CAST_TO_VALUE_T(ds, vt, v.i32);
-+ mb_submit(host, slave, data, vt);
-+ } else if (data->register_type == REG_TYPE_INT32_CDAB) {
-+ union {
-+ uint32_t u32;
-+ int32_t i32;
-+ } v;
-+ value_t vt;
-+
-+ v.u32 = (((uint32_t)values[1]) << 16) | ((uint32_t)values[0]);
-+ DEBUG("Modbus plugin: mb_read_data: "
-+ "Returned int32 value is %" PRIi32,
-+ v.i32);
-+
- CAST_TO_VALUE_T(ds, vt, v.i32);
- mb_submit(host, slave, data, vt);
- } else if (data->register_type == REG_TYPE_INT16) {
-@@ -561,6 +595,17 @@ static int mb_read_data(mb_host_t *host, mb_slave_t *slave, /* {{{ */
- "Returned uint32 value is %" PRIu32,
- v32);
-
-+ CAST_TO_VALUE_T(ds, vt, v32);
-+ mb_submit(host, slave, data, vt);
-+ } else if (data->register_type == REG_TYPE_UINT32_CDAB) {
-+ uint32_t v32;
-+ value_t vt;
-+
-+ v32 = (((uint32_t)values[1]) << 16) | ((uint32_t)values[0]);
-+ DEBUG("Modbus plugin: mb_read_data: "
-+ "Returned uint32 value is %" PRIu32,
-+ v32);
-+
- CAST_TO_VALUE_T(ds, vt, v32);
- mb_submit(host, slave, data, vt);
- } else /* if (data->register_type == REG_TYPE_UINT16) */
-@@ -702,12 +747,18 @@ static int mb_config_add_data(oconfig_item_t *ci) /* {{{ */
- data.register_type = REG_TYPE_INT16;
- else if (strcasecmp("Int32", tmp) == 0)
- data.register_type = REG_TYPE_INT32;
-+ else if (strcasecmp("Int32LE", tmp) == 0)
-+ data.register_type = REG_TYPE_INT32_CDAB;
- else if (strcasecmp("Uint16", tmp) == 0)
- data.register_type = REG_TYPE_UINT16;
- else if (strcasecmp("Uint32", tmp) == 0)
- data.register_type = REG_TYPE_UINT32;
-+ else if (strcasecmp("Uint32LE", tmp) == 0)
-+ data.register_type = REG_TYPE_UINT32_CDAB;
- else if (strcasecmp("Float", tmp) == 0)
- data.register_type = REG_TYPE_FLOAT;
-+ else if (strcasecmp("FloatLE", tmp) == 0)
-+ data.register_type = REG_TYPE_FLOAT_CDAB;
- else {
- ERROR("Modbus plugin: The register type \"%s\" is unknown.", tmp);
- status = -1;
-
-From 67afd2685892e69ababb489f48b9033ab5908f4d Mon Sep 17 00:00:00 2001
-From: PJ Bostley <pbostley@gmail.com>
-Date: Tue, 23 Jan 2018 15:33:23 -0700
-Subject: [PATCH 2/2] Adding documentation for the Modbus little endian modes
- where 32 bit values have thier registers swapped
-
----
- src/collectd.conf.pod | 18 +++++++++++++-----
- 1 file changed, 13 insertions(+), 5 deletions(-)
-
-diff --git a/src/collectd.conf.pod b/src/collectd.conf.pod
-index dfd785a2c8..e9715126e6 100644
---- a/src/collectd.conf.pod
-+++ b/src/collectd.conf.pod
-@@ -4139,11 +4139,19 @@ Configures the base register to read from the device. If the option
- B<RegisterType> has been set to B<Uint32> or B<Float>, this and the next
- register will be read (the register number is increased by one).
-
--=item B<RegisterType> B<Int16>|B<Int32>|B<Uint16>|B<Uint32>|B<Float>
--
--Specifies what kind of data is returned by the device. If the type is B<Int32>,
--B<Uint32> or B<Float>, two 16E<nbsp>bit registers will be read and the data is
--combined into one value. Defaults to B<Uint16>.
-+=item B<RegisterType> B<Int16>|B<Int32>|B<Uint16>|B<Uint32>|B<Float>|B<Int32LE>|B<Uint32LE>|B<FloatLE>
-+
-+Specifies what kind of data is returned by the device. This defaults to
-+B<Uint16>. If the type is B<Int32>, B<Int32LE>, B<Uint32>, B<Uint32LE>,
-+B<Float> or B<FloatLE>, two 16E<nbsp>bit registers at B<RegisterBase>
-+and B<RegisterBase+1> will be read and the data is combined into one
-+32E<nbsp>value. For B<Int32>, B<Uint32> and B<Float> the most significant
-+16E<nbsp>bits are in the register at B<RegisterBase> and the least
-+significant 16E<nbsp>bits are in the register at B<RegisterBase+1>.
-+For B<Int32LE>, B<Uint32LE>, or B<Float32LE>, the high and low order
-+registers are swapped with the most significant 16E<nbsp>bits in
-+the B<RegisterBase+1> and the least significant 16E<nbsp>bits in
-+B<RegisterBase>.
-
- =item B<RegisterCmd> B<ReadHolding>|B<ReadInput>
-
+++ /dev/null
-From eeabc41e703f39cae0ad7eb8a596045a5a2f25b4 Mon Sep 17 00:00:00 2001
-From: cekstam <christian.ekstam@gmail.com>
-Date: Tue, 27 Mar 2018 13:15:28 +0200
-Subject: [PATCH 1/3] Add scale and shift to modbus plugin
-
-Adding a Scale and Shift parameter to the modbus plugin in order to correct amplifed data
----
- src/collectd.conf.pod | 10 ++++++++++
- src/modbus.c | 18 ++++++++++++++----
- 2 files changed, 24 insertions(+), 4 deletions(-)
-
---- a/src/collectd.conf.pod
-+++ b/src/collectd.conf.pod
-@@ -4169,6 +4169,16 @@ supported.
- Sets the type instance to use when dispatching the value to I<collectd>. If
- unset, an empty string (no type instance) is used.
-
-+=item B<Scale> I<Value>
-+
-+The values taken from collectd are multiplied by I<Value>. The field is optional
-+and the default is B<1.0>.
-+
-+=item B<Shift> I<Value>
-+
-+I<Value> is added to values from collectd after they have been multiplied by
-+B<Scale> value. The field is optional and the default value is B<0.0>.
-+
- =back
-
- =item E<lt>B<Host> I<Name>E<gt> blocks
---- a/src/modbus.c
-+++ b/src/modbus.c
-@@ -105,6 +105,8 @@ struct mb_data_s /* {{{ */
- mb_mreg_type_t modbus_register_type;
- char type[DATA_MAX_NAME_LEN];
- char instance[DATA_MAX_NAME_LEN];
-+ double scale;
-+ double shift;
-
- mb_data_t *next;
- }; /* }}} */
-@@ -395,13 +397,13 @@ static int mb_init_connection(mb_host_t
- #define CAST_TO_VALUE_T(ds, vt, raw) \
- do { \
- if ((ds)->ds[0].type == DS_TYPE_COUNTER) \
-- (vt).counter = (counter_t)(raw); \
-+ (vt).counter = (((counter_t)(raw) * ds[0].scale) + ds[0].shift); \
- else if ((ds)->ds[0].type == DS_TYPE_GAUGE) \
-- (vt).gauge = (gauge_t)(raw); \
-+ (vt).gauge = (((gauge_t)(raw) * ds[0].scale) + ds[0].shift); \
- else if ((ds)->ds[0].type == DS_TYPE_DERIVE) \
-- (vt).derive = (derive_t)(raw); \
-+ (vt).derive = (((derive_t)(raw) * ds[0].scale) + ds[0].shift); \
- else /* if (ds->ds[0].type == DS_TYPE_ABSOLUTE) */ \
-- (vt).absolute = (absolute_t)(raw); \
-+ (vt).absolute = (((absolute_t)(raw) * ds[0].scale) + ds[0].shift); \
- } while (0)
-
- static int mb_read_data(mb_host_t *host, mb_slave_t *slave, /* {{{ */
-@@ -723,6 +725,8 @@ static int mb_config_add_data(oconfig_it
- data.name = NULL;
- data.register_type = REG_TYPE_UINT16;
- data.next = NULL;
-+ data.scale = 1;
-+ data.shift = 0;
-
- status = cf_util_get_string(ci, &data.name);
- if (status != 0)
-@@ -736,6 +740,12 @@ static int mb_config_add_data(oconfig_it
- else if (strcasecmp("Instance", child->key) == 0)
- status = cf_util_get_string_buffer(child, data.instance,
- sizeof(data.instance));
-+ else if (strcasecmp("Scale", child->key) == 0)
-+ status = cf_util_get_string_buffer(child, data.scale,
-+ sizeof(data.scale));
-+ else if (strcasecmp("Shift", child->key) == 0)
-+ status = cf_util_get_string_buffer(child, data.shift,
-+ sizeof(data.shift));
- else if (strcasecmp("RegisterBase", child->key) == 0)
- status = cf_util_get_int(child, &data.register_base);
- else if (strcasecmp("RegisterType", child->key) == 0) {
+++ /dev/null
-From e596496f5c783f4bba85c4d559502c98e4050465 Mon Sep 17 00:00:00 2001
-From: cekstam <christian.ekstam@gmail.com>
-Date: Tue, 27 Mar 2018 14:11:52 +0200
-Subject: [PATCH 2/3] correcting all the wrongs
-
-, data->scale, data->shift
----
- src/modbus.c | 32 +++++++++++++++-----------------
- 1 file changed, 15 insertions(+), 17 deletions(-)
-
---- a/src/modbus.c
-+++ b/src/modbus.c
-@@ -394,16 +394,16 @@ static int mb_init_connection(mb_host_t
- } /* }}} int mb_init_connection */
- #endif /* !LEGACY_LIBMODBUS */
-
--#define CAST_TO_VALUE_T(ds, vt, raw) \
-+#define CAST_TO_VALUE_T(ds, vt, raw, scale, shift) \
- do { \
- if ((ds)->ds[0].type == DS_TYPE_COUNTER) \
-- (vt).counter = (((counter_t)(raw) * ds[0].scale) + ds[0].shift); \
-+ (vt).counter = (((counter_t)(raw) * scale) + shift); \
- else if ((ds)->ds[0].type == DS_TYPE_GAUGE) \
-- (vt).gauge = (((gauge_t)(raw) * ds[0].scale) + ds[0].shift); \
-+ (vt).gauge = (((gauge_t)(raw) * scale) + shift); \
- else if ((ds)->ds[0].type == DS_TYPE_DERIVE) \
-- (vt).derive = (((derive_t)(raw) * ds[0].scale) + ds[0].shift); \
-+ (vt).derive = (((derive_t)(raw) * scale) + shift); \
- else /* if (ds->ds[0].type == DS_TYPE_ABSOLUTE) */ \
-- (vt).absolute = (((absolute_t)(raw) * ds[0].scale) + ds[0].shift); \
-+ (vt).absolute = (((absolute_t)(raw) * scale) + shift); \
- } while (0)
-
- static int mb_read_data(mb_host_t *host, mb_slave_t *slave, /* {{{ */
-@@ -532,7 +532,7 @@ static int mb_read_data(mb_host_t *host,
- "Returned float value is %g",
- (double)float_value);
-
-- CAST_TO_VALUE_T(ds, vt, float_value);
-+ CAST_TO_VALUE_T(ds, vt, float_value, data->scale, data->shift);
- mb_submit(host, slave, data, vt);
- } else if (data->register_type == REG_TYPE_FLOAT_CDAB) {
- float float_value;
-@@ -543,7 +543,7 @@ static int mb_read_data(mb_host_t *host,
- "Returned float value is %g",
- (double)float_value);
-
-- CAST_TO_VALUE_T(ds, vt, float_value);
-+ CAST_TO_VALUE_T(ds, vt, float_value, data->scale, data->shift);
- mb_submit(host, slave, data, vt);
- } else if (data->register_type == REG_TYPE_INT32) {
- union {
-@@ -557,7 +557,7 @@ static int mb_read_data(mb_host_t *host,
- "Returned int32 value is %" PRIi32,
- v.i32);
-
-- CAST_TO_VALUE_T(ds, vt, v.i32);
-+ CAST_TO_VALUE_T(ds, vt, v.i32, data->scale, data->shift);
- mb_submit(host, slave, data, vt);
- } else if (data->register_type == REG_TYPE_INT32_CDAB) {
- union {
-@@ -571,7 +571,7 @@ static int mb_read_data(mb_host_t *host,
- "Returned int32 value is %" PRIi32,
- v.i32);
-
-- CAST_TO_VALUE_T(ds, vt, v.i32);
-+ CAST_TO_VALUE_T(ds, vt, v.i32, data->scale, data->shift);
- mb_submit(host, slave, data, vt);
- } else if (data->register_type == REG_TYPE_INT16) {
- union {
-@@ -586,7 +586,7 @@ static int mb_read_data(mb_host_t *host,
- "Returned int16 value is %" PRIi16,
- v.i16);
-
-- CAST_TO_VALUE_T(ds, vt, v.i16);
-+ CAST_TO_VALUE_T(ds, vt, v.i16, data->scale, data->shift);
- mb_submit(host, slave, data, vt);
- } else if (data->register_type == REG_TYPE_UINT32) {
- uint32_t v32;
-@@ -597,7 +597,7 @@ static int mb_read_data(mb_host_t *host,
- "Returned uint32 value is %" PRIu32,
- v32);
-
-- CAST_TO_VALUE_T(ds, vt, v32);
-+ CAST_TO_VALUE_T(ds, vt, v32, data->scale, data->shift);
- mb_submit(host, slave, data, vt);
- } else if (data->register_type == REG_TYPE_UINT32_CDAB) {
- uint32_t v32;
-@@ -608,7 +608,7 @@ static int mb_read_data(mb_host_t *host,
- "Returned uint32 value is %" PRIu32,
- v32);
-
-- CAST_TO_VALUE_T(ds, vt, v32);
-+ CAST_TO_VALUE_T(ds, vt, v32, data->scale, data->shift);
- mb_submit(host, slave, data, vt);
- } else /* if (data->register_type == REG_TYPE_UINT16) */
- {
-@@ -618,7 +618,7 @@ static int mb_read_data(mb_host_t *host,
- "Returned uint16 value is %" PRIu16,
- values[0]);
-
-- CAST_TO_VALUE_T(ds, vt, values[0]);
-+ CAST_TO_VALUE_T(ds, vt, values[0], data->scale, data->shift);
- mb_submit(host, slave, data, vt);
- }
-
-@@ -741,11 +741,9 @@ static int mb_config_add_data(oconfig_it
- status = cf_util_get_string_buffer(child, data.instance,
- sizeof(data.instance));
- else if (strcasecmp("Scale", child->key) == 0)
-- status = cf_util_get_string_buffer(child, data.scale,
-- sizeof(data.scale));
-+ status = cf_util_get_double(child, &data.scale);
- else if (strcasecmp("Shift", child->key) == 0)
-- status = cf_util_get_string_buffer(child, data.shift,
-- sizeof(data.shift));
-+ status = cf_util_get_double(child, &data.shift);
- else if (strcasecmp("RegisterBase", child->key) == 0)
- status = cf_util_get_int(child, &data.register_base);
- else if (strcasecmp("RegisterType", child->key) == 0) {
+++ /dev/null
-From a00ab52931a587cf29c53a945e9295b4d7fe41ba Mon Sep 17 00:00:00 2001
-From: Daniel Golle <daniel@makrotopia.org>
-Date: Thu, 28 Mar 2019 01:52:04 +0100
-Subject: [PATCH] Add support for RS485 to modbus plugin
-
-Allow setting up RS485 mode for Modbus-RTU
----
- src/collectd.conf.pod | 6 +++++
- src/modbus.c | 55 +++++++++++++++++++++++++++++++++++++++----
- 2 files changed, 57 insertions(+), 4 deletions(-)
-
---- a/src/collectd.conf.pod
-+++ b/src/collectd.conf.pod
-@@ -4234,6 +4234,12 @@ For Modbus/RTU, specifies the path to th
- For Modbus/RTU, specifies the baud rate of the serial device.
- Note, connections currently support only 8/N/1.
-
-+=item B<UARTType> I<UARTType>
-+
-+For Modbus/RTU, specifies the type of the serial device.
-+RS232, RS422 and RS485 are supported. Defaults to RS232.
-+Available only on Linux systems with libmodbus>=2.9.4.
-+
- =item B<Interval> I<Interval>
-
- Sets the interval (in seconds) in which the values will be collected from this
---- a/src/modbus.c
-+++ b/src/modbus.c
-@@ -95,6 +95,12 @@ enum mb_conntype_e /* {{{ */
- MBCONN_RTU }; /* }}} */
- typedef enum mb_conntype_e mb_conntype_t;
-
-+enum mb_uarttype_e /* {{{ */
-+{ UARTTYPE_RS232,
-+ UARTTYPE_RS422,
-+ UARTTYPE_RS485 }; /* }}} */
-+typedef enum mb_uarttype_e mb_uarttype_t;
-+
- struct mb_data_s;
- typedef struct mb_data_s mb_data_t;
- struct mb_data_s /* {{{ */
-@@ -124,8 +130,9 @@ struct mb_host_s /* {{{ */
- char host[DATA_MAX_NAME_LEN];
- char node[NI_MAXHOST]; /* TCP hostname or RTU serial device */
- /* char service[NI_MAXSERV]; */
-- int port; /* for Modbus/TCP */
-- int baudrate; /* for Modbus/RTU */
-+ int port; /* for Modbus/TCP */
-+ int baudrate; /* for Modbus/RTU */
-+ mb_uarttype_t uarttype; /* UART type for Modbus/RTU */
- mb_conntype_t conntype;
- cdtime_t interval;
-
-@@ -390,6 +397,22 @@ static int mb_init_connection(mb_host_t
- return status;
- }
-
-+#if defined(linux) && LIBMODBUS_VERSION_CHECK(2, 9, 4)
-+ switch (host->uarttype) {
-+ case UARTTYPE_RS485:
-+ if (modbus_rtu_set_serial_mode(host->connection, MODBUS_RTU_RS485))
-+ DEBUG("Modbus plugin: Setting RS485 mode failed.");
-+ break;
-+ case UARTTYPE_RS422:
-+ /* libmodbus doesn't say anything about full-duplex symmetric RS422 UART */
-+ break;
-+ case UARTTYPE_RS232:
-+ break;
-+ default:
-+ DEBUG("Modbus plugin: Invalid UART type!.");
-+ }
-+#endif /* defined(linux) && LIBMODBUS_VERSION_CHECK(2, 9, 4) */
-+
- return 0;
- } /* }}} int mb_init_connection */
- #endif /* !LEGACY_LIBMODBUS */
-@@ -951,11 +974,35 @@ static int mb_config_add_host(oconfig_it
- status = -1;
- } else if (strcasecmp("Device", child->key) == 0) {
- status = cf_util_get_string_buffer(child, host->node, sizeof(host->node));
-- if (status == 0)
-+ if (status == 0) {
- host->conntype = MBCONN_RTU;
-+ host->uarttype = UARTTYPE_RS232;
-+ }
- } else if (strcasecmp("Baudrate", child->key) == 0)
- status = cf_util_get_int(child, &host->baudrate);
-- else if (strcasecmp("Interval", child->key) == 0)
-+ else if (strcasecmp("UARTType", child->key) == 0) {
-+#if defined(linux) && !LEGACY_LIBMODBUS && LIBMODBUS_VERSION_CHECK(2, 9, 4)
-+ char buffer[NI_MAXHOST];
-+ status = cf_util_get_string_buffer(child, buffer, sizeof(buffer));
-+ if (status != 0)
-+ break;
-+ if (strncmp(buffer, "RS485", 6) == 0)
-+ host->uarttype = UARTTYPE_RS485;
-+ else if (strncmp(buffer, "RS422", 6) == 0)
-+ host->uarttype = UARTTYPE_RS422;
-+ else if (strncmp(buffer, "RS232", 6) == 0)
-+ host->uarttype = UARTTYPE_RS232;
-+ else {
-+ ERROR("Modbus plugin: The UARTType \"%s\" is unknown.", buffer);
-+ status = -1;
-+ break;
-+ }
-+#else
-+ ERROR("Modbus plugin: Option `UARTType' not supported. Please "
-+ "upgrade libmodbus to at least 2.9.4");
-+ return -1;
-+#endif
-+ } else if (strcasecmp("Interval", child->key) == 0)
- status = cf_util_get_cdtime(child, &host->interval);
- else if (strcasecmp("Slave", child->key) == 0)
- /* Don't set status: Gracefully continue if a slave fails. */
/* consolidation_functions = */ NULL,
/* consolidation_functions_num = */ 0,
-@@ -949,6 +952,12 @@ static int rrd_config(const char *key, c
+@@ -944,6 +947,12 @@ static int rrd_config(const char *key, c
/* compar = */ rrd_compare_numeric);
free(value_copy);
} else if (strcasecmp("XFF", key) == 0) {
double tmp = atof(value);
if ((tmp < 0.0) || (tmp >= 1.0)) {
---- a/src/utils_rrdcreate.c
-+++ b/src/utils_rrdcreate.c
+--- a/src/utils/rrdcreate/rrdcreate.c
++++ b/src/utils/rrdcreate/rrdcreate.c
@@ -180,6 +180,9 @@ static int rra_get(char ***ret, const va
rts_num = rra_timespans_num;
}
rra_max = rts_num * rra_types_num;
assert(rra_max > 0);
---- a/src/utils_rrdcreate.h
-+++ b/src/utils_rrdcreate.h
+--- a/src/utils/rrdcreate/rrdcreate.h
++++ b/src/utils/rrdcreate/rrdcreate.h
@@ -40,6 +40,8 @@ struct rrdcreate_config_s {
int *timespans;
size_t timespans_num;
--- a/src/daemon/plugin.c
+++ b/src/daemon/plugin.c
-@@ -1099,7 +1099,7 @@ static int plugin_insert_read(read_func_
+@@ -1085,7 +1085,7 @@ static int plugin_insert_read(read_func_
int status;
llentry_t *le;
--- a/src/olsrd.c
+++ b/src/olsrd.c
-@@ -585,7 +585,7 @@ static int olsrd_read(void) /* {{{ */
+@@ -582,7 +582,7 @@ static int olsrd_read(void) /* {{{ */
if (fh == NULL)
return -1;
--- a/configure.ac
+++ b/configure.ac
-@@ -3327,9 +3327,9 @@ if test "x$with_libmodbus" = "xyes"; the
+@@ -3399,9 +3399,9 @@ if test "x$with_libmodbus" = "xyes"; the
SAVE_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $with_libmodbus_cflags"
--- a/src/modbus.c
+++ b/src/modbus.c
@@ -26,7 +26,7 @@
- #include "configfile.h"
#include "plugin.h"
+ #include "utils/common/common.h"
-#include <modbus.h>
+#include <modbus/modbus.h>
--- a/configure.ac
+++ b/configure.ac
-@@ -526,11 +526,7 @@ if test "x$ac_system" = "xLinux"; then
+@@ -531,11 +531,7 @@ if test "x$ac_system" = "xLinux"; then
[have_cpuid_h="no (cpuid.h not found)"]
)
--- a/configure.ac
+++ b/configure.ac
-@@ -710,6 +710,11 @@ AC_CACHE_CHECK([whether clock_boottime a
+@@ -721,6 +721,11 @@ AC_CACHE_CHECK([whether clock_boottime a
]
)
#
# Checks for typedefs, structures, and compiler characteristics.
-@@ -6127,6 +6132,7 @@ plugin_ipc="no"
+@@ -6392,6 +6397,7 @@ plugin_ipc="no"
plugin_ipmi="no"
plugin_ipvs="no"
plugin_irq="no"
plugin_load="no"
plugin_log_logstash="no"
plugin_mcelog="no"
-@@ -6538,6 +6544,7 @@ AC_PLUGIN([ipmi], [$plugi
- AC_PLUGIN([iptables], [$with_libiptc], [IPTables rule counters])
- AC_PLUGIN([ipvs], [$plugin_ipvs], [IPVS connection statistics])
- AC_PLUGIN([irq], [$plugin_irq], [IRQ statistics])
-+AC_PLUGIN([iwinfo], [$with_iwinfo], [Common iwinfo wireless statistics])
- AC_PLUGIN([java], [$with_java], [Embed the Java Virtual Machine])
- AC_PLUGIN([load], [$plugin_load], [System load])
- AC_PLUGIN([log_logstash], [$plugin_log_logstash], [Logstash json_event compatible logging])
-@@ -6899,6 +6906,7 @@ AC_MSG_RESULT([ libyajl . . . . . . .
+@@ -6826,6 +6832,7 @@ AC_PLUGIN([ipmi], [$plugi
+ AC_PLUGIN([iptables], [$with_libiptc], [IPTables rule counters])
+ AC_PLUGIN([ipvs], [$plugin_ipvs], [IPVS connection statistics])
+ AC_PLUGIN([irq], [$plugin_irq], [IRQ statistics])
++AC_PLUGIN([iwinfo], [$with_iwinfo], [Common iwinfo wireless statistics])
+ AC_PLUGIN([java], [$with_java], [Embed the Java Virtual Machine])
+ AC_PLUGIN([load], [$plugin_load], [System load])
+ AC_PLUGIN([log_logstash], [$plugin_log_logstash], [Logstash json_event compatible logging])
+@@ -7193,6 +7200,7 @@ AC_MSG_RESULT([ libyajl . . . . . . .
AC_MSG_RESULT([ oracle . . . . . . . $with_oracle])
AC_MSG_RESULT([ protobuf-c . . . . . $have_protoc_c])
AC_MSG_RESULT([ protoc 3 . . . . . . $have_protoc3])
AC_MSG_RESULT()
AC_MSG_RESULT([ Features:])
AC_MSG_RESULT([ daemon mode . . . . . $enable_daemon])
-@@ -6957,6 +6965,7 @@ AC_MSG_RESULT([ ipmi . . . . . . . .
+@@ -7253,6 +7261,7 @@ AC_MSG_RESULT([ ipmi . . . . . . . .
AC_MSG_RESULT([ iptables . . . . . . $enable_iptables])
AC_MSG_RESULT([ ipvs . . . . . . . . $enable_ipvs])
AC_MSG_RESULT([ irq . . . . . . . . . $enable_irq])
AC_MSG_RESULT([ logfile . . . . . . . $enable_logfile])
--- a/src/collectd.conf.in
+++ b/src/collectd.conf.in
-@@ -137,6 +137,7 @@
+@@ -138,6 +138,7 @@
#@BUILD_PLUGIN_IPTABLES_TRUE@LoadPlugin iptables
#@BUILD_PLUGIN_IPVS_TRUE@LoadPlugin ipvs
#@BUILD_PLUGIN_IRQ_TRUE@LoadPlugin irq
#@BUILD_PLUGIN_JAVA_TRUE@LoadPlugin java
@BUILD_PLUGIN_LOAD_TRUE@@BUILD_PLUGIN_LOAD_TRUE@LoadPlugin load
#@BUILD_PLUGIN_LPAR_TRUE@LoadPlugin lpar
-@@ -721,6 +722,12 @@
+@@ -767,6 +768,12 @@
# IgnoreSelected true
#</Plugin>
# JVMArg "-Djava.class.path=@prefix@/share/collectd/java/collectd-api.jar"
--- a/src/collectd.conf.pod
+++ b/src/collectd.conf.pod
-@@ -3521,6 +3521,27 @@ and all other interrupts are collected.
+@@ -3803,6 +3803,27 @@ and all other interrupts are collected.
=back
+ **/
+
+#include "collectd.h"
-+#include "common.h"
+#include "plugin.h"
-+#include "utils_ignorelist.h"
++#include "utils/common/common.h"
++#include "utils/ignorelist/ignorelist.h"
+
+#include <stdint.h>
+#include <iwinfo.h>
+}
--- a/src/types.db
+++ b/src/types.db
-@@ -269,6 +269,7 @@ voltage_threshold value:GAUGE:U:U,
- vs_memory value:GAUGE:0:9223372036854775807
- vs_processes value:GAUGE:0:65535
- vs_threads value:GAUGE:0:65535
+@@ -240,6 +240,7 @@ voltage_threshold value:GAUGE:U:U,
+ spam_check value:GAUGE:0:U
+ spam_score value:GAUGE:U:U
+ spl value:GAUGE:U:U
+stations value:GAUGE:0:256
-
- #
- # Legacy types
+ swap value:GAUGE:0:1099511627776
+ swap_io value:DERIVE:0:U
+ tcp_connections value:GAUGE:0:4294967295
--- a/Makefile.am
+++ b/Makefile.am
-@@ -997,6 +997,14 @@ irq_la_LDFLAGS = $(PLUGIN_LDFLAGS)
+@@ -1149,6 +1149,14 @@ irq_la_LDFLAGS = $(PLUGIN_LDFLAGS)
irq_la_LIBADD = libignorelist.la
endif
--- a/src/ping.c
+++ b/src/ping.c
-@@ -633,7 +633,7 @@ static int ping_read(void) /* {{{ */
+@@ -648,7 +648,7 @@ static int ping_read(void) /* {{{ */
((double)(pkg_recv * (pkg_recv - 1))));
/* Calculate drop rate. */
+++ /dev/null
---- a/src/lua.c
-+++ b/src/lua.c
-@@ -281,9 +281,6 @@ static int lua_cb_register_read(lua_Stat
-
- luaL_checktype(L, 1, LUA_TFUNCTION);
-
-- char function_name[DATA_MAX_NAME_LEN];
-- snprintf(function_name, sizeof(function_name), "lua/%s", lua_tostring(L, 1));
--
- int callback_id = clua_store_callback(L, 1);
- if (callback_id < 0)
- return luaL_error(L, "%s", "Storing callback function failed");
-@@ -298,6 +295,9 @@ static int lua_cb_register_read(lua_Stat
- if (cb == NULL)
- return luaL_error(L, "%s", "calloc failed");
-
-+ char function_name[DATA_MAX_NAME_LEN];
-+ snprintf(function_name, sizeof(function_name), "lua/%p", thread);
-+
- cb->lua_state = thread;
- cb->callback_id = callback_id;
- cb->lua_function_name = strdup(function_name);
-@@ -325,9 +325,6 @@ static int lua_cb_register_write(lua_Sta
-
- luaL_checktype(L, 1, LUA_TFUNCTION);
-
-- char function_name[DATA_MAX_NAME_LEN] = "";
-- snprintf(function_name, sizeof(function_name), "lua/%s", lua_tostring(L, 1));
--
- int callback_id = clua_store_callback(L, 1);
- if (callback_id < 0)
- return luaL_error(L, "%s", "Storing callback function failed");
-@@ -342,6 +339,9 @@ static int lua_cb_register_write(lua_Sta
- if (cb == NULL)
- return luaL_error(L, "%s", "calloc failed");
-
-+ char function_name[DATA_MAX_NAME_LEN] = "";
-+ snprintf(function_name, sizeof(function_name), "lua/%p", thread);
-+
- cb->lua_state = thread;
- cb->callback_id = callback_id;
- cb->lua_function_name = strdup(function_name);
PKG_NAME:=lm-sensors
PKG_VERSION:=3.5.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_VERSION_SUBST=$(subst .,-,$(PKG_VERSION))
PKG_SOURCE_URL:=https://codeload.github.com/lm-sensors/lm-sensors/tar.gz/V$(PKG_VERSION_SUBST)?
define Package/libsensors/install
$(INSTALL_DIR) $(1)/usr/lib
- $(INSTALL_DATA) $(PKG_BUILD_DIR)/lib/libsensors.so* $(1)/usr/lib
+ $(CP) $(PKG_BUILD_DIR)/lib/libsensors.so* $(1)/usr/lib
endef
$(eval $(call BuildPackage,lm-sensors))
include $(TOPDIR)/rules.mk
PKG_NAME:=nano
-PKG_VERSION:=4.2
+PKG_VERSION:=4.3
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNU/nano
-PKG_HASH:=1143defce62e391b241252ffdb6e5c1ded56cfe26d46ee81b796abe0ccc45df9
+PKG_HASH:=00d3ad1a287a85b4bf83e5f06cedd0a9f880413682bebd52b4b1e2af8cfc0d81
PKG_LICENSE:=GPL-3.0+
PKG_LICENSE_FILES:=COPYING
PKG_NAME:=pciutils
PKG_VERSION:=3.6.2
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/software/utils/pciutils
CATEGORY:=Libraries
TITLE:=Linux PCI Libraries
URL:=http://mj.ucw.cz/pciutils.shtml
- DEPENDS:=
endef
-PCI_IDS_VER:=0.319
+PCI_IDS_VER:=0.324
PCI_IDS_FILE:=pci.ids.$(PCI_IDS_VER)
define Download/pci_ids
FILE:=$(PCI_IDS_FILE)
URL_FILE:=pci.ids
URL:=@GITHUB/vcrhonek/hwdata/v$(PCI_IDS_VER)
- HASH:=54154a6955f550b110c6a216943dcd69ba6188e68b80bee6efbaa03ef0df0a5f
+ HASH:=6dba287b4aaafb9582d6139eda22ee6580651b8557828b9598d99078a5f4217e
endef
$(eval $(call Download,pci_ids))
define Package/libpci/install
$(INSTALL_DIR) $(1)/usr/lib
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/
endef
--- /dev/null
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=pigz
+PKG_VERSION:=2.4
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://zlib.net/pigz/
+PKG_HASH:=a4f816222a7b4269bd232680590b579ccc72591f1bb5adafcd7208ca77e14f73
+
+PKG_MAINTAINER:=Ken Wong <xinxijishuwyq@gmail.com>
+PKG_LICENSE:=CUSTOM
+PKG_LICENSE_FILES:=README
+PKG_CPE_ID:=cpe:/a:zlib:pigz
+
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/pigz
+ SECTION:=utils
+ CATEGORY:=Utilities
+ SUBMENU:=Compression
+ TITLE:=pigz
+ URL:=https://zlib.net/pigz
+ DEPENDS:=+zlib
+endef
+
+define Package/pigz/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/pigz $(1)/usr/bin/pigz
+endef
+
+$(eval $(call BuildPackage,pigz))
+
--- /dev/null
+--- a/Makefile 2019-05-22 19:54:23.980451289 +0800
++++ b/Makefile 2019-06-10 10:32:58.054675929 +0800
+@@ -1,7 +1,7 @@
+-CC=gcc
+-CFLAGS=-O3 -Wall -Wextra -Wno-unknown-pragmas
+-LDFLAGS=
+-LIBS=-lm -lpthread -lz
++CC?=gcc
++CFLAGS?=-O3 -Wall -Wextra -Wno-unknown-pragmas
++LDFLAGS?=
++LIBS?=-lm -lpthread -lz
+ ZOPFLI=zopfli/src/zopfli/
+ ZOP=deflate.o blocksplitter.o tree.o lz77.o cache.o hash.o util.o squeeze.o katajainen.o
+
PKG_NAME:=powertop
PKG_VERSION:=2.10
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://01.org/sites/default/files/downloads/
and power management.
endef
+TARGET_CFLAGS += $(FPIC)
+ifeq ($(CONFIG_USE_UCLIBC),y)
+TARGET_CFLAGS += -fno-stack-protector
+endif
TARGET_LDFLAGS += $(if $(INTL_FULL),-lintl)
+CONFIGURE_ARGS += --without-pic
+
define Package/powertop/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/powertop \
+++ /dev/null
---- ./src/devices/devfreq.h.orig
-+++ ./src/devices/devfreq.h
-@@ -25,6 +25,7 @@
- #ifndef _INCLUDE_GUARD_DEVFREQ_H
- #define _INCLUDE_GUARD_DEVFREQ_H
-
-+#include <sys/time.h>
- #include "device.h"
- #include "../parameters/parameters.h"
-
-diff --git a/src/perf/perf.h b/src/perf/perf.h
-index ee072ae06d24..932588a684f9 100644
---- a/src/perf/perf.h
-+++ b/src/perf/perf.h
-@@ -26,6 +26,7 @@
- #define _INCLUDE_GUARD_PERF_H_
-
- #include <iostream>
-+#include <stdio.h>
-
-
- extern "C" {
include $(TOPDIR)/rules.mk
PKG_NAME:=sysstat
-PKG_VERSION:=12.0.2
-PKG_RELEASE:=2
+PKG_VERSION:=12.0.5
+PKG_RELEASE:=1
PKG_LICENSE:=GPL-2.0
PKG_MAINTAINER:=Marko Ratkaj <marko.ratkaj@sartura.hr>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://pagesperso-orange.fr/sebastien.godard/
-PKG_HASH:=2d30947c8fabbb5015c229fbc149f2891db4926cdf165e5f099310795d8dac80
+PKG_HASH:=58583b0776b9addec69e42eebd6dd1a8e976da8a36bad2422659a1ad6c1a2600
PKG_INSTALL:=1
--- a/sa_common.c
+++ b/sa_common.c
-@@ -28,6 +28,7 @@
+@@ -29,6 +29,7 @@
#include <dirent.h>
#include <fcntl.h>
#include <libgen.h>
PKG_NAME:=vim
PKG_VERSION:=8.1
-PKG_RELEASE:=3
+PKG_RELEASE:=4
VIMVER:=81
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
--- /dev/null
+--- a/src/getchar.c
++++ b/src/getchar.c
+@@ -1407,6 +1407,12 @@ openscript(
+ emsg(_(e_nesting));
+ return;
+ }
++
++ // Disallow sourcing a file in the sandbox, the commands would be executed
++ // later, possibly outside of the sandbox.
++ if (check_secure())
++ return;
++
+ #ifdef FEAT_EVAL
+ if (ignore_script)
+ /* Not reading from script, also don't open one. Warning message? */