PKG_NAME:=schroot
PKG_VERSION:=1.6.10
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).orig.tar.xz
PKG_SOURCE_URL:=http://deb.debian.org/debian/pool/main/s/schroot
Securely enter a chroot and run a command or login shell.
endef
-define Package/sudo/conffiles
+define Package/schroot/conffiles
/etc/schroot/
endef
+++ /dev/null
-include $(INCLUDE_DIR)/cmake.mk
-include ../../devel/ninja/ninja.mk
-
-CMAKE_HOST_OPTIONS += -DCMAKE_GENERATOR="Ninja"
-CMAKE_OPTIONS += -DCMAKE_GENERATOR="Ninja"
-
-define Host/Compile/Default
- $(call Ninja,-C $(HOST_BUILD_DIR)/$(CMAKE_BINARY_SUBDIR) $(1),)
-endef
-
-define Host/Install/Default
- $(call Ninja,-C $(HOST_BUILD_DIR)/$(CMAKE_BINARY_SUBDIR) install,)
-endef
-
-define Host/Uninstall/Default
- -$(call Ninja,-C $(HOST_BUILD_DIR)/$(CMAKE_BINARY_SUBDIR) uninstall,)
-endef
-
-define Build/Compile/Default
- $(call Ninja,-C $(PKG_BUILD_DIR)/$(CMAKE_BINARY_SUBDIR) $(1),)
-endef
-
-define Build/Install/Default
- $(call Ninja,-C $(PKG_BUILD_DIR)/$(CMAKE_BINARY_SUBDIR) install,DESTDIR="$(PKG_INSTALL_DIR)")
-endef
include $(TOPDIR)/rules.mk
GO_VERSION_MAJOR_MINOR:=1.16
-GO_VERSION_PATCH:=
+GO_VERSION_PATCH:=5
PKG_NAME:=golang
PKG_VERSION:=$(GO_VERSION_MAJOR_MINOR)$(if $(GO_VERSION_PATCH),.$(GO_VERSION_PATCH))
PKG_SOURCE:=go$(PKG_VERSION).src.tar.gz
PKG_SOURCE_URL:=$(GO_SOURCE_URLS)
-PKG_HASH:=7688063d55656105898f323d90a79a39c378d86fe89ae192eb3b7fc46347c95a
+PKG_HASH:=7bfa7e5908c7cc9e75da5ddf3066d7cbcf3fd9fa51945851325eebc17f50ba80
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
PKG_LICENSE:=BSD-3-Clause
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/lua-cjson
SUBMENU:=Lua
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/lua-ev
SUBMENU:=Lua
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/lua-openssl
SUBMENU:=Lua
PKG_BUILD_DEPENDS:=lua/host
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/lualanes
SUBMENU:=Lua
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/luv
SUBMENU:=Lua
PKG_HASH:=cf70200045b8bcb0e929c338ad421b6a291cf1038053532888dc201af3224d8b
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/lzmq
SUBMENU:=Lua
include $(TOPDIR)/rules.mk
PKG_NAME:=node
-PKG_VERSION:=v14.17.0
-PKG_RELEASE:=2
+PKG_VERSION:=v14.17.1
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://nodejs.org/dist/$(PKG_VERSION)
-PKG_HASH:=56e05bff9331039317db417f772e635e0cd1c55f733f7b1b079d71ab5842c9ed
+PKG_HASH:=ddf1d2d56ddf35ecd98c5ea5ddcd690b245899f289559b4330c921255f5a247f
PKG_MAINTAINER:=Hirokazu MORIKAWA <morikw2@gmail.com>, Adrian Panella <ianchi74@outlook.com>
PKG_LICENSE:=MIT
--- a/lib/internal/modules/cjs/loader.js
+++ b/lib/internal/modules/cjs/loader.js
-@@ -1184,7 +1184,8 @@ Module._initPaths = function() {
+@@ -1202,7 +1202,8 @@ Module._initPaths = function() {
path.resolve(process.execPath, '..') :
path.resolve(process.execPath, '..', '..');
+ path.resolve(prefixDir, 'lib', 'node_modules')];
if (homeDir) {
- paths.unshift(path.resolve(homeDir, '.node_libraries'));
+ ArrayPrototypeUnshift(paths, path.resolve(homeDir, '.node_libraries'));
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
-@@ -1026,13 +1027,6 @@ function lookupAndConnect(self, options)
+@@ -1028,13 +1029,6 @@ function lookupAndConnect(self, options)
hints: options.hints || 0
};
include $(TOPDIR)/rules.mk
PKG_NAME:=php
-PKG_VERSION:=7.4.19
+PKG_VERSION:=7.4.20
PKG_RELEASE:=1
PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://www.php.net/distributions/
-PKG_HASH:=6c17172c4a411ccb694d9752de899bb63c72a0a3ebe5089116bc13658a1467b2
+PKG_HASH:=1fa46ca6790d780bf2cb48961df65f0ca3640c4533f0bca743cd61b71cb66335
PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0
include $(TOPDIR)/rules.mk
PKG_NAME:=php
-PKG_VERSION:=8.0.6
+PKG_VERSION:=8.0.7
PKG_RELEASE:=1
PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://www.php.net/distributions/
-PKG_HASH:=e9871d3b6c391fe9e89f86f6334852dcc10eeaaa8d5565beb8436e7f0cf30e20
+PKG_HASH:=d5fc2e4fc780a32404d88c360e3e0009bc725d936459668e9c2ac992f2d83654
PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0
include $(TOPDIR)/rules.mk
PKG_NAME:=django
-PKG_VERSION:=3.2.3
+PKG_VERSION:=3.2.4
PKG_RELEASE:=1
PYPI_NAME:=Django
-PKG_HASH:=13ac78dbfd189532cad8f383a27e58e18b3d33f80009ceb476d7fcbfc5dcebd8
+PKG_HASH:=66c9d8db8cc6fe938a28b7887c1596e42d522e27618562517cc8929eb7e7f296
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>, Peter Stadler <peter.stadler@student.uibk.ac.at>
PKG_LICENSE:=BSD-3-Clause
include $(TOPDIR)/rules.mk
PKG_NAME:=python-attrs
-PKG_VERSION:=20.3.0
+PKG_VERSION:=21.2.0
PKG_RELEASE:=1
PYPI_NAME:=attrs
-PKG_HASH:=832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700
+PKG_HASH:=ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
include $(TOPDIR)/rules.mk
PKG_NAME:=python-cryptography
-PKG_VERSION:=3.3.2
+PKG_VERSION:=3.4.7
PKG_RELEASE:=1
PYPI_NAME:=cryptography
-PKG_HASH:=5a60d3780149e13b7a6ff7ad6526b38846354d11a15e21068e57073e29e19bed
+PKG_HASH:=3d10de8116d25649631977cb37da6cbdd2d6fa0e0281d014a5b7d337255ca713
PKG_LICENSE:=Apache-2.0 BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE.APACHE LICENSE.BSD
--- a/src/_cffi_src/openssl/asn1.py
+++ b/src/_cffi_src/openssl/asn1.py
-@@ -45,6 +45,7 @@ void ASN1_OBJECT_free(ASN1_OBJECT *);
-
- /* ASN1 STRING */
- unsigned char *ASN1_STRING_data(ASN1_STRING *);
-+const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *);
- int ASN1_STRING_set(ASN1_STRING *, const void *, int);
-
- /* ASN1 OCTET STRING */
-@@ -105,4 +106,7 @@ ASN1_NULL *ASN1_NULL_new(void);
+@@ -105,4 +105,7 @@ ASN1_NULL *ASN1_NULL_new(void);
"""
CUSTOMIZATIONS = """
--- a/src/_cffi_src/openssl/x509_vfy.py
+++ b/src/_cffi_src/openssl/x509_vfy.py
-@@ -22,6 +22,7 @@ TYPES = """
+@@ -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;
typedef ... Cryptography_STACK_OF_ASN1_OBJECT;
typedef ... Cryptography_STACK_OF_X509_OBJECT;
-@@ -252,4 +253,11 @@ void (*X509_STORE_set_get_issuer)(X509_S
+@@ -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
"""
--- a/src/cryptography/hazmat/bindings/openssl/_conditional.py
+++ b/src/cryptography/hazmat/bindings/openssl/_conditional.py
-@@ -270,6 +270,11 @@ def cryptography_has_get_proto_version()
+@@ -269,6 +269,11 @@ def cryptography_has_get_proto_version()
"SSL_get_max_proto_version",
]
# This is a mapping of
# {condition: function-returning-names-dependent-on-that-condition} so we can
-@@ -319,4 +324,7 @@ CONDITIONAL_NAMES = {
+@@ -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,
--- a/src/_cffi_src/openssl/ssl.py
+++ b/src/_cffi_src/openssl/ssl.py
-@@ -14,12 +14,14 @@ TYPES = """
+@@ -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_SIGALGS;
static const long Cryptography_HAS_PSK;
static const long Cryptography_HAS_VERIFIED_CHAIN;
-@@ -543,8 +545,43 @@ static const long Cryptography_HAS_SSL3_
+@@ -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_SSL_SET_SSL_CTX = 1;
--- a/src/cryptography/hazmat/bindings/openssl/_conditional.py
+++ b/src/cryptography/hazmat/bindings/openssl/_conditional.py
-@@ -33,6 +33,38 @@ def cryptography_has_ssl3_method():
+@@ -31,6 +31,38 @@ def cryptography_has_ssl3_method():
]
def cryptography_has_102_verification():
return [
"X509_V_ERR_SUITE_B_INVALID_VERSION",
-@@ -286,6 +318,10 @@ CONDITIONAL_NAMES = {
+@@ -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,
+++ /dev/null
-From 008e299aaf32af0b93eede649c6942af93b1c11e Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Sat, 15 Jun 2019 17:49:25 -0700
-Subject: [PATCH 4/7] Replace EVP_CIPHER_CTX_cleanup with EVP_CIPHER_CTX_reset
-
-Deprecated in OpenSSL 1.1
----
- src/_cffi_src/openssl/evp.py | 6 ++++++
- src/cryptography/hazmat/backends/openssl/ciphers.py | 2 +-
- 2 files changed, 7 insertions(+), 1 deletion(-)
-
---- a/src/_cffi_src/openssl/evp.py
-+++ b/src/_cffi_src/openssl/evp.py
-@@ -48,6 +48,7 @@ int EVP_CipherUpdate(EVP_CIPHER_CTX *, u
- const unsigned char *, int);
- int EVP_CipherFinal_ex(EVP_CIPHER_CTX *, unsigned char *, int *);
- int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *);
-+int EVP_CIPHER_CTX_reset(EVP_CIPHER_CTX *);
- EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void);
- void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *);
- int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *, int);
-@@ -269,4 +270,9 @@ static const long Cryptography_HAS_EVP_D
- #ifndef EVP_PKEY_POLY1305
- #define EVP_PKEY_POLY1305 NID_poly1305
- #endif
-+
-+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
-+#define EVP_CIPHER_CTX_cleanup EVP_CIPHER_CTX_reset
-+#define OpenSSL_add_all_algorithms() do {} while(0)
-+#endif
- """
---- a/src/cryptography/hazmat/backends/openssl/ciphers.py
-+++ b/src/cryptography/hazmat/backends/openssl/ciphers.py
-@@ -199,7 +199,7 @@ class _CipherContext(object):
- self._backend.openssl_assert(res != 0)
- self._tag = self._backend._ffi.buffer(tag_buf)[:]
-
-- res = self._backend._lib.EVP_CIPHER_CTX_cleanup(self._ctx)
-+ res = self._backend._lib.EVP_CIPHER_CTX_reset(self._ctx)
- self._backend.openssl_assert(res == 1)
- return self._backend._ffi.buffer(buf)[: outlen[0]]
-
--- /dev/null
+--- 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(
+ """
+@@ -45,7 +45,7 @@ setuptools_rust = "setuptools-rust>=0.11
+ install_requirements = ["cffi>=1.12"]
+ setup_requirements = install_requirements + [setuptools_rust]
+
+-if os.environ.get("CRYPTOGRAPHY_DONT_BUILD_RUST"):
++if True:
+ rust_extensions = []
+ else:
+ rust_extensions = [
+++ /dev/null
-From 339e0ab364ca931435c0ad134dc6047eb6974540 Mon Sep 17 00:00:00 2001
-From: Rosen Penev <rosenp@gmail.com>
-Date: Sat, 15 Jun 2019 18:47:46 -0700
-Subject: [PATCH 5/7] Switch get_*Update APIs to get0
-
-Deprecated in 1.1
----
- src/_cffi_src/openssl/x509.py | 27 ++++++++++++++++---
- .../hazmat/backends/openssl/backend.py | 4 +--
- .../hazmat/backends/openssl/x509.py | 8 +++---
- 3 files changed, 29 insertions(+), 10 deletions(-)
-
---- a/src/_cffi_src/openssl/x509.py
-+++ b/src/_cffi_src/openssl/x509.py
-@@ -202,8 +202,10 @@ long X509_get_version(X509 *);
-
- ASN1_TIME *X509_get_notBefore(X509 *);
- ASN1_TIME *X509_get_notAfter(X509 *);
--ASN1_TIME *X509_getm_notBefore(X509 *);
--ASN1_TIME *X509_getm_notAfter(X509 *);
-+ASN1_TIME *X509_getm_notBefore(const X509 *);
-+ASN1_TIME *X509_getm_notAfter(const X509 *);
-+const ASN1_TIME *X509_get0_notBefore(const X509 *);
-+const ASN1_TIME *X509_get0_notAfter(const X509 *);
-
- long X509_REQ_get_version(X509_REQ *);
- X509_NAME *X509_REQ_get_subject_name(X509_REQ *);
-@@ -235,6 +237,8 @@ X509_CRL *sk_X509_CRL_value(Cryptography
- long X509_CRL_get_version(X509_CRL *);
- ASN1_TIME *X509_CRL_get_lastUpdate(X509_CRL *);
- ASN1_TIME *X509_CRL_get_nextUpdate(X509_CRL *);
-+const ASN1_TIME *X509_CRL_get0_lastUpdate(const X509_CRL *);
-+const ASN1_TIME *X509_CRL_get0_nextUpdate(const X509_CRL *);
- X509_NAME *X509_CRL_get_issuer(X509_CRL *);
- Cryptography_STACK_OF_X509_REVOKED *X509_CRL_get_REVOKED(X509_CRL *);
-
-@@ -243,8 +247,11 @@ int X509_CRL_set_lastUpdate(X509_CRL *,
- int X509_CRL_set_nextUpdate(X509_CRL *, ASN1_TIME *);
- int X509_set_notBefore(X509 *, ASN1_TIME *);
- int X509_set_notAfter(X509 *, ASN1_TIME *);
--int X509_set1_notBefore(X509 *, ASN1_TIME *);
--int X509_set1_notAfter(X509 *, ASN1_TIME *);
-+
-+int X509_CRL_set1_lastUpdate(X509_CRL *, const ASN1_TIME *);
-+int X509_CRL_set1_nextUpdate(X509_CRL *, const ASN1_TIME *);
-+int X509_set1_notBefore(X509 *, const ASN1_TIME *);
-+int X509_set1_notAfter(X509 *, const ASN1_TIME *);
-
- EC_KEY *d2i_EC_PUBKEY_bio(BIO *, EC_KEY **);
- int i2d_EC_PUBKEY_bio(BIO *, EC_KEY *);
-@@ -299,4 +306,16 @@ int i2d_re_X509_CRL_tbs(X509_CRL *crl, u
- return i2d_X509_CRL_INFO(crl->crl, pp);
- }
- #endif
-+
-+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL
-+#define X509_get_notBefore X509_get0_notBefore
-+#define X509_get_notAfter X509_get0_notAfter
-+#define X509_set_notBefore X509_set1_notBefore
-+#define X509_set_notAfter X509_set1_notAfter
-+
-+#define X509_CRL_get_lastUpdate X509_CRL_get0_lastUpdate
-+#define X509_CRL_get_nextUpdate X509_CRL_get0_nextUpdate
-+#define X509_CRL_set_lastUpdate X509_CRL_set1_lastUpdate
-+#define X509_CRL_set_nextUpdate X509_CRL_set1_nextUpdate
-+#endif
- """
---- a/src/cryptography/hazmat/backends/openssl/backend.py
-+++ b/src/cryptography/hazmat/backends/openssl/backend.py
-@@ -1128,12 +1128,12 @@ class Backend(object):
-
- # Set the last update time.
- last_update = self._create_asn1_time(builder._last_update)
-- res = self._lib.X509_CRL_set_lastUpdate(x509_crl, last_update)
-+ res = self._lib.X509_CRL_set1_lastUpdate(x509_crl, last_update)
- self.openssl_assert(res == 1)
-
- # Set the next update time.
- next_update = self._create_asn1_time(builder._next_update)
-- res = self._lib.X509_CRL_set_nextUpdate(x509_crl, next_update)
-+ res = self._lib.X509_CRL_set1_nextUpdate(x509_crl, next_update)
- self.openssl_assert(res == 1)
-
- # Add extensions.
---- a/src/cryptography/hazmat/backends/openssl/x509.py
-+++ b/src/cryptography/hazmat/backends/openssl/x509.py
-@@ -86,12 +86,12 @@ class _Certificate(object):
-
- @property
- def not_valid_before(self):
-- asn1_time = self._backend._lib.X509_getm_notBefore(self._x509)
-+ asn1_time = self._backend._lib.X509_get0_notBefore(self._x509)
- return _parse_asn1_time(self._backend, asn1_time)
-
- @property
- def not_valid_after(self):
-- asn1_time = self._backend._lib.X509_getm_notAfter(self._x509)
-+ asn1_time = self._backend._lib.X509_get0_notAfter(self._x509)
- return _parse_asn1_time(self._backend, asn1_time)
-
- @property
-@@ -277,13 +277,13 @@ class _CertificateRevocationList(object)
-
- @property
- def next_update(self):
-- nu = self._backend._lib.X509_CRL_get_nextUpdate(self._x509_crl)
-+ nu = self._backend._lib.X509_CRL_get0_nextUpdate(self._x509_crl)
- self._backend.openssl_assert(nu != self._backend._ffi.NULL)
- return _parse_asn1_time(self._backend, nu)
-
- @property
- def last_update(self):
-- lu = self._backend._lib.X509_CRL_get_lastUpdate(self._x509_crl)
-+ lu = self._backend._lib.X509_CRL_get0_lastUpdate(self._x509_crl)
- self._backend.openssl_assert(lu != self._backend._ffi.NULL)
- return _parse_asn1_time(self._backend, lu)
-
--- a/src/_cffi_src/openssl/x509_vfy.py
+++ b/src/_cffi_src/openssl/x509_vfy.py
-@@ -157,8 +157,12 @@ int X509_STORE_CTX_init(X509_STORE_CTX *
- Cryptography_STACK_OF_X509 *);
- void X509_STORE_CTX_trusted_stack(X509_STORE_CTX *,
- Cryptography_STACK_OF_X509 *);
-+void X509_STORE_CTX_set0_trusted_stack(X509_STORE_CTX *,
-+ Cryptography_STACK_OF_X509 *);
- void X509_STORE_CTX_set_cert(X509_STORE_CTX *, X509 *);
--void X509_STORE_CTX_set_chain(X509_STORE_CTX *,Cryptography_STACK_OF_X509 *);
-+void X509_STORE_CTX_set_chain(X509_STORE_CTX *, Cryptography_STACK_OF_X509 *);
-+void X509_STORE_CTX_set0_untrusted(X509_STORE_CTX *,
-+ Cryptography_STACK_OF_X509 *);
- X509_VERIFY_PARAM *X509_STORE_CTX_get0_param(X509_STORE_CTX *);
- void X509_STORE_CTX_set0_param(X509_STORE_CTX *, X509_VERIFY_PARAM *);
- int X509_STORE_CTX_set_default(X509_STORE_CTX *, const char *);
-@@ -260,4 +264,10 @@ static const long Cryptography_HAS_X509_
+@@ -265,4 +265,10 @@ static const long Cryptography_HAS_X509_
#else
static const long Cryptography_HAS_X509_CB_ISSUER_CHECK = 1;
#endif
--- a/src/_cffi_src/openssl/conf.py
+++ b/src/_cffi_src/openssl/conf.py
-@@ -18,4 +18,8 @@ void OPENSSL_no_config(void);
+@@ -17,4 +17,8 @@ void OPENSSL_no_config(void);
"""
CUSTOMIZATIONS = """
"""
--- a/src/_cffi_src/openssl/crypto.py
+++ b/src/_cffi_src/openssl/crypto.py
-@@ -114,4 +114,8 @@ void *Cryptography_realloc_wrapper(void
+@@ -113,4 +113,8 @@ void *Cryptography_realloc_wrapper(void
void Cryptography_free_wrapper(void *ptr, const char *path, int line) {
free(ptr);
}
"""
--- a/src/_cffi_src/openssl/ecdh.py
+++ b/src/_cffi_src/openssl/ecdh.py
-@@ -18,4 +18,7 @@ long SSL_CTX_set_ecdh_auto(SSL_CTX *, in
+@@ -17,4 +17,7 @@ long SSL_CTX_set_ecdh_auto(SSL_CTX *, in
"""
CUSTOMIZATIONS = """
"""
--- a/src/_cffi_src/openssl/ssl.py
+++ b/src/_cffi_src/openssl/ssl.py
-@@ -739,4 +739,9 @@ long (*SSL_get_max_proto_version)(SSL *)
+@@ -745,4 +745,9 @@ long (*SSL_get_max_proto_version)(SSL *)
#else
static const long Cryptography_HAS_GET_PROTO_VERSION = 1;
#endif
include $(TOPDIR)/rules.mk
PKG_NAME:=python-idna
-PKG_VERSION:=3.1
+PKG_VERSION:=3.2
PKG_RELEASE:=1
PYPI_NAME:=idna
-PKG_HASH:=c5b02147e01ea9920e6b0a3f1f7bb833612d507592c837a6c49552768f4054e1
+PKG_HASH:=467fbad99067910785144ce333826c71fb0e63a425657295239737f7ecd125f3
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE.rst
include $(TOPDIR)/rules.mk
PKG_NAME:=python-incremental
-PKG_VERSION:=17.5.0
-PKG_RELEASE:=2
+PKG_VERSION:=21.3.0
+PKG_RELEASE:=1
PYPI_NAME:=incremental
-PKG_HASH:=7b751696aaf36eebfab537e458929e194460051ccad279c72b755a167eebd4b3
+PKG_HASH:=02f5de5aff48f6b9f665d99d48bfc7ec03b6e3943210de7cfc88856d755d6f57
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
--- a/setup.py
+++ b/setup.py
-@@ -32,7 +32,7 @@ setup(
+@@ -31,7 +31,7 @@ setup(
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
],
- packages=find_packages("src", exclude=("exampleproj",)),
+ packages=find_packages("src", exclude=("exampleproj", "*.tests", "*.tests.*")),
package_dir={"": "src"},
- extras_require={
- "scripts": [
+ extras_require={"scripts": ["click>=6.0", "twisted>=16.4.0"]},
+ license="MIT",
include $(TOPDIR)/rules.mk
PKG_NAME:=python-twisted
-PKG_VERSION:=20.3.0
-PKG_RELEASE:=3
+PKG_VERSION:=21.2.0
+PKG_RELEASE:=2
PYPI_NAME:=Twisted
-PYPI_SOURCE_EXT:=tar.bz2
-PKG_HASH:=d72c55b5d56e176563b91d11952d13b01af8725c623e498db5507b6614fc1e10
+PKG_HASH:=77544a8945cf69b98d2946689bbe0c75de7d145cdf11f391dd487eae8fc95a12
PKG_BUILD_DEPENDS:=libtirpc
TITLE:=Asynchronous networking framework
URL:=https://twistedmatrix.com/
DEPENDS:= \
- +python3-light \
+ +python3 \
+ +python3-appdirs \
+python3-attrs \
+python3-automat \
+ +python3-bcrypt \
+python3-constantly \
+ +python3-cryptography \
+ +python3-idna \
+python3-incremental \
+python3-hyperlink \
- +python3-setuptools \
+ +python3-pkg-resources \
+ +python3-pyasn1 \
+ +python3-pyopenssl \
+ +python3-service-identity \
+ +python3-typing-extensions \
+python3-zope-interface
endef
mail servers, and more.
endef
+define Build/Configure
+ $(SED) 's/^version = attr: twisted.__version__$$$$/version = $(PKG_VERSION)/' $(PKG_BUILD_DIR)/setup.cfg
+endef
+
define Py3Package/python3-twisted/filespec
+|$(PYTHON3_PKG_DIR)
-|$(PYTHON3_PKG_DIR)/twisted/conch/scripts/tkconch.py
---- a/src/twisted/python/_setup.py
-+++ b/src/twisted/python/_setup.py
-@@ -151,7 +151,6 @@ _CONSOLE_SCRIPTS = [
- "conch = twisted.conch.scripts.conch:run",
- "mailmail = twisted.mail.scripts.mailmail:run",
- "pyhtmlizer = twisted.scripts.htmlizer:run",
-- "tkconch = twisted.conch.scripts.tkconch:run",
- "trial = twisted.scripts.trial:run",
- "twist = twisted.application.twist._twist:Twist.main",
- "twistd = twisted.scripts.twistd:run",
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -98,7 +98,6 @@ console_scripts =
+ conch = twisted.conch.scripts.conch:run
+ mailmail = twisted.mail.scripts.mailmail:run
+ pyhtmlizer = twisted.scripts.htmlizer:run
+- tkconch = twisted.conch.scripts.tkconch:run
+ trial = twisted.scripts.trial:run
+ twist = twisted.application.twist._twist:Twist.main
+ twistd = twisted.scripts.twistd:run
--- a/src/twisted/python/twisted-completion.zsh
+++ b/src/twisted/python/twisted-completion.zsh
@@ -1,4 +1,4 @@
---- a/src/twisted/python/_setup.py
-+++ b/src/twisted/python/_setup.py
-@@ -177,11 +177,6 @@ class ConditionalExtension(Extension, ob
- # The C extensions used for Twisted.
- _EXTENSIONS = [
- ConditionalExtension(
-- "twisted.test.raiser",
-- sources=["src/twisted/test/raiser.c"],
-- condition=lambda _: _isCPython),
--
-- ConditionalExtension(
- "twisted.internet.iocpreactor.iocpsupport",
- sources=[
- "src/twisted/internet/iocpreactor/iocpsupport/iocpsupport.c",
-@@ -275,12 +270,11 @@ def getSetupArgs(extensions=_EXTENSIONS,
- # PyHamcrest 1.10.0 is Python 3 only, but lacks package metadata that
- # says so. This condition can be dropped when Twisted drops support for
- # Python 2.7.
-- "PyHamcrest >= 1.9.0, != 1.10.0",
- "attrs >= 19.2.0",
- ]
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -90,6 +90,9 @@ osx_platform =
- arguments.update(dict(
-- packages=find_packages("src"),
-+ packages=find_packages("src", exclude=["*.test", "*.test.*"]),
- use_incremental=True,
- setup_requires=["incremental >= 16.10.1"],
- install_requires=requirements,
-@@ -290,7 +284,7 @@ def getSetupArgs(extensions=_EXTENSIONS,
- cmdclass=command_classes,
- include_package_data=True,
- exclude_package_data={
-- "": ["*.c", "*.h", "*.pxi", "*.pyx", "build.bat"],
-+ "": ["*.c", "*.h", "*.pxi", "*.pyx", "build.bat", "test/*"],
- },
- zip_safe=False,
- extras_require=_EXTRAS_REQUIRE,
+ [options.packages.find]
+ where = src
++exclude =
++ *.test
++ *.test.*
+
+ [options.entry_points]
+ console_scripts =
+@@ -109,6 +112,7 @@ console_scripts =
+ *.pxi
+ *.pyx
+ build.bat
++ test/*
+
+ [flake8]
+ disable-noqa = True
include $(TOPDIR)/rules.mk
PKG_NAME:=python-zope-interface
-PKG_VERSION:=5.2.0
+PKG_VERSION:=5.4.0
PKG_RELEASE:=1
PYPI_NAME:=zope.interface
-PKG_HASH:=8251f06a77985a2729a8bdbefbae79ee78567dddc3acbd499b87e705ca59fe24
+PKG_HASH:=5dba5f530fec3f0988d83b78cc591b58c0b6eb8431a85edd1569a0539a8a5a0e
PKG_LICENSE:=ZPL-2.1
PKG_LICENSE_FILES:=LICENSE.txt
python3-ncurses: ncurses
python3-openssl: ssl
python3-pydoc: doctest pydoc
+python3-readline: readline
python3-sqlite3: sqlite3
python3-unittest: unittest
python3-urllib: urllib
include ../python3-version.mk
PKG_NAME:=python3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_VERSION:=$(PYTHON3_VERSION).$(PYTHON3_VERSION_MICRO)
PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz
-|/usr/lib/python$(PYTHON3_VERSION)/tkinter
-|/usr/lib/python$(PYTHON3_VERSION)/turtledemo
-|/usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_test*.so
--|/usr/lib/python$(PYTHON3_VERSION)/lib-dynload/readline*.so
-|/usr/lib/python$(PYTHON3_VERSION)/pdb.doc
-|/usr/lib/python$(PYTHON3_VERSION)/test
-|/usr/lib/python$(PYTHON3_VERSION)/webbrowser.py
define Package/python3-ncurses
$(call Package/python3/Default)
TITLE:=Python $(PYTHON3_VERSION) ncurses module
- DEPENDS:=+python3-light +libncurses
+ DEPENDS:=+python3-light +libncursesw
endef
$(eval $(call Py3BasePackage,python3-ncurses, \
--- /dev/null
+#
+# Copyright (C) 2021 Alexandru Ardelean <ardeleanalex@gmail.com>
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Package/python3-readline
+$(call Package/python3/Default)
+ TITLE:=Python $(PYTHON3_VERSION) readline module
+ DEPENDS:=+python3-light +libreadline +libncursesw
+endef
+
+$(eval $(call Py3BasePackage,python3-readline, \
+ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/readline.$(PYTHON3_SO_SUFFIX) \
+))
PKG_NAME:=tcl
TCL_MAJOR_VERSION:=8.6
-PKG_VERSION:=${TCL_MAJOR_VERSION}.10
-PKG_RELEASE:=2
+PKG_VERSION:=${TCL_MAJOR_VERSION}.11
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)$(PKG_VERSION)-src.tar.gz
PKG_SOURCE_URL:=@SF/$(PKG_NAME)
-PKG_HASH:=5196dbf6638e3df8d5c87b5815c8c2b758496eb6f0e41446596c9a4e638d87ed
+PKG_HASH:=8c0486668586672c5693d7d95817cb05a18c5ecca2f40e2836b9578064088258
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)$(PKG_VERSION)
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)$(PKG_VERSION)
include $(TOPDIR)/rules.mk
PKG_NAME:=vala
-PKG_VERSION:=0.52.1
+PKG_VERSION:=0.52.3
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNOME/vala/0.52
-PKG_HASH:=17a083ce2405f967efa7d92bce82c49e5f65af334513e3d087a6b4435ed6b9fa
+PKG_HASH:=037ea1a92bf0f1ab04a71b52a01d50aca1945ad1017b6189d9614f84f5c9b2d9
PKG_MAINTAINER:=
PKG_LICENSE:=LGPL-2.1-or-later
CONFIG_AFALG_ZERO_COPY
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
ENGINES_DIR:=engines-1.1
include $(TOPDIR)/rules.mk
PKG_NAME:=alsa-lib
-PKG_VERSION:=1.2.4
-PKG_RELEASE:=1
+PKG_VERSION:=1.2.5
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=ftp://ftp.alsa-project.org/pub/lib/ \
http://distfiles.gentoo.org/distfiles/
-PKG_HASH:=f7554be1a56cdff468b58fc1c29b95b64864c590038dd309c7a978c7116908f7
+PKG_HASH:=9092894a8c083b33acf8d6deb901b58f5d20d6da583789f814e8e46f2850ef18
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>, \
Peter Wagner <tripolar@gmx.at>
--- a/src/Makefile.in
+++ b/src/Makefile.in
-@@ -490,7 +490,7 @@ clean-libLTLIBRARIES:
+@@ -491,7 +491,7 @@ clean-libLTLIBRARIES:
}
libasound.la: $(libasound_la_OBJECTS) $(libasound_la_DEPENDENCIES) $(EXTRA_libasound_la_DEPENDENCIES)
-rm -f *.$(OBJEXT)
--- a/src/pcm/scopes/Makefile.in
+++ b/src/pcm/scopes/Makefile.in
-@@ -410,7 +410,7 @@ clean-pkglibLTLIBRARIES:
+@@ -411,7 +411,7 @@ clean-pkglibLTLIBRARIES:
}
scope-level.la: $(scope_level_la_OBJECTS) $(scope_level_la_DEPENDENCIES) $(EXTRA_scope_level_la_DEPENDENCIES)
const char *_snd_module_pcm_shm = "";
--- a/src/ucm/ucm_local.h
+++ b/src/ucm/ucm_local.h
-@@ -53,6 +53,14 @@
- #define SEQUENCE_ELEMENT_TYPE_CSET_TLV 6
- #define SEQUENCE_ELEMENT_TYPE_CMPT_SEQ 7
+@@ -58,6 +58,14 @@
+ #define SEQUENCE_ELEMENT_TYPE_SYSSET 11
+ #define SEQUENCE_ELEMENT_TYPE_CFGSAVE 12
+#if _POSIX_C_SOURCE >= 200809L
+#define usleep(a) \
+++ /dev/null
-From ad8c8e5503980295dd8e5e54a6285d2d7e32eb1e Mon Sep 17 00:00:00 2001
-From: Jaroslav Kysela <perex@perex.cz>
-Date: Thu, 22 Oct 2020 20:57:32 +0200
-Subject: [PATCH] dlmisc: the snd_plugin_dir_set / snd_plugin_dir must be
- declared even for \!DL_ORIGIN_AVAILABLE
-
-Fixes: 8580c081c2 ("dlsym: add support for ALSA_PLUGIN_DIR environment variable")
-BugLink: https://github.com/alsa-project/alsa-lib/issues/91
-Signed-off-by: Jaroslav Kysela <perex@perex.cz>
----
- src/dlmisc.c | 2 --
- 1 file changed, 2 deletions(-)
-
---- a/src/dlmisc.c
-+++ b/src/dlmisc.c
-@@ -42,11 +42,9 @@
- #ifndef PIC
- struct snd_dlsym_link *snd_dlsym_start = NULL;
- #endif
--#ifdef DL_ORIGIN_AVAILABLE
- static int snd_plugin_dir_set = 0;
- static char *snd_plugin_dir = NULL;
- #endif
--#endif
-
- #if defined(DL_ORIGIN_AVAILABLE) && defined(HAVE_LIBPTHREAD)
- static pthread_mutex_t snd_dlpath_mutex = PTHREAD_MUTEX_INITIALIZER;
--- /dev/null
+--- a/boost/regex/v5/mem_block_cache.hpp
++++ b/boost/regex/v5/mem_block_cache.hpp
+@@ -85,10 +85,10 @@ struct mem_block_node
+ struct mem_block_cache
+ {
+ // this member has to be statically initialsed:
+- mem_block_node* next;
+- unsigned cached_blocks;
++ mem_block_node* next { nullptr };
++ unsigned cached_blocks { 0 };
+ #ifdef BOOST_HAS_THREADS
+- boost::static_mutex mut;
++ std::mutex mut;
+ #endif
+
+ ~mem_block_cache()
+@@ -133,11 +133,7 @@ struct mem_block_cache
+ }
+ static mem_block_cache& instance()
+ {
+-#ifdef BOOST_HAS_THREADS
+- static mem_block_cache block_cache = { 0, 0, BOOST_STATIC_MUTEX_INIT, };
+-#else
+- static mem_block_cache block_cache = { 0, 0, };
+-#endif
++ static mem_block_cache block_cache;
+ return block_cache;
+ }
+ };
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libcares
SECTION:=libs
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
CMAKE_OPTIONS += \
-DCMAKE_CXX_FLAGS=-latomic \
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/check
SECTION:=libs
PKG_CPE_ID:=cpe:/a:cjson_project:cjson
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/cJSON
SECTION:=libs
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/czmq
SECTION:=libs
PKG_BUILD_DEPENDS:= lua
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
include $(INCLUDE_DIR)/nls.mk
define Package/libelektra/Default
include $(TOPDIR)/rules.mk
PKG_NAME:=expat
-PKG_VERSION:=2.2.10
-PKG_RELEASE:=1
+PKG_VERSION:=2.4.1
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@SF/expat
-PKG_HASH:=5dfe538f8b5b63f03e98edac520d7d9a6a4d22e482e5c96d4d06fcc5485c25f2
+PKG_HASH:=cf032d0dba9b928636548e32b327a2d66b1aab63c4f4a13dd132c2d1d2f2fb6a
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
PKG_LICENSE:=MIT
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libexpat
SECTION:=libs
include $(TOPDIR)/rules.mk
PKG_NAME:=getdns
-PKG_VERSION:=1.6.0
-PKG_RELEASE:=5
+PKG_VERSION:=1.7.0
+PKG_RELEASE:=1
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
-PKG_MAINTAINER:=Jonathan Underwood <jonathan.underwood@gmail.com>
+PKG_MAINTAINER:=
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://getdnsapi.net/dist/
-PKG_HASH:=40e5737471a3902ba8304b0fd63aa7c95802f66ebbc6eae53c487c8e8a380f4a
+PKG_HASH:=ea8713ce5e077ac76b1418ceb6afd25e6d4e39e9600f6f5e81d3a3a13a60f652
CMAKE_INSTALL:=1
CONFIG_GETDNS_ENABLE_IDN_LIBIDN2
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/getdns/Default
TITLE:=getdns
+++ /dev/null
---- a/src/tls/val_secalgo.c
-+++ b/src/tls/val_secalgo.c
-@@ -72,6 +72,10 @@
- #include <openssl/engine.h>
- #endif
-
-+#ifdef USE_DSA
-+#include <openssl/dsa.h>
-+#endif
-+
- /** fake DSA support for unit tests */
- int fake_dsa = 0;
- /** fake SHA1 support for unit tests */
+++ /dev/null
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -334,6 +334,9 @@ check_include_file(openssl/err.h HAVE_OP
- check_include_file(openssl/rand.h HAVE_OPENSSL_RAND_H)
- check_include_file(openssl/conf.h HAVE_OPENSSL_CONF_H)
- check_include_file(openssl/engine.h HAVE_OPENSSL_ENGINE_H)
-+check_include_file(openssl/bn.h HAVE_OPENSSL_BN_H)
-+check_include_file(openssl/dsa.h HAVE_OPENSSL_DSA_H)
-+check_include_file(openssl/rsa.h HAVE_OPENSSL_RSA_H)
-
- set(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_LIBRARIES})
- check_function_exists(DSA_SIG_set0 HAVE_DSA_SIG_SET0)
---- a/cmake/include/cmakeconfig.h.in
-+++ b/cmake/include/cmakeconfig.h.in
-@@ -58,6 +58,9 @@
- #cmakedefine HAVE_OPENSSL_RAND_H 1
- #cmakedefine HAVE_OPENSSL_CONF_H 1
- #cmakedefine HAVE_OPENSSL_ENGINE_H 1
-+#cmakedefine HAVE_OPENSSL_BN_H 1
-+#cmakedefine HAVE_OPENSSL_DSA_H 1
-+#cmakedefine HAVE_OPENSSL_RSA_H 1
-
- #cmakedefine HAVE_DSA_SIG_SET0 1
- #cmakedefine HAVE_DSA_SET0_PQG 1
---- a/src/openssl/keyraw-internal.c
-+++ b/src/openssl/keyraw-internal.c
-@@ -21,10 +21,10 @@
- #include <openssl/err.h>
- #include <openssl/md5.h>
- #ifdef HAVE_OPENSSL_CONF_H
--# include <openssl/conf.h>
-+#include <openssl/conf.h>
- #endif
- #ifdef HAVE_OPENSSL_ENGINE_H
--# include <openssl/engine.h>
-+#include <openssl/engine.h>
- #endif
- #ifdef HAVE_OPENSSL_BN_H
- #include <openssl/bn.h>
-@@ -35,6 +35,9 @@
- #ifdef HAVE_OPENSSL_DSA_H
- #include <openssl/dsa.h>
- #endif
-+#ifdef HAVE_OPENSSL_RSA_H
-+#include <openssl/rsa.h>
-+#endif
- #endif /* HAVE_SSL */
-
- #ifdef HAVE_SSL
-@@ -74,7 +77,6 @@ gldns_key_EVP_load_gost_id(void)
- if(!e) {
- /* load it ourself, in case statically linked */
- ENGINE_load_builtin_engines();
-- ENGINE_load_dynamic();
- e = ENGINE_by_id("gost");
- }
- if(!e) {
+++ /dev/null
---- a/cmake/include/cmakeconfig.h.in
-+++ b/cmake/include/cmakeconfig.h.in
-@@ -91,8 +91,8 @@
- #cmakedefine HAVE_OPENSSL_VERSION 1
-
- #cmakedefine HAVE_SSL_CTX_DANE_ENABLE 1
--#cmakedefine HAVE_SSL_CTX_SET_CIPHERSUITS 1
--#cmakedefine HAVE_SSL_SET_CIPHERSUITS 1
-+#cmakedefine HAVE_SSL_CTX_SET_CIPHERSUITES 1
-+#cmakedefine HAVE_SSL_SET_CIPHERSUITES 1
-
- #cmakedefine HAVE_OPENSSL_INIT_CRYPTO 1
-
+++ /dev/null
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -523,7 +523,7 @@ set(STRPTIME_TEST_SOURCE "\n
- res = strptime(\"20070207111842\", \"%Y%m%d%H%M%S\", &tm);\n
- if (!res) return 1; return 0; }")
-
--if (HAVE_STRPTIME)
-+if (HAVE_STRPTIME AND NOT CMAKE_CROSSCOMPILING)
- check_c_source_runs("${STRPTIME_TEST_SOURCE}" STRPTIME_WORKS)
- endif ()
-
include $(TOPDIR)/rules.mk
PKG_NAME:=gnutls
-PKG_VERSION:=3.7.1
-PKG_RELEASE:=1
+PKG_VERSION:=3.7.2
+PKG_RELEASE:=$(AUTORELEASE)
PKG_USE_MIPS16:=0
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.gnupg.org/ftp/gcrypt/gnutls/v3.7
-PKG_HASH:=3777d7963eca5e06eb315686163b7b3f5045e2baac5e54e038ace9835e5cac6f
+PKG_HASH:=646e6c5a9a185faa4cea796d378a1ba8e1148dbb197ca6605f95986a25af2752
PKG_FIXUP:=autoreconf gettext-version
PKG_MAINTAINER:=Nikos Mavrogiannopoulos <nmav@gnutls.org>
PKG_LICENSE:=LGPL-2.1-or-later
[AC_COMPILE_IFELSE(
--- a/src/gl/m4/gnulib-comp.m4
+++ b/src/gl/m4/gnulib-comp.m4
-@@ -1064,7 +1064,7 @@ changequote([, ])dnl
+@@ -1164,7 +1164,7 @@ changequote([, ])dnl
gl_UNISTD_MODULE_INDICATOR([sleep])
AC_CHECK_DECLS_ONCE([alarm])
AC_REQUIRE([gt_TYPE_WCHAR_T])
PKG_LICENSE:=OpenSSL
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
PKG_UNPACK:=$(HOST_TAR) -C "$(PKG_BUILD_DIR)" --strip-components=1 -xzf "$(DL_DIR)/$(PKG_SOURCE)"
PKG_INSTALL:=
PKG_NAME:=h2o
PKG_VERSION:=2.2.6
-PKG_RELEASE:=9
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE_URL:=https://codeload.github.com/h2o/h2o/tar.gz/v${PKG_VERSION}?
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_HASH:=f8cbc1b530d85ff098f6efc2c3fdbc5e29baffb30614caac59d5c710f7bda201
-PKG_MAINTAINER:=James Taylor <james@jtaylor.id.au
+PKG_MAINTAINER:=Peter van Dijk <peter.van.dijk@powerdns.com>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
PKG_BUILD_DEPENDS:=libwslay
PKG_BUILD_DEPENDS:=nlohmannjson
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/ipfs-http-client/Default/description
IPFS (the InterPlanetary File System) is the Distributed Web.
include $(TOPDIR)/rules.mk
PKG_NAME:=jose
-PKG_VERSION:=10
-PKG_RELEASE:=2
+PKG_VERSION:=11
+PKG_RELEASE:=$(AUTORELEASE)
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/latchset/$(PKG_NAME)/releases/download/v$(PKG_VERSION)/
-PKG_HASH:=5c9cdcfb535c4d9f781393d7530521c72b1dd81caa9934cab6dd752cc7efcd72
+PKG_HASH:=e272afe7717e22790c383f3164480627a567c714ccb80c1ee96f62c9929d8225
-PKG_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
+PKG_MAINTAINER:=Tibor Dudlák <tibor.dudlak@gmail.com>
+PKG_LICENSE:=Apache-2.0
+PKG_LICENSE_FILES:=COPYING
-PKG_FIXUP:=autoreconf
+PKG_BUILD_DEPENDS:=meson/host
include $(INCLUDE_DIR)/package.mk
+include ../../devel/meson/meson.mk
define Package/libjose
SECTION:=libs
TITLE:=Provides a full crypto stack including key generation, signing and encryption.
DEPENDS:=+zlib +jansson +libopenssl +libpthread
URL:=https://github.com/latchset/jose
- MAINTAINER:=Tibor Dudlák <tibor.dudlak@gmail.com>
endef
define Package/jose
TITLE:=Provides a full crypto stack including key generation, signing and encryption.
DEPENDS:=+libjose
URL:=https://github.com/latchset/jose
- MAINTAINER:=Tibor Dudlák <tibor.dudlak@gmail.com>
endef
define Package/jose/description
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib$(PKG_NAME).so* $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/include/$(PKG_NAME)/*.h $(1)/usr/include/$(PKG_NAME)
- $(CP) $(PKG_BUILD_DIR)/*.pc $(1)/usr/lib/pkgconfig
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig
endef
define Package/libjose/install
+++ /dev/null
-From 198f7207427ad7f569aa3592ea16e2bb400db040 Mon Sep 17 00:00:00 2001
-From: Nathaniel McCallum <npmccallum@redhat.com>
-Date: Fri, 29 Sep 2017 14:49:57 -0400
-Subject: [PATCH] Fix minor FILE* leak
-
----
- cmd/jwe/pwd.h | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
---- a/cmd/jwe/pwd.h
-+++ b/cmd/jwe/pwd.h
-@@ -57,8 +57,10 @@ jwe_getpass(const char *prompt)
- nf.c_lflag &= ~ECHO;
- nf.c_lflag |= ECHONL;
-
-- if (tcsetattr(fileno(tty), TCSANOW, &nf) != 0)
-+ if (tcsetattr(fileno(tty), TCSANOW, &nf) != 0) {
-+ fclose(tty);
- return NULL;
-+ }
-
- fprintf(tty, "%s", prompt);
-
-@@ -72,6 +74,7 @@ jwe_getpass(const char *prompt)
- }
-
- tcsetattr(fileno(tty), TCSANOW, &of);
-+ fclose(tty);
- return pwd;
- }
- #endif
+++ /dev/null
---- a/lib/openssl/compat.h
-+++ b/lib/openssl/compat.h
-@@ -17,6 +17,7 @@
-
- #pragma once
-
-+#include <openssl/bn.h>
- #include <openssl/hmac.h>
- #include <openssl/ec.h>
- #include <openssl/ecdsa.h>
---- a/lib/openssl/misc.c
-+++ b/lib/openssl/misc.c
-@@ -185,6 +185,8 @@ add_entity(json_t *root, json_t *obj, co
- static void __attribute__((constructor))
- constructor(void)
- {
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- OpenSSL_add_all_algorithms();
-+#endif
- RAND_poll();
- }
CMAKE_BINARY_SUBDIR:=openwrt-build
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libleptonica
SECTION:=libs
PKG_CPE_ID:=cpe:/a:libarchive:libarchive
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libarchive/Default
SECTION:=libs
include $(TOPDIR)/rules.mk
PKG_NAME:=libcap-ng
-PKG_VERSION:=0.8.1
-PKG_RELEASE:=1
+PKG_VERSION:=0.8.2
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://people.redhat.com/sgrubb/libcap-ng
-PKG_HASH:=f06b17aaca029e245c9a26c698c6cc8a1cf42b58483d93e94ee02b478bdc1055
+PKG_HASH:=52c083b77c2b0d8449dee141f9c3eba76e6d4c5ad44ef05df25891126cb85ae9
PKG_MAINTAINER:=Lucian CRISTIAN <lucian.cristian@gmail.com>
PKG_LICENSE:=GPL-2.0-or-later LGPL-2.1-or-later
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libcbor
SECTION:=libs
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libebml
SECTION:=libs
include $(TOPDIR)/rules.mk
PKG_NAME:=libesmtp
-PKG_VERSION:=1.0.6
-PKG_RELEASE:=5
+PKG_VERSION:=1.1.0
+PKG_RELEASE:=$(AUTORELEASE)
PKG_MAINTAINER:=Othmar Truniger <github@truniger.ch>
PKG_LICENSE:=LGPL-2.0-or-later
PKG_LICENSE_FILES:=COPYING
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=https://ftp.osuosl.org/pub/blfs/conglomeration/libesmtp
-PKG_HASH:=d0a61a5c52d99fa7ce7d00ed0a07e341dbda67101dbed1ab0cdae3f37db4eb0b
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/libesmtp/libESMTP/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=32bc3614ca12d21c7d933f32d43410e8744b6f91fdca7732da9877a385e4e6c3
+PKG_BUILD_DIR:=$(BUILD_DIR)/libESMTP-$(PKG_VERSION)
-PKG_BUILD_PARALLEL:=1
-PKG_INSTALL:=1
+PKG_BUILD_DEPENDS:=meson/host
include $(INCLUDE_DIR)/package.mk
+include ../../devel/meson/meson.mk
define Package/libesmtp
SECTION:=libs
endef
define Build/InstallDev
- $(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/libesmtp-config $(1)/usr/bin/
- $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' $(1)/usr/bin/libesmtp-config
-
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libesmtp.{a,so*} $(1)/usr/lib/
- $(INSTALL_DIR) $(2)/bin
- $(LN) ../../usr/bin/libesmtp-config $(2)/bin/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libesmtp.so* $(1)/usr/lib/
+ $(INSTALL_DIR) $(1)/usr/lib/esmtp-plugins-6.2.0
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/esmtp-plugins-6.2.0/sasl-crammd5.so $(1)/usr/lib/esmtp-plugins-6.2.0
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/esmtp-plugins-6.2.0/sasl-login.so $(1)/usr/lib/esmtp-plugins-6.2.0
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/esmtp-plugins-6.2.0/sasl-ntlm.so $(1)/usr/lib/esmtp-plugins-6.2.0
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/esmtp-plugins-6.2.0/sasl-plain.so $(1)/usr/lib/esmtp-plugins-6.2.0
+ $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libesmtp-1.0.pc $(1)/usr/lib/pkgconfig
endef
define Package/libesmtp/install
- $(INSTALL_DIR) $(1)/usr/lib
+ $(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libesmtp.so.* $(1)/usr/lib/
+ $(INSTALL_DIR) $(1)/usr/lib/esmtp-plugins-6.2.0
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/esmtp-plugins-6.2.0/sasl-crammd5.so $(1)/usr/lib/esmtp-plugins-6.2.0
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/esmtp-plugins-6.2.0/sasl-login.so $(1)/usr/lib/esmtp-plugins-6.2.0
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/esmtp-plugins-6.2.0/sasl-ntlm.so $(1)/usr/lib/esmtp-plugins-6.2.0
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/esmtp-plugins-6.2.0/sasl-plain.so $(1)/usr/lib/esmtp-plugins-6.2.0
endef
$(eval $(call BuildPackage,libesmtp))
+++ /dev/null
---- a/configure
-+++ b/configure
-@@ -11896,9 +11896,9 @@ fi
-
- fi
- if test x$with_openssl != xno ; then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSL_library_init in -lssl" >&5
--$as_echo_n "checking for SSL_library_init in -lssl... " >&6; }
--if test "${ac_cv_lib_ssl_SSL_library_init+set}" = set; then :
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SSL_new in -lssl" >&5
-+$as_echo_n "checking for SSL_new in -lssl... " >&6; }
-+if test "${ac_cv_lib_ssl_SSL_new+set}" = set; then :
- $as_echo_n "(cached) " >&6
- else
- ac_check_lib_save_LIBS=$LIBS
-@@ -11913,27 +11913,27 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
- #ifdef __cplusplus
- extern "C"
- #endif
--char SSL_library_init ();
-+char SSL_new ();
- int
- main ()
- {
--return SSL_library_init ();
-+return SSL_new ();
- ;
- return 0;
- }
- _ACEOF
- if ac_fn_c_try_link "$LINENO"; then :
-- ac_cv_lib_ssl_SSL_library_init=yes
-+ ac_cv_lib_ssl_SSL_new=yes
- else
-- ac_cv_lib_ssl_SSL_library_init=no
-+ ac_cv_lib_ssl_SSL_new=no
- fi
- rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ssl_SSL_library_init" >&5
--$as_echo "$ac_cv_lib_ssl_SSL_library_init" >&6; }
--if test "x$ac_cv_lib_ssl_SSL_library_init" = x""yes; then :
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ssl_SSL_new" >&5
-+$as_echo "$ac_cv_lib_ssl_SSL_new" >&6; }
-+if test "x$ac_cv_lib_ssl_SSL_new" = x""yes; then :
-
- with_openssl=yes
- LIBS="-lssl -lcrypto $LIBS"
---- a/smtp-tls.c
-+++ b/smtp-tls.c
-@@ -64,10 +64,12 @@ openssl_mutexcb (int mode, int n,
- const char *file __attribute__ ((unused)),
- int line __attribute__ ((unused)))
- {
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- if (mode & CRYPTO_LOCK)
- pthread_mutex_lock (&openssl_mutex[n]);
- else
- pthread_mutex_unlock (&openssl_mutex[n]);
-+#endif
- }
- #endif
-
-@@ -76,7 +78,7 @@ starttls_init (void)
- {
- if (tls_init)
- return 1;
--
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L
- #ifdef USE_PTHREADS
- /* Set up mutexes for the OpenSSL library */
- if (openssl_mutex == NULL)
-@@ -94,9 +96,12 @@ starttls_init (void)
- CRYPTO_set_locking_callback (openssl_mutexcb);
- }
- #endif
-- tls_init = 1;
- SSL_load_error_strings ();
- SSL_library_init ();
-+#else
-+ OPENSSL_init_ssl(0, NULL);
-+#endif
-+ tls_init = 1;
- return 1;
- }
-
+++ /dev/null
-Description: Add TLSv1.1 and TLSv1.2 support
-Origin: vendor
-Bug-Debian: https://bugs.debian.org/802658
-Forwarded: yes
-Author: Salvatore Bonaccorso <carnil@debian.org>
-Last-Update: 2015-11-07
-
---- a/smtp-tls.c
-+++ b/smtp-tls.c
-@@ -202,11 +202,24 @@ starttls_create_ctx (smtp_session_t sess
- ckf_t status;
-
- /* The decision not to support SSL v2 and v3 but instead to use only
-- TLSv1 is deliberate. This is in line with the intentions of RFC
-+ TLSv1.X is deliberate. This is in line with the intentions of RFC
- 3207. Servers typically support SSL as well as TLS because some
- versions of Netscape do not support TLS. I am assuming that all
- currently deployed servers correctly support TLS. */
-- ctx = SSL_CTX_new (TLSv1_client_method ());
-+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && \
-+ !defined(LIBRESSL_VERSION_NUMBER) && !defined(OPENSSL_IS_BORINGSSL)
-+ ctx = SSL_CTX_new (TLS_client_method ());
-+#else
-+ ctx = SSL_CTX_new (SSLv23_client_method ());
-+#endif
-+
-+#ifdef OPENSSL_NO_SSL3
-+ SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv3);
-+#endif
-+
-+#ifdef OPENSSL_NO_SSL2
-+ SSL_CTX_set_options(ctx, SSL_OP_NO_SSLv2);
-+#endif
-
- /* Load our keys and certificates. To avoid messing with configuration
- variables etc, use fixed paths for the certificate store. These are
PKG_CONFIG_DEPENDS:=LIBEVHTP_BUILD_DEPENDS
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libevhtp
SECTION:=libs
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libfido2
SECTION:=libs
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
CMAKE_OPTIONS += -DBUILD_SHARED_LIBS=ON
CMAKE_OPTIONS += -DFMT_DOC=OFF
PKG_NAME:=libfstrm
PKG_VERSION:=0.6.0
-PKG_RELEASE:=1
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=fstrm-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://dl.farsightsecurity.com/dist/fstrm/
PKG_BUILD_DIR:=$(BUILD_DIR)/fstrm-$(PKG_VERSION)
-PKG_MAINTAINER:=James Taylor <james@jtaylor.id.au>
+PKG_MAINTAINER:=Peter van Dijk <peter.van.dijk@powerdns.com>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
PKG_USE_MIPS16:=0
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libftdi
SECTION:=libs
PKG_USE_MIPS16:=0
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libftdi1
SECTION:=libs
PKG_CPE_ID:=cpe:/a:libgd:libgd
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libgd/default
SECTION:=libs
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libical
SECTION:=libs
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
CMAKE_OPTIONS += -DWITH_DOC=OFF
CMAKE_OPTIONS += -DENABLE_IPV6=$(if $(CONFIG_IPV6),ON,OFF)
include $(TOPDIR)/rules.mk
PKG_NAME:=libjpeg-turbo
-PKG_VERSION:=2.0.6
-PKG_RELEASE:=1
+PKG_VERSION:=2.1.0
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/$(PKG_NAME)
-PKG_HASH:=d74b92ac33b0e3657123ddcf6728788c90dc84dcb6a52013d758af3c4af481bb
+PKG_HASH:=bef89803e506f27715c5627b1e3219c95b80fc31465d4452de2a909d382e4444
PKG_MAINTAINER:=Rosen Penev <rosenp@gmail.com>
PKG_LICENSE:=BSD-3-Clause IJG zlib
PKG_USE_MIPS16:=0 #Allows ASM compilation for speed.
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libjpeg-turbo/Default
TITLE:=libjpeg-turbo
-DWITH_SIMD=O$(if $(findstring mips,$(CONFIG_ARCH)),FF,N) \
-DWITH_TURBOJPEG=OFF
+ifneq ($(findstring arm,$(CONFIG_ARCH)),)
+ifeq ($(findstring neon,$(CONFIG_CPU_TYPE)),)
+ CMAKE_OPTIONS += -DWITH_SIMD=OFF
+endif
+endif
+
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/
PKG_CONFIG_DEPENDS:=CONFIG_PACKAGE_liblo-utils
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/liblo/Default
TITLE:=Lightweight Open Sound Control (OSC)
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
# Pass CPPFLAGS in the CFLAGS as otherwise the build system will
# ignore them.
PKG_BUILD_DEPENDS:=libebml
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libmatroska
SECTION:=libs
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libmaxminddb
SECTION:=libs
include $(TOPDIR)/rules.mk
PKG_NAME:=libmbim
-PKG_VERSION:=1.24.6
+PKG_VERSION:=1.24.8
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.freedesktop.org/software/libmbim
-PKG_HASH:=760465caaa1ccd699c14290e9791da456d5300dd11ebf4c1486151033e875dfd
+PKG_HASH:=02590736163fff10e5732191fccc1b9920969616ddc59613a003052a116a3c25
PKG_MAINTAINER:=Nicholas Smith <nicholas.smith@telcoantennas.com.au>
include $(TOPDIR)/rules.mk
PKG_NAME:=libmicrohttpd
-PKG_VERSION:=0.9.71
-PKG_RELEASE:=1
+PKG_VERSION:=0.9.73
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@GNU/libmicrohttpd
-PKG_HASH:=e8f445e85faf727b89e9f9590daea4473ae00ead38b237cf1eda55172b89b182
+PKG_HASH:=a37b2f1b88fd1bfe74109586be463a434d34e773530fc2a74364cfcf734c032e
PKG_MAINTAINER:=Alexander Couzens <lynxis@fe80.eu>
PKG_LICENSE:=LGPL-2.1-or-later
PYTHON3_PKG_BUILD:=0
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
include ../../lang/python/python3-package.mk
CMAKE_OPTIONS += \
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libnatpmp/Default
TITLE:=NAT Port Mapping Protocol (NAT-PMP)
$(INSTALL_DIR) $(STAGING_DIR)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/libnet.h $(STAGING_DIR)/usr/include
+ $(INSTALL_DIR) $(STAGING_DIR)
+ $(CP) $(PKG_BUILD_DIR)/libnet-config $(STAGING_DIR)/usr
+ chmod a+x $(STAGING_DIR)/usr/libnet-config
+
$(INSTALL_DIR) $(STAGING_DIR)/usr/include/libnet
$(CP) $(PKG_INSTALL_DIR)/usr/include/libnet/libnet-*.h $(STAGING_DIR)/usr/include/libnet
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libnetconf2
SECTION:=libs
include $(TOPDIR)/rules.mk
PKG_NAME:=libnpupnp
-PKG_VERSION:=4.1.3
+PKG_VERSION:=4.1.4
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://www.lesbonscomptes.com/upmpdcli/downloads
-PKG_HASH:=74703d49be52d29b52f59342ec7359178b127568399551d9d3f56bb7950fcc02
+PKG_HASH:=03506f02546e3b3d31b389e046c4691f020b82d315426ce79f1e2b1eb7958656
PKG_MAINTAINER:=
PKG_LICENSE:=LGPL-2.1-or-later
include $(TOPDIR)/rules.mk
PKG_NAME:=libogg
-PKG_VERSION:=1.3.4
-PKG_RELEASE:=1
+PKG_VERSION:=1.3.5
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://downloads.xiph.org/releases/ogg/
-PKG_HASH:=c163bc12bc300c401b6aa35907ac682671ea376f13ae0969a220f7ddf71893fe
+PKG_HASH:=c4d91be36fc8e54deae7575241e03f4211eb102afb3fc0775fbbc1b740016705
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
PKG_LICENSE:=BSD-3-Clause
include $(TOPDIR)/rules.mk
PKG_NAME:=liborcania
-PKG_VERSION:=2.2.0
+PKG_VERSION:=2.2.1
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/babelouest/orcania/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=2a46460c6d93e5b8dd97db520edc1e9b3297577fdd8c485b2b6ebf315ceab6f0
+PKG_HASH:=a9f16856aa311b8926cba2075d5245e94f30436f8a762a7e897ee7c8d335c59e
PKG_MAINTAINER:=Toni Uhlig <matzeton@googlemail.com>
PKG_LICENSE:=LGPL-2.1-or-later
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/liborcania
SECTION:=libs
PKG_CPE_ID:=cpe:/a:libpng:libpng
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libpng
SECTION:=libs
PKG_MAINTAINER:=Igor Bezzubchenko <garikello@gmail.com>
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libpqxx
SECTION:=libs
include $(TOPDIR)/rules.mk
PKG_NAME:=libqmi
-PKG_VERSION:=1.28.2
+PKG_VERSION:=1.28.6
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.freedesktop.org/software/libqmi
-PKG_HASH:=8c8c3ee719874d2529bce9b35b028fe435b36f003979a360d3ad0938449db783
+PKG_HASH:=cbb890893de1dee06ea5ebdac2d22f0469314a6f93f15f61f2f1206a1c9ae5fd
PKG_MAINTAINER:=Nicholas Smith <nicholas.smith@telcoantennas.com.au>
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libradiotap
SECTION:=libs
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/re2
SECTION:=libs
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libroxml
SECTION:=libs
PKG_CPE_ID:=cpe:/a:libsndfile_project:libsndfile
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libsndfile
SECTION:=libs
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libsoxr
SECTION:=libs
PKG_USE_MIPS16:=0
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libssh
SECTION:=libs
CONFIG_LIBSSH2_OPENSSL
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libssh2
SECTION:=libs
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libtins
SECTION:=net
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libtorrent-rasterbar/Default
TITLE:=Rasterbar BitTorrent library
PKG_LICENSE_FILES:=COPYRIGHT
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libuecc
SECTION:=libs
include $(TOPDIR)/rules.mk
PKG_NAME:=libuhttpd
-PKG_VERSION:=3.11.0
+PKG_VERSION:=3.12.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL=https://github.com/zhaojh329/libuhttpd/releases/download/v$(PKG_VERSION)
-PKG_HASH:=dcd95fac7b29d43f57e942db6e9fb4c8745d4284684cd627d60c8a7f8c76cd32
+PKG_HASH:=c234dd3d491c4daa047e28870c6e740529b2eff2dd027dafb6bf02d8dba286b0
PKG_MAINTAINER:=Jianhui Zhao <zhaojh329@gmail.com>
PKG_LICENSE:=MIT
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libuhttpd/Default
SECTION:=libs
Package/libuhttpd-nossl=$(call Package/libuhttpd/Default,nossl)
ifeq ($(BUILD_VARIANT),openssl)
- CMAKE_OPTIONS += -DUHTTPD_USE_OPENSSL=ON
+ CMAKE_OPTIONS += -DUSE_OPENSSL=ON
else ifeq ($(BUILD_VARIANT),wolfssl)
- CMAKE_OPTIONS += -DUHTTPD_USE_WOLFSSL=ON
+ CMAKE_OPTIONS += -DUSE_WOLFSSL=ON
else ifeq ($(BUILD_VARIANT),mbedtls)
- CMAKE_OPTIONS += -DUHTTPD_USE_MBEDTLS=ON
+ CMAKE_OPTIONS += -DUSE_MBEDTLS=ON
else
- CMAKE_OPTIONS += -DUHTTPD_SSL_SUPPORT=OFF
+ CMAKE_OPTIONS += -DSSL_SUPPORT=OFF
endif
define Package/libuhttpd-$(BUILD_VARIANT)/install
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libulfius/default
SECTION:=libs
PYTHON3_PKG_BUILD:=0
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
include ../../lang/python/python3-package.mk
UPM_MODULES:= \
include $(TOPDIR)/rules.mk
PKG_NAME:=libupnp
-PKG_VERSION:=1.14.5
+PKG_VERSION:=1.14.7
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@SF/pupnp
-PKG_HASH:=227ffa407be6b91d4e42abee1dd27e4b8d7e5ba8d3d45394cca4e1eadc65149a
+PKG_HASH:=7b66ac4a86bc0e218e2771ac274b2945bc4154bf9054e57b14afb67c26ac7c24
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
PKG_LICENSE:=BSD-3-Clause
CONFIG_IPV6
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libupnp/Default
SECTION:=libs
CMAKE_BINARY_SUBDIR:=out/cmake
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libuv
SECTION:=libs
CONFIG_LIBUWSC_nossl_LUA_BINDING
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libuwsc/Default
SECTION:=libs
PKG_CPE_ID:=cpe:/a:xiph.org:libvorbis
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libvorbis
SECTION:=libs
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libwebp
SECTION:=libs
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
CMAKE_OPTIONS += -DLWS_IPV6=$(if $(CONFIG_IPV6),ON,OFF)
CMAKE_OPTIONS += -DISABLE_WERROR=ON
PKG_NAME:=libwslay
PKG_VERSION:=1.1.1
-PKG_RELEASE:=1
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=release-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/tatsuhiro-t/wslay/tar.gz/release-$(PKG_VERSION)?
PKG_HASH:=7b9f4b9df09adaa6e07ec309b68ab376c0db2cfd916613023b52a47adfda224a
PKG_BUILD_DIR:=$(BUILD_DIR)/wslay-release-$(PKG_VERSION)
-PKG_MAINTAINER:=James Taylor <james@jtaylor.id.au>
+PKG_MAINTAINER:=Peter van Dijk <peter.van.dijk@powerdns.com>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libwslay
SECTION:=libs
include $(INCLUDE_DIR)/nls.mk
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libxerces-c/Default
SECTION:=libs
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libyaml-cpp
SECTION:=development
CMAKE_BINARY_SUBDIR:=build
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libyang
SECTION:=libs
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libzip/Default
TITLE:=libzip ($(2))
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/log4cplus
SECTION:=libs
CMAKE_BINARY_SUBDIR:=openwrt-build
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/liblzo
SECTION:=libs
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
CMAKE_OPTIONS += \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libnghttp2
SECTION:=libs
CONFIG_PCRE2_JIT_ENABLED
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libpcre2/default
SECTION:=libs
include $(TOPDIR)/rules.mk
PKG_NAME:=libprotobuf-c
-PKG_VERSION:=1.3.3
-PKG_RELEASE:=2
+PKG_VERSION:=1.4.0
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=protobuf-c-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/protobuf-c/protobuf-c/releases/download/v$(PKG_VERSION)
-PKG_HASH:=22956606ef50c60de1fabc13a78fbc50830a0447d780467d3c519f84ad527e78
+PKG_HASH:=26d98ee9bf18a6eba0d3f855ddec31dbe857667d269bc0b6017335572f85bbcb
PKG_BUILD_DIR:=$(BUILD_DIR)/protobuf-c-$(PKG_VERSION)
HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/protobuf-c-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libprotobuf-c
TITLE:=Protocol Buffers library
-DCMAKE_INSTALL_RPATH="${STAGING_DIR_HOSTPKG}/lib"
CMAKE_OPTIONS += \
- -DBUILD_SHARED_LIBS=ON
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_PROTOC=OFF
define Package/libprotobuf-c/install
$(INSTALL_DIR) $(1)/usr/lib
+++ /dev/null
---- a/build-cmake/CMakeLists.txt
-+++ b/build-cmake/CMakeLists.txt
-@@ -1,7 +1,10 @@
- SET(PACKAGE protobuf-c)
- SET(PACKAGE_NAME protobuf-c)
- SET(PACKAGE_VERSION 1.3.3)
-+set(PACKAGE_URL https://github.com/protobuf-c/protobuf-c)
-+set(PACKAGE_DESCRIPTION "Protocol Buffers implementation in C")
-
-+include(GNUInstallDirs)
-
- CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR)
-
-@@ -141,6 +144,9 @@ IF(CMAKE_HOST_UNIX)
- INSTALL(CODE "EXECUTE_PROCESS (COMMAND ln -sf protoc-gen-c protoc-c WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}/bin)")
- ENDIF()
-
-+CONFIGURE_FILE ("libprotobuf-c.pc.in" "libprotobuf-c.pc" @ONLY)
-+INSTALL (FILES "../libprotobuf-c.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
-+
- INCLUDE(Dart)
-
- SET(DART_TESTING_TIMEOUT 5)
---- /dev/null
-+++ b/build-cmake/libprotobuf-c.pc.in
-@@ -0,0 +1,14 @@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=@CMAKE_INSTALL_PREFIX@
-+bindir=${exec_prefix}/@CMAKE_INSTALL_BINDIR@
-+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
-+
-+Name: @PACKAGE_NAME@
-+Version: @PACKAGE_VERSION@
-+Description: @PACKAGE_DESCRIPTION@
-+URL: @PACKAGE_URL@
-+Requires:
-+Libs: -L${libdir} -lprotobuf-c
-+Libs.private:
-+Cflags: -I${includedir}
include $(TOPDIR)/rules.mk
PKG_NAME:=protobuf
-PKG_VERSION:=3.15.6
+PKG_VERSION:=3.17.2
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-cpp-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/google/protobuf/releases/download/v$(PKG_VERSION)
-PKG_HASH:=bbdfb7455431d7d58666e8a2996d14b236718ff238eecde10646581e4c87f168
+PKG_HASH:=13c5e07a8e2d6847794ac3f23947d9641cab7ded0c50854aad624d48f2821e60
PKG_MAINTAINER:=Ken Keys <kkeys@caida.org>
PKG_LICENSE:=BSD-3-Clause
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/protobuf/Default
SECTION:=libs
elseif (APPLE)
set_property(TARGET ${_library}
PROPERTY INSTALL_RPATH "@loader_path")
-@@ -32,8 +32,8 @@ if (protobuf_BUILD_PROTOC_BINARIES)
- install(TARGETS protoc EXPORT protobuf-targets
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT protoc)
+@@ -34,8 +34,8 @@ if (protobuf_BUILD_PROTOC_BINARIES)
+ BUNDLE DESTINATION ${CMAKE_INSTALL_BINDIR}
+ COMPONENT protoc)
if (UNIX AND NOT APPLE)
- set_property(TARGET protoc
- PROPERTY INSTALL_RPATH "$ORIGIN/../${CMAKE_INSTALL_LIBDIR}")
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/pugixml
SECTION:=libs
PKG_CONFIG_DEPENDS:=CONFIG_PACKAGE_qrencode
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libqrencode
SECTION:=libs
include $(TOPDIR)/rules.mk
PKG_NAME:=redis
-PKG_VERSION:=6.2.3
+PKG_VERSION:=6.2.4
PKG_RELEASE:=1
PKG_SOURCE_URL:=http://download.redis.io/releases/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_HASH:=98ed7d532b5e9671f5df0825bb71f0f37483a16546364049384c63db8764512b
+PKG_HASH:=ba32c406a10fc2c09426e2be2787d74ff204eb3a2e496d87cff76a476b6ae16e
PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec@nic.cz>
PKG_LICENSE:=BSD-3-Clause
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/spdlog
SECTION:=libs
include $(TOPDIR)/rules.mk
PKG_NAME:=taglib
-PKG_VERSION:=1.12-beta-2
+PKG_VERSION:=1.12
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/taglib/taglib/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=e273e9d97592cebd4e84e71313e91e9df0fc4a8e00c35daea62325e8bebb87d9
+PKG_HASH:=b5a56f78a8bd962aaaec992b25a031f541b949b6eb30aa232bd6d5fa17cf8fa8
PKG_MAINTAINER:=
PKG_LICENSE:=LGPL-2.1-or-later
PKG_CPE_ID:=cpe:/a:taglib:taglib
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/taglib
SECTION:=libs
CATEGORY:=Libraries
TITLE:=taglib
URL:=https://github.com/taglib/taglib
- DEPENDS:=+libstdcpp
- BUILDONLY:=1
+ DEPENDS:=+zlib +libstdcpp
endef
define Package/taglib/description
endef
CMAKE_OPTIONS += \
+ -DBUILD_SHARED_LIBS=ON
-DBUILD_TESTS=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_BINDINGS=OFF \
$(LN) ../../usr/bin/taglib-config $(2)/bin/taglib-config
endef
+define Package/taglib/install
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libtag.so.* $(1)/usr/lib/
+endef
+
$(eval $(call BuildPackage,taglib))
PKG_CPE_ID:=cpe:/a:libtiff:libtiff
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/tiff/Default
TITLE:=TIFF
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libuci2/Default
TITLE:=AST-based C parser library for UCI
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
CMAKE_INSTALL:=1
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/yajl
SECTION:=libs
CMAKE_BINARY_SUBDIR:=openwrt-build
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libzmq/default
TITLE:=ZeroMQ - Message Queue engine
include $(TOPDIR)/rules.mk
PKG_NAME:=gerbera
-PKG_VERSION:=1.8.0
+PKG_VERSION:=1.8.2
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/gerbera/gerbera/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=02044abd1363c5f5604c5830e560b102ac456179afbf3be60e65847f47f4c599
+PKG_HASH:=b1e5591515f05a46de052ef4d95a2bb3387e96f565a5ce7abb6a77dbe581f09a
PKG_MAINTAINER:=
PKG_LICENSE:=GPL-2.0-or-later
PKG_LICENSE_FILES:=LICENSE.md
-PKG_BUILD_DEPENDS:=libmatroska pugixml spdlog taglib
+PKG_BUILD_DEPENDS:=libmatroska pugixml spdlog
PKG_CONFIG_DEPENDS:=CONFIG_BUILD_PATENTED
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/gerbera
SECTION:=multimedia
CATEGORY:=Multimedia
- DEPENDS:=+file +libnpupnp +libsqlite3 +libexif +libuuid +libfmt +libatomic +BUILD_PATENTED:libffmpeg $(ICONV_DEPENDS)
+ DEPENDS:=+file +libnpupnp +libsqlite3 +libexif +libuuid +libfmt +libatomic +taglib +BUILD_PATENTED:libffmpeg $(ICONV_DEPENDS)
TITLE:=A free media server
URL:=https://gerbera.io
USERID:=gerbera:gerbera
$(eval $(call GstBuildPlugin,shout2,shout2 support,audio,,+libshout))
$(eval $(call GstBuildPlugin,soup,soup input,audio tag,,+libsoup))
$(eval $(call GstBuildPlugin,speex,speex support,audio tag,,+libspeex))
-#$(eval $(call GstBuildPlugin,taglib,taglib support,tag,,))
+$(eval $(call GstBuildPlugin,taglib,taglib support,tag,,+taglib))
$(eval $(call GstBuildPlugin,video4linux2,video4linux2 support,video allocators,,+libv4l))
$(eval $(call GstBuildPlugin,vpx,vpx support,tag video,,+libvpx))
#$(eval $(call GstBuildPlugin,wavpack,Wav packer,audio riff tag,,))
PKG_BUILD_DEPENDS:=MJPG_STREAMER_V4L2:libv4l zmq protobuf-c/host
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/mjpg-streamer
SECTION:=multimedia
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/v4l2rtspserver
SECTION:=multimedia
include $(TOPDIR)/rules.mk
PKG_NAME:=adblock
-PKG_VERSION:=4.1.2
+PKG_VERSION:=4.1.3
PKG_RELEASE:=1
PKG_LICENSE:=GPL-3.0-or-later
PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
| adb_srcfile | -, /tmp/adb_sources.json | full path to the used adblock source file, which has a higher precedence than the archive file |
| adb_dns | -, auto-detected | 'dnsmasq', 'unbound', 'named', 'kresd' or 'raw' |
| adb_fetchutil | -, auto-detected | 'uclient-fetch', 'wget', 'curl' or 'aria2c' |
-| adb_fetchparm | -, auto-detected | config options for the selected download utility, e.g. to disable the certificate check |
+| adb_fetchparm | -, auto-detected | manually override the config options for the selected download utility |
+| adb_fetchinsecure | 0, disabled | don't check SSL server certificates during download |
| adb_trigger | -, not set | trigger network interface or 'not set' to use a time-based startup |
| adb_triggerdelay | 2 | additional trigger delay in seconds before adblock processing begins |
| adb_debug | 0, disabled | set to 1 to enable the debug output |
**Use restrictive jail modes:**
You can enable a restrictive 'adb_list.jail' to block access to all domains except those listed in the whitelist file. Usually this list will be generated as an additional list for guest or kidsafe configurations (for a separate dns server instance). If the jail directory points to your primary dns directory, adblock enables the restrictive jail mode automatically (jail mode only).
+**Manually override the download options:**
+By default adblock uses the following pre-configured download options:
+* aria2c: <code>--timeout=20 --allow-overwrite=true --auto-file-renaming=false --log-level=warn --dir=/ -o</code>
+* curl: <code>--connect-timeout 20 --silent --show-error --location -o</code>
+* uclient-fetch: <code>--timeout=20 -O</code>
+* wget: <code>--no-cache --no-cookies --max-redirect=0 --timeout=20 -O</code>
+
+To override the default set 'adb_fetchparm' manually to your needs.
+
**Enable E-Mail notification via 'msmtp':**
To use the email notification you have to install & configure the package 'msmtp'.
Modify the file '/etc/msmtprc':
export LC_ALL=C
export PATH="/usr/sbin:/usr/bin:/sbin:/bin"
set -o pipefail
-adb_ver="4.1.2"
+adb_ver="4.1.3"
adb_enabled=0
adb_debug=0
adb_forcedns=0
#
f_fetch()
{
- local util utils cnt=0
+ local util utils insecure cnt=0
if [ -z "${adb_fetchutil}" ]
then
fi
case "${adb_fetchutil}" in
"aria2c")
- adb_fetchparm="${adb_fetchparm:-"--timeout=20 --allow-overwrite=true --auto-file-renaming=false --check-certificate=true --log-level=warn --dir=/ -o"}"
+ if [ "${adb_fetchinsecure}" = "1" ]
+ then
+ insecure="--check-certificate=false"
+ fi
+ adb_fetchparm="${adb_fetchparm:-"${insecure} --timeout=20 --allow-overwrite=true --auto-file-renaming=false --log-level=warn --dir=/ -o"}"
;;
"curl")
- adb_fetchparm="${adb_fetchparm:-"--connect-timeout 20 --silent --show-error --location -o"}"
+ if [ "${adb_fetchinsecure}" = "1" ]
+ then
+ insecure="--insecure"
+ fi
+ adb_fetchparm="${adb_fetchparm:-"${insecure} --connect-timeout 20 --silent --show-error --location -o"}"
;;
"uclient-fetch")
- adb_fetchparm="${adb_fetchparm:-"--timeout=20 -O"}"
+ if [ "${adb_fetchinsecure}" = "1" ]
+ then
+ insecure="--no-check-certificate"
+ fi
+ adb_fetchparm="${adb_fetchparm:-"${insecure} --timeout=20 -O"}"
;;
"wget")
- adb_fetchparm="${adb_fetchparm:-"--no-cache --no-cookies --max-redirect=0 --timeout=20 -O"}"
+ if [ "${adb_fetchinsecure}" = "1" ]
+ then
+ insecure="--no-check-certificate"
+ fi
+ adb_fetchparm="${adb_fetchparm:-"${insecure} --no-cache --no-cookies --max-redirect=0 --timeout=20 -O"}"
;;
esac
if [ -n "${adb_fetchutil}" ] && [ -n "${adb_fetchparm}" ]
"descurl": "https://github.com/finnish-easylist-addition"
},
"reg_fr": {
- "url": "https://easylist-downloads.adblockplus.org/liste_fr.txt",
+ "url": "https://easylist-downloads.adblockplus.org/liste_fr+easylist.txt",
"rule": "BEGIN{FS=\"[|^]\"}/^\\|\\|([[:alnum:]_-]{1,63}\\.)+[[:alpha:]]+\\^(\\$third-party)?$/{print tolower($3)}",
- "size": "S",
+ "size": "M",
"focus": "reg_france",
"descurl": "https://forums.lanik.us/viewforum.php?f=91"
},
"rule": "/^([[:alnum:]_-]{1,63}\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($1)}",
"size": "VAR",
"focus": "general",
- "descurl": "https://www.shallalist.de",
+ "descurl": "https://www.shallalist.de"
},
"smarttv_tracking": {
"url": "https://raw.githubusercontent.com/Perflyst/PiHoleBlocklist/master/SmartTV.txt",
"rule": "/^([[:alnum:]_-]{1,63}\\.)+[[:alpha:]]+([[:space:]]|$)/{print tolower($1)}",
"size": "VAR",
"focus": "general",
- "descurl": "https://dsi.ut-capitole.fr/blacklists/index_en.php",
+ "descurl": "https://dsi.ut-capitole.fr/blacklists/index_en.php"
},
"wally3k": {
"url": "https://v.firebog.net/hosts/static/w3kbl.txt",
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/apfree-wifidog
SUBMENU:=Captive Portals
PKG_NAME:=autossh
PKG_VERSION:=1.4g
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
PKG_SOURCE_URL:=https://www.harding.motd.ca/autossh/
SUBMENU:=SSH
endef
-define Build/Compile
- $(call Build/Compile/Default, -f Makefile \
- CFLAGS="$(TARGET_CFLAGS) -Wall -D\"SSH_PATH=\\\"\$$$$(SSH)\\\"\" -D\"VER=\\\"\$$$$(VER)\\\"\"" \
- all \
- )
-endef
+CONFIGURE_VARS += \
+ ac_cv_path_ssh=/usr/bin/ssh
define Package/autossh/install
$(INSTALL_DIR) $(1)/usr/sbin
include $(TOPDIR)/rules.mk
PKG_NAME:=banip
-PKG_VERSION:=0.7.8
-PKG_RELEASE:=1
+PKG_VERSION:=0.7.9
+PKG_RELEASE:=2
PKG_LICENSE:=GPL-3.0-or-later
PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
| ban_wan_inputchains_6 | list | input_wan_rule | list option to add IPv6 wan input chains |
| ban_wan_forwardchains_4 | list | forwarding_wan_rule | list option to add IPv4 wan forward chains |
| ban_wan_forwardchains_6 | list | forwarding_wan_rule | list option to add IPv6 wan forward chains |
+| ban_fetchutil | option | -, auto-detected | 'uclient-fetch', 'wget', 'curl' or 'aria2c' |
+| ban_fetchparm | option | -, auto-detected | manually override the config options for the selected download utility |
+| ban_fetchinsecure | option | 0, disabled | don't check SSL server certificates during download |
| ban_mailreceiver | option | - | receiver address for banIP related notification E-Mails |
| ban_mailsender | option | no-reply@banIP | sender address for banIP related notification E-Mails |
| ban_mailtopic | option | banIP notification | topic for banIP related notification E-Mails |
**whitelist-only mode:**
banIP supports a "whitelist only" mode. This option allows to restrict the internet access from/to a small number of secure websites/IPs, and block access from/to the rest of the internet. All IPs and Domains which are _not_ listed in the whitelist are blocked. Please note: suspend/resume does not work in this mode.
+**Manually override the download options:**
+By default banIP uses the following pre-configured download options:
+* aria2c: <code>--timeout=20 --allow-overwrite=true --auto-file-renaming=false --log-level=warn --dir=/ -o</code>
+* curl: <code>--connect-timeout 20 --silent --show-error --location -o</code>
+* uclient-fetch: <code>--timeout=20 -O</code>
+* wget: <code>--no-cache --no-cookies --max-redirect=0 --timeout=20 -O</code>
+
+To override the default set 'ban_fetchparm' manually to your needs.
+
**generate an IPSet report:**
<pre><code>
~# /etc/init.d/banip report
export LC_ALL=C
export PATH="/usr/sbin:/usr/bin:/sbin:/bin"
set -o pipefail
-ban_ver="0.7.8"
+ban_ver="0.7.9"
ban_enabled="0"
ban_mail_enabled="0"
ban_proto4_enabled="0"
#
f_env()
{
- local util utils packages iface tmp cnt="0" cnt_max="10"
+ local util utils packages iface insecure tmp cnt="0" cnt_max="10"
ban_starttime="$(date "+%s")"
f_jsnup "running"
fi
case "${ban_fetchutil}" in
"aria2c")
- ban_fetchparm="${ban_fetchparm:-"--timeout=20 --allow-overwrite=true --auto-file-renaming=false --check-certificate=true --log-level=warn --dir=/ -o"}"
+ if [ "${ban_fetchinsecure}" = "1" ]
+ then
+ insecure="--check-certificate=false"
+ fi
+ ban_fetchparm="${ban_fetchparm:-"${insecure} --timeout=20 --allow-overwrite=true --auto-file-renaming=false --log-level=warn --dir=/ -o"}"
;;
"curl")
- ban_fetchparm="${ban_fetchparm:-"--connect-timeout 20 --silent --show-error --location -o"}"
+ if [ "${ban_fetchinsecure}" = "1" ]
+ then
+ insecure="--insecure"
+ fi
+ ban_fetchparm="${ban_fetchparm:-"${insecure} --connect-timeout 20 --silent --show-error --location -o"}"
;;
"uclient-fetch")
- ban_fetchparm="${ban_fetchparm:-"--timeout=20 -O"}"
+ if [ "${ban_fetchinsecure}" = "1" ]
+ then
+ insecure="--no-check-certificate"
+ fi
+ ban_fetchparm="${ban_fetchparm:-"${insecure} --timeout=20 -O"}"
;;
"wget")
- ban_fetchparm="${ban_fetchparm:-"--no-cache --no-cookies --max-redirect=0 --timeout=20 -O"}"
+ if [ "${ban_fetchinsecure}" = "1" ]
+ then
+ insecure="--no-check-certificate"
+ fi
+ ban_fetchparm="${ban_fetchparm:-"${insecure} --no-cache --no-cookies --max-redirect=0 --timeout=20 -O"}"
;;
esac
if [ -n "${ban_fetchutil}" ] && [ -n "${ban_fetchparm}" ]
fi
if [ -n "$(printf "%s\n" "${ban_logterms}" | grep -F "nginx")" ]
then
- log_ips="$(printf "%s\n" "${log_raw}" | grep -oE "nginx\[[0-9]+\]:.*\[error\].*open().*client: [[:alnum:].:]+" | \
+ log_ips="$(printf "%s\n" "${log_raw}" | grep -oE "nginx(\[[0-9]+\])?:.*\[error\].*open\(\).*client: [[:alnum:].:]+" | \
awk '!seen[$NF]++' | awk '{ORS=" ";print $NF}')"
for ip in ${log_ips}
do
- log_count="$(printf "%s\n" "${log_raw}" | grep -cE "nginx\[[0-9]+\]:.*\[error\].*open().*client: ${ip}")"
+ log_count="$(printf "%s\n" "${log_raw}" | grep -cE "nginx(\[[0-9]+\])?:.*\[error\].*open\(\).*client: ${ip}")"
if [ "${log_count}" -ge "${ban_nginx_logcount}" ]
then
log_merge="${log_merge} ${ip}"
include $(TOPDIR)/rules.mk
PKG_NAME:=bwping
-PKG_VERSION:=2.2
+PKG_VERSION:=2.3
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/bwping
-PKG_HASH:=7339541ec21fb9ae16d66ef0e45311696623133801aa86244d69bb276534ef4e
+PKG_HASH:=6417af412b68ebb77c45047fef8ced40db3b5dc646c9dd503a7855535a02f7d5
PKG_MAINTAINER:=Oleg Derevenetz <oleg.derevenetz@gmail.com>
PKG_LICENSE:=BSD-2-Clause
PKG_MAINTAINER:=John Crispin <blogic@openwrt.org>
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/cgi-io
SECTION:=net
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/clamav/Default
SECTION:=net
PKG_LICENSE:=BSD-2-Clause
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/cshark
SECTION:=net
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/dawn
SECTION:=net
PKG_SOURCE_URL:=https://downloads.powerdns.com/releases/
PKG_HASH:=a7783a04d8d4ad2b0168ffaaf85ef95d5f557057b0462280684dd799d0cdd292
-PKG_MAINTAINER:=James Taylor <james@jtaylor.id.au>
+PKG_MAINTAINER:=Peter van Dijk <peter.van.dijk@powerdns.com>
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:powerdns:dnsdist
PKG_LICENSE:=GPL-2.0-or-later
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/etherwake-nfqueue
SECTION:=net
include $(TOPDIR)/rules.mk
PKG_NAME:=haproxy
-PKG_VERSION:=2.4.0
+PKG_VERSION:=2.4.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://www.haproxy.org/download/2.4/src
-PKG_HASH:=0a6962adaf5a1291db87e3eb4ddf906a72fed535dbd2255b164b7d8394a53640
+PKG_HASH:=1b2458b05e923d70cdc00a2c8e5579c2fcde9df16bbed8955f3f3030df14e62e
PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>, \
Christian Lachner <gladiac@gmail.com>
#!/bin/sh
CLONEURL=https://git.haproxy.org/git/haproxy-2.4.git
-BASE_TAG=v2.4.0
+BASE_TAG=v2.4.1
TMP_REPODIR=tmprepo
PATCHESDIR=patches
include $(TOPDIR)/rules.mk
PKG_NAME:=https-dns-proxy
-PKG_VERSION:=2021-05-14
-PKG_RELEASE:=2
+PKG_VERSION:=2021-06-03
+PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/aarond10/https_dns_proxy
-PKG_SOURCE_DATE:=2021-05-14
-PKG_SOURCE_VERSION:=fa05dcfc46ff6d58999aab1e35bcf1b36b1eb19e
-PKG_MIRROR_HASH:=4fd40c4e64010c5c49629a4de830ab6e53c649458f0adeda5399b350cbe7f319
+PKG_SOURCE_DATE:=2021-06-03
+PKG_SOURCE_VERSION:=5651b984f770a8bcecb14aeffc224703f8f82586
+PKG_MIRROR_HASH:=b65161936269aa3117debad0fcfce157024726b78d7e7da77c226f7aa8da5b4d
PKG_MAINTAINER:=Stan Grishin <stangri@melmac.net>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
CMAKE_OPTIONS += -DCLANG_TIDY_EXE=
append_parm "$cfg" 'group' '-g' 'nogroup'
append_parm "$cfg" 'proxy_server' '-t'
append_parm "$cfg" 'logfile' '-l'
- append_bool "$cfg" 'use_http1' '-x' '1'
+ append_bool "$cfg" 'use_http1' '-x'
config_get_bool ipv6_resolvers_only "$cfg" 'use_ipv6_resolvers_only' '0'
config_get verbosity "$cfg" 'verbosity' '0'
include $(TOPDIR)/rules.mk
PKG_NAME:=iperf
-PKG_VERSION:=3.9
+PKG_VERSION:=3.10.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://downloads.es.net/pub/iperf
-PKG_HASH:=24b63a26382325f759f11d421779a937b63ca1bc17c44587d2fcfedab60ac038
+PKG_HASH:=03bc9760cc54a245191d46bfc8edaf8a4750f0e87abca6764486972044d6715a
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>
PKG_LICENSE:=BSD-3-Clause
--- /dev/null
+# SPDX-License-Identifier: GPL-2.0-only
+#
+# Copyright (C) 2021 Marcel Vital
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=irtt
+PKG_VERSION:=0.9.1
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/heistp/irtt.git
+PKG_SOURCE_VERSION:=v$(PKG_VERSION)
+PKG_MIRROR_HASH:=5ec1c97542f826431977168c024d547d7eb45c5c17e1d01d79736547a5a43199
+
+PKG_LICENSE:=GPL-2.0-only
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Marcel Vital <ralmina@tuta.io>
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/irtt-$(PKG_VERSION)
+PKG_BUILD_DEPENDS:=golang/host
+PKG_BUILD_PARALLEL:=1
+PKG_USE_MIPS16:=0
+
+GO_PKG:=github.com/heistp/irtt
+
+include $(INCLUDE_DIR)/package.mk
+include ../../lang/golang/golang-package.mk
+
+define Package/irtt
+ SECTION:=net
+ CATEGORY:=Network
+ TITLE:=irtt
+ URL:=https://github.com/heistp/irtt
+ DEPENDS:=$(GO_ARCH_DEPENDS)
+endef
+
+define Package/irtt/description
+ Isochronous round trip time tool.
+ Useful for measuring one-way send or recv delay between hosts,
+ among other things.
+endef
+
+define Package/irtt/install
+ $(call GoPackage/Package/Install/Bin,$(PKG_INSTALL_DIR))
+
+ $(INSTALL_DIR) $(1)/usr/bin/
+ $(CP) $(PKG_INSTALL_DIR)/usr/bin/irtt $(1)/usr/bin/
+endef
+
+$(eval $(call GoBinPackage,irtt))
+$(eval $(call BuildPackage,irtt))
--- /dev/null
+#!/bin/sh
+
+/usr/bin/"${1}" version 2>/dev/null | grep -F "${2}"
include $(TOPDIR)/rules.mk
PKG_NAME:=kea
-PKG_VERSION:=1.8.0
-PKG_RELEASE:=2
+PKG_VERSION:=1.8.2
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://ftp.isc.org/isc/kea/$(PKG_VERSION)
-PKG_HASH:=3d91106fba3698194fb80da4149af709c7b2e89881311522816e561fca0ec0ea
+PKG_HASH:=486ca7abedb9d6fdf8e4344ad8688d1171f2ef0f5506d118988aadeae80a1d39
PKG_MAINTAINER:=BangLang Huang<banglang.huang@foxmail.com>, Rosy Song<rosysong@rosinson.com>
PKG_LICENSE:=MPL-2.0
--- /dev/null
+From d505f7a7d6fac1c00a4467dfcf1e84f2db508bc6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 26 Feb 2021 23:14:20 -0800
+Subject: [PATCH] ax_cpp11.m4: Include <memory> header
+
+This is needed for std::shared_ptr
+GCC-11 throws errors if header is not included
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ m4macros/ax_cpp11.m4 | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/m4macros/ax_cpp11.m4
++++ b/m4macros/ax_cpp11.m4
+@@ -182,6 +182,7 @@ for retry in "none" "--std=c++11" "--std
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [#include <thread>
++ #include <memory>
+ std::shared_ptr<std::thread> th;],
+ [th.reset(new std::thread([[]]() { return; }));
+ th->join();])],
PKG_NAME:=knot-resolver
PKG_VERSION:=5.3.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://secure.nic.cz/files/knot-resolver
procd_append_param command -c "$CONFIGFILE"
procd_append_param command -a "0.0.0.0#53"
procd_append_param command -a "::0#53"
+ procd_set_param nice '-5'
procd_close_instance
}
--- /dev/null
+--- a/configure.ac
++++ b/configure.ac
+@@ -90,8 +90,24 @@ if test x"$enable_smtp" != xno ; then
+ )
+ fi
+
+-AC_MSG_CHECKING(whether to use libesmtp)
++AC_MSG_CHECKING(whether to use libesmtp >= v1.1.x)
+ if test x"$enable_smtp" != xno ; then
++ PKG_CHECK_MODULES(ESMTP, libesmtp-1.0 >= 1.1.0, [
++ AC_DEFINE([HAVE_LIBESMTP], [1], [Build with libesmtp email support.])
++ AC_SUBST(ESMTP_CFLAGS)
++ AC_SUBST(ESMTP_LIBS)
++ if test x"`echo $ESMTP_LIBS | grep pthread`" != x ; then
++ AC_MSG_WARN([libesmtp is compiled with pthread support. This can conflict with pth. If you observe segmentation faults at startup, try to recompile with libesmtp support disabled])
++ AC_DEFINE([HAVE_LIBESMTP_PTHREAD], [1], [libesmtp is compiled with pthread support.])
++ fi
++ found_esmtp=yes
++ ],[
++ AC_MSG_RESULT([no])
++ ])
++fi
++if test x"$found_esmtp" = x ; then
++AC_MSG_CHECKING(whether to use libesmtp v1.0.x)
++if test x"$enable_smtp" != xno && test x`which libesmtp-config` != x ; then
+ ESMTP_CFLAGS="`libesmtp-config --cflags`"
+ ESMTP_LIBS="`libesmtp-config --libs`"
+ if test x"`libesmtp-config --libs | grep pthread`" != x ; then
+@@ -110,6 +126,7 @@ if test x"$enable_smtp" != xno ; then
+ else
+ AC_MSG_RESULT([no])
+ fi
++fi
+ AM_CONDITIONAL([USE_B64], [test x"$enable_smtp" != xno])
+
+
PKG_BUILD_DIR:=$(BUILD_DIR)/lora_gateway-$(PKG_VERSION)
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libloragw
SECTION:=libs
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/mbusd
SECTION:=net
PKG_CPE_ID:=cpe:/a:miniupnp_project:miniupnp
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/miniupnpc/Default
TITLE:=Lightweight UPnP
PKG_NAME:=miniupnpd
PKG_VERSION:=2.2.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE_URL:=https://miniupnp.tuxfamily.org/files
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
option port 5000
option upnp_lease_file /var/run/miniupnpd.leases
option igdv1 1
- option ext_ip_reserved_ignore '1'
config perm_rule
option action allow
size_t i;
+ if(GETFLAG(EXTIPRESERVEDIGNOREMASK)) {
-+ syslog(LOG_NOTICE, "private/reserved address checking is ignore");
++ syslog(LOG_NOTICE, "private/reserved address checking is ignored");
+ return 0;
+ }
+
include $(TOPDIR)/rules.mk
PKG_NAME:=modemmanager
-PKG_VERSION:=1.16.2
+PKG_VERSION:=1.16.6
PKG_RELEASE:=1
PKG_SOURCE:=ModemManager-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.freedesktop.org/software/ModemManager
-PKG_HASH:=efa9a963499e0885f3f163096d433334143c4937545134ecd682e0157fa591e3
+PKG_HASH:=2a90b6260f66d3135609d62667ada73416694d717e7fd9b73223e3703a499617
PKG_BUILD_DIR:=$(BUILD_DIR)/ModemManager-$(PKG_VERSION)
PKG_MAINTAINER:=Nicholas Smith <nicholas.smith@telcoantennas.com.au>
include $(TOPDIR)/rules.mk
PKG_NAME:=mosquitto
-PKG_VERSION:=2.0.10
+PKG_VERSION:=2.0.11
PKG_RELEASE:=1
PKG_LICENSE:=EPL-2.0
PKG_LICENSE_FILES:=LICENSE.txt
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://mosquitto.org/files/source/
-PKG_HASH:=0188f7b21b91d6d80e992b8d6116ba851468b3bd154030e8a003ed28fb6f4a44
+PKG_HASH:=7b36a7198bce85cf31b132f5c6ee36dcf5dadf86fb768501eb1e11ce95d4f78a
include $(INCLUDE_DIR)/package.mk
+++ /dev/null
-#
-# Copyright (C) 2009-2013 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=netatalk
-PKG_VERSION:=3.1.12
-PKG_RELEASE:=3
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=@SF/netatalk
-PKG_HASH:=1560f83a3da41be97e0b70a96e2402159b8ddc631d38538360b14784beada5d1
-
-PKG_BUILD_PARALLEL:=1
-PKG_INSTALL:=1
-PKG_FIXUP:=autoreconf
-
-PKG_CPE_ID:=cpe:/a:netatalk:netatalk
-
-PKG_BUILD_DEPENDS:=libevent2
-
-include $(INCLUDE_DIR)/package.mk
-
-define Package/netatalk
- SECTION:=net
- CATEGORY:=Network
- SUBMENU:=Filesystem
- DEPENDS:=+libattr +libdb47 +libgcrypt +libopenssl
- TITLE:=netatalk
- URL:=http://netatalk.sourceforge.net
- MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
-endef
-
-define Package/netatalk/decription
- Netatalk is a freely-available Open Source AFP fileserver.
- It also provides a kernel level implementation of the AppleTalk
- Protocol Suite.
-endef
-
-TARGET_CFLAGS += -std=gnu99
-
-CONFIGURE_ARGS += \
- --disable-afs \
- --enable-hfs \
- --disable-debugging \
- --disable-shell-check \
- --disable-timelord \
- --disable-a2boot \
- --disable-cups \
- --disable-tcp-wrappers \
- --with-cnid-default-backend=dbd \
- --with-bdb="$(STAGING_DIR)/usr/" \
- --with-libevent=no \
- --with-libgcrypt-dir="$(STAGING_DIR)/usr" \
- --with-ssl-dir="$(STAGING_DIR)/usr" \
- --with-uams-path="/usr/lib/uams" \
- --without-acls \
- --without-kerberos \
- --without-mysql \
- --with-mysql-config=false \
- --without-pam \
- --disable-admin-group \
- --disable-srvloc \
- --disable-zeroconf \
- $(if $(CONFIG_SHADOW_PASSWORDS),--with-shadow,--without-shadow) \
- --without-dtrace \
- --without-ldap
-
-define Package/netatalk/conffiles
-/etc/afp.conf
-/etc/extmap.conf
-/etc/netatalk/
-endef
-
-define Package/netatalk/install
- $(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_DIR) $(1)/usr/lib
- $(INSTALL_DIR) $(1)/usr/sbin
- $(INSTALL_DIR) $(1)/usr/lib/uams
- $(INSTALL_DIR) $(1)/etc/init.d
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/libatalk.so* $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/bin/dbd $(1)/usr/bin/
- $(CP) $(PKG_INSTALL_DIR)/usr/bin/ad $(1)/usr/bin/
- $(CP) $(PKG_INSTALL_DIR)/usr/bin/afppasswd $(1)/usr/bin/
- $(CP) $(PKG_INSTALL_DIR)/usr/sbin/afpd $(1)/usr/sbin/
- $(CP) $(PKG_INSTALL_DIR)/usr/sbin/cnid_dbd $(1)/usr/sbin/
- $(CP) $(PKG_INSTALL_DIR)/usr/sbin/cnid_metad $(1)/usr/sbin/
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/uams/*.so $(1)/usr/lib/uams/
- $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/afp.conf $(1)/etc/
- $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/extmap.conf $(1)/etc/
- $(INSTALL_BIN) ./files/afpd.init $(1)/etc/init.d/afpd
-endef
-
-$(eval $(call BuildPackage,netatalk))
+++ /dev/null
-#!/bin/sh /etc/rc.common
-# Copyright (C) 2010-2012 OpenWrt.org
-
-START=80
-STOP=10
-
-USE_PROCD=1
-
-start_service() {
- mkdir -p /var/netatalk/CNID/
-
- procd_open_instance
- procd_set_param command /usr/sbin/afpd -d -F /etc/afp.conf
- procd_set_param file /etc/afp.conf
- procd_set_param respawn
- procd_close_instance
-
- procd_open_instance
- procd_set_param command /usr/sbin/cnid_metad -d
- procd_set_param respawn
- procd_close_instance
-}
-
+++ /dev/null
---- a/macros/iconv.m4
-+++ b/macros/iconv.m4
-@@ -115,6 +115,5 @@ int main() {
-
- CFLAGS="$savedcflags"
- LDFLAGS="$savedldflags"
-- CPPFLAGS="$saved_CPPFLAGS"
-
- ])
+++ /dev/null
---- a/macros/db3-check.m4
-+++ b/macros/db3-check.m4
-@@ -148,9 +148,9 @@ if test "x$bdb_required" = "xyes"; then
- dnl -- LD_LIBRARY_PATH on many platforms. This will be fairly
- dnl -- portable hopefully. Reference:
- dnl -- http://lists.gnu.org/archive/html/autoconf/2009-03/msg00040.html
-- eval export $shlibpath_var=$bdblibdir
-+# eval export $shlibpath_var=$bdblibdir
- NETATALK_BDB_TRY_LINK
-- eval export $shlibpath_var=$saved_shlibpath_var
-+# eval export $shlibpath_var=$saved_shlibpath_var
-
- if test x"${atalk_cv_bdb_version}" = x"yes"; then
- BDB_CFLAGS="-I${bdbdir}/include${subdir}"
-@@ -177,9 +177,9 @@ if test "x$bdb_required" = "xyes"; then
- CPPFLAGS="-I${bdbdir}/include${subdir} $CPPFLAGS"
- LDFLAGS="-L$bdblibdir $LDFLAGS"
-
-- eval export $shlibpath_var=$bdblibdir
-+# eval export $shlibpath_var=$bdblibdir
- NETATALK_BDB_TRY_LINK
-- eval export $shlibpath_var=$saved_shlibpath_var
-+# eval export $shlibpath_var=$saved_shlibpath_var
-
- if test x"${atalk_cv_bdb_version}" = x"yes"; then
- BDB_CFLAGS="-I${bdbdir}/include${subdir}"
+++ /dev/null
-From 32df6e155ccfc83216321925273c3e75e631ebe6 Mon Sep 17 00:00:00 2001
-From: Andrew Bauer <zonexpertconsulting@outlook.com>
-Date: Wed, 22 Jan 2020 09:59:47 -0600
-Subject: [PATCH] fix ftbs multiple def of invalid_dircache_entries
-
----
- etc/afpd/directory.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/etc/afpd/directory.h
-+++ b/etc/afpd/directory.h
-@@ -91,7 +91,7 @@ struct maccess {
- #define AR_UWRITE (1<<2)
- #define AR_UOWN (1<<7)
-
--q_t *invalid_dircache_entries;
-+extern q_t *invalid_dircache_entries;
-
- typedef int (*dir_loop)(struct dirent *, char *, void *);
-
include $(TOPDIR)/rules.mk
PKG_NAME:=netifyd
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Darryl Sokoloski <darryl@egloo.ca>
PKG_LICENSE:=GPL-3.0-or-later
local filter_expr=
for a in $1; do
- case $a in
- -F|--device-filter)
- filter=1
- procd_append_param command $a
- ;;
- -*)
- if [ $filter -gt 0 ]; then
- procd_append_param command "${filter_expr#\ }"
- filter=0; filter_expr=
- fi
- procd_append_param command $a
- ;;
- *)
- if [ $filter -gt 0 ]; then
- a=${a#\"}; a=${a%\"}; a=${a#\'}; a=${a%\'}
- filter_expr="$filter_expr $a"
- else
- procd_append_param command $a
- fi
- esac
+ case $a in
+ -F|--device-filter)
+ filter=1
+ procd_append_param command $a
+ ;;
+ -*)
+ if [ $filter -gt 0 ]; then
+ procd_append_param command "${filter_expr#\ }"
+ filter=0; filter_expr=
+ fi
+ procd_append_param command $a
+ ;;
+ *)
+ if [ $filter -gt 0 ]; then
+ a=${a#\"}; a=${a%\"}; a=${a#\'}; a=${a%\'}
+ filter_expr="$filter_expr $a"
+ else
+ procd_append_param command $a
+ fi
+ esac
done
if [ $filter -gt 0 ]; then
- procd_append_param command "${filter_expr#\ }"
+ procd_append_param command "${filter_expr#\ }"
fi
}
}
start_netifyd() {
- local autoconfig enabled instance
+ local autoconfig enabled instance options
instance="$1"
config_get_bool enabled "$instance" enabled 0
config_get_bool autoconfig "$instance" autoconfig 1
if [ "$autoconfig" -gt 0 ]; then
- NETIFYD_AUTODETECT=yes
- procd_append_param command "$(auto_detect_options)"
+ NETIFYD_AUTODETECT=yes
+ options="$(auto_detect_options)"
+ [ ! -z "$options" ] && procd_append_param command $options
fi
config_list_foreach "$instance" internal_if append_internal_if
PKG_LICENSE_FILES=LICENSE
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/netopeer2-server
SECTION:=utils
PKG_MAINTAINER:=Peter Stadler <peter.stadler@student.uibk.ac.at>
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
CMAKE_OPTIONS+= -DUBUS=y
CMAKE_OPTIONS+= -DVERSION=$(PKG_VERSION)
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
CMAKE_OPTIONS += -DLIBNL_LIBRARY_TINY=ON
TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include/libnl-tiny
include $(TOPDIR)/rules.mk
PKG_NAME:=ocserv
-PKG_VERSION:=1.1.2
-PKG_RELEASE:=2
+PKG_VERSION:=1.1.3
+PKG_RELEASE:=1
PKG_USE_MIPS16:=0
PKG_BUILD_DIR :=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=ftp://ftp.infradead.org/pub/ocserv/
-PKG_HASH:=889ccdbe8e67d3bc2bc8713b7fbb5bd4e79228abc6054e88858cb4ad6d0245dd
+PKG_HASH:=1ab70c6e6ea36b613e8e171fc03b6081c4312a45ee52cc2959c068c27324107e
PKG_LICENSE:=GPL-2.0-or-later
PKG_LICENSE_FILES:=COPYING
--- /dev/null
+if PACKAGE_openvpn-wolfssl
+
+config OPENVPN_wolfssl
+ bool
+ default y
+ select WOLFSSL_HAS_OPENVPN
+
+config OPENVPN_wolfssl_ENABLE_LZO
+ bool "Enable LZO compression support"
+ default n
+
+config OPENVPN_wolfssl_ENABLE_LZ4
+ bool "Enable LZ4 compression support"
+ default y
+
+config OPENVPN_wolfssl_ENABLE_X509_ALT_USERNAME
+ bool "Enable the --x509-username-field feature"
+ default n
+
+#config OPENVPN_wolfssl_ENABLE_EUREPHIA
+# bool "Enable support for the eurephia plug-in"
+# default n
+
+config OPENVPN_wolfssl_ENABLE_MANAGEMENT
+ bool "Enable management server support"
+ default n
+
+#config OPENVPN_wolfssl_ENABLE_PKCS11
+# bool "Enable pkcs11 support"
+# default n
+
+config OPENVPN_wolfssl_ENABLE_FRAGMENT
+ bool "Enable internal fragmentation support (--fragment)"
+ default y
+
+config OPENVPN_wolfssl_ENABLE_MULTIHOME
+ bool "Enable multi-homed UDP server support (--multihome)"
+ default y
+
+config OPENVPN_wolfssl_ENABLE_PORT_SHARE
+ bool "Enable TCP server port-share support (--port-share)"
+ default y
+
+config OPENVPN_wolfssl_ENABLE_DEF_AUTH
+ bool "Enable deferred authentication"
+ default y
+
+config OPENVPN_wolfssl_ENABLE_PF
+ bool "Enable internal packet filter"
+ default y
+
+config OPENVPN_wolfssl_ENABLE_IPROUTE2
+ bool "Enable support for iproute2"
+ default n
+
+config OPENVPN_wolfssl_ENABLE_SMALL
+ bool "Enable size optimization"
+ default y
+ help
+ enable smaller executable size (disable OCC, usage
+ message, and verb 4 parm list)
+
+endif
PKG_NAME:=openvpn
-PKG_VERSION:=2.5.2
+PKG_VERSION:=2.5.3
PKG_RELEASE:=1
PKG_SOURCE_URL:=\
https://build.openvpn.net/downloads/releases/ \
https://swupdate.openvpn.net/community/releases/
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_HASH:=b12743836901f365efaf82ab2493967e1b21c21eb43ce9a8da1002a17c9c1dc8
+PKG_HASH:=fb6a9943c603a1951ca13e9267653f8dd650c02f84bccd2b9d20f06a4c9c9a7e
PKG_MAINTAINER:=Magnus Kroken <mkroken@gmail.com>
Package/openvpn-openssl=$(call Package/openvpn/Default,openssl,OpenSSL,+PACKAGE_openvpn-openssl:libopenssl)
Package/openvpn-mbedtls=$(call Package/openvpn/Default,mbedtls,mbedTLS,+PACKAGE_openvpn-mbedtls:libmbedtls)
+Package/openvpn-wolfssl=$(call Package/openvpn/Default,wolfssl,WolfSSL \(experimental\),+PACKAGE_openvpn-wolfssl:libwolfssl)
define Package/openvpn/config/Default
source "$(SOURCE)/Config-$(1).in"
Package/openvpn-openssl/config=$(call Package/openvpn/config/Default,openssl)
Package/openvpn-mbedtls/config=$(call Package/openvpn/config/Default,mbedtls)
+Package/openvpn-wolfssl/config=$(call Package/openvpn/config/Default,wolfssl)
ifeq ($(BUILD_VARIANT),mbedtls)
CONFIG_OPENVPN_MBEDTLS:=y
ifeq ($(BUILD_VARIANT),openssl)
CONFIG_OPENVPN_OPENSSL:=y
endif
+ifeq ($(BUILD_VARIANT),wolfssl)
+CONFIG_OPENVPN_WOLFSSL:=y
+endif
CONFIGURE_VARS += \
IPROUTE=/sbin/ip \
$(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_PORT_SHARE),--enable,--disable)-port-share \
$(if $(CONFIG_OPENVPN_OPENSSL),--with-crypto-library=openssl) \
$(if $(CONFIG_OPENVPN_MBEDTLS),--with-crypto-library=mbedtls) \
+ $(if $(CONFIG_OPENVPN_WOLFSSL),--with-crypto-library=wolfssl) \
)
endef
$(eval $(call BuildPackage,openvpn-openssl))
$(eval $(call BuildPackage,openvpn-mbedtls))
+$(eval $(call BuildPackage,openvpn-wolfssl))
--- /dev/null
+From: Gert Doering <gert@greenie.muc.de>
+
+Support for wolfSSL in OpenVPN
+
+This patch adds support for wolfSSL in OpenVPN. Support is added by using
+wolfSSL's OpenSSL compatibility layer. Function calls are left unchanged
+and instead the OpenSSL includes point to wolfSSL headers and OpenVPN is
+linked against the wolfSSL library. The wolfSSL installation directory is
+detected using pkg-config.
+
+As requested by OpenVPN maintainers, this patch does not include
+wolfssl/options.h on its own. By defining the macro EXTERNAL_OPTS_OPENVPN
+in the configure script wolfSSL will include wolfssl/options.h on its own
+(change added in wolfSSL/wolfssl#2825). The patch
+adds an option '--disable-wolfssl-options-h' in case the user would like
+to supply their own settings file for wolfSSL.
+
+wolfSSL:
+Support added in: wolfSSL/wolfssl#2503
+
+git clone https://github.com/wolfSSL/wolfssl.git
+cd wolfssl
+./autogen.sh
+./configure --enable-openvpn
+make
+sudo make install
+
+OpenVPN:
+
+autoreconf -i -v -f
+./configure --with-crypto-library=wolfssl
+make
+make check
+sudo make install
+
+Signed-off-by: Juliusz Sosinowicz <juliusz@wolfssl.com>
+Acked-by: Arne Schwabe <arne@rfc2549.org>
+Message-Id: <20210317181153.83716-1-juliusz@wolfssl.com>
+URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg21686.html
+Signed-off-by: Gert Doering <gert@greenie.muc.de>
+---
+ configure.ac | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
+ src/openvpn/syshead.h | 3 ++-
+ 2 files changed, 110 insertions(+), 3 deletions(-)
+--- a/configure.ac
++++ b/configure.ac
+@@ -271,16 +271,23 @@ AC_ARG_WITH(
+
+ AC_ARG_WITH(
+ [crypto-library],
+- [AS_HELP_STRING([--with-crypto-library=library], [build with the given crypto library, TYPE=openssl|mbedtls @<:@default=openssl@:>@])],
++ [AS_HELP_STRING([--with-crypto-library=library], [build with the given crypto library, TYPE=openssl|mbedtls|wolfssl @<:@default=openssl@:>@])],
+ [
+ case "${withval}" in
+- openssl|mbedtls) ;;
++ openssl|mbedtls|wolfssl) ;;
+ *) AC_MSG_ERROR([bad value ${withval} for --with-crypto-library]) ;;
+ esac
+ ],
+ [with_crypto_library="openssl"]
+ )
+
++AC_ARG_ENABLE(
++ [wolfssl-options-h],
++ [AS_HELP_STRING([--disable-wolfssl-options-h], [Disable including options.h in wolfSSL @<:@default=yes@:>@])],
++ ,
++ [enable_wolfssl_options_h="yes"]
++)
++
+ AC_ARG_VAR([PLUGINDIR], [Path of plug-in directory @<:@default=LIBDIR/openvpn/plugins@:>@])
+ if test -n "${PLUGINDIR}"; then
+ plugindir="${PLUGINDIR}"
+@@ -1026,6 +1033,105 @@ elif test "${with_crypto_library}" = "mb
+ AC_DEFINE([ENABLE_CRYPTO_MBEDTLS], [1], [Use mbed TLS library])
+ CRYPTO_CFLAGS="${MBEDTLS_CFLAGS}"
+ CRYPTO_LIBS="${MBEDTLS_LIBS}"
++
++elif test "${with_crypto_library}" = "wolfssl"; then
++ AC_ARG_VAR([WOLFSSL_CFLAGS], [C compiler flags for wolfssl. The include directory should
++ contain the regular wolfSSL header files but also the
++ wolfSSL OpenSSL header files. Ex: -I/usr/local/include
++ -I/usr/local/include/wolfssl])
++ AC_ARG_VAR([WOLFSSL_LIBS], [linker flags for wolfssl])
++
++ saved_CFLAGS="${CFLAGS}"
++ saved_LIBS="${LIBS}"
++
++ if test -z "${WOLFSSL_CFLAGS}" -a -z "${WOLFSSL_LIBS}"; then
++ # if the user did not explicitly specify flags, try to autodetect
++ PKG_CHECK_MODULES(
++ [WOLFSSL],
++ [wolfssl],
++ [],
++ [AC_MSG_ERROR([Could not find wolfSSL.])]
++ )
++ PKG_CHECK_VAR(
++ [WOLFSSL_INCLUDEDIR],
++ [wolfssl],
++ [includedir],
++ [],
++ [AC_MSG_ERROR([Could not find wolfSSL includedir variable.])]
++ )
++ WOLFSSL_CFLAGS="${WOLFSSL_CFLAGS} -I${WOLFSSL_INCLUDEDIR}/wolfssl"
++ fi
++ saved_CFLAGS="${CFLAGS}"
++ saved_LIBS="${LIBS}"
++ CFLAGS="${CFLAGS} ${WOLFSSL_CFLAGS}"
++ LIBS="${LIBS} ${WOLFSSL_LIBS}"
++
++ AC_CHECK_LIB(
++ [wolfssl],
++ [wolfSSL_Init],
++ [],
++ [AC_MSG_ERROR([Could not link wolfSSL library.])]
++ )
++ AC_CHECK_HEADER([wolfssl/options.h],,[AC_MSG_ERROR([wolfSSL header wolfssl/options.h not found!])])
++
++ # wolfSSL signal EKM support
++ have_export_keying_material="yes"
++
++ AC_DEFINE([HAVE_HMAC_CTX_NEW], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_HMAC_CTX_FREE], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_HMAC_CTX_RESET], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_EVP_MD_CTX_NEW], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_EVP_MD_CTX_FREE], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_EVP_MD_CTX_RESET], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_EVP_CIPHER_CTX_RESET], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_OPENSSL_VERSION], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_SSL_CTX_GET_DEFAULT_PASSWD_CB], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_SSL_CTX_GET_DEFAULT_PASSWD_CB_USERDATA], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_SSL_CTX_SET_SECURITY_LEVEL], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_X509_GET0_NOTBEFORE], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_X509_GET0_NOTAFTER], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_X509_GET0_PUBKEY], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_X509_STORE_GET0_OBJECTS], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_X509_OBJECT_FREE], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_X509_OBJECT_GET_TYPE], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_EVP_PKEY_ID], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_EVP_PKEY_GET0_RSA], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_EVP_PKEY_GET0_DSA], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_EVP_PKEY_GET0_EC_KEY], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_RSA_SET_FLAGS], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_RSA_BITS], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_RSA_GET0_KEY], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_RSA_SET0_KEY], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_DSA_GET0_PQG], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_DSA_BITS], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_RSA_METH_NEW], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_RSA_METH_FREE], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_RSA_METH_SET_PUB_ENC], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_RSA_METH_SET_PUB_DEC], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_RSA_METH_SET_PRIV_ENC], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_RSA_METH_SET_PRIV_DEC], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_RSA_METH_SET_INIT], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_RSA_METH_SET_SIGN], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_RSA_METH_SET_FINISH], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_RSA_METH_SET0_APP_DATA], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_RSA_METH_GET0_APP_DATA], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++ AC_DEFINE([HAVE_EC_GROUP_ORDER_BITS], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros])
++
++ if test "${enable_wolfssl_options_h}" = "yes"; then
++ AC_DEFINE([EXTERNAL_OPTS_OPENVPN], [1], [Include options.h from wolfSSL library])
++ else
++ AC_DEFINE([WOLFSSL_USER_SETTINGS], [1], [Use custom user_settings.h file for wolfSSL library])
++ fi
++
++ have_export_keying_material="yes"
++
++ CFLAGS="${saved_CFLAGS}"
++ LIBS="${saved_LIBS}"
++
++ AC_DEFINE([ENABLE_CRYPTO_WOLFSSL], [1], [Use wolfSSL crypto library])
++ AC_DEFINE([ENABLE_CRYPTO_OPENSSL], [1], [Use wolfSSL openssl compatibility layer])
++ CRYPTO_CFLAGS="${WOLFSSL_CFLAGS}"
++ CRYPTO_LIBS="${WOLFSSL_LIBS}"
+ else
+ AC_MSG_ERROR([Invalid crypto library: ${with_crypto_library}])
+ fi
+--- a/src/openvpn/syshead.h
++++ b/src/openvpn/syshead.h
+@@ -582,7 +582,8 @@ socket_defined(const socket_descriptor_t
+ /*
+ * Do we have CryptoAPI capability?
+ */
+-#if defined(_WIN32) && defined(ENABLE_CRYPTO_OPENSSL)
++#if defined(_WIN32) && defined(ENABLE_CRYPTO_OPENSSL) && \
++ !defined(ENABLE_CRYPTO_WOLFSSL)
+ #define ENABLE_CRYPTOAPI
+ #endif
+
--- a/src/openvpn/ssl_mbedtls.c
+++ b/src/openvpn/ssl_mbedtls.c
-@@ -1535,7 +1535,7 @@ const char *
+@@ -1538,7 +1538,7 @@ const char *
get_ssl_library_version(void)
{
static char mbedtls_version[30];
+++ /dev/null
-From e4bd17c86e01aaf6f809d9ea355419c86c4defdc Mon Sep 17 00:00:00 2001
-From: Max Fillinger <maximilian.fillinger@foxcrypto.com>
-Date: Mon, 12 Apr 2021 19:46:17 +0200
-Subject: [PATCH] Fix build with mbedtls w/o SSL renegotiation support
-
-In mbedtls, support for SSL renegotiation can be disabled at
-compile-time. However, OpenVPN cannot be built with such a library
-because it calls mbedtls_ssl_conf_renegotiation() to disable this
-feature at runtime. This function doesn't exist when mbedtls was built
-without support for SSL renegotiation.
-
-This commit fixes the build by ifdef'ing out the function call when
-mbedtls was built without support for SSL renegotiation.
-
-Signed-off-by: Max Fillinger <maximilian.fillinger@foxcrypto.com>
-Acked-by: Antonio Quartulli <antonio@openvpn.net>
-Message-Id: <E1lW0eX-00012w-9n@sfs-ml-1.v29.lw.sourceforge.com>
-URL: https://www.mail-archive.com/search?l=mid&q=E1lW0eX-00012w-9n@sfs-ml-1.v29.lw.sourceforge.com
-Signed-off-by: Gert Doering <gert@greenie.muc.de>
----
- src/openvpn/ssl_mbedtls.c | 9 ++++++---
- 1 file changed, 6 insertions(+), 3 deletions(-)
-
---- a/src/openvpn/ssl_mbedtls.c
-+++ b/src/openvpn/ssl_mbedtls.c
-@@ -1098,10 +1098,13 @@ key_state_ssl_init(struct key_state_ssl
- {
- mbedtls_ssl_conf_curves(ks_ssl->ssl_config, ssl_ctx->groups);
- }
-- /* Disable TLS renegotiations. OpenVPN's renegotiation creates new SSL
-- * session and does not depend on this feature. And TLS renegotiations have
-- * been problematic in the past */
-+
-+ /* Disable TLS renegotiations if the mbedtls library supports that feature.
-+ * OpenVPN's renegotiation creates new SSL sessions and does not depend on
-+ * this feature and TLS renegotiations have been problematic in the past. */
-+#if defined(MBEDTLS_SSL_RENEGOTIATION)
- mbedtls_ssl_conf_renegotiation(ks_ssl->ssl_config, MBEDTLS_SSL_RENEGOTIATION_DISABLED);
-+#endif /* MBEDTLS_SSL_RENEGOTIATION */
-
- /* Disable record splitting (for now). OpenVPN assumes records are sent
- * unfragmented, and changing that will require thorough review and
--- a/configure.ac
+++ b/configure.ac
-@@ -1077,68 +1077,15 @@ dnl
+@@ -1183,68 +1183,15 @@ dnl
AC_ARG_VAR([LZ4_CFLAGS], [C compiler flags for lz4])
AC_ARG_VAR([LZ4_LIBS], [linker flags for lz4])
if test "$enable_lz4" = "yes" && test "$enable_comp_stub" = "no"; then
"openvpn-mbedtls")
openvpn --version | grep "$2.*SSL (mbed TLS)"
;;
- "openvpn-openssl")
+ "openvpn-openssl"|"openvpn-wolfssl")
openvpn --version | grep "$2.*SSL (OpenSSL)"
;;
esac
include $(TOPDIR)/rules.mk
PKG_NAME:=pdns-recursor
-PKG_VERSION:=4.4.2
+PKG_VERSION:=4.5.2
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://downloads.powerdns.com/releases/
-PKG_HASH:=b0b97f49848a1758b64bc0b99a596c1583ea525477193f3c01905f5163a4f5cf
+PKG_HASH:=b1283d5354f1cbb3d15791f96af3ab3e08a13453431e94fe87b8dbe9f78f0184
-PKG_MAINTAINER:=James Taylor <james@jtaylor.id.au>
+PKG_MAINTAINER:=Peter van Dijk <peter.van.dijk@powerdns.com>
PKG_LICENCE:=GPL-2.0-only
PKG_LICENCE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:powerdns:recursor
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
-PKG_BUILD_DEPENDS:=protobuf/host
include $(INCLUDE_DIR)/package.mk
SUBMENU:=IP Addresses and Names
USERID:=pdns:pdns
TITLE:=PowerDNS Recursor
- DEPENDS:=+boost +boost-context +boost-filesystem +libatomic +liblua +libopenssl +protobuf +libfstrm
+ DEPENDS:=+boost +boost-context +boost-filesystem +libatomic +liblua +libopenssl +libfstrm
URL:=https://www.powerdns.com/recursor.html
endef
/etc/init.d/pdns-recursor
endef
+# not everything groks --disable-nls
+DISABLE_NLS:=
+
CONFIGURE_ARGS += \
+ --enable-option-checking=fatal \
--sysconfdir=/etc/powerdns \
--with-lua=lua \
--without-libcap \
--without-libsodium \
- --with-protobuf \
--without-net-snmp \
--enable-reproducible \
--disable-silent-rules
-CONFIGURE_VARS += \
- boost_cv_lib_context=yes \
- boost_cv_lib_context_LIBS=-lboost_context
-
define Package/pdns-recursor/install
$(INSTALL_DIR) $(1)/etc/powerdns
$(INSTALL_CONF) ./files/recursor.conf-dist $(1)/etc/powerdns/
--- /dev/null
+--- a/configure.ac
++++ b/configure.ac
+@@ -25,8 +25,6 @@ AC_PROG_CC
+ AC_PROG_CXX
+ AC_LANG([C++])
+
+-PDNS_CHECK_TIME_T
+-
+ AC_DEFINE([RECURSOR], [1],
+ [This is the PowerDNS Recursor]
+ )
--- a/Makefile.am
+++ b/Makefile.am
-@@ -452,12 +452,6 @@ $(srcdir)/effective_tld_names.dat:
+@@ -433,12 +433,6 @@ $(srcdir)/effective_tld_names.dat:
pubsuffix.cc: $(srcdir)/effective_tld_names.dat
$(AM_V_GEN)./mkpubsuffixcc
include $(TOPDIR)/rules.mk
PKG_NAME:=pdns
-PKG_VERSION:=4.4.0
+PKG_VERSION:=4.4.1
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://downloads.powerdns.com/releases/
-PKG_HASH:=40cb81d9e0d34edcc7c95435a06125bde0bd1a51692e1db52413e31d7ede0b39
+PKG_HASH:=03fa7c181c666a5fc44a49affe7666bd385d46c1fe15088caff175967e85ab6c
-PKG_MAINTAINER:=James Taylor <james@jtaylor.id.au>
+PKG_MAINTAINER:=Peter van Dijk <peter.van.dijk@powerdns.com>
PKG_LICENCE:=GPL-2.0-only
PKG_LICENCE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:powerdns:authoritative
--enable-reproducible \
$(if $(CONFIG_PACKAGE_pdns-ixfrdist),--enable-ixfrdist,)
-CONFIGURE_VARS += \
- boost_cv_lib_program_options=yes \
- boost_cv_lib_program_options_LIBS=-lboost_program_options
-
define Package/pdns/install
$(INSTALL_DIR) $(1)/etc/powerdns
$(INSTALL_CONF) ./files/pdns.conf-dist $(1)/etc/powerdns/pdns.conf-dist
PKG_LICENSE:=GPL-3.0-only
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
CMAKE_SOURCE_SUBDIR:=src
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/ratechecker
SECTION:=net
include $(TOPDIR)/rules.mk
PKG_NAME:=samba
-PKG_VERSION:=4.13.8
+PKG_VERSION:=4.13.9
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
http://www.nic.funet.fi/index/samba/pub/samba/stable/ \
http://samba.mirror.bit.nl/samba/ftp/stable/ \
https://download.samba.org/pub/samba/stable/
-PKG_HASH:=3347c0c62cc5b1df1fc92d802282e809c354bfb4941a33c91a7fda3795efbf7f
+PKG_HASH:=b97a773ed3b4dae6d5ebd3e09337c897ae898b65f38abad550f852b594d4e07f
PKG_MAINTAINER:=Andy Walsh <andy.walsh44+github@gmail.com>
PKG_LICENSE:=GPL-3.0-only
PKG_CPE_ID:=cpe:/a:snort:snort
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/snort3
SUBMENU:=Firewall
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/nls.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/softethervpn5/Default
SECTION:=net
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/spawn-fcgi
SUBMENU:=Web Servers/Proxies
include $(TOPDIR)/rules.mk
PKG_NAME:=sstp-client
-PKG_VERSION:=1.0.13
-PKG_RELEASE:=1
+PKG_VERSION:=1.0.15
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/sstp-client/$(PKG_VERSION)
-PKG_HASH:=961258fca0795d8ad60b047942cf7cb53d025d353fd1e4ba08c2b75799f5321b
+PKG_HASH:=8484aa51fbfbe418a0ebad58ad20a8ee1c46ed71f800be18bcd23b42e6baad64
PKG_MAINTAINER:=Federico Di Marco <fededim@gmail.com>
PKG_LICENSE:=GPL-2.0-or-later
--- a/src/sstp-client.c
+++ b/src/sstp-client.c
-@@ -477,6 +477,7 @@ static status_t sstp_init_ssl(sstp_clien
+@@ -542,6 +542,7 @@ static status_t sstp_init_ssl(sstp_clien
int retval = SSTP_FAIL;
int status = 0;
/* Initialize the OpenSSL library */
status = SSL_library_init();
if (status != 1)
-@@ -490,6 +491,9 @@ static status_t sstp_init_ssl(sstp_clien
+@@ -555,6 +556,9 @@ static status_t sstp_init_ssl(sstp_clien
/* Create a new crypto context */
client->ssl_ctx = SSL_CTX_new(SSLv23_client_method());
PKG_NAME:=strongswan
PKG_VERSION:=5.9.2
-PKG_RELEASE:=7
+PKG_RELEASE:=11
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://download.strongswan.org/ https://download2.strongswan.org/
pki --self --ca --lifetime "$CADAYS" --in "$SWANCTL_DIR/private/$SHORT_DOMAIN.key" --type "$keytype" \
--dn "$ROOTDN" --outform pem > "$SWANCTL_DIR/x509ca/$SHORT_DOMAIN.crt"
- chmod 0444 "$SWANCTL_DIR/cacerts/$SHORT_DOMAIN.crt"
+ chmod 0444 "$SWANCTL_DIR/x509ca/$SHORT_DOMAIN.crt"
}
genclientkey()
STOP=10
USE_PROCD=1
-PROG=/usr/lib/ipsec/starter
+PROG=/usr/lib/ipsec/charon
. $IPKG_INSTROOT/lib/functions.sh
. $IPKG_INSTROOT/lib/functions/network.sh
local updown
local firewall
local remote_subnet
- local remote_sourceip
local lifetime
local dpdaction
local closeaction
config_get updown "$1" updown ""
config_get firewall "$1" firewall ""
config_get remote_subnet "$1" remote_subnet ""
- config_get remote_sourceip "$1" remote_sourceip ""
config_get lifetime "$1" lifetime ""
config_get dpdaction "$1" dpdaction "none"
config_get closeaction "$1" closeaction "none"
swanctl_xappend4 "life_time = $(seconds2time $(((110 * $(time2seconds $rekeytime)) / 100)))"
fi
[ -n "$rekeytime" ] && swanctl_xappend4 "rekey_time = $rekeytime"
+ [ -n "$inactivity" ] && swanctl_xappend4 "inactivity = $inactivity"
[ -n "$updown" ] && swanctl_xappend4 "updown = $updown"
[ -n "$dpdaction" ] && swanctl_xappend4 "dpd_action = $dpdaction"
local dpddelay
local inactivity
local keyexchange
- local reqid
- local packet_marker
local fragmentation
local mobike
local local_cert
config_get dpddelay "$1" dpddelay "30s"
config_get inactivity "$1" inactivity
config_get keyexchange "$1" keyexchange "ikev2"
- config_get reqid "$1" reqid
- config_get packet_marker "$1" packet_marker
config_get fragmentation "$1" fragmentation "yes"
config_get_bool mobike "$1" mobike 1
config_get local_cert "$1" local_cert ""
swanctl_xappend0 "secrets {"
swanctl_xappend1 "ike {"
swanctl_xappend2 "secret = $pre_shared_key"
- if [ -z "$local_id" ]; then
+ if [ -n "$local_id" ]; then
swanctl_xappend2 "id1 = $local_id"
- if [ -z "$remote_id" ]; then
+ if [ -n "$remote_id" ]; then
swanctl_xappend2 "id2 = $remote_id"
fi
fi
+ swanctl_xappend1 "}"
+ swanctl_xappend0 "}"
else
fatal "AuthenticationMode $auth_mode not supported"
fi
swanctl_xappend0 "# generated by /etc/init.d/swanctl"
}
+append_interface() {
+ append interface_list "$1" " "
+}
+
config_ipsec() {
- local debug
local rtinstall_enabled
- local routing_tables_ignored
local routing_table
local routing_table_id
local interface
- local device_list
config_get debug "$1" debug 0
config_get_bool rtinstall_enabled "$1" rtinstall_enabled 1
[ -n "$routing_table_id" ] && append routing_tables_ignored "$routing_table_id"
done
- local interface_list=$(config_get "$1" "interface")
+ local interface_list
+ config_list_foreach "$1" interface append_interface
+
if [ -z "$interface_list" ]; then
WAIT_FOR_INTF=0
else
swanctl_reset
do_preamble
+ # needed by do_postamble
+ local debug install_routes routing_tables_ignored device_list
+
config_load ipsec
config_foreach config_ipsec ipsec
config_foreach config_remote remote
procd_open_instance
- procd_set_param command $PROG --daemon charon --nofork
+ procd_set_param command $PROG
procd_set_param file $SWANCTL_CONF_FILE
procd_append_param file /etc/swanctl/conf.d/*.conf
include $(TOPDIR)/rules.mk
PKG_NAME:=stubby
-PKG_VERSION:=0.3.0
-PKG_RELEASE:=1
+PKG_VERSION:=0.4.0
+PKG_RELEASE:=2
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/getdnsapi/$(PKG_NAME)
PKG_SOURCE_VERSION:=v$(PKG_VERSION)
-PKG_MIRROR_HASH:=f1585aa6881bf39c2c8f99df045d5739bb78403417a1e827644cb202fa4280f0
+PKG_MIRROR_HASH:=bc5f604da1b70287a6c3d89eac2e13ce8bca52840e7b72ab098a3deeb9935082
-PKG_MAINTAINER:=Jonathan Underwood <jonathan.underwood@gmail.com>
+PKG_MAINTAINER:=
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=COPYING
-CMAKE_INSTALL:=1
-
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/stubby/Default
TITLE:=stubby
/etc/config/stubby
endef
+define Build/Prepare
+ $(call Build/Prepare/Default)
+ rm $(PKG_BUILD_DIR)/cmake/modules/FindLibidn2.cmake $(PKG_BUILD_DIR)/cmake/modules/FindLibunbound.cmake
+endef
+
define Package/stubby/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/stubby $(1)/usr/sbin/stubby
+++ /dev/null
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -115,14 +115,26 @@ install(FILES AUTHORS COPYING ChangeLog
-
- # Ensure the file gets CRLF line endings on Windows.
- file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/stubby.yml INPUT ${CMAKE_CURRENT_SOURCE_DIR}/stubby.yml.example)
--# Copy to destination iff no destination file exists.
-+
-+# Copy stubby.yml to destination iff no destination file exists.
-+# This is complicated by (a) not being able to use generators, due to
-+# CMake minimum version requirement, and (b) to account for DESTDIR.
-+# And in the latter case, if we're adding DESTDIR to the start of the
-+# path, we must on Windows remove any initial drive letter. That's what
-+# INSTALL appears to do.
- install(CODE "\
-- set(targetdir ${STUBBYCONFDIR})\n\
-- if (\$ENV{DESTDIR})\n\
-- set(targetdir \$ENV{DESTDIR}/\${targetdir})\n\
-+ set(targetdir \"${STUBBYCONFDIR}\")\n\
-+ set(destdir \"\$ENV{DESTDIR}\")\n\
-+ if (destdir)\n\
-+ string(REGEX REPLACE \"^([A-Z]:)?/(.*)\" \"\\\\2\" newtarget \"\${targetdir}\")\n\
-+ if (newtarget)\n\
-+ set(targetdir \"\${newtarget}\")\n\
-+ endif ()\n\
-+ set(targetdir \"\${destdir}/\${newtarget}\")\n\
- endif ()\n\
-- if (NOT EXISTS \${targetdir}/stubby.yml)\n\
-- file(COPY ${CMAKE_CURRENT_BINARY_DIR}/stubby.yml DESTINATION \${targetdir})\n\
-+ if (NOT EXISTS \"\${targetdir}/stubby.yml\")\n\
-+ file(COPY \"${CMAKE_CURRENT_BINARY_DIR}/stubby.yml\" DESTINATION \"\${targetdir}\")\n\
-+ message(\"-- Installing: \${targetdir}/stubby.yml\")\n\
- endif ()")
-
- if (APPLE)
PYTHON3_PKG_BUILD:=0
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
include ../../lang/python/python3-package.mk
define Package/libsysrepo
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/umurmur/Default
SECTION:=net
endif
endef
+CONFIGURE_VARS += UNAME=Linux
+
CONFIGURE_ARGS += \
--disable-dsa \
--disable-gost \
--- /dev/null
+--- a/configure.ac
++++ b/configure.ac
+@@ -765,7 +765,7 @@ if test x_$ub_test_python != x_no; then
+ fi
+ fi
+
+-if test "`uname`" = "NetBSD"; then
++if test "${UNAME:-`uname`}" = "NetBSD"; then
+ NETBSD_LINTFLAGS='"-D__RENAME(x)=" -D_NETINET_IN_H_'
+ AC_SUBST(NETBSD_LINTFLAGS)
+ fi
+@@ -1210,7 +1210,7 @@ esac
+ AC_ARG_ENABLE(tfo-client, AS_HELP_STRING([--enable-tfo-client],[Enable TCP Fast Open for client mode]))
+ case "$enable_tfo_client" in
+ yes)
+- case `uname` in
++ case ${UNAME:-`uname`} in
+ Linux) AC_CHECK_DECL([MSG_FASTOPEN], [AC_MSG_WARN([Check the platform specific TFO kernel parameters are correctly configured to support client mode TFO])],
+ [AC_MSG_ERROR([TCP Fast Open is not available for client mode: please rerun without --enable-tfo-client])],
+ [AC_INCLUDES_DEFAULT
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/vallumd
SECTION:=net
include $(TOPDIR)/rules.mk
PKG_NAME:=vsftpd
-PKG_VERSION:=3.0.3
-PKG_RELEASE:=3
+PKG_VERSION:=3.0.4
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://security.appspot.com/downloads/
-PKG_HASH:=9d4d2bf6e6e2884852ba4e69e157a2cecd68c5a7635d66a3a8cf8d898c955ef7
+PKG_HASH:=6b9421bd27e8a6cdeed5b31154f294a20b003a11a26c09500715a0a6b1b86a26
PKG_MAINTAINER:=Cezary Jackiewicz <cezary@eko.one.pl>
PKG_LICENSE:=GPLv2
--- a/tunables.c
+++ b/tunables.c
-@@ -254,7 +254,7 @@ tunables_load_defaults()
+@@ -261,7 +261,7 @@ tunables_load_defaults()
/* -rw------- */
tunable_chown_upload_mode = 0600;
#include <errno.h>
#include <limits.h>
-@@ -59,8 +62,12 @@ ssl_init(struct vsf_session* p_sess)
+@@ -66,8 +69,12 @@ ssl_init(struct vsf_session* p_sess)
SSL_CTX* p_ctx;
long options;
int verify_option = 0;
if (p_ctx == NULL)
{
die("SSL: could not allocate SSL context");
-@@ -120,6 +127,7 @@ ssl_init(struct vsf_session* p_sess)
+@@ -139,6 +146,7 @@ ssl_init(struct vsf_session* p_sess)
{
die("SSL: RNG is not seeded");
}
{
EC_KEY* key = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
if (key == NULL)
-@@ -129,6 +137,7 @@ ssl_init(struct vsf_session* p_sess)
+@@ -148,6 +156,7 @@ ssl_init(struct vsf_session* p_sess)
SSL_CTX_set_tmp_ecdh(p_ctx, key);
EC_KEY_free(key);
}
if (tunable_ssl_request_cert)
{
verify_option |= SSL_VERIFY_PEER;
-@@ -660,7 +669,9 @@ ssl_cert_digest(SSL* p_ssl, struct vsf_s
+@@ -685,7 +694,9 @@ ssl_cert_digest(SSL* p_ssl, struct vsf_s
static char*
get_ssl_error()
{
/etc/config/xray
endef
-GEOIP_VER:=202104010913
+GEOIP_VER:=202106030115
GEOIP_FILE:=geoip.dat.$(GEOIP_VER)
define Download/geoip
URL:=https://github.com/v2fly/geoip/releases/download/$(GEOIP_VER)/
URL_FILE:=geoip.dat
FILE:=$(GEOIP_FILE)
- HASH:=f94e464f7f37e6f3c88c2aa5454ab02a4b840bc44c75c5001719a618916906cf
+ HASH:=acf231d7c6461d088ae479fe0c1cb143b5ee3cf7048a897c5a9b7807ab7005df
endef
-GEOSITE_VER:=20210401091829
+GEOSITE_VER:=20210531212831
GEOSITE_FILE:=dlc.dat.$(GEOSITE_VER)
define Download/geosite
URL:=https://github.com/v2fly/domain-list-community/releases/download/$(GEOSITE_VER)/
URL_FILE:=dlc.dat
FILE:=$(GEOSITE_FILE)
- HASH:=ee9778dc00b703905ca1f400ad13dd462eae52c5aee6465f0a7543b0232c9d08
+ HASH:=332bbe53af49582dbf89bda04ee5e60e474f9293fc368ab55b517fdcd4a78ed2
endef
define Build/Prepare
config xray 'enabled'
option enabled '0'
- option fullcone '1'
config xray 'config'
option confdir '/etc/xray'
local datadir
local dialer
local format
- local fullcone
config_get confdir "config" "confdir"
config_get conffiles "config" "conffiles"
config_get datadir "config" "datadir" "/usr/share/xray"
config_get dialer "config" "dialer"
config_get format "config" "format" "json"
- config_get fullcone "enabled" "fullcone" "0"
procd_open_instance "$CONF"
procd_set_param command "$PROG" run
}
[ -n "$format" ] && procd_append_param command -format "$format"
[ -n "$dialer" ] && procd_set_param env XRAY_BROWSER_DIALER="$dialer"
- [ "$fullcone" -eq "0" ] && procd_set_param env XRAY_CONE_DISABLED="true"
procd_set_param env XRAY_LOCATION_ASSET="$datadir"
procd_set_param file $conffiles
PKG_NAME:=yggdrasil
PKG_VERSION:=0.3.16
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/yggdrasil-network/yggdrasil-go/tar.gz/v$(PKG_VERSION)?
set firewall.@rule[-1].target=ACCEPT
EOF
+ # allow LuCI access with SSL from yggdrasil zone, needs to be explicitly enabled
+ uci -q batch <<-EOF >/dev/null
+ add firewall rule
+ set firewall.@rule[-1].enabled=0
+ set firewall.@rule[-1].name='Allow-HTTPS-yggdrasil'
+ set firewall.@rule[-1].src=yggdrasil
+ set firewall.@rule[-1].proto=tcp
+ set firewall.@rule[-1].dest_port=443
+ set firewall.@rule[-1].target=ACCEPT
+EOF
+
uci commit firewall
uci commit network
PKG_CONFIG_DEPENDS += $(patsubst %,CONFIG_PACKAGE_%,$(ZNC_MODULES))
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
CMAKE_OPTIONS += \
-DWANT_ICU=O$(if $(CONFIG_ZNC_ICU),N,FF) \
include $(TOPDIR)/rules.mk
PKG_NAME:=alsa-utils
-PKG_VERSION:=1.2.4
-PKG_RELEASE:=1
+PKG_VERSION:=1.2.5
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=ftp://ftp.alsa-project.org/pub/utils/ \
http://distfiles.gentoo.org/distfiles/
-PKG_HASH:=98ffc2d599de0577d423a48fa5f20a992ca0b82d812ed1f2e58ade49ac6da426
+PKG_HASH:=09970af05838b30001ca93ba27cb85b24c45056c70a80066c3ece6abe5a19997
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
PKG_LICENSE:=GPL-2.0-or-later
include $(TOPDIR)/rules.mk
PKG_NAME:=mpd
-PKG_VERSION:=0.22.6
-PKG_RELEASE:=4
+PKG_VERSION:=0.22.8
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.musicpd.org/download/mpd/0.22/
-PKG_HASH:=2be149a4895c3cb613477f8cf1193593e3d8a1d38a75ffa7d32da8c8316a4d5e
+PKG_HASH:=9617ed08c9ffafcf5f925819251f6b90df3f4f73cf2838c41033e1962104286d
PKG_MAINTAINER:=
PKG_LICENSE:=GPL-2.0-or-later
for (unsigned i = 0; i < unsigned(TAG_NUM_OF_ITEM_TYPES); ++i)
names[tag_item_names[i]] = TagType(i);
-@@ -61,7 +67,7 @@ main(int argc, char **argv)
- char first = 0;
-
- for (const auto &i : names) {
-- const std::string_view name = i.first;
-+ const string_view name = i.first;
- const TagType tag = i.second;
-
- if (name.front() != first) {
include $(TOPDIR)/rules.mk
PKG_NAME:=mpg123
-PKG_VERSION:=1.26.3
-PKG_RELEASE:=3
+PKG_VERSION:=1.27.2
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@SF/mpg123
-PKG_HASH:=30c998785a898f2846deefc4d17d6e4683a5a550b7eacf6ea506e30a7a736c6e
+PKG_HASH:=52f6ceb962c05db0c043bb27acf5a721381f5f356ac4610e5221f50293891b04
PKG_MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu>
PKG_LICENSE_FILES:=COPYING
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/portaudio
SECTION:=sound
include $(TOPDIR)/rules.mk
PKG_NAME:=shairport-sync
-PKG_VERSION:=3.3.7
-PKG_RELEASE:=1
+PKG_VERSION:=3.3.8
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/mikebrady/shairport-sync/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=7f8d4ecec53f2f681a962467bf09205568fc936c8c31a9ee07b1bd72d3d95b12
+PKG_HASH:=c92f9a2d86dd1138673abc66e0010c94412ad6a46da8f36c3d538f4fa6b9faca
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>, \
Mike Brady <mikebrady@eircom.net>
CONFIGURE_ARGS += \
--with-alsa \
+ --with-libdaemon \
--with-metadata
ifeq ($(BUILD_VARIANT),openssl)
endif
--- a/configure.ac
+++ b/configure.ac
-@@ -19,7 +19,6 @@ with_os=`echo ${with_os} | tr '[[:upper:
+@@ -23,7 +23,6 @@ fi
# Checks for programs.
AC_PROG_CC
include $(TOPDIR)/rules.mk
PKG_NAME:=upmpdcli
-PKG_VERSION:=1.5.11
+PKG_VERSION:=1.5.12
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://www.lesbonscomptes.com/upmpdcli/downloads
-PKG_HASH:=7c8c6ab866114699405223c60457448dcce35fc13e1e374f68b60eefc55f4f04
+PKG_HASH:=1d7b6ab360c2549a7e3eff4f261471761dd837e18327a3ca29de1981c090ff3b
PKG_MAINTAINER:=
PKG_LICENSE:=LGPL-2.1-or-later
source "$(SOURCE)/Config.in"
endef
-TARGET_LDFLAGS += $(if $(CONFIG_USE_GLIBC),-lm)
-
define Package/upmpdcli/conffiles
/etc/config/upmpdcli
endef
--- /dev/null
+# SPDX-License-Identifier: GPL-2.0-only
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=apparmor
+PKG_VERSION:=3.0.1
+PKG_RELEASE:=$(AUTORELEASE)
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://gitlab.com/apparmor/apparmor.git
+PKG_SOURCE_VERSION:=0325ba06da6eeb5acf3e568063a08136fd0913e0
+PKG_MIRROR_HASH:=303ceca041ad8023fa44cdda366448d60b6299790266834b4078d30b70ad27f9
+
+PKG_LICENSE:=GPL-2.0-only
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Oskari Rauta <oskari.rauta@gmail.com>
+
+PKG_BUILD_DEPENDS:=swig/host
+HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=setuptools-scm
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/nls.mk
+include ../../../packages/lang/python/python3-package.mk
+
+define Package/apparmor/Default
+ SECTION:=utils
+ CATEGORY:=Utilities
+ SUBMENU:=AppArmor
+ URL:=https://apparmor.net
+endef
+
+define Package/libapparmor
+ TITLE:=AppArmor library
+ SECTION:=libs
+ CATEGORY:=Libraries
+ URL:=https://apparmor.net
+endef
+
+define Package/python3-apparmor
+ TITLE:=AppArmor Python bindings
+ SECTION:=lang
+ CATEGORY:=Languages
+ SUBMENU:=Python
+ URL:=https://apparmor.net
+ DEPENDS:=+libapparmor +python3
+endef
+
+define Package/apparmor-utils
+ $(call Package/apparmor/Default)
+ TITLE:=AppArmor utils
+ DEPENDS:=$(INTL_DEPENDS) +libapparmor +python3-apparmor +python3 +python3-readline +python3-psutil +ss +findutils-xargs
+endef
+
+define Package/apparmor-profiles
+ $(call Package/apparmor/Default)
+ TITLE:=AppArmor default profiles
+endef
+
+define Package/libapparmor/description
+ Library to support AppArmor userspace utilities
+endef
+
+define Package/apparmor-utils/description
+ AppArmor application security system init script and
+ userspace utils to assist with AppArmor profile management
+endef
+
+define Package/apparmor-profiles/description
+ A collection of profiles for the AppArmor application security system
+endef
+
+CONFIGURE_PATH=libraries/libapparmor
+
+TARGET_LDFLAGS += \
+ -L$(PYTHON3_LIB_DIR)
+
+CONFIGURE_VARS += \
+ SHELL=$(bash) \
+ PYTHON_VERSION=$(PYTHON3_VERSION) \
+ PYTHON_VERSIONS=$(PYTHON3) \
+ PYTHON=$(PYTHON3) \
+ PYTHON_CONFIG=$(STAGING_DIR_ROOT)/host/bin/python$(PYTHON3_VERSION)-config \
+ PYTHON_LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(PYTHON3_LIB_DIR)" \
+ PYTHON_CPPFLAGS="-I$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION)" \
+ PYTHON_LDFLAGS="-I$(PYTHON3_INC_DIR) -L$(STAGING_DIR)/usr/lib -L$(PYTHON3_LIB_DIR)" \
+ PYTHON_EXTRA_LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(PYTHON3_LIB_DIR)/config-$(PYTHON3_VERSION) -lpthread -ldl -lm -lz -lpython$(PYTHON3_VERSION)" \
+ ac_cv_path_PYTHON_CONFIG="$(STAGING_DIR)/host/bin/python$(PYTHON3_VERSION)-config"
+
+CONFIGURE_ARGS += \
+ --with-python \
+ --without-perl \
+ --without-ruby \
+ --disable-man-pages
+
+ifeq ($(CONFIG_BUILD_NLS),y)
+ MAKE_VARS += WITH_LIBINTL=1
+ MAKE_FLAGS += WITH_LIBINTL=1
+endif
+
+APPARMOR_CFLAGS = -I$(PKG_BUILD_DIR)/libraries/libapparmor/include
+APPARMOR_LDFLAGS = -L$(PKG_BUILD_DIR)/libraries/libapparmor/src/.libs
+
+define Build/Configure
+ $(MAKE) -C $(PKG_BUILD_DIR)/libraries/libapparmor configure
+ $(RM) $(PKG_BUILD_DIR)/libraries/libapparmor/Makefile
+ $(SED) 's#ac_cv_path_PYTHON_CONFIG=#ac_cv_path_X_PYTHON_CONFIG=#g' $(PKG_BUILD_DIR)/libraries/libapparmor/configure
+ $(call Build/Configure/Default)
+endef
+
+define Build/Compile
+ # Building libapparmor
+ +$(MAKE_VARS) \
+ CFLAGS="$(TARGET_CFLAGS)" CPPFLAGS="$(TARGET_CPPFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)" $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/libraries/libapparmor \
+ $(MAKE_FLAGS)
+ # Building parser
+ +$(MAKE_VARS) PYTHON=$(HOST_PYTHON) \
+ CFLAGS="$(TARGET_CFLAGS) $(APPARMOR_CFLAGS)" CPPFLAGS="$(TARGET_CPPFLAGS) $(APPARMOR_CFLAGS)" LDFLAGS="$(TARGET_LDFLAGS) $(APPARMOR_LDFLAGS) -lgcc_s" USE_SYSTEM=0 $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/parser \
+ $(MAKE_FLAGS) apparmor_parser
+ # Building binutils
+ +$(MAKE_VARS) PYTHON=$(HOST_PYTHON) \
+ CFLAGS="$(TARGET_CFLAGS) $(APPARMOR_CFLAGS)" CPPFLAGS="$(TARGET_CPPFLAGS) $(APPARMOR_CFLAGS)" LDFLAGS="$(TARGET_LDFLAGS) $(APPARMOR_LDFLAGS)" USE_SYSTEM=0 $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/binutils \
+ $(MAKE_FLAGS)
+ # Building utils
+ +$(MAKE_VARS) PYTHON=$(HOST_PYTHON) \
+ CFLAGS="$(TARGET_CFLAGS) $(APPARMOR_CFLAGS)" CPPFLAGS="$(TARGET_CPPFLAGS) $(APPARMOR_CFLAGS)" LDFLAGS="$(TARGET_LDFLAGS) $(APPARMOR_LDFLAGS)" USE_SYSTEM=0 $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/utils \
+ $(MAKE_FLAGS)
+ # Building profiles
+ +$(MAKE_VARS) PYTHON=$(HOST_PYTHON) \
+ CFLAGS="$(TARGET_CFLAGS) $(APPARMOR_CFLAGS)" CPPFLAGS="$(TARGET_CPPFLAGS) $(APPARMOR_CFLAGS")" LDFLAGS="$(TARGET_LDFLAGS) $(APPARMOR_LDFLAGS)" USE_SYSTEM=0 $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/profiles \
+ $(MAKE_FLAGS)
+endef
+
+define Build/Install
+ # Make sure we have python's setup tools installed
+ $(if $(PYTHON3_PKG_HOST_PIP_INSTALL_ARGS), \
+ $(call HostPython3/PipInstall,$(PYTHON3_PKG_HOST_PIP_INSTALL_ARGS)) \
+ )
+ $(INSTALL_DIR) $(PKG_INSTALL_DIR)-libapparmor $(PKG_INSTALL_DIR)-utils $(PKG_INSTALL_DIR)-profiles
+ # Installing libapparmor
+ +$(MAKE_VARS) PYTHON=$(HOST_PYTHON) VERSION=$(PYTHON3_VERSION) \
+ CFLAGS="$(TARGET_CFLAGS)" CPPFLAGS="$(TARGET_CPPFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)" \
+ $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/libraries/libapparmor \
+ $(MAKE_FLAGS) DESTDIR="$(PKG_INSTALL_DIR)-libapparmor" install
+ # Installing parser
+ +$(MAKE_VARS) PYTHON=$(HOST_PYTHON) VERSION=$(PYTHON3_VERSION) \
+ CFLAGS="$(TARGET_CFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)" USE_SYSTEM=1 $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/parser \
+ $(MAKE_FLAGS) DESTDIR="$(PKG_INSTALL_DIR)-utils" install
+ # Installing binutils
+ +$(MAKE_VARS) PYTHON=$(HOST_PYTHON) VERSION=$(PYTHON3_VERSION) \
+ CFLAGS="$(TARGET_CFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)" USE_SYSTEM=1 $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/binutils \
+ $(MAKE_FLAGS) DESTDIR="$(PKG_INSTALL_DIR)-utils" install
+ # Installing utils
+ +$(MAKE_VARS) PYTHON=$(HOST_PYTHON) VERSION=$(PYTHON3_VERSION) \
+ CFLAGS="$(TARGET_CFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)" USE_SYSTEM=1 $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/utils \
+ $(MAKE_FLAGS) DESTDIR="$(PKG_INSTALL_DIR)-utils" install
+ # Installing profiles
+ +$(MAKE_VARS) PYTHON=$(HOST_PYTHON) VERSION=$(PYTHON3_VERSION) \
+ CFLAGS="$(TARGET_CFLAGS)" LDFLAGS="$(TARGET_LDFLAGS)" USE_SYSTEM=1 $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/profiles \
+ $(MAKE_FLAGS) DESTDIR="$(PKG_INSTALL_DIR)-profiles" install
+endef
+
+define Package/libapparmor/install
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)-libapparmor/usr/lib/libapparmor.so.1 $(1)/usr/lib/
+ $(LN) libapparmor.so.1 $(1)/usr/lib/libapparmor.so
+endef
+
+define Package/python3-apparmor/install
+ $(INSTALL_DIR) \
+ $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages \
+ $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/LibAppArmor
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)-libapparmor/usr/lib/python$(PYTHON3_VERSION)/site-packages/*.egg-info \
+ $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)-libapparmor/usr/lib/python$(PYTHON3_VERSION)/site-packages/LibAppArmor/*.py \
+ $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/LibAppArmor
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)-libapparmor/usr/lib/python$(PYTHON3_VERSION)/site-packages/LibAppArmor/*.so \
+ $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/LibAppArmor/
+ $(LN) -s _LibAppArmor.cpython-$(PYTHON3_VERSION_MAJOR)$(PYTHON3_VERSION_MINOR).so \
+ $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/LibAppArmor/_LibAppArmor.so
+endef
+
+define Package/apparmor-utils/install
+ $(INSTALL_DIR) $(1)/etc/apparmor $(1)/usr/sbin $(1)/sbin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)-utils/sbin/apparmor_parser $(1)/sbin/
+ $(INSTALL_CONF) $(PKG_INSTALL_DIR)-utils/etc/apparmor/*.conf $(1)/etc/apparmor/
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)-utils/etc/apparmor/severity.db $(1)/etc/apparmor/
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)-utils/sbin/apparmor_parser $(1)/sbin/
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)-utils/usr/bin/{aa-exec,aa-easyprof,aa-enabled,aa-features-abi} $(1)/usr/sbin/
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)-utils/usr/sbin/{aa-audit,aa-autodep,aa-cleanprof,aa-complain,aa-decode,aa-disable,aa-enforce,aa-genprof,aa-logprof,aa-mergeprof,aa-notify,aa-remove-unknown,aa-status,aa-unconfined} $(1)/usr/sbin/
+ $(LN) aa-status $(1)/usr/sbin/apparmor_status
+ $(INSTALL_DIR) $(1)/usr/share/apparmor/easyprof/templates $(1)/usr/share/apparmor/easyprof/policygroups
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)-utils/usr/share/apparmor/easyprof/templates/* $(1)/usr/share/apparmor/easyprof/templates/
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)-utils/usr/share/apparmor/easyprof/policygroups/* $(1)/usr/share/apparmor/easyprof/policygroups/
+ $(INSTALL_DIR) $(1)/usr/lib/python3.9/site-packages $(1)/usr/lib/python3.9/site-packages/apparmor $(1)/usr/lib/python3.9/site-packages/apparmor/rule
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)-utils/usr/lib/python3.9/site-packages/*.egg-info \
+ $(1)/usr/lib/python3.9/site-packages/
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)-utils/usr/lib/python3.9/site-packages/apparmor/*.py \
+ $(1)/usr/lib/python3.9/site-packages/apparmor/
+ $(INSTALL_DATA) $(PKG_INSTALL_DIR)-utils/usr/lib/python3.9/site-packages/apparmor/rule/*.py \
+ $(1)/usr/lib/python3.9/site-packages/apparmor/rule
+ $(INSTALL_DIR) $(1)/etc/init.d $(1)/lib/functions
+ $(INSTALL_BIN) ./files/apparmor.sh $(1)/lib/functions/
+ $(INSTALL_BIN) ./files/apparmor.init $(1)/etc/init.d/apparmor
+endef
+
+define Package/apparmor-profiles/install
+ $(INSTALL_DIR) $(1)/etc/apparmor.d $(1)/usr/share/apparmor/extra-profiles
+ $(CP) -aR $(PKG_INSTALL_DIR)-profiles/etc/apparmor.d/** $(1)/etc/apparmor.d/
+ $(INSTALL_CONF) $(PKG_INSTALL_DIR)-profiles/usr/share/apparmor/extra-profiles/** $(1)/usr/share/apparmor/extra-profiles/
+endef
+
+$(eval $(call BuildPackage,libapparmor))
+$(eval $(call BuildPackage,python3-apparmor))
+$(eval $(call BuildPackage,apparmor-utils))
+$(eval $(call BuildPackage,apparmor-profiles))
--- /dev/null
+#!/bin/sh /etc/rc.common
+
+START=75
+USE_PROCD=1
+
+. /lib/functions/apparmor.sh
+
+restart() {
+ apparmor_restart
+}
+
+start_service() {
+ apparmor_start
+}
+
+stop_service() {
+ apparmor_stop
+}
+
+reload_service() {
+ apparmor_reload
+}
--- /dev/null
+#!/bin/sh
+
+log_write() {
+ local facility=kern.$1
+ logger -t AppArmor -p $facility "$2"
+}
+
+AA_STATUS=/usr/sbin/aa-status
+SECURITYFS=/sys/kernel/security
+SFS_MOUNTPOINT="${SECURITYFS}/apparmor"
+PARSER=/sbin/apparmor_parser
+PARSER_OPTS=
+ADDITIONAL_PROFILE_DIR=
+
+[ -d /etc/apparmor.d ] && PROFILE_DIRS=/etc/apparmor.d ||
+ log_write warning "Unable to find profiles: /etc/apparmor.d"
+
+[ -n "$ADDITIONAL_PROFILE_DIR" ] && [ -d "$ADDITIONAL_PROFILE_DIR" ] &&
+ PROFILE_DIRS="$PROFILE_DIRS $ADDITIONAL_PROFILE_DIR"
+
+dir_is_empty() {
+ [ "$(du -s $1 | cut -f 1)" -eq 0 ] && return 0 || return 1
+}
+
+profiles_loaded_count() {
+
+ [ -f ${SFS_MOUNTPOINT}/profiles ] &&
+ return $(cat "${SFS_MOUNTPOINT}/profiles" | wc -l) || return 0
+}
+
+is_profiles_loaded() {
+
+ [ -f ${SFS_MOUNTPOINT}/profiles ] && {
+ rc=$(cat "${SFS_MOUNTPOINT}/profiles" | wc -l)
+ [ "$rc" -ne 0 ] && return 0 || return 1
+ }
+ return 1
+}
+
+is_container_with_internal_policy() {
+
+ local ns_stacked_path="${SFS_MOUNTPOINT}/.ns_stacked"
+ local ns_name_path="${SFS_MOUNTPOINT}/.ns_name"
+ local ns_stacked
+ local ns_name
+
+ if ! [ -f "$ns_stacked_path" ] || ! [ -f "$ns_name_path" ]; then
+ return 1
+ fi
+
+ read -r ns_stacked < "$ns_stacked_path"
+ if [ "$ns_stacked" != "yes" ]; then
+ return 1
+ fi
+
+ # LXD and LXC set up AppArmor namespaces starting with "lxd-" and
+ # "lxc-", respectively. Return non-zero for all other namespace
+ # identifiers.
+
+ read -r ns_name < "$ns_name_path"
+ if [ "${ns_name#lxd-*}" = "$ns_name" ] && \
+ [ "${ns_name#lxc-*}" = "$ns_name" ]; then
+ return 1
+ fi
+
+ return 0
+}
+
+skip_profile() {
+
+ local profile="$1"
+
+ if [ "${profile%.rpmnew}" != "$profile" ] || \
+ [ "${profile%.rpmsave}" != "$profile" ] || \
+ [ "${profile%.orig}" != "$profile" ] || \
+ [ "${profile%.rej}" != "$profile" ] || \
+ [ "${profile%\~}" != "$profile" ] ; then
+ return 1
+ fi
+
+ # Silently ignore the dpkg, pacman, ipk and xbps files
+
+ if [ "${profile%.dpkg-new}" != "$profile" ] || \
+ [ "${profile%.dpkg-old}" != "$profile" ] || \
+ [ "${profile%.dpkg-dist}" != "$profile" ] || \
+ [ "${profile%.dpkg-bak}" != "$profile" ] || \
+ [ "${profile%.dpkg-remove}" != "$profile" ] || \
+ [ "${profile%.ipk}" != "$profile" ] || \
+ [ "${profile%.ipk-new}" != "$profile" ] || \
+ [ "${profile%.ipk-old}" != "$profile" ] || \
+ [ "${profile%.ipk-dist}" != "$profile" ] || \
+ [ "${profile%.ipk-bak}" != "$profile" ] || \
+ [ "${profile%.ipk-remove}" != "$profile" ] || \
+ [ "${profile%.pacsave}" != "$profile" ] || \
+ [ "${profile%.pacnew}" != "$profile" ] ; then
+ return 2
+ fi
+
+ $(echo "$profile" | grep -E -q '^.+\.new-[0-9\.]+_[0-9]+$'); [ "$?" -eq 0 ] && return 2
+
+ return 0
+}
+
+__parse_profiles_dir() {
+
+ local parser_cmd="$1"
+ local profile_dir="$2"
+ local status=0
+
+ [ -x "$PARSER" ] || {
+ log_write err "Unable to execute AppArmor parser"
+ return 1
+ }
+
+ [ -d "$profile_dir" ] || {
+ log_write warning "AppArmor profiles not found: $profile_dir"
+ return 1
+ }
+
+ dir_is_empty "$profile_dir"; [ "$?" -eq 0 ] && {
+ log_write err "No profiles found in $profile_dir"
+ return 1
+ }
+
+ local nprocs=$(cat /proc/cpuinfo |grep "processor\t:"|wc -l)
+ local rc=0
+ local xargs_args=""
+ [ "$nprocs" -ge 2 ] && xargs_args="--max-procs=$nprocs"
+
+ "$PARSER" $PARSER_OPTS "$parser_cmd" -- "$profile_dir" || {
+
+ for profile in "$profile_dir"/*; do
+ skip_profile "$profile"
+ skip=$?
+ [ "$skip" -ne 0 ] && {
+ [ "$skip" -ne 2 ] && log_write info "Skipped loading profile $profile"
+ continue
+ }
+ [ -f "$profile" ] || continue
+ echo "$profile"
+ done | \
+
+ # Use xargs to parallelize calls to the parser over all CPUs
+
+ /usr/libexec/xargs-findutils -n1 -d"\n" $xargs_args \
+ "$PARSER" $PARSER_OPTS "$parser_cmd" --
+
+ [ "$?" -ne 0 ] && {
+ rc=1
+ log_write err "At least one profile failed to load"
+ }
+ }
+
+ return $rc
+}
+
+parse_profiles() {
+
+ case "$1" in
+ load)
+ PARSER_CMD="--add"
+ PARSER_MSG="Loading profiles"
+ ;;
+ reload)
+ PARSER_CMD="--replace"
+ PARSER_MSG="Reloading profiles"
+ ;;
+ *)
+ log_write err "Unknown parameter $1"
+ log_write info "parse_profiles parameter must be either 'load' or 'reload'"
+ return 1
+ ;;
+ esac
+
+ log_write info "$PARSER_MSG"
+
+ [ -w "$SFS_MOUNTPOINT/.load" ] || {
+ log_write err "${SFS_MOUNTPOINT}/.load not writable"
+ return 1
+ }
+
+ [ -f "$PARSER" ] || {
+ log_write err "AppArmor parser not found"
+ return 1
+ }
+
+ # run parser on all profiles
+ local rc=0
+ for profile_dir in $PROFILE_DIRS; do
+ __parse_profiles_dir "$PARSER_CMD" "$profile_dir" || rc=$?
+ done
+
+ return $rc
+}
+
+is_apparmor_loaded() {
+
+ is_securityfs_mounted; [ "$?" -eq 0 ] || {
+ mount_securityfs
+ }
+
+ [ -f "${SFS_MOUNTPOINT}/profiles" ] && return 0
+ [ -d /sys/module/apparmor ] && return 0 || return 1
+}
+
+is_securityfs_mounted() {
+
+ [ -d "$SECURITYFS" ] && {
+ grep -q securityfs /proc/filesystems && grep -q securityfs /proc/mounts
+ return $?
+ }
+ return 1
+}
+
+mount_securityfs() {
+
+ local rc=0
+
+ grep -q securityfs /proc/filesystems; [ "$?" -eq 0 ] && {
+ mount -t securityfs securityfs "$SECURITYFS"
+ rc=$?
+ [ "$rc" -eq 0 ] && log_write info "Mounting securityfs" ||
+ log_write err "Failed to mount securityfs"
+ }
+ return $rc
+}
+
+apparmor_start() {
+
+ local announced=0
+ is_securityfs_mounted; [ "$?" -ne 0 ] && {
+ log_write info "Starting AppArmor"
+ announced=1
+ mount_securityfs; [ "$?" -eq 0 ] || return $?
+ }
+
+ is_apparmor_loaded; [ "$?" -eq 0 ] || {
+ [ "$announced" -eq 0 ] && log_write info "Starting AppArmor"
+ announced=1
+ log_write err "AppArmor kernel support is not present"
+ return 1
+ }
+
+ [ -d /var/lib/apparmor ] || mkdir -p /var/lib/apparmor > /dev/null
+
+ is_profiles_loaded; [ "$?" -eq 0 ] || {
+ [ "$announced" -eq 0 ] && log_write info "Starting AppArmor"
+ announced=1
+ parse_profiles load
+ return $?
+ } || {
+ parse_profiles reload
+ return $?
+ }
+}
+
+remove_profiles() {
+
+ log_write info "Unloading profiles"
+
+ is_apparmor_loaded; [ "$?" -eq 0 ] || {
+ log_write err "AppArmor kernel support is not present"
+ return 1
+ }
+
+ [ -w "$SFS_MOUNTPOINT/.remove" ] || {
+ log_write err "${SFS_MOUNTPOINT}/.remove not writable"
+ return 1
+ }
+
+ [ -x "$PARSER" ] || {
+ log_write err "Unable to execute AppArmor parser"
+ return 1
+ }
+
+ local rc=0
+
+ sed -e "s/ (\(enforce\|complain\))$//" "$SFS_MOUNTPOINT/profiles" | \
+ LC_COLLATE=C sort | grep -v // | {
+ while read -r profile ; do
+ printf "%s" "$profile" > "$SFS_MOUNTPOINT/.remove"
+ result=$?
+ [ "$result" -eq 0 ] || rc=$result
+ done
+ }
+ return $rc
+}
+
+apparmor_stop() {
+
+ is_apparmor_loaded; [ "$?" -eq 0 ] || return 1
+ is_profiles_loaded; [ "$?" -eq 0 ] && {
+ log_write info "Stopping AppArmor"
+ remove_profiles
+ return $?
+ } || return 0
+}
+
+apparmor_restart() {
+
+ is_profiles_loaded; [ "$?" -eq 0 ] || {
+ apparmor_start
+ return $?
+ }
+
+ is_apparmor_loaded; [ "$?" -eq 0 ] || {
+ apparmor_start
+ return $?
+ }
+
+ log_write info "Restarting AppArmor"
+ parse_profiles reload
+ return $?
+}
+
+apparmor_reload() {
+
+ is_profiles_loaded; [ "$?" -eq 0 ] || {
+ apparmor_start
+ return $?
+ }
+
+ is_apparmor_loaded; [ "$?" -eq 0 ] || {
+ apparmor_start
+ return $?
+ }
+
+ log_write info "Reloading AppArmor"
+ parse_profiles reload
+ return $?
+}
+
+apparmor_list_profiles() {
+
+ is_apparmor_loaded; [ "$?" -eq 0 ] || {
+ echo "AppArmor kernel support is not present"
+ return 1
+ }
+
+ [ -x "$PARSER" ] || {
+ echo "Unable to execute AppArmor parser"
+ return 1
+ }
+
+ # run parser on all profiles
+ for profile_dir in $PROFILE_DIRS; do
+ [ -d "$profile_dir" ] || {
+ echo "AppArmor profiles not found: $profile_dir"
+ continue
+ }
+
+ for profile in "$profile_dir"/*; do
+ if skip_profile "$profile" && [ -f "$profile" ] ; then
+ LIST_ADD=$("$PARSER" -N "$profile" )
+ [ "$?" -eq 0 ] && echo "$LIST_ADD"
+ fi
+ done
+ done
+ return 0
+}
+
+
+apparmor_status() {
+
+ is_apparmor_loaded; [ "$?" -eq 0 ] || {
+ echo "AppArmor kernel support is not present"
+ return 1
+ }
+
+ [ -x "$AA_STATUS" ] && {
+ "$AA_STATUS" --verbose
+ return $?
+ }
+
+ echo "AppArmor is enabled."
+ echo "Install apparmor-utils to receive more detailed status"
+ echo "information or examine $SFS_MOUNTPOINT directly."
+
+ return 0
+}
--- /dev/null
+--- /dev/null
++++ b/libraries/libapparmor/Makefile
+@@ -0,0 +1,7 @@
++package=libapparmor
++
++configure:
++ $(STAGING_DIR_HOST)/bin/aclocal
++ $(STAGING_DIR_HOST)/bin/autoconf --force
++ $(STAGING_DIR_HOST)/bin/libtoolize --automake -c --force
++ $(STAGING_DIR_HOST)/bin/automake -ac
--- /dev/null
+--- a/utils/aa-unconfined
++++ b/utils/aa-unconfined
+@@ -118,7 +118,7 @@ def read_proc_current(filename):
+ pids = set()
+ if paranoid:
+ pids = get_all_pids()
+-elif args.with_ss or (not args.with_netstat and (os.path.exists('/bin/ss') or os.path.exists('/usr/bin/ss'))):
++elif args.with_ss or (not args.with_netstat and (os.path.exists('/usr/sbin/ss') or os.path.exists('/bin/ss') or os.path.exists('/usr/bin/ss') or os.path.exists('/sbin/ss'))):
+ pids = get_pids_ss()
+ else:
+ pids = get_pids_netstat()
--- /dev/null
+--- a/utils/aa-notify
++++ b/utils/aa-notify
+@@ -13,17 +13,6 @@
+ #
+ # ----------------------------------------------------------------------
+ #
+-# /etc/apparmor/notify.conf:
+-# # set to 'yes' to enable AppArmor DENIED notifications
+-# show_notifications="yes"
+-#
+-# # only people in use_group can run this script
+-# use_group="admin"
+-#
+-# $HOME/.apparmor/notify.conf can have:
+-# # set to 'yes' to enable AppArmor DENIED notifications
+-# show_notifications="yes"
+-#
+ # In a typical desktop environment one would run as a service the
+ # command:
+ # /usr/bin/aa-notify -p -w 10
+@@ -35,7 +24,6 @@ import re
+ import sys
+ import time
+ import struct
+-import notify2
+ import psutil
+ import pwd
+ import grp
+@@ -60,56 +48,9 @@ def get_user_login():
+ username = os.getlogin()
+ return username
+
+-
+-def get_last_login_timestamp(username):
+- '''Directly read wtmp and get last login for user as epoch timestamp'''
+- timestamp = 0
+- filename = '/var/log/wtmp'
+- last_login = 0
+-
+- debug_logger.debug('Username: {}'.format(username))
+-
+- with open(filename, "rb") as wtmp_file:
+- offset = 0
+- wtmp_filesize = os.path.getsize(filename)
+- debug_logger.debug('WTMP filesize: {}'.format(wtmp_filesize))
+- while offset < wtmp_filesize:
+- wtmp_file.seek(offset)
+- offset += 384 # Increment for next entry
+-
+- type = struct.unpack("<L", wtmp_file.read(4))[0]
+- debug_logger.debug('WTMP entry type: {}'.format(type))
+-
+- # Only parse USER lines
+- if type == 7:
+- # Read each item and move pointer forward
+- pid = struct.unpack("<L", wtmp_file.read(4))[0]
+- line = wtmp_file.read(32).decode("utf-8", "replace").split('\0', 1)[0]
+- id = wtmp_file.read(4).decode("utf-8", "replace").split('\0', 1)[0]
+- user = wtmp_file.read(32).decode("utf-8", "replace").split('\0', 1)[0]
+- host = wtmp_file.read(256).decode("utf-8", "replace").split('\0', 1)[0]
+- term = struct.unpack("<H", wtmp_file.read(2))[0]
+- exit = struct.unpack("<H", wtmp_file.read(2))[0]
+- session = struct.unpack("<L", wtmp_file.read(4))[0]
+- timestamp = struct.unpack("<L", wtmp_file.read(4))[0]
+- usec = struct.unpack("<L", wtmp_file.read(4))[0]
+- entry = (pid, line, id, user, host, term, exit, session, timestamp, usec)
+- debug_logger.debug('WTMP entry: {}'.format(entry))
+-
+- # Store login timestamp for requested user
+- if user == username:
+- last_login = timestamp
+-
+- # When loop is done, last value should be the latest login timestamp
+- return last_login
+-
+-
+ def format_event(event, logsource):
+ output = []
+
+- if 'message_body' in config['']:
+- output += [config['']['message_body']]
+-
+ if event.profile:
+ output += ['Profile: {}'.format(event.profile)]
+ if event.operation:
+@@ -126,7 +67,6 @@ def format_event(event, logsource):
+
+ return "\n".join(output)
+
+-
+ def notify_about_new_entries(logfile, wait=0):
+ # Kill other instances of aa-notify if already running
+ for process in psutil.process_iter():
+@@ -154,7 +94,6 @@ def notify_about_new_entries(logfile, wa
+ # print("parent: %d, child: %d\n" % pids)
+ os._exit(0) # Exit child without calling exit handlers etc
+
+-
+ def show_entries_since_epoch(logfile, epoch_since):
+ count = 0
+ for event in get_apparmor_events(logfile, epoch_since):
+@@ -172,26 +111,7 @@ def show_entries_since_epoch(logfile, ep
+ )
+
+ if args.verbose:
+- if 'message_footer' in config['']:
+- print(config['']['message_footer'])
+- else:
+- print(_('For more information, please see: {}').format(debug_docs_url))
+-
+-
+-def show_entries_since_last_login(logfile, username=get_user_login()):
+- # If running as sudo, use username of sudo user instead of root
+- if 'SUDO_USER' in os.environ.keys():
+- username = os.environ['SUDO_USER']
+-
+- if args.verbose:
+- print(_('Showing entries since {} logged in').format(username))
+- print() # Newline
+- epoch_since = get_last_login_timestamp(username)
+- if epoch_since == 0:
+- print(_('ERROR: Could not find last login'), file=sys.stderr)
+- sys.exit(1)
+- show_entries_since_epoch(logfile, epoch_since)
+-
++ print(_('For more information, please see: {}').format(debug_docs_url))
+
+ def show_entries_since_days(logfile, since_days):
+ day_in_seconds = 60*60*24
+@@ -199,7 +119,6 @@ def show_entries_since_days(logfile, sin
+ epoch_since = epoch_now - day_in_seconds * since_days
+ show_entries_since_epoch(logfile, epoch_since)
+
+-
+ def follow_apparmor_events(logfile, wait=0):
+ '''Follow AppArmor events and yield relevant entries until process stops'''
+
+@@ -247,7 +166,6 @@ def follow_apparmor_events(logfile, wait
+
+ time.sleep(1)
+
+-
+ def reopen_logfile_if_needed(logfile, logdata, log_inode, log_size):
+ retry = True
+
+@@ -279,7 +197,6 @@ def reopen_logfile_if_needed(logfile, lo
+
+ return (logdata, log_inode, log_size)
+
+-
+ def get_apparmor_events(logfile, since=0):
+ '''Read audit events from log source and yield all relevant events'''
+
+@@ -293,7 +210,6 @@ def get_apparmor_events(logfile, since=0
+ except PermissionError:
+ sys.exit(_("ERROR: Cannot read {}. Please check permissions.".format(logfile)))
+
+-
+ def parse_logdata(logsource):
+ '''Traverse any iterable log source and extract relevant AppArmor events'''
+
+@@ -327,53 +243,6 @@ def parse_logdata(logsource):
+ if event.operation[0:8] != 'profile_':
+ yield event
+
+-
+-def drop_privileges():
+- '''If running as root, drop privileges to USER if known, or fall-back to nobody_user/group'''
+-
+- if os.geteuid() == 0:
+-
+- if 'SUDO_USER' in os.environ.keys():
+- next_username = os.environ['SUDO_USER']
+- next_uid = os.environ['SUDO_UID']
+- next_gid = os.environ['SUDO_GID']
+- else:
+- nobody_user_info = pwd.getpwnam(nobody_user)
+- next_username = nobody_user_info[0]
+- next_uid = nobody_user_info[2]
+- next_gid = nobody_user_info[3]
+-
+- debug_logger.debug('Dropping to user "{}" privileges'.format(next_username))
+-
+- # @TODO?
+- # Remove group privileges, including potential 'adm' group that might
+- # have had log read access but also other accesses.
+- # os.setgroups([])
+-
+- # Try setting the new uid/gid
+- # Set gid first, otherwise the latter step would fail on missing permissions
+- os.setegid(int(next_gid))
+- os.seteuid(int(next_uid))
+-
+-def raise_privileges():
+- '''If was running as user with saved user ID 0, raise back to root privileges'''
+-
+- if os.geteuid() != 0 and original_effective_user == 0:
+-
+- debug_logger.debug('Rasing privileges from UID {} back to UID 0 (root)'.format(os.geteuid()))
+-
+- # os.setgid(int(next_gid))
+- os.seteuid(original_effective_user)
+-
+-def read_notify_conf(path, shell_config):
+- try:
+- shell_config.CONF_DIR = path
+- conf_dict = shell_config.read_config('notify.conf')
+- debug_logger.debug('Found configuration file in {}/notify.conf'.format(shell_config.CONF_DIR))
+- return conf_dict
+- except FileNotFoundError:
+- return {}
+-
+ def main():
+ '''
+ Main function of aa-notify that parses command line
+@@ -381,10 +250,9 @@ def main():
+ '''
+
+ global _, debug_logger, config, args
+- global debug_docs_url, nobody_user, original_effective_user, timeformat
++ global debug_docs_url, original_effective_user, timeformat
+
+ debug_docs_url = "https://wiki.ubuntu.com/DebuggingApparmor"
+- nobody_user = "nobody"
+ timeformat = "%c" # Automatically using locale format
+ original_effective_user = os.geteuid()
+
+@@ -403,180 +271,37 @@ def main():
+ debug_logger.debug("Starting aa-notify")
+
+ parser = argparse.ArgumentParser(description=_('Display AppArmor notifications or messages for DENIED entries.'))
+- parser.add_argument('-p', '--poll', action='store_true', help=_('poll AppArmor logs and display notifications'))
+- parser.add_argument('--display', type=str, help=_('set the DISPLAY environment variable (might be needed if sudo resets $DISPLAY)'))
+- parser.add_argument('-f', '--file', type=str, help=_('search FILE for AppArmor messages'))
+- parser.add_argument('-l', '--since-last', action='store_true', help=_('display stats since last login'))
+- parser.add_argument('-s', '--since-days', type=int, metavar=('NUM'), help=_('show stats for last NUM days (can be used alone or with -p)'))
+- parser.add_argument('-v', '--verbose', action='store_true', help=_('show messages with stats'))
+- parser.add_argument('-u', '--user', type=str, help=_('user to drop privileges to when not using sudo'))
+- parser.add_argument('-w', '--wait', type=int, metavar=('NUM'), help=_('wait NUM seconds before displaying notifications (with -p)'))
+- parser.add_argument('--debug', action='store_true', help=_('debug mode'))
+- parser.add_argument('--configdir', type=str, help=argparse.SUPPRESS)
++ parser.add_argument('-f', '--file', type=str, help=_('Logfile to parse for AppArmor messages'))
++ parser.add_argument('-s', '--since-days', type=int, metavar=('NUM'), help=_('Show stats for last NUM days'))
++ parser.add_argument('-v', '--verbose', action='store_true', help=_('Show messages with stats'))
++ parser.add_argument('--debug', action='store_true', help=_('Debug mode'))
+
+ # If a TTY then assume running in test mode and fix output width
+ if not sys.stdout.isatty():
+ parser.formatter_class = lambda prog: argparse.HelpFormatter(prog, width=80)
+
+ args = parser.parse_args()
++ args.user = 'root'
+
+ # Debug mode can be invoked directly with --debug or env LOGPROF_DEBUG=3
+ if args.debug:
+ debug_logger.activateStderr()
+ debug_logger.debug('Logging level: {}'.format(debug_logger.debug_level))
+ debug_logger.debug('Running as uid: {0[0]}, euid: {0[1]}, suid: {0[2]}'.format(os.getresuid()))
+- if args.poll:
+- debug_logger.debug('Running with --debug and --poll. Will exit in 100s')
+- # Sanity checks
+- user_ids = os.getresuid()
+- groups_ids = os.getresgid()
+- if user_ids[1] != user_ids[2]:
+- sys.exit("ERROR: Cannot be started with suid set!")
+- if groups_ids[1] != groups_ids[2]:
+- sys.exit("ERROR: Cannot be started with sgid set!")
+
+- # Define global variables that will be populated by init_aa()
+- # conf = None
+ logfile = None
+
+- if args.configdir: # prefer --configdir if given
+- confdir = args.configdir
+- else: # fallback to env variable (or None if not set)
+- confdir = os.getenv('__AA_CONFDIR')
+-
+- aa.init_aa(confdir=confdir)
+-
+ # Initialize aa.logfile
+- aa.set_logfile(args.file)
+-
+- # Load global config reader
+- shell_config = aaconfig.Config('shell')
+-
+- # Load system's notify.conf
+- # By default aa.CONFDIR is /etc/apparmor on most production systems
+- system_config = read_notify_conf(aa.CONFDIR, shell_config)
+- # Set default is no system notify.conf was found
+- if not system_config:
+- system_config = {'': {'show_notifications': 'yes'}}
+-
+- # Load user's notify.conf
+- if os.path.isfile(os.environ['HOME'] + '/.apparmor/notify.conf'):
+- # Use legacy path if the conf file is there
+- user_config = read_notify_conf(os.environ['HOME'] + '/.apparmor', shell_config)
+- elif 'XDG_CONFIG_HOME' in os.environ and os.path.isfile(os.environ['XDG_CONFIG_HOME'] + '/apparmor/notify.conf'):
+- # Use XDG_CONFIG_HOME if it is defined
+- user_config = read_notify_conf(os.environ['XDG_CONFIG_HOME'] + '/apparmor', shell_config)
+- else:
+- # Fallback to the default value of XDG_CONFIG_HOME
+- user_config = read_notify_conf(os.environ['HOME'] + '/.config/apparmor', shell_config)
+-
+- # Merge the two config dicts in an accurate and idiomatic way (requires Python 3.5)
+- config = {**system_config, **user_config}
+-
+- """
+- Possible configuration options:
+- - show_notifications
+- - message_body
+- - message_footer
+- - use_group
+- """
+-
+- # # Config checks
+-
+- # Warn about unknown keys in the config
+- allowed_config_keys = [
+- 'use_group',
+- 'show_notifications',
+- 'message_body',
+- 'message_footer'
+- ]
+- found_config_keys = config[''].keys()
+- unknown_keys = [item for item in found_config_keys if item not in allowed_config_keys]
+- for item in unknown_keys:
+- print(_('Warning! Configuration item "{}" is unknown!').format(item))
+-
+- # Warn if use_group is defined and current group does not match defined
+- if 'use_group' in config['']:
+- user = pwd.getpwuid(os.geteuid())[0]
+- user_groups = [g.gr_name for g in grp.getgrall() if user in g.gr_mem]
+- gid = pwd.getpwnam(user).pw_gid
+- user_groups.append(grp.getgrgid(gid).gr_name)
+-
+- if config['']['use_group'] not in user_groups:
+- print(
+- _('ERROR! User {user} not member of {group} group!').format(
+- user=user,
+- group=config['']['use_group']
+- ),
+- file=sys.stderr
+- )
+- sys.exit(1)
+- # @TODO: Extend UI lib to have warning and error functions that
+- # can be used in an uniform way with both text and JSON output.
+-
+ if args.file:
+ logfile = args.file
+- elif os.path.isfile('/var/run/auditd.pid') and os.path.isfile('/var/log/audit/audit.log'):
+- # If auditd is running, look at /var/log/audit/audit.log
+- logfile = '/var/log/audit/audit.log'
+- elif os.path.isfile('/var/log/kern.log'):
+- # For aa-notify, the fallback is kern.log, not syslog from aa.logfile
+- logfile = '/var/log/kern.log'
++ aa.set_logfile(args.file)
+ else:
+- # If all above failed, use aa cfg
+- logfile = aa.logfile
++ logfile = '/var/log/audit/audit.log'
++ aa.set_logfile('/var/log/audit/audit.log')
+
+ if args.verbose:
+ print(_('Using log file'), logfile)
+
+- if args.display:
+- os.environ['DISPLAY'] = args.display
+-
+- if args.poll:
+- # Exit immediately if show_notifications is no or any of the options below
+- if config['']['show_notifications'] in [False, 'no', 'false', '0']:
+- print(_('Showing notifications forbidden in notify.conf, aborting..'))
+- sys.exit(0)
+-
+- # Don't allow usage of aa-notify by root, must be some user. Desktop
+- # logins as root are not recommended and certainly not a use case for
+- # aa-notify notifications.
+- if not args.user and os.getuid() == 0 and 'SUDO_USER' not in os.environ.keys():
+- sys.exit("ERROR: Cannot be started a real root user. Use --user to define what user to use.")
+-
+- # At this point this script needs to be able to read 'logfile' but once
+- # the for loop starts, privileges can be dropped since the file descriptor
+- # has been opened and access granted. Further reads of the file will not
+- # trigger any new permission checks.
+- # @TODO Plan to catch PermissionError here or..?
+- for message in notify_about_new_entries(logfile, args.wait):
+-
+- # Notifications should not be run as root, since root probably is
+- # the wrong desktop user and not the one getting the notifications.
+- drop_privileges()
+-
+- # sudo does not preserve DBUS address, so we need to guess it based on UID
+- if 'DBUS_SESSION_BUS_ADDRESS' not in os.environ:
+- os.environ['DBUS_SESSION_BUS_ADDRESS'] = 'unix:path=/run/user/{}/bus'.format(os.geteuid())
+-
+- # Before use, notify2 must be initialized and the DBUS channel
+- # should be opened using the non-root user. This this step needs to
+- # be executed after the drop_privileges().
+- notify2.init('AppArmor')
+-
+- n = notify2.Notification(
+- _('AppArmor notification'),
+- message,
+- 'gtk-dialog-warning'
+- )
+- n.show()
+-
+- # When notification is sent, raise privileged back to root if the
+- # original effective user id was zero (to be able to read AppArmor logs)
+- raise_privileges()
+-
+- elif args.since_last:
+- show_entries_since_last_login(logfile)
+ elif args.since_days:
+ show_entries_since_days(logfile, args.since_days)
+ else:
--- /dev/null
+--- a/utils/aa-decode
++++ b/utils/aa-decode
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ #
+ # Copyright (C) 2009-2010, 2012 Canonical Ltd.
+ # Copyright (C) 2012 Christian Boltz
+@@ -16,8 +16,6 @@
+ # along with this program; if not, contact Canonical, Ltd.
+ #
+
+-set -e
+-
+ help() {
+ cat <<EOM
+ USAGE: aa-decode [OPTIONS] <encoded string>
+@@ -36,13 +34,15 @@ $ cat /var/log/kern.log | aa-decode
+ EOM
+ }
+
+-decode() {
+- if echo "$1" | egrep -q "^[0-9A-Fa-f]+$" ; then
+- python3 -c "import binascii; print(bytes.decode(binascii.unhexlify('$1'), errors='strict'));"
+- else
+- echo ""
+- fi
++match_re() {
++ local result=$(echo "$1" | grep -E "$2" )
++ [ -z "$result" ] && return 1 || return 0
++}
+
++
++decode() {
++ $(echo "$1" | egrep -q "^[0-9A-Fa-f]+$"); [ "$?" -eq 0 ] &&
++ python3 -c "import binascii; print(bytes.decode(binascii.unhexlify('$1'), errors='strict'));" || echo ""
+ }
+
+ if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
+@@ -51,47 +51,61 @@ if [ "$1" = "-h" ] || [ "$1" = "--help"
+ fi
+
+ # if have an argument, then use it, otherwise process stdin
+-if [ -n "$1" ]; then
+- e="$1"
+- if ! echo "$e" | egrep -q "^[0-9A-Fa-f]+$" ; then
+- echo "String should only contain hex characters (0-9, a-f, A-F)"
+- exit 1
+- fi
+-
+- d=`decode $e`
+- if [ -z "$d" ]; then
+- echo "Could not decode string"
+- exit 1
+- fi
++[ -n "$1" ] && {
+
+- echo "Decoded: $d"
+- exit 0
+-fi
++ e="$1"
+
+-# For now just look at 'name=...' and 'profile=...',
+-# so validate input against this and output based on it.
+-# TODO: better handle other cases too
+-while read line ; do
++ $(echo "$e" | egrep -q "^[0-9A-Fa-f]+$"); [ "$?" -ne 0 ] && {
++ echo "String should only contain hex characters (0-9, a-f, A-F)"
++ exit 1
++ }
+
+- # check if line contains encoded name= or profile=
+- if [[ "$line" =~ \ (name|profile|proctitle)=[0-9a-fA-F] ]]; then
++ d=$(decode $e)
+
+- # cut the encoded filename/profile name out of the line and decode it
+- ne=`echo "$line" | sed 's/.* name=\([^ ]*\).*$/\\1/g'`
+- nd="$(decode ${ne/\'/\\\'})"
++ [ -z "$d" ] && {
++ echo "Could not decode string"
++ exit 1
++ }
+
+- pe=`echo "$line" | sed 's/.* profile=\([^ ]*\).*$/\\1/g'`
+- pd="$(decode ${pe/\'/\\\'})"
++ echo "Decoded: $d"
++ exit 0
++}
+
+- pce=`echo "$line" | sed 's/.* proctitle=\([^ ]*\).*$/\\1/g'`
+- pcd="$(decode ${pce/\'/\\\'})"
++[ -t 0 ] && {
++ help
++ exit
++}
++
++while read line ; do
+
+- # replace encoded name and profile with its decoded counterparts (only if it was encoded)
+- test -n "$nd" && line="${line/name=$ne/name=\"$nd\"}"
+- test -n "$pd" && line="${line/profile=$pe/profile=\"$pd\"}"
+- test -n "$pcd" && line="${line/proctitle=$pce/proctitle=\"$pcd\"}"
++ # check if line contains encoded name= or profile=
+
+- fi
++ matches=0
++ match_re "$line" "^[[:blank:]](name|profile|proctitle)=[0-9a-fA-F]+"; [ "$?" -eq 0 ] && matches=1 || {
++ match_re "$line" "^(name|profile|proctitle)=[0-9a-fA-F]+"; [ "$?" -eq 0 ] && matches=1
++ }
++
++ [ "$matches" -eq 0 ] || {
++
++ # cut the encoded filename/profile name out of the line and decode it
++ ne=$(echo "$line" | sed 's/.* name=\([^ ]*\).*$/\\1/g')
++ [ "$line" = "$ne" ] && ne=$(echo "$line" | sed 's/.*name=\([^ ]*\).*$/\\1/g')
++ echo var: $ne
++ nd="$(decode ${ne/\'/\\\'})"
++
++ pe=$(echo "$line" | sed 's/.* profile=\([^ ]*\).*$/\\1/g')
++ [ "$line" = "$pe" ] && pe=$(echo "$line" | sed 's/.*profile=\([^ ]*\).*$/\\1/g')
++ pd="$(decode ${pe/\'/\\\'})"
++
++ pce=$(echo "$line" | sed 's/.* proctitle=\([^ ]*\).*$/\\1/g')
++ [ "$line" = "$pce" ] && pce=$(echo "$line" | sed 's/.*proctitle=\([^ ]*\).*$/\\1/g')
++ pcd="$(decode ${pce/\'/\\\'})"
++
++ # replace encoded name and profile with its decoded counterparts (only if it was encoded)
++ test -n "$nd" && line="${line/name=$ne/name=\"$nd\"}"
++ test -n "$pd" && line="${line/profile=$pe/profile=\"$pd\"}"
++ test -n "$pcd" && line="${line/proctitle=$pce/proctitle=\"$pcd\"}"
++ }
+
+ echo "$line"
+
--- /dev/null
+--- a/binutils/Makefile
++++ b/binutils/Makefile
+@@ -107,7 +107,7 @@ docs: manpages
+ indep: docs
+ $(Q)$(MAKE) -C po all
+
+-all: arch indep
++all: arch
+
+ .PHONY: coverage
+ coverage:
+@@ -147,7 +147,7 @@ tests: $(BINTOOLS) $(SBINTOOLS) $(TESTS)
+ echo "no tests atm"
+
+ .PHONY: install
+-install: install-indep install-arch
++install: install-arch
+
+ .PHONY: install-arch
+ install-arch: arch
+--- a/parser/Makefile
++++ b/parser/Makefile
+@@ -195,7 +195,7 @@ extra_docs: pdf
+ indep: docs
+ $(Q)$(MAKE) -C po all
+
+-all: arch indep
++all: arch
+
+ .PHONY: coverage
+ coverage:
+@@ -396,7 +396,6 @@ endif
+
+ .PHONY: install
+ install:
+- $(MAKE) install-indep
+ $(MAKE) install-arch
+
+ .PHONY: install-arch
+--- a/utils/Makefile
++++ b/utils/Makefile
+@@ -31,9 +31,7 @@ MANPAGES = ${TOOLS:=.8} logprof.conf.5
+
+ PYFLAKES ?= pyflakes3
+
+-all: docs
+- $(MAKE) -C po all
+- $(MAKE) -C vim all
++all: clean
+
+ .PHONY: docs
+ docs: ${MANPAGES} ${HTMLMANPAGES}
+@@ -49,15 +47,12 @@ po/${NAME}.pot: ${TOOLS} ${PYMODULES}
+ $(MAKE) -C po ${NAME}.pot NAME=${NAME} SOURCES="${TOOLS} ${PYMODULES}"
+
+ .PHONY: install
+-install: ${MANPAGES} ${HTMLMANPAGES}
++install:
+ install -d ${CONFDIR}
+ install -m 644 logprof.conf severity.db notify.conf ${CONFDIR}
+ install -d ${BINDIR}
+ # aa-easyprof is installed by python-tools-setup.py
+ install -m 755 $(filter-out aa-easyprof, ${TOOLS}) ${BINDIR}
+- $(MAKE) -C po install DESTDIR=${DESTDIR} NAME=${NAME}
+- $(MAKE) install_manpages DESTDIR=${DESTDIR}
+- $(MAKE) -C vim install DESTDIR=${DESTDIR}
+ ${PYTHON} ${PYSETUP} install --prefix=${PYPREFIX} --root=${DESTDIR} --version=${VERSION}
+
+ .PHONY: clean
--- /dev/null
+--- a/profiles/apparmor.d/usr.sbin.dnsmasq
++++ b/profiles/apparmor.d/usr.sbin.dnsmasq
+@@ -1,3 +1,10 @@
++# Last Modified: Thu Jun 10 01:23:44 2021
++abi <abi/3.0>,
++
++include <tunables/global>
++
++@{TFTP_DIR} = /srv/tftp /srv/tftpboot /var/tftp
++
+ # ------------------------------------------------------------------
+ #
+ # Copyright (C) 2009 John Dong <jdong@ubuntu.com>
+@@ -9,126 +16,95 @@
+ #
+ # ------------------------------------------------------------------
+
+-abi <abi/3.0>,
+-
+-@{TFTP_DIR}=/var/tftp /srv/tftp /srv/tftpboot
+
+-include <tunables/global>
+ profile dnsmasq /usr/{bin,sbin}/dnsmasq flags=(attach_disconnected) {
+ include <abstractions/base>
+ include <abstractions/dbus>
+ include <abstractions/nameservice>
++ include <abstractions/user-tmp>
++ include if exists <local/usr.sbin.dnsmasq>
+
+ capability chown,
++ capability dac_override,
++ capability net_admin, # for DHCP server
+ capability net_bind_service,
++ capability net_raw, # for DHCP server ping checks
+ capability setgid,
+ capability setuid,
+- capability dac_override,
+- capability net_admin, # for DHCP server
+- capability net_raw, # for DHCP server ping checks
++
+ network inet raw,
+ network inet6 raw,
+
+- signal (receive) peer=/usr/{bin,sbin}/libvirtd,
+- signal (receive) peer=libvirtd,
+- ptrace (readby) peer=/usr/{bin,sbin}/libvirtd,
+- ptrace (readby) peer=libvirtd,
++ signal receive peer=/usr/{bin,sbin}/libvirtd,
++ signal receive peer=libvirtd,
+
+- owner /dev/tty rw,
++ ptrace readby peer=/usr/{bin,sbin}/libvirtd,
++ ptrace readby peer=libvirtd,
+
+- @{PROC}/@{pid}/fd/ r,
+-
+- /etc/dnsmasq.conf r,
+- /etc/dnsmasq.d/ r,
+- /etc/dnsmasq.d/* r,
+- /etc/dnsmasq.d-available/ r,
+- /etc/dnsmasq.d-available/* r,
+- /etc/ethers r,
+- /etc/NetworkManager/dnsmasq.d/ r,
+- /etc/NetworkManager/dnsmasq.d/* r,
+ /etc/NetworkManager/dnsmasq-shared.d/ r,
+ /etc/NetworkManager/dnsmasq-shared.d/* r,
++ /etc/NetworkManager/dnsmasq.d/ r,
++ /etc/NetworkManager/dnsmasq.d/* r,
+ /etc/dnsmasq-conf.conf r,
+ /etc/dnsmasq-resolv.conf r,
+-
+- /usr/{bin,sbin}/dnsmasq mr,
+-
+- /var/log/dnsmasq*.log w,
+-
++ /etc/dnsmasq.conf r,
++ /etc/dnsmasq.d-available/ r,
++ /etc/dnsmasq.d-available/* r,
++ /etc/dnsmasq.d/ r,
++ /etc/dnsmasq.d/* r,
++ /etc/ethers r,
++ /tmp/** r,
++ /usr/libexec/libvirt_leaseshelper Cx -> libvirt_leaseshelper,
++ /usr/lib{,64}/libvirt/libvirt_leaseshelper Cx -> libvirt_leaseshelper,
+ /usr/share/dnsmasq{-base,}/ r,
+ /usr/share/dnsmasq{-base,}/* r,
+-
+- @{run}/*dnsmasq*.pid w,
+- @{run}/dnsmasq-forwarders.conf r,
+- @{run}/dnsmasq/ r,
+- @{run}/dnsmasq/* rw,
+-
++ /usr/{bin,sbin}/dnsmasq mr,
++ /var/lib/NetworkManager/dnsmasq-*.leases rw,
++ /var/lib/libvirt/dnsmasq/ r,
++ /var/lib/libvirt/dnsmasq/* r,
++ /var/lib/lxd-bridge/dnsmasq.*.leases rw,
++ /var/lib/lxd/networks/*/dnsmasq.* r,
++ /var/lib/lxd/networks/*/dnsmasq.leases rw,
++ /var/lib/lxd/networks/*/dnsmasq.pid rw,
++ /var/lib/misc/dnsmasq.*.leases rw,
+ /var/lib/misc/dnsmasq.leases rw, # Required only for DHCP server usage
+-
++ /var/log/dnsmasq*.log w,
+ /{,usr/}bin/{ba,da,}sh ix, # Required to execute --dhcp-script argument
+-
+- # access to iface mtu needed for Router Advertisement messages in IPv6
+- # Neighbor Discovery protocol (RFC 2461)
++ @{PROC}/@{pid}/fd/ r,
+ @{PROC}/sys/net/ipv6/conf/*/mtu r,
+-
+- # for the read-only TFTP server
+ @{TFTP_DIR}/ r,
+ @{TFTP_DIR}/** r,
+-
+- # libvirt config and hosts file for dnsmasq
+- /var/lib/libvirt/dnsmasq/ r,
+- /var/lib/libvirt/dnsmasq/* r,
+-
+- # libvirt pid files for dnsmasq
+- @{run}/libvirt/network/ r,
++ @{run}/*dnsmasq*.pid w,
++ @{run}/NetworkManager/NetworkManager.pid w,
++ @{run}/NetworkManager/dnsmasq.conf r,
++ @{run}/NetworkManager/dnsmasq.pid w,
++ @{run}/dnsmasq-forwarders.conf r,
++ @{run}/dnsmasq/ r,
++ @{run}/dnsmasq/* rw,
++ @{run}/libvirt/network/ r,
+ @{run}/libvirt/network/*.pid rw,
+-
+- # libvirt lease helper
+- /usr/lib{,64}/libvirt/libvirt_leaseshelper Cx -> libvirt_leaseshelper,
+- /usr/libexec/libvirt_leaseshelper Cx -> libvirt_leaseshelper,
+-
+- # lxc-net pid and lease files
+- @{run}/lxc/dnsmasq.pid rw,
+- /var/lib/misc/dnsmasq.*.leases rw,
+-
+- # lxd-bridge pid and lease files
+- @{run}/lxd-bridge/dnsmasq.pid rw,
+- /var/lib/lxd-bridge/dnsmasq.*.leases rw,
+- /var/lib/lxd/networks/*/dnsmasq.* r,
+- /var/lib/lxd/networks/*/dnsmasq.leases rw,
+- /var/lib/lxd/networks/*/dnsmasq.pid rw,
+-
+- # NetworkManager integration
+- /var/lib/NetworkManager/dnsmasq-*.leases rw,
++ @{run}/lxc/dnsmasq.pid rw,
++ @{run}/lxd-bridge/dnsmasq.pid rw,
+ @{run}/nm-dns-dnsmasq.conf r,
+ @{run}/nm-dnsmasq-*.pid rw,
+ @{run}/sendsigs.omit.d/*dnsmasq.pid w,
+- @{run}/NetworkManager/dnsmasq.conf r,
+- @{run}/NetworkManager/dnsmasq.pid w,
+- @{run}/NetworkManager/NetworkManager.pid w,
++ owner /dev/tty rw,
++
+
+ profile libvirt_leaseshelper {
+ include <abstractions/base>
+
+ /etc/libnl-3/classid r,
+-
+- /usr/lib{,64}/libvirt/libvirt_leaseshelper m,
+ /usr/libexec/libvirt_leaseshelper m,
+-
+- owner @{PROC}/@{pid}/net/psched r,
+- owner @{PROC}/@{pid}/status r,
+-
++ /usr/lib{,64}/libvirt/libvirt_leaseshelper m,
++ /var/lib/libvirt/dnsmasq/*.leases rw,
++ /var/lib/libvirt/dnsmasq/*.status* rw,
++ @{run}/leaseshelper.pid rwk,
+ @{sys}/devices/system/cpu/ r,
+ @{sys}/devices/system/node/ r,
+ @{sys}/devices/system/node/*/meminfo r,
++ owner @{PROC}/@{pid}/net/psched r,
++ owner @{PROC}/@{pid}/status r,
+
+- # libvirt lease and status files for dnsmasq
+- /var/lib/libvirt/dnsmasq/*.leases rw,
+- /var/lib/libvirt/dnsmasq/*.status* rw,
+-
+- @{run}/leaseshelper.pid rwk,
+ }
+-
+- # Site-specific additions and overrides. See local/README for details.
+- include if exists <local/usr.sbin.dnsmasq>
+ }
include $(TOPDIR)/rules.mk
PKG_NAME:=auc
-PKG_VERSION:=0.1.6
+PKG_VERSION:=0.1.7
PKG_RELEASE:=$(AUTORELEASE)
PKG_LICENSE:=GPL-3.0
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/auc
SECTION:=base
blobmsg_parse(board_policy, __BOARD_MAX, tb, blob_data(msg), blob_len(msg));
- if (!tb[BOARD_BOARD_NAME]) {
- fprintf(stderr, "No board name received\n");
- rc=-ENODATA;
- return;
- }
- board_name = strdup(blobmsg_get_string(tb[BOARD_BOARD_NAME]));
if (!tb[BOARD_RELEASE]) {
fprintf(stderr, "No release received\n");
version = strdup(blobmsg_get_string(rel[RELEASE_VERSION]));
revision = strdup(blobmsg_get_string(rel[RELEASE_REVISION]));
+ if (!strcmp(target, "x86/64") || !strcmp(target, "x86/generic")) {
+ /*
+ * ugly work-around ahead:
+ * ignore board name on generic x86 targets, as image name is always 'generic'
+ */
+ board_name = strdup("generic");
+ } else {
+ if (!tb[BOARD_BOARD_NAME]) {
+ fprintf(stderr, "No board name received\n");
+ rc=-ENODATA;
+ return;
+ }
+ board_name = strdup(blobmsg_get_string(tb[BOARD_BOARD_NAME]));
+ }
+
blobmsg_add_string(buf, "distro", distribution);
blobmsg_add_string(buf, "target", target);
blobmsg_add_string(buf, "version", version);
out_bytes = 0;
out_len = 0;
+#ifdef AUC_DEBUG
+ if (debug)
+ fprintf(stderr, "Requesting URL: %s\n", url);
+#endif
+
if (outbuf) {
jsb = malloc(sizeof(struct jsonblobber));
jsb->outbuf = outbuf;
break;
}
} else {
- if (!abr || (strcmp(br->version, abr->version) > 0))
- abr = br;
+ /* if we are on a snapshot branch, stay there */
+ if (strcasestr(version, "snapshot")) {
+ if (strcasestr(br->version, "snapshot")) {
+ abr = br;
+ break;
+ }
+ } else {
+ if (!abr || (verrevcmp(br->version, abr->version) > 0))
+ abr = br;
+ }
}
}
blobmsg_for_each_attr(cur, packages, rem) {
avpk = malloc(sizeof(struct avl_pkg));
+ if (!avpk)
+ return -ENOMEM;
+
avpk->name = strdup(blobmsg_name(cur));
+ if (!avpk->name)
+ return -ENOMEM;
+
avpk->version = strdup(blobmsg_get_string(cur));
+ if (!avpk->version)
+ return -ENOMEM;
+
avpk->avl.key = avpk->name;
- if (!avpk->name || !avpk->version || avl_insert(&pkg_tree, &avpk->avl)) {
- fprintf(stderr, "failed to insert package %s (%s)!\n", blobmsg_name(cur), blobmsg_get_string(cur));
+ if (avl_insert(&pkg_tree, &avpk->avl)) {
+
+#ifdef AUC_DEBUG
+ if (debug)
+ fprintf(stderr, "failed to insert package %s (%s)!\n", blobmsg_name(cur), blobmsg_get_string(cur));
+#endif
+
if (avpk->name)
free(avpk->name);
free(avpk->version);
free(avpk);
- return -ENOMEM;
}
}
char url[256];
char *sanetized_board_name, *image_name, *image_sha256, *tmp;
struct blob_attr *tbr[__REPLY_MAX];
- struct blob_attr *tb[__TARGET_MAX];
+ struct blob_attr *tb[__TARGET_MAX] = {}; /* make sure tb is NULL initialized even if blobmsg_parse isn't called */
struct stat imgstat;
int check_only = 0;
int retry_delay = 0;
include $(TOPDIR)/rules.mk
PKG_NAME:=bluld
-PKG_VERSION:=1.1.1
+PKG_VERSION:=1.1.2
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/ktgeek/$(PKG_NAME)/releases/download/v$(PKG_VERSION)
-PKG_HASH:=995474bca662cfd8a693a3ab48bdddb2e09c258183a9c29aeddfa341a5082d0e
+PKG_HASH:=94e42999bf701ea01296d614fe298af3bd5b91d3bdab6adda7ecc24af69f8230
PKG_MAINTAINER:=Keith T. Garner <kgarner@kgarner.com>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/nls.mk
include $(INCLUDE_DIR)/kernel.mk
EXTRA_CXXFLAGS = -I$(LINUX_DIR)/include
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/canutils/Default
SECTION:=utils
include $(TOPDIR)/rules.mk
PKG_NAME:=cni
-PKG_VERSION:=0.8.0
-PKG_RELEASE:=3
+PKG_VERSION:=0.8.1
+PKG_RELEASE:=$(AUTORELEASE)
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/containernetworking/$(PKG_NAME)/archive/v$(PKG_VERSION)
-PKG_HASH:=df8afe3eeae3296ba33ca267041c42f13135c3a067bf2d932761bb02998247a6
+PKG_HASH:=6242e7905b5f8f7561a21f595209b569998727927380a8cdf5ab58e7fd5ac2d5
-PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>, Paul Spooren <mail@aparcar.org>
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>, Paul Spooren <mail@aparcar.org>, Oskari Rauta <oskari.rauta@gmail.com>
PKG_BUILD_DEPENDS:=golang/host
PKG_BUILD_PARALLEL:=1
include $(TOPDIR)/rules.mk
PKG_NAME:=conmon
-PKG_VERSION:=2.0.27
+PKG_VERSION:=2.0.29
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/containers/$(PKG_NAME)/archive/v$(PKG_VERSION)
-PKG_HASH:=cb953fa418835a3f57af175df3641140d9c44ec219a7ad2efcc07952241f9ea5
+PKG_HASH:=eb4d5e157671a61b88786e44094775194e30e1d0ad0b9d50035532ece78dbc28
-PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
+PKG_MAINTAINER:=Oskari Rauta <oskari.rauta@gmail.com>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
+++ /dev/null
---- a/src/conn_sock.c
-+++ b/src/conn_sock.c
-@@ -465,6 +465,9 @@ static void init_remote_sock(struct remo
-
- static void close_sock(gpointer data, G_GNUC_UNUSED gpointer user_data)
- {
-+ if (data == NULL)
-+ return;
-+
- struct remote_sock_s *sock = (struct remote_sock_s *)data;
-
- close(sock->fd);
-@@ -473,5 +476,9 @@ static void close_sock(gpointer data, G_
-
- void close_all_readers()
- {
-+
-+ if (local_mainfd_stdin.readers == NULL)
-+ return;
-+
- g_ptr_array_foreach(local_mainfd_stdin.readers, close_sock, NULL);
- }
include $(TOPDIR)/rules.mk
PKG_NAME:=containerd
-PKG_VERSION:=1.4.4
+PKG_VERSION:=1.4.6
PKG_RELEASE:=1
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/containerd/containerd/tar.gz/v${PKG_VERSION}?
-PKG_HASH:=ac62c64664bf62fd44df0891c896eecdb6d93def3438271d7892dca75bc069d1
-PKG_SOURCE_VERSION:=05f951a3781f4f2c1911b05e61c160e9c30eaa8e
+PKG_HASH:=285a3f4c00a87538bd7d0a82a0a8a758458c02b925349f44f3189f480c326038
+PKG_SOURCE_VERSION:=d71fcd7d8303cbf684402823e425e9dd2e99285d
PKG_MAINTAINER:=Gerard Ryan <G.M0N3Y.2503@gmail.com>
include $(TOPDIR)/rules.mk
PKG_NAME:=crun
-PKG_VERSION:=0.19.1
+PKG_VERSION:=0.20
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/containers/crun.git
-PKG_SOURCE_DATE:=2021-05-18
-PKG_SOURCE_VERSION:=f9c405d3cd8727f98ac4cdf0d98722684ee5f0bb
-PKG_MIRROR_HASH:=3aaa49a471c85b5eb6132ef10da94f96aee371ce9575b74985248d2502172d95
+PKG_SOURCE_DATE:=2021-06-07
+PKG_SOURCE_VERSION:=8d6a8b5ab80461cfed19f020a36584af13c32038
+PKG_MIRROR_HASH:=9ca1f0e530b33ce8820bd03329eb6731c5050d6e7f35bd2463d9a81cc00382e0
PKG_BUILD_DEPENDS:=argp-standalone
PKG_BUILD_PARALLEL:=1
endef
define Build/InstallDev
- $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/crun $(1)/usr/bin/
+ $(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libcrun.* $(1)/usr/lib/
endef
PKG_CPE_ID:=cpe:/a:freedesktop:dbus
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/dbus/Default
SECTION:=utils
include $(TOPDIR)/rules.mk
PKG_NAME:=docker
-PKG_VERSION:=20.10.6
+PKG_VERSION:=20.10.7
PKG_RELEASE:=1
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_GIT_URL:=github.com/docker/cli
PKG_GIT_REF:=v$(PKG_VERSION)
PKG_SOURCE_URL:=https://codeload.$(PKG_GIT_URL)/tar.gz/$(PKG_GIT_REF)?
-PKG_HASH:=eda53b96ab83a59502df2e5e00ab7ee867243259407ef454be55e695303c1113
-PKG_GIT_SHORT_COMMIT:=370c289 # SHA1 used within the docker executables
+PKG_HASH:=0a7848b1b5031483de075433506d0448ddf834368d9c73770e453e0b89b49747
+PKG_GIT_SHORT_COMMIT:=f0df350 # SHA1 used within the docker executables
PKG_MAINTAINER:=Gerard Ryan <G.M0N3Y.2503@gmail.com>
include $(TOPDIR)/rules.mk
PKG_NAME:=dockerd
-PKG_VERSION:=20.10.6
-PKG_RELEASE:=1
+PKG_VERSION:=20.10.7
+PKG_RELEASE:=2
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_GIT_URL:=github.com/moby/moby
PKG_GIT_REF:=v$(PKG_VERSION)
PKG_SOURCE_URL:=https://codeload.$(PKG_GIT_URL)/tar.gz/$(PKG_GIT_REF)?
-PKG_HASH:=fd7f5571b1f64f26b5ca520a3e1fefb33c190f3732b931051c23a76bdba5000e
-PKG_GIT_SHORT_COMMIT:=8728dd2 # SHA1 used within the docker executables
+PKG_HASH:=b80142035de46904605fb7b8f18075cd94154f8c3d67ff346ea554d1e9d579b9
+PKG_GIT_SHORT_COMMIT:=b0f5bc3 # SHA1 used within the docker executables
PKG_MAINTAINER:=Gerard Ryan <G.M0N3Y.2503@gmail.com>
json_add_string "" "${1}"
}
+find_network_device() {
+ local device="${1}"
+ local device_section=""
+
+ check_device() {
+ local cfg="${1}"
+ local device="${2}"
+
+ local type name
+ config_get type "${cfg}" type
+ config_get name "${cfg}" name
+
+ [ "${type}" = "bridge" ] && [ "${name}" = "${device}" ] \
+ && device_section="${cfg}"
+ }
+
+ config_load network
+ config_foreach check_device device "${device}"
+
+ echo "${device_section}"
+}
+
boot() {
uciadd
rc_procd start_service
# Add network interface
if ! uci_quiet get network.${iface}; then
- logger -t "dockerd-init" -p notice "Adding docker default interface to network uci config (${iface})"
+ logger -t "dockerd-init" -p notice "Adding interface '${iface}' to network config"
uci_quiet add network interface
uci_quiet rename network.@interface[-1]="${iface}"
- uci_quiet set network.@interface[-1].ifname="${device}"
+ uci_quiet set network.@interface[-1].device="${device}"
uci_quiet set network.@interface[-1].proto="none"
uci_quiet set network.@interface[-1].auto="0"
uci_quiet commit network
fi
# Add docker bridge device
- if ! uci_quiet get network.${device}; then
- logger -t "dockerd-init" -p notice "Adding docker default bridge device to network uci config (${device})"
+ if [ "$(find_network_device "$device")" = "" ]; then
+ logger -t "dockerd-init" -p notice "Adding bridge device '${device}' to network config"
uci_quiet add network device
- uci_quiet rename network.@device[-1]="${device}"
uci_quiet set network.@device[-1].type="bridge"
uci_quiet set network.@device[-1].name="${device}"
- uci_quiet add_list network.@device[-1].ifname="${device}"
uci_quiet commit network
+ else
+ logger -t "dockerd-init" -p notice "Bridge device '${device}' already defined in network config"
fi
# Add firewall zone
if ! uci_quiet get firewall.${zone}; then
- logger -t "dockerd-init" -p notice "Adding docker default firewall zone to firewall uci config (${zone})"
+ logger -t "dockerd-init" -p notice "Adding firewall zone '${zone}' to firewall config"
uci_quiet add firewall zone
uci_quiet rename firewall.@zone[-1]="${zone}"
- uci_quiet set firewall.@zone[-1].network="${iface}"
uci_quiet set firewall.@zone[-1].input="ACCEPT"
uci_quiet set firewall.@zone[-1].output="ACCEPT"
uci_quiet set firewall.@zone[-1].forward="ACCEPT"
uci_quiet commit firewall
fi
+ # Add interface to firewall zone
+ if uci_quiet get firewall.${zone}; then
+ uci_quiet del_list firewall.${zone}.network="${iface}"
+ uci_quiet add_list firewall.${zone}.network="${iface}"
+ uci_quiet commit firewall
+ fi
+
reload_config
}
exit 0
}
- if uci_quiet get network.${device}; then
- logger -t "dockerd-init" -p notice "Deleting docker default bridge device from network uci config (${device})"
- uci_quiet delete network.${device}
+ # Remove network device
+ if uci_quiet delete network.$(find_network_device "${device}"); then
+ logger -t "dockerd-init" -p notice "Deleting bridge device '${device}' from network config"
uci_quiet commit network
fi
+ # Remove network interface
if uci_quiet get network.${iface}; then
- logger -t "dockerd-init" -p notice "Deleting docker default interface from network uci config (${iface})"
+ logger -t "dockerd-init" -p notice "Deleting interface '${iface}' from network config"
uci_quiet delete network.${iface}
uci_quiet commit network
fi
+ # Remove interface from firewall zone
if uci_quiet get firewall.${zone}; then
- logger -t "dockerd-init" -p notice "Deleting docker firewall zone from firewall uci config (${zone})"
- uci_quiet delete firewall.${zone}
+ logger -t "dockerd-init" -p notice "Deleting network interface '${iface}' in zone '${zone}' from firewall config"
+ uci_quiet del_list firewall.${zone}.network="${iface}"
+ uci_quiet commit firewall
+ # Remove Firewall zone if network is empty
+ if ! uci_quiet get firewall.${zone}.network; then
+ logger -t "dockerd-init" -p notice "Deleting firewall zone '${zone}' from firewall config"
+ uci_quiet delete firewall.${zone}
+ fi
uci_quiet commit firewall
fi
PKG_USE_MIPS16:=0
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/domoticz
SECTION:=utils
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/libecdsautil
SECTION:=libs
include $(TOPDIR)/rules.mk
PKG_NAME:=fish
-PKG_VERSION:=3.2.1
+PKG_VERSION:=3.2.2
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/fish-shell/fish-shell/releases/download/$(PKG_VERSION)
-PKG_HASH:=d8e49f4090d3778df17dd825e4a2a80192015682423cd9dd02b6675d65c3af5b
+PKG_HASH:=5944da1a8893d11b0828a4fd9136ee174549daffb3d0adfdd8917856fe6b4009
PKG_MAINTAINER:=Curtis Jiang <jqqqqqqqqqq@gmail.com>, Hao Dong <halbertdong@gmail.com>
PKG_LICENSE:=GPL-2.0-only
PKG_CPE_ID:=cpe:/a:fishshell:fish
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/fish
SECTION:=utils
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/gammu
SECTION:=utils
PKG_NAME:=gpsd
PKG_VERSION:=3.21
-PKG_RELEASE:=3
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@SAVANNAH/$(PKG_NAME)
endef
SCONS_VARS += \
+ CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS) -L$(STAGING_DIR)/usr/lib" \
LINKFLAGS="$(TARGET_LDFLAGS)"
SCONS_OPTIONS += \
implicit_link=no \
chrpath=no \
manbuild=no \
- sysroot="$(STAGING_DIR)" \
+ sysroot="$(TOOLCHAIN_DIR)" \
target="$(TARGET_CROSS:-=)"
define Build/InstallDev
include $(TOPDIR)/rules.mk
PKG_NAME:=hdparm
-PKG_VERSION:=9.60
-PKG_RELEASE:=1
+PKG_VERSION:=9.62
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/$(PKG_NAME)
-PKG_HASH:=8397739c73e44d5ab96c4aef28fa9c0147276d53a1b5657ce04c4565cf6635cc
+PKG_HASH:=2c0f9d75cdbeda928a25a128cd3d0b7120445ec0910c0b29d4c1038ed1be777f
PKG_MAINTAINER:=
PKG_LICENSE:=BSD-Style Open Source License
include $(TOPDIR)/rules.mk
PKG_NAME:=less
-PKG_VERSION:=563
-PKG_RELEASE:=1
+PKG_VERSION:=590
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.greenwoodsoftware.com/less
-PKG_HASH:=ce5b6d2b9fc4442d7a07c93ab128d2dff2ce09a1d4f2d055b95cf28dd0dc9a9a
+PKG_HASH:=6aadf54be8bf57d0e2999a3c5d67b1de63808bb90deb8f77b028eafae3a08e10
PKG_LICENSE:=GPL-3.0-or-later
PKG_LICENSE_FILES:=COPYING
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://$(GO_PKG)
-PKG_SOURCE_VERSION:=b3507428be5b458cb0e2b4086b13531fb0706e46
-PKG_SOURCE_DATE:=2021-01-26
-PKG_MIRROR_HASH:=421d1b7cd95d0d0ec2801ebb0b360416cd2382e1ef9e70f4ca5cb63fb6a4ee8c
+PKG_SOURCE_VERSION:=64b7a4574d1426139437d20e81c0b6d391130ec8
+PKG_SOURCE_DATE:=2021-05-25
+PKG_MIRROR_HASH:=4e3463c3d723a7a9b9d682515084e667feb24ca297cfbc05ce1768bed6249752
PKG_MAINTAINER:=Gerard Ryan <G.M0N3Y.2503@gmail.com>
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/nls.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
MARIADB_COMMON_DEPENDS := \
$(ICONV_DEPENDS) \
include $(TOPDIR)/rules.mk
PKG_NAME:=mg
-PKG_VERSION:=6.8.1
+PKG_VERSION:=6.9
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/ibara/mg/tar.gz/$(PKG_NAME)-$(PKG_VERSION)?
-PKG_HASH:=d14c6f3a945d9f5241f20aea8553914ec28d93218e0b091161c122937c56d3e4
+PKG_HASH:=1f5194ceb0062934a6aed12cfb9bfa6d22b7e95069995a7d78cf9bb17e3b4423
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_NAME)-$(PKG_VERSION)
PKG_MAINTAINER:=Hirokazu MORIKAWA <morikw2@gmail.com>
# Option variables
if [ ! -z "$PREFIX" ] ; then
prefix="$PREFIX"
-@@ -327,79 +254,9 @@ if [ $static -ne 0 ] ; then
+@@ -327,80 +254,9 @@ if [ $static -ne 0 ] ; then
ldflags="${ldflags}-static"
fi
-case "x$os" in
- "xLinux"|"xCYGWIN"*)
- cflags="$cflags -D_GNU_SOURCE -D__dead=\"__attribute__((__noreturn__))\" -Dst_mtimespec=st_mtim"
+- libs="$libs -lutil"
- ;;
- "xDarwin")
- cflags="$cflags -DMSG_NOSIGNAL=SO_NOSIGPIPE -DLOGIN_NAME_MAX=MAXLOGNAME"
- ;;
-esac
+# OpenWrt
-+libs='-lncurses -lpcreposix'
++libs='-lncurses -lpcreposix -lutil'
+cflags="$cflags -D_GNU_SOURCE -D__dead=\"__attribute__((__noreturn__))\" -Dst_mtimespec=st_mtim"
cat << EOF > config.h
include $(TOPDIR)/rules.mk
PKG_NAME:=moreutils
-PKG_VERSION:=0.64
-PKG_RELEASE:=1
+PKG_VERSION:=0.65
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://git.kitenet.net/index.cgi/moreutils.git/snapshot
-PKG_HASH:=fed203542c5c2b55c3a41d21bca5bc627ec1f6d7313ed2f758c69798d65770ec
+PKG_HASH:=60c9f6b55204e64cfcd12fd66e75cf7a061b6761f3d5b7797f2452cb17598881
PKG_MAINTAINER:=Nikil Mehta <nikil.mehta@gmail.com>
PKG_LICENSE:=GPL-2.0-or-later
include $(TOPDIR)/rules.mk
PKG_NAME:=nano
-PKG_VERSION:=5.7
+PKG_VERSION:=5.8
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNU/nano
-PKG_HASH:=d4b181cc2ec11def3711b4649e34f2be7a668e70ab506860514031d069cccafa
+PKG_HASH:=e43b63db2f78336e2aa123e8d015dbabc1720a15361714bfd4b1bb4e5e87768c
PKG_LICENSE:=GPL-3.0-or-later
PKG_LICENSE_FILES:=COPYING
PKG_BUILD_DEPENDS:=boost
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/netwhere
SECTION:=utils
PKG_CPE_ID:=cpe:/a:openobex:openobex
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/openobex/Default
TITLE:=Open Source impl of the OBject EXchange protocol
--- /dev/null
+menu "Configuration"
+ depends on PACKAGE_parted
+
+config PARTED_READLINE
+ bool "Use readline library"
+ depends on PACKAGE_parted
+ default y
+
+config PARTED_LVM2
+ bool "Support LVM"
+ depends on PACKAGE_parted
+ default n
+
+endmenu
--- /dev/null
+# SPDX-License-Identifier: GPL-2.0-only
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=parted
+PKG_VERSION:=3.4
+PKG_RELEASE:=$(AUTORELEASE)
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=http://ftp.gnu.org/gnu/parted/
+PKG_HASH:=e1298022472da5589b7f2be1d5ee3c1b66ec3d96dfbad03dc642afd009da5342
+
+PKG_BUILD_PARALLEL:=1
+PKG_INSTALL:=1
+
+PKG_MAINTAINER:=Oskari Rauta <oskari.rauta@gmail.com>
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/parted
+ SECTION:=utils
+ CATEGORY:=Utilities
+ TITLE:=GNU Parted
+ SUBMENU:=Disc
+ DEPENDS:=+libblkid +libuuid +PARTED_READLINE:libreadline +CONFIG_PARTED_READLINE:libncurses +PARTED_LVM2:libdevmapper
+endef
+
+define Package/parted/description
+ GNU Parted manipulates partition tables. This is useful for
+ creating space for new operating systems, reorganizing
+ disk usage, copying data on hard disks and disk imaging.
+endef
+
+define Package/parted/config
+ source "$(SOURCE)/Config.in"
+endef
+
+ifneq ($(CONFIG_PARTED_READLINE),y)
+ CONFIGURE_ARGS += --without-readline
+endif
+
+ifneq ($(CONFIG_PARTED_LVM2),y)
+ CONFIGURE_ARGS += --disable-device-mapper
+endif
+
+define Package/parted/install
+ $(INSTALL_DIR) $(1)/usr/lib $(1)/sbin
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so** $(1)/usr/lib/
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/parted $(1)/sbin/
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/partprobe $(1)/sbin/
+endef
+
+$(eval $(call BuildPackage,parted))
--- /dev/null
+#!/bin/sh
+
+case "$1" in
+ "partprobe")
+ test $(/sbin/partprobe --version | grep '^Copyright' | wc -l) -gt 0
+ ;;
+ "parted")
+ test $(/sbin/parted --version | grep '^Copyright' | wc -l) -gt 0
+ ;;
+esac
include $(TOPDIR)/rules.mk
PKG_NAME:=podman
-PKG_VERSION:=3.1.2
+PKG_VERSION:=3.2.0
PKG_RELEASE:=$(AUTORELEASE)
-PKG_HASH:=5a0d42e03d15e32c5c54a147da5ef1b8928ec00982ac9e3f1edc82c5e614b6d2
+PKG_HASH:=1206377b12c11d4065bc4789fa104ca139ba77bb5b33541f07e8e95ae4d2932a
PKG_SOURCE_URL:=https://github.com/containers/podman/archive/v$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
$(INSTALL_DATA) ./files/containers.conf $(1)/etc/containers/containers.conf
$(INSTALL_DIR) $(1)/etc/cni/net.d
$(INSTALL_CONF) $(PKG_BUILD_DIR)/cni/87-podman-bridge.conflist $(1)/etc/cni/net.d/
+ $(INSTALL_DIR) $(1)/usr/share/containers
+ $(INSTALL_CONF) $(PKG_BUILD_DIR)/vendor/github.com/containers/common/pkg/seccomp/seccomp.json $(1)/usr/share/containers/
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/podman.init $(1)/etc/init.d/podman
$(SED) 's/driver = \"\"/driver = \"overlay\"/g' $(1)/etc/containers/storage.conf
-- Metrics web server
-- Copyright (c) 2016 Jeff Schornick <jeff@schornick.org>
--- Copyright (c) 2015 Kevin Lyda
+-- Copyright (c) 2015 Kevin Lyda <kevin@lyda.ie>
-- Licensed under the Apache License, Version 2.0
socket = require("socket")
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/rpcd-mod-lxc
SECTION:=libs
PKG_MAINTAINER:=Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr>
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/rtl-sdr/Default
TITLE:=Software Defined Radio with Realtek RTL2832U
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/rtl_433
TITLE:=Realtek RTL2832 based 433.92MHz generic data receiver
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/rtty/Default
TITLE:=Access your terminals from anywhere via the web
include $(TOPDIR)/rules.mk
PKG_NAME:=runc
-PKG_VERSION:=1.0.0-rc93
+PKG_VERSION:=1.0.0-rc95
PKG_RELEASE:=1
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/opencontainers/runc/tar.gz/v${PKG_VERSION}?
-PKG_HASH:=e42456078d2f76c925cdd656e4f423b918525d8188521de05e893b6bb473a6f8
-PKG_SOURCE_VERSION:=12644e614e25b05da6fd08a38ffa0cfe1903fdec
+PKG_HASH:=02dac7f1a0dcfe55dd9820df787adedf030060870354915e7bba86f8487ce93c
+PKG_SOURCE_VERSION:=b9ee9c6314599f1b4a7f497e1f1f856fe433d3b7
PKG_MAINTAINER:=Gerard Ryan <G.M0N3Y.2503@gmail.com>
depends on PACKAGE_squashfs-tools-mksquashfs || PACKAGE_squashfs-tools-unsquashfs
bool "Enable XZ support"
select PACKAGE_liblzma
- default n
+ default y
config SQUASHFS_TOOLS_ZSTD_SUPPORT
depends on PACKAGE_squashfs-tools-mksquashfs || PACKAGE_squashfs-tools-unsquashfs
-#
+#
# Copyright (C) 2016 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
PKG_NAME:=squashfs-tools
PKG_VERSION:=4.4
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=COPYING
include $(TOPDIR)/rules.mk
PKG_NAME:=stress-ng
-PKG_VERSION:=0.12.07
+PKG_VERSION:=0.12.10
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://kernel.ubuntu.com/~cking/tarballs/stress-ng
-PKG_HASH:=cf73e3a4c7d95afa46aa27fb9283a8a988f3971de4ce6ffe9f651ca341731ead
+PKG_HASH:=bd167b6559fa8a28680371b1defd3ffe2344eb550129d58dd7d5e2d568f2786e
PKG_MAINTAINER:=Alexandru Ardelean <ardeleanalex@gmail.com>
PKG_LICENSE:=GPL-2.0-only
+++ /dev/null
---- a/stress-fp-error.c
-+++ b/stress-fp-error.c
-@@ -119,42 +119,43 @@ static int stress_fp_error(const stress_
- do {
- volatile double d1, d2;
-
--#if defined(EDOM)
-+#if defined(EDOM) && defined(FE_INVALID)
- stress_fp_clear_error();
- stress_fp_check(args, "log(-1.0)", log(-1.0), NAN,
- true, false, EDOM, FE_INVALID);
- #endif
-
--#if defined(ERANGE)
-+#if defined(ERANGE) && defined(FE_DIVBYZERO)
- stress_fp_clear_error();
- stress_fp_check(args, "log(0.0)", log(0.0), -HUGE_VAL,
- false, false, ERANGE, FE_DIVBYZERO);
- #endif
-
--#if defined(EDOM)
-+#if defined(EDOM) && defined(FE_INVALID)
- stress_fp_clear_error();
- stress_fp_check(args, "log2(-1.0)", log2(-1.0), NAN,
- true, false, EDOM, FE_INVALID);
- #endif
-
--#if defined(ERANGE)
-+#if defined(ERANGE) && defined(FE_DIVBYZERO)
- stress_fp_clear_error();
- stress_fp_check(args, "log2(0.0)", log2(0.0), -HUGE_VAL,
- false, false, ERANGE, FE_DIVBYZERO);
- #endif
-
--#if defined(EDOM)
-+#if defined(EDOM) && defined(FE_INVALID)
- stress_fp_clear_error();
- stress_fp_check(args, "sqrt(-1.0)", sqrt(-1.0), NAN,
- true, false, EDOM, FE_INVALID);
- #endif
-
--#if defined(EDOM)
-+#if defined(EDOM) && defined(FE_INVALID)
- stress_fp_clear_error();
- stress_fp_check(args, "sqrt(-1.0)", sqrt(-1.0), NAN,
- true, false, EDOM, FE_INVALID);
- #endif
-
-+#if defined(FE_INEXACT)
- /*
- * Use volatiles to force compiler to generate code
- * to perform run time computation of 1.0 / M_PI
-@@ -175,14 +176,15 @@ static int stress_fp_error(const stress_
- stress_fp_check(args, "DBL_MAX + DBL_MAX / 2.0",
- DBL_MAX + DBL_MAX / 2.0, INFINITY,
- false, true, 0, FE_OVERFLOW | FE_INEXACT);
-+#endif
-
--#if defined(ERANGE)
-+#if defined(ERANGE) && defined(FE_UNDERFLOW)
- stress_fp_clear_error();
- stress_fp_check(args, "exp(-1000000.0)", exp(-1000000.0), 0.0,
- false, false, ERANGE, FE_UNDERFLOW);
- #endif
-
--#if defined(ERANGE)
-+#if defined(ERANGE) && defined(FE_OVERFLOW)
- stress_fp_clear_error();
- stress_fp_check(args, "exp(DBL_MAX)", exp(DBL_MAX), HUGE_VAL,
- false, false, ERANGE, FE_OVERFLOW);
include $(TOPDIR)/rules.mk
PKG_NAME:=sumo
-PKG_VERSION:=1.8.0
-PKG_RELEASE:=1
+PKG_VERSION:=1.9.2
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-src-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/sumo
-PKG_HASH:=fb0636152085153155ddb41841f0175c5f1e7989907b883f6c7453c63af49edb
+PKG_HASH:=193a8ab14bb305d3967625d76cd291f5c55bb906817465f2a12c2e69f4b80813
PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>
PKG_LICENSE:=GPL-3.0-or-later
PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/sumo
SECTION:=utils
include $(TOPDIR)/rules.mk
PKG_NAME:=syncthing
-PKG_VERSION:=1.14.0
+PKG_VERSION:=1.17.0
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=syncthing-source-v$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/syncthing/syncthing/releases/download/v$(PKG_VERSION)
-PKG_HASH:=55a6fb08a9dbc1a31a6b429a16abb3a76d8c24b491a86a52170ddaadea33f683
+PKG_HASH:=625412991717e0d442e24beac88e4b7a16545fbc8c0afffeebbe95dbeae3be33
PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)/$(PKG_NAME)
include $(TOPDIR)/rules.mk
PKG_NAME:=tang
-PKG_VERSION:=8
-PKG_RELEASE:=1
+PKG_VERSION:=10
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/latchset/$(PKG_NAME)/releases/download/v$(PKG_VERSION)/
-PKG_HASH:=03958bf27c24aa9892f6138d287d39bcc149e7ad72163c27b529aa3c6b066ede
+PKG_HASH:=082f17e031708ab5e2f88c9b767d228bcf92a0d089fdb164d4ae93845cbd2a48
PKG_MAINTAINER:=Tibor Dudlák <tibor.dudlak@gmail.com>
PKG_LICENSE:=GPL-3.0-or-later
define Package/tang/postinst
#!/bin/sh
if [ -z "$${IPKG_INSTROOT}" ]; then
- mkdir -p /usr/share/tang/db && mkdir -p /usr/share/tang/cache
+ mkdir -p /usr/share/tang/db
KEYS=$(find /usr/share/tang/db/ -name "*.jw*" -maxdepth 1 | wc -l)
if [ "${KEYS}" = "0" ]; then # if db is empty generate new key pair
/usr/libexec/tangd-keygen /usr/share/tang/db/
- elif [ "${KEYS}" = "1" ]; then # having 1 key should not happen
- (>&2 echo "Please check the Tang's keys in /usr/share/tang/db \
-and regenate cache using /usr/libexec/tangd-update script.")
- else
- /usr/libexec/tangd-update /usr/share/tang/db/ /usr/share/tang/cache/
- fi
(cat /etc/services | grep -E "tangd.*8888\/tcp") > /dev/null \
|| echo -e "tangd\t\t8888/tcp" >> /etc/services
fi
--- /dev/null
+--- a/meson.build
++++ b/meson.build
+@@ -54,7 +54,7 @@ compiler = meson.get_compiler('c')
+ if not compiler.has_header('http_parser.h',args : '-I/usr/local/include')
+ error('http-parser devel files not found.')
+ endif
+-http_parser = compiler.find_library('http_parser',dirs:['/usr/lib','/usr/local/lib'])
++http_parser = compiler.find_library('http_parser')
+
+ licenses = ['COPYING']
+ libexecbins = []
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/taskwarrior
TITLE:=taskwarrior
include $(TOPDIR)/rules.mk
PKG_NAME:=tcsh
-PKG_VERSION:=6.22.03
-PKG_RELEASE:=1
+PKG_VERSION:=6.22.04
+PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:= \
https://astron.com/pub/tcsh/old \
https://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh \
https://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/old
-PKG_HASH:=be2cfd653d2a0c7f506d2dd14c12324ba749bd484037be6df44a3973f52262b7
+PKG_HASH:=eb16356243218c32f39e07258d72bf8b21e62ce94bb0e8a95e318b151397e231
PKG_MAINTAINER:=Nuno Goncalves <nunojpg@gmail.com>
PKG_LICENSE:=BSD-3-Clause
@@ -668,9 +668,9 @@ int
GetCmdChar(Char ch)
{
- #ifndef WINNT_NATIVE // We use more than 256 for various extended keys
+ #ifndef WINNT_NATIVE // We use more than 256 for various extended keys
- wint_t c = ch & CHAR;
+ Char c = ch & CHAR;
#else
PKG_BUILD_DEPENDS:=argp-standalone
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/telldus-core
SECTION:=utils
CMAKE_BINARY_SUBDIR:=openwrt-build
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/tesseract
MENU:=1
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/tini
SECTION:=utils
include $(TOPDIR)/rules.mk
PKG_NAME:=tmux
-PKG_VERSION:=3.2
+PKG_VERSION:=3.2a
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/tmux/tmux/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=290a2f25a2f26c649f7ec7f2880586b8d3f43e24d7cb42c691f430941edb4fcf
+PKG_HASH:=497bc4ee16f10b53b161bf0253b6f9e20cd0f86c5d0104f149212cb0778ae13a
PKG_MAINTAINER:=Maxim Storchak <m.storchak@gmail.com>
PKG_LICENSE:=ISC
-commit bb6242675ad0c7447daef148fffced882e5b4a61
-Author: Nicholas Marriott <nicholas.marriott@gmail.com>
-Date: Thu Apr 15 06:45:19 2021 +0100
-
- Add crosscompiling fallbacks, from Hasso Tepper.
-
--- a/configure.ac
+++ b/configure.ac
-@@ -163,6 +163,7 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM(
- [return (reallocarray(NULL, 1, 1) == NULL);]
- )],
- AC_MSG_RESULT(yes),
-+ [AC_LIBOBJ(reallocarray) AC_MSG_RESULT([no])],
- [AC_LIBOBJ(reallocarray) AC_MSG_RESULT([no])]
- )
- AC_MSG_CHECKING([for working recallocarray])
-@@ -171,6 +172,7 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM(
- [return (recallocarray(NULL, 1, 1, 1) == NULL);]
- )],
- AC_MSG_RESULT(yes),
-+ [AC_LIBOBJ(recallocarray) AC_MSG_RESULT([no])],
- [AC_LIBOBJ(recallocarray) AC_MSG_RESULT([no])]
+@@ -160,6 +160,7 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM(
+ [return (strtonum("0", 0, 1, NULL) == 0 ? 0 : 1);]
+ )],
+ [AC_DEFINE(HAVE_STRTONUM) AC_MSG_RESULT(yes)],
++ [AC_LIBOBJ(strtonum) AC_MSG_RESULT(no)],
+ [AC_LIBOBJ(strtonum) AC_MSG_RESULT(no)]
)
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/ttyd
SECTION:=utils
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/uledd
SECTION:=utils
include $(TOPDIR)/rules.mk
PKG_NAME:=unrar
-PKG_VERSION:=6.0.4
+PKG_VERSION:=6.0.6
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=unrarsrc-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://www.rarlab.com/rar
-PKG_HASH:=130197e495d6e2c2ee790a5beee123edeed642508be13f0159672e5397aca6c1
+PKG_HASH:=011ef7290d3394a62bb5bfced914cd510a7eea7255cf69417f9c952bb6056588
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-$(BUILD_VARIANT)/unrar
PKG_MAINTAINER:=Álvaro Fernández Rojas <noltari@gmail.com>, \
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
-include ../../devel/ninja/ninja-cmake.mk
+include $(INCLUDE_DIR)/cmake.mk
define Package/uvcdynctrl
SECTION:=utils
}
part_fixup() {
- echo "write" | sfdisk --force -q -w never $1
+ echo "write" | sfdisk --force -q -w never "$1"
}
get_free_area() {
local found=
- sfdisk -q -F "$1" 2>/dev/null | while read start end sectors size; do
+ sfdisk -q -F "$1" 2>/dev/null | while read -r start end sectors size; do
case $start in
*"Unpartitioned"* | *"Units:"* | *"Sector"* | *"Start"* )
continue
}
create_lvm_part() {
- local disk=$1
+ local disk="$1"
local freepart
- freepart="$(get_free_area $disk)"
+ freepart="$(get_free_area "$disk")"
if [ "$freepart" ]; then
- echo "$freepart, type=lvm, name=$OWRT_VOLUMES" | sfdisk --force -w never -a $disk
- partx -a $disk 1>/dev/null 2>/dev/null || true
+ echo "$freepart, type=lvm, name=$OWRT_VOLUMES" | sfdisk --force -w never -a "$disk"
+ partx -a "$disk" 1>/dev/null 2>/dev/null || true
return 0
else
return 1
}
lvm_init() {
- lvm pvcreate -f $1
- lvm vgcreate "$2" $1
+ lvm pvcreate -f "$1"
+ lvm vgcreate "$2" "$1"
lvm vgs
}
[ "$diskdev" ] || return
- [ -e "/sys/class/block/$diskdev/device/serial" ] && diskserial="$(cat /sys/class/block/$diskdev/device/serial)"
- [ -e "/sys/class/block/$diskdev/device/cid" ] && diskserial="$diskserial$(cat /sys/class/block/$diskdev/device/cid)"
+ [ -e "/sys/class/block/$diskdev/device/serial" ] && diskserial="$(cat "/sys/class/block/$diskdev/device/serial")"
+ [ -e "/sys/class/block/$diskdev/device/cid" ] && diskserial="$diskserial$(cat "/sys/class/block/$diskdev/device/cid")"
[ "$diskserial" ] || diskserial="$(cat /proc/sys/kernel/random/uuid)"
- diskhash="$(echo $diskserial | sha256sum | cut -d' ' -f1)"
- part_fixup /dev/$diskdev
- create_lvm_part /dev/$diskdev || return
- lvmpart=$(get_partition_by_name_gpt $diskdev $OWRT_VOLUMES)
+ diskhash="$(echo "$diskserial" | sha256sum | cut -d' ' -f1)"
+ part_fixup "/dev/$diskdev"
+ create_lvm_part "/dev/$diskdev" || return
+ lvmpart="$(get_partition_by_name_gpt "$diskdev" "$OWRT_VOLUMES")"
[ "$lvmpart" ] || return
- lvm_init $lvmpart "${OWRT_VOLUMES}-${diskhash:0:16}"
+ lvm_init "$lvmpart" "${OWRT_VOLUMES}-${diskhash:0:16}"
}
autopart_init
}
freebytes() {
- echo $(($vg_free_count * $vg_extent_size * 1024))
+ echo $((vg_free_count * vg_extent_size * 1024))
}
totalbytes() {
- echo $(($vg_extent_count * $vg_extent_size * 1024))
+ echo $((vg_extent_count * vg_extent_size * 1024))
}
existvol() {
getdev() {
existvol "$1" || return 1
exportlv "$1"
- echo $lv_dm_path
+ echo "$lv_dm_path"
}
getsize() {
exportlv "$1"
- [ "$lv_size" ] && echo $lv_size
+ [ "$lv_size" ] && echo "$lv_size"
}
activatevol() {
;;
*)
[ "$lv_active" = "active" ] && return 0
- lvm_cmd lvchange -a y "$lv_full_name" || return $?
lvm_cmd lvchange -k n "$lv_full_name" || return $?
+ lvm_cmd lvchange -a y "$lv_full_name" || return $?
ubus send block.volume "{\"name\": \"$1\", \"action\": \"up\", \"mode\": \"${lv_name:0:2}\", \"device\": \"$lv_dm_path\"}"
return 0
;;
;;
esac
- lvm_cmd lvcreate -p $lvmode -a n -y -W n -Z n -n "${mode}_$1" -l "$size_ext" $vg_name
+ lvm_cmd lvcreate -p "$lvmode" -a n -y -W n -Z n -n "${mode}_$1" -l "$size_ext" "$vg_name"
ret=$?
if [ ! $ret -eq 0 ] || [ "$lvmode" = "r" ]; then
return $ret
exportlv "$1"
[ "$lv_full_name" ] || return 22
lvm_cmd lvchange -a y "$lv_full_name" || return 1
- if [ $lv_size -gt $(( 100 * 1024 * 1024 )) ]; then
+ if [ "$lv_size" -gt $(( 100 * 1024 * 1024 )) ]; then
mkfs.f2fs -f -l "$1" "$lv_path"
ret=$?
[ $ret != 0 ] && [ $ret != 134 ] && return 1
updatevol() {
exportlv "$1"
[ "$lv_full_name" ] || return 2
- [ $lv_size -ge $2 ] || return 27
+ [ "$lv_size" -ge "$2" ] || return 27
case "$lv_path" in
/dev/*/wo_*)
lvm_cmd lvchange -a y -p rw "$lv_full_name"
- dd of=$lv_path
+ dd of="$lv_path"
lvm_cmd lvchange -p r "$lv_full_name"
lvm_cmd lvrename "$lv_full_name" "${lv_full_name%%/*}/ro_$1"
ubus send block.volume "{\"name\": \"$1\", \"action\": \"up\", \"mode\": \"ro\", \"device\": \"$(getdev "$@")\"}"
fi
test -e /sys/class/ubi/version || return 0
-read ubiver < /sys/class/ubi/version
+read -r ubiver < /sys/class/ubi/version
[ "$ubiver" = "1" ] || return 1
test -e /sys/devices/virtual/ubi || return 0
ubidev=$(ls -1 /sys/devices/virtual/ubi | head -n 1)
-read ebsize < "/sys/devices/virtual/ubi/${ubidev}/eraseblock_size"
+read -r ebsize < "/sys/devices/virtual/ubi/${ubidev}/eraseblock_size"
freebytes() {
- read availeb < "/sys/devices/virtual/ubi/${ubidev}/avail_eraseblocks"
+ read -r availeb < "/sys/devices/virtual/ubi/${ubidev}/avail_eraseblocks"
echo $((availeb * ebsize))
}
totalbytes() {
- read totaleb < "/sys/devices/virtual/ubi/${ubidev}/total_eraseblocks"
+ read -r totaleb < "/sys/devices/virtual/ubi/${ubidev}/total_eraseblocks"
echo $((totaleb * ebsize))
}
getdev() {
- local voldir volname devname
- for voldir in /sys/devices/virtual/ubi/${ubidev}/${ubidev}_*; do
- read volname < "${voldir}/name"
+ local voldir volname
+ for voldir in "/sys/devices/virtual/ubi/${ubidev}/${ubidev}_"*; do
+ read -r volname < "${voldir}/name"
case "$volname" in
uvol-[rw][owpd]-$1)
basename "$voldir"
vol_is_mode() {
local voldev="$1"
local volname
- read volname < "/sys/devices/virtual/ubi/${ubidev}/${voldev}/name"
+ read -r volname < "/sys/devices/virtual/ubi/${ubidev}/${voldev}/name"
case "$volname" in
uvol-$2-*)
return 0
}
getstatus() {
- local voldev=$(getdev "$@")
+ local voldev
+ voldev="$(getdev "$@")"
[ "$voldev" ] || return 2
- vol_is_mode $voldev wo && return 22
- vol_is_mode $voldev wp && return 16
- vol_is_mode $voldev wd && return 1
- vol_is_mode $voldev ro && [ ! -e "/dev/ubiblock${voldev:3}" ] && return 1
+ vol_is_mode "$voldev" wo && return 22
+ vol_is_mode "$voldev" wp && return 16
+ vol_is_mode "$voldev" wd && return 1
+ vol_is_mode "$voldev" ro && [ ! -e "/dev/ubiblock${voldev:3}" ] && return 1
return 0
}
getsize() {
local voldev
- voldev=$(getdev "$@")
+ voldev="$(getdev "$@")"
[ "$voldev" ] || return 2
- cat /sys/devices/virtual/ubi/${ubidev}/${voldev}/data_bytes
+ cat "/sys/devices/virtual/ubi/${ubidev}/${voldev}/data_bytes"
}
getuserdev() {
- local voldev=$(getdev "$@")
+ local voldev
+ voldev="$(getdev "$@")"
[ "$voldev" ] || return 2
- if vol_is_mode $voldev ro ; then
+ if vol_is_mode "$voldev" ro ; then
echo "/dev/ubiblock${voldev:3}"
- elif vol_is_mode $voldev rw ; then
+ elif vol_is_mode "$voldev" rw ; then
echo "/dev/$voldev"
fi
}
mkubifs() {
- local tmp_mp=$(mktemp -d)
- mount -t ubifs $1 $tmp_mp
- umount $tmp_mp
- rmdir $tmp_mp
+ local tmp_mp
+ tmp_mp="$(mktemp -d)"
+ mount -t ubifs "$1" "$tmp_mp"
+ umount "$tmp_mp"
+ rmdir "$tmp_mp"
}
createvol() {
- local mode ret
- local voldev=$(getdev "$@")
+ local mode ret voldev
+ voldev=$(getdev "$@")
[ "$voldev" ] && return 17
case "$3" in
ro|wo)
return 22
;;
esac
- ubimkvol /dev/$ubidev -N "uvol-$mode-$1" -s "$2"
+ ubimkvol "/dev/$ubidev" -N "uvol-$mode-$1" -s "$2"
ret=$?
[ $ret -eq 0 ] || return $ret
- voldev=$(getdev "$@")
- ubiupdatevol -t /dev/$voldev
+ voldev="$(getdev "$@")"
+ ubiupdatevol -t "/dev/$voldev"
[ "$mode" = "wp" ] || return 0
- mkubifs /dev/$voldev
- ubirename /dev/$ubidev uvol-wp-$1 uvol-rw-$1
+ mkubifs "/dev/$voldev"
+ ubirename "/dev/$ubidev" "uvol-wp-$1" "uvol-rw-$1"
ubus send block.volume "{\"name\": \"$1\", \"action\": \"up\", \"mode\": \"rw\", \"fstype\": \"ubifs\", \"device\": \"/dev/$voldev\"}"
}
removevol() {
- local voldev=$(getdev "$@")
- local evdata
+ local voldev evdata
+ voldev=$(getdev "$@")
[ "$voldev" ] || return 2
- if vol_is_mode $voldev rw ; then
+ if vol_is_mode "$voldev" rw ; then
evdata="{\"name\": \"$1\", \"action\": \"down\", \"device\": \"/dev/$voldev\"}"
- elif vol_is_mode $voldev ro && [ -e "/dev/ubiblock${voldev:3}" ]; then
+ elif vol_is_mode "$voldev" ro && [ -e "/dev/ubiblock${voldev:3}" ]; then
evdata="{\"name\": \"$1\", \"action\": \"down\", \"device\": \"/dev/ubiblock${voldev:3}\"}"
fi
- local volnum=${voldev#${ubidev}_}
- ubirmvol /dev/$ubidev -n $volnum || return $?
+ local volnum="${voldev#${ubidev}_}"
+ ubirmvol "/dev/$ubidev" -n "$volnum" || return $?
[ "$evdata" ] && ubus send block.volume "$evdata"
}
activatevol() {
- local voldev=$(getdev "$@")
+ local voldev
+ voldev="$(getdev "$@")"
[ "$voldev" ] || return 2
- vol_is_mode $voldev rw && return 0
- vol_is_mode $voldev wo && return 22
- vol_is_mode $voldev wp && return 16
- if vol_is_mode $voldev ro; then
+ vol_is_mode "$voldev" rw && return 0
+ vol_is_mode "$voldev" wo && return 22
+ vol_is_mode "$voldev" wp && return 16
+ if vol_is_mode "$voldev" ro; then
[ -e "/dev/ubiblock${voldev:3}" ] && return 0
- ubiblock --create /dev/$voldev
+ ubiblock --create "/dev/$voldev"
ubus send block.volume "{\"name\": \"$1\", \"action\": \"up\", \"mode\": \"ro\", \"device\": \"/dev/ubiblock${voldev:3}\"}"
return 0
- elif vol_is_mode $voldev wd; then
- ubirename /dev/$ubidev uvol-wd-$1 uvol-rw-$1
+ elif vol_is_mode "$voldev" wd; then
+ ubirename "/dev/$ubidev" "uvol-wd-$1" "uvol-rw-$1"
ubus send block.volume "{\"name\": \"$1\", \"action\": \"up\", \"mode\": \"rw\", \"fstype\": \"ubifs\", \"device\": \"/dev/$voldev\"}"
return 0
fi
}
disactivatevol() {
- local voldev=$(getdev "$@")
+ local voldev
+ voldev="$(getdev "$@")"
[ "$voldev" ] || return 2
- vol_is_mode $voldev wo && return 22
- vol_is_mode $voldev wp && return 16
- if vol_is_mode $voldev ro; then
+ vol_is_mode "$voldev" wo && return 22
+ vol_is_mode "$voldev" wp && return 16
+ if vol_is_mode "$voldev" ro; then
[ -e "/dev/ubiblock${voldev:3}" ] || return 0
- ubiblock --remove /dev/$voldev || return $?
+ ubiblock --remove "/dev/$voldev" || return $?
ubus send block.volume "{\"name\": \"$1\", \"action\": \"down\", \"mode\": \"ro\", \"device\": \"/dev/ubiblock${voldev:3}\"}"
return 0
- elif vol_is_mode $voldev rw; then
- ubirename /dev/$ubidev uvol-rw-$1 uvol-wd-$1 || return $?
+ elif vol_is_mode "$voldev" rw; then
+ ubirename "/dev/$ubidev" "uvol-rw-$1" "uvol-wd-$1" || return $?
ubus send block.volume "{\"name\": \"$1\", \"action\": \"down\", \"mode\": \"rw\", \"device\": \"/dev/$voldev\"}"
return 0
fi
}
updatevol() {
- local voldev=$(getdev "$@")
+ local voldev
+ voldev="$(getdev "$@")"
[ "$voldev" ] || return 2
[ "$2" ] || return 22
- vol_is_mode $voldev wo || return 22
- ubiupdatevol -s $2 /dev/$voldev -
- ubirename /dev/$ubidev uvol-wo-$1 uvol-ro-$1
- ubiblock --create /dev/$voldev
+ vol_is_mode "$voldev" wo || return 22
+ ubiupdatevol -s "$2" "/dev/$voldev" -
+ ubirename "/dev/$ubidev" "uvol-wo-$1" "uvol-ro-$1"
+ ubiblock --create "/dev/$voldev"
ubus send block.volume "{\"name\": \"$1\", \"action\": \"up\", \"mode\": \"ro\", \"device\": \"/dev/ubiblock${voldev:3}\"}"
}
listvols() {
local volname volmode volsize
- for voldir in /sys/devices/virtual/ubi/${ubidev}/${ubidev}_*; do
- read volname < $voldir/name
+ for voldir in "/sys/devices/virtual/ubi/${ubidev}/${ubidev}_"*; do
+ read -r volname < "$voldir/name"
case "$volname" in
uvol-[rw][wod]*)
- read volsize < $voldir/data_bytes
+ read -r volsize < "$voldir/data_bytes"
;;
*)
continue
;;
esac
- volmode=${volname:5:2}
- volname=${volname:8}
+ volmode="${volname:5:2}"
+ volname="${volname:8}"
echo "$volname $volmode $volsize"
done
}
bootvols() {
local volname volmode volsize voldev fstype
- for voldir in /sys/devices/virtual/ubi/${ubidev}/${ubidev}_*; do
- read volname < $voldir/name
- voldev=$(basename $voldir)
+ for voldir in "/sys/devices/virtual/ubi/${ubidev}/${ubidev}_"*; do
+ read -r volname < "$voldir/name"
+ voldev="$(basename "$voldir")"
fstype=
case "$volname" in
uvol-ro-*)
voldev="/dev/ubiblock${voldev:3}"
- ubiblock --create /dev/$voldev
+ ubiblock --create "/dev/$voldev"
;;
uvol-rw-*)
voldev="/dev/$voldev"
continue
;;
esac
- volmode=${volname:5:2}
- volname=${volname:8}
+ volmode="${volname:5:2}"
+ volname="${volname:8}"
ubus send block.volume "{\"name\": \"$volname\", \"action\": \"up\", \"mode\": \"$volmode\",${fstype:+ \"fstype\": \"$fstype\", }\"device\": \"$voldev\"}"
done
}
return 2
fi
-flock -x /tmp/run/uvol.lock $uvol_backend "$@"
+flock -x /tmp/run/uvol.lock "$uvol_backend" "$@"
include $(TOPDIR)/rules.mk
PKG_NAME:=yq
-PKG_VERSION:=4.9.3
+PKG_VERSION:=4.9.6
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/mikefarah/yq/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=b66b9b4182f8fd23d974c3d35e0552f5fdd5280162cec31102f69c3119ed1694
+PKG_HASH:=40f549d801826b4a7bdad0b2a924f10b354da1d518759b2974e82dda7563f7ee
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
PKG_LICENSE:=MIT