aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--admin/sudo/Makefile6
-rw-r--r--lang/perl-cgi/Makefile10
-rw-r--r--lang/python/README.md70
-rw-r--r--lang/python/python-cryptodome/Makefile4
-rw-r--r--lang/python/python-cryptodome/patches/002-omit-tests.patch54
-rw-r--r--lang/python/python-cryptodomex/Makefile4
-rw-r--r--lang/python/python-cryptodomex/patches/002-omit-tests.patch54
-rw-r--r--lang/python/python-curl/Makefile52
-rw-r--r--lang/python/python-curl/patches/0001-support-for-mbedTLS.patch263
-rw-r--r--lang/python/python-voluptuous-serialize/Makefile8
-rw-r--r--lang/python/python-yaml/Makefile47
-rw-r--r--libs/libstrophe/Makefile6
-rw-r--r--mail/dovecot/Makefile4
-rw-r--r--multimedia/youtube-dl/Makefile47
-rw-r--r--multimedia/youtube-dl/patches/dont-use-pandoc.patch21
-rw-r--r--net/clamav/Makefile6
-rw-r--r--net/fping/Makefile8
-rw-r--r--net/kea/Makefile7
-rw-r--r--net/kea/patches/001-fix-cross-compile.patch2
-rw-r--r--net/openssh/Makefile4
-rw-r--r--net/snort/files/snort.init15
-rw-r--r--net/snort3/Makefile3
-rw-r--r--utils/powertop/Makefile46
-rw-r--r--utils/powertop/patches/001-musl-fix-headers.patch22
-rw-r--r--utils/powertop/patches/002-strerror_r.patch20
-rw-r--r--utils/powertop/patches/010-src-main-Add-missing-pthread-header.patch38
-rw-r--r--utils/powertop/patches/020-intel_cpus.cpp-Change-open-parameter-to-const-char.patch30
-rw-r--r--utils/unrar/Makefile13
-rw-r--r--utils/unrar/patches/100-makefile_fixes.patch21
29 files changed, 660 insertions, 225 deletions
diff --git a/admin/sudo/Makefile b/admin/sudo/Makefile
index ab130ec21..aaf4934f6 100644
--- a/admin/sudo/Makefile
+++ b/admin/sudo/Makefile
@@ -8,13 +8,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=sudo
-PKG_VERSION:=1.8.26
+PKG_VERSION:=1.8.27
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://www.sudo.ws/dist
-PKG_HASH:=40da219a6f0341ccb22d04a98988e27f09b831d2561b14c6154067a49ef3fee2
+PKG_HASH:=7beb68b94471ef56d8a1036dbcdc09a7b58a949a68ffce48b83f837dd33e2ec0
+PKG_MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
PKG_LICENSE:=ISC
PKG_LICENSE_FILES:=doc/LICENSE
PKG_CPE_ID:=cpe:/a:todd_miller:sudo
@@ -31,7 +32,6 @@ define Package/sudo
CATEGORY:=Administration
TITLE:=Delegate authority to run commands
URL:=https://www.sudo.ws/
- MAINTAINER:=Gergely Kiss <mail.gery@gmail.com>
endef
define Package/sudo/description
diff --git a/lang/perl-cgi/Makefile b/lang/perl-cgi/Makefile
index 724374227..832e8b93f 100644
--- a/lang/perl-cgi/Makefile
+++ b/lang/perl-cgi/Makefile
@@ -8,14 +8,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=perl-cgi
-PKG_VERSION:=4.40
+PKG_VERSION:=4.42
PKG_RELEASE:=1
-PKG_SOURCE_URL:=http://www.cpan.org/authors/id/L/LE/LEEJO
+PKG_SOURCE_URL:=https://www.cpan.org/authors/id/L/LE/LEEJO
PKG_SOURCE:=CGI-$(PKG_VERSION).tar.gz
-PKG_HASH:=10efff3061b3c31a33b3cc59f955aef9c88d57d12dbac46389758cef92f24f56
+PKG_HASH:=11d308e7dad2312d65747a7fdec5d0c22024c28df5e882e829ca1553482024e7
-PKG_LICENSE:=GPL Artistic-2.0
+PKG_LICENSE:=Artistic-2.0
PKG_MAINTAINER:=Marcel Denia <naoir@gmx.net>, \
Philip Prindeville <philipp@redfish-solutions.com>
@@ -32,7 +32,7 @@ define Package/perl-cgi
SECTION:=lang
CATEGORY:=Languages
TITLE:=Handle Common Gateway Interface requests and responses
- URL:=http://search.cpan.org/dist/CGI/
+ URL:=https://search.cpan.org/dist/CGI/
DEPENDS:=perl +perl-html-parser +perlbase-base +perlbase-config +perlbase-encode +perlbase-essential +perlbase-file +perlbase-if +perlbase-utf8
endef
diff --git a/lang/python/README.md b/lang/python/README.md
index 14d90c00c..fee9ee31a 100644
--- a/lang/python/README.md
+++ b/lang/python/README.md
@@ -209,13 +209,73 @@ The name `*-src` must be the Python package name; so for `python-lxml-src` a equ
Some packages need custom build rules (because they do).
-For building, if a user specifies a `PyBuild/Compile` & `Py3Build/Compile` rule, this will be used to build/compile the package, instead of the default one defined in `python[3]-package.mk`.
+The default package build and install processes are defined in `python[3]-package.mk`.
-For installing files on the target, 2 build rules are used:
-* `PyPackage/$(1)/filespec` & `Py3Package/$(1)/filespec` which are Python library files relative to `/usr/lib/pythonX.Y` ; by default this is `/usr/lib/python$(PYTHON[3]_VERSION)/site-packages` ; most Python[3] packages generate files that get installed in this sub-folder
-* `PyPackage/$(1)/install` & `Py3Package/$(1)/install` is similar to `Package/$(1)/install` ; these allow binary (or other files) to be installed on the target
+#### Building
-Both the 2 above rules generate a `Package/$(1)/install` build rule, which gets picked up by the build system. Both can be used together (they are not mutually exclusive), and provide a good enough flexibility for specifying Python[3] packages.
+The default build process calls `setup.py install` inside the directory where the Python source package is extracted (`PKG_BUILD_DIR`). This "installs" the Python package to an intermediate location (`PKG_INSTALL_DIR`) where it is used by the default install process.
+
+There are several Makefile variables that can be used to customize this process (all optional):
+
+* `PYTHON_PKG_SETUP_DIR` / `PYTHON3_PKG_SETUP_DIR`: Path where `setup.py` can be found, relative to the package directory (`PKG_BUILD_DIR`).
+ Default: empty value (`setup.py` is in the package directory)
+* `PYTHON_PKG_SETUP_VARS` / `PYTHON3_PKG_SETUP_VARS`: Additional environment variables to set for the call to `setup.py`. Should be in the form of `VARIABLE1=value VARIABLE2=value ...`.
+ Default: empty value
+* `PYTHON_PKG_SETUP_GLOBAL_ARGS` / `PYTHON3_PKG_SETUP_GLOBAL_ARGS`: Additional command line arguments to pass to `setup.py`, before / in front of the `install` command.
+ Default: empty value
+* `PYTHON_PKG_SETUP_ARGS` / `PYTHON3_PKG_SETUP_ARGS`: Additional command line arguments to pass to `setup.py`, after the `install` command.
+ Default: `--single-version-externally-managed`
+
+Conceptually, these variables are used in this way (using a Python 2 package as an example):
+
+```
+cd $(PKG_BUILD_DIR)/$(PYTHON_PKG_SETUP_DIR)
+$(PYTHON_PKG_SETUP_VARS) python setup.py $(PYTHON_PKG_SETUP_GLOBAL_ARGS) install $(PYTHON_PKG_SETUP_ARGS)
+```
+
+The default build process can be completely overridden by defining custom `PyBuild/Compile` & `Py3Build/Compile` rules in the package Makefile.
+
+#### Installing
+
+The default install process copies some/all of the files from `PKG_INSTALL_DIR`, placed there by the build process, to a location passed to the install rule as the first argument (`$(1)`). The OpenWrt build system will then take those files and create the actual .ipk package archives.
+
+This default process uses 2 build rules:
+* `PyPackage/<package>/filespec` & `Py3Package/<package>/filespec` which are Python library files relative to `/usr/lib/pythonX.Y` ; by default this is `/usr/lib/python$(PYTHON[3]_VERSION)/site-packages` (`PYTHON[3]_PKG_DIR`) ; most Python[3] packages generate files that get installed in this sub-folder
+* `PyPackage/<package>/install` & `Py3Package/<package>/install` is similar to `Package/<package>/install` ; these allow binary (or other files) to be installed on the target
+
+Both the 2 above rules generate a `Package/<package>/install` build rule, which gets picked up by the build system. Both can be used together (they are not mutually exclusive), and provide a good enough flexibility for specifying Python[3] packages.
+
+The `PyPackage/<package>/filespec` & `Py3Package/<package>/filespec` rules contain one or more lines of the following format (whitespace added for clarity):
+
+```
+<one of: +-=> | <file/directory path> | <file permissions>
+```
+
+The initial character controls the action that will be taken:
+
+* `+`: Install the given path. If the path is a directory, all files and subdirectories inside are installed.
+ * If file permissions is specified (optional), then the file or directory (and all files and subdirectories) are assigned the given permissions; if omitted, then the file or directory retains its original permissions.
+* `-`: Remove the given path. Useful when most of a directory should be installed except for a few files or subdirectories.
+ * File permissions is not used / ignored in this case.
+* `=`: Assign the given file permissions to the given path. File permissions is required in this case.
+
+As mentioned, the default `PyPackage/<package>/filespec` & `Py3Package/<package>/filespec` install `PYTHON[3]_PKG_DIR`:
+
+```
+define PyPackage/python-example/filespec
++|$(PYTHON_PKG_DIR)
+endef
+```
+
+If there is an `examples` directory and `test_*.py` files that can be omitted to save space, this can be specified as:
+
+```
+define PyPackage/python-example/filespec
++|$(PYTHON_PKG_DIR)
+-|$(PYTHON_PKG_DIR)/examples
+-|$(PYTHON_PKG_DIR)/test_*.py
+endef
+```
### Host-side Python packages for build
diff --git a/lang/python/python-cryptodome/Makefile b/lang/python/python-cryptodome/Makefile
index 030fd9391..02e896662 100644
--- a/lang/python/python-cryptodome/Makefile
+++ b/lang/python/python-cryptodome/Makefile
@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-cryptodome
-PKG_VERSION:=3.7.3
+PKG_VERSION:=3.8.1
PKG_RELEASE:=1
PKG_SOURCE:=pycryptodome-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pycryptodome
-PKG_HASH:=1a222250e43f3c659b4ebd5df3e11c2f112aab6aef58e38af55ef5678b9f0636
+PKG_HASH:=68ad0ce4a374577a26bb7f458575abe3c2a342818b5280de6e5738870b7761b3
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-cryptodome-$(PKG_VERSION)
diff --git a/lang/python/python-cryptodome/patches/002-omit-tests.patch b/lang/python/python-cryptodome/patches/002-omit-tests.patch
index 6f16b2175..cbaf70f25 100644
--- a/lang/python/python-cryptodome/patches/002-omit-tests.patch
+++ b/lang/python/python-cryptodome/patches/002-omit-tests.patch
@@ -1,50 +1,12 @@
--- a/setup.py
+++ b/setup.py
-@@ -245,16 +245,6 @@
- "Crypto.Signature",
- "Crypto.Util",
- "Crypto.Math",
-- "Crypto.SelfTest",
-- "Crypto.SelfTest.Cipher",
-- "Crypto.SelfTest.Hash",
-- "Crypto.SelfTest.IO",
-- "Crypto.SelfTest.Protocol",
-- "Crypto.SelfTest.PublicKey",
-- "Crypto.SelfTest.Random",
-- "Crypto.SelfTest.Signature",
-- "Crypto.SelfTest.Util",
-- "Crypto.SelfTest.Math",
- ]
- package_dir = {"Crypto": "lib/Crypto"}
- package_data = {
-@@ -268,30 +258,6 @@
- "Crypto.Signature" : [ "*.pyi" ],
- "Crypto.IO" : [ "*.pyi" ],
- "Crypto.Util" : [ "*.pyi" ],
-- "Crypto.SelfTest.Cipher" : [
-- "test_vectors/AES/*.rsp",
-- "test_vectors/TDES/*.rsp",
-- "test_vectors/wycheproof/*.json",
-- ],
-- "Crypto.SelfTest.Hash" : [
-- "test_vectors/SHA1/*.rsp",
-- "test_vectors/SHA2/*.rsp",
-- "test_vectors/SHA3/*.txt",
-- "test_vectors/keccak/*.txt",
-- "test_vectors/BLAKE2s/*.txt",
-- "test_vectors/BLAKE2b/*.txt",
-- "test_vectors/wycheproof/*.json",
-- ],
-- "Crypto.SelfTest.Signature" : [
-- "test_vectors/DSA/*.*",
-- "test_vectors/ECDSA/*.*",
-- "test_vectors/PKCS1-v1.5/*.*",
-- "test_vectors/PKCS1-PSS/*.*",
-- "test_vectors/wycheproof/*.json",
-- ],
-- "Crypto.SelfTest.PublicKey" : [
-- "test_vectors/ECC/*.*",
-- ],
+@@ -293,6 +293,9 @@ package_data = {
+ ],
}
- system_bits = 8 * struct.calcsize("P")
++packages = [i for i in packages if not i.startswith('Crypto.SelfTest')]
++package_data = {k: v for k, v in package_data.items() if not k.startswith('Crypto.SelfTest')}
++
+ ext_modules = [
+ # Hash functions
+ Extension("Crypto.Hash._MD2",
diff --git a/lang/python/python-cryptodomex/Makefile b/lang/python/python-cryptodomex/Makefile
index 6691b7f04..ec7482043 100644
--- a/lang/python/python-cryptodomex/Makefile
+++ b/lang/python/python-cryptodomex/Makefile
@@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-cryptodomex
-PKG_VERSION:=3.7.3
+PKG_VERSION:=3.8.1
PKG_RELEASE:=1
PKG_SOURCE:=pycryptodomex-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pycryptodomex
-PKG_HASH:=b70fe991564e178af02ccf89435a8f9e8d052707a7c4b95bf6027cb785da3175
+PKG_HASH:=9251b3f6254d4274caa21b79bd432bf07afa3567c6f02f11861659fb6245139a
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-cryptodomex-$(PKG_VERSION)
diff --git a/lang/python/python-cryptodomex/patches/002-omit-tests.patch b/lang/python/python-cryptodomex/patches/002-omit-tests.patch
index 23e264ae3..cbaf70f25 100644
--- a/lang/python/python-cryptodomex/patches/002-omit-tests.patch
+++ b/lang/python/python-cryptodomex/patches/002-omit-tests.patch
@@ -1,50 +1,12 @@
--- a/setup.py
+++ b/setup.py
-@@ -245,16 +245,6 @@
- "Crypto.Signature",
- "Crypto.Util",
- "Crypto.Math",
-- "Crypto.SelfTest",
-- "Crypto.SelfTest.Cipher",
-- "Crypto.SelfTest.Hash",
-- "Crypto.SelfTest.IO",
-- "Crypto.SelfTest.Protocol",
-- "Crypto.SelfTest.PublicKey",
-- "Crypto.SelfTest.Random",
-- "Crypto.SelfTest.Signature",
-- "Crypto.SelfTest.Util",
-- "Crypto.SelfTest.Math",
- ]
- package_dir = {"Crypto": "lib/Crypto"}
- package_data = {
-@@ -268,30 +258,6 @@
- "Crypto.Signature" : [ "*.pyi" ],
- "Crypto.IO" : [ "*.pyi" ],
- "Crypto.Util" : [ "*.pyi" ],
-- "Crypto.SelfTest.Cipher" : [
-- "test_vectors/AES/*.*",
-- "test_vectors/TDES/*.*",
-- "test_vectors/wycheproof/*.*",
-- ],
-- "Crypto.SelfTest.Hash" : [
-- "test_vectors/SHA1/*.*",
-- "test_vectors/SHA2/*.*",
-- "test_vectors/SHA3/*.*",
-- "test_vectors/keccak/*.*",
-- "test_vectors/BLAKE2s/*.*",
-- "test_vectors/BLAKE2b/*.*",
-- "test_vectors/wycheproof/*.*",
-- ],
-- "Crypto.SelfTest.Signature" : [
-- "test_vectors/DSA/*.*",
-- "test_vectors/ECDSA/*.*",
-- "test_vectors/PKCS1-v1.5/*.*",
-- "test_vectors/PKCS1-PSS/*.*",
-- "test_vectors/wycheproof/*.*",
-- ],
-- "Crypto.SelfTest.PublicKey" : [
-- "test_vectors/ECC/*.*",
-- ],
+@@ -293,6 +293,9 @@ package_data = {
+ ],
}
- system_bits = 8 * struct.calcsize("P")
++packages = [i for i in packages if not i.startswith('Crypto.SelfTest')]
++package_data = {k: v for k, v in package_data.items() if not k.startswith('Crypto.SelfTest')}
++
+ ext_modules = [
+ # Hash functions
+ Extension("Crypto.Hash._MD2",
diff --git a/lang/python/python-curl/Makefile b/lang/python/python-curl/Makefile
index 3986b14ab..a5b4f54d4 100644
--- a/lang/python/python-curl/Makefile
+++ b/lang/python/python-curl/Makefile
@@ -6,40 +6,62 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=pycurl
PKG_VERSION:=7.43.0.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
+
+PKG_SOURCE:=pycurl-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/p/pycurl
+PKG_HASH:=0f0cdfc7a92d4f2a5c44226162434e34f7d6967d3af416a6f1448649c09a25a4
+
PKG_MAINTAINER:=Waldemar Konik <informatyk74@interia.pl>
PKG_LICENSE:=LGPL-2.1
-PKG_LICENSE_FILE=COPYING-LGPL
+PKG_LICENSE_FILES:=COPYING-LGPL
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://dl.bintray.com/pycurl/pycurl/
-PKG_HASH:=0f0cdfc7a92d4f2a5c44226162434e34f7d6967d3af416a6f1448649c09a25a4
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-curl-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
include ../python-package.mk
+include ../python3-package.mk
-define Package/python-curl
+PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
+
+define Package/python-curl/Default
CATEGORY:=Languages
SECTION:=lang
SUBMENU:=Python
TITLE:=Python module interface to the cURL library
URL:=http://pycurl.io/
- DEPENDS:=+python +libcurl
+ DEPENDS:=+libcurl
+endef
+
+define Package/python-curl
+$(call Package/python-curl/Default)
+ DEPENDS+=+PACKAGE_python-curl:python
+ VARIANT:=python
endef
define Package/python-curl/description
-Python module interface to the cURL library.
+PycURL is a Python interface to libcurl, the multiprotocol file transfer library.
endef
-define Build/Compile
- $(call Build/Compile/PyMod,,install --with-openssl --prefix=/usr --root=$(PKG_INSTALL_DIR))
+define Package/python3-curl
+$(call Package/python-curl/Default)
+ DEPENDS+=+PACKAGE_python3-curl:python3
+ VARIANT:=python3
endef
-define Package/python-curl/install
- $(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR)
- $(CP) \
- $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \
- $(1)$(PYTHON_PKG_DIR)
+define Package/python3-curl/description
+$(call Package/python-curl/description)
+.
+(Variant for Python3)
endef
+PYTHON_PKG_SETUP_ARGS:=--with-mbedtls
+PYTHON3_PKG_SETUP_ARGS:=--with-mbedtls
+
+$(eval $(call PyPackage,python-curl))
$(eval $(call BuildPackage,python-curl))
+$(eval $(call BuildPackage,python-curl-src))
+
+$(eval $(call Py3Package,python3-curl))
+$(eval $(call BuildPackage,python3-curl))
+$(eval $(call BuildPackage,python3-curl-src))
diff --git a/lang/python/python-curl/patches/0001-support-for-mbedTLS.patch b/lang/python/python-curl/patches/0001-support-for-mbedTLS.patch
new file mode 100644
index 000000000..58112eeaf
--- /dev/null
+++ b/lang/python/python-curl/patches/0001-support-for-mbedTLS.patch
@@ -0,0 +1,263 @@
+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
+
diff --git a/lang/python/python-voluptuous-serialize/Makefile b/lang/python/python-voluptuous-serialize/Makefile
index 401ed25a3..d29db7e67 100644
--- a/lang/python/python-voluptuous-serialize/Makefile
+++ b/lang/python/python-voluptuous-serialize/Makefile
@@ -9,9 +9,9 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=voluptuous-serialize
PKG_VERSION:=2.1.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
-PKG_SOURCE:=voluptuous-serialize-$(PKG_VERSION).tar.gz
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/v/voluptuous-serialize/
PKG_HASH:=d30fef4f1aba251414ec0b315df81a06da7bf35201dcfb1f6db5253d738a154f
@@ -28,7 +28,9 @@ define Package/python3-voluptuous-serialize
SUBMENU:=Python
TITLE:=Python Voluptuous Serialize
URL:=https://github.com/balloob/voluptuous-serialize
- DEPENDS:=+python3-light
+ DEPENDS:= \
+ +python3-light \
+ +python3-voluptuous
VARIANT:=python3
endef
diff --git a/lang/python/python-yaml/Makefile b/lang/python/python-yaml/Makefile
index 4a4245bb2..ed568ca96 100644
--- a/lang/python/python-yaml/Makefile
+++ b/lang/python/python-yaml/Makefile
@@ -8,59 +8,68 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=PyYAML
-PKG_VERSION:=3.13
+PKG_VERSION:=5.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://pypi.python.org/packages/source/P/PyYAML
-PKG_HASH:=3ef3092145e9b70e3ddd2c7ad59bdd0252a94dfe3949721633e41344de00a6bf
+PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/P/PyYAML
+PKG_HASH:=436bc774ecf7c103814098159fbb84c2715d25980175292c648f2da143909f95
+PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
PKG_LICENSE:=MIT
-PKG_LICENSE_FILES:=COPYING
-PKG_MAINTAINER:=Nicolas Thill <nico@openwrt.org>
+PKG_LICENSE_FILES:=LICENSE
+PKG_CPE_ID:=cpe:/a:pyyaml_project:pyyaml
PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-$(PKG_NAME)-$(PKG_VERSION)
-PKG_UNPACK=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)
include $(INCLUDE_DIR)/package.mk
include ../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/python-yaml/Default
- SUBMENU:=Python
SECTION:=lang
+ SUBMENU:=Python
CATEGORY:=Languages
- URL:=https://pyyaml.org/wiki/PyYAML
+ TITLE:=YAML parser and emitter for Python
+ URL:=https://github.com/yaml/pyyaml
DEPENDS:=+libyaml
endef
define Package/python-yaml
$(call Package/python-yaml/Default)
- TITLE:=YAML parser and emitter for Python
- DEPENDS+=+PACKAGE_python-yaml:python-light +PACKAGE_python-yaml:python-codecs
+ DEPENDS+= \
+ +PACKAGE_python-yaml:python-light \
+ +PACKAGE_python-yaml:python-codecs
VARIANT:=python
endef
define Package/python3-yaml
$(call Package/python-yaml/Default)
- TITLE:=YAML parser and emitter for Python3
DEPENDS+=+PACKAGE_python3-yaml:python3-light
VARIANT:=python3
endef
-define PyBuild/Compile
- $(call Build/Compile/PyMod,,\
- --with-libyaml install --prefix="$(PKG_INSTALL_DIR)/usr" \
- )
+define Package/python-yaml/description
+PyYAML is a YAML parser and emitter for the Python programming language.
endef
-define Py3Build/Compile
- $(call Build/Compile/Py3Mod,,\
- --with-libyaml install --prefix="$(PKG_INSTALL_DIR)/usr" \
- )
+define Package/python3-yaml/description
+$(call Package/python-yaml/description)
+.
+(Variant for Python3)
endef
+PYTHON_PKG_SETUP_GLOBAL_ARGS:=--with-libyaml
+PYTHON_PKG_SETUP_ARGS:=
+PYTHON3_PKG_SETUP_GLOBAL_ARGS:=--with-libyaml
+PYTHON3_PKG_SETUP_ARGS:=
+
$(eval $(call PyPackage,python-yaml))
$(eval $(call BuildPackage,python-yaml))
+$(eval $(call BuildPackage,python-yaml-src))
+
$(eval $(call Py3Package,python3-yaml))
$(eval $(call BuildPackage,python3-yaml))
+$(eval $(call BuildPackage,python3-yaml-src))
diff --git a/libs/libstrophe/Makefile b/libs/libstrophe/Makefile
index 091835f33..ffb99d0b6 100644
--- a/libs/libstrophe/Makefile
+++ b/libs/libstrophe/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libstrophe
PKG_VERSION:=0.9.2
-PKG_RELEASE=1
+PKG_RELEASE=2
PKG_LICENSE:=GPL-3.0
PKG_LICENSE_FILES:=COPYING
@@ -56,7 +56,11 @@ define Build/InstallDev
$(CP) $(PKG_INSTALL_DIR)/usr/include/ $(1)/usr/
$(INSTALL_DIR) $(1)/usr/lib/
+ $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libstrophe.{la,a,so*} $(1)/usr/lib/
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libstrophe.pc \
+ $(1)/usr/lib/pkgconfig/
endef
define Package/libstrophe/install
diff --git a/mail/dovecot/Makefile b/mail/dovecot/Makefile
index 1a0896244..71768f0ce 100644
--- a/mail/dovecot/Makefile
+++ b/mail/dovecot/Makefile
@@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=dovecot
-PKG_VERSION:=2.3.5
+PKG_VERSION:=2.3.5.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://www.dovecot.org/releases/2.3
-PKG_HASH:=bfe112ec6d11f7d6c6f7f0440e3b6e2c840c15cec1e99466b5495765d54aaaff
+PKG_HASH:=d78f9d479e3b2caa808160f86bfec1c9c7b46344d8b14b88f5fa9bbbf8c7c33f
PKG_LICENSE:=LGPL-2.1 MIT BSD-3-Clause Unique
PKG_LICENSE_FILES:=COPYING COPYING.LGPL COPYING.MIT
PKG_MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com>
diff --git a/multimedia/youtube-dl/Makefile b/multimedia/youtube-dl/Makefile
index 433c3b92f..05289b83d 100644
--- a/multimedia/youtube-dl/Makefile
+++ b/multimedia/youtube-dl/Makefile
@@ -8,46 +8,47 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=youtube-dl
-PKG_VERSION:=2019.03.01
+PKG_VERSION:=2019.4.7
PKG_RELEASE:=1
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://codeload.github.com/rg3/youtube-dl/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=65a4ed3588ff67c69b4b3a507acefb29225d5051ffe606688778cfaf8efd79a5
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE:=youtube_dl-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://files.pythonhosted.org/packages/source/y/youtube_dl/
+PKG_HASH:=d8250c9fedea3bcf5c2df62012e9814c96db53540a2842b8f8345885adfd0a85
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/youtube_dl-$(PKG_VERSION)
PKG_LICENSE:=Unlicense
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Adrian Panella <ianchi74@outlook.com>, Josef Schlehofer <pepe.schlehofer@gmail.com>
-PKG_BUILD_DEPENDS:=python/host zip/host
-
include $(INCLUDE_DIR)/package.mk
+include ../../lang/python/python3-package.mk
-define Package/youtube-dl
+define Package/youtube-dl/Default
SECTION:=multimedia
CATEGORY:=Multimedia
- TITLE:=utility to download videos from YouTube.com
- DEPENDS:=+python-openssl +python-email +python-xml +python-codecs +python-ctypes +ca-certificates
- URL:=https://youtube-dl.org
+ TITLE:=Utility to download videos from YouTube.com
+ DEPENDS:=+ca-certificates
+ URL:=https://yt-dl.org
endef
define Package/youtube-dl/description
youtube-dl is a small command-line program to download videos
- from YouTube.com and a few more sites.
- It requires the Python interpreter.
+ from YouTube.com and other video sites.
+ It requires the Python3 interpreter.
endef
-define Package/youtube-dl/install
- $(INSTALL_DIR) $(1)/usr/bin
-
- python -m compileall $(PKG_BUILD_DIR)/youtube_dl/
- cd $(PKG_BUILD_DIR) && zip --quiet youtube-dl-c.zip youtube_dl/*.pyc youtube_dl/*/*.pyc
- cd $(PKG_BUILD_DIR) && zip --quiet --junk-paths youtube-dl-c.zip youtube_dl/__main__.pyc
- echo '#!/usr/bin/env python' > $(PKG_BUILD_DIR)/youtube-dl-c
- cat $(PKG_BUILD_DIR)/youtube-dl-c.zip >> $(PKG_BUILD_DIR)/youtube-dl-c
-
- $(INSTALL_BIN) -T $(PKG_BUILD_DIR)/youtube-dl-c $(1)/usr/bin/youtube-dl
+define Package/youtube-dl
+$(call Package/youtube-dl/Default)
+ DEPENDS+= \
+ +PACKAGE_youtube-dl:python3 \
+ +PACKAGE_youtube-dl:python3-email \
+ +PACKAGE_youtube-dl:python3-xml \
+ +PACKAGE_youtube-dl:python3-codecs \
+ +PACKAGE_youtube-dl:python3-ctypes
+ VARIANT:=python3
endef
+$(eval $(call Py3Package,youtube-dl))
$(eval $(call BuildPackage,youtube-dl))
+$(eval $(call BuildPackage,youtube-dl-src))
diff --git a/multimedia/youtube-dl/patches/dont-use-pandoc.patch b/multimedia/youtube-dl/patches/dont-use-pandoc.patch
deleted file mode 100644
index 51b3dd588..000000000
--- a/multimedia/youtube-dl/patches/dont-use-pandoc.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 4a62f44..fee93e8 100644
---- a/Makefile
-+++ b/Makefile
-@@ -85,12 +85,12 @@ supportedsites:
- $(PYTHON) devscripts/make_supportedsites.py docs/supportedsites.md
-
- README.txt: README.md
-- pandoc -f $(MARKDOWN) -t plain README.md -o README.txt
-+# pandoc -f $(MARKDOWN) -t plain README.md -o README.txt
-
- youtube-dl.1: README.md
-- $(PYTHON) devscripts/prepare_manpage.py youtube-dl.1.temp.md
-- pandoc -s -f $(MARKDOWN) -t man youtube-dl.1.temp.md -o youtube-dl.1
-- rm -f youtube-dl.1.temp.md
-+# $(PYTHON) devscripts/prepare_manpage.py youtube-dl.1.temp.md
-+# pandoc -s -f $(MARKDOWN) -t man youtube-dl.1.temp.md -o youtube-dl.1
-+# rm -f youtube-dl.1.temp.md
-
- youtube-dl.bash-completion: youtube_dl/*.py youtube_dl/*/*.py devscripts/bash-completion.in
- $(PYTHON) devscripts/bash-completion.py
diff --git a/net/clamav/Makefile b/net/clamav/Makefile
index ba45fff84..b8d0625a9 100644
--- a/net/clamav/Makefile
+++ b/net/clamav/Makefile
@@ -8,8 +8,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=clamav
-PKG_VERSION:=0.101.1
-PKG_RELEASE:=2
+PKG_VERSION:=0.101.2
+PKG_RELEASE:=1
PKG_LICENSE:=GPL-2.0
PKG_MAINTAINER:=Marko Ratkaj <marko.ratkaj@sartura.hr> \
@@ -18,7 +18,7 @@ PKG_CPE_ID:=cpe:/a:clamav:clamav
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://www.clamav.net/downloads/production/
-PKG_HASH:=fa368fa9b2f57638696150c7d108b06dec284e8d8e3b8e702c784947c01fb806
+PKG_HASH:=0a12ebdf6ff7a74c0bde2bdc2b55cae33449e6dd953ec90824a9e01291277634
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
diff --git a/net/fping/Makefile b/net/fping/Makefile
index d3bdedde0..34bfdd3be 100644
--- a/net/fping/Makefile
+++ b/net/fping/Makefile
@@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fping
-PKG_VERSION:=4.1
+PKG_VERSION:=4.2
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://fping.org/dist/
-PKG_HASH:=2733e2a18cc2b5b935c4e3b5b84ccf2080c38043f1864d7c43326e8048ddab73
+PKG_SOURCE_URL:=https://fping.org/dist/
+PKG_HASH:=7d339674b6a95aae1d8ad487ff5056fd95b474c3650938268f6a905c3771b64a
PKG_MAINTAINER:=Nikil Mehta <nikil.mehta@gmail.com>
PKG_LICENSE:=BSD-4-Clause
@@ -27,7 +27,7 @@ define Package/fping
SECTION:=net
CATEGORY:=Network
TITLE:=sends ICMP ECHO_REQUEST packets to network hosts
- URL:=http://fping.org/
+ URL:=https://fping.org/
endef
diff --git a/net/kea/Makefile b/net/kea/Makefile
index e66aedd62..36c035db9 100644
--- a/net/kea/Makefile
+++ b/net/kea/Makefile
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=kea
PKG_VERSION:=1.5.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=BangLang Huang<banglang.huang@foxmail.com>, Rosy Song<rosysong@rosinson.com>
PKG_BUILD_DEPENDS:=boost log4cplus kea/host
HOST_BUILD_DEPENDS:=boost boost/host log4cplus/host
@@ -99,6 +99,7 @@ endef
CONFIGURE_ARGS += \
--with-log4cplus="$(STAGING_DIR)/usr" \
+ --with-openssl="$(STAGING_DIR)/usr" \
$(if $(CONFIG_PACKAGE_kea-perfdhcp),--enable-perfdhcp,)
CONFIGURE_VARS += \
@@ -108,12 +109,14 @@ HOST_CONFIGURE_ARGS += \
--enable-static-link \
--enable-boost-headers-only \
--with-log4cplus="$(STAGING_DIR_HOSTPKG)" \
- --with-boost-include="$(STAGING_DIR)/usr/include"
+ --with-boost-include="$(STAGING_DIR)/usr/include" \
+ --without-pic
HOST_LDFLAGS += \
-Wl,--gc-sections,--as-needed
TARGET_CXXFLAGS += \
+ $(FPIC) \
-fdata-sections \
-ffunction-sections
diff --git a/net/kea/patches/001-fix-cross-compile.patch b/net/kea/patches/001-fix-cross-compile.patch
index 40a47501a..d3a1521a9 100644
--- a/net/kea/patches/001-fix-cross-compile.patch
+++ b/net/kea/patches/001-fix-cross-compile.patch
@@ -1,6 +1,6 @@
--- a/configure.ac
+++ b/configure.ac
-@@ -594,10 +594,10 @@ AC_TRY_COMPILE([
+@@ -580,10 +580,10 @@ AC_TRY_COMPILE([
AC_MSG_RESULT(no))
AC_MSG_CHECKING(for usuable C++11 regex)
diff --git a/net/openssh/Makefile b/net/openssh/Makefile
index d71cee690..39b02758f 100644
--- a/net/openssh/Makefile
+++ b/net/openssh/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=openssh
PKG_VERSION:=7.9p1
-PKG_RELEASE:=6
+PKG_RELEASE:=7
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/ \
@@ -180,7 +180,7 @@ CONFIGURE_ARGS += \
--without-pam
endif
-ifeq ($(CONFIG_OPENSSL_ENGINE_CRYPTO),y)
+ifeq ($(CONFIG_OPENSSL_ENGINE),y)
CONFIGURE_ARGS+= \
--with-ssl-engine
endif
diff --git a/net/snort/files/snort.init b/net/snort/files/snort.init
index c3d962902..7905c6ff3 100644
--- a/net/snort/files/snort.init
+++ b/net/snort/files/snort.init
@@ -8,26 +8,29 @@ USE_PROCD=1
PROG=/usr/bin/snort
validate_snort_section() {
- uci_validate_section snort snort "${1}" \
+ uci_load_validate snort snort "$1" "$2" \
'config_file:string' \
'interface:string'
}
-start_service() {
- local config_file interface
-
- validate_snort_section snort || {
+start_snort_instance() {
+ [ "$2" = 0 ] || {
echo "validation failed"
return 1
}
procd_open_instance
procd_set_param command $PROG "-q" "--daq-dir" "/usr/lib/daq/" "-i" "$interface" "-c" "$config_file" "-s" "-N"
- procd_set_param file $CONFIGFILE
+ procd_set_param file $config_file
procd_set_param respawn
procd_close_instance
}
+start_service()
+{
+ validate_snort_section snort start_snort_instance
+}
+
stop_service()
{
service_stop ${PROG}
diff --git a/net/snort3/Makefile b/net/snort3/Makefile
index f5f3d8807..34efb7a9d 100644
--- a/net/snort3/Makefile
+++ b/net/snort3/Makefile
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=snort3
PKG_VERSION:=3.0.0-beta
PKG_VERSION_SHORT:=3.0.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_LICENSE:=GPL-2.0
PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
@@ -50,6 +50,7 @@ CMAKE_OPTIONS += \
-DMAKE_HTML_DOC:BOOL=NO \
-DMAKE_PDF_DOC:BOOL=NO \
-DMAKE_TEXT_DOC:BOOL=NO \
+ -DHAVE_LZMA=OFF
TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include/tirpc
TARGET_LDFLAGS += -ltirpc
diff --git a/utils/powertop/Makefile b/utils/powertop/Makefile
new file mode 100644
index 000000000..430ce693b
--- /dev/null
+++ b/utils/powertop/Makefile
@@ -0,0 +1,46 @@
+#
+# Copyright (C) 2019 Lucian Cristain <lucian.cristian@gmail.com>
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=powertop
+PKG_VERSION:=2.10
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://01.org/sites/default/files/downloads/
+PKG_HASH:=d3b7459eaba7d01c8841dd33a3b4d369416c01e9bd8951b0d88234cf18fe4a75
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-v$(PKG_VERSION)
+PKG_MAINTAINER:=Lucian Cristain <lucian.cristian@gmail.com>
+PKG_LICENSE:=GPL-2.0
+
+PKG_BUILD_PARALLEL:=1
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/powertop
+ SECTION:=utils
+ CATEGORY:=Utilities
+ DEPENDS:=+libpci +libncursesw +libnl-genl +libstdcpp
+ TITLE:=Power consumption monitor
+ URL:=https://01.org/powertop
+endef
+
+define Package/powertop/description
+ PowerTOP is a Linux tool to diagnose issues with power consumption
+ and power management.
+endef
+
+define Package/powertop/install
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/powertop \
+ $(1)/usr/sbin/
+endef
+
+$(eval $(call BuildPackage,powertop))
diff --git a/utils/powertop/patches/001-musl-fix-headers.patch b/utils/powertop/patches/001-musl-fix-headers.patch
new file mode 100644
index 000000000..9839d15bf
--- /dev/null
+++ b/utils/powertop/patches/001-musl-fix-headers.patch
@@ -0,0 +1,22 @@
+--- ./src/devices/devfreq.h.orig
++++ ./src/devices/devfreq.h
+@@ -25,6 +25,7 @@
+ #ifndef _INCLUDE_GUARD_DEVFREQ_H
+ #define _INCLUDE_GUARD_DEVFREQ_H
+
++#include <sys/time.h>
+ #include "device.h"
+ #include "../parameters/parameters.h"
+
+diff --git a/src/perf/perf.h b/src/perf/perf.h
+index ee072ae06d24..932588a684f9 100644
+--- a/src/perf/perf.h
++++ b/src/perf/perf.h
+@@ -26,6 +26,7 @@
+ #define _INCLUDE_GUARD_PERF_H_
+
+ #include <iostream>
++#include <stdio.h>
+
+
+ extern "C" {
diff --git a/utils/powertop/patches/002-strerror_r.patch b/utils/powertop/patches/002-strerror_r.patch
new file mode 100644
index 000000000..cf8659e1e
--- /dev/null
+++ b/utils/powertop/patches/002-strerror_r.patch
@@ -0,0 +1,20 @@
+--- traceevent/event-parse.c.orig
++++ ./traceevent/event-parse.c
+@@ -5121,12 +5121,17 @@
+ const char *msg;
+
+ if (errnum >= 0) {
++#if defined(__GLIBC__)
+ msg = strerror_r(errnum, buf, buflen);
+ if (msg != buf) {
+ size_t len = strlen(msg);
+ memcpy(buf, msg, min(buflen - 1, len));
+ *(buf + min(buflen - 1, len)) = '\0';
+ }
++#else
++ if (strerror_r(errnum, buf, buflen))
++ snprintf(buf, buflen, "errnum %i", errnum);
++#endif
+ return 0;
+ }
+
diff --git a/utils/powertop/patches/010-src-main-Add-missing-pthread-header.patch b/utils/powertop/patches/010-src-main-Add-missing-pthread-header.patch
new file mode 100644
index 000000000..e01f0d540
--- /dev/null
+++ b/utils/powertop/patches/010-src-main-Add-missing-pthread-header.patch
@@ -0,0 +1,38 @@
+From 7235a786ea30ae5ca7c1b3458ef5b2388c08dfd9 Mon Sep 17 00:00:00 2001
+From: Rosen Penev <rosenp@gmail.com>
+Date: Thu, 28 Mar 2019 18:44:27 -0700
+Subject: [PATCH] src/main: Add missing pthread header
+
+Otherwise compilation can fail with:
+
+main.cpp: In function 'void one_measurement(int, int, char*)':
+main.cpp:226:3: error: 'pthread_t' was not declared in this scope
+ pthread_t thread = 0UL;
+ ^~~~~~~~~
+main.cpp:226:3: note: suggested alternative: 'pread'
+ pthread_t thread = 0UL;
+ ^~~~~~~~~
+ pread
+
+et al.
+
+Signed-off-by: Rosen Penev <rosenp@gmail.com>
+---
+ src/main.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/main.cpp b/src/main.cpp
+index cbb7a4e..75d4202 100644
+--- a/src/main.cpp
++++ b/src/main.cpp
+@@ -39,6 +39,7 @@
+ #include <locale.h>
+ #include <sys/resource.h>
+ #include <limits.h>
++#include <pthread.h>
+
+ #include "cpu/cpu.h"
+ #include "process/process.h"
+--
+2.17.1
+
diff --git a/utils/powertop/patches/020-intel_cpus.cpp-Change-open-parameter-to-const-char.patch b/utils/powertop/patches/020-intel_cpus.cpp-Change-open-parameter-to-const-char.patch
new file mode 100644
index 000000000..46d01703f
--- /dev/null
+++ b/utils/powertop/patches/020-intel_cpus.cpp-Change-open-parameter-to-const-char.patch
@@ -0,0 +1,30 @@
+From 8cdf846922ffb3e0d2a828be473fdf9c45a56e7c Mon Sep 17 00:00:00 2001
+From: Rosen Penev <rosenp@gmail.com>
+Date: Sat, 30 Mar 2019 20:19:17 -0700
+Subject: [PATCH] intel_cpus.cpp: Change open parameter to const char *
+
+ifstream::open takes std::string starting with C++11, not before.
+
+This fixes compilation with uClibc++ and potentially other older libraries
+
+Signed-off-by: Rosen Penev <rosenp@gmail.com>
+---
+ src/cpu/intel_cpus.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/cpu/intel_cpus.cpp b/src/cpu/intel_cpus.cpp
+index 0030dba..4dffadc 100644
+--- a/src/cpu/intel_cpus.cpp
++++ b/src/cpu/intel_cpus.cpp
+@@ -92,7 +92,7 @@ int is_supported_intel_cpu(int model, int cpu)
+
+ int is_intel_pstate_driver_loaded()
+ {
+- const string filename("/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver");
++ const char *filename = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver";
+ const string intel_pstate("intel_pstate");
+ char line[32] = { '\0' };
+ ifstream file;
+--
+2.17.1
+
diff --git a/utils/unrar/Makefile b/utils/unrar/Makefile
index 1ae48ed4f..528a585f5 100644
--- a/utils/unrar/Makefile
+++ b/utils/unrar/Makefile
@@ -6,12 +6,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=unrar
-PKG_VERSION:=5.6.8
+PKG_VERSION:=5.7.3
PKG_RELEASE:=1
PKG_SOURCE:=unrarsrc-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://www.rarlab.com/rar
-PKG_HASH:=a4cc0ac14a354827751912d2af4a0a09e2c2129df5766576fa7e151791dd3dff
+PKG_HASH:=40e856b78374f258d8a1f5f02c02f828c5392a0118c9300fd169a300b520a444
PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>, \
Ted Hess <thess@kitschensync.net>
@@ -25,6 +25,12 @@ PKG_INSTALL:=1
include $(INCLUDE_DIR)/uclibc++.mk
include $(INCLUDE_DIR)/package.mk
+ifeq ($(CONFIG_USE_UCLIBCXX),y)
+TARGET_LDFLAGS +=-nodefaultlibs
+endif
+TARGET_CXXFLAGS +=-fno-rtti -flto
+TARGET_LDFLAGS +=$(FPIC) -Wl,--gc-sections
+
define Package/unrar/Default
TITLE:=UnRAR
SUBMENU:=Compression
@@ -58,9 +64,6 @@ define Package/libunrar/description
archives
endef
-MAKE_FLAGS += \
- LDFLAGS="$(TARGET_LDFLAGS) -lpthread"
-
ifeq ($(BUILD_VARIANT),lib)
define Build/Compile
$(call Build/Compile/Default,lib)
diff --git a/utils/unrar/patches/100-makefile_fixes.patch b/utils/unrar/patches/100-makefile_fixes.patch
index 972961220..65d06efc7 100644
--- a/utils/unrar/patches/100-makefile_fixes.patch
+++ b/utils/unrar/patches/100-makefile_fixes.patch
@@ -1,22 +1,27 @@
--- a/makefile
+++ b/makefile
-@@ -2,13 +2,13 @@
+@@ -2,14 +2,14 @@
# Makefile for UNIX - unrar
# Linux using GCC
-CXX=c++
-CXXFLAGS=-O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else
-+#CXX=c++
-+#CXXFLAGS=-O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else
- LIBFLAGS=-fPIC
+-LIBFLAGS=-fPIC
++CXX?=c++
++CXXFLAGS?=-O2 -Wno-logical-op-parentheses -Wno-switch -Wno-dangling-else
++LIBFLAGS?=-fPIC
DEFINES=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP
- STRIP=strip
- AR=ar
+-STRIP=strip
+-AR=ar
-LDFLAGS=-pthread
-+LDFLAGS=-lpthread
- DESTDIR=/usr
+-DESTDIR=/usr
++STRIP?=strip
++AR?=ar
++LDFLAGS?=-lpthread
++DESTDIR?=/usr
# Linux using LCC
+ #CXX=lcc
@@ -166,7 +166,7 @@ uninstall-unrar:
rm -f $(DESTDIR)/bin/unrar