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))
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
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) \
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
-
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))
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
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))
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;
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
+
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 \
--- /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:=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))
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:=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:=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:=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:=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;
- }
- }
--- /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'
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
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))
--- /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
+