diff --git a/lang/php8-pecl-redis/Makefile b/lang/php8-pecl-redis/Makefile index 5fe724ddff..0a53121c9e 100644 --- a/lang/php8-pecl-redis/Makefile +++ b/lang/php8-pecl-redis/Makefile @@ -8,9 +8,9 @@ include $(TOPDIR)/rules.mk PECL_NAME:=redis PECL_LONGNAME:=PHP extension for interfacing with Redis -PKG_VERSION:=5.3.7 -PKG_RELEASE:=2 -PKG_HASH:=b958166ccda4f40bd17c6998f9e2239021ae644467cd8ad5c15def420aad65b0 +PKG_VERSION:=6.0.1 +PKG_RELEASE:=1 +PKG_HASH:=d39136e0ef9495f8e775ef7349a97658fb41c526d12d8e517f56274f149e1e4e PKG_NAME:=php8-pecl-redis PKG_SOURCE:=$(PECL_NAME)-$(PKG_VERSION).tgz diff --git a/lang/python/python-cryptography/Makefile b/lang/python/python-cryptography/Makefile index eca9394584..6ef9cb969f 100644 --- a/lang/python/python-cryptography/Makefile +++ b/lang/python/python-cryptography/Makefile @@ -8,17 +8,17 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-cryptography -PKG_VERSION:=3.4.8 -PKG_RELEASE:=3 +PKG_VERSION:=41.0.4 +PKG_RELEASE:=1 PYPI_NAME:=cryptography -PKG_HASH:=94cc5ed4ceaefcbe5bf38c8fba6a21fc1d365bb8fb826ea1688e3370b2e24a1c +PKG_HASH:=7febc3094125fc126a7f6fb1f420d0da639f3f32cb15c8ff0dc3997c4549f51a PKG_LICENSE:=Apache-2.0 BSD-3-Clause PKG_LICENSE_FILES:=LICENSE.APACHE LICENSE.BSD PKG_MAINTAINER:=Jeffery To -PKG_BUILD_DEPENDS:=libffi/host python-cffi/host # cffi>=1.12 +PKG_BUILD_DEPENDS:=libffi/host python-cffi/host python-setuptools-rust/host include ../pypi.mk include $(INCLUDE_DIR)/package.mk @@ -32,18 +32,18 @@ define Package/python3-cryptography URL:=https://github.com/pyca/cryptography DEPENDS:= \ +libopenssl \ + +libopenssl-legacy \ +python3-light \ +python3-email \ - +python3-openssl \ +python3-urllib \ +python3-cffi \ - +python3-six + $(RUST_ARCH_DEPENDS) endef define Package/python3-cryptography/description cryptography is a package which provides cryptographic recipes and -primitives to Python developers. Our goal is for it to be your "cryptographic -standard library". It supports Python 2.6-2.7, Python 3.3+, and PyPy 2.6+. +primitives to Python developers. Our goal is for it to be your +"cryptographic standard library". endef $(eval $(call Py3Package,python3-cryptography)) diff --git a/lang/python/python-cryptography/patches/0001-Add-new-ASN1_STRING_get0_data-API.patch b/lang/python/python-cryptography/patches/0001-Add-new-ASN1_STRING_get0_data-API.patch deleted file mode 100644 index 46adae82d6..0000000000 --- a/lang/python/python-cryptography/patches/0001-Add-new-ASN1_STRING_get0_data-API.patch +++ /dev/null @@ -1,20 +0,0 @@ -From 7eefc9c72f522e414f953fee2d6ca9242c566107 Mon Sep 17 00:00:00 2001 -From: Rosen Penev -Date: Fri, 7 Jun 2019 18:18:46 -0700 -Subject: [PATCH 1/7] Add new ASN1_STRING_get0_data API - -Introduced with OpenSSL 1.1 ---- - src/_cffi_src/openssl/asn1.py | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/src/_cffi_src/openssl/asn1.py -+++ b/src/_cffi_src/openssl/asn1.py -@@ -105,4 +105,7 @@ ASN1_NULL *ASN1_NULL_new(void); - """ - - CUSTOMIZATIONS = """ -+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL -+#define ASN1_STRING_data ASN1_STRING_get0_data -+#endif - """ diff --git a/lang/python/python-cryptography/patches/0002-Add-compatibility-for-X509_STORE_set_get_issuer.patch b/lang/python/python-cryptography/patches/0002-Add-compatibility-for-X509_STORE_set_get_issuer.patch deleted file mode 100644 index 52f4340952..0000000000 --- a/lang/python/python-cryptography/patches/0002-Add-compatibility-for-X509_STORE_set_get_issuer.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 77b25307a743eb52ef5ead24c956e577f5bd025f Mon Sep 17 00:00:00 2001 -From: Rosen Penev -Date: Fri, 7 Jun 2019 20:42:04 -0700 -Subject: [PATCH 2/7] Add compatibility for X509_STORE_set_get_issuer - -Deprecated under OpenSSL 1.1. ---- - src/_cffi_src/openssl/x509_vfy.py | 8 ++++++++ - src/cryptography/hazmat/bindings/openssl/_conditional.py | 8 ++++++++ - 2 files changed, 16 insertions(+) - ---- a/src/_cffi_src/openssl/x509_vfy.py -+++ b/src/_cffi_src/openssl/x509_vfy.py -@@ -21,6 +21,7 @@ TYPES = """ - static const long Cryptography_HAS_102_VERIFICATION; - static const long Cryptography_HAS_110_VERIFICATION_PARAMS; - static const long Cryptography_HAS_X509_STORE_CTX_GET_ISSUER; -+static const long Cryptography_HAS_X509_CB_ISSUER_CHECK; - - typedef ... Cryptography_STACK_OF_ASN1_OBJECT; - typedef ... Cryptography_STACK_OF_X509_OBJECT; -@@ -257,4 +258,11 @@ void (*X509_STORE_set_get_issuer)(X509_S - #else - static const long Cryptography_HAS_X509_STORE_CTX_GET_ISSUER = 1; - #endif -+ -+#ifndef X509_V_FLAG_CB_ISSUER_CHECK -+static const long Cryptography_HAS_X509_CB_ISSUER_CHECK = 0; -+#define X509_V_FLAG_CB_ISSUER_CHECK 0x0 -+#else -+static const long Cryptography_HAS_X509_CB_ISSUER_CHECK = 1; -+#endif - """ ---- a/src/cryptography/hazmat/bindings/openssl/_conditional.py -+++ b/src/cryptography/hazmat/bindings/openssl/_conditional.py -@@ -269,6 +269,11 @@ def cryptography_has_get_proto_version() - "SSL_get_max_proto_version", - ] - -+def cryptography_has_x509_cb_issuer_check(): -+ return [ -+ "X509_V_FLAG_CB_ISSUER_CHECK", -+ ] -+ - - # This is a mapping of - # {condition: function-returning-names-dependent-on-that-condition} so we can -@@ -318,4 +323,7 @@ CONDITIONAL_NAMES = { - "Cryptography_HAS_VERIFIED_CHAIN": cryptography_has_verified_chain, - "Cryptography_HAS_SRTP": cryptography_has_srtp, - "Cryptography_HAS_GET_PROTO_VERSION": cryptography_has_get_proto_version, -+ "Cryptography_HAS_X509_CB_ISSUER_CHECK": ( -+ cryptography_has_x509_cb_issuer_check -+ ), - } diff --git a/lang/python/python-cryptography/patches/0003-Add-compatibility-for-deprecated-TLS-methods.patch b/lang/python/python-cryptography/patches/0003-Add-compatibility-for-deprecated-TLS-methods.patch deleted file mode 100644 index f30d1e92b9..0000000000 --- a/lang/python/python-cryptography/patches/0003-Add-compatibility-for-deprecated-TLS-methods.patch +++ /dev/null @@ -1,127 +0,0 @@ -From 7a55c37e01114dfd1ae733b099fdee1ba1889449 Mon Sep 17 00:00:00 2001 -From: Rosen Penev -Date: Fri, 7 Jun 2019 21:00:46 -0700 -Subject: [PATCH 3/7] Add compatibility for deprecated TLS methods - ---- - src/_cffi_src/openssl/ssl.py | 45 +++++++++++++++++-- - .../hazmat/bindings/openssl/_conditional.py | 36 +++++++++++++++ - 2 files changed, 77 insertions(+), 4 deletions(-) - ---- a/src/_cffi_src/openssl/ssl.py -+++ b/src/_cffi_src/openssl/ssl.py -@@ -13,12 +13,14 @@ TYPES = """ - static const long Cryptography_HAS_SSL_ST; - static const long Cryptography_HAS_TLS_ST; - static const long Cryptography_HAS_SSL3_METHOD; --static const long Cryptography_HAS_TLSv1_1; --static const long Cryptography_HAS_TLSv1_2; -+static const long Cryptography_HAS_TLS1_METHOD; -+static const long Cryptography_HAS_TLS1_1_METHOD; -+static const long Cryptography_HAS_TLS1_2_METHOD; - static const long Cryptography_HAS_TLSv1_3; - static const long Cryptography_HAS_SECURE_RENEGOTIATION; - static const long Cryptography_HAS_SSL_CTX_CLEAR_OPTIONS; - static const long Cryptography_HAS_DTLS; -+static const long Cryptography_HAS_DTLS1_METHOD; - static const long Cryptography_HAS_SIGALGS; - static const long Cryptography_HAS_PSK; - static const long Cryptography_HAS_VERIFIED_CHAIN; -@@ -548,8 +550,43 @@ static const long Cryptography_HAS_SSL3_ - - static const long Cryptography_HAS_RELEASE_BUFFERS = 1; - static const long Cryptography_HAS_OP_NO_COMPRESSION = 1; --static const long Cryptography_HAS_TLSv1_1 = 1; --static const long Cryptography_HAS_TLSv1_2 = 1; -+ -+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL -+static const long Cryptography_HAS_TLS1_METHOD = 0; -+const SSL_METHOD* (*TLSv1_method)(void) = NULL; -+const SSL_METHOD* (*TLSv1_server_method)(void) = NULL; -+const SSL_METHOD* (*TLSv1_client_method)(void) = NULL; -+#else -+static const long Cryptography_HAS_TLS1_METHOD = 1; -+#endif -+ -+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL -+static const long Cryptography_HAS_TLS1_1_METHOD = 0; -+const SSL_METHOD* (*TLSv1_1_method)(void) = NULL; -+const SSL_METHOD* (*TLSv1_1_server_method)(void) = NULL; -+const SSL_METHOD* (*TLSv1_1_client_method)(void) = NULL; -+#else -+static const long Cryptography_HAS_TLS1_1_METHOD = 1; -+#endif -+ -+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL -+static const long Cryptography_HAS_TLS1_2_METHOD = 0; -+const SSL_METHOD* (*TLSv1_2_method)(void) = NULL; -+const SSL_METHOD* (*TLSv1_2_server_method)(void) = NULL; -+const SSL_METHOD* (*TLSv1_2_client_method)(void) = NULL; -+#else -+static const long Cryptography_HAS_TLS1_2_METHOD = 1; -+#endif -+ -+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL -+static const long Cryptography_HAS_DTLS1_METHOD = 0; -+const SSL_METHOD* (*DTLSv1_method)(void) = NULL; -+const SSL_METHOD* (*DTLSv1_server_method)(void) = NULL; -+const SSL_METHOD* (*DTLSv1_client_method)(void) = NULL; -+#else -+static const long Cryptography_HAS_DTLS1_METHOD = 1; -+#endif -+ - static const long Cryptography_HAS_SSL_OP_MSIE_SSLV2_RSA_PADDING = 1; - static const long Cryptography_HAS_SSL_OP_NO_TICKET = 1; - static const long Cryptography_HAS_SSL_SET_SSL_CTX = 1; ---- a/src/cryptography/hazmat/bindings/openssl/_conditional.py -+++ b/src/cryptography/hazmat/bindings/openssl/_conditional.py -@@ -31,6 +31,38 @@ def cryptography_has_ssl3_method(): - ] - - -+def cryptography_has_tls1_method(): -+ return [ -+ "TLSv1_method", -+ "TLSv1_client_method", -+ "TLSv1_server_method", -+ ] -+ -+ -+def cryptography_has_tls1_1_method(): -+ return [ -+ "TLSv1_1_method", -+ "TLSv1_1_client_method", -+ "TLSv1_1_server_method", -+ ] -+ -+ -+def cryptography_has_tls1_2_method(): -+ return [ -+ "TLSv1_2_method", -+ "TLSv1_2_client_method", -+ "TLSv1_2_server_method", -+ ] -+ -+ -+def cryptography_has_dtls1_method(): -+ return [ -+ "DTLSv1_method", -+ "DTLSv1_client_method", -+ "DTLSv1_server_method", -+ ] -+ -+ - def cryptography_has_102_verification(): - return [ - "X509_V_ERR_SUITE_B_INVALID_VERSION", -@@ -285,6 +317,10 @@ CONDITIONAL_NAMES = { - "Cryptography_HAS_RSA_OAEP_MD": cryptography_has_rsa_oaep_md, - "Cryptography_HAS_RSA_OAEP_LABEL": cryptography_has_rsa_oaep_label, - "Cryptography_HAS_SSL3_METHOD": cryptography_has_ssl3_method, -+ "Cryptography_HAS_TLS1_METHOD": cryptography_has_tls1_method, -+ "Cryptography_HAS_TLS1_1_METHOD": cryptography_has_tls1_1_method, -+ "Cryptography_HAS_TLS1_2_METHOD": cryptography_has_tls1_2_method, -+ "Cryptography_HAS_DTLS1_METHOD": cryptography_has_dtls1_method, - "Cryptography_HAS_102_VERIFICATION": cryptography_has_102_verification, - "Cryptography_HAS_110_VERIFICATION_PARAMS": ( - cryptography_has_110_verification_params diff --git a/lang/python/python-cryptography/patches/0004-disable-rust.patch b/lang/python/python-cryptography/patches/0004-disable-rust.patch deleted file mode 100644 index bf3010bb03..0000000000 --- a/lang/python/python-cryptography/patches/0004-disable-rust.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- a/pyproject.toml -+++ b/pyproject.toml -@@ -6,7 +6,6 @@ requires = [ - "wheel", - # Must be kept in sync with the `setup_requirements` in `setup.py` - "cffi>=1.12; platform_python_implementation != 'PyPy'", -- "setuptools-rust>=0.11.4", - ] - build-backend = "setuptools.build_meta" - ---- a/setup.py -+++ b/setup.py -@@ -11,7 +11,7 @@ import sys - from setuptools import find_packages, setup - - try: -- from setuptools_rust import RustExtension -+ pass - except ImportError: - print( - """ -@@ -43,9 +43,9 @@ with open(os.path.join(src_dir, "cryptog - # `pyproject.toml` - setuptools_rust = "setuptools-rust>=0.11.4" - install_requirements = ["cffi>=1.12"] --setup_requirements = install_requirements + [setuptools_rust] -+setup_requirements = install_requirements - --if os.environ.get("CRYPTOGRAPHY_DONT_BUILD_RUST"): -+if True: - rust_extensions = [] - else: - rust_extensions = [ diff --git a/lang/python/python-cryptography/patches/0006-Add-X509_STORE_CTX_trusted_stack-compatibility-macro.patch b/lang/python/python-cryptography/patches/0006-Add-X509_STORE_CTX_trusted_stack-compatibility-macro.patch deleted file mode 100644 index d43abc6d66..0000000000 --- a/lang/python/python-cryptography/patches/0006-Add-X509_STORE_CTX_trusted_stack-compatibility-macro.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 98bf3eda9c950158cf6a0a6a698dd365712201b1 Mon Sep 17 00:00:00 2001 -From: Rosen Penev -Date: Mon, 25 Nov 2019 12:06:16 -0800 -Subject: [PATCH 6/7] Add X509_STORE_CTX_trusted_stack compatibility macro - -Deprecated in 1.1 - -Signed-off-by: Rosen Penev ---- - src/_cffi_src/openssl/x509_vfy.py | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - ---- a/src/_cffi_src/openssl/x509_vfy.py -+++ b/src/_cffi_src/openssl/x509_vfy.py -@@ -265,4 +265,10 @@ static const long Cryptography_HAS_X509_ - #else - static const long Cryptography_HAS_X509_CB_ISSUER_CHECK = 1; - #endif -+ -+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL -+#define X509_STORE_CTX_trusted_stack X509_STORE_CTX_set0_trusted_stack -+#define X509_STORE_CTX_set_chain X509_STORE_CTX_set0_untrusted -+#define X509_STORE_CTX_get_chain X509_STORE_CTX_get1_chain -+#endif - """ diff --git a/lang/python/python-cryptography/patches/0007-Add-defines-for-totally-deprecated-functions.patch b/lang/python/python-cryptography/patches/0007-Add-defines-for-totally-deprecated-functions.patch deleted file mode 100644 index 7aca62c8dd..0000000000 --- a/lang/python/python-cryptography/patches/0007-Add-defines-for-totally-deprecated-functions.patch +++ /dev/null @@ -1,56 +0,0 @@ -From e96af1cee523c5551c7fc5f36eba8e271fa51b20 Mon Sep 17 00:00:00 2001 -From: Rosen Penev -Date: Thu, 5 Dec 2019 12:52:13 -0800 -Subject: [PATCH 7/7] Add defines for totally deprecated functions - ---- - src/_cffi_src/openssl/conf.py | 4 ++++ - src/_cffi_src/openssl/crypto.py | 4 ++++ - src/_cffi_src/openssl/ecdh.py | 3 +++ - src/_cffi_src/openssl/ssl.py | 5 +++++ - 4 files changed, 16 insertions(+) - ---- a/src/_cffi_src/openssl/conf.py -+++ b/src/_cffi_src/openssl/conf.py -@@ -17,4 +17,8 @@ void OPENSSL_no_config(void); - """ - - CUSTOMIZATIONS = """ -+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL -+#define OPENSSL_config(x) 0 -+#define OPENSSL_no_config() 0 -+#endif - """ ---- a/src/_cffi_src/openssl/crypto.py -+++ b/src/_cffi_src/openssl/crypto.py -@@ -113,4 +113,8 @@ void *Cryptography_realloc_wrapper(void - void Cryptography_free_wrapper(void *ptr, const char *path, int line) { - free(ptr); - } -+ -+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL -+#define CRYPTO_get_locking_callback() 0 -+#endif - """ ---- a/src/_cffi_src/openssl/ecdh.py -+++ b/src/_cffi_src/openssl/ecdh.py -@@ -17,4 +17,7 @@ long SSL_CTX_set_ecdh_auto(SSL_CTX *, in - """ - - CUSTOMIZATIONS = """ -+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL -+#define SSL_CTX_set_ecdh_auto(a, b) ((b) != 0) -+#endif - """ ---- a/src/_cffi_src/openssl/ssl.py -+++ b/src/_cffi_src/openssl/ssl.py -@@ -745,4 +745,9 @@ long (*SSL_get_max_proto_version)(SSL *) - #else - static const long Cryptography_HAS_GET_PROTO_VERSION = 1; - #endif -+ -+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL -+#define SSL_library_init() 1 -+#define SSL_load_error_strings() 0 -+#endif - """ diff --git a/lang/python/python-cryptography/patches/001-Update-ouroboros.patch b/lang/python/python-cryptography/patches/001-Update-ouroboros.patch new file mode 100644 index 0000000000..93abe3a4f1 --- /dev/null +++ b/lang/python/python-cryptography/patches/001-Update-ouroboros.patch @@ -0,0 +1,13 @@ +Fixes https://rustsec.org/advisories/RUSTSEC-2023-0042.html + +--- a/src/rust/Cargo.toml ++++ b/src/rust/Cargo.toml +@@ -15,7 +15,7 @@ cryptography-cffi = { path = "cryptograp + cryptography-x509 = { path = "cryptography-x509" } + cryptography-openssl = { path = "cryptography-openssl" } + pem = "1.1" +-ouroboros = "0.15" ++ouroboros = "0.18" + openssl = "0.10.54" + openssl-sys = "0.9.88" + foreign-types-shared = "0.1" diff --git a/lang/python/python-cryptography/test.sh b/lang/python/python-cryptography/test.sh new file mode 100644 index 0000000000..b706d561ab --- /dev/null +++ b/lang/python/python-cryptography/test.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +[ "$1" = python3-cryptography ] || exit 0 + +python3 - << EOF +import sys +from cryptography.fernet import Fernet +key = Fernet.generate_key() +f = Fernet(key) +token = f.encrypt(b"my deep dark secret") +sys.exit(0 if f.decrypt(token) == b"my deep dark secret" else 1) +EOF diff --git a/lang/python/python-semantic-version/Makefile b/lang/python/python-semantic-version/Makefile new file mode 100644 index 0000000000..9a78393f67 --- /dev/null +++ b/lang/python/python-semantic-version/Makefile @@ -0,0 +1,49 @@ +# +# Copyright (C) 2023 Jeffery To +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=python-semantic-version +PKG_VERSION:=2.10.0 +PKG_RELEASE:=1 + +PYPI_NAME:=semantic-version +PYPI_SOURCE_NAME:=semantic_version +PKG_HASH:=bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c + +PKG_LICENSE:=BSD-2-Clause +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To + +PKG_HOST_ONLY:=1 +HOST_BUILD_DEPENDS:=python3/host python-build/host python-installer/host python-wheel/host + +include ../pypi.mk +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/host-build.mk +include ../python3-package.mk +include ../python3-host-build.mk + +define Package/python3-semantic-version + SUBMENU:=Python + SECTION:=lang + CATEGORY:=Languages + TITLE:=Library implementing the 'SemVer' scheme + URL:=https://github.com/rbarrois/python-semanticversion + DEPENDS:=+python3-light + BUILDONLY:=1 +endef + +define Package/python3-semantic-version/description +This small python library provides a few tools to handle SemVer in +Python. It follows strictly the 2.0.0 version of the SemVer scheme. +endef + +$(eval $(call Py3Package,python3-semantic-version)) +$(eval $(call BuildPackage,python3-semantic-version)) +$(eval $(call BuildPackage,python3-semantic-version-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-setuptools-rust/Makefile b/lang/python/python-setuptools-rust/Makefile new file mode 100644 index 0000000000..19325c1fda --- /dev/null +++ b/lang/python/python-setuptools-rust/Makefile @@ -0,0 +1,62 @@ +# +# Copyright (C) 2023 Jeffery To +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=python-setuptools-rust +PKG_VERSION:=1.7.0 +PKG_RELEASE:=1 + +PYPI_NAME:=setuptools-rust +PKG_HASH:=c7100999948235a38ae7e555fe199aa66c253dc384b125f5d85473bf81eae3a3 + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To + +PKG_HOST_ONLY:=1 +HOST_BUILD_DEPENDS:= \ + python3/host \ + python-build/host \ + python-installer/host \ + python-wheel/host \ + python-setuptools-scm/host \ + python-semantic-version/host \ + python-typing-extensions/host \ + rust/host + +include ../pypi.mk +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/host-build.mk +include ../python3-package.mk +include ../python3-host-build.mk + +define Package/python3-setuptools-rust + SUBMENU:=Python + SECTION:=lang + CATEGORY:=Languages + TITLE:=Setuptools Rust extension plugin + URL:=https://github.com/PyO3/setuptools-rust + DEPENDS:= \ + +python3-light \ + +python3-logging \ + +python3-semantic-version \ + +python3-setuptools \ + +python3-typing-extensions \ + +rust + BUILDONLY:=1 +endef + +define Package/python3-setuptools-rust/description +setuptools-rust is a plugin for setuptools to build Rust Python +extensions implemented with PyO3 or rust-cpython. +endef + +$(eval $(call Py3Package,python3-setuptools-rust)) +$(eval $(call BuildPackage,python3-setuptools-rust)) +$(eval $(call BuildPackage,python3-setuptools-rust-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-setuptools/Makefile b/lang/python/python-setuptools/Makefile index 08cb7124fc..8138a99556 100644 --- a/lang/python/python-setuptools/Makefile +++ b/lang/python/python-setuptools/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-setuptools -PKG_VERSION:=68.2.0 +PKG_VERSION:=68.2.2 PKG_RELEASE:=1 PYPI_NAME:=setuptools -PKG_HASH:=00478ca80aeebeecb2f288d3206b0de568df5cd2b8fada1209843cc9a8d88a48 +PKG_HASH:=4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87 PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-setuptools/test.sh b/lang/python/python-setuptools/test.sh new file mode 100644 index 0000000000..bc35600c69 --- /dev/null +++ b/lang/python/python-setuptools/test.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +[ "$1" = python3-setuptools ] || exit 0 + +python3 -c 'from setuptools import setup' diff --git a/lang/python/python-trove-classifiers/Makefile b/lang/python/python-trove-classifiers/Makefile index d370438a9b..447fa8704b 100644 --- a/lang/python/python-trove-classifiers/Makefile +++ b/lang/python/python-trove-classifiers/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-trove-classifiers -PKG_VERSION:=2023.8.7 +PKG_VERSION:=2023.9.19 PKG_RELEASE:=1 PYPI_NAME:=trove-classifiers -PKG_HASH:=c9f2a0a85d545e5362e967e4f069f56fddfd91215e22ffa48c66fb283521319a +PKG_HASH:=3e700af445c802f251ce2b741ee78d2e5dfa5ab8115b933b89ca631b414691c9 PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-typing-extensions/Makefile b/lang/python/python-typing-extensions/Makefile index a317eb55c8..12abc240a5 100644 --- a/lang/python/python-typing-extensions/Makefile +++ b/lang/python/python-typing-extensions/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-typing-extensions -PKG_VERSION:=4.7.1 +PKG_VERSION:=4.8.0 PKG_RELEASE:=1 PYPI_NAME:=typing-extensions PYPI_SOURCE_NAME:=typing_extensions -PKG_HASH:=b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2 +PKG_HASH:=df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef PKG_MAINTAINER:=Jan Pavlinec , Jeffery To PKG_LICENSE:=Python-2.0.1 0BSD diff --git a/lang/python/python-typing-extensions/test.sh b/lang/python/python-typing-extensions/test.sh new file mode 100644 index 0000000000..623cb24279 --- /dev/null +++ b/lang/python/python-typing-extensions/test.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +[ "$1" = python3-typing-extensions ] || exit 0 + +python3 -c 'import typing_extensions' diff --git a/lang/python/python3-host.mk b/lang/python/python3-host.mk index b272c28ca1..ca5cb64baa 100644 --- a/lang/python/python3-host.mk +++ b/lang/python/python3-host.mk @@ -11,6 +11,7 @@ # For PYTHON3_VERSION python3_mk_path:=$(dir $(lastword $(MAKEFILE_LIST))) include $(python3_mk_path)python3-version.mk +include $(python3_mk_path)../rust/rust-values.mk # Unset environment variables @@ -76,7 +77,9 @@ HOST_PYTHON3_VARS = \ LDSHARED="$(HOSTCC) -shared" \ CFLAGS="$(HOST_CFLAGS)" \ CPPFLAGS="$(HOST_CPPFLAGS) -I$(HOST_PYTHON3_INC_DIR)" \ - LDFLAGS="$(HOST_LDFLAGS) -lpython$(PYTHON3_VERSION) -Wl$(comma)-rpath$(comma)$(STAGING_DIR_HOSTPKG)/lib" + LDFLAGS="$(HOST_LDFLAGS) -lpython$(PYTHON3_VERSION) -Wl$(comma)-rpath$(comma)$(STAGING_DIR_HOSTPKG)/lib" \ + CARGO_HOME="$(CARGO_HOME)" \ + PATH="$(CARGO_HOME)/bin:$(PATH)" # $(1) => directory of python script # $(2) => python script and its arguments diff --git a/lang/python/python3-package.mk b/lang/python/python3-package.mk index 268bca07f9..0693d21ee0 100644 --- a/lang/python/python3-package.mk +++ b/lang/python/python3-package.mk @@ -44,7 +44,12 @@ PYTHON3_VARS = \ PYTHONDONTWRITEBYTECODE=1 \ _python_sysroot="$(STAGING_DIR)" \ _python_prefix="/usr" \ - _python_exec_prefix="/usr" + _python_exec_prefix="/usr" \ + CARGO_BUILD_TARGET="$(RUSTC_TARGET_ARCH)" \ + CARGO_HOME="$(CARGO_HOME)" \ + PATH="$(CARGO_HOME)/bin:$(PATH)" \ + PYO3_CROSS_LIB_DIR="$(PYTHON3_LIB_DIR)" \ + RUSTFLAGS="$(CARGO_RUSTFLAGS)" # $(1) => directory of python script # $(2) => python script and its arguments diff --git a/libs/libwebp/Makefile b/libs/libwebp/Makefile index c9f15c9632..7d413c1f18 100644 --- a/libs/libwebp/Makefile +++ b/libs/libwebp/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libwebp -PKG_VERSION:=1.3.1 +PKG_VERSION:=1.3.2 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://storage.googleapis.com/downloads.webmproject.org/releases/webp -PKG_HASH:=b3779627c2dfd31e3d8c4485962c2efe17785ef975e2be5c8c0c9e6cd3c4ef66 +PKG_HASH:=2a499607df669e40258e53d0ade8035ba4ec0175244869d1025d460562aa09b4 PKG_MAINTAINER:=Alexandru Ardelean PKG_LICENSE:=BSD-3-Clause diff --git a/net/adblock-fast/Makefile b/net/adblock-fast/Makefile index 317a3d1aae..72a3324ac0 100644 --- a/net/adblock-fast/Makefile +++ b/net/adblock-fast/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=adblock-fast PKG_VERSION:=1.0.0 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_MAINTAINER:=Stan Grishin PKG_LICENSE:=GPL-3.0-or-later @@ -18,6 +18,10 @@ define Package/adblock-fast TITLE:=AdBlock Fast Service URL:=https://docs.openwrt.melmac.net/adblock-fast/ DEPENDS:=+jshn +curl + DEPENDS+=+!BUSYBOX_DEFAULT_AWK:gawk + DEPENDS+=+!BUSYBOX_DEFAULT_GREP:grep + DEPENDS+=+!BUSYBOX_DEFAULT_SED:sed + DEPENDS+=+!BUSYBOX_DEFAULT_SORT:coreutils-sort CONFLICTS:=simple-adblock PROVIDES:=simple-adblock PKGARCH:=all diff --git a/net/adblock-fast/files/etc/config/adblock-fast b/net/adblock-fast/files/etc/config/adblock-fast index 10cdf5186e..f459411f03 100644 --- a/net/adblock-fast/files/etc/config/adblock-fast +++ b/net/adblock-fast/files/etc/config/adblock-fast @@ -13,7 +13,7 @@ config adblock-fast 'config' option curl_retry '3' option debug '0' option dns 'dnsmasq.servers' - option dnsmasq_instance '*' + list dnsmasq_instance '*' # option dnsmasq_config_file_url 'https://big.oisd.nl/dnsmasq2' option download_timeout '10' option force_dns '1' diff --git a/net/adblock-fast/files/etc/init.d/adblock-fast b/net/adblock-fast/files/etc/init.d/adblock-fast index 2a75e69383..6d0cade3f4 100755 --- a/net/adblock-fast/files/etc/init.d/adblock-fast +++ b/net/adblock-fast/files/etc/init.d/adblock-fast @@ -151,6 +151,7 @@ get_text() { errorParsingList) r="failed to parse";; errorNoSSLSupport) r="no HTTPS/SSL support on device";; errorCreatingDirectory) r="failed to create output/cache/gzip file directory";; + errorDetectingFileType) r="failed to detect format";; statusNoInstall) r="$serviceName is not installed or not found";; statusStopped) r="Stopped";; @@ -268,20 +269,35 @@ append_url() { fi } -detect_file_type() { - local file="$1" - if [ "$(head -1 "$file")" = '[Adblock Plus]' ]; then - echo 'adBlockPlus' - elif grep -q '^server=' "$file"; then - echo 'dnsmasqFile' - elif grep -q '^local=' "$file"; then - echo 'dnsmasq2File' - elif grep -q '^0.0.0.0' "$file" || grep -q '^127.0.0.1' "$file"; then - echo 'hosts' - else - echo 'domains' - fi -} + detect_file_type() { + local file="$1" + if [ "$(head -1 "$file")" = '[Adblock Plus]' ] || \ + grep -q '^||' "$file"; then + echo 'adBlockPlus' + elif grep -q '^server=' "$file"; then + echo 'dnsmasqFile' + elif grep -q '^local=' "$file"; then + echo 'dnsmasq2File' + elif grep -q '^0.0.0.0' "$file" || grep -q '^127.0.0.1' "$file"; then + echo 'hosts' + elif [ -n "$(sed "$domainsFilter" "$file" | head -1)" ]; then + echo 'domains' + fi + } +# detect_file_type() { +# local file="$1" +# if [ -n "$(sed "$adBlockPlusFilter" "$file" | head -1)" ]; then +# echo 'adBlockPlus' +# elif [ -n "$(sed "$dnsmasqFileFilter" "$file" | head -1)" ]; then +# echo 'dnsmasqFile' +# elif [ -n "$(sed "$dnsmasq2FileFilter" "$file" | head -1)" ]; then +# echo 'dnsmasq2File' +# elif [ -n "$(sed "$hostsFilter" "$file" | head -1)" ]; then +# echo 'hosts' +# elif [ -n "$(sed "$domainsFilter" "$file" | head -1)" ]; then +# echo 'domains' +# fi +# } load_environment() { local i j @@ -543,7 +559,7 @@ get_local_filesize() { echo -en "$size" } -resolver() { +resolver_config() { local cfg="$1" param="$2" case "$param" in dnsmasq.addnhosts) @@ -580,10 +596,10 @@ dns() { config_load 'dhcp' if [ "$dnsmasq_instance" = "*" ]; then - config_foreach resolver 'dnsmasq' "$dns" + config_foreach resolver_config 'dnsmasq' "$dns" elif [ -n "$dnsmasq_instance" ]; then for i in $dnsmasq_instance; do - resolver "@dnsmasq[$i]" "$dns" || resolver "$i" "$dns" + resolver_config "@dnsmasq[$i]" "$dns" || resolver_config "$i" "$dns" done fi @@ -849,16 +865,23 @@ process_file_url() { format="$(detect_file_type "$R_TMP")" case "$format" in adBlockPlus) filter="$adBlockPlusFilter";; -# dnsmasqFile) filter="$dnsmasqFileFilter";; -# dnsmasq2File) filter="$dnsmasq2FileFilter";; + dnsmasqFile) filter="$dnsmasqFileFilter";; + dnsmasq2File) filter="$dnsmasq2FileFilter";; domains) filter="$domainsFilter";; hosts) filter="$hostsFilter";; + *) + output 1 "$_FAIL_" + output 2 "[DL] $type $label $__FAIL__\\n" + echo "errorDetectingFileType|${url}" >> "$sharedMemoryError" + rm -f "$R_TMP" + return 0 + ;; esac - [ -n "$filter" ] && sed -i "$filter" "$R_TMP" + sed -i "$filter" "$R_TMP" if [ ! -s "$R_TMP" ]; then output 1 "$_FAIL_" output 2 "[DL] $type $label ($format) $__FAIL__\\n" - echo "errorParsingList|${1}" >> "$sharedMemoryError" + echo "errorParsingList|${url}" >> "$sharedMemoryError" else cat "${R_TMP}" >> "$D_TMP" output 1 "$_OK_" @@ -1596,7 +1619,7 @@ killcache() { rm -f "$dnsmasqServersCache" "${compressed_cache_dir}/${dnsmasqServersGzip}" rm -f "$unboundCache" "$unboundGzip" config_load 'dhcp' - config_foreach resolver 'dnsmasq' 'cleanup' + config_foreach resolver_config 'dnsmasq' 'cleanup' uci_commit 'dhcp' return 0 } diff --git a/net/apache/Makefile b/net/apache/Makefile index 9a6c881585..5005a233dd 100644 --- a/net/apache/Makefile +++ b/net/apache/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=apache -PKG_VERSION:=2.4.52 +PKG_VERSION:=2.4.57 PKG_RELEASE:=1 PKG_SOURCE_NAME:=httpd PKG_SOURCE:=$(PKG_SOURCE_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=@APACHE/httpd/ -PKG_HASH:=0127f7dc497e9983e9c51474bed75e45607f2f870a7675a86dc90af6d572f5c9 +PKG_HASH:=dbccb84aee95e095edfbb81e5eb926ccd24e6ada55dcd83caecb262e5cf94d2a PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_NAME)-$(PKG_VERSION) @@ -66,7 +66,7 @@ endef define Package/apache $(call Package/apache/Default) USERID:=apache=377:apache=377 - DEPENDS:=+libapr +libaprutil +libpcre + DEPENDS:=+libapr +libaprutil +libpcre2 endef define Package/apache/description @@ -201,7 +201,7 @@ CONFIGURE_ARGS+= \ --with-apr-util="$(STAGING_DIR)/usr/bin/apu-1-config" \ --with-apr="$(STAGING_DIR)/usr/bin/apr-1-config" \ --with-mpm=prefork \ - --with-pcre="$(STAGING_DIR)/usr/bin/pcre-config" \ + --with-pcre="$(STAGING_DIR)/usr/bin/pcre2-config" \ --with-program-name=apache2 \ --with-ssl diff --git a/net/apache/patches/020-openssl-deprecated.patch b/net/apache/patches/020-openssl-deprecated.patch index c4f600fa85..94115840a6 100644 --- a/net/apache/patches/020-openssl-deprecated.patch +++ b/net/apache/patches/020-openssl-deprecated.patch @@ -1,6 +1,6 @@ --- a/modules/md/md_crypt.c +++ b/modules/md/md_crypt.c -@@ -1139,23 +1139,23 @@ const char *md_cert_get_serial_number(co +@@ -1194,23 +1194,23 @@ int md_certs_are_equal(const md_cert_t * int md_cert_is_valid_now(const md_cert_t *cert) { @@ -102,7 +102,7 @@ * when the user points at an explicit non-engine flavor of OpenSSL --- a/support/ab.c +++ b/support/ab.c -@@ -652,11 +652,11 @@ static void ssl_print_cert_info(BIO *bio +@@ -665,11 +665,11 @@ static void ssl_print_cert_info(BIO *bio BIO_printf(bio, "Certificate version: %ld\n", X509_get_version(cert)+1); BIO_printf(bio,"Valid from: "); @@ -116,7 +116,7 @@ BIO_printf(bio,"\n"); pk = X509_get_pubkey(cert); -@@ -2634,8 +2634,10 @@ int main(int argc, const char * const ar +@@ -2647,8 +2647,10 @@ int main(int argc, const char * const ar CRYPTO_malloc_init(); #endif #endif diff --git a/net/bind/Makefile b/net/bind/Makefile index 16041aa1da..82db8ee408 100644 --- a/net/bind/Makefile +++ b/net/bind/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=bind -PKG_VERSION:=9.18.18 +PKG_VERSION:=9.18.19 PKG_RELEASE:=1 USERID:=bind=57:bind=57 @@ -22,7 +22,7 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:= \ https://www.mirrorservice.org/sites/ftp.isc.org/isc/bind9/$(PKG_VERSION) \ https://ftp.isc.org/isc/bind9/$(PKG_VERSION) -PKG_HASH:=d735cdc127a6c5709bde475b5bf16fa2133f36fdba202f7c3c37d134e5192160 +PKG_HASH:=115e09c05439bebade1d272eda08fa88eb3b60129edef690588c87a4d27612cc PKG_FIXUP:=autoreconf PKG_REMOVE_FILES:=aclocal.m4 libtool.m4 diff --git a/net/linuxptp/Makefile b/net/linuxptp/Makefile index ca1732c252..125baa298a 100644 --- a/net/linuxptp/Makefile +++ b/net/linuxptp/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=linuxptp -PKG_VERSION:=4.0 +PKG_VERSION:=4.1 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz PKG_SOURCE_URL:=@SF/$(PKG_NAME)/v$(PKG_VERSION) -PKG_HASH:=d27d5ef296bb3d285e22e69f75ae023b4b42a2f4655130d6d390d8afcbc3d933 +PKG_HASH:=e1743d44f8208897e30895da3579e670ff919b914feb4b5a949f3e421ddde535 PKG_MAINTAINER:=Wojciech Dubowik PKG_LICENSE:=GPL-2.0-only diff --git a/net/linuxptp/patches/001-fix_kbuild_output.patch b/net/linuxptp/patches/001-fix_kbuild_output.patch index 66d6b39b08..1b5e81e979 100644 --- a/net/linuxptp/patches/001-fix_kbuild_output.patch +++ b/net/linuxptp/patches/001-fix_kbuild_output.patch @@ -6,6 +6,6 @@ prefix="" - tstamp=/usr/include/linux/net_tstamp.h + tstamp=/include/uapi/linux/net_tstamp.h + ptp_clock=/usr/include/linux/ptp_clock.h if [ "x$KBUILD_OUTPUT" != "x" ]; then - # With KBUILD_OUTPUT set, we are building against diff --git a/net/modemmanager/Makefile b/net/modemmanager/Makefile index 0069eaae98..864127a3d7 100644 --- a/net/modemmanager/Makefile +++ b/net/modemmanager/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=modemmanager PKG_SOURCE_VERSION:=1.20.6 -PKG_RELEASE:=13 +PKG_RELEASE:=14 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/ModemManager.git diff --git a/net/modemmanager/files/modemmanager.common b/net/modemmanager/files/modemmanager.common index a931717fd7..d46ee72430 100644 --- a/net/modemmanager/files/modemmanager.common +++ b/net/modemmanager/files/modemmanager.common @@ -6,6 +6,7 @@ . /lib/functions.sh . /lib/netifd/netifd-proto.sh +INCLUDE_ONLY=1 . /lib/netifd/proto/modemmanager.sh ################################################################################ # Runtime state @@ -139,10 +140,6 @@ mm_get_modem_config_foreach_cb() { local cfg="$1" local sysfspath="$2" - local proto - config_get proto "${cfg}" proto - [ "${proto}" = modemmanager ] || return 0 - local dev dev=$(uci_get network "${cfg}" device) [ "${dev}" = "${sysfspath}" ] || return 0 @@ -237,19 +234,25 @@ mm_report_modem_wait() { ################################################################################ # Cleanup interfaces -mm_cleanup_interface_cb() { - local cfg="$1" - - local proto - config_get proto "${cfg}" proto - [ "${proto}" = modemmanager ] || return 0 - - proto_set_available "${cfg}" 0 -} - mm_cleanup_interfaces() { - config_load network - config_foreach mm_cleanup_interface_cb interface + local modemlist modemlength idx modeminfo modemsysfspath + + modemlist=$(mmcli --list-modems --output-keyvalue) + [ -n "${modemlist}" ] || return 0 + + modemlength=$(modemmanager_get_field "${modemlist}" "modem-list.length") + + # do nothing if no modem reported + [ -n "${modemlength}" ] && [ "${modemlength}" -ge 1 ] && { + idx=1 + while [ $idx -le "$modemlength" ]; do + modempath=$(modemmanager_get_field "${modemlist}" "modem-list.value\[$idx\]") + modeminfo=$(mmcli --modem "${modempath}" --output-keyvalue) + modemsysfspath=$(modemmanager_get_field "${modeminfo}" "modem.generic.device") + mm_cleanup_interface_by_sysfspath "${modemsysfspath}" + idx=$((idx + 1)) + done + } } mm_cleanup_interface_by_sysfspath() { diff --git a/net/openvswitch/Makefile b/net/openvswitch/Makefile index 7f47c28226..43b8bfaf55 100644 --- a/net/openvswitch/Makefile +++ b/net/openvswitch/Makefile @@ -251,6 +251,7 @@ CONFIGURE_ARGS+= \ CONFIGURE_VARS += \ $(if $(CONFIG_OPENVSWITCH_WITH_LIBUNBOUND),,ac_cv_lib_unbound_ub_ctx_create=no) \ ovs_cv_flake8=no \ + ovs_cv_groff=no \ ovs_cv_python3=$(PYTHON3) \ ovs_cv_python3_host=$(HOST_PYTHON3_BIN) \ SPHINXBUILD=none \ diff --git a/net/snort3/Makefile b/net/snort3/Makefile index ea4f115fff..4c7cbb4073 100644 --- a/net/snort3/Makefile +++ b/net/snort3/Makefile @@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=snort3 -PKG_VERSION:=3.1.70.0 +PKG_VERSION:=3.1.71.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/snort3/snort3/archive/refs/tags/ -PKG_HASH:=4917f2631d033383ca553002f5688b61df507f5c809b9ba62abceca45a7554ad +PKG_HASH:=b5dd52b46ca2570986d7c12750bbf9db00ee3c294983ce272b3ca321aee8fb73 PKG_MAINTAINER:=W. Michael Petullo PKG_LICENSE:=GPL-2.0-only diff --git a/net/stunnel/Makefile b/net/stunnel/Makefile index e0406666b1..40b41234e5 100644 --- a/net/stunnel/Makefile +++ b/net/stunnel/Makefile @@ -8,8 +8,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=stunnel -PKG_VERSION:=5.67 -PKG_RELEASE:=4 +PKG_VERSION:=5.71 +PKG_RELEASE:=1 PKG_LICENSE:=GPL-2.0-or-later PKG_MAINTAINER:=Florian Eckert @@ -23,7 +23,7 @@ PKG_SOURCE_URL:= \ https://www.usenix.org.uk/mirrors/stunnel/archive/$(word 1, $(subst .,$(space),$(PKG_VERSION))).x/ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_HASH:=3086939ee6407516c59b0ba3fbf555338f9d52f459bcab6337c0f00e91ea8456 +PKG_HASH:=f023aae837c2d32deb920831a5ee1081e11c78a5d57340f8e6f0829f031017f5 PKG_FIXUP:=autoreconf PKG_FIXUP:=patch-libtool diff --git a/net/tailscale/Makefile b/net/tailscale/Makefile index f9c7488c11..64360168a2 100644 --- a/net/tailscale/Makefile +++ b/net/tailscale/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tailscale -PKG_VERSION:=1.48.2 +PKG_VERSION:=1.50.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/tailscale/tailscale/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=1c34c5c2c3b78e59ffb824b356418ff828653c62885b126d0d05f300218b36b5 +PKG_HASH:=a7e024577854c07b793c4bbd81a497250e6a1b4536e303351a388810f13b7316 PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=BSD-3-Clause diff --git a/net/tunneldigger/Makefile b/net/tunneldigger/Makefile index 8cab922f06..f314bf2bfe 100644 --- a/net/tunneldigger/Makefile +++ b/net/tunneldigger/Makefile @@ -5,8 +5,9 @@ PKG_RELEASE:=1 PKG_SOURCE_URL:=https://github.com/wlanslovenija/tunneldigger.git PKG_SOURCE_PROTO:=git +PKG_SOURCE_DATE:=2021-03-08 PKG_SOURCE_VERSION:=4f72b30578ac3dbc5482f4a54054bf870355bdf5 -PKG_MIRROR_HASH:=babc71c757b757026f63e298bd4bd0edceae220827fff5cfad0af3f04ed529c7 +PKG_MIRROR_HASH:=f4f7bbb5782771c4f775f60a52a9ecf0636ce929d89688f671ee4eb6bedb9f91 PKG_MAINTAINER:=Nick Hainke PKG_LICENSE:=AGPL-3.0 diff --git a/net/tunneldigger/files/tunneldigger.init b/net/tunneldigger/files/tunneldigger.init index ea37751d5d..bacaace816 100644 --- a/net/tunneldigger/files/tunneldigger.init +++ b/net/tunneldigger/files/tunneldigger.init @@ -21,6 +21,7 @@ parse_broker() { config_get limit_bw_down "$section" limit_bw_down config_get hook_script "$section" hook_script config_get bind_interface "$section" bind_interface + config_get group "$section" group [ $enabled -eq 0 ] && return @@ -53,6 +54,7 @@ parse_broker() { procd_append_param command -i "${interface}" procd_append_param command -t "${tunnel_id}" procd_append_param command ${broker_opts} + [ -n "$group" ] && procd_set_param group "$group" procd_set_param stdout 1 procd_set_param stderr 1 procd_set_param respawn