From bbfd3f9709c25d774a2a64f3fd410b5e8339c9d5 Mon Sep 17 00:00:00 2001 From: David Bauer Date: Thu, 30 Mar 2023 04:56:25 +0200 Subject: [PATCH 01/47] respondd: add package This adds the respondd package, a protocol used primarily with Freifunk and the Gluon mesh-framework for collecting statistics. For more information, see the project readme. Ref: https://github.com/freifunk-gluon/respondd/ Tested: mpc85xx-p1020 / mediatek-filogic Signed-off-by: David Bauer --- net/respondd/Makefile | 64 ++++++++++++++++++++++++++++++ net/respondd/files/respondd.config | 8 ++++ net/respondd/files/respondd.init | 56 ++++++++++++++++++++++++++ 3 files changed, 128 insertions(+) create mode 100644 net/respondd/Makefile create mode 100644 net/respondd/files/respondd.config create mode 100644 net/respondd/files/respondd.init diff --git a/net/respondd/Makefile b/net/respondd/Makefile new file mode 100644 index 000000000..d46984acd --- /dev/null +++ b/net/respondd/Makefile @@ -0,0 +1,64 @@ +# +# Copyright (C) 2023 David Bauer +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=respondd +PKG_SOURCE_DATE:=2019-05-01 +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/freifunk-gluon/respondd.git +PKG_SOURCE_VERSION:=58405297e76f97d4752dc7511dc15bbc7a01e586 +PKG_MIRROR_HASH:=22bc00df280fe611cfc895528f17269f03af804ea4c2ca2dc62da2457d3a1ee0 + +PKG_MAINTAINER:=David Bauer +PKG_LICENSE:=BSD-2-Clause + +CMAKE_SOURCE_SUBDIR:=src + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/cmake.mk + +define Package/respondd + SECTION:=net + CATEGORY:=Network + DEPENDS:=@IPV6 +libjson-c + TITLE:=Lightweight metadata multicast-responder +endef + +define Package/respondd/description +respondd is a server distributing information within a network. + +For doing so, respondd spawns a UDP socket (in Gluon 1001/udp), +optionally joining a multicast group. When a request is received, +the information requested is transmitted to the requester. + +All information is organized in a non-hierarchical namespace. +Each entry identifies a request name (e.g. statistics, nodeinfo, ...) +implemented by at least one "provider" C module. The respond is the +result of merging the outputs of all providers for the given request +name. +endef + +define Package/respondd/conffiles +/etc/config/respondd +endef + +define Package/respondd/install + $(INSTALL_DIR) $(1)/usr/bin $(1)/etc/init.d $(1)/etc/config + $(INSTALL_CONF) ./files/respondd.config $(1)/etc/config/respondd + $(INSTALL_BIN) ./files/respondd.init $(1)/etc/init.d/respondd + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/respondd $(1)/usr/bin/ +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(INSTALL_DATA) $(PKG_BUILD_DIR)/src/respondd.h $(1)/usr/include/ +endef + +$(eval $(call BuildPackage,respondd)) diff --git a/net/respondd/files/respondd.config b/net/respondd/files/respondd.config new file mode 100644 index 000000000..7c01ac225 --- /dev/null +++ b/net/respondd/files/respondd.config @@ -0,0 +1,8 @@ +config daemon daemon + option port '1001' + option providers '/lib/respondd' + +config multicast-group lan + option group 'ff02::1' + option disabled '1' + list interface 'br-lan' diff --git a/net/respondd/files/respondd.init b/net/respondd/files/respondd.init new file mode 100644 index 000000000..b17e4b5cb --- /dev/null +++ b/net/respondd/files/respondd.init @@ -0,0 +1,56 @@ +#!/bin/sh /etc/rc.common + +START=99 + +USE_PROCD=1 +PROG=/usr/bin/respondd +NAME=respondd + + +multicast_group() +{ + config_get group "$1" group + config_get interfaces "$1" interface + config_get disabled "$1" disabled 0 + + if [ "$disabled" -gt "0" ]; then + return + fi + + procd_append_param command -g $group + for iface in "$interfaces"; do + procd_append_param command -i "$iface" + done +} + +daemon_settings() +{ + config_get port "$1" port + config_get providers "$1" providers + + procd_append_param command -p "$port" + procd_append_param command -d "$providers" +} + +start_service() +{ + . /lib/functions.sh + . /lib/functions/network.sh + + procd_open_instance + procd_set_param command "$PROG" + + config_load respondd + config_foreach daemon_settings daemon + config_foreach multicast_group multicast-group + + procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5} + procd_set_param stderr 1 + procd_close_instance +} + +service_triggers() +{ + procd_add_config_trigger "config.change" "respondd" /etc/init.d/respondd reload + procd_add_interface_trigger "interface.*" 2000 /etc/init.d/respondd reload +} From 38eeca5df92c6f8fedd153e7383904eb5b893beb Mon Sep 17 00:00:00 2001 From: Glen Huang Date: Wed, 17 May 2023 17:27:38 +0800 Subject: [PATCH 02/47] acme-common: no exporting webroot ACME clients shouldn't deal with deprecated values. They should be processed by acme-common. Reformatting is done by shfmt. Signed-off-by: Glen Huang --- net/acme-acmesh/Makefile | 2 +- net/acme-acmesh/files/hook.sh | 46 ++++++++++++++++----------------- net/acme-common/Makefile | 2 +- net/acme-common/files/acme.init | 2 +- 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/net/acme-acmesh/Makefile b/net/acme-acmesh/Makefile index a5ffe76a5..553d8ddf5 100644 --- a/net/acme-acmesh/Makefile +++ b/net/acme-acmesh/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=acme-acmesh PKG_VERSION:=3.0.1 -PKG_RELEASE:=10 +PKG_RELEASE:=11 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/acmesh-official/acme.sh/tar.gz/$(PKG_VERSION)? diff --git a/net/acme-acmesh/files/hook.sh b/net/acme-acmesh/files/hook.sh index 03343dacb..1e784edc3 100644 --- a/net/acme-acmesh/files/hook.sh +++ b/net/acme-acmesh/files/hook.sh @@ -2,8 +2,6 @@ set -u ACME=/usr/lib/acme/client/acme.sh LOG_TAG=acme-acmesh -# webroot option deprecated, use the exported value directly in the next major version -WEBROOT=${webroot:-$CHALLENGE_DIR} NOTIFY=/usr/lib/acme/notify # shellcheck source=net/acme/files/functions.sh @@ -13,30 +11,32 @@ NOTIFY=/usr/lib/acme/notify export CURL_CA_BUNDLE=/etc/ssl/certs/ca-certificates.crt export NO_TIMESTAMP=1 -link_certs() -{ - local main_domain - local domain_dir - domain_dir="$1" - main_domain="$2" +link_certs() { + local main_domain + local domain_dir + domain_dir="$1" + main_domain="$2" - (umask 077; cat "$domain_dir/fullchain.cer" "$domain_dir/$main_domain.key" > "$domain_dir/combined.cer") + ( + umask 077 + cat "$domain_dir/fullchain.cer" "$domain_dir/$main_domain.key" >"$domain_dir/combined.cer" + ) - if [ ! -e "$CERT_DIR/$main_domain.crt" ]; then + if [ ! -e "$CERT_DIR/$main_domain.crt" ]; then ln -s "$domain_dir/$main_domain.cer" "$CERT_DIR/$main_domain.crt" - fi - if [ ! -e "$CERT_DIR/$main_domain.key" ]; then + fi + if [ ! -e "$CERT_DIR/$main_domain.key" ]; then ln -s "$domain_dir/$main_domain.key" "$CERT_DIR/$main_domain.key" - fi - if [ ! -e "$CERT_DIR/$main_domain.fullchain.crt" ]; then + fi + if [ ! -e "$CERT_DIR/$main_domain.fullchain.crt" ]; then ln -s "$domain_dir/fullchain.cer" "$CERT_DIR/$main_domain.fullchain.crt" - fi - if [ ! -e "$CERT_DIR/$main_domain.combined.crt" ]; then + fi + if [ ! -e "$CERT_DIR/$main_domain.combined.crt" ]; then ln -s "$domain_dir/combined.cer" "$CERT_DIR/$main_domain.combined.crt" - fi - if [ ! -e "$CERT_DIR/$main_domain.chain.crt" ]; then + fi + if [ ! -e "$CERT_DIR/$main_domain.chain.crt" ]; then ln -s "$domain_dir/ca.cer" "$CERT_DIR/$main_domain.chain.crt" - fi + fi } case $1 in @@ -71,7 +71,7 @@ get) case $status in 0) - link_certs "$domain_dir" "$main_domain" + link_certs "$domain_dir" "$main_domain" $NOTIFY renewed exit ;; @@ -121,8 +121,8 @@ get) elif [ "$standalone" = 1 ]; then set -- "$@" --standalone --listen-v6 else - mkdir -p "$WEBROOT" - set -- "$@" --webroot "$WEBROOT" + mkdir -p "$CHALLENGE_DIR" + set -- "$@" --webroot "$CHALLENGE_DIR" fi set -- "$@" --issue --home "$state_dir" @@ -137,7 +137,7 @@ get) case $status in 0) - link_certs "$domain_dir" "$main_domain" + link_certs "$domain_dir" "$main_domain" $NOTIFY issued ;; *) diff --git a/net/acme-common/Makefile b/net/acme-common/Makefile index ac92fc564..324b742b6 100644 --- a/net/acme-common/Makefile +++ b/net/acme-common/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=acme-common -PKG_VERSION:=1.0.3 +PKG_VERSION:=1.0.4 PKG_MAINTAINER:=Toke Høiland-Jørgensen PKG_LICENSE:=GPL-3.0-only diff --git a/net/acme-common/files/acme.init b/net/acme-common/files/acme.init index a97856496..a365ecd3e 100644 --- a/net/acme-common/files/acme.init +++ b/net/acme-common/files/acme.init @@ -53,9 +53,9 @@ load_options() { export dns_wait config_get webroot "$section" webroot - export webroot if [ "$webroot" ]; then log warn "Option \"webroot\" is deprecated, please remove it and change your web server's config so it serves ACME challenge requests from $CHALLENGE_DIR." + CHALLENGE_DIR=$webroot fi } From 6d61014e51266f1cb083d9f31491f9c5fb73eeb0 Mon Sep 17 00:00:00 2001 From: Glen Huang Date: Wed, 17 May 2023 17:53:51 +0800 Subject: [PATCH 03/47] acme: standardize key_type keylength, being an acme.sh value type, uses pure numbers for rsa keys. This can be disorienting for other acme clients. This change introduces a new option "key_type" that aims to remove this ambiguity, and makes all key type names follow the same pattern, making acme-common more client agnostic. Signed-off-by: Glen Huang --- net/acme-acmesh/files/hook.sh | 8 +++++--- net/acme-common/files/acme.init | 14 +++++++++++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/net/acme-acmesh/files/hook.sh b/net/acme-acmesh/files/hook.sh index 1e784edc3..477003e3f 100644 --- a/net/acme-acmesh/files/hook.sh +++ b/net/acme-acmesh/files/hook.sh @@ -44,12 +44,14 @@ get) set -- [ "$debug" = 1 ] && set -- "$@" --debug - case $keylength in - ec-*) + case $key_type in + ec*) + keylength=${key_type/ec/ec-} domain_dir="$state_dir/${main_domain}_ecc" set -- "$@" --ecc ;; - *) + rsa*) + keylength=${key_type#rsa} domain_dir="$state_dir/$main_domain" ;; esac diff --git a/net/acme-common/files/acme.init b/net/acme-common/files/acme.init index a365ecd3e..d4ff51063 100644 --- a/net/acme-common/files/acme.init +++ b/net/acme-common/files/acme.init @@ -39,8 +39,17 @@ load_options() { export domains export main_domain main_domain="$(first_arg $domains)" - config_get keylength "$section" keylength ec-256 - export keylength + config_get keylength "$section" keylength + if [ "$keylength" ]; then + log warn "Option \"keylength\" is deprecated, please use key_type (e.g., ec256, rsa2048) instead." + case $keylength in + ec-*) key_type=${keylength/-/} ;; + *) key_type=rsa$keylength ;; + esac + else + config_get key_type "$section" key_type ec256 + fi + export key_type config_get dns "$section" dns export dns config_get acme_server "$section" acme_server @@ -51,7 +60,6 @@ load_options() { export standalone config_get dns_wait "$section" dns_wait export dns_wait - config_get webroot "$section" webroot if [ "$webroot" ]; then log warn "Option \"webroot\" is deprecated, please remove it and change your web server's config so it serves ACME challenge requests from $CHALLENGE_DIR." From 8f176e30f3dae121e374be4ca7f641cc157ea152 Mon Sep 17 00:00:00 2001 From: Alexandru Ardelean Date: Sun, 30 Oct 2022 19:31:26 +0200 Subject: [PATCH 04/47] numpy: bump version to 1.24.3 Need to also fix build for GCC 13 + musl. Signed-off-by: Alexandru Ardelean --- lang/python/numpy/Makefile | 12 +++++++++--- .../numpy/patches/001-unpin-build-dependencies.patch | 4 ++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lang/python/numpy/Makefile b/lang/python/numpy/Makefile index d7e485d79..bb5b898d1 100644 --- a/lang/python/numpy/Makefile +++ b/lang/python/numpy/Makefile @@ -6,11 +6,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=numpy -PKG_VERSION:=1.23.3 -PKG_RELEASE:=5 +PKG_VERSION:=1.24.3 +PKG_RELEASE:=1 PYPI_NAME:=$(PKG_NAME) -PKG_HASH:=51bf49c0cd1d52be0a240aa66f3458afc4b95d8993d2d04f0d91fa60c10af6cd +PKG_HASH:=ab344f1bf21f140adab8e47fdbc7c35a477dc01408791f8ba00d018dd0bc5155 PKG_MAINTAINER:=Alexandru Ardelean @@ -54,6 +54,12 @@ config NUMPY_OPENBLAS_SUPPORT endmenu endef +ifeq ($(ARCH),x86_64) +# FIXME: temporary fix for x86_64 with GCC 13 + musl; +# numpy does not detect this compiler extension, so we just enable it +TARGET_CFLAGS += -mavx512f +endif + define Build/Prepare/numpy-sitecfg echo "[DEFAULT]" > $(PKG_BUILD_DIR)/site.cfg echo "library_dirs = $(STAGING_DIR)/usr/lib" >> $(PKG_BUILD_DIR)/site.cfg diff --git a/lang/python/numpy/patches/001-unpin-build-dependencies.patch b/lang/python/numpy/patches/001-unpin-build-dependencies.patch index c167f0729..1606762b0 100644 --- a/lang/python/numpy/patches/001-unpin-build-dependencies.patch +++ b/lang/python/numpy/patches/001-unpin-build-dependencies.patch @@ -1,9 +1,9 @@ --- a/pyproject.toml +++ b/pyproject.toml -@@ -2,8 +2,8 @@ +@@ -1,8 +1,8 @@ + [build-system] # Minimum requirements for the build system to execute. requires = [ - "packaging==20.5; platform_machine=='arm64'", # macos M1 - "setuptools==59.2.0", - "wheel==0.37.0", + "setuptools>=59.2.0", From eb40aa1b5dc6b5945b8b53cd5a2cc06303a3d9eb Mon Sep 17 00:00:00 2001 From: Stan Grishin Date: Fri, 26 May 2023 08:24:00 +0000 Subject: [PATCH 05/47] https-dns-proxy: update to 2023-05-25-1 * update to a new upstream commit, fixes #19366 * update patches/010-cmakelists-remove-cflags.patch as upstream file was update * remove patches/020-cmakelists-add-version.patch as version is now set elsewhere * add patches/020-src-options.c-add-version.patch to set the version information * adjust PROCD START time to 95 Signed-off-by: Stan Grishin --- net/https-dns-proxy/Makefile | 8 +-- .../files/https-dns-proxy.init | 2 +- .../010-cmakelists-remove-cflags.patch | 4 +- .../patches/020-cmakelists-add-version.patch | 51 ------------------- .../020-src-options.c-add-version.patch | 11 ++++ 5 files changed, 18 insertions(+), 58 deletions(-) delete mode 100644 net/https-dns-proxy/patches/020-cmakelists-add-version.patch create mode 100644 net/https-dns-proxy/patches/020-src-options.c-add-version.patch diff --git a/net/https-dns-proxy/Makefile b/net/https-dns-proxy/Makefile index f7d7cc1bf..af172e4af 100644 --- a/net/https-dns-proxy/Makefile +++ b/net/https-dns-proxy/Makefile @@ -1,14 +1,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=https-dns-proxy -PKG_VERSION:=2022-10-15 -PKG_RELEASE:=12 +PKG_VERSION:=2023-05-25 +PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/aarond10/https_dns_proxy/ PKG_SOURCE_DATE:=$(PKG_VERSION) -PKG_SOURCE_VERSION:=f52a85f3edabecfbab41d9244c63a1c6b8aaf49b -PKG_MIRROR_HASH:=dd8a55255e8859a462fcfd736577fec40731b39a4783325640518745009b0dee +PKG_SOURCE_VERSION:=d03e11572562f008f68df217a7378628f1bb7b79 +PKG_MIRROR_HASH:=5af3683c48bc9e493ca2761a6f7ee756431692a695d6008f61b8b92431036dca PKG_MAINTAINER:=Stan Grishin PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE diff --git a/net/https-dns-proxy/files/https-dns-proxy.init b/net/https-dns-proxy/files/https-dns-proxy.init index f6e32cba7..1495592e0 100755 --- a/net/https-dns-proxy/files/https-dns-proxy.init +++ b/net/https-dns-proxy/files/https-dns-proxy.init @@ -3,7 +3,7 @@ # shellcheck disable=SC1091,SC3043,SC3060 # shellcheck disable=SC2034 -START=80 +START=95 # shellcheck disable=SC2034 USE_PROCD=1 diff --git a/net/https-dns-proxy/patches/010-cmakelists-remove-cflags.patch b/net/https-dns-proxy/patches/010-cmakelists-remove-cflags.patch index a765a5bbd..cd60c6dc0 100644 --- a/net/https-dns-proxy/patches/010-cmakelists-remove-cflags.patch +++ b/net/https-dns-proxy/patches/010-cmakelists-remove-cflags.patch @@ -4,10 +4,10 @@ set(CMAKE_INSTALL_BINDIR bin) endif() --set(CMAKE_C_FLAGS "-Wall -Wextra --pedantic -Wno-strict-aliasing -Wno-variadic-macros") +-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra --pedantic -Wno-strict-aliasing -Wno-variadic-macros") -set(CMAKE_C_FLAGS_DEBUG "-g -DDEBUG") -set(CMAKE_C_FLAGS_RELEASE "-O2") -+#set(CMAKE_C_FLAGS "-Wall -Wextra --pedantic -Wno-strict-aliasing -Wno-variadic-macros") ++#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra --pedantic -Wno-strict-aliasing -Wno-variadic-macros") +#set(CMAKE_C_FLAGS_DEBUG "-g -DDEBUG") +#set(CMAKE_C_FLAGS_RELEASE "-O2") diff --git a/net/https-dns-proxy/patches/020-cmakelists-add-version.patch b/net/https-dns-proxy/patches/020-cmakelists-add-version.patch deleted file mode 100644 index 8debfe94f..000000000 --- a/net/https-dns-proxy/patches/020-cmakelists-add-version.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 2ca80486ba6a4e5acbdf0ff581d9754af17fa33b Mon Sep 17 00:00:00 2001 -From: baranyaib90 <5031516+baranyaib90@users.noreply.github.com> -Date: Mon, 24 Oct 2022 22:53:37 +0200 -Subject: [PATCH] Allow external setting of GIT_VERSION - ---- - CMakeLists.txt | 34 ++++++++++++++++++---------------- - 1 file changed, 18 insertions(+), 16 deletions(-) - ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -36,22 +36,24 @@ endif() - - # VERSION - --find_package(Git) --if(Git_FOUND) -- execute_process( -- COMMAND "${GIT_EXECUTABLE}" show --date=format:%Y.%m.%d --format=%ad-%h --no-patch -- WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" -- OUTPUT_VARIABLE GIT_VERSION -- OUTPUT_STRIP_TRAILING_WHITESPACE) -- message(STATUS "Version: ${GIT_VERSION}") -+if(NOT GIT_VERSION) -+ find_package(Git) -+ if(Git_FOUND) -+ execute_process( -+ COMMAND "${GIT_EXECUTABLE}" show --date=format:%Y.%m.%d --format=%ad-%h --no-patch -+ WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" -+ OUTPUT_VARIABLE GIT_VERSION -+ OUTPUT_STRIP_TRAILING_WHITESPACE) -+ message(STATUS "Version: ${GIT_VERSION}") - -- # May not update version in some cases (example: git commit --amend) -- set_property(GLOBAL APPEND -- PROPERTY CMAKE_CONFIGURE_DEPENDS -- "${CMAKE_SOURCE_DIR}/.git/index") --else() -- set(GIT_VERSION "UNKNOWN") -- message(WARNING "Could not find git command! Version is set to: ${GIT_VERSION}") -+ # May not update version in some cases (example: git commit --amend) -+ set_property(GLOBAL APPEND -+ PROPERTY CMAKE_CONFIGURE_DEPENDS -+ "${CMAKE_SOURCE_DIR}/.git/index") -+ else() -+ set(GIT_VERSION "UNKNOWN") -+ message(WARNING "Could not find git command! Version is set to: ${GIT_VERSION}") -+ endif() - endif() - - # LIBRARY DEPENDENCIES diff --git a/net/https-dns-proxy/patches/020-src-options.c-add-version.patch b/net/https-dns-proxy/patches/020-src-options.c-add-version.patch new file mode 100644 index 000000000..8bb2d9361 --- /dev/null +++ b/net/https-dns-proxy/patches/020-src-options.c-add-version.patch @@ -0,0 +1,11 @@ +--- a/src/options.c ++++ b/src/options.c +@@ -22,7 +22,7 @@ const char * options_sw_version() { + #ifdef SW_VERSION + return SW_VERSION; + #else +- return "2023.01.01-atLeast"; // update date sometimes, like 1-2 times a year ++ return "2023-05-25-1"; // update date sometimes, like 1-2 times a year + #endif + } + From 0509d460c844c2f62d09fd99c35a0e1627c66b68 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Fri, 26 May 2023 02:06:57 +0800 Subject: [PATCH 06/47] python-tomli: Remove package Python added tomli to its standard library in 3.11. Now that Python in the packages feed has been updated to 3.11, the separate tomli package is no longer necessary. This removes python-tomli and updates all dependant packages, removing python-tomli from their lists of dependencies. Signed-off-by: Jeffery To --- lang/python/python-build/Makefile | 5 +- lang/python/python-flit-scm/Makefile | 7 ++- .../python-hatch-fancy-pypi-readme/Makefile | 11 ++-- lang/python/python-hatchling/Makefile | 4 +- lang/python/python-pyproject-hooks/Makefile | 4 +- lang/python/python-pytest/Makefile | 3 +- lang/python/python-setuptools-scm/Makefile | 4 +- lang/python/python-tomli/Makefile | 50 ------------------- 8 files changed, 13 insertions(+), 75 deletions(-) delete mode 100644 lang/python/python-tomli/Makefile diff --git a/lang/python/python-build/Makefile b/lang/python/python-build/Makefile index e60023725..e93025a63 100644 --- a/lang/python/python-build/Makefile +++ b/lang/python/python-build/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-build PKG_VERSION:=0.10.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=build PKG_HASH:=d5b71264afdb5951d6704482aac78de887c80691c52b88a9ad195983ca2c9269 @@ -24,8 +24,7 @@ HOST_BUILD_DEPENDS:= \ python-installer/host \ python-flit-core/host \ python-packaging/host \ - python-pyproject-hooks/host \ - python-tomli/host + python-pyproject-hooks/host PYTHON3_HOST_BUILD_VARS:=PYTHONPATH=src diff --git a/lang/python/python-flit-scm/Makefile b/lang/python/python-flit-scm/Makefile index 57660f79b..87188fd74 100644 --- a/lang/python/python-flit-scm/Makefile +++ b/lang/python/python-flit-scm/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-flit-scm PKG_VERSION:=1.7.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=flit-scm PYPI_SOURCE_NAME:=flit_scm @@ -25,8 +25,7 @@ HOST_BUILD_DEPENDS:= \ python-build/host \ python-installer/host \ python-flit-core/host \ - python-setuptools-scm/host \ - python-tomli/host + python-setuptools-scm/host include ../pypi.mk include $(INCLUDE_DIR)/package.mk @@ -40,7 +39,7 @@ define Package/python3-flit-scm SUBMENU:=Python TITLE:=A PEP 518 build backend that uses setuptools_scm and flit URL:=https://gitlab.com/WillDaSilva/flit_scm - DEPENDS:=+python3-light +python3-flit-core +python3-setuptools-scm +python3-tomli + DEPENDS:=+python3-light +python3-flit-core +python3-setuptools-scm BUILDONLY:=1 endef diff --git a/lang/python/python-hatch-fancy-pypi-readme/Makefile b/lang/python/python-hatch-fancy-pypi-readme/Makefile index 4a2ab871d..24e27be36 100644 --- a/lang/python/python-hatch-fancy-pypi-readme/Makefile +++ b/lang/python/python-hatch-fancy-pypi-readme/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-hatch-fancy-pypi-readme PKG_VERSION:=22.8.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=hatch-fancy-pypi-readme PYPI_SOURCE_NAME:=hatch_fancy_pypi_readme @@ -20,12 +20,7 @@ PKG_LICENSE_FILES:=LICENSE.txt PKG_MAINTAINER:=Jeffery To PKG_HOST_ONLY:=1 -HOST_BUILD_DEPENDS:= \ - python3/host \ - python-build/host \ - python-installer/host \ - python-hatchling/host \ - python-tomli/host +HOST_BUILD_DEPENDS:=python3/host python-build/host python-installer/host python-hatchling/host include ../pypi.mk include $(INCLUDE_DIR)/package.mk @@ -39,7 +34,7 @@ define Package/python3-hatch-fancy-pypi-readme SUBMENU:=Python TITLE:=Fancy PyPI READMEs with Hatch URL:=https://github.com/hynek/hatch-fancy-pypi-readme - DEPENDS:=+python3-light +python3-hatchling +python3-tomli + DEPENDS:=+python3-light +python3-hatchling BUILDONLY:=1 endef diff --git a/lang/python/python-hatchling/Makefile b/lang/python/python-hatchling/Makefile index 76ca4fc1a..6bc1b8fbc 100644 --- a/lang/python/python-hatchling/Makefile +++ b/lang/python/python-hatchling/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-hatchling PKG_VERSION:=1.17.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=hatchling PKG_HASH:=b1244db3f45b4ef5a00106a46612da107cdfaf85f1580b8e1c059fefc98b0930 @@ -27,7 +27,6 @@ HOST_BUILD_DEPENDS:= \ python-packaging/host \ python-pathspec/host \ python-pluggy/host \ - python-tomli/host \ python-trove-classifiers/host include ../pypi.mk @@ -49,7 +48,6 @@ define Package/python3-hatchling +python3-packaging \ +python3-pathspec \ +python3-pluggy \ - +python3-tomli \ +python3-trove-classifiers BUILDONLY:=1 endef diff --git a/lang/python/python-pyproject-hooks/Makefile b/lang/python/python-pyproject-hooks/Makefile index 50b3780ed..316a8026d 100644 --- a/lang/python/python-pyproject-hooks/Makefile +++ b/lang/python/python-pyproject-hooks/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-pyproject-hooks PKG_VERSION:=1.0.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=pyproject_hooks PKG_HASH:=f271b298b97f5955d53fb12b72c1fb1948c22c1a6b70b315c54cedaca0264ef5 @@ -19,7 +19,7 @@ PKG_LICENSE_FILES:=LICENSE PKG_MAINTAINER:=Jeffery To PKG_HOST_ONLY:=1 -HOST_BUILD_DEPENDS:=python3/host python-flit-core/host python-installer/host python-tomli/host +HOST_BUILD_DEPENDS:=python3/host python-flit-core/host python-installer/host include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/lang/python/python-pytest/Makefile b/lang/python/python-pytest/Makefile index dd978d248..473192c31 100644 --- a/lang/python/python-pytest/Makefile +++ b/lang/python/python-pytest/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-pytest PKG_VERSION:=7.3.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=pytest PKG_HASH:=58ecc27ebf0ea643ebfdf7fb1249335da761a00c9f955bcd922349bcb68ee57d @@ -34,7 +34,6 @@ define Package/python3-pytest +python3 \ +python3-pluggy \ +python3-packaging \ - +python3-tomli \ +python3-exceptiongroup \ +python3-iniconfig endef diff --git a/lang/python/python-setuptools-scm/Makefile b/lang/python/python-setuptools-scm/Makefile index c9a0ec78d..5e197a57f 100644 --- a/lang/python/python-setuptools-scm/Makefile +++ b/lang/python/python-setuptools-scm/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-setuptools-scm PKG_VERSION:=7.1.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PYPI_NAME:=setuptools-scm PYPI_SOURCE_NAME:=setuptools_scm @@ -26,7 +26,6 @@ HOST_BUILD_DEPENDS:= \ python-installer/host \ python-wheel/host \ python-packaging/host \ - python-tomli/host \ python-typing-extensions/host include ../pypi.mk @@ -46,7 +45,6 @@ define Package/python3-setuptools-scm +python3-logging \ +python3-packaging \ +python3-setuptools \ - +python3-tomli \ +python3-typing-extensions BUILDONLY:=1 endef diff --git a/lang/python/python-tomli/Makefile b/lang/python/python-tomli/Makefile deleted file mode 100644 index db615e39b..000000000 --- a/lang/python/python-tomli/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -# -# Copyright (C) 2023 Jeffery To -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=python-tomli -PKG_VERSION:=2.0.1 -PKG_RELEASE:=1 - -PYPI_NAME:=tomli -PKG_HASH:=de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f - -PKG_LICENSE:=MIT -PKG_LICENSE_FILES:=LICENSE -PKG_MAINTAINER:=Jeffery To - -PKG_HOST_ONLY:=1 -HOST_BUILD_DEPENDS:=python3/host python-flit-core/host python-installer/host - -include ../pypi.mk -include $(INCLUDE_DIR)/package.mk -include $(INCLUDE_DIR)/host-build.mk -include ../python3-package.mk -include ../python3-host-build.mk - -define Package/python3-tomli - SECTION:=lang - CATEGORY:=Languages - SUBMENU:=Python - TITLE:=A lil' TOML parser - URL:=https://github.com/hukkin/tomli - DEPENDS:=+python3-light - BUILDONLY:=1 -endef - -define Package/python3-tomli/description -Tomli is a Python library for parsing TOML. Tomli is fully compatible -with TOML v1.0.0. -endef - -Host/Compile=$(Py3Host/Compile/Bootstrap) - -$(eval $(call Py3Package,python3-tomli)) -$(eval $(call BuildPackage,python3-tomli)) -$(eval $(call BuildPackage,python3-tomli-src)) -$(eval $(call HostBuild)) From 59c8be32fa868d12aaf2fcc27ca742c8cebb819e Mon Sep 17 00:00:00 2001 From: Alexandru Ardelean Date: Fri, 26 May 2023 13:25:28 +0300 Subject: [PATCH 07/47] mstpd: drop package (replaced by ustp in core) OpenWrt core has a package called ustp which is an OpenWrt adaptation (from mstpd) for OpenWrt (using libubox, libubus, etc). No sense in keeping mstpd anymore. We can just update ustp. Also, if mstpd has any updates, they can be ported over to ustp too. Abandoned PR: https://github.com/openwrt/packages-abandoned/pull/30 Signed-off-by: Alexandru Ardelean --- net/mstpd/Config.in | 12 --- net/mstpd/Makefile | 58 ------------ net/mstpd/files/etc/init.d/mstpd.init | 124 -------------------------- net/mstpd/files/sbin/bridge-stp | 9 -- net/mstpd/patches/010-bsd.patch | 17 ---- 5 files changed, 220 deletions(-) delete mode 100644 net/mstpd/Config.in delete mode 100644 net/mstpd/Makefile delete mode 100644 net/mstpd/files/etc/init.d/mstpd.init delete mode 100644 net/mstpd/files/sbin/bridge-stp delete mode 100644 net/mstpd/patches/010-bsd.patch diff --git a/net/mstpd/Config.in b/net/mstpd/Config.in deleted file mode 100644 index 84d514789..000000000 --- a/net/mstpd/Config.in +++ /dev/null @@ -1,12 +0,0 @@ -menu "Configuration" - depends on PACKAGE_mstpd - -config MSTPD_RTNL_RCV_BUFSIZE - int "Netlink receive buffer size" - default 262144 - -config MSTPD_RTNL_SND_BUFSIZE - int "Netlink send buffer size" - default 262144 - -endmenu diff --git a/net/mstpd/Makefile b/net/mstpd/Makefile deleted file mode 100644 index 3bea93c49..000000000 --- a/net/mstpd/Makefile +++ /dev/null @@ -1,58 +0,0 @@ -# -# Copyright (C) 2019 Alexandru Ardelean -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=mstpd -PKG_VERSION:=0.1.0 -PKG_RELEASE:=1 - -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://codeload.github.com/mstpd/mstpd/tar.gz/$(PKG_VERSION)? -PKG_HASH:=03d1ff4ca189d54322562cb2891888768af719d2c73ceafa5f1ca96133dffeb2 - -PKG_MAINTAINER:=Alexandru Ardelean -PKG_LICENSE:=GPL-2.0-or-later -PKG_LICENSE_FILES:=LICENSE - -PKG_FIXUP:=autoreconf - -include $(INCLUDE_DIR)/package.mk - -define Package/mstpd - SECTION:=net - CATEGORY:=Network - TITLE:=Multiple Spanning Tree Protocol daemon - URL:=https://github.com/mstpd/mstpd -endef - -define Package/mstpd/description - Multiple Spanning Tree Protocol daemon. - Implements MSTP which is not implemented yet in the Linux kernel. -endef - -define Package/mstpd/config - source "$(SOURCE)/Config.in" -endef - -TARGET_CFLAGS += \ - -DRTNL_RCV_BUFSIZE=$(CONFIG_MSTPD_RTNL_RCV_BUFSIZE) \ - -DRTNL_SND_BUFSIZE=$(CONFIG_MSTPD_RTNL_SND_BUFSIZE) - -MAKE_VARS+=MODE=prod - -define Package/mstpd/install - $(INSTALL_DIR) $(1)/usr/sbin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/mstpd $(1)/usr/sbin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/mstpctl $(1)/usr/sbin - $(INSTALL_DIR) $(1)/etc/init.d/ - $(INSTALL_BIN) ./files/etc/init.d/mstpd.init $(1)/etc/init.d/mstpd - $(INSTALL_DIR) $(1)/sbin - $(INSTALL_BIN) ./files/sbin/bridge-stp $(1)/sbin -endef - -$(eval $(call BuildPackage,mstpd)) diff --git a/net/mstpd/files/etc/init.d/mstpd.init b/net/mstpd/files/etc/init.d/mstpd.init deleted file mode 100644 index bade419e0..000000000 --- a/net/mstpd/files/etc/init.d/mstpd.init +++ /dev/null @@ -1,124 +0,0 @@ -#!/bin/sh /etc/rc.common - -# shellcheck disable=SC2034 # foo appears unused. Verify it or export it. - -START=25 -STOP=99 - -MSTPCTL="/usr/sbin/mstpctl" -MSTPD="/usr/sbin/mstpd" - -USE_PROCD=1 - -mstpd_get_bridges() { - "$MSTPCTL" showbridge | grep -v "^ " | cut -d " " -f 1 2>/dev/null -} - -# mstpd log levels -# LOG_LEVEL_NONE 0 -# LOG_LEVEL_ERROR 1 -# LOG_LEVEL_INFO 2 -# LOG_LEVEL_DEBUG 3 -# LOG_LEVEL_STATE_MACHINE_TRANSITION 4 -# LOG_LEVEL_MAX 100 - -config_bridge_port_mstpd() { - local config="$1" - local index=$2 # FIXME: maybe remove index later - local name=$3 - - [ -n "$index" -a -n "$name" ] || return 0 - - config_get br_index "$config" br_index - [ -n "$br_index" ] || return 0 - [ "$index" = "$br_index" ] || return 0 - - config_get port_name "$config" name - [ -n "$port_name" ] || return 0 - - for opt in bpduguard; do - config_get $opt "$config" $opt - eval optval=\$$opt - [ -z "$optval" ] || "$MSTPCTL" "set$opt" "$name" "$port_name" "$optval" - done -} - -config_bridge_mstpd() { - local config="$1" - local optval= - local name= - local enable= - local mstid=0 # for the moment, using only MSTID - - config_get index "$config" index - [ -n "$index" ] || return 1 - - # Get bridge name - config_get name "$config" name - [ -n "$name" ] || return 0 - - config_get enable "$config" enable - if [ "$enable" != "1" ] ; then - return 0 - fi - - list_contains MSTPD_PREINSTALLED_BRIDGES "$name" || \ - "$MSTPCTL" addbridge "$name" - # All options here have 'set$opt' equivalent calls in mstpd, - # hence this trick with the loop - for opt in maxage fdelay maxhops hello ageing forcevers txholdcount; do - config_get $opt "$config" "$opt" - eval optval=\$$opt - [ -z "$optval" ] || "$MSTPCTL" set$opt "$name" "$optval" - done - config_get treeprio "$config" treeprio - [ -z "$treeprio" ] || $MSTPCTL settreeprio "$name" "$mstid" "$treeprio" - config_foreach config_bridge_port_mstpd bridge_port "$index" "$name" - CONFIGURED_BRIDGES="$CONFIGURED_BRIDGES $name" - export CONFIGURED_BRIDGES -} - -start_service() { - procd_open_instance - procd_set_param command $MSTPD - procd_append_param command -v 2 - procd_append_param command -d # don't daemonize, procd will handle that for us - procd_append_param command -s # print to syslog - - # set auto respawn behavior - procd_set_param respawn - - # reload config on respawn - procd_open_trigger - procd_add_raw_trigger "instance.start" 2000 "/etc/init.d/mstpd" "reload" - procd_close_trigger - - procd_close_instance -} - -service_running() { - pgrep mstpd >/dev/null 2>&1 -} - -reload_service() { - if ! running ; then - start - return - fi - - unset CONFIGURED_BRIDGES - MSTPD_PREINSTALLED_BRIDGES="$(mstpd_get_bridges)" - export MSTPD_PREINSTALLED_BRIDGES - - config_load 'mstpd' - config_foreach config_bridge_mstpd bridge - - for bridge in $(mstpd_get_bridges) ; do - list_contains CONFIGURED_BRIDGES "$bridge" || \ - $MSTPCTL delbridge "$bridge" - done - # return 0 (success) here, otherwise, and endless restart loop will occur from procd - # because the last return code may be mstpctl failing - return 0 -} - diff --git a/net/mstpd/files/sbin/bridge-stp b/net/mstpd/files/sbin/bridge-stp deleted file mode 100644 index 7b2cbc04b..000000000 --- a/net/mstpd/files/sbin/bridge-stp +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -# Dummy file ; don't do anything ; -# Returning success here, tells the kernel to allow -# a userspace module to handle STP states -# -# Meanwhile, procd will start mstpd, and all will be well - -exit 0 diff --git a/net/mstpd/patches/010-bsd.patch b/net/mstpd/patches/010-bsd.patch deleted file mode 100644 index 120a0dbd4..000000000 --- a/net/mstpd/patches/010-bsd.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/hmac_md5.c -+++ b/hmac_md5.c -@@ -356,10 +356,10 @@ caddr_t digest; /* caller di - */ - - /* start out by storing key in pads */ -- bzero(k_ipad, sizeof k_ipad); -- bzero(k_opad, sizeof k_opad); -- bcopy(key, k_ipad, key_len); -- bcopy( key, k_opad, key_len); -+ memset(k_ipad, 0, sizeof k_ipad); -+ memset(k_opad, 0, sizeof k_opad); -+ memcpy(k_ipad, key, key_len); -+ memcpy(k_opad, key, key_len); - - /* XOR key with ipad and opad values */ - for(i = 0; i < 64; ++i) From f5d7a26531aa0e6fdade9836dfef3450fb007b01 Mon Sep 17 00:00:00 2001 From: Glen Huang Date: Sun, 14 May 2023 19:13:39 +0800 Subject: [PATCH 08/47] nginx: make nginx-mod-luci depend on nginx-ssl Change dependency from nginx virtual migration package to nginx-ssl for nginx-mod-luci nginx module package. Signed-off-by: Glen Huang [ add commit description ] Signed-off-by: Christian Marangi --- net/nginx/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/nginx/Makefile b/net/nginx/Makefile index bb0b9441e..16dd45fb8 100644 --- a/net/nginx/Makefile +++ b/net/nginx/Makefile @@ -295,7 +295,7 @@ define Package/nginx-mod-luci SUBMENU:=Web Servers/Proxies TITLE:=Support file for Nginx URL:=http://nginx.org/ - DEPENDS:=+uwsgi +uwsgi-luci-support +nginx +nginx-mod-ubus + DEPENDS:=+uwsgi +uwsgi-luci-support +nginx-ssl +nginx-mod-ubus # TODO: add PROVIDES when removing nginx-mod-luci-ssl # PROVIDES:=nginx-mod-luci-ssl endef From 7b91373bd15fe32b94e8044adc0bdadb34a1e9d3 Mon Sep 17 00:00:00 2001 From: Glen Huang Date: Sat, 29 Apr 2023 14:53:02 +0800 Subject: [PATCH 09/47] nginx: refactor Makefile Make modules follow a naming convention, which enables: 1. Inline ADDITIONAL_MODULES into CONFIGURE_ARGS 2. Consolidate some parts of Quilt and Download for each module into BuildModule Signed-off-by: Glen Huang [ fix conflict error ] Signed-off-by: Christian Marangi --- net/nginx/Makefile | 743 +++++++----------- .../100-drop-libxslt-dep.patch | 4 +- .../100-no_by_lua_block.patch | 4 +- .../100-bigedian.patch | 52 +- 4 files changed, 295 insertions(+), 508 deletions(-) rename net/nginx/patches/{dav-nginx => nginx-mod-dav-ext}/100-drop-libxslt-dep.patch (87%) rename net/nginx/patches/{lua-nginx => nginx-mod-lua}/100-no_by_lua_block.patch (98%) rename net/nginx/patches/{rtmp-nginx => nginx-mod-rtmp}/100-bigedian.patch (98%) diff --git a/net/nginx/Makefile b/net/nginx/Makefile index 16dd45fb8..061d82346 100644 --- a/net/nginx/Makefile +++ b/net/nginx/Makefile @@ -25,6 +25,22 @@ PKG_BUILD_PARALLEL:=1 PKG_INSTALL:=1 PKG_BUILD_FLAGS:=gc-sections +# 3rd-party modules +PKG_MOD_EXTRA := \ + lua \ + rtmp \ + dav-ext \ + naxsi \ + brotli \ + headers-more \ + ts \ + ubus +# official and 3rd-party modules +PKG_MOD_ALL := \ + $(PKG_MOD_EXTRA) \ + stream +PKG_MOD_PATCHED := $(shell find patches -mindepth 1 -maxdepth 1 -type d -name 'nginx-mod-*' | sed -E 's,^patches/nginx-mod-,,') + PKG_CONFIG_DEPENDS := \ CONFIG_NGINX_DAV \ CONFIG_NGINX_FLV \ @@ -63,7 +79,8 @@ PKG_CONFIG_DEPENDS := \ CONFIG_NGINX_HTTP_REAL_IP \ CONFIG_NGINX_HTTP_SECURE_LINK \ CONFIG_OPENSSL_ENGINE \ - CONFIG_OPENSSL_WITH_NPN + CONFIG_OPENSSL_WITH_NPN \ + $(foreach m,$(PKG_MOD_EXTRA),CONFIG_PACKAGE_$(m)) include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/nls.mk @@ -84,6 +101,10 @@ define Package/nginx/description written by Igor Sysoev. endef +define Package/nginx/conffiles +/etc/nginx/ +endef + define Package/nginx-ssl $(Package/nginx/default) TITLE += with SSL support @@ -99,195 +120,60 @@ Package/nginx-ssl/description = $(Package/nginx/description) \ This variant is compiled with SSL support enabled. To enable additional module \ select them in the nginx default configuration menu. +define Package/nginx-ssl/config + source "$(SOURCE)/Config_ssl.in" +endef + +Package/nginx-ssl/conffiles = $(Package/nginx/conffiles) + +IsEnabled = $(or $(filter full,$(BUILD_VARIANT)),$(CONFIG_$(1))) +IsDisabled = $(if $(call IsEnabled,$(1)),,1) + +config_files := mime.types \ + $(if $(call IsEnabled,NGINX_HTTP_CHARSET),koi-utf koi-win win-utf) \ + $(if $(call IsEnabled,NGINX_HTTP_FASTCGI),fastcgi_params) \ + $(if $(call IsEnabled,NGINX_HTTP_UWSGI),uwsgi_params) \ + $(if $(call IsEnabled,NGINX_HTTP_SCGI),scgi_params) + +define Package/nginx-ssl/install + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/nginx $(1)/usr/sbin/ + $(INSTALL_DIR) $(1)/etc/nginx/conf.d + $(INSTALL_DATA) $(addprefix $(PKG_INSTALL_DIR)/etc/nginx/,$(config_files)) $(1)/etc/nginx/ + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/nginx.init $(1)/etc/init.d/nginx +endef + +define Package/nginx-ssl/prerm +#!/bin/sh +[ -z "$${IPKG_INSTROOT}" ] || exit 0 +[ "$${PKG_UPGRADE}" = "1" ] && exit 0 +eval $$(/usr/bin/nginx-util get_env) +[ "$$(uci get "nginx.$${LAN_NAME}.$${MANAGE_SSL}")" = "self-signed" ] || exit 0 +rm -f "$$(uci get "nginx.$${LAN_NAME}.ssl_certificate")" +rm -f "$$(uci get "nginx.$${LAN_NAME}.ssl_certificate_key")" +exit 0 +endef + define Package/nginx-full $(Package/nginx/default) TITLE += with ALL module selected DEPENDS+=+libpcre +nginx-ssl-util +zlib +libxml2 \ - +nginx-mod-ubus +nginx-mod-naxsi +nginx-mod-lua \ - +nginx-mod-dav-ext +nginx-mod-stream +nginx-mod-headers-more \ - +nginx-mod-brotli +nginx-mod-rtmp +nginx-mod-ts + $(foreach m,$(PKG_MOD_ALL),+nginx-mod-$(m)) EXTRA_DEPENDS:=nginx-ssl-util (>=1.5-1) (<2) - VARIANT:=all-module + VARIANT:=full PROVIDES += nginx-ssl endef Package/nginx-full/description = $(Package/nginx/description) \ This variant is compiled with ALL module selected. -define Package/nginx-ssl/config - source "$(SOURCE)/Config_ssl.in" -endef +Package/nginx-full/install = $(Package/nginx-ssl/install) -config_files=mime.types +Package/nginx-full/prerm = $(Package/nginx-ssl/prerm) -define Package/nginx/conffiles -/etc/nginx/ -endef - -Package/nginx-ssl/conffiles = $(Package/nginx/conffiles) Package/nginx-full/conffiles = $(Package/nginx/conffiles) -ADDITIONAL_MODULES:= --with-http_ssl_module - -ifneq ($(BUILD_VARIANT),all-module) - ifneq ($(CONFIG_NGINX_HTTP_CACHE),y) - ADDITIONAL_MODULES += --without-http-cache - endif - ifneq ($(CONFIG_NGINX_PCRE),y) - ADDITIONAL_MODULES += --without-pcre - endif - ifneq ($(CONFIG_NGINX_HTTP_CHARSET),y) - ADDITIONAL_MODULES += --without-http_charset_module - else - config_files += koi-utf koi-win win-utf - endif - ifneq ($(CONFIG_NGINX_HTTP_GZIP),y) - ADDITIONAL_MODULES += --without-http_gzip_module - endif - ifeq ($(CONFIG_NGINX_HTTP_GZIP_STATIC),y) - ADDITIONAL_MODULES += --with-http_gzip_static_module - endif - ifneq ($(CONFIG_NGINX_HTTP_SSI),y) - ADDITIONAL_MODULES += --without-http_ssi_module - endif - ifneq ($(CONFIG_NGINX_HTTP_USERID),y) - ADDITIONAL_MODULES += --without-http_userid_module - endif - ifneq ($(CONFIG_NGINX_HTTP_ACCESS),y) - ADDITIONAL_MODULES += --without-http_access_module - endif - ifneq ($(CONFIG_NGINX_HTTP_AUTH_BASIC),y) - ADDITIONAL_MODULES += --without-http_auth_basic_module - endif - ifneq ($(CONFIG_NGINX_HTTP_AUTOINDEX),y) - ADDITIONAL_MODULES += --without-http_autoindex_module - endif - ifneq ($(CONFIG_NGINX_HTTP_GEO),y) - ADDITIONAL_MODULES += --without-http_geo_module - endif - ifneq ($(CONFIG_NGINX_HTTP_MAP),y) - ADDITIONAL_MODULES += --without-http_map_module - endif - ifneq ($(CONFIG_NGINX_HTTP_SPLIT_CLIENTS),y) - ADDITIONAL_MODULES += --without-http_split_clients_module - endif - ifneq ($(CONFIG_NGINX_HTTP_REFERER),y) - ADDITIONAL_MODULES += --without-http_referer_module - endif - ifneq ($(CONFIG_NGINX_HTTP_REWRITE),y) - ADDITIONAL_MODULES += --without-http_rewrite_module - endif - ifneq ($(CONFIG_NGINX_HTTP_PROXY),y) - ADDITIONAL_MODULES += --without-http_proxy_module - endif - ifneq ($(CONFIG_NGINX_HTTP_FASTCGI),y) - ADDITIONAL_MODULES += --without-http_fastcgi_module - else - config_files += fastcgi_params - endif - ifneq ($(CONFIG_NGINX_HTTP_UWSGI),y) - ADDITIONAL_MODULES += --without-http_uwsgi_module - else - config_files += uwsgi_params - endif - ifneq ($(CONFIG_NGINX_HTTP_SCGI),y) - ADDITIONAL_MODULES += --without-http_scgi_module - else - config_files += scgi_params - endif - ifneq ($(CONFIG_NGINX_HTTP_MEMCACHED),y) - ADDITIONAL_MODULES += --without-http_memcached_module - endif - ifneq ($(CONFIG_NGINX_HTTP_LIMIT_CONN),y) - ADDITIONAL_MODULES += --without-http_limit_conn_module - endif - ifneq ($(CONFIG_NGINX_HTTP_LIMIT_REQ),y) - ADDITIONAL_MODULES += --without-http_limit_req_module - endif - ifneq ($(CONFIG_NGINX_HTTP_EMPTY_GIF),y) - ADDITIONAL_MODULES += --without-http_empty_gif_module - endif - ifneq ($(CONFIG_NGINX_HTTP_BROWSER),y) - ADDITIONAL_MODULES += --without-http_browser_module - endif - ifneq ($(CONFIG_NGINX_HTTP_UPSTREAM_HASH),y) - ADDITIONAL_MODULES += --without-http_upstream_hash_module - endif - ifneq ($(CONFIG_NGINX_HTTP_UPSTREAM_IP_HASH),y) - ADDITIONAL_MODULES += --without-http_upstream_ip_hash_module - endif - ifneq ($(CONFIG_NGINX_HTTP_UPSTREAM_LEAST_CONN),y) - ADDITIONAL_MODULES += --without-http_upstream_least_conn_module - endif - ifneq ($(CONFIG_NGINX_HTTP_UPSTREAM_KEEPALIVE),y) - ADDITIONAL_MODULES += --without-http_upstream_keepalive_module - endif - ifeq ($(CONFIG_IPV6),y) - ADDITIONAL_MODULES += --with-ipv6 - endif - ifeq ($(CONFIG_NGINX_STUB_STATUS),y) - ADDITIONAL_MODULES += --with-http_stub_status_module - endif - ifeq ($(CONFIG_NGINX_FLV),y) - ADDITIONAL_MODULES += --with-http_flv_module - endif - ifeq ($(CONFIG_NGINX_DAV),y) - ADDITIONAL_MODULES += --with-http_dav_module - endif - ifeq ($(CONFIG_NGINX_HTTP_AUTH_REQUEST),y) - ADDITIONAL_MODULES += --with-http_auth_request_module - endif - ifeq ($(CONFIG_NGINX_HTTP_V2),y) - ADDITIONAL_MODULES += --with-http_v2_module - endif - ifeq ($(CONFIG_NGINX_HTTP_REAL_IP),y) - ADDITIONAL_MODULES += --with-http_realip_module - endif - ifeq ($(CONFIG_NGINX_HTTP_SECURE_LINK),y) - ADDITIONAL_MODULES += --with-http_secure_link_module - endif - ifeq ($(CONFIG_NGINX_HTTP_SUB),y) - ADDITIONAL_MODULES += --with-http_sub_module - endif -else - ADDITIONAL_MODULES += --with-ipv6 --with-http_stub_status_module --with-http_flv_module \ - --with-http_dav_module \ - --with-http_auth_request_module --with-http_v2_module --with-http_realip_module \ - --with-http_secure_link_module --with-http_sub_module \ - config_files += koi-utf koi-win win-utf fastcgi_params uwsgi_params -endif - -ifneq ($(CONFIG_PACKAGE_nginx-mod-naxsi),) - ADDITIONAL_MODULES += --add-dynamic-module=$(PKG_BUILD_DIR)/nginx-naxsi/naxsi_src -endif -ifneq ($(CONFIG_PACKAGE_nginx-mod-lua),) - ADDITIONAL_MODULES += --add-dynamic-module=$(PKG_BUILD_DIR)/lua-nginx -endif -ifneq ($(CONFIG_PACKAGE_nginx-mod-dav-ext),) - ADDITIONAL_MODULES += --add-dynamic-module=$(PKG_BUILD_DIR)/nginx-dav-ext-module -endif -ifneq ($(CONFIG_PACKAGE_nginx-mod-stream),) - ADDITIONAL_MODULES += --with-stream=dynamic --with-stream_ssl_module --with-stream_ssl_preread_module -endif -ifneq ($(CONFIG_PACKAGE_nginx-mod-ubus),) - ADDITIONAL_MODULES += --add-dynamic-module=$(PKG_BUILD_DIR)/nginx-ubus-module -endif -ifneq ($(CONFIG_PACKAGE_nginx-mod-headers-more),) - ADDITIONAL_MODULES += --add-dynamic-module=$(PKG_BUILD_DIR)/nginx-headers-more -endif -ifneq ($(CONFIG_PACKAGE_nginx-mod-brotli),) - ADDITIONAL_MODULES += --add-dynamic-module=$(PKG_BUILD_DIR)/nginx-brotli -endif -ifneq ($(CONFIG_PACKAGE_nginx-mod-rtmp),) - ADDITIONAL_MODULES += --add-dynamic-module=$(PKG_BUILD_DIR)/nginx-rtmp -endif -ifneq ($(CONFIG_PACKAGE_nginx-mod-ts),) - ADDITIONAL_MODULES += --add-dynamic-module=$(PKG_BUILD_DIR)/nginx-ts -endif -ifeq ($(CONFIG_NGINX_GEOIP_MODULE),y) - ADDITIONAL_MODULES += --with-http_geoip_module=dynamic -endif - define Package/nginx-mod-luci TITLE:=Nginx on LuCI SECTION:=net @@ -304,90 +190,147 @@ define Package/nginx-mod-luci/description Support file for LuCI in nginx. Include custom nginx configuration, autostart script for uwsgi. endef -NGINX_MODULES := +define Package/nginx-mod-luci/install + $(INSTALL_DIR) $(1)/etc/nginx/conf.d + $(INSTALL_CONF) ./files-luci-support/luci.locations $(1)/etc/nginx/conf.d/ + $(INSTALL_DIR) $(1)/etc/uci-defaults + $(INSTALL_BIN) ./files-luci-support/60_nginx-luci-support $(1)/etc/uci-defaults/60_nginx-luci-support +endef + +define Download/nginx-mod-headers-more + VERSION:=bea1be3bbf6af28f6aa8cf0c01c07ee1637e2bd0 + URL:=https://github.com/openresty/headers-more-nginx-module.git + MIRROR_HASH:=3617bbf7a935208a1d8d5f86a8f9b770f6987e4d2b5663a9ab1b777217e3066b + PROTO:=git +endef + + +define Download/nginx-mod-brotli + VERSION:=e505dce68acc190cc5a1e780a3b0275e39f160ca + URL:=https://github.com/google/ngx_brotli.git + MIRROR_HASH:=04847f11ef808fed50f44b2af0ef3abf59ff0ffc06dfc7394d9ab51d53fef31f + PROTO:=git +endef + +define Download/nginx-mod-rtmp + VERSION:=f0ea62342a4eca504b311cd5df910d026c3ea4cf + URL:=https://github.com/ut0mt8/nginx-rtmp-module.git + MIRROR_HASH:=d3f58066f0f858ed79f7f2b0c9b89de2ccc512c94ab3d0625f6dcff3df0b72c1 + PROTO:=git +endef + +define Download/nginx-mod-ts + VERSION:=ef2f874d95cc75747eb625a292524a702aefb0fd + URL:=https://github.com/arut/nginx-ts-module.git + MIRROR_HASH:=73938950bb286d40d9e54b0994d1a63827340c1156c72eb04d7041b25b20ec18 + PROTO:=git +endef + +define Download/nginx-mod-naxsi + VERSION:=951123ad456bdf5ac94e8d8819342fe3d49bc002 + URL:=https://github.com/nbs-system/naxsi.git + MIRROR_HASH:=c734cae19a596affadd62a2df1b58d3df8d1364093a4e80a7cd1ab4555963535 + PROTO:=git +endef + +define Download/nginx-mod-lua + VERSION:=68acad14e4a8f42e31d4a4bb5ed44d6f5b55fc1c + URL:=https://github.com/openresty/lua-nginx-module.git + MIRROR_HASH:=366f24e1ba6221e34f6ba20ab29146438438f88c89fd71f9500d169b3f5aedf0 + PROTO:=git +endef + +define Download/nginx-mod-dav-ext + VERSION:=f5e30888a256136d9c550bf1ada77d6ea78a48af + URL:=https://github.com/arut/nginx-dav-ext-module.git + MIRROR_HASH:=70bb4c3907f4b783605500ba494e907aede11f8505702e370012abb3c177dc5b + PROTO:=git +endef + +define Download/nginx-mod-ubus + VERSION:=b2d7260dcb428b2fb65540edb28d7538602b4a26 + URL:=https://github.com/Ansuel/nginx-ubus-module.git + MIRROR_HASH:=472cef416d25effcac66c85417ab6596e634a7a64d45b709bb090892d567553c + PROTO:=git +endef + +define Module/Download + define Download/nginx-mod-$(1) += + + SUBDIR:=nginx-mod-$(1) + FILE:=nginx-mod-$(1)-$$$$(VERSION).tar.xz + endef +endef +$(foreach m,$(PKG_MOD_EXTRA),$(eval $(call Module/Download,$(m)))) + +define Module/nginx-mod-naxsi/install + $(INSTALL_DIR) $(1)/etc/nginx + $(INSTALL_CONF) $(PKG_BUILD_DIR)/nginx-mod-naxsi/naxsi_config/naxsi_core.rules $(1)/etc/nginx +endef + +define Quilt/Refresh/Package + $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/nginx,nginx/) + $(foreach m,$(PKG_MOD_PATCHED), + $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/nginx-mod-$(m),nginx-mod-$(m)/) + ) +endef + +define Build/Patch + $(if $(QUILT),rm -rf $(PKG_BUILD_DIR)/patches; mkdir -p $(PKG_BUILD_DIR)/patches) + $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/nginx,nginx/) + $(foreach m,$(PKG_MOD_PATCHED),$(if $(or $(CONFIG_PACKAGE_nginx-mod-$(m)),$(QUILT)), + $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/nginx-mod-$(m),nginx-mod-$(m)/) + )) + $(if $(QUILT),touch $(PKG_BUILD_DIR)/.quilt_used) +endef + +define Module/Build/Prepare + $(eval $(call Download,nginx-mod-$(1))) + $(eval $(Download/nginx-mod-$(1))) + mkdir -p $(PKG_BUILD_DIR)/nginx-mod-$(1) + xzcat $(DL_DIR)/$(FILE) | tar -C $(PKG_BUILD_DIR)/nginx-mod-$(1) $(TAR_OPTIONS) --strip-components 1 +endef + +define Build/Prepare + rm -rf $(PKG_BUILD_DIR) + mkdir -p $(PKG_BUILD_DIR) + $(PKG_UNPACK) + + $(foreach m,$(filter-out $(PKG_MOD_PATCHED),$(PKG_MOD_EXTRA)),$(if $(CONFIG_PACKAGE_nginx-mod-$(m)), + $(call Module/Build/Prepare,$(m)) + )) + $(foreach m,$(PKG_MOD_PATCHED),$(if $(or $(CONFIG_PACKAGE_nginx-mod-$(m)),$(QUILT)), + $(call Module/Build/Prepare,$(m)) + )) + $(Build/Patch) +endef # $(1) module name # $(2) module additional dependency # $(3) module so name (stripped of the finaly _module.so) # $(4) module description -define module - define Package/nginx-mod-$(strip $(1)) - $(call Package/nginx/default) - DEPENDS:=+nginx-ssl $(2) - TITLE:=Nginx $(1) module +define BuildModule + define Package/nginx-mod-$(1) + $(call Package/nginx/default) + DEPENDS:=+nginx-ssl $(2) + TITLE:=Nginx $(1) module endef - define Package/nginx-mod-$(strip $(1))/description - $(4) + define Package/nginx-mod-$(1)/description + $(strip $(4)) endef - define Package/nginx-mod-$(strip $(1))/install + define Package/nginx-mod-$(1)/install $(INSTALL_DIR) $$(1)/usr/lib/nginx/modules - $(INSTALL_BIN) $$(PKG_INSTALL_DIR)/usr/lib/nginx/modules/$(3)_module.so $$(1)/usr/lib/nginx/modules + $(foreach m,$(3), + $(CP) $$(PKG_INSTALL_DIR)/usr/lib/nginx/modules/$(m)_module.so $$(1)/usr/lib/nginx/modules + ) + $(call Module/nginx-mod-$(1)/install,$$(1)) endef - NGINX_MODULES += nginx-mod-$(strip $(1)) + $$(eval $$(call BuildPackage,nginx-mod-$(1))) endef -define brotli - define Package/nginx-mod-brotli - $(call Package/nginx/default) - DEPENDS:=+nginx-ssl - TITLE:=Nginx Brotli module - endef - - define Package/nginx-mod-brotli/description - Add support for brotli compression module. - endef - - define Package/nginx-mod-brotli/install - $(INSTALL_DIR) $$(1)/usr/lib/nginx/modules - $(INSTALL_BIN) $$(PKG_INSTALL_DIR)/usr/lib/nginx/modules/ngx_http_brotli_filter_module.so $$(1)/usr/lib/nginx/modules - $(INSTALL_BIN) $$(PKG_INSTALL_DIR)/usr/lib/nginx/modules/ngx_http_brotli_static_module.so $$(1)/usr/lib/nginx/modules - endef - - NGINX_MODULES += nginx-mod-brotli -endef - -define naxsi - define Package/nginx-mod-naxsi - $(call Package/nginx/default) - DEPENDS:=+nginx-ssl - TITLE:=Nginx naxsi module - endef - - define Package/nginx-mod-naxsi/description - Enable NAXSI module. - endef - - define Package/nginx-mod-naxsi/install - $(INSTALL_DIR) $$(1)/usr/lib/nginx/modules - $(INSTALL_BIN) $$(PKG_INSTALL_DIR)/usr/lib/nginx/modules/ngx_http_naxsi_module.so $$(1)/usr/lib/nginx/modules - - $(INSTALL_DIR) $$(1)/etc/nginx - $(INSTALL_BIN) $$(PKG_BUILD_DIR)/nginx-naxsi/naxsi_config/naxsi_core.rules $$(1)/etc/nginx - chmod 0640 $$(1)/etc/nginx/naxsi_core.rules - - $(INSTALL_BIN) $$(PKG_BUILD_DIR)/nginx-naxsi/naxsi_config/naxsi_core.rules $$(1)/etc/nginx - chmod 0640 $$(1)/etc/nginx/naxsi_core.rules - endef - - NGINX_MODULES += nginx-mod-naxsi -endef - -$(eval $(call module,lua, +luajit,ngx_http_lua, Enable Lua module)) -$(eval $(call module,stream, +@NGINX_STREAM_CORE_MODULE,ngx_stream, Add support for NGINX request streaming.)) -$(eval $(call module,ubus, +libubus +libjson-c +libblobmsg-json +@NGINX_UBUS,ngx_http_ubus, Enable UBUS api support directly from the server.)) -$(eval $(call module,dav-ext, +@NGINX_DAV +libxml2,ngx_http_dav_ext, Enable the WebDAV methods PROPFIND OPTIONS LOCK UNLOCK.)) -$(eval $(call module,headers-more,,ngx_http_headers_more_filter, Set and clear input and output headers...more than "add"!)) -$(eval $(call module,rtmp,,ngx_rtmp, Add support for NGINX-based Media Streaming Server module. \ - DASH enhanced - https://github.com/ut0mt8/nginx-rtmp-module)) -$(eval $(call module, ts,,ngx_http_ts, Add support for MPEG-TS Live Module module.)) -$(eval $(call brotli)) -$(eval $(call naxsi)) - -PKG_CONFIG_DEPENDS += $(patsubst %,CONFIG_PACKAGE_%,$(NGINX_MODULES)) - TARGET_CFLAGS += -DNGX_LUA_NO_BY_LUA_BLOCK ifneq ($(CONFIG_PACKAGE_nginx-mod-lua),) @@ -398,243 +341,87 @@ endif CONFIGURE_VARS += CONFIG_BIG_ENDIAN=$(CONFIG_BIG_ENDIAN) CONFIGURE_ARGS += \ - --crossbuild=Linux::$(ARCH) \ - --prefix=/usr \ - --conf-path=/etc/nginx/nginx.conf \ - --modules-path=/usr/lib/nginx/modules \ - --with-compat \ - $(ADDITIONAL_MODULES) \ - --error-log-path=stderr \ - --pid-path=/var/run/nginx.pid \ - --lock-path=/var/lock/nginx.lock \ - --http-log-path=/var/log/nginx/access.log \ - --http-client-body-temp-path=/var/lib/nginx/body \ - --http-proxy-temp-path=/var/lib/nginx/proxy \ - --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \ - --with-cc="$(TARGET_CC)" \ - --with-cc-opt="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \ - --with-ld-opt="$(TARGET_LDFLAGS)" \ - --without-http_upstream_zone_module \ - --without-pcre2 - -define Package/nginx-mod-luci/install - $(INSTALL_DIR) $(1)/etc/nginx/conf.d - $(INSTALL_CONF) ./files-luci-support/luci.locations $(1)/etc/nginx/conf.d/ - $(INSTALL_DIR) $(1)/etc/uci-defaults - $(INSTALL_BIN) ./files-luci-support/60_nginx-luci-support $(1)/etc/uci-defaults/60_nginx-luci-support -endef - -define Package/nginx-ssl/install - $(INSTALL_DIR) $(1)/usr/sbin - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/nginx $(1)/usr/sbin/ - $(INSTALL_DIR) $(1)/etc/nginx/conf.d - $(INSTALL_DATA) $(addprefix $(PKG_INSTALL_DIR)/etc/nginx/,$(config_files)) $(1)/etc/nginx/ - $(INSTALL_DIR) $(1)/etc/init.d - $(INSTALL_BIN) ./files/nginx.init $(1)/etc/init.d/nginx -endef - -Package/nginx-full/install = $(Package/nginx-ssl/install) - -define Package/nginx-ssl/prerm -#!/bin/sh -[ -z "$${IPKG_INSTROOT}" ] || exit 0 -[ "$${PKG_UPGRADE}" = "1" ] && exit 0 -eval $$(/usr/bin/nginx-util get_env) -[ "$$(uci get "nginx.$${LAN_NAME}.$${MANAGE_SSL}")" = "self-signed" ] || exit 0 -rm -f "$$(uci get "nginx.$${LAN_NAME}.ssl_certificate")" -rm -f "$$(uci get "nginx.$${LAN_NAME}.ssl_certificate_key")" -exit 0 -endef - -Package/nginx-full/prerm = $(Package/nginx-ssl/prerm) - -define Download/nginx-headers-more - VERSION:=bea1be3bbf6af28f6aa8cf0c01c07ee1637e2bd0 - SUBDIR:=nginx-headers-more - FILE:=headers-more-nginx-module-$$(VERSION).tar.xz - URL:=https://github.com/openresty/headers-more-nginx-module.git - MIRROR_HASH:=3617bbf7a935208a1d8d5f86a8f9b770f6987e4d2b5663a9ab1b777217e3066b - PROTO:=git -endef - -define Prepare/nginx-headers-more - $(eval $(Download/nginx-headers-more)) - xzcat $(DL_DIR)/$(FILE) | tar -C $(PKG_BUILD_DIR) $(TAR_OPTIONS) -endef - -define Download/nginx-brotli - VERSION:=e505dce68acc190cc5a1e780a3b0275e39f160ca - SUBDIR:=nginx-brotli - FILE:=ngx-brotli-module-$$(VERSION).tar.xz - URL:=https://github.com/google/ngx_brotli.git - MIRROR_HASH:=04847f11ef808fed50f44b2af0ef3abf59ff0ffc06dfc7394d9ab51d53fef31f - PROTO:=git -endef - -define Prepare/nginx-brotli - $(eval $(Download/nginx-brotli)) - xzcat $(DL_DIR)/$(FILE) | tar -C $(PKG_BUILD_DIR) $(TAR_OPTIONS) -endef - -define Download/nginx-rtmp - VERSION:=f0ea62342a4eca504b311cd5df910d026c3ea4cf - SUBDIR:=nginx-rtmp - FILE:=ngx-rtmp-module-$$(VERSION).tar.xz - URL:=https://github.com/ut0mt8/nginx-rtmp-module.git - MIRROR_HASH:=d3f58066f0f858ed79f7f2b0c9b89de2ccc512c94ab3d0625f6dcff3df0b72c1 - PROTO:=git -endef - -define Prepare/nginx-rtmp - $(eval $(Download/nginx-rtmp)) - xzcat $(DL_DIR)/$(FILE) | tar -C $(PKG_BUILD_DIR) $(TAR_OPTIONS) -endef - -define Download/nginx-ts - VERSION:=ef2f874d95cc75747eb625a292524a702aefb0fd - SUBDIR:=nginx-ts - FILE:=ngx-ts-module-$$(VERSION).tar.xz - URL:=https://github.com/arut/nginx-ts-module.git - MIRROR_HASH:=73938950bb286d40d9e54b0994d1a63827340c1156c72eb04d7041b25b20ec18 - PROTO:=git -endef - -define Prepare/nginx-ts - $(eval $(Download/nginx-ts)) - xzcat $(DL_DIR)/$(FILE) | tar -C $(PKG_BUILD_DIR) $(TAR_OPTIONS) -endef - -define Download/nginx-naxsi - VERSION:=951123ad456bdf5ac94e8d8819342fe3d49bc002 - SUBDIR:=nginx-naxsi - FILE:=nginx-naxsi-module-$$(VERSION).tar.xz - URL:=https://github.com/nbs-system/naxsi.git - MIRROR_HASH:=c734cae19a596affadd62a2df1b58d3df8d1364093a4e80a7cd1ab4555963535 - PROTO:=git -endef - -define Prepare/nginx-naxsi - $(eval $(Download/nginx-naxsi)) - xzcat $(DL_DIR)/$(FILE) | tar -C $(PKG_BUILD_DIR) $(TAR_OPTIONS) -endef - -define Download/lua-nginx - VERSION:=68acad14e4a8f42e31d4a4bb5ed44d6f5b55fc1c - SUBDIR:=lua-nginx - FILE:=lua-nginx-module-$$(VERSION).tar.xz - URL:=https://github.com/openresty/lua-nginx-module.git - MIRROR_HASH:=366f24e1ba6221e34f6ba20ab29146438438f88c89fd71f9500d169b3f5aedf0 - PROTO:=git -endef - -define Prepare/lua-nginx - $(eval $(Download/lua-nginx)) - xzcat $(DL_DIR)/$(FILE) | tar -C $(PKG_BUILD_DIR) $(TAR_OPTIONS) -endef - -define Download/nginx-dav-ext-module - VERSION:=f5e30888a256136d9c550bf1ada77d6ea78a48af - SUBDIR:=nginx-dav-ext-module - FILE:=nginx-dav-ext-module-$$(VERSION).tar.xz - URL:=https://github.com/arut/nginx-dav-ext-module.git - MIRROR_HASH:=70bb4c3907f4b783605500ba494e907aede11f8505702e370012abb3c177dc5b - PROTO:=git -endef - -define Prepare/nginx-dav-ext-module - $(eval $(Download/nginx-dav-ext-module)) - xzcat $(DL_DIR)/$(FILE) | tar -C $(PKG_BUILD_DIR) $(TAR_OPTIONS) -endef - -define Download/nginx-ubus-module - VERSION:=b2d7260dcb428b2fb65540edb28d7538602b4a26 - SUBDIR:=nginx-ubus-module - FILE:=nginx-ubus-module-$$(VERSION).tar.xz - URL:=https://github.com/Ansuel/nginx-ubus-module.git - MIRROR_HASH:=472cef416d25effcac66c85417ab6596e634a7a64d45b709bb090892d567553c - PROTO:=git -endef - -define Prepare/nginx-ubus-module - $(eval $(Download/nginx-ubus-module)) - xzcat $(DL_DIR)/$(FILE) | tar -C $(PKG_BUILD_DIR) $(TAR_OPTIONS) -endef - -define Build/Patch - $(if $(QUILT),rm -rf $(PKG_BUILD_DIR)/patches; mkdir -p $(PKG_BUILD_DIR)/patches) - $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/nginx,nginx/) -ifneq "$(or $(CONFIG_PACKAGE_nginx-mod-dav-ext),$(QUILT))" "" - $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/dav-nginx,dav-nginx/) -endif -ifneq "$(or $(CONFIG_PACKAGE_nginx-mod-lua),$(QUILT))" "" - $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/lua-nginx,lua-nginx/) -endif -ifneq "$(or $(CONFIG_PACKAGE_nginx-mod-rtmp),$(QUILT))" "" - $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rtmp-nginx,rtmp-nginx/) -endif - $(if $(QUILT),touch $(PKG_BUILD_DIR)/.quilt_used) -endef - -define Quilt/Refresh/Package - $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/nginx,nginx/) - $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/dav-nginx,dav-nginx/) - $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/lua-nginx,lua-nginx/) - $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rtmp-nginx,rtmp-nginx/) -endef - -define Build/Prepare - rm -rf $(PKG_BUILD_DIR) - mkdir -p $(PKG_BUILD_DIR) - $(PKG_UNPACK) - -ifneq ($(CONFIG_PACKAGE_nginx-mod-naxsi),) - $(eval $(call Download,nginx-naxsi)) - $(Prepare/nginx-naxsi) -endif - -ifneq "$(or $(CONFIG_PACKAGE_nginx-mod-lua),$(QUILT))" "" - $(eval $(call Download,lua-nginx)) - $(Prepare/lua-nginx) -endif - -ifneq ($(CONFIG_PACKAGE_nginx-mod-brotli),) - $(eval $(call Download,nginx-brotli)) - $(Prepare/nginx-brotli) -endif - -ifneq ($(CONFIG_PACKAGE_nginx-mod-headers-more),) - $(eval $(call Download,nginx-headers-more)) - $(Prepare/nginx-headers-more) -endif - -ifneq "$(or $(CONFIG_PACKAGE_nginx-mod-rtmp),$(QUILT))" "" - $(eval $(call Download,nginx-rtmp)) - $(Prepare/nginx-rtmp) -endif - -ifneq ($(CONFIG_PACKAGE_nginx-mod-ts),) - $(eval $(call Download,nginx-ts)) - $(Prepare/nginx-ts) -endif - -ifneq "$(or $(CONFIG_PACKAGE_nginx-mod-dav-ext),$(QUILT))" "" - $(eval $(call Download,nginx-dav-ext-module)) - $(Prepare/nginx-dav-ext-module) -endif - -ifneq ($(CONFIG_PACKAGE_nginx-mod-ubus),) - $(eval $(call Download,nginx-ubus-module)) - $(Prepare/nginx-ubus-module) -endif - - $(Build/Patch) -endef + --crossbuild=Linux::$(ARCH) \ + --prefix=/usr \ + --conf-path=/etc/nginx/nginx.conf \ + --modules-path=/usr/lib/nginx/modules \ + --error-log-path=stderr \ + --pid-path=/var/run/nginx.pid \ + --lock-path=/var/lock/nginx.lock \ + --http-log-path=/var/log/nginx/access.log \ + --http-client-body-temp-path=/var/lib/nginx/body \ + --http-proxy-temp-path=/var/lib/nginx/proxy \ + --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \ + --with-cc="$(TARGET_CC)" \ + --with-cc-opt="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \ + --with-ld-opt="$(TARGET_LDFLAGS)" \ + --without-http_upstream_zone_module \ + --without-pcre2 \ + --with-compat \ + --with-http_ssl_module \ + $(if $(call IsDisabled,NGINX_HTTP_CACHE),--without-http-cache) \ + $(if $(call IsDisabled,NGINX_PCRE),--without-pcre) \ + $(if $(call IsDisabled,NGINX_HTTP_CHARSET),--without-http_charset_module) \ + $(if $(call IsDisabled,NGINX_HTTP_GZIP),--without-http_gzip_module) \ + $(if $(call IsDisabled,NGINX_HTTP_SSI),--without-http_ssi_module) \ + $(if $(call IsDisabled,NGINX_HTTP_USERID),--without-http_userid_module) \ + $(if $(call IsDisabled,NGINX_HTTP_ACCESS),--without-http_access_module) \ + $(if $(call IsDisabled,NGINX_HTTP_AUTH_BASIC),--without-http_auth_basic_module) \ + $(if $(call IsDisabled,NGINX_HTTP_AUTOINDEX),--without-http_autoindex_module) \ + $(if $(call IsDisabled,NGINX_HTTP_GEO),--without-http_geo_module) \ + $(if $(call IsDisabled,NGINX_HTTP_MAP),--without-http_map_module) \ + $(if $(call IsDisabled,NGINX_HTTP_SPLIT_CLIENTS),--without-http_split_clients_module) \ + $(if $(call IsDisabled,NGINX_HTTP_REFERER),--without-http_referer_module) \ + $(if $(call IsDisabled,NGINX_HTTP_REWRITE),--without-http_rewrite_module) \ + $(if $(call IsDisabled,NGINX_HTTP_PROXY),--without-http_proxy_module) \ + $(if $(call IsDisabled,NGINX_HTTP_FASTCGI),--without-http_fastcgi_module) \ + $(if $(call IsDisabled,NGINX_HTTP_UWSGI),--without-http_uwsgi_module) \ + $(if $(call IsDisabled,NGINX_HTTP_SCGI),--without-http_scgi_module) \ + $(if $(call IsDisabled,NGINX_HTTP_MEMCACHED),--without-http_memcached_module) \ + $(if $(call IsDisabled,NGINX_HTTP_LIMIT_CONN),--without-http_limit_conn_module) \ + $(if $(call IsDisabled,NGINX_HTTP_LIMIT_REQ),--without-http_limit_req_module) \ + $(if $(call IsDisabled,NGINX_HTTP_EMPTY_GIF),--without-http_empty_gif_module) \ + $(if $(call IsDisabled,NGINX_HTTP_BROWSER),--without-http_browser_module) \ + $(if $(call IsDisabled,NGINX_HTTP_UPSTREAM_HASH),--without-http_upstream_hash_module) \ + $(if $(call IsDisabled,NGINX_HTTP_UPSTREAM_IP_HASH),--without-http_upstream_ip_hash_module) \ + $(if $(call IsDisabled,NGINX_HTTP_UPSTREAM_LEAST_CONN),--without-http_upstream_least_conn_module) \ + $(if $(call IsDisabled,NGINX_HTTP_UPSTREAM_KEEPALIVE),--without-http_upstream_keepalive_module) \ + $(if $(call IsEnabled,IPV6),--with-ipv6) \ + $(if $(call IsEnabled,NGINX_HTTP_GZIP_STATIC),--with-http_gzip_static_module) \ + $(if $(call IsEnabled,NGINX_STUB_STATUS),--with-http_stub_status_module) \ + $(if $(call IsEnabled,NGINX_FLV),--with-http_flv_module) \ + $(if $(call IsEnabled,NGINX_DAV),--with-http_dav_module) \ + $(if $(call IsEnabled,NGINX_HTTP_AUTH_REQUEST),--with-http_auth_request_module) \ + $(if $(call IsEnabled,NGINX_HTTP_V2),--with-http_v2_module) \ + $(if $(call IsEnabled,NGINX_HTTP_REAL_IP),--with-http_realip_module) \ + $(if $(call IsEnabled,NGINX_HTTP_SECURE_LINK),--with-http_secure_link_module) \ + $(if $(call IsEnabled,NGINX_HTTP_SUB),--with-http_sub_module) \ + $(if $(CONFIG_PACKAGE_nginx-mod-stream),--with-stream=dynamic --with-stream_ssl_module --with-stream_ssl_preread_module) \ + $(if $(CONFIG_PACKAGE_nginx-mod-naxsi),--add-dynamic-module=$(PKG_BUILD_DIR)/nginx-mod-naxsi/naxsi_src) \ + $(foreach m,$(filter-out naxsi,$(PKG_MOD_EXTRA)), \ + $(if $(CONFIG_PACKAGE_nginx-mod-$(m)),--add-dynamic-module=$(PKG_BUILD_DIR)/nginx-mod-$(m))) $(eval $(call BuildPackage,nginx-ssl)) $(eval $(call BuildPackage,nginx-full)) $(eval $(call BuildPackage,nginx-mod-luci)) - -$(foreach m,$(NGINX_MODULES),$(eval $(call BuildPackage,$(m)))) +$(eval $(call BuildModule,stream,+@NGINX_STREAM_CORE_MODULE, \ + ngx_stream, Add support for NGINX request streaming.)) +$(eval $(call BuildModule,lua,+luajit,ngx_http_lua, \ + Enable Lua module)) +$(eval $(call BuildModule,ubus,+libubus +libjson-c +libblobmsg-json +@NGINX_UBUS, \ + ngx_http_ubus,Enable UBUS api support directly from the server.)) +$(eval $(call BuildModule,dav-ext,+@NGINX_DAV +libxml2,ngx_http_dav_ext, \ + Enable the WebDAV methods PROPFIND OPTIONS LOCK UNLOCK.)) +$(eval $(call BuildModule,headers-more,,ngx_http_headers_more_filter, \ + Set and clear input and output headers...more than "add"!)) +$(eval $(call BuildModule,rtmp,,ngx_rtmp, \ + Add support for NGINX-based Media Streaming Server module. DASH enhanced)) +$(eval $(call BuildModule,ts,,ngx_http_ts, \ + Add support for MPEG-TS Live Module module.)) +$(eval $(call BuildModule,brotli,,ngx_http_brotli_filter ngx_http_brotli_static, \ + Add support for brotli compression module.)) +$(eval $(call BuildModule,naxsi,,ngx_http_naxsi, \ + Enable NAXSI module.)) # TODO: remove after a transition period (together with pkg nginx-util): # It is for smoothly substituting nginx and nginx-mod-luci-ssl (by nginx-ssl diff --git a/net/nginx/patches/dav-nginx/100-drop-libxslt-dep.patch b/net/nginx/patches/nginx-mod-dav-ext/100-drop-libxslt-dep.patch similarity index 87% rename from net/nginx/patches/dav-nginx/100-drop-libxslt-dep.patch rename to net/nginx/patches/nginx-mod-dav-ext/100-drop-libxslt-dep.patch index aa06f0464..689898d2f 100644 --- a/net/nginx/patches/dav-nginx/100-drop-libxslt-dep.patch +++ b/net/nginx/patches/nginx-mod-dav-ext/100-drop-libxslt-dep.patch @@ -1,5 +1,5 @@ ---- a/nginx-dav-ext-module/config -+++ b/nginx-dav-ext-module/config +--- a/nginx-mod-dav-ext/config ++++ b/nginx-mod-dav-ext/config @@ -8,9 +8,8 @@ ngx_module_name=ngx_http_dav_ext_module # building nginx with the xslt module, in which case libxslt will # be linked anyway. In other cases libxslt is just redundant. diff --git a/net/nginx/patches/lua-nginx/100-no_by_lua_block.patch b/net/nginx/patches/nginx-mod-lua/100-no_by_lua_block.patch similarity index 98% rename from net/nginx/patches/lua-nginx/100-no_by_lua_block.patch rename to net/nginx/patches/nginx-mod-lua/100-no_by_lua_block.patch index 1b4d1fef1..b51c5e404 100644 --- a/net/nginx/patches/lua-nginx/100-no_by_lua_block.patch +++ b/net/nginx/patches/nginx-mod-lua/100-no_by_lua_block.patch @@ -1,5 +1,5 @@ ---- a/lua-nginx/src/ngx_http_lua_module.c -+++ b/lua-nginx/src/ngx_http_lua_module.c +--- a/nginx-mod-lua/src/ngx_http_lua_module.c ++++ b/nginx-mod-lua/src/ngx_http_lua_module.c @@ -207,12 +207,14 @@ static ngx_command_t ngx_http_lua_cmds[] offsetof(ngx_http_lua_loc_conf_t, log_socket_errors), NULL }, diff --git a/net/nginx/patches/rtmp-nginx/100-bigedian.patch b/net/nginx/patches/nginx-mod-rtmp/100-bigedian.patch similarity index 98% rename from net/nginx/patches/rtmp-nginx/100-bigedian.patch rename to net/nginx/patches/nginx-mod-rtmp/100-bigedian.patch index c0a07bc7c..b7b78fc92 100644 --- a/net/nginx/patches/rtmp-nginx/100-bigedian.patch +++ b/net/nginx/patches/nginx-mod-rtmp/100-bigedian.patch @@ -12,8 +12,8 @@ Subject: [PATCH 1/3] arut's e0e278bc7fedd6f7465648d1d20df1a8422d60bf [removed ngx_rtmp_handler.c | 108 +++++++++++++++++++++--------------------- 5 files changed, 68 insertions(+), 64 deletions(-) ---- a/nginx-rtmp/ngx_rtmp.c -+++ b/nginx-rtmp/ngx_rtmp.c +--- a/nginx-mod-rtmp/ngx_rtmp.c ++++ b/nginx-mod-rtmp/ngx_rtmp.c @@ -825,22 +825,6 @@ ngx_rtmp_fire_event(ngx_rtmp_session_t * } @@ -37,8 +37,8 @@ Subject: [PATCH 1/3] arut's e0e278bc7fedd6f7465648d1d20df1a8422d60bf [removed static ngx_int_t ngx_rtmp_init_process(ngx_cycle_t *cycle) { ---- a/nginx-rtmp/ngx_rtmp.h -+++ b/nginx-rtmp/ngx_rtmp.h +--- a/nginx-mod-rtmp/ngx_rtmp.h ++++ b/nginx-mod-rtmp/ngx_rtmp.h @@ -417,34 +417,33 @@ ngx_int_t ngx_rtmp_fire_event(ngx_rtmp_s ngx_int_t ngx_rtmp_set_chunk_size(ngx_rtmp_session_t *s, ngx_uint_t size); @@ -92,8 +92,8 @@ Subject: [PATCH 1/3] arut's e0e278bc7fedd6f7465648d1d20df1a8422d60bf [removed /* Receiving messages */ ngx_int_t ngx_rtmp_receive_message(ngx_rtmp_session_t *s, ---- a/nginx-rtmp/ngx_rtmp_amf.c -+++ b/nginx-rtmp/ngx_rtmp_amf.c +--- a/nginx-mod-rtmp/ngx_rtmp_amf.c ++++ b/nginx-mod-rtmp/ngx_rtmp_amf.c @@ -10,23 +10,6 @@ #include "ngx_rtmp.h" #include @@ -244,8 +244,8 @@ Subject: [PATCH 1/3] arut's e0e278bc7fedd6f7465648d1d20df1a8422d60bf [removed { return NGX_ERROR; } ---- a/nginx-rtmp/ngx_rtmp_flv_module.c -+++ b/nginx-rtmp/ngx_rtmp_flv_module.c +--- a/nginx-mod-rtmp/ngx_rtmp_flv_module.c ++++ b/nginx-mod-rtmp/ngx_rtmp_flv_module.c @@ -102,7 +102,7 @@ ngx_rtmp_flv_fill_index(ngx_rtmp_amf_ctx return NGX_ERROR; } @@ -294,8 +294,8 @@ Subject: [PATCH 1/3] arut's e0e278bc7fedd6f7465648d1d20df1a8422d60bf [removed ctx->offset += (sizeof(ngx_rtmp_flv_header) + size + 4); ---- a/nginx-rtmp/ngx_rtmp_handler.c -+++ b/nginx-rtmp/ngx_rtmp_handler.c +--- a/nginx-mod-rtmp/ngx_rtmp_handler.c ++++ b/nginx-mod-rtmp/ngx_rtmp_handler.c @@ -200,7 +200,7 @@ ngx_rtmp_recv(ngx_event_t *rev) ngx_rtmp_stream_t *st, *st0; ngx_chain_t *in, *head; @@ -470,8 +470,8 @@ Subject: [PATCH 1/3] arut's e0e278bc7fedd6f7465648d1d20df1a8422d60bf [removed /* This CONTRADICTS the standard * but that's the way flash client ---- a/nginx-rtmp/ngx_rtmp_send.c -+++ b/nginx-rtmp/ngx_rtmp_send.c +--- a/nginx-mod-rtmp/ngx_rtmp_send.c ++++ b/nginx-mod-rtmp/ngx_rtmp_send.c @@ -33,13 +33,13 @@ *(__b->last++) = (u_char)(utype); @@ -491,8 +491,8 @@ Subject: [PATCH 1/3] arut's e0e278bc7fedd6f7465648d1d20df1a8422d60bf [removed #define NGX_RTMP_USER_END(s) \ ngx_rtmp_prepare_message(s, &__h, NULL, __l); \ ---- a/nginx-rtmp/hls/ngx_rtmp_hls_module.c -+++ b/nginx-rtmp/hls/ngx_rtmp_hls_module.c +--- a/nginx-mod-rtmp/hls/ngx_rtmp_hls_module.c ++++ b/nginx-mod-rtmp/hls/ngx_rtmp_hls_module.c @@ -296,7 +296,7 @@ static ngx_command_t ngx_rtmp_hls_comman ngx_conf_set_enum_slot, NGX_RTMP_APP_CONF_OFFSET, @@ -534,8 +534,8 @@ Subject: [PATCH 1/3] arut's e0e278bc7fedd6f7465648d1d20df1a8422d60bf [removed if (len == 0) { continue; ---- a/nginx-rtmp/ngx_rtmp_bitop.h -+++ b/nginx-rtmp/ngx_rtmp_bitop.h +--- a/nginx-mod-rtmp/ngx_rtmp_bitop.h ++++ b/nginx-mod-rtmp/ngx_rtmp_bitop.h @@ -40,7 +40,7 @@ uint64_t ngx_rtmp_bit_read_golomb(ngx_rt ((uint32_t) ngx_rtmp_bit_read(br, 32)) @@ -545,8 +545,8 @@ Subject: [PATCH 1/3] arut's e0e278bc7fedd6f7465648d1d20df1a8422d60bf [removed #endif /* _NGX_RTMP_BITOP_H_INCLUDED_ */ ---- a/nginx-rtmp/ngx_rtmp_eval.c -+++ b/nginx-rtmp/ngx_rtmp_eval.c +--- a/nginx-mod-rtmp/ngx_rtmp_eval.c ++++ b/nginx-mod-rtmp/ngx_rtmp_eval.c @@ -166,7 +166,7 @@ ngx_rtmp_eval(void *ctx, ngx_str_t *in, state = ESCAPE; continue; @@ -556,8 +556,8 @@ Subject: [PATCH 1/3] arut's e0e278bc7fedd6f7465648d1d20df1a8422d60bf [removed case ESCAPE: ngx_rtmp_eval_append(&b, &c, 1, log); state = NORMAL; ---- a/nginx-rtmp/ngx_rtmp_handshake.c -+++ b/nginx-rtmp/ngx_rtmp_handshake.c +--- a/nginx-mod-rtmp/ngx_rtmp_handshake.c ++++ b/nginx-mod-rtmp/ngx_rtmp_handshake.c @@ -264,7 +264,8 @@ ngx_rtmp_handshake_create_challenge(ngx_ b = s->hs_buf; b->last = b->pos = b->start; @@ -578,8 +578,8 @@ Subject: [PATCH 1/3] arut's e0e278bc7fedd6f7465648d1d20df1a8422d60bf [removed p = b->pos + 4; ngx_log_debug5(NGX_LOG_DEBUG_RTMP, s->connection->log, 0, ---- a/nginx-rtmp/ngx_rtmp_mp4_module.c -+++ b/nginx-rtmp/ngx_rtmp_mp4_module.c +--- a/nginx-mod-rtmp/ngx_rtmp_mp4_module.c ++++ b/nginx-mod-rtmp/ngx_rtmp_mp4_module.c @@ -528,9 +528,9 @@ ngx_rtmp_mp4_parse_mdhd(ngx_rtmp_session } @@ -1330,8 +1330,8 @@ Subject: [PATCH 1/3] arut's e0e278bc7fedd6f7465648d1d20df1a8422d60bf [removed shift += sizeof(extended_size); } else if (size == 0) { ---- a/nginx-rtmp/ngx_rtmp_receive.c -+++ b/nginx-rtmp/ngx_rtmp_receive.c +--- a/nginx-mod-rtmp/ngx_rtmp_receive.c ++++ b/nginx-mod-rtmp/ngx_rtmp_receive.c @@ -17,7 +17,6 @@ ngx_rtmp_protocol_message_handler(ngx_rt ngx_rtmp_header_t *h, ngx_chain_t *in) { @@ -1424,8 +1424,8 @@ Subject: [PATCH 1/3] arut's e0e278bc7fedd6f7465648d1d20df1a8422d60bf [removed return NGX_OK; } ---- a/nginx-rtmp/ngx_rtmp_record_module.c -+++ b/nginx-rtmp/ngx_rtmp_record_module.c +--- a/nginx-mod-rtmp/ngx_rtmp_record_module.c ++++ b/nginx-mod-rtmp/ngx_rtmp_record_module.c @@ -454,7 +454,7 @@ ngx_rtmp_record_node_open(ngx_rtmp_sessi ngx_err_t err; ngx_str_t path; From d26e21ef40b4872007e753e821c2908bfe93b678 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Fri, 26 May 2023 14:43:12 +0200 Subject: [PATCH 10/47] CI: add concurrency rules to skip redundant build Add concurrency rules to skip redundant build to skip extra build test on force push on pull request. Signed-off-by: Christian Marangi --- .github/workflows/multi-arch-test-build.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/multi-arch-test-build.yml b/.github/workflows/multi-arch-test-build.yml index 60ff51063..9cac7c9b3 100644 --- a/.github/workflows/multi-arch-test-build.yml +++ b/.github/workflows/multi-arch-test-build.yml @@ -3,6 +3,10 @@ name: Test Build on: pull_request: +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + jobs: build: name: Test ${{ matrix.arch }} From d53475ac21cf79bef902b61fac69ffe25a3aad2f Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Thu, 18 May 2023 01:02:13 +0800 Subject: [PATCH 11/47] python3: Split venv module from python3-light into separate package This adds a new subpackage for the venv module. This also moves the ensurepip module from python3-pip into python3-venv, as ensurepip is not necessary for pip but often used for venv. Signed-off-by: Jeffery To --- lang/python/python3/Makefile | 2 +- .../python3/files/python3-package-pip.mk | 1 - .../python3/files/python3-package-venv.mk | 19 +++++++++++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 lang/python/python3/files/python3-package-venv.mk diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile index 020d88a6e..8d81bc3f8 100644 --- a/lang/python/python3/Makefile +++ b/lang/python/python3/Makefile @@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk 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 diff --git a/lang/python/python3/files/python3-package-pip.mk b/lang/python/python3/files/python3-package-pip.mk index 61ea48022..8b547cee8 100644 --- a/lang/python/python3/files/python3-package-pip.mk +++ b/lang/python/python3/files/python3-package-pip.mk @@ -29,7 +29,6 @@ define Py3Package/python3-pip/install endef $(eval $(call Py3BasePackage,python3-pip, \ - /usr/lib/python$(PYTHON3_VERSION)/ensurepip \ , \ DO_NOT_ADD_TO_PACKAGE_DEPENDS \ )) diff --git a/lang/python/python3/files/python3-package-venv.mk b/lang/python/python3/files/python3-package-venv.mk new file mode 100644 index 000000000..b2ddcab79 --- /dev/null +++ b/lang/python/python3/files/python3-package-venv.mk @@ -0,0 +1,19 @@ +# +# Copyright (C) 2023 Jeffery To +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +define Package/python3-venv +$(call Package/python3/Default) + TITLE:=Python $(PYTHON3_VERSION) venv module + DEPENDS:=+python3 +endef + +$(eval $(call Py3BasePackage,python3-venv, \ + /usr/lib/python$(PYTHON3_VERSION)/ensurepip \ + /usr/lib/python$(PYTHON3_VERSION)/venv \ + , \ + DO_NOT_ADD_TO_PACKAGE_DEPENDS \ +)) From eee273507b868ad5f6f7e744d513c85330967906 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Thu, 18 May 2023 13:36:24 +0800 Subject: [PATCH 12/47] python3: Split pip into separate source package Packaging pip from a separate source package allows it to stay updated with upstream. Host pip will remain installed as part of python3. Host pip is used in a much more controlled way and so is less critical for it to track upstream. This also removes the python-pip-conf package and installs the pip.conf file as part of python3-pip. The patch 003-disable-pip-version-check.patch is originally from Debian: https://salsa.debian.org/python-team/packages/python-pip/-/blob/bb079efb8c6dd2c284eee94cf90e61bce19a6f73/debian/patches/disable-pip-version-check.patch pip was in a separate source package that was removed in a53d0c5a403d1669e2cf6c59c2be6a9d3ed633a0; this work is not based on that earlier package. Signed-off-by: Jeffery To --- lang/python/python-pip-conf/Makefile | 36 ------------ lang/python/python-pip-conf/files/pip.conf | 3 - lang/python/python-pip/Makefile | 56 +++++++++++++++++++ lang/python/python-pip/files/pip.conf | 2 + .../patches/001-pyproject-hooks-pyc-fix.patch | 13 +++++ .../patches/002-pip-runner-pyc-fix.patch | 11 ++++ .../003-disable-pip-version-check.patch | 20 +++++++ lang/python/python3/Makefile | 24 +------- .../python3/files/python3-package-pip.mk | 34 ----------- lang/python/python3/patches-host-pip/.gitkeep | 0 .../patches-pip/001-pep517-pyc-fix.patch | 29 ---------- 11 files changed, 105 insertions(+), 123 deletions(-) delete mode 100644 lang/python/python-pip-conf/Makefile delete mode 100644 lang/python/python-pip-conf/files/pip.conf create mode 100644 lang/python/python-pip/Makefile create mode 100644 lang/python/python-pip/files/pip.conf create mode 100644 lang/python/python-pip/patches/001-pyproject-hooks-pyc-fix.patch create mode 100644 lang/python/python-pip/patches/002-pip-runner-pyc-fix.patch create mode 100644 lang/python/python-pip/patches/003-disable-pip-version-check.patch delete mode 100644 lang/python/python3/files/python3-package-pip.mk create mode 100644 lang/python/python3/patches-host-pip/.gitkeep delete mode 100644 lang/python/python3/patches-pip/001-pep517-pyc-fix.patch diff --git a/lang/python/python-pip-conf/Makefile b/lang/python/python-pip-conf/Makefile deleted file mode 100644 index b8ef7f6c5..000000000 --- a/lang/python/python-pip-conf/Makefile +++ /dev/null @@ -1,36 +0,0 @@ -# -# Copyright (C) 2017 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=python-pip-conf -PKG_VERSION:=0.1 -PKG_RELEASE:=1 - -include $(INCLUDE_DIR)/package.mk - -define Package/python-pip-conf - SUBMENU:=Python - SECTION:=lang - CATEGORY:=Languages - TITLE:=Configuration file for pip/pip3 - URL:=https://pip.pypa.io - MAINTAINER:=Alexandru Ardelean -endef - -define Package/python-pip-conf/description - Configuration file for pip/pip3 -endef - -Build/Compile:= - -define Package/python-pip-conf/install - $(INSTALL_DIR) $(1)/etc - $(CP) ./files/pip.conf $(1)/etc -endef - -$(eval $(call BuildPackage,python-pip-conf)) diff --git a/lang/python/python-pip-conf/files/pip.conf b/lang/python/python-pip-conf/files/pip.conf deleted file mode 100644 index 89339e98a..000000000 --- a/lang/python/python-pip-conf/files/pip.conf +++ /dev/null @@ -1,3 +0,0 @@ -[global] -cache-dir=/tmp/.cache -log-file=/tmp/pip-log.txt diff --git a/lang/python/python-pip/Makefile b/lang/python/python-pip/Makefile new file mode 100644 index 000000000..97a5326bc --- /dev/null +++ b/lang/python/python-pip/Makefile @@ -0,0 +1,56 @@ +# +# Copyright (C) 2023 Jeffery To +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=python-pip +PKG_VERSION:=23.1.2 +PKG_RELEASE:=1 + +PYPI_NAME:=pip +PKG_HASH:=0e7c86f486935893c708287b30bd050a36ac827ec7fe5e43fe7cb198dd835fba + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE.txt +PKG_MAINTAINER:=Jeffery To +CPE_ID:=cpe:/a:python:pip + +include ../pypi.mk +include $(INCLUDE_DIR)/package.mk +include ../python3-package.mk + +define Package/python3-pip + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=PyPA recommended tool for installing Python packages + URL:=https://pip.pypa.io/ + DEPENDS:=+python3 +endef + +define Package/python3-pip/description +pip is the package installer for Python. You can use pip to install +packages from the Python Package Index and other indexes. +endef + +define Package/python3-pip/conffiles +/etc/pip.conf +endef + +define Py3Package/python3-pip/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/pip$(PYTHON3_VERSION) $(1)/usr/bin/ + $(LN) pip$(PYTHON3_VERSION) $(1)/usr/bin/pip3 + $(LN) pip$(PYTHON3_VERSION) $(1)/usr/bin/pip + + $(INSTALL_DIR) $(1)/etc + $(INSTALL_DATA) ./files/pip.conf $(1)/etc/ +endef + +$(eval $(call Py3Package,python3-pip)) +$(eval $(call BuildPackage,python3-pip)) +$(eval $(call BuildPackage,python3-pip-src)) diff --git a/lang/python/python-pip/files/pip.conf b/lang/python/python-pip/files/pip.conf new file mode 100644 index 000000000..08900815f --- /dev/null +++ b/lang/python/python-pip/files/pip.conf @@ -0,0 +1,2 @@ +[global] +cache-dir = /var/cache/pip diff --git a/lang/python/python-pip/patches/001-pyproject-hooks-pyc-fix.patch b/lang/python/python-pip/patches/001-pyproject-hooks-pyc-fix.patch new file mode 100644 index 000000000..27681c1af --- /dev/null +++ b/lang/python/python-pip/patches/001-pyproject-hooks-pyc-fix.patch @@ -0,0 +1,13 @@ +--- a/src/pip/_vendor/pyproject_hooks/_in_process/__init__.py ++++ b/src/pip/_vendor/pyproject_hooks/_in_process/__init__.py +@@ -11,8 +11,8 @@ try: + except AttributeError: + # Python 3.8 compatibility + def _in_proc_script_path(): +- return resources.path(__package__, '_in_process.py') ++ return resources.path(__package__, '_in_process.pyc') + else: + def _in_proc_script_path(): + return resources.as_file( +- resources.files(__package__).joinpath('_in_process.py')) ++ resources.files(__package__).joinpath('_in_process.pyc')) diff --git a/lang/python/python-pip/patches/002-pip-runner-pyc-fix.patch b/lang/python/python-pip/patches/002-pip-runner-pyc-fix.patch new file mode 100644 index 000000000..4616fe065 --- /dev/null +++ b/lang/python/python-pip/patches/002-pip-runner-pyc-fix.patch @@ -0,0 +1,11 @@ +--- a/src/pip/_internal/build_env.py ++++ b/src/pip/_internal/build_env.py +@@ -54,7 +54,7 @@ def get_runnable_pip() -> str: + # case, we can use that directly. + return str(source) + +- return os.fsdecode(source / "__pip-runner__.py") ++ return os.fsdecode(source / "__pip-runner__.pyc") + + + def _get_system_sitepackages() -> Set[str]: diff --git a/lang/python/python-pip/patches/003-disable-pip-version-check.patch b/lang/python/python-pip/patches/003-disable-pip-version-check.patch new file mode 100644 index 000000000..87a8178a7 --- /dev/null +++ b/lang/python/python-pip/patches/003-disable-pip-version-check.patch @@ -0,0 +1,20 @@ +From: Barry Warsaw +Date: Fri, 18 Nov 2016 17:07:47 -0500 +Subject: Set --disable-pip-version-check=True by default. + +Patch-Name: disable-pip-version-check.patch +--- + src/pip/_internal/cli/cmdoptions.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/src/pip/_internal/cli/cmdoptions.py ++++ b/src/pip/_internal/cli/cmdoptions.py +@@ -892,7 +892,7 @@ disable_pip_version_check: Callable[..., + "--disable-pip-version-check", + dest="disable_pip_version_check", + action="store_true", +- default=False, ++ default=True, + help="Don't periodically check PyPI to determine whether a new version " + "of pip is available for download. Implied with --no-index.", + ) diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile index 8d81bc3f8..b478f5b6c 100644 --- a/lang/python/python3/Makefile +++ b/lang/python/python3/Makefile @@ -43,7 +43,7 @@ HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/Python-$(PKG_VERSION) PKG_CONFIG_DEPENDS:= \ CONFIG_PACKAGE_python3-pkg-resources \ - CONFIG_PACKAGE_python3-setuptools CONFIG_PACKAGE_python3-pip + CONFIG_PACKAGE_python3-setuptools PKG_BUILD_DEPENDS:=bluez python3/host python-build/host python-installer/host python-wheel/host HOST_BUILD_DEPENDS:=bzip2/host libffi/host @@ -213,29 +213,10 @@ define Build/Compile/python3-setuptools endef endif # CONFIG_PACKAGE_python3-setuptools -ifdef CONFIG_PACKAGE_python3-pip -define Build/Compile/python3-pip - $(HOST_PYTHON3_PIP_VARS) \ - $(HOST_PYTHON3_PIP) \ - install \ - --ignore-installed \ - --progress-bar off \ - --root=$(PKG_BUILD_DIR)/install-pip \ - --prefix=/usr \ - $(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/pip-$(PYTHON3_PIP_VERSION)-py3-none-any.whl - $(call PatchDir,$(PKG_BUILD_DIR)/install-pip/usr/lib/python$(PYTHON3_VERSION)/site-packages,./patches-pip,) -endef -else -define Build/Compile/python3-pip - ls $(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/pip-$(PYTHON3_PIP_VERSION)-py3-none-any.whl -endef -endif # CONFIG_PACKAGE_python3-pip - define Build/Compile $(call Build/Compile/Default) # Use host pip to install python-setuptools $(call Build/Compile/python3-setuptools) - $(call Build/Compile/python3-pip) endef define Build/InstallDev @@ -366,6 +347,7 @@ HOST_CONFIGURE_ARGS += \ define Host/Configure $(SED) 's/^ENABLE_USER_SITE = None$$$$/ENABLE_USER_SITE = False/' $(HOST_BUILD_DIR)/Lib/site.py $(call Host/Configure/Default) + ls $(HOST_BUILD_DIR)/Lib/ensurepip/_bundled/pip-$(PYTHON3_PIP_VERSION)-py3-none-any.whl endef define Host/Install @@ -390,7 +372,7 @@ define Host/Install touch $(HOST_PYTHON3_PKG_DIR)/.setuptools_installed_$(PYTHON3_SETUPTOOLS_VERSION)-$(PYTHON3_SETUPTOOLS_PKG_RELEASE) ) $(if $(wildcard $(HOST_PYTHON3_PKG_DIR)/.pip_installed_$(PYTHON3_PIP_VERSION)-$(PYTHON3_PIP_PKG_RELEASE)),, - $(call HostPatchDir,$(HOST_PYTHON3_PKG_DIR),./patches-pip,) + $(call HostPatchDir,$(HOST_PYTHON3_PKG_DIR),./patches-host-pip,) touch $(HOST_PYTHON3_PKG_DIR)/.pip_installed_$(PYTHON3_PIP_VERSION)-$(PYTHON3_PIP_PKG_RELEASE) ) endef diff --git a/lang/python/python3/files/python3-package-pip.mk b/lang/python/python3/files/python3-package-pip.mk deleted file mode 100644 index 8b547cee8..000000000 --- a/lang/python/python3/files/python3-package-pip.mk +++ /dev/null @@ -1,34 +0,0 @@ -# -# Copyright (C) 2017 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -define Package/python3-pip -$(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) pip module - VERSION:=$(PYTHON3_PIP_VERSION)-$(PYTHON3_PIP_PKG_RELEASE) - LICENSE:=MIT - LICENSE_FILES:=LICENSE.txt -# CPE_ID:=cpe:/a:python:pip # not currently handled this way by uscan - DEPENDS:=+python3 +python3-setuptools +python-pip-conf -endef - -define Py3Package/python3-pip/install - $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages - $(CP) $(PKG_BUILD_DIR)/install-pip/usr/bin/pip$(PYTHON3_VERSION) $(1)/usr/bin - $(LN) pip$(PYTHON3_VERSION) $(1)/usr/bin/pip3 - $(LN) pip$(PYTHON3_VERSION) $(1)/usr/bin/pip - $(CP) \ - $(PKG_BUILD_DIR)/install-pip/usr/lib/python$(PYTHON3_VERSION)/site-packages/pip \ - $(PKG_BUILD_DIR)/install-pip/usr/lib/python$(PYTHON3_VERSION)/site-packages/pip-$(PYTHON3_PIP_VERSION).dist-info \ - $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/ - find $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/ -path '*/__pycache__/*' -delete - find $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/ -type d -name __pycache__ -delete -endef - -$(eval $(call Py3BasePackage,python3-pip, \ - , \ - DO_NOT_ADD_TO_PACKAGE_DEPENDS \ -)) diff --git a/lang/python/python3/patches-host-pip/.gitkeep b/lang/python/python3/patches-host-pip/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/lang/python/python3/patches-pip/001-pep517-pyc-fix.patch b/lang/python/python3/patches-pip/001-pep517-pyc-fix.patch deleted file mode 100644 index df5f90cce..000000000 --- a/lang/python/python3/patches-pip/001-pep517-pyc-fix.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff --git a/pip/_vendor/pep517/in_process/__init__.py b/pip/_vendor/pep517/in_process/__init__.py -index 281a356cfe26..77acbfc2670b 100644 ---- a/pip/_vendor/pep517/in_process/__init__.py -+++ b/pip/_vendor/pep517/in_process/__init__.py -@@ -14,13 +14,21 @@ try: - except AttributeError: - # Python 3.8 compatibility - def _in_proc_script_path(): -- return resources.path(__package__, '_in_process.py') -+ if resources.is_resource(__package__, '_in_process.py'): -+ return resources.path(__package__, '_in_process.py') -+ return resources.path(__package__, '_in_process.pyc') - else: - def _in_proc_script_path(): -+ if resources.files(__package__).joinpath('_in_process.py').is_file(): -+ return resources.as_file( -+ resources.files(__package__).joinpath('_in_process.py')) - return resources.as_file( -- resources.files(__package__).joinpath('_in_process.py')) -+ resources.files(__package__).joinpath('_in_process.pyc')) - except ImportError: - # Python 3.6 compatibility - @contextmanager - def _in_proc_script_path(): -- yield pjoin(dirname(abspath(__file__)), '_in_process.py') -+ _in_proc_script = pjoin(dirname(abspath(__file__)), '_in_process.py') -+ if not os.path.isfile(_in_proc_script): -+ _in_proc_script = pjoin(dirname(abspath(__file__)), '_in_process.pyc') -+ yield _in_proc_script From b4975f8bbb9f61a2a170dc1acd6cabe2b7e9f93c Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Thu, 18 May 2023 20:38:09 +0800 Subject: [PATCH 13/47] python3: Split setuptools into separate source package Packaging setuptools from a separate source package allows it to stay updated with upstream. Host setuptools will remain installed as part of python3. Host setuptools is used in a much more controlled way and so is less critical for it to track upstream. setuptools was in a separate source package that was removed in a53d0c5a403d1669e2cf6c59c2be6a9d3ed633a0; this work is not based on that earlier package. Signed-off-by: Jeffery To --- lang/python/python-setuptools/Makefile | 82 +++++++++++++++++++ lang/python/python3/Makefile | 39 +-------- .../files/python3-package-pkg-resources.mk | 30 ------- .../files/python3-package-setuptools.mk | 32 -------- .../.gitkeep} | 0 5 files changed, 84 insertions(+), 99 deletions(-) create mode 100644 lang/python/python-setuptools/Makefile delete mode 100644 lang/python/python3/files/python3-package-pkg-resources.mk delete mode 100644 lang/python/python3/files/python3-package-setuptools.mk rename lang/python/python3/{patches-setuptools/.placeholder => patches-host-setuptools/.gitkeep} (100%) diff --git a/lang/python/python-setuptools/Makefile b/lang/python/python-setuptools/Makefile new file mode 100644 index 000000000..fa6ec74e9 --- /dev/null +++ b/lang/python/python-setuptools/Makefile @@ -0,0 +1,82 @@ +# +# Copyright (C) 2023 Jeffery To +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=python-setuptools +PKG_VERSION:=67.8.0 +PKG_RELEASE:=1 + +PYPI_NAME:=setuptools +PKG_HASH:=62642358adc77ffa87233bc4d2354c4b2682d214048f500964dbe760ccedf102 + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To +CPE_ID:=cpe:/a:python:setuptools + +include ../pypi.mk +include $(INCLUDE_DIR)/package.mk +include ../python3-package.mk + +define Package/python3-setuptools/Default + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + URL:=https://github.com/pypa/setuptools +endef + +define Package/python3-pkg-resources +$(call Package/python3-setuptools/Default) + TITLE:=Package resource API + DEPENDS:=+python3-light +python3-email +python3-logging +python3-urllib +endef + +define Package/python3-setuptools +$(call Package/python3-setuptools/Default) + TITLE:=Fully-featured library to package Python projects + DEPENDS:=+python3 +python3-pkg-resources +endef + +define Package/python3-setuptools/description/Default +Setuptools is a fully-featured, actively-maintained, and stable library +designed to facilitate packaging Python projects. + +It helps developers to easily share reusable code (in the form of a +library) and programs (e.g., CLI/GUI tools implemented in Python), that +can be installed with pip and uploaded to PyPI. +endef + +define Package/python3-pkg-resources/description +$(call Package/python3-setuptools/description/Default) + +This is the pkg_resources module of setuptools. +endef + +define Package/python3-setuptools/description +$(call Package/python3-setuptools/description/Default) + +This is the main setuptools module. +endef + +define Py3Package/python3-pkg-resources/filespec ++|$(PYTHON3_PKG_DIR)/pkg_resources +endef + +define Py3Package/python3-setuptools/filespec ++|$(PYTHON3_PKG_DIR) +-|$(PYTHON3_PKG_DIR)/pkg_resources +endef + +$(eval $(call Py3Package,python3-pkg-resources)) +$(eval $(call Py3Package,python3-setuptools)) + +$(eval $(call BuildPackage,python3-pkg-resources)) +$(eval $(call BuildPackage,python3-setuptools)) + +$(eval $(call BuildPackage,python3-pkg-resources-src)) +$(eval $(call BuildPackage,python3-setuptools-src)) diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile index b478f5b6c..d2ef977a2 100644 --- a/lang/python/python3/Makefile +++ b/lang/python/python3/Makefile @@ -41,10 +41,6 @@ PKG_BUILD_FLAGS:=no-lto PKG_BUILD_DIR:=$(BUILD_DIR)/Python-$(PKG_VERSION) HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/Python-$(PKG_VERSION) -PKG_CONFIG_DEPENDS:= \ - CONFIG_PACKAGE_python3-pkg-resources \ - CONFIG_PACKAGE_python3-setuptools - PKG_BUILD_DEPENDS:=bluez python3/host python-build/host python-installer/host python-wheel/host HOST_BUILD_DEPENDS:=bzip2/host libffi/host @@ -187,38 +183,6 @@ CONFIGURE_ARGS += \ $(if $(CONFIG_IPV6),--enable-ipv6) \ $(if $(findstring mips,$(CONFIG_ARCH)),,--with-lto) -ifdef CONFIG_PACKAGE_python3-setuptools -PYTHON3_SETUPTOOLS_BUILD:=1 -endif - -ifdef CONFIG_PACKAGE_python3-pkg-resources -PYTHON3_SETUPTOOLS_BUILD:=1 -endif - -ifeq ($(PYTHON3_SETUPTOOLS_BUILD),1) -define Build/Compile/python3-setuptools - $(HOST_PYTHON3_PIP_VARS) \ - $(HOST_PYTHON3_PIP) \ - install \ - --ignore-installed \ - --progress-bar off \ - --root=$(PKG_BUILD_DIR)/install-setuptools \ - --prefix=/usr \ - $(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/setuptools-$(PYTHON3_SETUPTOOLS_VERSION)-py3-none-any.whl - $(call PatchDir,$(PKG_BUILD_DIR)/install-setuptools/usr/lib/python$(PYTHON3_VERSION)/site-packages,./patches-setuptools,) -endef -else -define Build/Compile/python3-setuptools - ls $(PKG_BUILD_DIR)/Lib/ensurepip/_bundled/setuptools-$(PYTHON3_SETUPTOOLS_VERSION)-py3-none-any.whl -endef -endif # CONFIG_PACKAGE_python3-setuptools - -define Build/Compile - $(call Build/Compile/Default) - # Use host pip to install python-setuptools - $(call Build/Compile/python3-setuptools) -endef - define Build/InstallDev $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib $(1)/usr/lib/pkgconfig $(INSTALL_DIR) $(2)/bin @@ -347,6 +311,7 @@ HOST_CONFIGURE_ARGS += \ define Host/Configure $(SED) 's/^ENABLE_USER_SITE = None$$$$/ENABLE_USER_SITE = False/' $(HOST_BUILD_DIR)/Lib/site.py $(call Host/Configure/Default) + ls $(HOST_BUILD_DIR)/Lib/ensurepip/_bundled/setuptools-$(PYTHON3_SETUPTOOLS_VERSION)-py3-none-any.whl ls $(HOST_BUILD_DIR)/Lib/ensurepip/_bundled/pip-$(PYTHON3_PIP_VERSION)-py3-none-any.whl endef @@ -368,7 +333,7 @@ define Host/Install ) $(call Host/Install/Default) $(if $(wildcard $(HOST_PYTHON3_PKG_DIR)/.setuptools_installed_$(PYTHON3_SETUPTOOLS_VERSION)-$(PYTHON3_SETUPTOOLS_PKG_RELEASE)),, - $(call HostPatchDir,$(HOST_PYTHON3_PKG_DIR),./patches-setuptools,) + $(call HostPatchDir,$(HOST_PYTHON3_PKG_DIR),./patches-host-setuptools,) touch $(HOST_PYTHON3_PKG_DIR)/.setuptools_installed_$(PYTHON3_SETUPTOOLS_VERSION)-$(PYTHON3_SETUPTOOLS_PKG_RELEASE) ) $(if $(wildcard $(HOST_PYTHON3_PKG_DIR)/.pip_installed_$(PYTHON3_PIP_VERSION)-$(PYTHON3_PIP_PKG_RELEASE)),, diff --git a/lang/python/python3/files/python3-package-pkg-resources.mk b/lang/python/python3/files/python3-package-pkg-resources.mk deleted file mode 100644 index 592fe2c8c..000000000 --- a/lang/python/python3/files/python3-package-pkg-resources.mk +++ /dev/null @@ -1,30 +0,0 @@ -# -# Copyright (C) 2019 Alexandru Ardelean -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -define Package/python3-pkg-resources -$(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) pkg_resources module (part of setuptools) - VERSION:=$(PYTHON3_SETUPTOOLS_VERSION)-$(PYTHON3_SETUPTOOLS_PKG_RELEASE) - LICENSE:=MIT - LICENSE_FILES:=LICENSE -# CPE_ID:=cpe:/a:python:setuptools # not currently handled this way by uscan - DEPENDS:=+python3 -endef - -define Py3Package/python3-pkg-resources/install - $(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages - $(CP) \ - $(PKG_BUILD_DIR)/install-setuptools/usr/lib/python$(PYTHON3_VERSION)/site-packages/pkg_resources \ - $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages - find $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/ -path '*/__pycache__/*' -delete - find $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/ -type d -name __pycache__ -delete -endef - -$(eval $(call Py3BasePackage,python3-pkg-resources, \ - , \ - DO_NOT_ADD_TO_PACKAGE_DEPENDS \ -)) diff --git a/lang/python/python3/files/python3-package-setuptools.mk b/lang/python/python3/files/python3-package-setuptools.mk deleted file mode 100644 index 3b7c1ca57..000000000 --- a/lang/python/python3/files/python3-package-setuptools.mk +++ /dev/null @@ -1,32 +0,0 @@ -# -# Copyright (C) 2017 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -define Package/python3-setuptools -$(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) setuptools module - VERSION:=$(PYTHON3_SETUPTOOLS_VERSION)-$(PYTHON3_SETUPTOOLS_PKG_RELEASE) - LICENSE:=MIT - LICENSE_FILES:=LICENSE -# CPE_ID:=cpe:/a:python:setuptools # not currently handled this way by uscan - DEPENDS:=+python3 +python3-pkg-resources -endef - -define Py3Package/python3-setuptools/install - $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages - $(CP) \ - $(PKG_BUILD_DIR)/install-setuptools/usr/lib/python$(PYTHON3_VERSION)/site-packages/setuptools \ - $(PKG_BUILD_DIR)/install-setuptools/usr/lib/python$(PYTHON3_VERSION)/site-packages/setuptools-$(PYTHON3_SETUPTOOLS_VERSION).dist-info \ - $(PKG_BUILD_DIR)/install-setuptools/usr/lib/python$(PYTHON3_VERSION)/site-packages/_distutils_hack \ - $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages - find $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/ -path '*/__pycache__/*' -delete - find $(1)/usr/lib/python$(PYTHON3_VERSION)/site-packages/ -type d -name __pycache__ -delete -endef - -$(eval $(call Py3BasePackage,python3-setuptools, \ - , \ - DO_NOT_ADD_TO_PACKAGE_DEPENDS \ -)) diff --git a/lang/python/python3/patches-setuptools/.placeholder b/lang/python/python3/patches-host-setuptools/.gitkeep similarity index 100% rename from lang/python/python3/patches-setuptools/.placeholder rename to lang/python/python3/patches-host-setuptools/.gitkeep From 3d368ddc35a3e73aadfd9e53784e2ff5c26cacff Mon Sep 17 00:00:00 2001 From: Zephyr Lykos Date: Thu, 25 May 2023 17:54:06 +0800 Subject: [PATCH 14/47] tailscale: update to 1.42.0 Signed-off-by: Zephyr Lykos --- net/tailscale/Makefile | 4 ++-- net/tailscale/patches/010-fake_iptables.patch | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/net/tailscale/Makefile b/net/tailscale/Makefile index e71978a8e..0199bd150 100644 --- a/net/tailscale/Makefile +++ b/net/tailscale/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tailscale -PKG_VERSION:=1.40.1 +PKG_VERSION:=1.42.0 PKG_RELEASE:=1 PKG_SOURCE:=tailscale-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/tailscale/tailscale/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=9c0a9648c921f695fc501536e69c8b4998d318256c8049de538f72fbe1491c18 +PKG_HASH:=09de9bacda98de8d733cff162572b7eac857d13db783776ba2a2450a44ecc5e9 PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=BSD-3-Clause diff --git a/net/tailscale/patches/010-fake_iptables.patch b/net/tailscale/patches/010-fake_iptables.patch index 2874f53b0..ca7086ed8 100644 --- a/net/tailscale/patches/010-fake_iptables.patch +++ b/net/tailscale/patches/010-fake_iptables.patch @@ -7,8 +7,8 @@ +replace github.com/coreos/go-iptables => ./patched/go-iptables + require ( - filippo.io/mkcert v1.4.3 - github.com/Microsoft/go-winio v0.6.0 + filippo.io/mkcert v1.4.4 + github.com/Microsoft/go-winio v0.6.1 --- a/patched/go-iptables/iptables/iptables.go +++ b/patched/go-iptables/iptables/iptables.go @@ -149,12 +149,39 @@ func New(opts ...option) (*IPTables, err From e399e1ce2c532264ef0a6ecea763311870b57062 Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Sat, 27 May 2023 14:48:32 +0800 Subject: [PATCH 15/47] python-greenlet: Update to 2.0.2 Fix build with Python 3.11. Signed-off-by: Tianling Shen --- lang/python/python-greenlet/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lang/python/python-greenlet/Makefile b/lang/python/python-greenlet/Makefile index 25ee383a0..420030781 100644 --- a/lang/python/python-greenlet/Makefile +++ b/lang/python/python-greenlet/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-greenlet -PKG_VERSION:=1.1.2 -PKG_RELEASE:=2 +PKG_VERSION:=2.0.2 +PKG_RELEASE:=1 PYPI_NAME:=greenlet -PKG_HASH:=e30f5ea4ae2346e62cedde8794a56858a67b878dd79f7df76a0767e356b1744a +PKG_HASH:=e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0 PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=MIT From 19291ee1951a79776c1b67c10fd67af5d346abc5 Mon Sep 17 00:00:00 2001 From: Glenn Strauss Date: Sat, 27 May 2023 18:03:56 -0400 Subject: [PATCH 16/47] lighttpd: update to lighttpd 1.4.71 release hash remove patches included upstream Signed-off-by: Glenn Strauss --- net/lighttpd/Makefile | 4 +- .../patches/020-meson-mod_webdav_min.patch | 2 +- .../030-mod_h2-HTTP-2-separate-mod.patch | 87 ------------------- 3 files changed, 3 insertions(+), 90 deletions(-) delete mode 100644 net/lighttpd/patches/030-mod_h2-HTTP-2-separate-mod.patch diff --git a/net/lighttpd/Makefile b/net/lighttpd/Makefile index db2040e23..cd1950cea 100644 --- a/net/lighttpd/Makefile +++ b/net/lighttpd/Makefile @@ -8,14 +8,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=lighttpd -PKG_VERSION:=1.4.70 +PKG_VERSION:=1.4.71 PKG_RELEASE:=1 # release candidate ~rcX testing; remove for release #PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://download.lighttpd.net/lighttpd/releases-1.4.x -PKG_HASH:=921ebe1cf4b6b9897e03779ab7a23a31f4ba40a1abe2067525c33cd3ce61fe85 +PKG_HASH:=b8b6915da20396fdc354df3324d5e440169b2e5ea7859e3a775213841325afac PKG_MAINTAINER:=W. Michael Petullo PKG_LICENSE:=BSD-3-Clause diff --git a/net/lighttpd/patches/020-meson-mod_webdav_min.patch b/net/lighttpd/patches/020-meson-mod_webdav_min.patch index bef6f2e56..774eb60e4 100644 --- a/net/lighttpd/patches/020-meson-mod_webdav_min.patch +++ b/net/lighttpd/patches/020-meson-mod_webdav_min.patch @@ -9,7 +9,7 @@ Subject: [PATCH] [meson] mod_webdav_min w/o deps: xml2 sqlite3 uuid --- a/src/meson.build +++ b/src/meson.build -@@ -879,6 +879,16 @@ if libsasl.found() +@@ -876,6 +876,16 @@ if libsasl.found() ] endif diff --git a/net/lighttpd/patches/030-mod_h2-HTTP-2-separate-mod.patch b/net/lighttpd/patches/030-mod_h2-HTTP-2-separate-mod.patch deleted file mode 100644 index 652b214e4..000000000 --- a/net/lighttpd/patches/030-mod_h2-HTTP-2-separate-mod.patch +++ /dev/null @@ -1,87 +0,0 @@ -From 2892a7bf3f8ce92f41134fab25fbc2057f4a36bf Mon Sep 17 00:00:00 2001 -From: Glenn Strauss -Date: Wed, 10 May 2023 19:06:42 -0400 -Subject: [PATCH] [mod_h2] HTTP/2 separate module; no longer builtin - ---- - src/CMakeLists.txt | 3 --- - src/Makefile.am | 9 +++------ - src/SConscript | 4 +--- - src/meson.build | 3 --- - 4 files changed, 4 insertions(+), 15 deletions(-) - ---- a/src/CMakeLists.txt -+++ b/src/CMakeLists.txt -@@ -922,10 +922,7 @@ set(SERVER_SRC - response.c - connections.c - h1.c -- h2.c - sock_addr_cache.c -- ls-hpack/lshpack.c -- algo_xxhash.c - fdevent_impl.c - http_range.c - network.c ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -70,12 +70,10 @@ common_src=base64.c buffer.c burl.c log. - - common_src += fdevent_win32.c fs_win32.c - --src = server.c response.c connections.c h1.c h2.c \ -+src = server.c response.c connections.c h1.c \ - sock_addr_cache.c \ - network.c \ - network_write.c \ -- ls-hpack/lshpack.c \ -- algo_xxhash.c \ - fdevent_impl.c \ - http_range.c \ - data_config.c \ -@@ -428,6 +426,8 @@ lighttpd_LDADD = \ - $(FAM_LIBS) $(LIBEV_LIBS) $(LIBUNWIND_LIBS) - lighttpd_LDFLAGS = -export-dynamic - -+lighttpd_SOURCES += h2.c ls-hpack/lshpack.c algo_xxhash.c -+lighttpd_LDADD += $(XXHASH_LIBS) - if BUILD_WITH_MAXMINDDB - lighttpd_SOURCES += mod_maxminddb.c - lighttpd_LDADD += $(MAXMINDDB_LIB) -@@ -489,9 +489,6 @@ lighttpd_SOURCES += mod_wolfssl.c - lighttpd_CPPFLAGS += $(WOLFSSL_CFLAGS) - lighttpd_LDADD += $(WOLFSSL_LIBS) - endif --#(until switch to mod_h2) --#lighttpd_SOURCES += h2.c ls-hpack/lshpack.c algo_xxhash.c --#lighttpd_LDADD += $(XXHASH_LIBS) - - else - ---- a/src/SConscript -+++ b/src/SConscript -@@ -75,10 +75,8 @@ common_src = Split("base64.c buffer.c bu - ck.c \ - ") - --src = Split("server.c response.c connections.c h1.c h2.c \ -+src = Split("server.c response.c connections.c h1.c \ - sock_addr_cache.c \ -- ls-hpack/lshpack.c \ -- algo_xxhash.c \ - fdevent_impl.c \ - http_range.c \ - network.c \ ---- a/src/meson.build -+++ b/src/meson.build -@@ -560,10 +560,7 @@ main_src = files( - 'connections.c', - 'data_config.c', - 'h1.c', -- 'h2.c', - 'sock_addr_cache.c', -- 'ls-hpack/lshpack.c', -- 'algo_xxhash.c', - 'fdevent_impl.c', - 'http_range.c', - 'network_write.c', From 0e34107963e3d503ed4dd7a9b9dc6b75596d5474 Mon Sep 17 00:00:00 2001 From: Oskari Rauta Date: Sat, 27 May 2023 10:05:20 +0300 Subject: [PATCH 17/47] apparmor: gcc 13 compatibility fix when built with gcc 13, fixes following error: capability.h:46:6: error: variable or field '__debug_capabilities' declared void 46 | void __debug_capabilities(uint64_t capset, const char *name); | ^~~~~~~~~~~~~~~~~~~~ capability.h:46:27: error: 'uint64_t' was not declared in this scope patch is back ported from upstream patch at https://gitlab.com/apparmor/apparmor/-/commit/64a64be7ffb5a84f27daa9f37ae8ad92800943d3.patch Signed-off-by: Oskari Rauta --- utils/apparmor/Makefile | 2 +- .../100-add-missing-cstdint-include.patch | 32 +++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 utils/apparmor/patches/100-add-missing-cstdint-include.patch diff --git a/utils/apparmor/Makefile b/utils/apparmor/Makefile index f812d2a2e..9dc83c956 100644 --- a/utils/apparmor/Makefile +++ b/utils/apparmor/Makefile @@ -4,7 +4,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=apparmor PKG_VERSION:=3.0.3 -PKG_RELEASE:=5 +PKG_RELEASE:=6 PKG_SOURCE:=$(PKG_NAME)-v$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://gitlab.com/apparmor/apparmor/-/archive/v$(PKG_VERSION) diff --git a/utils/apparmor/patches/100-add-missing-cstdint-include.patch b/utils/apparmor/patches/100-add-missing-cstdint-include.patch new file mode 100644 index 000000000..ff60ee271 --- /dev/null +++ b/utils/apparmor/patches/100-add-missing-cstdint-include.patch @@ -0,0 +1,32 @@ +From 64a64be7ffb5a84f27daa9f37ae8ad92800943d3 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Mon, 23 May 2022 23:12:31 +0100 +Subject: [PATCH] parser/capability.h: add missing include + +Without the change apparmor build fails on this week's gcc-13 snapshot as: + + capability.h:66:6: error: variable or field '__debug_capabilities' declared void + 66 | void __debug_capabilities(uint64_t capset, const char *name); + | ^~~~~~~~~~~~~~~~~~~~ + capability.h:66:27: error: 'uint64_t' was not declared in this scope + 66 | void __debug_capabilities(uint64_t capset, const char *name); + | ^~~~~~~~ + capability.h:23:1: note: 'uint64_t' is defined in header ''; did you forget to '#include '? + 22 | #include + +++ |+#include + 23 | +--- + parser/capability.h | 1 + + 1 file changed, 1 insertion(+) + +--- a/parser/capability.h ++++ b/parser/capability.h +@@ -19,6 +19,8 @@ + #ifndef __AA_CAPABILITY_H + #define __AA_CAPABILITY_H + ++#include ++ + #define NO_BACKMAP_CAP 0xff + + #ifndef CAP_PERFMON From b76fa19b26027f8472617598c19b9e071eef81bb Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Sat, 27 May 2023 19:43:57 +0800 Subject: [PATCH 18/47] python-packages: Replace --global-option with --build-option setuptools 64.0.0 deprecated the use of --global-option to pass build parameters[1]. This replaces the use of --global-option with --build-option. [1]: https://github.com/pypa/setuptools/blob/main/CHANGES.rst#v6400 Signed-off-by: Jeffery To --- lang/python/pillow/Makefile | 22 +++++++++++----------- lang/python/python-evdev/Makefile | 8 ++++---- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/lang/python/pillow/Makefile b/lang/python/pillow/Makefile index 941f28f4e..753ceec25 100644 --- a/lang/python/pillow/Makefile +++ b/lang/python/pillow/Makefile @@ -37,17 +37,17 @@ define Package/python3-pillow/description endef PYTHON3_PKG_BUILD_CONFIG_SETTINGS += \ - --global-option=build_ext \ - --global-option=--enable-zlib \ - --global-option=--enable-jpeg \ - --global-option=--enable-webp \ - --global-option=--enable-webpmux \ - --global-option=--enable-tiff \ - --global-option=--enable-freetype \ - --global-option=--disable-lcms \ - --global-option=--disable-jpeg2000 \ - --global-option=--disable-imagequant \ - --global-option=--disable-platform-guessing + --build-option=build_ext \ + --build-option=--enable-zlib \ + --build-option=--enable-jpeg \ + --build-option=--enable-webp \ + --build-option=--enable-webpmux \ + --build-option=--enable-tiff \ + --build-option=--enable-freetype \ + --build-option=--disable-lcms \ + --build-option=--disable-jpeg2000 \ + --build-option=--disable-imagequant \ + --build-option=--disable-platform-guessing $(eval $(call Py3Package,python3-pillow)) $(eval $(call BuildPackage,python3-pillow)) diff --git a/lang/python/python-evdev/Makefile b/lang/python/python-evdev/Makefile index bab726b54..4623adae7 100644 --- a/lang/python/python-evdev/Makefile +++ b/lang/python/python-evdev/Makefile @@ -40,10 +40,10 @@ endef LINUX_EVDEV_HEADERS="$(LINUX_DIR)/include/uapi/linux/input.h:$(LINUX_DIR)/include/uapi/linux/input-event-codes.h" PYTHON3_PKG_BUILD_CONFIG_SETTINGS:= \ - --global-option=build \ - --global-option=build_ecodes \ - --global-option=--evdev-headers="$(LINUX_EVDEV_HEADERS)" \ - --global-option=build_ext + --build-option=build \ + --build-option=build_ecodes \ + --build-option=--evdev-headers="$(LINUX_EVDEV_HEADERS)" \ + --build-option=build_ext $(eval $(call Py3Package,python3-evdev)) $(eval $(call BuildPackage,python3-evdev)) From f02f3ee8c768085eaf6225f6b25121e7efe07fde Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Sat, 27 May 2023 14:29:12 +0800 Subject: [PATCH 19/47] pyodbc: Update to 4.0.39 * Fixed build with Python 3.11 * Removed unnecessary build depends Signed-off-by: Tianling Shen --- lang/python/pyodbc/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lang/python/pyodbc/Makefile b/lang/python/pyodbc/Makefile index 4e16ebb8e..33b32f094 100644 --- a/lang/python/pyodbc/Makefile +++ b/lang/python/pyodbc/Makefile @@ -5,12 +5,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=pyodbc -PKG_VERSION:=4.0.32 +PKG_VERSION:=4.0.39 PKG_RELEASE:=1 PYPI_NAME:=$(PKG_NAME) -PKG_HASH:=9be5f0c3590655e1968488410fe3528bb8023d527e7ccec1f663d64245071a6b -PKG_BUILD_DEPENDS:=python3 unixodbc +PKG_HASH:=e528bb70dd6d6299ee429868925df0866e3e919c772b9eff79c8e17920d8f116 + PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE.txt PKG_MAINTAINER:=Daniel Golle From 236e36c1983d912fe0772977496c99135fa18f7f Mon Sep 17 00:00:00 2001 From: Maxim Storchak Date: Sat, 27 May 2023 15:54:17 +0300 Subject: [PATCH 20/47] luaposix: update to 36.1 Signed-off-by: Maxim Storchak --- lang/luaposix/Makefile | 4 ++-- .../patches/102-disable-compat-deprecated.patch | 14 +++++++------- lang/luaposix/patches/900-disable-ldoc.patch | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/lang/luaposix/Makefile b/lang/luaposix/Makefile index 2739f863f..636daaf69 100644 --- a/lang/luaposix/Makefile +++ b/lang/luaposix/Makefile @@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luaposix -PKG_VERSION:=35.1 +PKG_VERSION:=36.1 PKG_RELEASE:=1 PKG_SOURCE_URL:=https://codeload.github.com/$(PKG_NAME)/$(PKG_NAME)/tar.gz/v$(PKG_VERSION)? PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_HASH:=1b5c48d2abd59de0738d1fc1e6204e44979ad2a1a26e8e22a2d6215dd502c797 +PKG_HASH:=e680ba9b9c7ae28c0598942cb00df7c7fbc70b82863bb55f028ea7dc101e39ac PKG_MAINTAINER:=Maxim Storchak PKG_LICENSE:=MIT PKG_LICENSE_FILES:=COPYING diff --git a/lang/luaposix/patches/102-disable-compat-deprecated.patch b/lang/luaposix/patches/102-disable-compat-deprecated.patch index 4cc99f6dc..efaa37ba4 100644 --- a/lang/luaposix/patches/102-disable-compat-deprecated.patch +++ b/lang/luaposix/patches/102-disable-compat-deprecated.patch @@ -1,17 +1,17 @@ --- a/lib/posix/init.lua +++ b/lib/posix/init.lua -@@ -325,14 +325,6 @@ do - end +@@ -437,14 +437,6 @@ do end end -- + - -- Inject deprecated APIs (overwriting submodules) for backwards compatibility. - for k, v in next, (require 'posix.deprecated') do -- M[k] = v +- rawset(M, k, v) - end - for k, v in next, (require 'posix.compat') do -- M[k] = v +- rawset(M, k, v) - end - end - +- + --- Metamethods + -- @section metamethods diff --git a/lang/luaposix/patches/900-disable-ldoc.patch b/lang/luaposix/patches/900-disable-ldoc.patch index 95bf88630..85d2aaa71 100644 --- a/lang/luaposix/patches/900-disable-ldoc.patch +++ b/lang/luaposix/patches/900-disable-ldoc.patch @@ -1,6 +1,6 @@ --- a/lukefile +++ b/lukefile -@@ -29,8 +29,6 @@ incdirs = { +@@ -35,8 +35,6 @@ incdirs = { '$LUA_INCDIR', } From fa76c4df5c857ee564bf2f2eaeedfea5b497b1e7 Mon Sep 17 00:00:00 2001 From: John Audia Date: Thu, 25 May 2023 08:50:53 -0400 Subject: [PATCH 21/47] ragel: new package to build vectorscan This is a new package for ragel which is a dependency for another new package vectorscan Co-authored-by: Josef Schlehofer Signed-off-by: John Audia --- devel/ragel/Makefile | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 devel/ragel/Makefile diff --git a/devel/ragel/Makefile b/devel/ragel/Makefile new file mode 100644 index 000000000..25501d3bc --- /dev/null +++ b/devel/ragel/Makefile @@ -0,0 +1,37 @@ +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=ragel +PKG_VERSION:=6.10 +PKG_RELEASE:=1 + +PKG_SOURCE_URL:=https://www.colm.net/files/ragel/ +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_HASH:=5f156edb65d20b856d638dd9ee2dfb43285914d9aa2b6ec779dac0270cd56c3f + +PKG_MAINTAINER:=John Audia +PKG_LICENSE:=GPL-2.0-only +PKG_LICENSE_FILES:=COPYING + +PKG_HOST_ONLY:=1 +HOST_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/host-build.mk +include $(INCLUDE_DIR)/package.mk + +define Package/ragel + SECTION:=devel + CATEGORY:=Development + TITLE:=Compiles finite state machines from regular languages into executable code + URL:=https://www.colm.net/open-source/ragel/ + BUILDONLY:=1 +endef + +HOST_CONFIGURE_VARS += CXXFLAGS="$(HOST_CXXFLAGS) -std=gnu++98" + +$(eval $(call HostBuild)) +$(eval $(call BuildPackage,ragel)) From dda8ba0ca732d613238db973f00e20dc83d8fc77 Mon Sep 17 00:00:00 2001 From: Jianhui Zhao Date: Sun, 28 May 2023 22:04:17 +0800 Subject: [PATCH 22/47] freeradius3: Update to 3.0.26 Signed-off-by: Jianhui Zhao --- net/freeradius3/Makefile | 20 ++++++------------- ...-disable-session-cache-CVE-2017-9148.patch | 10 +++++----- .../patches/010-openssl-deprecated.patch | 18 ++++++++--------- 3 files changed, 20 insertions(+), 28 deletions(-) diff --git a/net/freeradius3/Makefile b/net/freeradius3/Makefile index 37316c72c..d908ed815 100644 --- a/net/freeradius3/Makefile +++ b/net/freeradius3/Makefile @@ -8,19 +8,19 @@ include $(TOPDIR)/rules.mk PKG_NAME:=freeradius3 -PKG_VERSION:=3_0_21 -PKG_RELEASE:=2 +PKG_VERSION:=3.0.26 +PKG_RELEASE:=1 -PKG_SOURCE:=release_$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://github.com/FreeRADIUS/freeradius-server/archive -PKG_HASH:=b2014372948a92f86cfe2cf43c58ef47921c03af05666eb9d6416bdc6eeaedc2 +PKG_SOURCE:=freeradius-server-$(PKG_VERSION).tar.bz2 +PKG_SOURCE_URL:=https://github.com/FreeRADIUS/freeradius-server/releases/download/release_$(subst .,_,$(PKG_VERSION))/ +PKG_HASH:=9a65314c462da4d4c4204df72c45f210de671f89317299b01f78549ac4503f59 PKG_MAINTAINER:= PKG_LICENSE:=GPL-2.0 PKG_LICENSE_FILES:=COPYRIGHT LICENSE PKG_CPE_ID:=cpe:/a:freeradius:freeradius -PKG_BUILD_DIR:=$(BUILD_DIR)/freeradius-server-release_$(PKG_VERSION) +PKG_BUILD_DIR:=$(BUILD_DIR)/freeradius-server-$(PKG_VERSION) PKG_FIXUP:=autoreconf PYTHON3_PKG_BUILD:=0 @@ -77,7 +77,6 @@ define Package/freeradius3-default +freeradius3-mod-digest \ +freeradius3-mod-eap \ +freeradius3-mod-eap-gtc \ -+freeradius3-mod-eap-leap \ +freeradius3-mod-eap-md5 \ +freeradius3-mod-eap-mschapv2 \ +freeradius3-mod-eap-peap \ @@ -195,12 +194,6 @@ define Package/freeradius3-mod-eap-gtc TITLE:=EAP/GTC module endef -define Package/freeradius3-mod-eap-leap - $(call Package/freeradius3/Default) - DEPENDS:=freeradius3-mod-eap - TITLE:=EAP/LEAP module -endef - define Package/freeradius3-mod-eap-md5 $(call Package/freeradius3/Default) DEPENDS:=freeradius3-mod-eap @@ -774,7 +767,6 @@ $(eval $(call BuildPlugin,freeradius3-mod-detail,rlm_detail,)) $(eval $(call BuildPlugin,freeradius3-mod-digest,rlm_digest,)) $(eval $(call BuildPlugin,freeradius3-mod-eap,rlm_eap,)) $(eval $(call BuildPlugin,freeradius3-mod-eap-gtc,rlm_eap_gtc,)) -$(eval $(call BuildPlugin,freeradius3-mod-eap-leap,rlm_eap_leap,)) $(eval $(call BuildPlugin,freeradius3-mod-eap-md5,rlm_eap_md5,)) $(eval $(call BuildPlugin,freeradius3-mod-eap-mschapv2,rlm_eap_mschapv2,)) $(eval $(call BuildPlugin,freeradius3-mod-eap-peap,rlm_eap_peap,)) diff --git a/net/freeradius3/patches/002-disable-session-cache-CVE-2017-9148.patch b/net/freeradius3/patches/002-disable-session-cache-CVE-2017-9148.patch index 73561f50f..ed5ed009d 100644 --- a/net/freeradius3/patches/002-disable-session-cache-CVE-2017-9148.patch +++ b/net/freeradius3/patches/002-disable-session-cache-CVE-2017-9148.patch @@ -9,16 +9,16 @@ Last-Update: 2020-04-28 --- a/src/main/tls.c +++ b/src/main/tls.c -@@ -675,7 +675,7 @@ tls_session_t *tls_new_session(TALLOC_CT - state->mtu = vp->vp_integer; +@@ -934,7 +934,7 @@ after_chain: } + if (vp) vp->vp_integer = state->mtu; - if (conf->session_cache_enable) state->allow_session_resumption = true; /* otherwise it's false */ + if (/*conf->session_cache_enable*/0) state->allow_session_resumption = true; /* otherwise it's false */ return state; } -@@ -3332,7 +3332,7 @@ post_ca: +@@ -4389,7 +4389,7 @@ post_ca: /* * Callbacks, etc. for session resumption. */ @@ -27,7 +27,7 @@ Last-Update: 2020-04-28 /* * Cache sessions on disk if requested. */ -@@ -3402,7 +3402,7 @@ post_ca: +@@ -4469,7 +4469,7 @@ post_ca: /* * Setup session caching */ @@ -36,7 +36,7 @@ Last-Update: 2020-04-28 /* * Create a unique context Id per EAP-TLS configuration. */ -@@ -3571,7 +3571,7 @@ fr_tls_server_conf_t *tls_server_conf_pa +@@ -4757,7 +4757,7 @@ fr_tls_server_conf_t *tls_server_conf_pa goto error; } diff --git a/net/freeradius3/patches/010-openssl-deprecated.patch b/net/freeradius3/patches/010-openssl-deprecated.patch index aeaf4928e..d2123c965 100644 --- a/net/freeradius3/patches/010-openssl-deprecated.patch +++ b/net/freeradius3/patches/010-openssl-deprecated.patch @@ -18,15 +18,15 @@ } --- a/src/main/tls.c +++ b/src/main/tls.c -@@ -55,6 +55,7 @@ USES_APPLE_DEPRECATED_API /* OpenSSL API +@@ -60,6 +60,7 @@ USES_APPLE_DEPRECATED_API /* OpenSSL API # include # endif # include +# include - #define LOG_PREFIX "tls" - -@@ -2133,7 +2134,7 @@ int cbtls_verify(int ok, X509_STORE_CTX + #if OPENSSL_VERSION_NUMBER >= 0x30000000L + # include +@@ -2954,7 +2955,7 @@ int cbtls_verify(int ok, X509_STORE_CTX int my_ok = ok; ASN1_INTEGER *sn = NULL; @@ -35,7 +35,7 @@ VALUE_PAIR **certs; char **identity; #ifdef HAVE_OPENSSL_OCSP_H -@@ -2207,7 +2208,7 @@ int cbtls_verify(int ok, X509_STORE_CTX +@@ -3028,7 +3029,7 @@ int cbtls_verify(int ok, X509_STORE_CTX * Get the Expiration Date */ buf[0] = '\0'; @@ -44,7 +44,7 @@ if (certs && (lookup <= 1) && asn_time && (asn_time->length < (int) sizeof(buf))) { memcpy(buf, (char*) asn_time->data, asn_time->length); -@@ -2220,7 +2221,7 @@ int cbtls_verify(int ok, X509_STORE_CTX +@@ -3041,7 +3042,7 @@ int cbtls_verify(int ok, X509_STORE_CTX * Get the Valid Since Date */ buf[0] = '\0'; @@ -53,7 +53,7 @@ if (certs && (lookup <= 1) && asn_time && (asn_time->length < (int) sizeof(buf))) { memcpy(buf, (char*) asn_time->data, asn_time->length); -@@ -2690,10 +2691,12 @@ static int set_ecdh_curve(SSL_CTX *ctx, +@@ -3592,10 +3593,12 @@ static int set_ecdh_curve(SSL_CTX *ctx, */ int tls_global_init(bool spawn_flag, bool check) { @@ -66,7 +66,7 @@ /* * Initialize the index for the certificates. -@@ -2769,6 +2772,7 @@ int tls_global_version_check(char const +@@ -3693,6 +3696,7 @@ int tls_global_version_check(char const */ void tls_global_cleanup(void) { @@ -74,7 +74,7 @@ #if OPENSSL_VERSION_NUMBER < 0x10000000L ERR_remove_state(0); #elif OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) -@@ -2781,6 +2785,7 @@ void tls_global_cleanup(void) +@@ -3718,6 +3722,7 @@ void tls_global_cleanup(void) ERR_free_strings(); EVP_cleanup(); CRYPTO_cleanup_all_ex_data(); From 3def783d3c72effdb87b1168315e51295cebc20f Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Mon, 29 May 2023 16:49:23 +0800 Subject: [PATCH 23/47] bcrypt: Update to 3.2.2, rename source package This is the last released version before bcrypt's Rust rewrite; this package can be further updated after the OpenWrt Rust toolchain has stablized. This also renames the source package from bcrypt to python-bcrypt to match other Python packages, and updates the list of dependencies. Signed-off-by: Jeffery To --- lang/python/{bcrypt => python-bcrypt}/Makefile | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) rename lang/python/{bcrypt => python-bcrypt}/Makefile (78%) diff --git a/lang/python/bcrypt/Makefile b/lang/python/python-bcrypt/Makefile similarity index 78% rename from lang/python/bcrypt/Makefile rename to lang/python/python-bcrypt/Makefile index 9e49ce333..b3855a473 100644 --- a/lang/python/bcrypt/Makefile +++ b/lang/python/python-bcrypt/Makefile @@ -5,12 +5,12 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=bcrypt -PKG_VERSION:=3.1.7 -PKG_RELEASE:=5 +PKG_NAME:=python-bcrypt +PKG_VERSION:=3.2.2 +PKG_RELEASE:=1 -PYPI_NAME:=$(PKG_NAME) -PKG_HASH:=0b0069c752ec14172c5f78208f1863d7ad6755a6fae6fe76ec2c80d13be41e42 +PYPI_NAME:=bcrypt +PKG_HASH:=433c410c2177057705da2a9f2cd01dd157493b2a7ac14c8593a16b3dab6b6bfb PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE @@ -27,10 +27,7 @@ define Package/python3-bcrypt SUBMENU:=Python TITLE:=Modern password hashing URL:=https://github.com/pyca/bcrypt/ - DEPENDS:= \ - +python3 \ - +python3-cffi \ - +python3-six + DEPENDS:=+python3-light +python3-cffi endef define Package/python3-bcrypt/description From 9f8a5fb25b22933dc25c72bc8df59db6ac080a68 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Mon, 29 May 2023 13:40:28 +0800 Subject: [PATCH 24/47] python-hatch-fancy-pypi-readme: Update to 23.1.0 Signed-off-by: Jeffery To --- lang/python/python-hatch-fancy-pypi-readme/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lang/python/python-hatch-fancy-pypi-readme/Makefile b/lang/python/python-hatch-fancy-pypi-readme/Makefile index 24e27be36..6633a6354 100644 --- a/lang/python/python-hatch-fancy-pypi-readme/Makefile +++ b/lang/python/python-hatch-fancy-pypi-readme/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-hatch-fancy-pypi-readme -PKG_VERSION:=22.8.0 -PKG_RELEASE:=2 +PKG_VERSION:=23.1.0 +PKG_RELEASE:=1 PYPI_NAME:=hatch-fancy-pypi-readme PYPI_SOURCE_NAME:=hatch_fancy_pypi_readme -PKG_HASH:=da91282ca09601c18aded8e378daf8b578c70214866f0971156ee9bb9ce6c26a +PKG_HASH:=b1df44063094af1e8248ceacd47a92c9cf313d6b9823bf66af8a927c3960287d PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE.txt From f47802949c5660eea67d9e3e242942dbe0489b9d Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Mon, 29 May 2023 12:19:29 +0800 Subject: [PATCH 25/47] python-cython: Update to 0.29.35 Signed-off-by: Jeffery To --- lang/python/python-cython/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/python/python-cython/Makefile b/lang/python/python-cython/Makefile index 276f420c8..2c5707557 100644 --- a/lang/python/python-cython/Makefile +++ b/lang/python/python-cython/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-cython -PKG_VERSION:=0.29.34 +PKG_VERSION:=0.29.35 PKG_RELEASE:=1 PYPI_NAME:=Cython -PKG_HASH:=1909688f5d7b521a60c396d20bba9e47a1b2d2784bfb085401e1e1e7d29a29a8 +PKG_HASH:=6e381fa0bf08b3c26ec2f616b19ae852c06f5750f4290118bf986b6f85c8c527 PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE.txt From 925bd169451f3223ca3800cde4af390759919e3b Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Sun, 28 May 2023 02:07:01 +0800 Subject: [PATCH 26/47] mpfr: Add package From the documentation: MPFR is a portable library written in C for arbitrary precision arithmetic on floating-point numbers. It is based on the GNU MP library. It aims to provide a class of floating-point numbers with precise semantics. Signed-off-by: Jeffery To --- libs/mpfr/Makefile | 64 ++++++++++++++++++++++++++++ libs/mpfr/patches/001-only-src.patch | 22 ++++++++++ 2 files changed, 86 insertions(+) create mode 100644 libs/mpfr/Makefile create mode 100644 libs/mpfr/patches/001-only-src.patch diff --git a/libs/mpfr/Makefile b/libs/mpfr/Makefile new file mode 100644 index 000000000..f4d2d64e5 --- /dev/null +++ b/libs/mpfr/Makefile @@ -0,0 +1,64 @@ +# +# Copyright (C) 2023 Jeffery To +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=mpfr +PKG_VERSION:=4.2.0 +PKG_RELEASE:=1 + +PKG_SOURCE_URL:=@GNU/mpfr http://www.mpfr.org/mpfr-$(PKG_VERSION) +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz +PKG_HASH:=06a378df13501248c1b2db5aa977a2c8126ae849a9d9b7be2546fb4a9c26d993 + +PKG_LICENSE:=LGPL-3.0-or-later +PKG_LICENSE_FILES:=COPYING.LESSER +PKG_MAINTAINER:=Jeffery To +PKG_CPE_ID:=cpe:/a:mpfr:gnu_mpfr + +PKG_BUILD_PARALLEL:=1 +PKG_FIXUP:=autoreconf +PKG_INSTALL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/libmpfr + SECTION:=libs + CATEGORY:=Libraries + TITLE:=GNU MPFR library + URL:=https://www.mpfr.org/ + DEPENDS:=+libgmp + ABI_VERSION:=6 +endef + +define Package/libmpfr/description +MPFR is a portable library written in C for arbitrary precision +arithmetic on floating-point numbers. It is based on the GNU MP library. +It aims to provide a class of floating-point numbers with precise +semantics. +endef + +CONFIGURE_ARGS += \ + --enable-thread-safe + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/mpf* $(1)/usr/include/ + + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libmpfr.{a,so*} $(1)/usr/lib/ + + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig + $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/mpfr.pc $(1)/usr/lib/pkgconfig/ +endef + +define Package/libmpfr/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libmpfr.so.* $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,libmpfr)) diff --git a/libs/mpfr/patches/001-only-src.patch b/libs/mpfr/patches/001-only-src.patch new file mode 100644 index 000000000..bd9e38aef --- /dev/null +++ b/libs/mpfr/patches/001-only-src.patch @@ -0,0 +1,22 @@ +--- a/Makefile.am ++++ b/Makefile.am +@@ -38,7 +38,7 @@ AUTOMAKE_OPTIONS = gnu + # old Automake version. + ACLOCAL_AMFLAGS = -I m4 + +-SUBDIRS = doc src tests tune tools/bench ++SUBDIRS = src + + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = mpfr.pc +--- a/Makefile.in ++++ b/Makefile.in +@@ -401,7 +401,7 @@ AUTOMAKE_OPTIONS = gnu + # libtoolize and in case some developer needs to switch back to an + # old Automake version. + ACLOCAL_AMFLAGS = -I m4 +-SUBDIRS = doc src tests tune tools/bench ++SUBDIRS = src + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = mpfr.pc + nobase_dist_doc_DATA = AUTHORS BUGS COPYING COPYING.LESSER NEWS TODO \ From 4d64d5f80a0bbffded0d4d99d7578d61349e424c Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Sun, 28 May 2023 03:07:15 +0800 Subject: [PATCH 27/47] libmpc: Add package From the documentation: GNU MPC is a portable library written in C for arbitrary precision arithmetic on complex numbers providing correct rounding. It implements a multiprecision equivalent of the C99 standard. It builds upon the GNU MP and the GNU MPFR libraries. Signed-off-by: Jeffery To --- libs/libmpc/Makefile | 57 ++++++++++++++++++++++++++ libs/libmpc/patches/001-only-src.patch | 22 ++++++++++ 2 files changed, 79 insertions(+) create mode 100644 libs/libmpc/Makefile create mode 100644 libs/libmpc/patches/001-only-src.patch diff --git a/libs/libmpc/Makefile b/libs/libmpc/Makefile new file mode 100644 index 000000000..2a5e3d119 --- /dev/null +++ b/libs/libmpc/Makefile @@ -0,0 +1,57 @@ +# +# Copyright (C) 2023 Jeffery To +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=mpc +PKG_VERSION:=1.3.1 +PKG_RELEASE:=1 + +PKG_SOURCE_URL:=@GNU/mpc/ +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_HASH:=ab642492f5cf882b74aa0cb730cd410a81edcdbec895183ce930e706c1c759b8 + +PKG_LICENSE:=LGPL-3.0-or-later +PKG_LICENSE_FILES:=COPYING.LESSER +PKG_MAINTAINER:=Jeffery To + +PKG_BUILD_PARALLEL:=1 +PKG_FIXUP:=autoreconf +PKG_INSTALL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/libmpc + SECTION:=libs + CATEGORY:=Libraries + TITLE:=GNU MPC library + URL:=https://www.multiprecision.org/mpc/ + DEPENDS:=+libgmp +libmpfr + ABI_VERSION:=3 +endef + +define Package/libmpc/description +GNU MPC is a portable library written in C for arbitrary precision +arithmetic on complex numbers providing correct rounding. It implements +a multiprecision equivalent of the C99 standard. It builds upon the GNU +MP and the GNU MPFR libraries. +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/mpc* $(1)/usr/include/ + + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libmpc.{a,so*} $(1)/usr/lib/ +endef + +define Package/libmpc/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libmpc.so.* $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,libmpc)) diff --git a/libs/libmpc/patches/001-only-src.patch b/libs/libmpc/patches/001-only-src.patch new file mode 100644 index 000000000..8201ec7b0 --- /dev/null +++ b/libs/libmpc/patches/001-only-src.patch @@ -0,0 +1,22 @@ +--- a/Makefile.am ++++ b/Makefile.am +@@ -23,7 +23,7 @@ ACLOCAL_AMFLAGS = -I m4 + # VERSION = @VERSION@@GITVERSION@ # for development version + VERSION = @VERSION@ + +-SUBDIRS = src tests doc tools ++SUBDIRS = src + + EXTRA_HEADERS = src/mpc-log.h + include_HEADERS = src/mpc.h @MPC_LOG_H@ +--- a/Makefile.in ++++ b/Makefile.in +@@ -376,7 +376,7 @@ top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + ACLOCAL_AMFLAGS = -I m4 +-SUBDIRS = src tests doc tools ++SUBDIRS = src + EXTRA_HEADERS = src/mpc-log.h + include_HEADERS = src/mpc.h @MPC_LOG_H@ + EXTRA_DIST = doc/fdl-1.3.texi src/mpc-log.h From a7d33e9e3a139648da043980d4fb5345c2e7496a Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Sun, 28 May 2023 03:41:29 +0800 Subject: [PATCH 28/47] python-gmpy2: Update to 2.1.5 Signed-off-by: Jeffery To --- lang/python/python-gmpy2/Makefile | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/lang/python/python-gmpy2/Makefile b/lang/python/python-gmpy2/Makefile index 899f67d1f..6aa371e69 100644 --- a/lang/python/python-gmpy2/Makefile +++ b/lang/python/python-gmpy2/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2015-2018 OpenWrt.org +# Copyright (C) 2015-2016, 2018-2020, 2023 Jeffery To # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -8,12 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-gmpy2 -PKG_VERSION:=2.0.8 -PKG_RELEASE:=6 +PKG_VERSION:=2.1.5 +PKG_RELEASE:=1 PYPI_NAME:=gmpy2 -PYPI_SOURCE_EXT:=zip -PKG_HASH:=dd233e3288b90f21b0bb384bcc7a7e73557bb112ccf0032ad52aa614eb373d3f +PKG_HASH:=bc297f1fd8c377ae67a4f493fc0f926e5d1b157e5c342e30a4d84dc7b9f95d96 PKG_LICENSE:=LGPL-3.0-or-later PKG_LICENSE_FILES:=COPYING.LESSER @@ -23,15 +22,13 @@ include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk -PYTHON3_PKG_BUILD_CONFIG_SETTINGS:=--global-option=--nompfr - define Package/python3-gmpy2 SECTION:=lang CATEGORY:=Languages SUBMENU:=Python TITLE:=GMP/MPIR, MPFR, and MPC interface URL:=https://github.com/aleaxit/gmpy - DEPENDS:=+libgmp +python3-light + DEPENDS:=+libgmp +libmpc +libmpfr +python3-light endef define Package/python3-gmpy2/description From 17007845bc4964aabf3635903fcb0f0b0e7386aa Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Mon, 29 May 2023 13:47:05 +0800 Subject: [PATCH 29/47] python-trove-classifiers: Update to 2023.5.24 Signed-off-by: Jeffery To --- lang/python/python-trove-classifiers/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/python/python-trove-classifiers/Makefile b/lang/python/python-trove-classifiers/Makefile index 1a4708d00..67c5017a0 100644 --- a/lang/python/python-trove-classifiers/Makefile +++ b/lang/python/python-trove-classifiers/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-trove-classifiers -PKG_VERSION:=2023.5.2 +PKG_VERSION:=2023.5.24 PKG_RELEASE:=1 PYPI_NAME:=trove-classifiers -PKG_HASH:=c46d6e40a9581599b16c712e0164fec3764872a4085c673c07559787caedb867 +PKG_HASH:=fd5a1546283be941f47540a135bdeae8fb261380a6a204d9c18012f2a1b0ceae PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE From f45f067f3f9726acfb0d5edd193731bc587ff54f Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Mon, 29 May 2023 14:05:54 +0800 Subject: [PATCH 30/47] python-typing-extensions: Update to 4.6.2 This also updates the SPDX license identifier, title, description and URL for the package. Signed-off-by: Jeffery To --- lang/python/python-typing-extensions/Makefile | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/lang/python/python-typing-extensions/Makefile b/lang/python/python-typing-extensions/Makefile index 5bf3273ae..dd6cfe7ac 100644 --- a/lang/python/python-typing-extensions/Makefile +++ b/lang/python/python-typing-extensions/Makefile @@ -8,15 +8,15 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-typing-extensions -PKG_VERSION:=4.5.0 +PKG_VERSION:=4.6.2 PKG_RELEASE:=1 PYPI_NAME:=typing-extensions PYPI_SOURCE_NAME:=typing_extensions -PKG_HASH:=5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb +PKG_HASH:=06006244c70ac8ee83fa8282cb188f697b8db25bc8b4df07be1873c43897060c PKG_MAINTAINER:=Jan Pavlinec , Jeffery To -PKG_LICENSE:=PSF-2.0 +PKG_LICENSE:=Python-2.0.1 0BSD PKG_LICENSE_FILES:=LICENSE PKG_BUILD_DEPENDS:=python-flit-core/host @@ -32,14 +32,20 @@ define Package/python3-typing-extensions SUBMENU:=Python SECTION:=lang CATEGORY:=Languages - TITLE:=Module with type hints for Python - URL:=https://github.com/python/typing - DEPENDS:= \ - +python3-light + TITLE:=Backported and Experimental Type Hints + URL:=https://github.com/python/typing_extensions + DEPENDS:=+python3-light endef define Package/python3-typing-extensions/description - Backported and Experimental Type Hints for Python. +The typing_extensions module serves two related purposes: + +* Enable use of new type system features on older Python versions. For + example, typing.TypeGuard is new in Python 3.10, but typing_extensions + allows users on previous Python versions to use it too. + +* Enable experimentation with new type system PEPs before they are + accepted and added to the typing module. endef $(eval $(call Py3Package,python3-typing-extensions)) From 67a854aee28f6a360af1c595fdea396c9193b6e9 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Mon, 29 May 2023 19:15:29 +0800 Subject: [PATCH 31/47] click-log: Update to 0.4.0, rename source package This renames the source package from click-log to python-click-log to match other Python packages. This also updates the package to download from PyPI, and updates the package title, URL, and dependencies. Signed-off-by: Jeffery To --- .../{click-log => python-click-log}/Makefile | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) rename lang/python/{click-log => python-click-log}/Makefile (63%) diff --git a/lang/python/click-log/Makefile b/lang/python/python-click-log/Makefile similarity index 63% rename from lang/python/click-log/Makefile rename to lang/python/python-click-log/Makefile index 5a39c81de..01f6c0e82 100644 --- a/lang/python/click-log/Makefile +++ b/lang/python/python-click-log/Makefile @@ -4,16 +4,17 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=click-log -PKG_VERSION:=0.3.2 -PKG_RELEASE:=2 +PKG_NAME:=python-click-log +PKG_VERSION:=0.4.0 +PKG_RELEASE:=1 PKG_MAINTAINER:=Karel Kočí -PKG_SOURCE_URL:=https://codeload.github.com/click-contrib/click-log/tar.gz/$(PKG_VERSION)? -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_HASH:=16babb66a2ebf22c37c1cf38753a84e6027eb8991fcf9a8487971591b8ca9812 +PYPI_NAME:=click-log +PKG_HASH:=3970f8570ac54491237bcdb3d8ab5e3eef6c057df29f8c3d1151a51a9c23b975 PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE +include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk @@ -21,9 +22,9 @@ define Package/python3-click-log SECTION:=lang CATEGORY:=Languages SUBMENU:=Python - URL:=http://github.com/mitsuhiko/click - TITLE:=python3-click-log - DEPENDS:=+python3-click + URL:=https://github.com/click-contrib/click-log + TITLE:=Logging integration for Click + DEPENDS:=+python3-light +python3-logging +python3-click endef define Package/python3-click-log/description From 8270bd173ed9e4aa8877bfaa4e23c59223dca9f1 Mon Sep 17 00:00:00 2001 From: Maxim Storchak Date: Mon, 29 May 2023 23:04:28 +0300 Subject: [PATCH 32/47] collectd: enable AllPortsSummary for tcpconns plugin Signed-off-by: Maxim Storchak --- utils/collectd/Makefile | 2 +- utils/collectd/files/collectd.uci | 3 ++- utils/collectd/files/usr/share/collectd/plugin/tcpconns.json | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/utils/collectd/Makefile b/utils/collectd/Makefile index acbe85aa1..f6d28ee85 100644 --- a/utils/collectd/Makefile +++ b/utils/collectd/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=collectd PKG_VERSION:=5.12.0 -PKG_RELEASE:=42 +PKG_RELEASE:=43 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://collectd.org/files/ \ diff --git a/utils/collectd/files/collectd.uci b/utils/collectd/files/collectd.uci index 091dd9ae9..075788272 100644 --- a/utils/collectd/files/collectd.uci +++ b/utils/collectd/files/collectd.uci @@ -188,7 +188,8 @@ config globals 'globals' #config plugin 'tcpconns' # option enable '0' -# list ListeningPort '0' +# option ListeningPorts '0' +# option AllPortsSummary '0' # list LocalPort '22' # list LocalPort '80' diff --git a/utils/collectd/files/usr/share/collectd/plugin/tcpconns.json b/utils/collectd/files/usr/share/collectd/plugin/tcpconns.json index 56a4c81ed..ec3f71890 100644 --- a/utils/collectd/files/usr/share/collectd/plugin/tcpconns.json +++ b/utils/collectd/files/usr/share/collectd/plugin/tcpconns.json @@ -1,6 +1,7 @@ { "bool": [ - "ListeningPorts" + "ListeningPorts", + "AllPortsSummary" ], "list": [ "LocalPort", From b7afecad9d87c7044c80324b8d88c34ddd2d2ff7 Mon Sep 17 00:00:00 2001 From: Ted Hess Date: Mon, 29 May 2023 15:44:27 -0400 Subject: [PATCH 33/47] Zile: Remove autoreconf. It is no longer required since gnulib is now local to host build environment (tools/gnulib). Signed-off-by: Ted Hess --- utils/zile/Makefile | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/utils/zile/Makefile b/utils/zile/Makefile index 6669dd2f5..2e4a36dbf 100644 --- a/utils/zile/Makefile +++ b/utils/zile/Makefile @@ -1,6 +1,4 @@ # -# Copyright (C) 2006-2016 OpenWrt.org -# # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # @@ -9,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=zile PKG_VERSION:=2.3.24 -PKG_RELEASE:=5 +PKG_RELEASE:=6 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=@GNU/zile @@ -19,7 +17,6 @@ PKG_MAINTAINER:=Ted Hess PKG_LICENSE:=GPL-3.0-or-later PKG_LICENSE_FILES:=COPYING -PKG_FIXUP:=autoreconf PKG_INSTALL:=1 include $(INCLUDE_DIR)/package.mk From 572387f0cb41f21c72a33533280a58723b7ed570 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Mon, 29 May 2023 19:39:45 +0800 Subject: [PATCH 34/47] Jinja2: Update to 3.1.2, rename source package This renames the source package from Jinja2 to python-jinja2 to match other Python packages. This also updates the package license files, title, and list of dependencies. Signed-off-by: Jeffery To --- .../python/{Jinja2 => python-jinja2}/Makefile | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) rename lang/python/{Jinja2 => python-jinja2}/Makefile (69%) diff --git a/lang/python/Jinja2/Makefile b/lang/python/python-jinja2/Makefile similarity index 69% rename from lang/python/Jinja2/Makefile rename to lang/python/python-jinja2/Makefile index 37e006557..76ebb2334 100644 --- a/lang/python/Jinja2/Makefile +++ b/lang/python/python-jinja2/Makefile @@ -4,16 +4,16 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=Jinja2 -PKG_VERSION:=3.0.3 -PKG_RELEASE:=2 +PKG_NAME:=python-jinja2 +PKG_VERSION:=3.1.2 +PKG_RELEASE:=1 -PYPI_NAME:=$(PKG_NAME) -PKG_HASH:=611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7 +PYPI_NAME:=Jinja2 +PKG_HASH:=31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852 PKG_MAINTAINER:=Michal Vasilek PKG_LICENSE:=BSD-3-Clause -PKG_LICENSE_FILES:=LICENSE +PKG_LICENSE_FILES:=LICENSE.rst PKG_CPE_ID:=cpe:/a:pocoo:jinja2 include ../pypi.mk @@ -24,9 +24,14 @@ define Package/python3-jinja2 SECTION:=lang CATEGORY:=Languages SUBMENU:=Python - TITLE:=Jinja2 + TITLE:=Very fast and expressive template engine URL:=https://palletsprojects.com/p/jinja/ - DEPENDS:=+python3-light +python3-markupsafe + DEPENDS:= \ + +python3-light \ + +python3-asyncio \ + +python3-logging \ + +python3-urllib \ + +python3-markupsafe endef define Package/python3-jinja2/description From 5602cc85d393bef68bc7104529aee12937dbe4c0 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Mon, 29 May 2023 19:59:38 +0800 Subject: [PATCH 35/47] MarkupSafe: Update to 2.1.2, rename source package This renames the source package from MarkupSafe to python-markupsafe to match other Python packages. This also updates the package title and description. Signed-off-by: Jeffery To --- .../{MarkupSafe => python-markupsafe}/Makefile | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) rename lang/python/{MarkupSafe => python-markupsafe}/Makefile (59%) diff --git a/lang/python/MarkupSafe/Makefile b/lang/python/python-markupsafe/Makefile similarity index 59% rename from lang/python/MarkupSafe/Makefile rename to lang/python/python-markupsafe/Makefile index 177f072e7..5b495d79d 100644 --- a/lang/python/MarkupSafe/Makefile +++ b/lang/python/python-markupsafe/Makefile @@ -4,12 +4,12 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=MarkupSafe -PKG_VERSION:=2.1.1 +PKG_NAME:=python-markupsafe +PKG_VERSION:=2.1.2 PKG_RELEASE:=1 -PYPI_NAME:=$(PKG_NAME) -PKG_HASH:=7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b +PYPI_NAME:=MarkupSafe +PKG_HASH:=abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d PKG_MAINTAINER:=Daniel Golle PKG_LICENSE:=BSD-3-Clause @@ -23,13 +23,17 @@ define Package/python3-markupsafe SECTION:=lang CATEGORY:=Languages SUBMENU:=Python - TITLE:=MarkupSafe + TITLE:=Safely add untrusted strings to HTML/XML markup URL:=https://palletsprojects.com/p/markupsafe/ DEPENDS:=+python3-light endef define Package/python3-markupsafe/description - MarkupSafe implements a text object that escapes characters so it is safe to use in HTML and XML. +MarkupSafe implements a text object that escapes characters so it is +safe to use in HTML and XML. Characters that have special meanings are +replaced so that they display as the actual characters. This mitigates +injection attacks, meaning untrusted user input can safely be displayed +on a page. endef $(eval $(call Py3Package,python3-markupsafe)) From 574d43fca627bdaee03f43a1be10ba35dd9dd26d Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Mon, 29 May 2023 20:13:37 +0800 Subject: [PATCH 36/47] Werkzeug: Update to 2.3.4, rename source package This renames the source package from Werkzeug to python-werkzeug to match other Python packages. This also updates the package title, description, and list of dependencies. Signed-off-by: Jeffery To --- .../{Werkzeug => python-werkzeug}/Makefile | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) rename lang/python/{Werkzeug => python-werkzeug}/Makefile (61%) diff --git a/lang/python/Werkzeug/Makefile b/lang/python/python-werkzeug/Makefile similarity index 61% rename from lang/python/Werkzeug/Makefile rename to lang/python/python-werkzeug/Makefile index 3c2b5df17..082b3bb73 100644 --- a/lang/python/Werkzeug/Makefile +++ b/lang/python/python-werkzeug/Makefile @@ -4,12 +4,12 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=Werkzeug -PKG_VERSION:=2.2.2 +PKG_NAME:=python-werkzeug +PKG_VERSION:=2.3.4 PKG_RELEASE:=1 -PYPI_NAME:=$(PKG_NAME) -PKG_HASH:=7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f +PYPI_NAME:=Werkzeug +PKG_HASH:=1d5a58e0377d1fe39d061a5de4469e414e78ccb1e1e59c0f5ad6fa1c36c52b76 PKG_MAINTAINER:=Daniel Golle PKG_LICENSE:=BSD-3-Clause @@ -23,13 +23,15 @@ define Package/python3-werkzeug SECTION:=lang CATEGORY:=Languages SUBMENU:=Python - TITLE:=Werkzeug + TITLE:=Comprehensive WSGI web application library URL:=https://palletsprojects.com/p/werkzeug/ - DEPENDS:=+python3-light +python3-email + DEPENDS:=+python3 +python3-markupsafe endef define Package/python3-werkzeug/description - The comprehensive WSGI web application library. +Werkzeug is a comprehensive WSGI web application library. It began as a +simple collection of various utilities for WSGI applications and has +become one of the most advanced WSGI utility libraries. endef $(eval $(call Py3Package,python3-werkzeug)) From 6cf210377474cf363c28a431540e9ea3660ac782 Mon Sep 17 00:00:00 2001 From: Dengfeng Liu Date: Sun, 28 May 2023 11:31:37 +0800 Subject: [PATCH 37/47] apfree-wifidog: Update to 6.02.1939 1. support fw4 2. support openssl3.0 Signed-off-by: Dengfeng Liu --- net/apfree-wifidog/Makefile | 10 +- net/apfree-wifidog/files/wifidogx.conf | 6 +- net/apfree-wifidog/files/wifidogx.init | 293 ++++-------------- .../patches/010-support-openssl-3.0.patch | 53 ---- 4 files changed, 61 insertions(+), 301 deletions(-) delete mode 100644 net/apfree-wifidog/patches/010-support-openssl-3.0.patch diff --git a/net/apfree-wifidog/Makefile b/net/apfree-wifidog/Makefile index d15d8493d..f106385d3 100644 --- a/net/apfree-wifidog/Makefile +++ b/net/apfree-wifidog/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=apfree-wifidog -PKG_VERSION:=4.08.1771 -PKG_RELEASE:=7 +PKG_VERSION:=6.02.1939 +PKG_RELEASE:=6 PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL:=https://github.com/liudf0716/apfree_wifidog.git +PKG_SOURCE_URL:=https://github.com/liudf0716/apfree-wifidog.git PKG_SOURCE_VERSION:=$(PKG_VERSION) -PKG_MIRROR_HASH:=0fadb7a0e139bf4a5c6daffdd0f200ee2a4c903aea71e46bc19212b054ca71a7 +PKG_MIRROR_HASH:=b9e059c06427ad87312ea8a63c47d713dbad82ab0875778efe9f889e9c6b9c20 PKG_MAINTAINER:=Dengfeng Liu PKG_LICENSE:=GPL-3.0-or-later @@ -27,7 +27,7 @@ define Package/apfree-wifidog SUBMENU:=Captive Portals SECTION:=net CATEGORY:=Network - DEPENDS:=+zlib +firewall4 +iptables +libip4tc +libjson-c +libevent2 +libevent2-openssl +libuci +px5g + DEPENDS:=+zlib +libjson-c +libevent2 +libevent2-openssl +libuci TITLE:=Apfree's wireless captive portal solution URL:=https://github.com/liudf0716/apfree_wifidog endef diff --git a/net/apfree-wifidog/files/wifidogx.conf b/net/apfree-wifidog/files/wifidogx.conf index b9cff5674..12e944ad4 100644 --- a/net/apfree-wifidog/files/wifidogx.conf +++ b/net/apfree-wifidog/files/wifidogx.conf @@ -1,9 +1,9 @@ -config wifidog +config wifidogx 'common' option gateway_interface 'br-lan' - option auth_server_hostname 'change wifidog.kunteng.org.cn to your auth server domain or ip' + option auth_server_hostname 'your auth server domain or ip' option auth_server_port 443 option auth_server_path '/wifidog/' option check_interval 60 option client_timeout 5 option wired_passed 0 - option disabled 1 + option enabled 0 diff --git a/net/apfree-wifidog/files/wifidogx.init b/net/apfree-wifidog/files/wifidogx.init index a7f85dd61..595ea2dec 100644 --- a/net/apfree-wifidog/files/wifidogx.init +++ b/net/apfree-wifidog/files/wifidogx.init @@ -6,271 +6,79 @@ START=99 USE_PROCD=1 -PROG=/usr/bin/wifidogx +NAME=wifidogx +PROG=/usr/bin/${NAME} CONFIGFILE=/tmp/wifidogx.conf -extra_command "status" "Print the status of the service" - -PX5G_BIN="/usr/sbin/px5g" -OPENSSL_BIN="/usr/bin/openssl" -APFREE_CERT="/etc/apfree.crt" -APFREE_KEY="/etc/apfree.key" - -generate_keys() { - local days bits country state location commonname - local UNIQUEID GENKEY_CMD - - # Prefer px5g for certificate generation (existence evaluated last) - UNIQUEID=$(hexdump -n 4 -e '4/1 "%02x" "\n"' /dev/urandom) - [ -x "$OPENSSL_BIN" ] && GENKEY_CMD="$OPENSSL_BIN req -x509 -sha256 -outform pem -nodes" - [ -x "$PX5G_BIN" ] && GENKEY_CMD="$PX5G_BIN selfsigned -pem" - [ -n "$GENKEY_CMD" ] && { - $GENKEY_CMD \ - -days "${days:-720}" -newkey rsa:"${bits:-2048}" -keyout "${APFREE_KEY}.new" -out "${APFREE_CERT}.new" \ - -subj /C="${country:-CN}"/ST="${state:-Beijing}"/L="${location:-Unknown}"/O="${commonname:-ApFreeWiFidog}$UNIQUEID"/CN="${commonname:-ApFreeWiFidog}" - sync - mv "${APFREE_KEY}.new" "${APFREE_KEY}" - mv "${APFREE_CERT}.new" "${APFREE_CERT}" - } -} - service_trigger() { - procd_add_reload_trigger "wifidogx" -} - -echo_firewall_rule() { - echo " FirewallRule $1" -} - -prepare_mqtt_conf() { - local cfg=$1 - local serveraddr - local serverport - - config_get serveraddr "$cfg" "serveraddr" - config_get serverport "$cfg" "serverport" - [ -z "${serveraddr}" ] || [ -z "${serverport}" ] && return 1 - - cat <<-EOF >>${CONFIGFILE} - MQTT { - ServerAddr ${serveraddr} - ServerPort ${serverport} - } - EOF + procd_add_reload_trigger ${NAME} } prepare_wifidog_conf() { - local cfg=$1 - local disabled - local gateway_id - local gateway_interface - local auth_server_hostname - local auth_server_path - local auth_server_path_login - local auth_server_path_portal - local auth_server_path_msg - local auth_server_path_ping - local auth_server_path_auth - local delta_traffic - local check_interval - local client_timeout - local trusted_domains - local js_filter - local trusted_maclist - local untrusted_maclist - local pool_mode - local thread_number - local queue_size - local wired_passed - local trusted_iplist - local trusted_pan_domains - local proxy_port - local no_auth - local apple_cna - local update_domain_interval - local dns_timeout - local default_gateway_id - local external_interface - local auth_server_port [ -f ${CONFIGFILE} ] && rm -f ${CONFIGFILE} - config_get disabled "${cfg}" "disabled" 1 - if [ "${disabled}" = "1" ]; then - echo "wifidogx disabled in /etc/config/wifidogx file, please set disabled to 0 to enable it" >&2 - return - fi - - default_gateway_id=$(sed -e 's/://g' /sys/class/net/br-lan/address) - network_get_device external_interface wan - config_get gateway_id "${cfg}" "gateway_id" "${default_gateway_id}" - config_get gateway_interface "${cfg}" "gateway_interface" "br-lan" - config_get auth_server_hostname "${cfg}" "auth_server_hostname" - config_get auth_server_port "${cfg}" "auth_server_port" "80" - config_get auth_server_path "${cfg}" "auth_server_path" "/wifidog/" - config_get auth_server_path_login "${cfg}" "auth_server_path_login" - config_get auth_server_path_portal "${cfg}" "auth_server_path_portal" - config_get auth_server_path_msg "${cfg}" "auth_server_path_msg" - config_get auth_server_path_ping "${cfg}" "auth_server_path_ping" - config_get auth_server_path_auth "${cfg}" "auth_server_path_auth" - config_get delta_traffic "${cfg}" "delta_traffic" - config_get check_interval "${cfg}" "check_interval" "60" - config_get js_filter "${cfg}" "js_filter" 1 - config_get client_timeout "${cfg}" "client_timeout" "5" - config_get trusted_domains "${cfg}" "trusted_domains" - config_get trusted_maclist "${cfg}" "trusted_maclist" - config_get untrusted_maclist "${cfg}" "untrusted_maclist" - config_get pool_mode "${cfg}" "pool_mode" 0 - config_get thread_number "${cfg}" "thread_number" 20 - config_get queue_size "${cfg}" "queue_size" 200 - config_get wired_passed "${cfg}" "wired_passed" 1 - config_get trusted_iplist "${cfg}" "trusted_iplist" - config_get trusted_pan_domains "${cfg}" "trusted_pan_domains" - config_get proxy_port "${cfg}" "proxy_port" - config_get no_auth "${cfg}" "no_auth" - config_get apple_cna "${cfg}" "bypass_apple_cna" - config_get update_domain_interval "${cfg}" "update_domain_interval" - config_get dns_timeout "${cfg}" "dns_timeout" + uci_validate_section ${NAME} ${NAME} common \ + 'enabled:bool:0' \ + 'gateway_id:string' \ + 'gateway_interface:string:br-lan' \ + 'external_interface:string:external_interface' \ + 'auth_server_hostname:string' \ + 'auth_server_port:port:443' \ + 'auth_server_path:string:/wifidog/' \ + 'check_interval:integer:60' \ + 'client_timeout:integer:5' \ + 'js_filter:bool:1' \ + 'wired_passed:bool:1' \ + 'apple_cna:bool:0' \ + 'js_filter:bool:1' - local set_auth_server_path_login - local set_auth_server_path_portal - local set_auth_server_path_msg - local set_auth_server_path_ping - local set_auth_server_path_auth - local set_delta_traffic - local set_trusted_maclist - local set_untrusted_maclist - local set_trusted_domains - local set_trusted_iplist - local set_trusted_pan_domains - local set_proxy_port - local set_no_auth - local set_firewall_rule_global - local set_firewall_rule_validating_users - local set_firewall_rule_known_users - local set_firewall_rule_auth_is_down - local set_firewall_rule_unknown_users - local set_firewall_rule_locked_users - local set_apple_cna - local set_update_domain_interval - local set_dns_timeout - - set_auth_server_path_login=$([ -n "$auth_server_path_login" ] && echo " LoginScriptPathFragment $auth_server_path_login") - set_auth_server_path_portal=$([ -n "$auth_server_path_portal" ] && echo " PortalScriptPathFragment $auth_server_path_portal") - set_auth_server_path_msg=$([ -n "$auth_server_path_msg" ] && echo " MsgScriptPathFragment $auth_server_path_msg") - set_auth_server_path_ping=$([ -n "$auth_server_path_ping" ] && echo " PingScriptPathFragment $auth_server_path_ping") - set_auth_server_path_auth=$([ -n "$auth_server_path_auth" ] && echo " AuthScriptPathFragment $auth_server_path_auth") - set_delta_traffic=$([ -n "$delta_traffic" ] && echo "DeltaTraffic $delta_traffic") - set_trusted_maclist=$([ -n "$trusted_maclist" ] && echo "TrustedMACList $trusted_maclist") - set_untrusted_maclist=$([ -n "$untrusted_maclist" ] && echo "UntrustedMACList $untrusted_maclist") - set_trusted_domains=$([ -n "$trusted_domains" ] && echo "TrustedDomains $trusted_domains") - set_trusted_iplist=$([ -n "$trusted_iplist" ] && echo "TrustedIpList $trusted_iplist") - set_trusted_pan_domains=$([ -n "$trusted_pan_domains" ] && echo "TrustedPanDomains $trusted_pan_domains") - set_proxy_port=$([ -n "$proxy_port" ] && echo "Proxyport $proxy_port") - set_no_auth=$([ -n "$no_auth" ] && echo "NoAuth $no_auth") - set_firewall_rule_global=$(config_list_foreach "$cfg" "firewall_rule_global" echo_firewall_rule) - set_firewall_rule_validating_users=$(config_list_foreach "$cfg" "firewall_rule_validating_users" echo_firewall_rule) - set_firewall_rule_known_users=$(config_list_foreach "$cfg" "firewall_rule_known_users" echo_firewall_rule) - set_firewall_rule_auth_is_down=$(config_list_foreach "$cfg" "firewall_rule_auth_is_down" echo_firewall_rule) - set_firewall_rule_unknown_users=$(config_list_foreach "$cfg" "firewall_rule_unknown_users" echo_firewall_rule) - set_firewall_rule_locked_users=$(config_list_foreach "$cfg" "firewall_rule_locked_users" echo_firewall_rule) - set_apple_cna=$([ -n "$apple_cna" ] && echo "BypassAppleCNA $apple_cna") - set_update_domain_interval=$([ -n "$update_domain_interval" ] && echo "UpdateDomainInterval $update_domain_interval") - set_dns_timeout=$([ -n "$dns_timeout" ] && echo "DNSTimeout $dns_timeout") - - cat <<-EOF >$CONFIGFILE - GatewayID $gateway_id - GatewayInterface $gateway_interface - Externalinterface $external_interface - - AuthServer { - Hostname $auth_server_hostname - HTTPPort $auth_server_port - Path $auth_server_path - $set_auth_server_path_login - $set_auth_server_path_portal - $set_auth_server_path_msg - $set_auth_server_path_ping - $set_auth_server_path_auth - } - - $set_delta_traffic - CheckInterval $check_interval - ClientTimeout $client_timeout - JsFilter $js_filter - WiredPassed $wired_passed - $set_trusted_domains - $set_untrusted_maclist - $set_trusted_maclist - $set_trusted_iplist - $set_trusted_pan_domains - $set_proxy_port - $set_no_auth - $set_apple_cna - $set_update_domain_interval - $set_dns_timeout - - FirewallRuleSet global { - $set_firewall_rule_global - } - - FirewallRuleSet validating-users { - $set_firewall_rule_validating_users - FirewallRule allow to 0.0.0.0/0 - } - - FirewallRuleSet known-users { - $set_firewall_rule_known_users - FirewallRule allow to 0.0.0.0/0 - } - - FirewallRuleSet auth-is-down { - $set_firewall_rule_auth_is_down - } - - FirewallRuleSet unknown-users { - $set_firewall_rule_unknown_users - FirewallRule allow udp port 53 - FirewallRule allow tcp port 53 - FirewallRule allow udp port 67 - FirewallRule allow tcp port 67 - } - - FirewallRuleSet locked-users { - $set_firewall_rule_locked_users - FirewallRule block to 0.0.0.0/0 - } -EOF + # if gateway_id is not set, get it from br-lan + if [ -z "$gateway_id" ]; then + gateway_id=$(sed -e 's/://g' /sys/class/net/${gateway_interface}/address) + # uci add gateway_id to config file + uci set ${NAME}.common.gateway_id=$gateway_id + uci commit ${NAME} + fi + + # set above variables to config file + echo "GatewayID $gateway_id" > ${CONFIGFILE} + echo "GatewayInterface $gateway_interface" >> ${CONFIGFILE} + echo "ExternalInterface $external_interface" >> ${CONFIGFILE} + echo "AuthServer { + Hostname $auth_server_hostname + HTTPPort $auth_server_port + Path $auth_server_path +}" >> ${CONFIGFILE} + echo "CheckInterval $check_interval" >> ${CONFIGFILE} + echo "ClientTimeout $client_timeout" >> ${CONFIGFILE} + echo "JsFilter $js_filter" >> ${CONFIGFILE} + echo "WiredPassed $wired_passed" >> ${CONFIGFILE} + echo "BypassAppleCNA $apple_cna" >> ${CONFIGFILE} } init_config() { - config_load wifidogx - config_foreach prepare_wifidog_conf wifidog + + prepare_wifidog_conf if [ ! -f ${CONFIGFILE} ]; then echo "no wifidogx.conf, exit..." >&2 exit fi - - if [ ! -s "${APFREE_CERT}" ] || [ ! -s "${APFREE_KEY}" ]; then - generate_keys - fi - - if [ ! -s ${APFREE_KEY} ] || [ ! -s ${APFREE_CERT} ]; then - echo "no cert or key, exit..." >&2 - exit - fi - - config_foreach prepare_mqtt_conf mqtt - - sed -i -e '/^$/d' ${CONFIGFILE} } start_service() { + config_load $NAME + init_config + [ "$enabled" -eq 0 ] && { + echo "wifidogx is disabled, exit..." >&2 + exit 0 + } + procd_open_instance # -f: run in foreground procd_set_param command $PROG -c $CONFIGFILE -f -d 0 @@ -282,3 +90,8 @@ start_service() { status_service() { /usr/bin/wdctlx status } + +reload_service() { + stop + start +} \ No newline at end of file diff --git a/net/apfree-wifidog/patches/010-support-openssl-3.0.patch b/net/apfree-wifidog/patches/010-support-openssl-3.0.patch deleted file mode 100644 index 4c8147e0a..000000000 --- a/net/apfree-wifidog/patches/010-support-openssl-3.0.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 53a042836063e965f8df9fc85bb32e8e46da8a05 Mon Sep 17 00:00:00 2001 -From: staylightblow8 -Date: Thu, 20 Oct 2022 10:47:59 +0800 -Subject: [PATCH] support openssl > 3.0 - ---- - cmake/Modules/FindOpenSSL.cmake | 27 +++++++++++++++++++++++---- - 1 file changed, 23 insertions(+), 4 deletions(-) - ---- a/cmake/Modules/FindOpenSSL.cmake -+++ b/cmake/Modules/FindOpenSSL.cmake -@@ -282,11 +282,11 @@ function(from_hex HEX DEC) - set(${DEC} ${_res} PARENT_SCOPE) - endfunction() - --if (OPENSSL_INCLUDE_DIR) -- if(OPENSSL_INCLUDE_DIR AND EXISTS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h") -- file(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" openssl_version_str -- REGEX "^# *define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*") -+if(OPENSSL_INCLUDE_DIR AND EXISTS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h") -+ file(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" openssl_version_str -+ REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*") - -+ if(openssl_version_str) - # The version number is encoded as 0xMNNFFPPS: major minor fix patch status - # The status gives if this is a developer or prerelease and is ignored here. - # Major, minor, and fix directly translate into the version numbers shown in -@@ -315,6 +315,25 @@ if (OPENSSL_INCLUDE_DIR) - endif () - - set(OPENSSL_VERSION "${OPENSSL_VERSION_MAJOR}.${OPENSSL_VERSION_MINOR}.${OPENSSL_VERSION_FIX}${OPENSSL_VERSION_PATCH_STRING}") -+ else () -+ # Since OpenSSL 3.0.0, the new version format is MAJOR.MINOR.PATCH and -+ # a new OPENSSL_VERSION_STR macro contains exactly that -+ file(STRINGS "${OPENSSL_INCLUDE_DIR}/openssl/opensslv.h" OPENSSL_VERSION_STR -+ REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_STR[\t ]+\"([0-9])+\\.([0-9])+\\.([0-9])+\".*") -+ string(REGEX REPLACE "^.*OPENSSL_VERSION_STR[\t ]+\"([0-9]+\\.[0-9]+\\.[0-9]+)\".*$" -+ "\\1" OPENSSL_VERSION_STR "${OPENSSL_VERSION_STR}") -+ -+ set(OPENSSL_VERSION "${OPENSSL_VERSION_STR}") -+ -+ # Setting OPENSSL_VERSION_MAJOR OPENSSL_VERSION_MINOR and OPENSSL_VERSION_FIX -+ string(REGEX MATCHALL "([0-9])+" OPENSSL_VERSION_NUMBER "${OPENSSL_VERSION}") -+ list(POP_FRONT OPENSSL_VERSION_NUMBER -+ OPENSSL_VERSION_MAJOR -+ OPENSSL_VERSION_MINOR -+ OPENSSL_VERSION_FIX) -+ -+ unset(OPENSSL_VERSION_NUMBER) -+ unset(OPENSSL_VERSION_STR) - endif () - endif () - From 4f637d6b41abf8ee13bc8f8ac89fcc4ea23288ce Mon Sep 17 00:00:00 2001 From: Nikos Mavrogiannopoulos Date: Thu, 1 Jun 2023 09:18:43 +0200 Subject: [PATCH 38/47] tang: create user tang Signed-off-by: Nikos Mavrogiannopoulos --- utils/tang/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/utils/tang/Makefile b/utils/tang/Makefile index c9b159a19..227fed460 100644 --- a/utils/tang/Makefile +++ b/utils/tang/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tang PKG_VERSION:=12 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://github.com/latchset/$(PKG_NAME)/releases/download/v$(PKG_VERSION)/ @@ -27,6 +27,7 @@ define Package/tang TITLE:=tang v$(PKG_VERSION) - daemon for binding data to the presence of a third party DEPENDS:=+libhttp-parser +jose +bash URL:=https://github.com/latchset/tang + USERID:=tang:tang endef define Package/tang/description From 0625f038b3141666821270232eee032620380668 Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Thu, 1 Jun 2023 15:58:36 +0800 Subject: [PATCH 39/47] cloudflared: Update to 2023.5.1 Fixed build issue with Go 1.20. Signed-off-by: Tianling Shen --- net/cloudflared/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/cloudflared/Makefile b/net/cloudflared/Makefile index fdb452a4a..88f6c5a94 100644 --- a/net/cloudflared/Makefile +++ b/net/cloudflared/Makefile @@ -5,12 +5,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=cloudflared -PKG_VERSION:=2023.5.0 +PKG_VERSION:=2023.5.1 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/cloudflare/cloudflared/tar.gz/$(PKG_VERSION)? -PKG_HASH:=38d72e35fbb894c43161ee7c6871c44d9771bc9a1f3bc54602baf66e69acefd3 +PKG_HASH:=ee2c2a4b0c290c39475f79ab74972dfbce817df8e5090813cad0e58f33836194 PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE From b95ec1db568f776722147b85ee1724b747a6d7d6 Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Thu, 1 Jun 2023 15:59:02 +0800 Subject: [PATCH 40/47] v2ray-core: Update to 5.7.0 Signed-off-by: Tianling Shen --- net/v2ray-core/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/v2ray-core/Makefile b/net/v2ray-core/Makefile index 52e90898b..6983afccc 100644 --- a/net/v2ray-core/Makefile +++ b/net/v2ray-core/Makefile @@ -5,12 +5,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=v2ray-core -PKG_VERSION:=5.4.1 +PKG_VERSION:=5.7.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/v2fly/v2ray-core/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=e208bca255c4689a30104e965039d73fa138a7a6e902f820cff94b5b772b042b +PKG_HASH:=599fcd264537e39178b6008a11af68816dfd1609e19a9cf8adc8b2a4240ee370 PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE From 2ecf76e27dbcc0a5d64db6d9b30269de56b2bd1e Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Thu, 1 Jun 2023 15:59:28 +0800 Subject: [PATCH 41/47] yq: Update to 4.34.1 Signed-off-by: Tianling Shen --- utils/yq/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/yq/Makefile b/utils/yq/Makefile index 4f5bfd373..4e92a831d 100644 --- a/utils/yq/Makefile +++ b/utils/yq/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=yq -PKG_VERSION:=4.33.2 +PKG_VERSION:=4.34.1 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/mikefarah/yq/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=eea0435bef57a4523dbbe3680fafc321d821986a49a92af69b0c637a428d454d +PKG_HASH:=69ff6f8bbb5f9eff5ccb537597740d24200db201b2709e442ae5effdbcb8ff9d PKG_MAINTAINER:=Tianling Shen PKG_LICENSE:=MIT From 56de9f91fd1d14be3b3f5497ff21040005fcf12d Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Thu, 1 Jun 2023 16:18:25 +0800 Subject: [PATCH 42/47] v2ray-geodata: Update to latest version Signed-off-by: Tianling Shen --- net/v2ray-geodata/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/net/v2ray-geodata/Makefile b/net/v2ray-geodata/Makefile index 4d6139d48..7e83c3663 100644 --- a/net/v2ray-geodata/Makefile +++ b/net/v2ray-geodata/Makefile @@ -12,22 +12,22 @@ PKG_MAINTAINER:=Tianling Shen include $(INCLUDE_DIR)/package.mk -GEOIP_VER:=202304060040 +GEOIP_VER:=202306010100 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:=599ddc2dad1eac63abdda4ded69c46f2a087edabba96bacb82072234591bd5e1 + HASH:=033864e77e40f8b9c1a5254bf85881515c51340d3d11e142a4e01594eb151914 endef -GEOSITE_VER:=20230408083150 +GEOSITE_VER:=20230601044045 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:=8804abc08dcacbcff2ef425f01c45e583e0bdf5061471286f4c470f159b2c594 + HASH:=d20bcd23c185dd3102a2106ad5370bc615cfb33d9a818daaadefe7a2068fb9ef endef define Package/v2ray-geodata/template From 23531031a734d08f7004bc15da85c3c3b885019a Mon Sep 17 00:00:00 2001 From: Jianhui Zhao Date: Thu, 1 Jun 2023 23:37:34 +0800 Subject: [PATCH 43/47] lua-eco: update to 2.3.0 Signed-off-by: Jianhui Zhao --- lang/lua-eco/Makefile | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/lang/lua-eco/Makefile b/lang/lua-eco/Makefile index 88728ec7e..d49c5c432 100644 --- a/lang/lua-eco/Makefile +++ b/lang/lua-eco/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=lua-eco -PKG_VERSION:=2.2.0 +PKG_VERSION:=2.3.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL=https://github.com/zhaojh329/lua-eco/releases/download/v$(PKG_VERSION) -PKG_HASH:=b45073ba93123d93ab7521b1e699c0f8f8f7de513342b16e2115a0f5a26f8014 +PKG_HASH:=931737acd080bd309fd589c521ad32d00b2285fe9edeefdcacb86ba8f1fe1fdc PKG_MAINTAINER:=Jianhui Zhao PKG_LICENSE:=MIT @@ -59,7 +59,10 @@ Package/lua-eco-http=$(call Package/lua-eco/Module,http/https,+lua-eco-dns +lua- Package/lua-eco-mqtt=$(call Package/lua-eco/Module,mqtt,+lua-eco-socket +lua-eco-dns +lua-mosquitto) Package/lua-eco-websocket=$(call Package/lua-eco/Module,websocket,+lua-eco-http +lua-eco-base64 +lua-eco-sha1) Package/lua-eco-termios=$(call Package/lua-eco/Module,termios) -Package/lua-eco-network=$(call Package/lua-eco/Module,network) +Package/lua-eco-struct=$(call Package/lua-eco/Module,struct pack) +Package/lua-eco-network=$(call Package/lua-eco/Module,network utils) +Package/lua-eco-netlink=$(call Package/lua-eco/Module,netlink) +Package/lua-eco-nl80211=$(call Package/lua-eco/Module,nl80211,+lua-eco-netlink) define Package/lua-eco-ssl/config choice @@ -170,11 +173,29 @@ define Package/lua-eco-termios/install $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/lua/eco/termios.so $(1)/usr/lib/lua/eco endef +define Package/lua-eco-struct/install + $(INSTALL_DIR) $(1)/usr/lib/lua/eco + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/lua/eco/struct.so $(1)/usr/lib/lua/eco +endef + define Package/lua-eco-network/install $(INSTALL_DIR) $(1)/usr/lib/lua/eco $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/lua/eco/network.so $(1)/usr/lib/lua/eco endef +define Package/lua-eco-netlink/install + $(INSTALL_DIR) $(1)/usr/lib/lua/eco/core + $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/lua/eco/{nl,genl}.lua $(1)/usr/lib/lua/eco + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/lua/eco/core/{nl,genl}.so $(1)/usr/lib/lua/eco/core + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/lua/eco/rtnl.so $(1)/usr/lib/lua/eco +endef + +define Package/lua-eco-nl80211/install + $(INSTALL_DIR) $(1)/usr/lib/lua/eco/core + $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/lua/eco/nl80211.lua $(1)/usr/lib/lua/eco + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/lua/eco/core/nl80211.so $(1)/usr/lib/lua/eco/core +endef + $(eval $(call BuildPackage,lua-eco)) $(eval $(call BuildPackage,lua-eco-log)) $(eval $(call BuildPackage,lua-eco-sys)) @@ -190,3 +211,5 @@ $(eval $(call BuildPackage,lua-eco-mqtt)) $(eval $(call BuildPackage,lua-eco-websocket)) $(eval $(call BuildPackage,lua-eco-termios)) $(eval $(call BuildPackage,lua-eco-network)) +$(eval $(call BuildPackage,lua-eco-netlink)) +$(eval $(call BuildPackage,lua-eco-nl80211)) From 33e1deadf8841f0b46890cd2da1c6f8ddd7a3c69 Mon Sep 17 00:00:00 2001 From: Maxim Storchak Date: Thu, 1 Jun 2023 20:29:10 +0300 Subject: [PATCH 44/47] nfs-kernel-server: remove libwrap from the dependencies Signed-off-by: Maxim Storchak --- net/nfs-kernel-server/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/nfs-kernel-server/Makefile b/net/nfs-kernel-server/Makefile index 5996a9620..e30435771 100644 --- a/net/nfs-kernel-server/Makefile +++ b/net/nfs-kernel-server/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nfs-kernel-server PKG_VERSION:=2.6.2 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_HASH:=26d46448982252e9e2c8346d10cf13e1143e7089c866f53e25db3359f3e9493c PKG_SOURCE_URL:=@SF/nfs @@ -32,7 +32,7 @@ define Package/nfs-kernel-server/Default SECTION:=net CATEGORY:=Network SUBMENU:=Filesystem - DEPENDS:=+libwrap +libblkid +libuuid +libtirpc + DEPENDS:=+libblkid +libuuid +libtirpc URL:=http://nfs.sourceforge.net/ MAINTAINER:=Peter Wagner endef From d717bace8d2c2040547bbda284fe302af9ccd695 Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Fri, 2 Jun 2023 21:15:04 +0800 Subject: [PATCH 45/47] dnsproxy: Update to 0.49.2 Signed-off-by: Tianling Shen --- net/dnsproxy/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/dnsproxy/Makefile b/net/dnsproxy/Makefile index 195a14674..d84246e36 100644 --- a/net/dnsproxy/Makefile +++ b/net/dnsproxy/Makefile @@ -5,12 +5,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=dnsproxy -PKG_VERSION:=0.49.1 +PKG_VERSION:=0.49.2 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/AdguardTeam/dnsproxy/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=c587a7e88660c879f738df1ffcbf0402928a0c04ec0f148e385017f176e8ba14 +PKG_HASH:=e1bbaee78077a94149fc0fe18a4c7c9609d96307fa7c4b3ae09811965d5db96a PKG_MAINTAINER:=Tianling Shen PKG_LICENSE:=Apache-2.0 From 1651f7f16d26ab1042b2f45964ccdc11cea15e9f Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Fri, 2 Jun 2023 22:04:38 +0800 Subject: [PATCH 46/47] CI: Sort build architectures in alphabetical order Signed-off-by: Jeffery To --- .github/workflows/multi-arch-test-build.yml | 24 ++++++++++----------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/multi-arch-test-build.yml b/.github/workflows/multi-arch-test-build.yml index 9cac7c9b3..10fdecd07 100644 --- a/.github/workflows/multi-arch-test-build.yml +++ b/.github/workflows/multi-arch-test-build.yml @@ -15,10 +15,22 @@ jobs: fail-fast: false matrix: include: + - arch: aarch64_cortex-a53 + target: mvebu-cortexa53 + runtime_test: true + + - arch: arm_cortex-a15_neon-vfpv4 + target: armvirt-32 + runtime_test: true + - arch: arm_cortex-a9_vfpv3-d16 target: mvebu-cortexa9 runtime_test: false + - arch: i386_pentium-mmx + target: x86-geode + runtime_test: true + - arch: mips_24kc target: ath79-generic runtime_test: true @@ -35,18 +47,6 @@ jobs: target: mpc85xx-p1010 runtime_test: false - - arch: aarch64_cortex-a53 - target: mvebu-cortexa53 - runtime_test: true - - - arch: arm_cortex-a15_neon-vfpv4 - target: armvirt-32 - runtime_test: true - - - arch: i386_pentium-mmx - target: x86-geode - runtime_test: true - - arch: x86_64 target: x86-64 runtime_test: true From 3b59118c4f5932f238b426ba3879e9af2fe8fbed Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Fri, 2 Jun 2023 22:09:46 +0800 Subject: [PATCH 47/47] CI: Add build test for riscv64_riscv64 Signed-off-by: Jeffery To --- .github/workflows/multi-arch-test-build.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/multi-arch-test-build.yml b/.github/workflows/multi-arch-test-build.yml index 10fdecd07..c1d2df73f 100644 --- a/.github/workflows/multi-arch-test-build.yml +++ b/.github/workflows/multi-arch-test-build.yml @@ -47,6 +47,10 @@ jobs: target: mpc85xx-p1010 runtime_test: false + - arch: riscv64_riscv64 + target: sifiveu-generic + runtime_test: false + - arch: x86_64 target: x86-64 runtime_test: true