diff --git a/admin/syslog-ng/Makefile b/admin/syslog-ng/Makefile index 2f2cdc663..a6edb205e 100644 --- a/admin/syslog-ng/Makefile +++ b/admin/syslog-ng/Makefile @@ -4,7 +4,7 @@ PKG_NAME:=syslog-ng PKG_VERSION:=4.2.0 PKG_RELEASE:=1 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=LGPL-2.1-or-later GPL-2.0-or-later PKG_LICENSE_FILES:=COPYING LGPL.txt GPL.txt PKG_CPE_ID:=cpe:/a:balabit:syslog-ng diff --git a/lang/lua-eco/Makefile b/lang/lua-eco/Makefile index efcc87ca2..e4f3ab188 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.4.0 +PKG_VERSION:=2.5.1 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:=7dd3ae8c9548ad9f0bfcc9a95e77c6f24ef868d3dd21983c5b940f738360ff9b +PKG_HASH:=436c09dd7dbc88ab651ae7696f2102b5635628ab420cc550bc237ecb04cade5d PKG_MAINTAINER:=Jianhui Zhao PKG_LICENSE:=MIT diff --git a/lang/python/python-astral/Makefile b/lang/python/python-astral/Makefile index 9d24576cc..cbabdea89 100644 --- a/lang/python/python-astral/Makefile +++ b/lang/python/python-astral/Makefile @@ -16,7 +16,7 @@ PKG_HASH:=9b7c3b412e9e69d172cfb24be0e6addcc9f1bd01a28db8bebe66d75ccc533d88 PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_BUILD_DEPENDS:=python-poetry-core/host diff --git a/lang/python/python-awesomeversion/Makefile b/lang/python/python-awesomeversion/Makefile index ef60418e4..8b09ce6fa 100644 --- a/lang/python/python-awesomeversion/Makefile +++ b/lang/python/python-awesomeversion/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=awesomeversion PKG_HASH:=a505558316010d2d10d487226f79c1157204af00fa462fdcf948e347011dd491 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENCE.md diff --git a/lang/python/python-babel/Makefile b/lang/python/python-babel/Makefile index 084ee491d..8968abb75 100644 --- a/lang/python/python-babel/Makefile +++ b/lang/python/python-babel/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=Babel PKG_HASH:=cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-ble2mqtt/Makefile b/lang/python/python-ble2mqtt/Makefile index 9ee591d60..65abc231c 100644 --- a/lang/python/python-ble2mqtt/Makefile +++ b/lang/python/python-ble2mqtt/Makefile @@ -7,11 +7,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-ble2mqtt -PKG_VERSION:=0.1.9 +PKG_VERSION:=0.2.0 PKG_RELEASE:=1 PYPI_NAME:=ble2mqtt -PKG_HASH:=4b7c9ea747d04687a7e57d47a7d847870e4d9f474967906e9e1e06b7bce5a5b9 +PKG_HASH:=cd45b5fb382a71d441470899e01be50482d26e2d86e3012e1f5a9ab633248383 PKG_MAINTAINER:=Quintin Hill PKG_LICENSE:=MIT diff --git a/lang/python/python-cachetools/Makefile b/lang/python/python-cachetools/Makefile index 62bd760cf..fbe2dff94 100644 --- a/lang/python/python-cachetools/Makefile +++ b/lang/python/python-cachetools/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=cachetools PKG_HASH:=dce83f2d9b4e1f732a8cd44af8e8fab2dbe46201467fc98b3ef8f269092bf62b -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-dbus-fast/Makefile b/lang/python/python-dbus-fast/Makefile index 055e9ef21..0e3619c59 100644 --- a/lang/python/python-dbus-fast/Makefile +++ b/lang/python/python-dbus-fast/Makefile @@ -7,12 +7,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-dbus-fast -PKG_VERSION:=1.93.0 +PKG_VERSION:=1.94.1 PKG_RELEASE:=1 PYPI_NAME:=dbus-fast PYPI_SOURCE_NAME:=dbus_fast -PKG_HASH:=4a86346d2fd26b589cf8f98a5467ecb363fce3b8b0d9cef3b5127c9408129428 +PKG_HASH:=9514e4abf586c656fb70cf9dab323a019131a032765997972045059717b7537c PKG_MAINTAINER:=Quintin Hill PKG_LICENSE:=MIT diff --git a/lang/python/python-flask-babel/Makefile b/lang/python/python-flask-babel/Makefile index f381cfcfa..c23fb4764 100644 --- a/lang/python/python-flask-babel/Makefile +++ b/lang/python/python-flask-babel/Makefile @@ -15,7 +15,7 @@ PYPI_NAME:=flask-babel PYPI_SOURCE_NAME:=flask_babel PKG_HASH:=be015772c5d7f046f3b99c508dcf618636eb93d21b713b356db79f3e79f69f39 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-flask-seasurf/Makefile b/lang/python/python-flask-seasurf/Makefile index dd10c8e0d..245182693 100644 --- a/lang/python/python-flask-seasurf/Makefile +++ b/lang/python/python-flask-seasurf/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=Flask-SeaSurf PKG_HASH:=54537008c769ac0ada8237877327c3e7ed74dcd8b01e74a9120ee0232c5951a9 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-flask-session/Makefile b/lang/python/python-flask-session/Makefile index a27e95bff..c5f7800f2 100644 --- a/lang/python/python-flask-session/Makefile +++ b/lang/python/python-flask-session/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=Flask-Session PKG_HASH:=0768e2bbf06f963ec1aa711bde7aa32dc39ff70f89b495d6db687d899eae4423 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-markdown/Makefile b/lang/python/python-markdown/Makefile index c8eba9044..1ab6bda3e 100644 --- a/lang/python/python-markdown/Makefile +++ b/lang/python/python-markdown/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=Markdown PKG_HASH:=225c6123522495d4119a90b3a3ba31a1e87a70369e03f14799ea9c0d7183a3d6 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE.md diff --git a/lang/python/python-package-install.sh b/lang/python/python-package-install.sh index fa42f6f4a..4e7fb7af5 100644 --- a/lang/python/python-package-install.sh +++ b/lang/python/python-package-install.sh @@ -1,45 +1,140 @@ #!/bin/sh -set -e -process_filespec() { - local src_dir="$1" - local dst_dir="$2" - local filespec="$3" - echo "$filespec" | ( - IFS='|' - while read fop fspec fperm; do - local fop=`echo "$fop" | tr -d ' \t\n'` - if [ "$fop" = "+" ]; then - if [ ! -e "${src_dir}${fspec}" ]; then - echo "File not found '${src_dir}${fspec}'" - exit 1 - fi - dpath=`dirname "$fspec"` - if [ -z "$fperm" ]; then - dperm=`stat -c "%a" ${src_dir}${dpath}` - fi - mkdir -p -m$dperm ${dst_dir}${dpath} - echo "copying: '$fspec'" - cp -fpR ${src_dir}${fspec} ${dst_dir}${dpath}/ - if [ -n "$fperm" ]; then - chmod -R $fperm ${dst_dir}${fspec} - fi - elif [ "$fop" = "-" ]; then - echo "removing: '$fspec'" - rm -fR ${dst_dir}${fspec} - elif [ "$fop" = "=" ]; then - echo "setting permissions: '$fperm' on '$fspec'" - chmod -R $fperm ${dst_dir}${fspec} - fi - done - ) +log() { + printf '%s\n' "$*" } -src_dir="$1" -dst_dir="$2" +error() { + printf 'Error: %s\n' "$*" >&2 +} + +path_exists() { + local dir="$1" + local path="$2" + + [ -n "$(find "$dir"/$path -print -quit 2>/dev/null)" ] +} + +file_dir_chmod() { + local dir="$1" + local path="$2" + local file_mode="$3" + local dir_mode="$4" + shift; shift; shift; shift; + + if [ -n "$file_mode" ]; then + find "$dir"/$path -type f "$@" -exec chmod "$file_mode" -- '{}' + + fi + + if [ -n "$dir_mode" ]; then + find "$dir"/$path -type d "$@" -exec chmod "$dir_mode" -- '{}' + + fi +} + +src="$1" +dest="$2" filespec="$3" -process_filespec "$src_dir" "$dst_dir" "$filespec" || { - echo "process filespec error-ed" +if [ -z "$src" ]; then + error "Missing source directory" exit 1 -} +fi +if [ -z "$dest" ]; then + error "Missing destination directory" + exit 1 +fi + +while IFS='|' read -r cmd path file_mode dir_mode; do + + # trim whitespace + + cmd="${cmd#"${cmd%%[![:space:]]*}"}" + cmd="${cmd%"${cmd##*[![:space:]]}"}" + + path="${path#"${path%%[![:space:]]*}"}" + path="${path%"${path##*[![:space:]]}"}" + + file_mode="${file_mode#"${file_mode%%[![:space:]]*}"}" + file_mode="${file_mode%"${file_mode##*[![:space:]]}"}" + + dir_mode="${dir_mode#"${dir_mode%%[![:space:]]*}"}" + dir_mode="${dir_mode%"${dir_mode##*[![:space:]]}"}" + + + if [ -z "$cmd" ] || [ "$cmd" != "${cmd#\#}" ]; then + continue + fi + + if [ -z "$path" ]; then + error "Missing path for \"$cmd\"" + exit 1 + fi + + case "$cmd" in + +) + log "Copying: \"$path\"" + + if ! path_exists "$src" "$path"; then + error "\"$src/$path\" not found" + exit 1 + fi + + dir="${path%/*}" + mkdir -p "$dest/$dir" + cp -fpR "$src"/$path "$dest/$dir/" + + file_dir_chmod "$dest" "$path" "$file_mode" "$dir_mode" + ;; + + -) + log "Removing: \"$path\"" + + if ! path_exists "$dest" "$path"; then + error "\"$dest/$path\" not found" + exit 1 + fi + + rm -fR -- "$dest"/$path + ;; + + =) + log "Setting recursive permissions \"${file_mode:-(none)}\"/\"${dir_mode:-(none)}\" on \"$path\"" + + if ! path_exists "$dest" "$path"; then + error "\"$dest/$path\" not found" + exit 1 + fi + + if [ -z "$file_mode$dir_mode" ]; then + error "Missing recursive permissions for \"$path\"" + exit 1 + fi + + file_dir_chmod "$dest" "$path" "$file_mode" "$dir_mode" + ;; + + ==) + log "Setting permissions \"${file_mode:-(none)}\"/\"${dir_mode:-(none)}\" on \"$path\"" + + if ! path_exists "$dest" "$path"; then + error "\"$dest/$path\" not found" + exit 1 + fi + + if [ -z "$file_mode$dir_mode" ]; then + error "Missing permissions for \"$path\"" + exit 1 + fi + + file_dir_chmod "$dest" "$path" "$file_mode" "$dir_mode" -maxdepth 0 + ;; + + *) + error "Unknown command \"$cmd\"" + exit 1 + ;; + esac + +done << EOF +$filespec +EOF diff --git a/lang/python/python-paho-mqtt/Makefile b/lang/python/python-paho-mqtt/Makefile index c8aea07de..20554631b 100644 --- a/lang/python/python-paho-mqtt/Makefile +++ b/lang/python/python-paho-mqtt/Makefile @@ -8,7 +8,7 @@ PKG_NAME:=python-paho-mqtt PKG_VERSION:=1.6.1 PKG_RELEASE:=2 -PKG_MAINTAINER:=Josef Schlehofer , Alexandru Ardelean +PKG_MAINTAINER:=Josef Schlehofer , Alexandru Ardelean PKG_LICENSE:=EPL-1.0 Eclipse Distribution License v1.0 PKG_LICENSE_FILES:=epl-v10 edl-v10 diff --git a/lang/python/python-pluggy/Makefile b/lang/python/python-pluggy/Makefile index 8fcc74dc9..83ab84cf1 100644 --- a/lang/python/python-pluggy/Makefile +++ b/lang/python/python-pluggy/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-pluggy -PKG_VERSION:=1.2.0 +PKG_VERSION:=1.3.0 PKG_RELEASE:=1 PYPI_NAME:=pluggy -PKG_HASH:=d12f0c4b579b15f5e054301bb226ee85eeeba08ffec228092f8defbaa3a4c4b3 +PKG_HASH:=cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12 PKG_MAINTAINER:=Jan Pavlinec , Jeffery To PKG_LICENSE:=MIT diff --git a/lang/python/python-pyotp/Makefile b/lang/python/python-pyotp/Makefile index 7fbda1c0f..468d74797 100644 --- a/lang/python/python-pyotp/Makefile +++ b/lang/python/python-pyotp/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=pyotp PKG_HASH:=346b6642e0dbdde3b4ff5a930b664ca82abfa116356ed48cc42c7d6590d36f63 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-pyrsistent/Makefile b/lang/python/python-pyrsistent/Makefile index 64d687399..5f8294e69 100644 --- a/lang/python/python-pyrsistent/Makefile +++ b/lang/python/python-pyrsistent/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=pyrsistent PKG_HASH:=1a2994773706bbb4995c31a97bc94f1418314923bd1048c6d964837040376440 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE.mit diff --git a/lang/python/python-requests/Makefile b/lang/python/python-requests/Makefile index c6b156f16..e16cd201b 100644 --- a/lang/python/python-requests/Makefile +++ b/lang/python/python-requests/Makefile @@ -11,7 +11,7 @@ PKG_NAME:=python-requests PKG_VERSION:=2.31.0 PKG_RELEASE:=1 -PKG_MAINTAINER:=Josef Schlehofer , Alexandru Ardelean +PKG_MAINTAINER:=Josef Schlehofer , Alexandru Ardelean PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE PKG_CPE_ID:=cpe:/a:python-requests:requests diff --git a/lang/python/python-rsa/Makefile b/lang/python/python-rsa/Makefile index 0a96aa201..92b405245 100644 --- a/lang/python/python-rsa/Makefile +++ b/lang/python/python-rsa/Makefile @@ -1,16 +1,19 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=rsa -PKG_VERSION:=4.6 +PKG_NAME:=python-rsa +PKG_VERSION:=4.9 PKG_RELEASE:=1 -PYPI_NAME:=$(PKG_NAME) -PKG_HASH:=109ea5a66744dd859bf16fe904b8d8b627adafb9408753161e766a92e7d681fa +PYPI_NAME:=rsa +PKG_HASH:=e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21 PKG_MAINTAINER:=Daniel Danzberger -PKG_LICENSE:=MIT +PKG_LICENSE:=Apache-2.0 +PKG_LICENSE_FILES:=LICENSE PKG_CPE_ID:=cpe:/a:python-rsa_project:python-rsa +PKG_BUILD_DEPENDS:=python-poetry-core/host + include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk @@ -19,15 +22,16 @@ define Package/python3-rsa SUBMENU:=Python SECTION:=lang CATEGORY:=Languages - TITLE:=rsa + TITLE:=Pure-Python RSA implementation URL:=https://stuvel.eu/rsa - DEPENDS:=+python3 +python3-pyasn1 + DEPENDS:=+python3-light +python3-multiprocessing +python3-pydoc +python3-pyasn1 endef define Package/python3-rsa/description - Is a pure-Python RSA implementation. It supports encryption and decryption, - signing and verifying signatures, and key generation according to PKCS#1 version 1.5. - It can be used as a Python library as well as on the commandline. +Python-RSA is a pure-Python RSA implementation. It supports encryption +and decryption, signing and verifying signatures, and key generation +according to PKCS#1 version 1.5. It can be used as a Python library as +well as on the commandline. endef $(eval $(call Py3Package,python3-rsa)) diff --git a/lang/python/python-schedule/Makefile b/lang/python/python-schedule/Makefile index 6d28bd0e4..134a2c576 100644 --- a/lang/python/python-schedule/Makefile +++ b/lang/python/python-schedule/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-schedule -PKG_VERSION:=0.6.0 -PKG_RELEASE:=2 +PKG_VERSION:=1.2.0 +PKG_RELEASE:=1 PYPI_NAME:=schedule -PKG_HASH:=f9fb5181283de4db6e701d476dd01b6a3dd81c38462a54991ddbb9d26db857c9 +PKG_HASH:=b4ad697aafba7184c9eb6a1e2ebc41f781547242acde8ceae9a0a25b04c0922d -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE.txt @@ -32,9 +32,10 @@ define Package/python3-schedule endef define Package/python3-schedule/description - An in-process scheduler for periodic jobs that uses the builder pattern for configuration. - The Schedule lets you run Python functions (or any other callable) - periodically at predetermined intervals using a simple, human-friendly syntax. +An in-process scheduler for periodic jobs that uses the builder pattern +for configuration. The Schedule lets you run Python functions (or any +other callable) periodically at predetermined intervals using a simple, +human-friendly syntax. endef $(eval $(call Py3Package,python3-schedule)) diff --git a/lang/python/python-schema/Makefile b/lang/python/python-schema/Makefile index d62a515ca..fd1bb5860 100644 --- a/lang/python/python-schema/Makefile +++ b/lang/python/python-schema/Makefile @@ -5,12 +5,15 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-schema -PKG_VERSION:=0.7.2 +PKG_VERSION:=0.7.5 PKG_RELEASE:=1 PKG_MAINTAINER:=Karel Kočí PYPI_NAME:=schema -PKG_HASH:=b536f2375b49fdf56f36279addae98bd86a8afbd58b3c32ce363c464bed5fc1c +PKG_HASH:=f06717112c61895cabc4707752b88716e8420a8819d71404501e114f91043197 + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE-MIT include ../pypi.mk include $(INCLUDE_DIR)/package.mk @@ -21,12 +24,15 @@ define Package/python3-schema CATEGORY:=Languages SUBMENU:=Python URL:=https://github.com/keleshev/schema - TITLE:=python3-schema + TITLE:=Simple data validation library DEPENDS:=+python3-light +python3-contextlib2 endef define Package/python3-schema/description - Schema validation just got Pythonic +schema is a library for validating Python data structures, such as those +obtained from config-files, forms, external services or command-line +parsing, converted from JSON/YAML (or something else) to Python +data-types. endef $(eval $(call Py3Package,python3-schema)) diff --git a/lang/python/python-sentry-sdk/Makefile b/lang/python/python-sentry-sdk/Makefile index 81854826b..c65bda308 100644 --- a/lang/python/python-sentry-sdk/Makefile +++ b/lang/python/python-sentry-sdk/Makefile @@ -8,14 +8,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-sentry-sdk -PKG_VERSION:=1.5.4 +PKG_VERSION:=1.29.2 PKG_RELEASE:=1 PYPI_NAME:=sentry-sdk -PKG_HASH:=f7e54567937ebcbe938c4df1075ec891587faeb7c74184b88cf2894e47c86116 +PKG_HASH:=a99ee105384788c3f228726a88baf515fe7b5f1d2d0f215a03d194369f158df7 -PKG_MAINTAINER:=Josef Schlehofer -PKG_LICENSE:=BSD-2-Clause +PKG_MAINTAINER:=Josef Schlehofer +PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE include ../pypi.mk @@ -26,17 +26,16 @@ define Package/python3-sentry-sdk SECTION:=lang CATEGORY:=Languages SUBMENU:=Python - TITLE:=Python Client for Sentry + TITLE:=Client for Sentry URL:=https://github.com/getsentry/sentry-python DEPENDS:= \ + +python3 \ +python3-certifi \ - +python3-light \ - +python3-logging \ +python3-urllib3 endef define Package/python3-sentry-sdk/description - Python Sentry-Python is an SDK for Sentry. +This is the official Python SDK for Sentry. endef $(eval $(call Py3Package,python3-sentry-sdk)) diff --git a/lang/python/python-slugify/Makefile b/lang/python/python-slugify/Makefile index 3eb2c7afc..2c7b82e70 100644 --- a/lang/python/python-slugify/Makefile +++ b/lang/python/python-slugify/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-slugify -PKG_VERSION:=4.0.1 +PKG_VERSION:=8.0.1 PKG_RELEASE:=1 PYPI_NAME:=$(PKG_NAME) -PKG_HASH:=69a517766e00c1268e5bbfc0d010a0a8508de0b18d30ad5a1ff357f8ae724270 +PKG_HASH:=ce0d46ddb668b3be82f4ed5e503dbc33dd815d83e2eb6824211310d3fb172a27 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE @@ -31,7 +31,6 @@ define Package/python3-slugify DEPENDS:= \ +python3-light \ +python3-codecs \ - +python3-setuptools \ +python3-text-unidecode endef diff --git a/lang/python/python-sqlalchemy/Makefile b/lang/python/python-sqlalchemy/Makefile index f15cbb3ff..39279f258 100644 --- a/lang/python/python-sqlalchemy/Makefile +++ b/lang/python/python-sqlalchemy/Makefile @@ -8,17 +8,19 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-sqlalchemy -PKG_VERSION:=1.4.22 +PKG_VERSION:=2.0.20 PKG_RELEASE:=1 PYPI_NAME:=SQLAlchemy -PKG_HASH:=ec1be26cdccd60d180359a527d5980d959a26269a2c7b1b327a1eea0cab37ed8 +PKG_HASH:=ca8a5ff2aa7f3ade6c498aaafce25b1eaeabe4e42b73e25519183e4566a16fc6 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE PKG_CPE_ID:=cpe:/a:sqlalchemy:sqlalchemy +PKG_BUILD_DEPENDS:=python-cython/host + include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk @@ -29,19 +31,15 @@ define Package/python3-sqlalchemy SUBMENU:=Python TITLE:=Database Abstraction Library URL:=https://www.sqlalchemy.org - DEPENDS:= \ - +python3-light \ - +python3-urllib \ - +python3-decimal \ - +python3-logging + DEPENDS:=+python3 +python3-typing-extensions endef define Package/python3-sqlalchemy/description - SQLAlchemy is the Python SQL toolkit and Object Relational Mapper - that gives application developers the full power and flexibility of SQL. - SQLAlchemy provides a full suite of well known enterprise-level persistence patterns, - designed for efficient and high-performing database access, - adapted into a simple and Pythonic domain language. +SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that +gives application developers the full power and flexibility of SQL. +SQLAlchemy provides a full suite of well known enterprise-level +persistence patterns, designed for efficient and high-performing +database access, adapted into a simple and Pythonic domain language. endef $(eval $(call Py3Package,python3-sqlalchemy)) diff --git a/lang/python/python-tornado/Makefile b/lang/python/python-tornado/Makefile index d2fb56b20..ade9302bf 100644 --- a/lang/python/python-tornado/Makefile +++ b/lang/python/python-tornado/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-tornado -PKG_VERSION:=6.1 +PKG_VERSION:=6.3.3 PKG_RELEASE:=1 PYPI_NAME:=tornado -PKG_HASH:=33c6e81d7bd55b468d2e793517c909b139960b6c790a60b7991b9b6b76fb9791 +PKG_HASH:=e7d8db41c0181c80d76c982aacc442c0783a2c54d6400fe028954201a2e032fe -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE @@ -27,17 +27,8 @@ define Package/python3-tornado CATEGORY:=Languages SUBMENU:=Python TITLE:=Web framework and asynchronous networking library - URL:=https://tornadoweb.org - DEPENDS:= \ - +python3-asyncio \ - +python3-codecs \ - +python3-email \ - +python3-light \ - +python3-logging \ - +python3-multiprocessing \ - +python3-openssl \ - +python3-unittest \ - +python3-urllib + URL:=https://www.tornadoweb.org + DEPENDS:=+python3 endef define Package/python3-tornado/description diff --git a/lang/python/python-trio/Makefile b/lang/python/python-trio/Makefile index 8afd6b29a..d90f1b8f8 100644 --- a/lang/python/python-trio/Makefile +++ b/lang/python/python-trio/Makefile @@ -8,14 +8,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-trio -PKG_VERSION:=0.22.0 +PKG_VERSION:=0.22.2 PKG_RELEASE:=1 PYPI_NAME:=trio -PKG_HASH:=ce68f1c5400a47b137c5a4de72c7c901bd4e7a24fbdebfe9b41de8c6c04eaacf +PKG_HASH:=3887cf18c8bcc894433420305468388dac76932e9668afa1c49aa3806b6accb3 -PKG_LICENSE:=Apache-2.0|MIT -PKG_LICENSE_FILES:=LICENSE.APACHE2|LICENSE.MIT +PKG_LICENSE:=Apache-2.0 MIT +PKG_LICENSE_FILES:=LICENSE.APACHE2 LICENSE.MIT PKG_MAINTAINER:=Julien Malik include ../pypi.mk @@ -26,14 +26,11 @@ define Package/python3-trio SECTION:=lang CATEGORY:=Languages SUBMENU:=Python - TITLE:=A friendly Python library for async concurrency and I/O - URL:=https://trio.readthedocs.io + TITLE:=Friendly library for async concurrency and I/O + URL:=https://github.com/python-trio/trio DEPENDS:= \ +python3-light \ +python3-attrs \ - +python3-async-generator \ - +python3-cffi \ - +python3-exceptiongroup \ +python3-idna \ +python3-outcome \ +python3-sniffio \ @@ -41,7 +38,8 @@ define Package/python3-trio endef define Package/python3-trio/description - The Trio project’s goal is to produce a production-quality, permissively licensed, async/await-native I/O library for Python +The Trio project’s goal is to produce a production-quality, permissively +licensed, async/await-native I/O library for Python. endef $(eval $(call Py3Package,python3-trio)) diff --git a/lang/python/python-ubus/Makefile b/lang/python/python-ubus/Makefile index 0e96da20c..794714610 100644 --- a/lang/python/python-ubus/Makefile +++ b/lang/python/python-ubus/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-ubus -PKG_VERSION:=0.1.1 -PKG_RELEASE:=2 +PKG_VERSION:=0.1.2 +PKG_RELEASE:=1 PYPI_NAME:=ubus -PKG_HASH:=7e57bda989bc35b48c7075d03ec2818226e722bbf1bde138d7e7ea26d462682a +PKG_HASH:=4dc4ef0fbcc8abb7a2354691475a58ff3eb015f1bab3150750729f7f657dd440 PKG_MAINTAINER:=Erik Larsson PKG_LICENSE:=LGPL-2.1-or-later @@ -28,7 +28,7 @@ define Package/python3-ubus SUBMENU:=Python SECTION:=lang CATEGORY:=Languages - TITLE:=Python3 ubus + TITLE:=libubus bindings URL:=https://gitlab.nic.cz/turris/python-ubus/ DEPENDS:=+libubus +libblobmsg-json +python3-light endef diff --git a/lang/python/python-uci/Makefile b/lang/python/python-uci/Makefile index 46fbd79a9..5d834d0d7 100644 --- a/lang/python/python-uci/Makefile +++ b/lang/python/python-uci/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=pyuci PKG_HASH:=865a45d48fb5d363f1230e94fa2c5b01ae6487f02f2180b0a6f78193a70166e2 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=GPL-3.0-or-later PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-unidecode/Makefile b/lang/python/python-unidecode/Makefile index d8c150ac2..424f361a1 100644 --- a/lang/python/python-unidecode/Makefile +++ b/lang/python/python-unidecode/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=Unidecode PKG_HASH:=fed09cf0be8cf415b391642c2a5addfc72194407caee4f98719e40ec2a72b830 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=GPL-2.0-or-later PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-urllib3/Makefile b/lang/python/python-urllib3/Makefile index 8812c0e43..a31cc8ffb 100644 --- a/lang/python/python-urllib3/Makefile +++ b/lang/python/python-urllib3/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-urllib3 -PKG_VERSION:=1.25.11 +PKG_VERSION:=2.0.4 PKG_RELEASE:=1 PKG_MAINTAINER:=Josef Schlehofer @@ -17,7 +17,9 @@ PKG_LICENSE_FILES:=LICENSE.txt PKG_CPE_ID:=cpe:/a:urllib3_project:urllib3 PYPI_NAME:=urllib3 -PKG_HASH:=8d7eaa5a82a1cac232164990f04874c594c9453ec55eef02eab885aa02fc17a2 +PKG_HASH:=8d22f86aae8ef5e410d4f539fde9ce6b2113a001bb4d189e0aed70642d602b11 + +PKG_BUILD_DEPENDS:=python-hatchling/host include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/lang/python/python-voluptuous-serialize/Makefile b/lang/python/python-voluptuous-serialize/Makefile index 3865dfe3c..28204ede9 100644 --- a/lang/python/python-voluptuous-serialize/Makefile +++ b/lang/python/python-voluptuous-serialize/Makefile @@ -7,16 +7,16 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=voluptuous-serialize -PKG_VERSION:=2.5.0 +PKG_NAME:=python-voluptuous-serialize +PKG_VERSION:=2.6.0 PKG_RELEASE:=1 -PYPI_NAME:=$(PKG_NAME) -PKG_HASH:=5359f2e0a4f972ae03066e0777b4f0755c9226b2af099ca4fc55432efd1a447b +PYPI_NAME:=voluptuous-serialize +PKG_HASH:=79acdc58239582a393144402d827fa8efd6df0f5350cdc606d9242f6f9bca7c4 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=Apache-2.0 -PKG_LICENSE_FILES:=COPYING +PKG_LICENSE_FILES:=LICENSE include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/lang/python/python-voluptuous/Makefile b/lang/python/python-voluptuous/Makefile index c5f04a2a5..ceb6a85f7 100644 --- a/lang/python/python-voluptuous/Makefile +++ b/lang/python/python-voluptuous/Makefile @@ -8,15 +8,15 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-voluptuous -PKG_VERSION:=0.12.1 +PKG_VERSION:=0.13.1 PKG_RELEASE:=1 PYPI_NAME:=voluptuous -PKG_HASH:=663572419281ddfaf4b4197fd4942d181630120fb39b333e3adad70aeb56444b +PKG_HASH:=e8d31c20601d6773cb14d4c0f42aee29c6821bbd1018039aac7ac5605b489723 PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=COPYING -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer include ../pypi.mk include $(INCLUDE_DIR)/package.mk @@ -28,12 +28,12 @@ define Package/python3-voluptuous SUBMENU:=Python TITLE:=Data validation library URL:=https://github.com/alecthomas/voluptuous - DEPENDS:= \ - +python3-light + DEPENDS:=+python3-light +python3-decimal +python3-urllib endef define Package/python3-voluptuous/description -It is primarily intended for validating data coming into Python as JSON, YAML, etc. +It is primarily intended for validating data coming into Python as JSON, +YAML, etc. endef $(eval $(call Py3Package,python3-voluptuous)) diff --git a/lang/python/python-wcwidth/Makefile b/lang/python/python-wcwidth/Makefile index 6ded8e065..03af3f5f8 100644 --- a/lang/python/python-wcwidth/Makefile +++ b/lang/python/python-wcwidth/Makefile @@ -9,15 +9,15 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-wcwidth -PKG_VERSION:=0.2.5 +PKG_VERSION:=0.2.6 PKG_RELEASE:=1 PYPI_NAME:=wcwidth -PKG_HASH:=c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83 +PKG_HASH:=a5220780a404dbe3353789870978e472cfe477761f06ee55077256e509b156d0 PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=MIT -PKG_LICENSE_FILES:=LICENSE.txt +PKG_LICENSE_FILES:=LICENSE include ../pypi.mk include $(INCLUDE_DIR)/package.mk @@ -33,7 +33,8 @@ define Package/python3-wcwidth endef define Package/python3-wcwidth/description - Python library that measures the width of unicode strings rendered to a terminal +Python library that measures the width of unicode strings rendered to a +terminal endef $(eval $(call Py3Package,python3-wcwidth)) diff --git a/lang/python/python-websocket-client/Makefile b/lang/python/python-websocket-client/Makefile index f84bd1844..3044b2eb5 100644 --- a/lang/python/python-websocket-client/Makefile +++ b/lang/python/python-websocket-client/Makefile @@ -1,11 +1,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-websocket-client -PKG_VERSION:=1.6.1 +PKG_VERSION:=1.6.2 PKG_RELEASE:=1 PYPI_NAME:=websocket-client -PKG_HASH:=c951af98631d24f8df89ab1019fc365f2227c0892f12fd150e935607c79dd0dd +PKG_HASH:=53e95c826bf800c4c465f50093a8c4ff091c7327023b10bfaff40cf1ef170eaa PKG_MAINTAINER:=Javier Marcet PKG_LICENSE:=Apache-2.0 diff --git a/lang/python/python-websockets/Makefile b/lang/python/python-websockets/Makefile index 737ea39f4..fac0d741b 100644 --- a/lang/python/python-websockets/Makefile +++ b/lang/python/python-websockets/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-websockets -PKG_VERSION:=10.3 +PKG_VERSION:=11.0.3 PKG_RELEASE:=1 PYPI_NAME:=websockets -PKG_HASH:=fc06cc8073c8e87072138ba1e431300e2d408f054b27047d047b549455066ff4 +PKG_HASH:=88fc51d9a26b10fc331be344f1781224a375b78488fc343620184e95a4b27016 PKG_MAINTAINER:=Michal Vasilek PKG_LICENSE:=BSD-3-Clause @@ -26,18 +26,18 @@ define Package/python3-websockets SECTION:=lang CATEGORY:=Languages SUBMENU:=Python - TITLE:=Library for developing WebSocket servers and clients - URL:=https://websockets.readthedocs.io/ - DEPENDS:=+python3-light +python3-asyncio +python3-ctypes +python3-email \ - +python3-logging +python3-urllib + TITLE:=Implementation of the WebSocket Protocol + URL:=https://github.com/aaugustin/websockets + DEPENDS:=+python3 endef define Package/python3-websockets/description - websockets is a library for building WebSocket servers and clients - in Python with a focus on correctness and simplicity. +websockets is a library for building WebSocket servers and clients in +Python with a focus on correctness, simplicity, robustness, and +performance. - Built on top of asyncio, Python’s standard asynchronous I/O framework. - It provides an elegant coroutine-based API. +Built on top of asyncio, Python's standard asynchronous I/O framework, +the default implementation provides an elegant coroutine-based API. endef $(eval $(call Py3Package,python3-websockets)) diff --git a/lang/python/python-wheel/Makefile b/lang/python/python-wheel/Makefile index 8f8b48a53..2b89d569e 100644 --- a/lang/python/python-wheel/Makefile +++ b/lang/python/python-wheel/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-wheel -PKG_VERSION:=0.41.1 +PKG_VERSION:=0.41.2 PKG_RELEASE:=1 PYPI_NAME:=wheel -PKG_HASH:=12b911f083e876e10c595779709f8a88a59f45aacc646492a67fe9ef796c1b47 +PKG_HASH:=0c5ac5ff2afb79ac23ab82bab027a0be7b5dbcf2e54dc50efe4bf507de1f7985 PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE.txt diff --git a/lang/python/python-yaml/Makefile b/lang/python/python-yaml/Makefile index 1731b33fc..26326d660 100644 --- a/lang/python/python-yaml/Makefile +++ b/lang/python/python-yaml/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=4 PYPI_NAME:=PyYAML PKG_HASH:=68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE PKG_CPE_ID:=cpe:/a:pyyaml_project:pyyaml diff --git a/lang/python/python3-bottle/Makefile b/lang/python/python3-bottle/Makefile index f094d81b6..1a6913d2b 100644 --- a/lang/python/python3-bottle/Makefile +++ b/lang/python/python3-bottle/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=bottle PKG_HASH:=e1a9c94970ae6d710b3fb4526294dfeb86f2cb4a81eff3a4b98dc40fb0e5e021 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE PKG_CPE_ID:=cpe:/a:bottlepy:bottle diff --git a/lang/python/python3-package.mk b/lang/python/python3-package.mk index d07cec174..268bca07f 100644 --- a/lang/python/python3-package.mk +++ b/lang/python/python3-package.mk @@ -20,7 +20,7 @@ PYTHON3:=python$(PYTHON3_VERSION) PYTHON3PATH:=$(PYTHON3_LIB_DIR):$(STAGING_DIR)/$(PYTHON3_PKG_DIR):$(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR) --include $(PYTHON3_LIB_DIR)/config-$(PYTHON3_VERSION)/Makefile-vars +-include $(PYTHON3_LIB_DIR)/openwrt/Makefile-vars # These configure args are needed in detection of path to Python header files # using autotools. @@ -39,6 +39,7 @@ PYTHON3_VARS = \ CPPFLAGS="$(TARGET_CPPFLAGS) -I$(PYTHON3_INC_DIR)" \ LDFLAGS="$(TARGET_LDFLAGS) -lpython$(PYTHON3_VERSION)" \ _PYTHON_HOST_PLATFORM="$(_PYTHON_HOST_PLATFORM)" \ + _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH)" \ PYTHONPATH="$(PYTHON3PATH)" \ PYTHONDONTWRITEBYTECODE=1 \ _python_sysroot="$(STAGING_DIR)" \ diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile index 58ea2e0e0..0b4eb3159 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:=3 PKG_VERSION:=$(PYTHON3_VERSION).$(PYTHON3_VERSION_MICRO) PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz @@ -31,7 +31,6 @@ PYTHON3_PKG_BUILD:=0 include ../python3-package.mk PKG_FIXUP:=autoreconf -PKG_INSTALL:=1 PKG_BUILD_PARALLEL:=1 HOST_BUILD_PARALLEL:=1 # LTO is handled here individually, see --with-lto below @@ -51,44 +50,52 @@ define Package/python3/Default SUBMENU:=Python SECTION:=lang CATEGORY:=Languages - TITLE:=Python $(PYTHON3_VERSION) programming language + TITLE:=Python $(PYTHON3_VERSION) URL:=https://www.python.org/ endef define Package/python3/Default/description - Python is a dynamic object-oriented programming language that can be used - for many kinds of software development. It offers strong support for - integration with other languages and tools, comes with extensive standard - libraries, and can be learned in a few days. Many Python programmers - report substantial productivity gains and feel the language encourages - the development of higher quality, more maintainable code. +Python is an interpreted, interactive, object-oriented programming +language. It incorporates modules, exceptions, dynamic typing, very high +level dynamic data types, and classes. It supports multiple programming +paradigms beyond object-oriented programming, such as procedural and +functional programming. Python combines remarkable power with very clear +syntax. It has interfaces to many system calls and libraries, as well as +to various window systems, and is extensible in C or C++. It is also +usable as an extension language for applications that need a +programmable interface. Finally, Python is portable: it runs on many +Unix variants including Linux and macOS, and on Windows. endef define Package/libpython3 $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) core library + TITLE+= core library DEPENDS:=+libpthread ABI_VERSION:=$(PYTHON3_VERSION) endef define Package/libpython3/description - This package contains only core Python library. +$(call Package/python3/Default/description) + +This package contains only core Python library. endef define Package/python3-base $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) interpreter + TITLE+= base interpreter DEPENDS:=+libpython3 endef define Package/python3-base/description - This package contains only the interpreter and the bare minimum - for the interpreter to start. +$(call Package/python3/Default/description) + +This package contains only the interpreter and the bare minimum for the +interpreter to start. endef define Package/python3-light $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) light installation + TITLE+= light installation DEPENDS:=+python3-base +libbz2 +zlib endef @@ -97,14 +104,15 @@ define Package/python3-light/config endef define Package/python3-light/description - This package is essentially the python3-base package plus - a few of the rarely used (and big) libraries stripped out - into separate packages. +$(call Package/python3/Default/description) + +This package installs the base interpreter package and contains the most +commonly used parts of the standard library. endef PYTHON3_LIB_FILES_DEL:= PYTHON3_PACKAGES:= -PYTHON3_SO_SUFFIX:=cpython-$(PYTHON3_VERSION_MAJOR)$(PYTHON3_VERSION_MINOR).so +PYTHON3_SO_SUFFIX:=cpython-$(PYTHON3_VERSION_MAJOR)$(PYTHON3_VERSION_MINOR)-*.so PYTHON3_PACKAGES_DEPENDS:= define Py3BasePackage PYTHON3_PACKAGES+=$(1) @@ -112,13 +120,15 @@ define Py3BasePackage PYTHON3_PACKAGES_DEPENDS+=$(1) endif PYTHON3_LIB_FILES_DEL+=$(2) - define Py3Package/$(1)/filespec - ifneq ($(2),) - $(subst $(space),$(newline),$(foreach lib_file,$(2),+|$(lib_file))) - -|/usr/lib/python$(PYTHON3_VERSION)/*/test - -|/usr/lib/python$(PYTHON3_VERSION)/*/tests - endif - endef + ifeq ($(2),) + Py3Package/$(1)/filespec= + else + define Py3Package/$(1)/filespec + $(foreach lib_file,$(2), + +|$(lib_file) + ) + endef + endif Py3Package/$(1)/install?=: endef @@ -126,16 +136,19 @@ include ./files/python3-package-*.mk define Package/python3 $(call Package/python3/Default) + TITLE+= programming language DEPENDS:=+python3-light $(foreach package,$(PYTHON3_PACKAGES_DEPENDS),+$(package)) endef define Package/python3/description - This package contains the (almost) full Python install. - It's python3-light + all other packages. +$(call Package/python3/Default/description) + +This package installs almost all parts of the standard Python +installation. endef # Set READELF here so that the exact same readelf program name can be -# replaced in _sysconfigdata.py (in Py3Package/python3-base/install) +# replaced in _sysconfigdata_*.py (in Build/Install) TARGET_CONFIGURE_OPTS+= \ READELF="$(TARGET_CROSS)readelf" @@ -183,23 +196,38 @@ CONFIGURE_ARGS += \ $(if $(CONFIG_IPV6),--enable-ipv6) \ $(if $(findstring mips,$(CONFIG_ARCH)),,--with-lto) +define Build/Install + $(call Build/Install/Default,) + + $(SED) 's|$(TARGET_AR)|ar|g;s|$(TARGET_CROSS)readelf|readelf|g;s|$(TARGET_CC)|gcc|g;s|$(TARGET_CXX)|g++|g' \ + $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION)/_sysconfigdata_*.py \ + $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION)/config-$(PYTHON3_VERSION)-*/Makefile +endef + define Build/InstallDev - $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib $(1)/usr/lib/pkgconfig - $(INSTALL_DIR) $(2)/bin + $(INSTALL_DIR) $(1)/usr/include $(CP) \ $(PKG_INSTALL_DIR)/usr/include/python$(PYTHON3_VERSION) \ $(1)/usr/include/ + + $(INSTALL_DIR) $(1)/usr/lib $(CP) \ $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION) \ $(PKG_INSTALL_DIR)/usr/lib/libpython$(PYTHON3_VERSION).so* \ $(1)/usr/lib/ - grep \ - '^_PYTHON_HOST_PLATFORM=' \ - $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION)/config-$(PYTHON3_VERSION)/Makefile > \ - $(1)/usr/lib/python$(PYTHON3_VERSION)/config-$(PYTHON3_VERSION)/Makefile-vars + + $(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON3_VERSION)/openwrt + grep -E \ + '^(_PYTHON_HOST_PLATFORM|ABIFLAGS|MACHDEP|MULTIARCH)=' \ + $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION)/config-$(PYTHON3_VERSION)-*/Makefile > \ + $(1)/usr/lib/python$(PYTHON3_VERSION)/openwrt/Makefile-vars + + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig $(CP) \ $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/python*.pc \ $(1)/usr/lib/pkgconfig + + $(INSTALL_DIR) $(2)/bin $(INSTALL_BIN) \ $(PKG_INSTALL_DIR)/usr/bin/python$(PYTHON3_VERSION)-config \ $(2)/bin/ @@ -212,7 +240,7 @@ PYTHON3_BASE_LIB_FILES:= \ /usr/lib/python$(PYTHON3_VERSION)/encodings \ /usr/lib/python$(PYTHON3_VERSION)/_collections_abc.py \ /usr/lib/python$(PYTHON3_VERSION)/_sitebuiltins.py \ - /usr/lib/python$(PYTHON3_VERSION)/_sysconfigdata.py \ + /usr/lib/python$(PYTHON3_VERSION)/_sysconfigdata_*.py \ /usr/lib/python$(PYTHON3_VERSION)/_weakrefset.py \ /usr/lib/python$(PYTHON3_VERSION)/abc.py \ /usr/lib/python$(PYTHON3_VERSION)/codecs.py \ @@ -228,24 +256,22 @@ PYTHON3_LIB_FILES_DEL+=$(PYTHON3_BASE_LIB_FILES) define Py3Package/python3-base/filespec +|/usr/bin/python$(PYTHON3_VERSION) -$(subst $(space),$(newline),$(foreach lib_file,$(PYTHON3_BASE_LIB_FILES),+|$(lib_file))) +$(foreach lib_file,$(PYTHON3_BASE_LIB_FILES), + +|$(lib_file) +) endef define Py3Package/python3-light/filespec +|/usr/lib/python$(PYTHON3_VERSION) -|/usr/lib/python$(PYTHON3_VERSION)/distutils/cygwinccompiler.py --|/usr/lib/python$(PYTHON3_VERSION)/distutils/command/wininst* -|/usr/lib/python$(PYTHON3_VERSION)/idlelib -|/usr/lib/python$(PYTHON3_VERSION)/tkinter -|/usr/lib/python$(PYTHON3_VERSION)/turtledemo --|/usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_test*.so --|/usr/lib/python$(PYTHON3_VERSION)/pdb.doc --|/usr/lib/python$(PYTHON3_VERSION)/test -|/usr/lib/python$(PYTHON3_VERSION)/webbrowser.py --|/usr/lib/python$(PYTHON3_VERSION)/*/test --|/usr/lib/python$(PYTHON3_VERSION)/*/tests -|/usr/lib/python$(PYTHON3_VERSION)/_osx_support.py -$(subst $(space),$(newline),$(foreach lib_file,$(PYTHON3_LIB_FILES_DEL),-|$(lib_file))) +$(foreach lib_file,$(filter /usr/lib/python$(PYTHON3_VERSION)/%,$(PYTHON3_LIB_FILES_DEL)), + -|$(lib_file) +) endef define Package/libpython3/install @@ -258,17 +284,10 @@ define Py3Package/python3-base/install $(INSTALL_DIR) $(1)/usr/bin $(LN) python$(PYTHON3_VERSION) $(1)/usr/bin/python3 $(LN) python$(PYTHON3_VERSION) $(1)/usr/bin/python - # This depends on being called before filespec is processed - $(SED) 's|$(TARGET_AR)|ar|g;s|$(TARGET_CROSS)readelf|readelf|g;s|$(TARGET_CC)|gcc|g;s|$(TARGET_CXX)|g++|g' \ - $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION)/_sysconfigdata.py endef Py3Package/python3-light/install:=: -Py3Package/python3/install:=: - -define Py3Package/python3/filespec --|$(PYTHON3_PKG_DIR) -endef +Package/python3/install:=: # libuuid is provided by e2fsprogs and uuid/uuid.h is moved into # $(STAGING_DIR_HOST)/include/e2fsprogs @@ -351,14 +370,13 @@ $(foreach package, $(PYTHON3_PACKAGES), \ ) $(eval $(call BuildPackage,libpython3)) +$(eval $(call BuildPackage,python3)) $(eval $(call Py3Package,python3-base)) $(eval $(call Py3Package,python3-light)) -$(eval $(call Py3Package,python3)) $(eval $(call BuildPackage,python3-base)) $(eval $(call BuildPackage,python3-light)) -$(eval $(call BuildPackage,python3)) $(eval $(call BuildPackage,python3-base-src)) $(eval $(call BuildPackage,python3-light-src)) diff --git a/lang/python/python3/files/python3-package-asyncio.mk b/lang/python/python3/files/python3-package-asyncio.mk index 52eccae92..c4c313940 100644 --- a/lang/python/python3/files/python3-package-asyncio.mk +++ b/lang/python/python3/files/python3-package-asyncio.mk @@ -7,10 +7,16 @@ define Package/python3-asyncio $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) asyncio module + TITLE+= asyncio module DEPENDS:=+python3-light endef +define Package/python3-asyncio/description +$(call Package/python3/Default/description) + +This package contains the asyncio module. +endef + $(eval $(call Py3BasePackage,python3-asyncio, \ /usr/lib/python$(PYTHON3_VERSION)/asyncio \ )) diff --git a/lang/python/python3/files/python3-package-cgi.mk b/lang/python/python3/files/python3-package-cgi.mk index 165800a10..e4bb110f1 100644 --- a/lang/python/python3/files/python3-package-cgi.mk +++ b/lang/python/python3/files/python3-package-cgi.mk @@ -7,16 +7,27 @@ define Package/python3-cgi $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) cgi module + TITLE+= cgi module DEPENDS:=+python3-light +python3-email endef define Package/python3-cgitb $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) cgitb module + TITLE+= cgitb module DEPENDS:=+python3-light +python3-cgi +python3-pydoc endef +define Package/python3-cgi/description +$(call Package/python3/Default/description) + +This package contains the cgi module. +endef + +define Package/python3-cgitb/description +$(call Package/python3/Default/description) + +This package contains the cgitb module. +endef $(eval $(call Py3BasePackage,python3-cgi, \ /usr/lib/python$(PYTHON3_VERSION)/cgi.py \ diff --git a/lang/python/python3/files/python3-package-codecs.mk b/lang/python/python3/files/python3-package-codecs.mk index f768b02ea..712cb28ea 100644 --- a/lang/python/python3/files/python3-package-codecs.mk +++ b/lang/python/python3/files/python3-package-codecs.mk @@ -7,10 +7,16 @@ define Package/python3-codecs $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) codecs + unicode support + TITLE+= codecs/Unicode support DEPENDS:=+python3-light endef +define Package/python3-codecs/description +$(call Package/python3/Default/description) + +This package contains codecs and Unicode support. +endef + $(eval $(call Py3BasePackage,python3-codecs, \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_codecs_cn.$(PYTHON3_SO_SUFFIX) \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_codecs_hk.$(PYTHON3_SO_SUFFIX) \ diff --git a/lang/python/python3/files/python3-package-ctypes.mk b/lang/python/python3/files/python3-package-ctypes.mk index e1bac47cd..bbd0aff32 100644 --- a/lang/python/python3/files/python3-package-ctypes.mk +++ b/lang/python/python3/files/python3-package-ctypes.mk @@ -7,10 +7,16 @@ define Package/python3-ctypes $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) ctypes module + TITLE+= ctypes module DEPENDS:=+python3-light +libffi endef +define Package/python3-ctypes/description +$(call Package/python3/Default/description) + +This package contains the ctypes module. +endef + $(eval $(call Py3BasePackage,python3-ctypes, \ /usr/lib/python$(PYTHON3_VERSION)/ctypes \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_ctypes.$(PYTHON3_SO_SUFFIX) \ diff --git a/lang/python/python3/files/python3-package-dbm.mk b/lang/python/python3/files/python3-package-dbm.mk index ede9af163..3de584fc5 100644 --- a/lang/python/python3/files/python3-package-dbm.mk +++ b/lang/python/python3/files/python3-package-dbm.mk @@ -7,10 +7,16 @@ define Package/python3-dbm $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) dbm module + TITLE+= dbm module DEPENDS:=+python3-light +libgdbm endef +define Package/python3-dbm/description +$(call Package/python3/Default/description) + +This package contains the dbm module. +endef + $(eval $(call Py3BasePackage,python3-dbm, \ /usr/lib/python$(PYTHON3_VERSION)/dbm \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_dbm.$(PYTHON3_SO_SUFFIX) \ diff --git a/lang/python/python3/files/python3-package-decimal.mk b/lang/python/python3/files/python3-package-decimal.mk index 391b6f659..98f632b2b 100644 --- a/lang/python/python3/files/python3-package-decimal.mk +++ b/lang/python/python3/files/python3-package-decimal.mk @@ -7,10 +7,16 @@ define Package/python3-decimal $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) decimal module + TITLE+= decimal module DEPENDS:=+python3-light endef +define Package/python3-decimal/description +$(call Package/python3/Default/description) + +This package contains the decimal module. +endef + $(eval $(call Py3BasePackage,python3-decimal, \ /usr/lib/python$(PYTHON3_VERSION)/decimal.py \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_decimal.$(PYTHON3_SO_SUFFIX) \ diff --git a/lang/python/python3/files/python3-package-dev.mk b/lang/python/python3/files/python3-package-dev.mk index e43ba5234..871fff9ee 100644 --- a/lang/python/python3/files/python3-package-dev.mk +++ b/lang/python/python3/files/python3-package-dev.mk @@ -7,23 +7,27 @@ define Package/python3-dev $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) development files + TITLE+= development files DEPENDS:=+python3 +python3-lib2to3 endef +define Package/python3-dev/description +$(call Package/python3/Default/description) + +This package contains files for building Python modules, extending the +Python interpreter, or embedded Python in applications. +endef + define Py3Package/python3-dev/install $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/bin/python$(PYTHON3_VERSION)-config $(1)/usr/bin $(LN) python$(PYTHON3_VERSION)-config $(1)/usr/bin/python3-config $(LN) python$(PYTHON3_VERSION)-config $(1)/usr/bin/python-config $(LN) python$(PYTHON3_VERSION)/config-$(PYTHON3_VERSION)/libpython$(PYTHON3_VERSION).a $(1)/usr/lib/ - # This depends on being called before filespec is processed - $(SED) 's|$(TARGET_AR)|ar|g;s|$(TARGET_CROSS)readelf|readelf|g;s|$(TARGET_CC)|gcc|g;s|$(TARGET_CXX)|g++|g' \ - $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON3_VERSION)/config-$(PYTHON3_VERSION)/Makefile endef $(eval $(call Py3BasePackage,python3-dev, \ - /usr/lib/python$(PYTHON3_VERSION)/config-$(PYTHON3_VERSION) \ + /usr/lib/python$(PYTHON3_VERSION)/config-$(PYTHON3_VERSION)-* \ /usr/include/python$(PYTHON3_VERSION) \ /usr/lib/pkgconfig \ , \ diff --git a/lang/python/python3/files/python3-package-distutils.mk b/lang/python/python3/files/python3-package-distutils.mk index ff3564eea..13a8f38cf 100644 --- a/lang/python/python3/files/python3-package-distutils.mk +++ b/lang/python/python3/files/python3-package-distutils.mk @@ -7,10 +7,16 @@ define Package/python3-distutils $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) distutils module + TITLE+= distutils module DEPENDS:=+python3-light +python3-email endef +define Package/python3-distutils/description +$(call Package/python3/Default/description) + +This package contains the distutils module. +endef + $(eval $(call Py3BasePackage,python3-distutils, \ /usr/lib/python$(PYTHON3_VERSION)/distutils \ )) diff --git a/lang/python/python3/files/python3-package-email.mk b/lang/python/python3/files/python3-package-email.mk index 6cf44071d..563f6f8ae 100644 --- a/lang/python/python3/files/python3-package-email.mk +++ b/lang/python/python3/files/python3-package-email.mk @@ -7,10 +7,16 @@ define Package/python3-email $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) email module + TITLE+= email module DEPENDS:=+python3-light endef +define Package/python3-email/description +$(call Package/python3/Default/description) + +This package contains the email module. +endef + $(eval $(call Py3BasePackage,python3-email, \ /usr/lib/python$(PYTHON3_VERSION)/email \ )) diff --git a/lang/python/python3/files/python3-package-lib2to3.mk b/lang/python/python3/files/python3-package-lib2to3.mk index ed712b6fd..c2aa84d11 100644 --- a/lang/python/python3/files/python3-package-lib2to3.mk +++ b/lang/python/python3/files/python3-package-lib2to3.mk @@ -7,10 +7,16 @@ define Package/python3-lib2to3 $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) lib2to3 module + TITLE+= lib2to3 module DEPENDS:=+python3 endef +define Package/python3-lib2to3/description +$(call Package/python3/Default/description) + +This package contains the lib2to3 module. +endef + $(eval $(call Py3BasePackage,python3-lib2to3, \ /usr/lib/python$(PYTHON3_VERSION)/lib2to3 \ , \ diff --git a/lang/python/python3/files/python3-package-logging.mk b/lang/python/python3/files/python3-package-logging.mk index fa3ec0e17..7b770ded8 100644 --- a/lang/python/python3/files/python3-package-logging.mk +++ b/lang/python/python3/files/python3-package-logging.mk @@ -7,10 +7,16 @@ define Package/python3-logging $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) logging module + TITLE+= logging module DEPENDS:=+python3-light endef +define Package/python3-logging/description +$(call Package/python3/Default/description) + +This package contains the logging module. +endef + $(eval $(call Py3BasePackage,python3-logging, \ /usr/lib/python$(PYTHON3_VERSION)/logging \ )) diff --git a/lang/python/python3/files/python3-package-lzma.mk b/lang/python/python3/files/python3-package-lzma.mk index 57b38eced..0e984cb7c 100644 --- a/lang/python/python3/files/python3-package-lzma.mk +++ b/lang/python/python3/files/python3-package-lzma.mk @@ -7,10 +7,16 @@ define Package/python3-lzma $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) lzma module + TITLE+= lzma module DEPENDS:=+python3-light +liblzma endef +define Package/python3-lzma/description +$(call Package/python3/Default/description) + +This package contains the lzma module. +endef + $(eval $(call Py3BasePackage,python3-lzma, \ /usr/lib/python$(PYTHON3_VERSION)/lzma.py \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_lzma.$(PYTHON3_SO_SUFFIX) \ diff --git a/lang/python/python3/files/python3-package-multiprocessing.mk b/lang/python/python3/files/python3-package-multiprocessing.mk index c7976016d..7f9b69a44 100644 --- a/lang/python/python3/files/python3-package-multiprocessing.mk +++ b/lang/python/python3/files/python3-package-multiprocessing.mk @@ -7,10 +7,16 @@ define Package/python3-multiprocessing $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) multiprocessing + TITLE+= multiprocessing module DEPENDS:=+python3-light endef +define Package/python3-multiprocessing/description +$(call Package/python3/Default/description) + +This package contains the multiprocessing module. +endef + $(eval $(call Py3BasePackage,python3-multiprocessing, \ /usr/lib/python$(PYTHON3_VERSION)/multiprocessing \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_multiprocessing.$(PYTHON3_SO_SUFFIX) \ diff --git a/lang/python/python3/files/python3-package-ncurses.mk b/lang/python/python3/files/python3-package-ncurses.mk index 3ecdeb336..5db04b821 100644 --- a/lang/python/python3/files/python3-package-ncurses.mk +++ b/lang/python/python3/files/python3-package-ncurses.mk @@ -7,10 +7,16 @@ define Package/python3-ncurses $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) ncurses module + TITLE+= ncurses module DEPENDS:=+python3-light +libncursesw endef +define Package/python3-ncurses/description +$(call Package/python3/Default/description) + +This package contains the ncurses module. +endef + $(eval $(call Py3BasePackage,python3-ncurses, \ /usr/lib/python$(PYTHON3_VERSION)/curses \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_curses.$(PYTHON3_SO_SUFFIX) \ diff --git a/lang/python/python3/files/python3-package-openssl.mk b/lang/python/python3/files/python3-package-openssl.mk index 4d13afd20..eec9daf8c 100644 --- a/lang/python/python3/files/python3-package-openssl.mk +++ b/lang/python/python3/files/python3-package-openssl.mk @@ -7,10 +7,16 @@ define Package/python3-openssl $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) SSL module + TITLE+= ssl module DEPENDS:=+python3-light +libopenssl +ca-certs endef +define Package/python3-openssl/description +$(call Package/python3/Default/description) + +This package contains the ssl module. +endef + $(eval $(call Py3BasePackage,python3-openssl, \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_hashlib.$(PYTHON3_SO_SUFFIX) \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_ssl.$(PYTHON3_SO_SUFFIX) \ diff --git a/lang/python/python3/files/python3-package-pydoc.mk b/lang/python/python3/files/python3-package-pydoc.mk index 9ab1a5b8b..d5bbe7c3d 100644 --- a/lang/python/python3/files/python3-package-pydoc.mk +++ b/lang/python/python3/files/python3-package-pydoc.mk @@ -7,10 +7,16 @@ define Package/python3-pydoc $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) pydoc module + TITLE+= pydoc module DEPENDS:=+python3-light endef +define Package/python3-pydoc/description +$(call Package/python3/Default/description) + +This package contains the pydoc module. +endef + $(eval $(call Py3BasePackage,python3-pydoc, \ /usr/lib/python$(PYTHON3_VERSION)/doctest.py \ /usr/lib/python$(PYTHON3_VERSION)/pydoc.py \ diff --git a/lang/python/python3/files/python3-package-readline.mk b/lang/python/python3/files/python3-package-readline.mk index fbff134a3..846b71168 100644 --- a/lang/python/python3/files/python3-package-readline.mk +++ b/lang/python/python3/files/python3-package-readline.mk @@ -7,10 +7,16 @@ define Package/python3-readline $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) readline module + TITLE+= readline module DEPENDS:=+python3-light +libreadline endef +define Package/python3-readline/description +$(call Package/python3/Default/description) + +This package contains the readline module. +endef + $(eval $(call Py3BasePackage,python3-readline, \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/readline.$(PYTHON3_SO_SUFFIX) \ )) diff --git a/lang/python/python3/files/python3-package-sqlite3.mk b/lang/python/python3/files/python3-package-sqlite3.mk index 665bff26a..06f34be6b 100644 --- a/lang/python/python3/files/python3-package-sqlite3.mk +++ b/lang/python/python3/files/python3-package-sqlite3.mk @@ -7,10 +7,16 @@ define Package/python3-sqlite3 $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) sqlite3 module + TITLE+= sqlite3 module DEPENDS:=+python3-light +libsqlite3 endef +define Package/python3-sqlite3/description +$(call Package/python3/Default/description) + +This package contains the sqlite3 module. +endef + $(eval $(call Py3BasePackage,python3-sqlite3, \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_sqlite3.$(PYTHON3_SO_SUFFIX) \ /usr/lib/python$(PYTHON3_VERSION)/sqlite3 \ diff --git a/lang/python/python3/files/python3-package-unittest.mk b/lang/python/python3/files/python3-package-unittest.mk index d9df86f71..eb5f09ec4 100644 --- a/lang/python/python3/files/python3-package-unittest.mk +++ b/lang/python/python3/files/python3-package-unittest.mk @@ -7,10 +7,16 @@ define Package/python3-unittest $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) unittest module + TITLE+= unittest module DEPENDS:=+python3-light endef +define Package/python3-unittest/description +$(call Package/python3/Default/description) + +This package contains the unittest module. +endef + $(eval $(call Py3BasePackage,python3-unittest, \ /usr/lib/python$(PYTHON3_VERSION)/unittest \ )) diff --git a/lang/python/python3/files/python3-package-urllib.mk b/lang/python/python3/files/python3-package-urllib.mk index ddd7b1dbf..e84e589de 100644 --- a/lang/python/python3/files/python3-package-urllib.mk +++ b/lang/python/python3/files/python3-package-urllib.mk @@ -7,10 +7,16 @@ define Package/python3-urllib $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) URL library module + TITLE+= URL handling modules DEPENDS:=+python3-light +python3-email endef +define Package/python3-urllib/description +$(call Package/python3/Default/description) + +This package contains the URL handling modules. +endef + $(eval $(call Py3BasePackage,python3-urllib, \ /usr/lib/python$(PYTHON3_VERSION)/urllib \ )) diff --git a/lang/python/python3/files/python3-package-uuid.mk b/lang/python/python3/files/python3-package-uuid.mk index ef05c5902..ae188738b 100644 --- a/lang/python/python3/files/python3-package-uuid.mk +++ b/lang/python/python3/files/python3-package-uuid.mk @@ -7,10 +7,16 @@ define Package/python3-uuid $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) UUID module + TITLE+= uuid module DEPENDS:=+python3-light +libuuid endef +define Package/python3-uuid/description +$(call Package/python3/Default/description) + +This package contains the uuid module. +endef + $(eval $(call Py3BasePackage,python3-uuid, \ /usr/lib/python$(PYTHON3_VERSION)/uuid.py \ /usr/lib/python$(PYTHON3_VERSION)/lib-dynload/_uuid.$(PYTHON3_SO_SUFFIX) \ diff --git a/lang/python/python3/files/python3-package-venv.mk b/lang/python/python3/files/python3-package-venv.mk index b2ddcab79..536c985ff 100644 --- a/lang/python/python3/files/python3-package-venv.mk +++ b/lang/python/python3/files/python3-package-venv.mk @@ -7,10 +7,16 @@ define Package/python3-venv $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) venv module + TITLE+= venv module DEPENDS:=+python3 endef +define Package/python3-venv/description +$(call Package/python3/Default/description) + +This package contains the venv module. +endef + $(eval $(call Py3BasePackage,python3-venv, \ /usr/lib/python$(PYTHON3_VERSION)/ensurepip \ /usr/lib/python$(PYTHON3_VERSION)/venv \ diff --git a/lang/python/python3/files/python3-package-xml.mk b/lang/python/python3/files/python3-package-xml.mk index 84b2ce056..97669e5dd 100644 --- a/lang/python/python3/files/python3-package-xml.mk +++ b/lang/python/python3/files/python3-package-xml.mk @@ -7,10 +7,16 @@ define Package/python3-xml $(call Package/python3/Default) - TITLE:=Python $(PYTHON3_VERSION) xml libs + TITLE+= XML modules DEPENDS:=+python3-light +python3-urllib endef +define Package/python3-xml/description +$(call Package/python3/Default/description) + +This package contains the XML modules. +endef + $(eval $(call Py3BasePackage,python3-xml, \ /usr/lib/python$(PYTHON3_VERSION)/xml \ /usr/lib/python$(PYTHON3_VERSION)/xmlrpc \ diff --git a/lang/python/python3/patches/014-remove-platform-so-suffix.patch b/lang/python/python3/patches/014-remove-platform-so-suffix.patch deleted file mode 100644 index 2acd9c8b9..000000000 --- a/lang/python/python3/patches/014-remove-platform-so-suffix.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/configure -+++ b/configure -@@ -23352,7 +23352,7 @@ printf %s "checking ABIFLAGS... " >&6; } - printf "%s\n" "$ABIFLAGS" >&6; } - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking SOABI" >&5 - printf %s "checking SOABI... " >&6; } --SOABI='cpython-'`echo $VERSION | tr -d .`${ABIFLAGS}${PLATFORM_TRIPLET:+-$PLATFORM_TRIPLET} -+SOABI='cpython-'`echo $VERSION | tr -d .` - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SOABI" >&5 - printf "%s\n" "$SOABI" >&6; } - ---- a/configure.ac -+++ b/configure.ac -@@ -5683,7 +5683,7 @@ AC_SUBST(SOABI) - AC_MSG_CHECKING(ABIFLAGS) - AC_MSG_RESULT($ABIFLAGS) - AC_MSG_CHECKING(SOABI) --SOABI='cpython-'`echo $VERSION | tr -d .`${ABIFLAGS}${PLATFORM_TRIPLET:+-$PLATFORM_TRIPLET} -+SOABI='cpython-'`echo $VERSION | tr -d .` - AC_MSG_RESULT($SOABI) - - # Release and debug (Py_DEBUG) ABI are compatible, but not Py_TRACE_REFS ABI diff --git a/lang/python/python3/patches/016-adjust-config-paths.patch b/lang/python/python3/patches/016-adjust-config-paths.patch deleted file mode 100644 index 091bd6356..000000000 --- a/lang/python/python3/patches/016-adjust-config-paths.patch +++ /dev/null @@ -1,70 +0,0 @@ ---- a/Lib/sysconfig.py -+++ b/Lib/sysconfig.py -@@ -461,6 +461,7 @@ def get_makefile_filename(): - - - def _get_sysconfigdata_name(): -+ return '_sysconfigdata' - multiarch = getattr(sys.implementation, '_multiarch', '') - return os.environ.get( - '_PYTHON_SYSCONFIGDATA_NAME', ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -2111,7 +2111,7 @@ libinstall: all $(srcdir)/Modules/xxmodu - esac; \ - done; \ - done -- $(INSTALL_DATA) `cat pybuilddir.txt`/_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH).py \ -+ $(INSTALL_DATA) `cat pybuilddir.txt`/_sysconfigdata*.py \ - $(DESTDIR)$(LIBDEST); \ - $(INSTALL_DATA) $(srcdir)/LICENSE $(DESTDIR)$(LIBDEST)/LICENSE.txt - if test -d $(DESTDIR)$(LIBDEST)/distutils/tests; then \ -@@ -2273,7 +2273,7 @@ sharedinstall: all - --install-scripts=$(BINDIR) \ - --install-platlib=$(DESTSHARED) \ - --root=$(DESTDIR)/ -- -rm $(DESTDIR)$(DESTSHARED)/_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH).py -+ -rm $(DESTDIR)$(DESTSHARED)/_sysconfigdata*.py - -rm -r $(DESTDIR)$(DESTSHARED)/__pycache__ - - # Here are a couple of targets for MacOSX again, to install a full ---- a/configure -+++ b/configure -@@ -3630,7 +3630,7 @@ fi - fi - ac_cv_prog_PYTHON_FOR_REGEN=$with_build_python - PYTHON_FOR_FREEZE="$with_build_python" -- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$with_build_python -+ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata '$with_build_python - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $with_build_python" >&5 - printf "%s\n" "$with_build_python" >&6; } - -@@ -23421,7 +23421,7 @@ fi - - - --if test x$PLATFORM_TRIPLET = x; then -+if true ; then - LIBPL='$(prefix)'"/${PLATLIBDIR}/python${VERSION}/config-${LDVERSION}" - else - LIBPL='$(prefix)'"/${PLATLIBDIR}/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}" ---- a/configure.ac -+++ b/configure.ac -@@ -162,7 +162,7 @@ AC_ARG_WITH( - dnl Build Python interpreter is used for regeneration and freezing. - ac_cv_prog_PYTHON_FOR_REGEN=$with_build_python - PYTHON_FOR_FREEZE="$with_build_python" -- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$with_build_python -+ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata '$with_build_python - AC_MSG_RESULT([$with_build_python]) - ], [ - AS_VAR_IF([cross_compiling], [yes], -@@ -5741,7 +5741,7 @@ fi], - - dnl define LIBPL after ABIFLAGS and LDVERSION is defined. - AC_SUBST(PY_ENABLE_SHARED) --if test x$PLATFORM_TRIPLET = x; then -+if true ; then - LIBPL='$(prefix)'"/${PLATLIBDIR}/python${VERSION}/config-${LDVERSION}" - else - LIBPL='$(prefix)'"/${PLATLIBDIR}/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}" diff --git a/lang/python/python3/patches/100-gh-95855-Refactor-platform-triplet-detection-code-GH-107221.patch b/lang/python/python3/patches/100-gh-95855-Refactor-platform-triplet-detection-code-GH-107221.patch new file mode 100644 index 000000000..c3e95a3f4 --- /dev/null +++ b/lang/python/python3/patches/100-gh-95855-Refactor-platform-triplet-detection-code-GH-107221.patch @@ -0,0 +1,476 @@ +From c163d7f0b67a568e9b64eeb9c1cbbaa127818596 Mon Sep 17 00:00:00 2001 +From: Jeffery To +Date: Thu, 24 Aug 2023 20:22:50 +0800 +Subject: [PATCH] gh-95855: Refactor platform triplet detection code, add + detection for MIPS soft float and musl libc (#107221) + +- Move platform triplet detection code into Misc/platform_triplet.c +- Refactor MIPS detection, use defined(__mips64) to detect MIPS64 +- Compute libc values in separate section +- Add detection for MIPS soft float +- Add detection for musl + +musl supports SPE with its soft-float ABI: +https://git.musl-libc.org/cgit/musl/commit/?id=7be59733d71ada3a32a98622507399253f1d5e48 + +Original patch by Christian Heimes. + +Co-authored-by: Christian Heimes +Co-authored-by: Erlend E. Aasland + +[omit news, changes to configure; adapt for Python 3.11] +Signed-off-by: Jeffery To +--- + ...3-07-25-02-30-00.gh-issue-95855.wA7rAf.rst | 2 + + Misc/platform_triplet.c | 255 ++++++++++++++++++ + configure | 192 +------------ + configure.ac | 192 +------------ + 4 files changed, 265 insertions(+), 376 deletions(-) + create mode 100644 Misc/NEWS.d/next/Build/2023-07-25-02-30-00.gh-issue-95855.wA7rAf.rst + create mode 100644 Misc/platform_triplet.c + +--- /dev/null ++++ b/Misc/platform_triplet.c +@@ -0,0 +1,255 @@ ++/* Detect platform triplet from builtin defines ++ * cc -E Misc/platform_triplet.c | grep '^PLATFORM_TRIPLET=' | tr -d ' ' ++ */ ++#undef bfin ++#undef cris ++#undef fr30 ++#undef linux ++#undef hppa ++#undef hpux ++#undef i386 ++#undef mips ++#undef powerpc ++#undef sparc ++#undef unix ++#if defined(__ANDROID__) ++ # Android is not a multiarch system. ++#elif defined(__linux__) ++/* ++ * BEGIN of Linux block ++ */ ++// Detect libc (based on config.guess) ++# include ++# if defined(__UCLIBC__) ++# error uclibc not supported ++# elif defined(__dietlibc__) ++# error dietlibc not supported ++# elif defined(__GLIBC__) ++# define LIBC gnu ++# define LIBC_X32 gnux32 ++# if defined(__ARM_PCS_VFP) ++# define LIBC_ARM gnueabihf ++# else ++# define LIBC_ARM gnueabi ++# endif ++# if defined(__loongarch__) ++# if defined(__loongarch_soft_float) ++# define LIBC_LA gnusf ++# elif defined(__loongarch_single_float) ++# define LIBC_LA gnuf32 ++# elif defined(__loongarch_double_float) ++# define LIBC_LA gnu ++# else ++# error unknown loongarch floating-point base abi ++# endif ++# endif ++# if defined(_MIPS_SIM) ++# if defined(__mips_hard_float) ++# if _MIPS_SIM == _ABIO32 ++# define LIBC_MIPS gnu ++# elif _MIPS_SIM == _ABIN32 ++# define LIBC_MIPS gnuabin32 ++# elif _MIPS_SIM == _ABI64 ++# define LIBC_MIPS gnuabi64 ++# else ++# error unknown mips sim value ++# endif ++# else ++# if _MIPS_SIM == _ABIO32 ++# define LIBC_MIPS gnusf ++# elif _MIPS_SIM == _ABIN32 ++# define LIBC_MIPS gnuabin32sf ++# elif _MIPS_SIM == _ABI64 ++# define LIBC_MIPS gnuabi64sf ++# else ++# error unknown mips sim value ++# endif ++# endif ++# endif ++# if defined(__SPE__) ++# define LIBC_PPC gnuspe ++# else ++# define LIBC_PPC gnu ++# endif ++# else ++// Heuristic to detect musl libc ++# include ++# ifdef __DEFINED_va_list ++# define LIBC musl ++# define LIBC_X32 muslx32 ++# if defined(__ARM_PCS_VFP) ++# define LIBC_ARM musleabihf ++# else ++# define LIBC_ARM musleabi ++# endif ++# if defined(__loongarch__) ++# if defined(__loongarch_soft_float) ++# define LIBC_LA muslsf ++# elif defined(__loongarch_single_float) ++# define LIBC_LA muslf32 ++# elif defined(__loongarch_double_float) ++# define LIBC_LA musl ++# else ++# error unknown loongarch floating-point base abi ++# endif ++# endif ++# if defined(_MIPS_SIM) ++# if defined(__mips_hard_float) ++# if _MIPS_SIM == _ABIO32 ++# define LIBC_MIPS musl ++# elif _MIPS_SIM == _ABIN32 ++# define LIBC_MIPS musln32 ++# elif _MIPS_SIM == _ABI64 ++# define LIBC_MIPS musl ++# else ++# error unknown mips sim value ++# endif ++# else ++# if _MIPS_SIM == _ABIO32 ++# define LIBC_MIPS muslsf ++# elif _MIPS_SIM == _ABIN32 ++# define LIBC_MIPS musln32sf ++# elif _MIPS_SIM == _ABI64 ++# define LIBC_MIPS muslsf ++# else ++# error unknown mips sim value ++# endif ++# endif ++# endif ++# if defined(_SOFT_FLOAT) || defined(__NO_FPRS__) ++# define LIBC_PPC muslsf ++# else ++# define LIBC_PPC musl ++# endif ++# else ++# error unknown libc ++# endif ++# endif ++ ++# if defined(__x86_64__) && defined(__LP64__) ++PLATFORM_TRIPLET=x86_64-linux-LIBC ++# elif defined(__x86_64__) && defined(__ILP32__) ++PLATFORM_TRIPLET=x86_64-linux-LIBC_X32 ++# elif defined(__i386__) ++PLATFORM_TRIPLET=i386-linux-LIBC ++# elif defined(__aarch64__) && defined(__AARCH64EL__) ++# if defined(__ILP32__) ++PLATFORM_TRIPLET=aarch64_ilp32-linux-LIBC ++# else ++PLATFORM_TRIPLET=aarch64-linux-LIBC ++# endif ++# elif defined(__aarch64__) && defined(__AARCH64EB__) ++# if defined(__ILP32__) ++PLATFORM_TRIPLET=aarch64_be_ilp32-linux-LIBC ++# else ++PLATFORM_TRIPLET=aarch64_be-linux-LIBC ++# endif ++# elif defined(__alpha__) ++PLATFORM_TRIPLET=alpha-linux-LIBC ++# elif defined(__ARM_EABI__) ++# if defined(__ARMEL__) ++PLATFORM_TRIPLET=arm-linux-LIBC_ARM ++# else ++PLATFORM_TRIPLET=armeb-linux-LIBC_ARM ++# endif ++# elif defined(__hppa__) ++PLATFORM_TRIPLET=hppa-linux-LIBC ++# elif defined(__ia64__) ++PLATFORM_TRIPLET=ia64-linux-LIBC ++# elif defined(__loongarch__) && defined(__loongarch_lp64) ++PLATFORM_TRIPLET=loongarch64-linux-LIBC_LA ++# elif defined(__m68k__) && !defined(__mcoldfire__) ++PLATFORM_TRIPLET=m68k-linux-LIBC ++# elif defined(__mips__) ++# if defined(__mips_isa_rev) && (__mips_isa_rev >=6) ++# if defined(_MIPSEL) && defined(__mips64) ++PLATFORM_TRIPLET=mipsisa64r6el-linux-LIBC_MIPS ++# elif defined(_MIPSEL) ++PLATFORM_TRIPLET=mipsisa32r6el-linux-LIBC_MIPS ++# elif defined(__mips64) ++PLATFORM_TRIPLET=mipsisa64r6-linux-LIBC_MIPS ++# else ++PLATFORM_TRIPLET=mipsisa32r6-linux-LIBC_MIPS ++# endif ++# else ++# if defined(_MIPSEL) && defined(__mips64) ++PLATFORM_TRIPLET=mips64el-linux-LIBC_MIPS ++# elif defined(_MIPSEL) ++PLATFORM_TRIPLET=mipsel-linux-LIBC_MIPS ++# elif defined(__mips64) ++PLATFORM_TRIPLET=mips64-linux-LIBC_MIPS ++# else ++PLATFORM_TRIPLET=mips-linux-LIBC_MIPS ++# endif ++# endif ++# elif defined(__or1k__) ++PLATFORM_TRIPLET=or1k-linux-LIBC ++# elif defined(__powerpc64__) ++# if defined(__LITTLE_ENDIAN__) ++PLATFORM_TRIPLET=powerpc64le-linux-LIBC ++# else ++PLATFORM_TRIPLET=powerpc64-linux-LIBC ++# endif ++# elif defined(__powerpc__) ++PLATFORM_TRIPLET=powerpc-linux-LIBC_PPC ++# elif defined(__s390x__) ++PLATFORM_TRIPLET=s390x-linux-LIBC ++# elif defined(__s390__) ++PLATFORM_TRIPLET=s390-linux-LIBC ++# elif defined(__sh__) && defined(__LITTLE_ENDIAN__) ++PLATFORM_TRIPLET=sh4-linux-LIBC ++# elif defined(__sparc__) && defined(__arch64__) ++PLATFORM_TRIPLET=sparc64-linux-LIBC ++# elif defined(__sparc__) ++PLATFORM_TRIPLET=sparc-linux-LIBC ++# elif defined(__riscv) ++# if __riscv_xlen == 32 ++PLATFORM_TRIPLET=riscv32-linux-LIBC ++# elif __riscv_xlen == 64 ++PLATFORM_TRIPLET=riscv64-linux-LIBC ++# else ++# error unknown platform triplet ++# endif ++# else ++# error unknown platform triplet ++# endif ++/* ++ * END of Linux block ++ */ ++#elif defined(__FreeBSD_kernel__) ++# if defined(__LP64__) ++PLATFORM_TRIPLET=x86_64-kfreebsd-gnu ++# elif defined(__i386__) ++PLATFORM_TRIPLET=i386-kfreebsd-gnu ++# else ++# error unknown platform triplet ++# endif ++#elif defined(__gnu_hurd__) ++PLATFORM_TRIPLET=i386-gnu ++#elif defined(__APPLE__) ++PLATFORM_TRIPLET=darwin ++#elif defined(__VXWORKS__) ++PLATFORM_TRIPLET=vxworks ++#elif defined(__wasm32__) ++# if defined(__EMSCRIPTEN__) ++PLATFORM_TRIPLET=wasm32-emscripten ++# elif defined(__wasi__) ++# if defined(_REENTRANT) ++PLATFORM_TRIPLET=wasm32-wasi-threads ++# else ++PLATFORM_TRIPLET=wasm32-wasi ++# endif ++# else ++# error unknown wasm32 platform ++# endif ++#elif defined(__wasm64__) ++# if defined(__EMSCRIPTEN__) ++PLATFORM_TRIPLET=wasm64-emscripten ++# elif defined(__wasi__) ++PLATFORM_TRIPLET=wasm64-wasi ++# else ++# error unknown wasm64 platform ++# endif ++#else ++# error unknown platform triplet ++#endif +--- a/configure.ac ++++ b/configure.ac +@@ -917,180 +917,14 @@ fi + + + AC_MSG_CHECKING([for the platform triplet based on compiler characteristics]) +-cat > conftest.c <=6) && defined(_MIPSEL) +-# if _MIPS_SIM == _ABIO32 +- mipsisa32r6el-linux-gnu +-# elif _MIPS_SIM == _ABIN32 +- mipsisa64r6el-linux-gnuabin32 +-# elif _MIPS_SIM == _ABI64 +- mipsisa64r6el-linux-gnuabi64 +-# else +-# error unknown platform triplet +-# endif +-# elif defined(__mips_hard_float) && defined(__mips_isa_rev) && (__mips_isa_rev >=6) +-# if _MIPS_SIM == _ABIO32 +- mipsisa32r6-linux-gnu +-# elif _MIPS_SIM == _ABIN32 +- mipsisa64r6-linux-gnuabin32 +-# elif _MIPS_SIM == _ABI64 +- mipsisa64r6-linux-gnuabi64 +-# else +-# error unknown platform triplet +-# endif +-# elif defined(__mips_hard_float) && defined(_MIPSEL) +-# if _MIPS_SIM == _ABIO32 +- mipsel-linux-gnu +-# elif _MIPS_SIM == _ABIN32 +- mips64el-linux-gnuabin32 +-# elif _MIPS_SIM == _ABI64 +- mips64el-linux-gnuabi64 +-# else +-# error unknown platform triplet +-# endif +-# elif defined(__mips_hard_float) +-# if _MIPS_SIM == _ABIO32 +- mips-linux-gnu +-# elif _MIPS_SIM == _ABIN32 +- mips64-linux-gnuabin32 +-# elif _MIPS_SIM == _ABI64 +- mips64-linux-gnuabi64 +-# else +-# error unknown platform triplet +-# endif +-# elif defined(__or1k__) +- or1k-linux-gnu +-# elif defined(__powerpc__) && defined(__SPE__) +- powerpc-linux-gnuspe +-# elif defined(__powerpc64__) +-# if defined(__LITTLE_ENDIAN__) +- powerpc64le-linux-gnu +-# else +- powerpc64-linux-gnu +-# endif +-# elif defined(__powerpc__) +- powerpc-linux-gnu +-# elif defined(__s390x__) +- s390x-linux-gnu +-# elif defined(__s390__) +- s390-linux-gnu +-# elif defined(__sh__) && defined(__LITTLE_ENDIAN__) +- sh4-linux-gnu +-# elif defined(__sparc__) && defined(__arch64__) +- sparc64-linux-gnu +-# elif defined(__sparc__) +- sparc-linux-gnu +-# elif defined(__riscv) +-# if __riscv_xlen == 32 +- riscv32-linux-gnu +-# elif __riscv_xlen == 64 +- riscv64-linux-gnu +-# else +-# error unknown platform triplet +-# endif +-# else +-# error unknown platform triplet +-# endif +-#elif defined(__FreeBSD_kernel__) +-# if defined(__LP64__) +- x86_64-kfreebsd-gnu +-# elif defined(__i386__) +- i386-kfreebsd-gnu +-# else +-# error unknown platform triplet +-# endif +-#elif defined(__gnu_hurd__) +- i386-gnu +-#elif defined(__APPLE__) +- darwin +-#elif defined(__VXWORKS__) +- vxworks +-#elif defined(__wasm32__) +-# if defined(__EMSCRIPTEN__) +- wasm32-emscripten +-# elif defined(__wasi__) +- wasm32-wasi +-# else +-# error unknown wasm32 platform +-# endif +-#elif defined(__wasm64__) +-# if defined(__EMSCRIPTEN__) +- wasm64-emscripten +-# elif defined(__wasi__) +- wasm64-wasi +-# else +-# error unknown wasm64 platform +-# endif +-#else +-# error unknown platform triplet +-#endif +- +-EOF +- +-if $CPP $CPPFLAGS conftest.c >conftest.out 2>/dev/null; then +- PLATFORM_TRIPLET=`grep -v '^#' conftest.out | grep -v '^ *$' | tr -d ' '` +- case "$build_os" in +- linux-musl*) +- PLATFORM_TRIPLET=`echo "$PLATFORM_TRIPLET" | sed 's/linux-gnu/linux-musl/'` +- ;; +- esac ++if $CPP $CPPFLAGS $srcdir/Misc/platform_triplet.c >conftest.out 2>/dev/null; then ++ PLATFORM_TRIPLET=`grep '^PLATFORM_TRIPLET=' conftest.out | tr -d ' '` ++ PLATFORM_TRIPLET="${PLATFORM_TRIPLET@%:@PLATFORM_TRIPLET=}" + AC_MSG_RESULT([$PLATFORM_TRIPLET]) + else + AC_MSG_RESULT([none]) + fi +-rm -f conftest.c conftest.out ++rm -f conftest.out + + AC_MSG_CHECKING([for multiarch]) + AS_CASE([$ac_sys_system], diff --git a/lang/python/python3/patches/131-configure_ac-switch-PLATFORM_TRIPLET-suffix-to-musl.patch b/lang/python/python3/patches/131-configure_ac-switch-PLATFORM_TRIPLET-suffix-to-musl.patch deleted file mode 100644 index a7001e944..000000000 --- a/lang/python/python3/patches/131-configure_ac-switch-PLATFORM_TRIPLET-suffix-to-musl.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 15d512cc35106392ed7583d0e000d9a1b865f1e1 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C5=A0imon=20Bo=C5=99ek?= -Date: Mon, 27 Jun 2022 13:53:37 +0200 -Subject: [PATCH 2/2] configure.ac: switch PLATFORM_TRIPLET suffix to '-musl' - based on `host_os` instead of `build_os` - -As `build_os` and `host_os` are results of autoconf's `AC_CANONICAL_BUILD` -and `AC_CANONICAL_HOST` macros[^1], the former refers to the system running the build -and the latter to the system that will run the compiled program. - -`PLATFORM_TRIPLET` should refer to the target platform when cross-compiling. -Its libc related part should be therefore derived from the target platform as well -- which is currently not the case - `PLATFORM_TRIPLET` '-gnu' suffix is/isn't switched to '-musl' -based on `build-os` rather than `host-os` which leads to error message[^2] -and build failure when compiling Python on glibc system for musl target. - -[^1]: https://www.gnu.org/software/autoconf/manual/autoconf-2.68/html_node/Canonicalizing.html , -https://www.gnu.org/software/autoconf/manual/autoconf-2.68/html_node/Specifying-Target-Triplets.html -[^2]: "internal configure error for the platform triplet, please file a bug report" - -Co-authored-by: Pali Rohár -Signed-off-by: Šimon Bořek ---- - configure | 2 +- - configure.ac | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - ---- a/configure -+++ b/configure -@@ -6824,7 +6824,7 @@ EOF - - if $CPP $CPPFLAGS conftest.c >conftest.out 2>/dev/null; then - PLATFORM_TRIPLET=`grep -v '^#' conftest.out | grep -v '^ *$' | tr -d ' '` -- case "$build_os" in -+ case "$host_os" in - linux-musl*) - PLATFORM_TRIPLET=`echo "$PLATFORM_TRIPLET" | sed 's/linux-gnu/linux-musl/'` - ;; ---- a/configure.ac -+++ b/configure.ac -@@ -1081,7 +1081,7 @@ EOF - - if $CPP $CPPFLAGS conftest.c >conftest.out 2>/dev/null; then - PLATFORM_TRIPLET=`grep -v '^#' conftest.out | grep -v '^ *$' | tr -d ' '` -- case "$build_os" in -+ case "$host_os" in - linux-musl*) - PLATFORM_TRIPLET=`echo "$PLATFORM_TRIPLET" | sed 's/linux-gnu/linux-musl/'` - ;; diff --git a/lang/python/ruamel-yaml/Makefile b/lang/python/ruamel-yaml/Makefile index 5863f4ab1..fd8f17a7f 100644 --- a/lang/python/ruamel-yaml/Makefile +++ b/lang/python/ruamel-yaml/Makefile @@ -14,7 +14,7 @@ PKG_RELEASE:=1 PYPI_NAME:=ruamel.yaml PKG_HASH:=9751de4cbb57d4bfbf8fc394e125ed4a2f170fbff3dc3d78abf50be85924f8be -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/text-unidecode/Makefile b/lang/python/text-unidecode/Makefile index e77108f45..89f7ef7cd 100644 --- a/lang/python/text-unidecode/Makefile +++ b/lang/python/text-unidecode/Makefile @@ -16,7 +16,7 @@ PKG_HASH:=bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93 PKG_LICENSE:=Artistic-1.0-cl8 PKG_LICENSE_FILES:=LICENSE -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer include ../pypi.mk include $(INCLUDE_DIR)/package.mk diff --git a/libs/dmx_usb_module/patches/100-fix-compilation-warning-wrong-cast.patch b/libs/dmx_usb_module/patches/100-fix-compilation-warning-wrong-cast.patch index 413cb63ea..9d9767d1b 100644 --- a/libs/dmx_usb_module/patches/100-fix-compilation-warning-wrong-cast.patch +++ b/libs/dmx_usb_module/patches/100-fix-compilation-warning-wrong-cast.patch @@ -1,6 +1,23 @@ +From eeecf40c3eb3dbdf1981c508080ab3aa61e105e2 Mon Sep 17 00:00:00 2001 +From: Erwin Rol +Date: Fri, 13 Jan 2023 17:57:36 +0100 +Subject: [PATCH] Fix format warnings +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fix the following warning + +warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘size_t’ {aka ‘long unsigned int’} + +Signed-off-by: Erwin Rol +--- + dmx_usb.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + --- a/dmx_usb.c +++ b/dmx_usb.c -@@ -406,7 +406,7 @@ static ssize_t dmx_usb_write (struct file *file, const char *buffer, size_t coun +@@ -406,7 +406,7 @@ static ssize_t dmx_usb_write (struct fil dev = (struct dmx_usb_device *)file->private_data; @@ -9,3 +26,12 @@ /* lock this object */ down (&dev->sem); +@@ -500,7 +500,7 @@ static long dmx_usb_ioctl (struct file * + return -ENODEV; + } + +- dbg("%s - minor %d, cmd 0x%.4x, arg %ld", __FUNCTION__, ++ dbg("%s - minor %d, cmd 0x%.4x, arg %lu", __FUNCTION__, + dev->minor, cmd, arg); + + /* fill in your device specific stuff here */ diff --git a/libs/libedit/Makefile b/libs/libedit/Makefile index 9192ff26a..bc60c53f8 100644 --- a/libs/libedit/Makefile +++ b/libs/libedit/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libedit -PKG_VERSION:=20221030-3.1 +PKG_VERSION:=20230828-3.1 PKG_RELEASE:=1 PKG_MAINTAINER:=Daniel Salzman @@ -16,7 +16,7 @@ PKG_LICENSE:=BSD-3-Clause PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://thrysoee.dk/editline/ -PKG_HASH:=f0925a5adf4b1bf116ee19766b7daa766917aec198747943b1c4edf67a4be2bb +PKG_HASH:=4ee8182b6e569290e7d1f44f0f78dac8716b35f656b76528f699c69c98814dad PKG_INSTALL:=1 diff --git a/libs/libre2/Makefile b/libs/libre2/Makefile index 1ce64f8cc..1868f146e 100644 --- a/libs/libre2/Makefile +++ b/libs/libre2/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=re2 PKG_VERSION:=2023-02-01 -PKG_RELEASE:=1 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/google/re2/tar.gz/$(PKG_VERSION)? @@ -38,9 +38,15 @@ CMAKE_OPTIONS += \ TARGET_LDFLAGS += \ -Wl,--as-needed,--gc-sections +define Build/InstallDev + $(call Build/InstallDev/cmake,$(1)) + $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/re2.pc + $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/re2.pc +endef + define Package/re2/install $(INSTALL_DIR) $(1)/usr/lib - $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libre2.so $(1)/usr/lib/ + $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libre2.so* $(1)/usr/lib/ endef $(eval $(call BuildPackage,re2)) diff --git a/libs/libucontext/Makefile b/libs/libucontext/Makefile new file mode 100644 index 000000000..fd3b0f562 --- /dev/null +++ b/libs/libucontext/Makefile @@ -0,0 +1,62 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=libucontext +PKG_VERSION:=1.2 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://codeload.github.com/kaniini/libucontext/tar.gz/v$(PKG_VERSION)? +PKG_HASH:=2657e087c493263e7bbbde152a5bc08ce22dc5a7970887ac4fd251b90b58401f + +PKG_MAINTAINER:=Volker Christian +PKG_LICENSE:=ISC +PKG_LICENSE_FILES:=LICENSE + +PKG_BUILD_FLAGS:=no-mips16 +PKG_BUILD_PARALLEL:=1 +PKG_INSTALL:=1 + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/meson.mk + +define Package/libucontext + SECTION:=libs + CATEGORY:=Libraries + TITLE:=libucontext is a library which provides the ucontext.h C API + URL:=https://github.com/kaniini/libucontext + DEPENDS:=@USE_MUSL +endef + +define Package/libucontext-tests + SECTION:=utils + CATEGORY:=Utilities + TITLE:=Test applications for libucontext + URL:=https://github.com/kaniini/libucontext + DEPENDS:=libucontext +endef + +define Package/libucontext/description + Thie package is a development package aimed to be linked to + libraries/applications which need the SYS-V ucontext API. +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include $(1)/usr/lib/pkgconfig + $(CP) $(PKG_INSTALL_DIR)/usr/include/libucontext $(1)/usr/include/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libucontext* $(1)/usr/lib/ + $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libucontext.pc $(1)/usr/lib/pkgconfig/ +endef + +define Package/libucontext/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libucontext*.so.* $(1)/usr/lib/ +endef + +define Package/libucontext-tests/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(MESON_BUILD_DIR)/test_libucontext_posix $(1)/usr/bin/ + $(INSTALL_BIN) $(MESON_BUILD_DIR)/test_libucontext $(1)/usr/bin/ +endef + +$(eval $(call BuildPackage,libucontext)) +$(eval $(call BuildPackage,libucontext-tests)) diff --git a/libs/libucontext/patches/010-return_values_fix.patch b/libs/libucontext/patches/010-return_values_fix.patch new file mode 100644 index 000000000..43bc87d0c --- /dev/null +++ b/libs/libucontext/patches/010-return_values_fix.patch @@ -0,0 +1,17 @@ +--- a/arch/arm/swapcontext.S ++++ b/arch/arm/swapcontext.S +@@ -17,10 +17,12 @@ ALIAS(__swapcontext, libucontext_swapcon + + FUNC(libucontext_swapcontext) + /* copy all of the current registers into the ucontext structure */ +- add r2, r0, #REG_OFFSET(0) +- stmia r2, {r0-r12} + str r13, [r0,#REG_OFFSET(13)] + str r14, [r0,#REG_OFFSET(15)] ++ add r2, r0, #REG_OFFSET(0) ++ /* copy r0 with value 0 to indicate success (return value 0) */ ++ mov r0, #0 ++ stmia r2, {r0-r12} + + /* load new registers from the second ucontext structure */ + add r14, r1, #REG_OFFSET(0) diff --git a/libs/libucontext/patches/020-honor_return_values_fix.patch b/libs/libucontext/patches/020-honor_return_values_fix.patch new file mode 100644 index 000000000..4769dcdd7 --- /dev/null +++ b/libs/libucontext/patches/020-honor_return_values_fix.patch @@ -0,0 +1,122 @@ +--- a/test_libucontext.c ++++ b/test_libucontext.c +@@ -9,6 +9,9 @@ + #include + #include + ++#define handle_error(msg) \ ++ do { perror(msg); exit(EXIT_FAILURE); } while (0) ++ + static libucontext_ucontext_t ctx[3]; + + +@@ -36,7 +39,8 @@ static void f1 (int a, int b, int c, int + printf("looks like all arguments are passed correctly\n"); + + printf("swap back to f2\n"); +- libucontext_swapcontext(&ctx[1], &ctx[2]); ++ if (libucontext_swapcontext(&ctx[1], &ctx[2]) != 0) ++ handle_error("libucontext_swapcontext"); + printf("finish f1\n"); + } + +@@ -44,7 +48,8 @@ static void f1 (int a, int b, int c, int + static void f2 (void) { + printf("start f2\n"); + printf("swap to f1\n"); +- libucontext_swapcontext(&ctx[2], &ctx[1]); ++ if (libucontext_swapcontext(&ctx[2], &ctx[1]) != 0) ++ handle_error("libucontext_swapcontext"); + printf("finish f2, should swap to f1\n"); + } + +@@ -63,7 +68,8 @@ int main (int argc, const char *argv[]) + printf("setting up context 1\n"); + + +- libucontext_getcontext(&ctx[1]); ++ if (libucontext_getcontext(&ctx[1]) != 0) ++ handle_error("libucontext_getcontext"); + ctx[1].uc_stack.ss_sp = st1; + ctx[1].uc_stack.ss_size = sizeof st1; + ctx[1].uc_link = &ctx[0]; +@@ -83,16 +89,20 @@ int main (int argc, const char *argv[]) + printf("doing initial swapcontext\n"); + + +- libucontext_swapcontext(&ctx[0], &ctx[2]); ++ if (libucontext_swapcontext(&ctx[0], &ctx[2]) != 0) ++ handle_error("libucontext_swapcontext"); + + + printf("returned from initial swapcontext\n"); + + + /* test ability to use getcontext/setcontext without makecontext */ +- libucontext_getcontext(&ctx[1]); ++ if (libucontext_getcontext(&ctx[1]) != 0) ++ handle_error("libucontext_getcontext"); + printf("done = %d\n", done); +- if (done++ == 0) libucontext_setcontext(&ctx[1]); ++ if (done++ == 0) ++ if (libucontext_setcontext(&ctx[1]) != 0) ++ handle_error("libucontext_setcontext"); + if (done != 2) { + fprintf(stderr, "wrong value for done. got %d, expected 2\n", done); + abort(); +--- a/test_libucontext_posix.c ++++ b/test_libucontext_posix.c +@@ -9,6 +9,9 @@ + #include + #include + ++#define handle_error(msg) \ ++ do { perror(msg); exit(EXIT_FAILURE); } while (0) ++ + static ucontext_t ctx[3]; + + +@@ -36,7 +39,8 @@ static void f1 (int a, int b, int c, int + printf("looks like all arguments are passed correctly\n"); + + printf("swap back to f2\n"); +- swapcontext(&ctx[1], &ctx[2]); ++ if (swapcontext(&ctx[1], &ctx[2]) != 0) ++ handle_error("swapcontext"); + printf("finish f1\n"); + } + +@@ -44,7 +48,8 @@ static void f1 (int a, int b, int c, int + static void f2 (void) { + printf("start f2\n"); + printf("swap to f1\n"); +- swapcontext(&ctx[2], &ctx[1]); ++ if (swapcontext(&ctx[2], &ctx[1]) != 0) ++ handle_error("swapcontext"); + printf("finish f2, should swap to f1\n"); + } + +@@ -83,16 +88,19 @@ int main (int argc, const char *argv[]) + printf("doing initial swapcontext\n"); + + +- swapcontext(&ctx[0], &ctx[2]); +- ++ if (swapcontext(&ctx[0], &ctx[2]) != 0) ++ handle_error("swapcontext"); + + printf("returned from initial swapcontext\n"); + + + /* test ability to use getcontext/setcontext without makecontext */ +- getcontext(&ctx[1]); ++ if (getcontext(&ctx[1]) != 0) ++ handle_error("getcontext"); + printf("done = %d\n", done); +- if (done++ == 0) setcontext(&ctx[1]); ++ if (done++ == 0) ++ if (setcontext(&ctx[1]) != 0) ++ handle_error("setcontext"); + if (done != 2) { + fprintf(stderr, "wrong value for done. got %d, expected 2\n", done); + abort(); diff --git a/libs/mpfr/Makefile b/libs/mpfr/Makefile index f4d2d64e5..39d6a035a 100644 --- a/libs/mpfr/Makefile +++ b/libs/mpfr/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mpfr -PKG_VERSION:=4.2.0 +PKG_VERSION:=4.2.1 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_HASH:=277807353a6726978996945af13e52829e3abd7a9a5b7fb2793894e18f1fcbb2 PKG_LICENSE:=LGPL-3.0-or-later PKG_LICENSE_FILES:=COPYING.LESSER diff --git a/libs/nss/Makefile b/libs/nss/Makefile index b7dc8c2d6..5888e2294 100644 --- a/libs/nss/Makefile +++ b/libs/nss/Makefile @@ -7,14 +7,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nss -PKG_VERSION:=3.89.1 +PKG_VERSION:=3.93 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:= \ https://download.cdn.mozilla.net/pub/security/$(PKG_NAME)/releases/NSS_$(subst .,_,$(PKG_VERSION))_RTM/src \ https://archive.mozilla.org/pub/security/$(PKG_NAME)/releases/NSS_$(subst .,_,$(PKG_VERSION))_RTM/src -PKG_HASH:=3adaedb9e70c3c5f40603bf60a01e336190a6dbe01929d395f16b01fe84a0156 +PKG_HASH:=15f54bb72048eb105f8c0e936a04b899e74c3db9a19bbc1e00acee2af9476a8a PKG_MAINTAINER:=Lucian Cristian PKG_LICENCE:=MPL-2.0 diff --git a/libs/nss/patches/010-nanosleep.patch b/libs/nss/patches/010-nanosleep.patch index ed5bfd05d..414ebf3a3 100644 --- a/libs/nss/patches/010-nanosleep.patch +++ b/libs/nss/patches/010-nanosleep.patch @@ -1,6 +1,6 @@ --- a/nss/lib/freebl/stubs.c +++ b/nss/lib/freebl/stubs.c -@@ -501,7 +501,8 @@ extern PRStatus +@@ -506,7 +506,8 @@ extern PRStatus PR_Sleep_stub(PRIntervalTime ticks) { STUB_SAFE_CALL1(PR_Sleep, ticks); diff --git a/net/adblock-fast/Makefile b/net/adblock-fast/Makefile new file mode 100644 index 000000000..422b95c1e --- /dev/null +++ b/net/adblock-fast/Makefile @@ -0,0 +1,76 @@ +# Copyright 2023 Stan Grishin (stangri@melmac.ca) +# TLD optimization written by Dirk Brenken (dev@brenken.org) +# This is free software, licensed under the GNU General Public License v3. + +include $(TOPDIR)/rules.mk + +PKG_NAME:=adblock-fast +PKG_VERSION:=1.0.0 +PKG_RELEASE:=1 +PKG_MAINTAINER:=Stan Grishin +PKG_LICENSE:=GPL-3.0-or-later + +include $(INCLUDE_DIR)/package.mk + +define Package/adblock-fast + SECTION:=net + CATEGORY:=Network + TITLE:=AdBlock Fast Service + URL:=https://docs.openwrt.melmac.net/adblock-fast/ + DEPENDS:=+jshn +curl + CONFLICTS:=simple-adblock + PROVIDES:=simple-adblock + PKGARCH:=all +endef + +define Package/adblock-fast/description +Fast AdBlocking script to block ad or abuse/malware domains with DNSMASQ or Unbound. +Script supports local/remote list of domains and hosts-files for both block-listing and allow-listing. +Please see https://docs.openwrt.melmac.net/adblock-fast/ for more information. +endef + +define Package/adblock-fast/conffiles +/etc/config/adblock-fast +endef + +define Build/Configure +endef + +define Build/Compile +endef + +define Package/adblock-fast/install + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/etc/init.d/adblock-fast $(1)/etc/init.d/adblock-fast + $(SED) "s|^\(readonly PKG_VERSION\).*|\1='$(PKG_VERSION)-$(PKG_RELEASE)'|" $(1)/etc/init.d/adblock-fast + $(INSTALL_DIR) $(1)/etc/config + $(INSTALL_CONF) ./files/etc/config/adblock-fast $(1)/etc/config/adblock-fast + $(INSTALL_DIR) $(1)/tmp + $(INSTALL_DATA) ./files/adblock-fast.config.update $(1)/tmp/adblock-fast.config.update + $(INSTALL_DIR) $(1)/etc/uci-defaults + $(INSTALL_BIN) ./files/etc/uci-defaults/90-adblock-fast $(1)/etc/uci-defaults/90-adblock-fast +endef + +define Package/adblock-fast/postinst + #!/bin/sh + # check if we are on real system + if [ -z "$${IPKG_INSTROOT}" ]; then + sed -f /tmp/adblock-fast.config.update -i /etc/config/adblock-fast || true + /etc/init.d/adblock-fast enable + fi + exit 0 +endef + +define Package/adblock-fast/prerm + #!/bin/sh + # check if we are on real system + if [ -z "$${IPKG_INSTROOT}" ]; then + echo "Stopping service and removing rc.d symlink for adblock-fast" + /etc/init.d/adblock-fast stop || true + /etc/init.d/adblock-fast killcache || true + /etc/init.d/adblock-fast disable || true + fi + exit 0 +endef + +$(eval $(call BuildPackage,adblock-fast)) diff --git a/net/adblock-fast/files/README.md b/net/adblock-fast/files/README.md new file mode 100644 index 000000000..827255ab2 --- /dev/null +++ b/net/adblock-fast/files/README.md @@ -0,0 +1,3 @@ +# README + +README has been moved to [https://docs.openwrt.melmac.net/adblock-fast/](https://docs.openwrt.melmac.net/adblock-fast/). diff --git a/net/simple-adblock/files/simple-adblock.conf.update b/net/adblock-fast/files/adblock-fast.config.update similarity index 66% rename from net/simple-adblock/files/simple-adblock.conf.update rename to net/adblock-fast/files/adblock-fast.config.update index dc2031734..08f625eae 100644 --- a/net/simple-adblock/files/simple-adblock.conf.update +++ b/net/adblock-fast/files/adblock-fast.config.update @@ -1,12 +1,3 @@ -s|whitelist_domains_url|allowed_domains_url|g -s|whitelist_domain|allowed_domain|g -s|blacklist_hosts_url|blocked_hosts_url|g -s|blacklist_domains_url|blocked_domains_url|g -s|blacklist_domain|blocked_domain|g -s|ssl.bblck.me|cdn.jsdelivr.net/gh/paulgb/BarbBlock|g -s|raw.githubusercontent.com/StevenBlack/hosts/|cdn.jsdelivr.net/gh/StevenBlack/hosts@|g -s|raw.githubusercontent.com/hoshsadiq/adblock-nocoin-list/|cdn.jsdelivr.net/gh/hoshsadiq/adblock-nocoin-list@|g -s|raw.githubusercontent.com/jawz101/MobileAdTrackers/|cdn.jsdelivr.net/gh/jawz101/MobileAdTrackers@|g s|http://winhelp2002.mvps.org/hosts.txt|https://winhelp2002.mvps.org/hosts.txt|g s|list blocked_domains_url 'https://dbl.oisd.nl/basic'|list blocked_adblockplus_url 'https://small.oisd.nl/'|g s|list blocked_domains_url 'https://dbl.oisd.nl/nsfw'|list blocked_adblockplus_url 'https://nsfw.oisd.nl/'|g diff --git a/net/adblock-fast/files/etc/config/adblock-fast b/net/adblock-fast/files/etc/config/adblock-fast new file mode 100644 index 000000000..10cdf5186 --- /dev/null +++ b/net/adblock-fast/files/etc/config/adblock-fast @@ -0,0 +1,118 @@ +config adblock-fast 'config' + option enabled '0' + list allowed_domain 'cdn.jsdelivr.net' + option allow_non_ascii '0' + option canary_domains_icloud '0' + option canary_domains_mozilla '0' + option compressed_cache '0' + option compressed_cache_dir '/etc' + option config_update_enabled '0' + option config_update_url 'https://cdn.jsdelivr.net/gh/openwrt/packages/net/adblock-fast/files/adblock-fast.conf.update' + option curl_additional_param '' + option curl_max_file_size '30000000' + option curl_retry '3' + option debug '0' + option dns 'dnsmasq.servers' + option dnsmasq_instance '*' +# option dnsmasq_config_file_url 'https://big.oisd.nl/dnsmasq2' + option download_timeout '10' + option force_dns '1' + list force_dns_port '53' + list force_dns_port '853' +# ports listed below are used by some +# of the dnscrypt-proxy v1 resolvers +# list force_dns_port '553' +# list force_dns_port '1443' +# list force_dns_port '4343' +# list force_dns_port '4434' +# list force_dns_port '5443' +# list force_dns_port '8443' + option led 'none' + option parallel_downloads '1' + option procd_trigger_wan6 '0' + option procd_boot_wan_timeout '60' + option verbosity '2' + +config file_url + option url 'https://cdn.jsdelivr.net/gh/StevenBlack/hosts/hosts' + option size '6770929' + option action 'block' + option enabled '0' + +config file_url + option url 'https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_trackers_justdomains.txt' + option size '6241707' + option action 'block' + option enabled '0' + +config file_url + option url 'https://big.oisd.nl/' + option size '6163363' + option action 'block' + option enabled '0' + +config file_url + option url 'https://cdn.jsdelivr.net/gh/bongochong/CombinedPrivacyBlockLists/NoFormatting/cpbl-ctld.txt' + option size '2608152' + option action 'block' + option enabled '0' + +config file_url + option url 'http://sysctl.org/cameleon/hosts' + option size '638545' + option action 'block' + option enabled '0' + +config file_url + option url 'https://cdn.jsdelivr.net/gh/kboghdady/youTube_ads_4_pi-hole/black.list' + option size '553006' + option action 'block' + option enabled '0' + +config file_url + option url 'https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_clickthroughs_justdomains.txt' + option size '362170' + option action 'block' + option enabled '0' + +config file_url + option url 'https://someonewhocares.org/hosts/hosts' + option size '347410' + option action 'block' + option enabled '0' + +config file_url + option url 'https://winhelp2002.mvps.org/hosts.txt' + option size '334861' + option action 'block' + option enabled '0' + +config file_url + option url 'https://adaway.org/hosts.txt' + option size '243454' + option action 'block' + option enabled '0' + +config file_url + option url 'https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_ads_justdomains.txt' + option size '222595' + option action 'block' + option enabled '0' + +config file_url + option url 'https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_microsites_justdomains.txt' + option size '123275' + option action 'block' + option enabled '0' + +config file_url + option url 'https://pgl.yoyo.org/as/serverlist.php?hostformat=hosts&showintro=1&mimetype=plaintext' + option size '99588' + option action 'block' + option enabled '0' + +config file_url + option url 'https://cdn.jsdelivr.net/gh/hoshsadiq/adblock-nocoin-list/hosts.txt' + option size '11149' + option action 'block' + option enabled '0' diff --git a/net/simple-adblock/files/simple-adblock.init b/net/adblock-fast/files/etc/init.d/adblock-fast old mode 100644 new mode 100755 similarity index 90% rename from net/simple-adblock/files/simple-adblock.init rename to net/adblock-fast/files/etc/init.d/adblock-fast index ce51af0d7..f7fb5b3d2 --- a/net/simple-adblock/files/simple-adblock.init +++ b/net/adblock-fast/files/etc/init.d/adblock-fast @@ -1,6 +1,6 @@ #!/bin/sh /etc/rc.common -# Copyright 2017-2022 Stan Grishin (stangri@melmac.ca) -# shellcheck disable=SC1091,SC2016,SC3043,SC3057,SC3060 +# Copyright 2023 MOSSDeF, Stan Grishin (stangri@melmac.ca) +# shellcheck disable=SC1091,SC2015,SC2016,SC3037,SC3043,SC3045,SC3057,SC3060 # shellcheck disable=SC2034 START=94 @@ -28,7 +28,7 @@ else fi readonly PKG_VERSION='dev-test' -readonly packageName='simple-adblock' +readonly packageName='adblock-fast' readonly serviceName="$packageName $PKG_VERSION" readonly packageConfigFile="/etc/config/${packageName}" readonly dnsmasqAddnhostsFile="/var/run/${packageName}/dnsmasq.addnhosts" @@ -59,12 +59,13 @@ readonly unboundGzip="${packageName}.unbound.gz" readonly unboundFilter='s|^|local-zone: "|;s|$|" static|' readonly A_TMP="/var/${packageName}.hosts.a.tmp" readonly B_TMP="/var/${packageName}.hosts.b.tmp" -readonly jsonFile="/var/run/${packageName}/${packageName}.json" +readonly jsonFile="/dev/shm/$packageName-status.json" readonly sharedMemoryError="/dev/shm/$packageName-error" readonly hostsFilter='/localhost/d;/^#/d;/^[^0-9]/d;s/^0\.0\.0\.0.//;s/^127\.0\.0\.1.//;s/[[:space:]]*#.*$//;s/[[:cntrl:]]$//;s/[[:space:]]//g;/[`~!@#\$%\^&\*()=+;:"'\'',<>?/\|[{}]/d;/]/d;/\./!d;/^$/d;/[^[:alnum:]_.-]/d;' readonly domainsFilter='/^#/d;s/[[:space:]]*#.*$//;s/[[:space:]]*$//;s/[[:cntrl:]]$//;/[[:space:]]/d;/[`~!@#\$%\^&\*()=+;:"'\'',<>?/\|[{}]/d;/]/d;/\./!d;/^$/d;/[^[:alnum:]_.-]/d;' readonly adBlockPlusFilter='/^#/d;/^!/d;s/[[:space:]]*#.*$//;s/^||//;s/\^$//;s/[[:space:]]*$//;s/[[:cntrl:]]$//;/[[:space:]]/d;/[`~!@#\$%\^&\*()=+;:"'\'',<>?/\|[{}]/d;/]/d;/\./!d;/^$/d;/[^[:alnum:]_.-]/d;' readonly dnsmasqFileFilter='\|^server=/[[:alnum:]_.-].*/|!d' +readonly dnsmasq2FileFilter='\|^local=/[[:alnum:]_.-].*/|!d' readonly _OK_='\033[0;32m\xe2\x9c\x93\033[0m' readonly _FAIL_='\033[0;31m\xe2\x9c\x97\033[0m' readonly __OK__='\033[0;32m[\xe2\x9c\x93]\033[0m' @@ -88,6 +89,8 @@ outputGzip= outputCache= awk='awk' load_environment_flag= +allowed_url= +blocked_url= debug() { local i j; for i in "$@"; do eval "j=\$$i"; echo "${i}: ${j} "; done; } @@ -250,6 +253,36 @@ load_network() { output "${_ERROR_}: $(get_text 'errorNoWanGateway')!\\n"; return 1; } +append_url() { + local cfg="$1" var="$2" + local en action url + config_get en "$cfg" enabled '1' + config_get action "$cfg" action 'block' + config_get url "$cfg" url + if [ "$en" = '1' ]; then + if [ "$action" = 'allow' ]; then + allowed_url="${allowed_url:+$allowed_url }${url}" + else + blocked_url="${blocked_url:+$blocked_url }${url}" + fi + fi +} + +detect_file_type() { + local file="$1" + if [ "$(head -1 "$file")" = '[Adblock Plus]' ]; then + echo 'adBlockPlus' + elif grep -q '^server=' "$file"; then + echo 'dnsmasqFile' + elif grep -q '^local=' "$file"; then + echo 'dnsmasq2File' + elif grep -q '^0.0.0.0' "$file" || grep -q '^127.0.0.1' "$file"; then + echo 'hosts' + else + echo 'domains' + fi +} + load_environment() { local i j local validation_result="$1" param="$2" @@ -272,7 +305,7 @@ load_environment() { fi if [ "$debug" -ne 0 ]; then - exec 1>>/tmp/simple-adblock.log + exec 1>>"/tmp/$packageName.log" exec 2>&1 set -x fi @@ -444,20 +477,24 @@ load_environment() { fi # Prefer curl because it supports the file:// scheme. if is_present 'curl'; then - dl_command="curl --silent --insecure" + dl_command='curl --silent --insecure' dl_command="${dl_command}${curl_additional_param:+ $curl_additional_param}" dl_command="${dl_command}${curl_max_file_size:+ --max-filesize $curl_max_file_size}" dl_command="${dl_command}${curl_retry:+ --retry $curl_retry}" dl_command="${dl_command}${download_timeout:+ --connect-timeout $download_timeout}" - dl_flag="-o" + dl_flag='-o' elif is_present '/usr/libexec/wget-ssl'; then - dl_command="/usr/libexec/wget-ssl --no-check-certificate -q" + dl_command='/usr/libexec/wget-ssl --no-check-certificate -q' dl_command="${dl_command}${download_timeout:+ --timeout $download_timeout}" dl_flag="-O" + size_command='/usr/libexec/wget-ssl --no-check-certificate -q -O /dev/null --server-response' + size_command="${size_command}${download_timeout:+ --timeout $download_timeout}" elif is_present wget && wget --version 2>/dev/null | grep -q "+https"; then dl_command="wget --no-check-certificate -q" dl_command="${dl_command}${download_timeout:+ --timeout $download_timeout}" dl_flag="-O" + size_command='wget --no-check-certificate -q -O /dev/null --server-response' + size_command="${size_command}${download_timeout:+ --timeout $download_timeout}" else dl_command="uclient-fetch --no-check-certificate -q" dl_command="${dl_command}${download_timeout:+ --timeout $download_timeout}" @@ -473,6 +510,8 @@ load_environment() { else unset isSSLSupported fi + config_load "$packageName" + config_foreach append_url 'file_url' load_environment_flag=1 cache 'test' && return 0 cache 'test_gzip' && return 0 @@ -484,6 +523,26 @@ load_environment() { fi } +get_url_filesize() { + local url="$1" size size_command + [ -n "$url" ] || return 0 + is_present 'curl' || return 0 + size_command='curl --silent --insecure --fail --head --request GET' + size="$($size_command "$url" | grep -Po '^[cC]ontent-[lL]ength: \K\w+')" + echo -en "$size" +} + +get_local_filesize() { + local file="$1" size + [ -f "$file" ] || return 0 + if is_present stat; then + size="$(stat -c%s "$file")" + elif is_present wc; then + size="$(wc -c < "$file")" + fi + echo -en "$size" +} + resolver() { local cfg="$1" param="$2" case "$param" in @@ -520,10 +579,10 @@ dns() { fi config_load 'dhcp' - if [ "$dns_instance" = "*" ]; then + if [ "$dnsmasq_instance" = "*" ]; then config_foreach resolver 'dnsmasq' "$dns" - elif [ -n "$dns_instance" ]; then - for i in $dns_instance; do + elif [ -n "$dnsmasq_instance" ]; then + for i in $dnsmasq_instance; do resolver "@dnsmasq[$i]" "$dns" || resolver "$i" "$dns" done fi @@ -622,17 +681,19 @@ json() { json_load_file "$jsonFile" 2>/dev/null json_select 'data' 2>/dev/null for i in status message error stats reload restart; do - json_get_var $i "$i" 2>/dev/null + json_get_var "$i" "$i" 2>/dev/null done fi case "$action" in get) case "$param" in triggers) - curReload="$parallel_downloads $debug $download_timeout $allowed_domain $blocked_domain $allowed_domains_url \ - $blocked_adblockplus_url $blocked_domains_url $blocked_hosts_url $dns $config_update_enabled $config_update_url \ - $dnsmasq_config_file_url $curl_additional_param $curl_max_file_size $curl_retry" - curRestart="$compressed_cache $compressed_cache_dir $force_dns $led $force_dns_port" + curReload="$parallel_downloads $debug $download_timeout \ + $allowed_domain $blocked_domain $allowed_url $blocked_url $dns \ + $config_update_enabled $config_update_url $dnsmasq_config_file_url \ + $curl_additional_param $curl_max_file_size $curl_retry" + curRestart="$compressed_cache $compressed_cache_dir $force_dns $led \ + $force_dns_port" if [ ! -s "$jsonFile" ]; then ret='on_boot' elif [ "$curReload" != "$reload" ]; then @@ -663,10 +724,12 @@ json() { set) case "$param" in triggers) - reload="$parallel_downloads $debug $download_timeout $allowed_domain $blocked_domain $allowed_domains_url \ - $blocked_adblockplus_url $blocked_domains_url $blocked_hosts_url $dns $config_update_enabled $config_update_url \ - $dnsmasq_config_file_url $curl_additional_param $curl_max_file_size $curl_retry" - restart="$compressed_cache $compressed_cache_dir $force_dns $led $force_dns_port" + reload="$parallel_downloads $debug $download_timeout \ + $allowed_domain $blocked_domain $allowed_url $blocked_url $dns \ + $config_update_enabled $config_update_url $dnsmasq_config_file_url \ + $curl_additional_param $curl_max_file_size $curl_retry" + restart="$compressed_cache $compressed_cache_dir $force_dns $led \ + $force_dns_port" ;; *) eval "$param"='${value}${extras:+|$extras}';; @@ -729,24 +792,37 @@ cache() { esac } -process_url() { - local label type D_TMP R_TMP - if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ]; then return 1; fi - label="${1##*//}"; label="${label%%/*}"; - case "$2" in - adbp) label="ADBPlus: $label"; filter="$adBlockPlusFilter" +_process_file_url() { + if [ "$2" != '0' ]; then + json add error "errorConfigValidationFail" + output "${_ERROR_}: $(get_text 'errorConfigValidationFail')!\\n" + output "Please check if the '$packageConfigFile' contains correct values for config options.\\n" + fi + if [ "$parallel_downloads" -gt 0 ]; then + process_file_url "$1" & + else + process_file_url "$1" + fi +} + +process_file_url() { + local cfg="$1" new_size + local label type D_TMP R_TMP filter + if [ -z "$cfg" ] || [ -n "${2}${3}" ]; then + url="$2" + action="$3" + fi + + [ "$enabled" = '1' ] || return 0 + [ -n "$url" ] || return 1 + + label="${url##*//}" + label="${label%%/*}" + label="File: $label" + case "$action" in + allow) type='Allowed'; D_TMP="$A_TMP" ;; - dnsmasq) label="Dnsmasq: $label"; filter="$dnsmasqFileFilter" - ;; - domains) label="Domains: $label"; filter="$domainsFilter" - ;; - hosts) label="Hosts: $label"; filter="$hostsFilter" - ;; - esac - case "$3" in - allowed) type='Allowed'; D_TMP="$A_TMP" - ;; - blocked) type='Blocked'; D_TMP="$B_TMP" + block) type='Blocked'; D_TMP="$B_TMP" ;; file) type='File'; D_TMP="$B_TMP" ;; @@ -760,20 +836,33 @@ process_url() { while [ -z "$R_TMP" ] || [ -e "$R_TMP" ]; do R_TMP="$(mktemp -u -q -t ${packageName}_tmp.XXXXXXXX)" done - if ! $dl_command "$1" "$dl_flag" "$R_TMP" 2>/dev/null || [ ! -s "$R_TMP" ]; then + if [ -z "$url" ] || ! $dl_command "$url" "$dl_flag" "$R_TMP" 2>/dev/null || \ + [ ! -s "$R_TMP" ]; then output 1 "$_FAIL_" output 2 "[DL] $type $label $__FAIL__\\n" - echo "errorDownloadingList|${1}" >> "$sharedMemoryError" + echo "errorDownloadingList|${url}" >> "$sharedMemoryError" else - sed -i "$filter" "$R_TMP" + [ -n "$cfg" ] && new_size="$(get_local_filesize "$R_TMP")" + if [ -n "$new_size" ] && [ "$size" != "$new_size" ]; then + uci set "${packageName}.${cfg}.size=$size" + fi + format="$(detect_file_type "$R_TMP")" + case "$format" in + adBlockPlus) filter="$adBlockPlusFilter";; +# dnsmasqFile) filter="$dnsmasqFileFilter";; +# dnsmasq2File) filter="$dnsmasq2FileFilter";; + domains) filter="$domainsFilter";; + hosts) filter="$hostsFilter";; + esac + [ -n "$filter" ] && sed -i "$filter" "$R_TMP" if [ ! -s "$R_TMP" ]; then output 1 "$_FAIL_" - output 2 "[DL] $type $label $__FAIL__\\n" + output 2 "[DL] $type $label ($format) $__FAIL__\\n" echo "errorParsingList|${1}" >> "$sharedMemoryError" else cat "${R_TMP}" >> "$D_TMP" output 1 "$_OK_" - output 2 "[DL] $type $label $__OK__\\n" + output 2 "[DL] $type $label ($format) $__OK__\\n" fi fi rm -f "$R_TMP" @@ -798,15 +887,14 @@ download_dnsmasq_file() { touch $A_TMP; touch $B_TMP; output 1 'Downloading dnsmasq file ' rm -f "$sharedMemoryError" - process_url "$dnsmasq_config_file_url" 'dnsmasq' 'file' -# output 1 '\n' + process_file_url '' "$dnsmasq_config_file_url" 'file' if [ -s "$sharedMemoryError" ]; then while IFS= read -r line; do json add error "$line" done < "$sharedMemoryError" rm -f "$sharedMemoryError" fi - output 2 'Creating dnsmasq file ' + output 2 'Moving dnsmasq file ' if mv "$B_TMP" "$outputFile"; then output 2 "$__OK__\\n" else @@ -834,36 +922,15 @@ download_lists() { touch $A_TMP; touch $B_TMP; output 1 'Downloading lists ' rm -f "$sharedMemoryError" - for hf in ${blocked_hosts_url}; do - if [ "$parallel_downloads" -gt 0 ]; then - process_url "$hf" 'hosts' 'blocked' & - else - process_url "$hf" 'hosts' 'blocked' - fi - done - for hf in ${blocked_adblockplus_url}; do - if [ "$parallel_downloads" -gt 0 ]; then - process_url "$hf" 'adbp' 'blocked' & - else - process_url "$hf" 'adbp' 'blocked' - fi - done - for hf in ${blocked_domains_url}; do - if [ "$parallel_downloads" -gt 0 ]; then - process_url "$hf" 'domains' 'blocked' & - else - process_url "$hf" 'domains' 'blocked' - fi - done - for hf in ${allowed_domains_url}; do - if [ "$parallel_downloads" -gt 0 ]; then - process_url "$hf" 'domains' 'allowed' & - else - process_url "$hf" 'domains' 'allowed' - fi - done + config_load "$packageName" + config_foreach load_validate_file_url_section 'file_url' _process_file_url wait + if [ -n "$(uci changes "$packageName")" ]; then + output 2 "Saving updated file size(s) " + uci commit "$packageName" && output_okn || output_failn + fi output 1 '\n' + if [ -s "$sharedMemoryError" ]; then while IFS= read -r line; do json add error "$line" @@ -1207,65 +1274,26 @@ adb_config_update() { return 0 } +_config_add_url_size() { + local cfg="$1" url size + config_get url "$cfg" url + size="$(get_url_filesize "$url")" + output "$url${size:+: $size} " + if [ -n "$size" ]; then + uci set "${packageName}.${cfg}.size=$size" + output_okn + else + output_failn + fi +} + adb_sizes() { local i local validation_result="$3" load_environment "$validation_result" 'quiet' || return 1 - - echo "# $(date)" - for i in ${blocked_adblockplus_url}; do - [ "${i//melmac}" != "$i" ] && continue - if $dl_command "$i" "$dl_flag" /tmp/sast 2>/dev/null && [ -s /tmp/sast ]; then - echo "# File size: $(du -sh /tmp/sast | $awk '{print $1}')" - if is_greater "$(du -sk /tmp/sast)" "500"; then - echo "# block-list too big for most routers" - elif is_greater "$(du -sk /tmp/sast)" "100"; then - echo "# block-list may be too big for some routers" - fi - rm -rf /tmp/sast - echo " list blocked_adblockplus_url '$i'" - echo "" - else - echo "# site was down on last check" - echo "# list blocked_adblockplus_url '$i'" - echo "" - fi - done - for i in ${blocked_domains_url}; do - [ "${i//melmac}" != "$i" ] && continue - if $dl_command "$i" "$dl_flag" /tmp/sast 2>/dev/null && [ -s /tmp/sast ]; then - echo "# File size: $(du -sh /tmp/sast | $awk '{print $1}')" - if is_greater "$(du -sk /tmp/sast)" "500"; then - echo "# block-list too big for most routers" - elif is_greater "$(du -sk /tmp/sast)" "100"; then - echo "# block-list may be too big for some routers" - fi - rm -rf /tmp/sast - echo " list blocked_domains_url '$i'" - echo "" - else - echo "# site was down on last check" - echo "# list blocked_domains_url '$i'" - echo "" - fi - done - for i in ${blocked_hosts_url}; do - if $dl_command "$i" "$dl_flag" /tmp/sast 2>/dev/null && [ -s /tmp/sast ]; then - echo "# File size: $(du -sh /tmp/sast | $awk '{print $1}')" - if is_greater "$(du -sk /tmp/sast)" "500"; then - echo "# block-list too big for most routers" - elif is_greater "$(du -sk /tmp/sast)" "100"; then - echo "# block-list may be too big for some routers" - fi - rm -rf /tmp/sast - echo " list blocked_hosts_url '$i'" - echo "" - else - echo "# site was down on last check" - echo "# list blocked_hosts_url '$i'" - echo "" - fi - done + config_load "$packageName" + config_foreach _config_add_url_size 'file_url' + uci commit "$packageName" } # shellcheck disable=SC2120 @@ -1347,7 +1375,7 @@ adb_start() { output 3 "Starting $serviceName...\\n" json set status "statusStarting" fi - if [ -n "$dnsmasq_config_file_url" ]; then + if [ "$dns" = 'dnsmasq.conf' ] && [ -n "$dnsmasq_config_file_url" ]; then download_dnsmasq_file else download_lists @@ -1385,7 +1413,8 @@ adb_start() { procd_set_param stderr 1 procd_open_data json_add_string 'status' "$(json get status)" - json_add_string 'errors' "$(json get errors)" + json_add_string 'errors' "$(json get error)" + json_add_string 'warnings' "$(json get warning)" if [ -s "$outputFile" ]; then json_add_int 'entries' "$(wc -l < "$outputFile")" else @@ -1603,6 +1632,14 @@ stop_service() { load_validate_config 'config' adb_stop "'$*'"; } pause() { load_validate_config 'config' adb_pause "'$*'"; } version() { echo "$PKG_VERSION"; } +load_validate_file_url_section() { + uci_load_validate "$packageName" "$packageName" "$1" "$2" \ + 'enabled:bool:1' \ + 'action:or("allow", "block"):block' \ + 'size:or(uinteger, "")' \ + 'url:string' +} + load_validate_config() { . /lib/functions/network.sh . /usr/share/libubox/jshn.sh @@ -1629,13 +1666,9 @@ load_validate_config() { local procd_boot_wan_timeout local led local dns - local dns_instance + local dnsmasq_instance local allowed_domain - local allowed_domains_url - local blocked_adblockplus_url local blocked_domain - local blocked_domains_url - local blocked_hosts_url local dnsmasq_config_file_url uci_load_validate "$packageName" "$packageName" "$1" "${2}${3:+ $3}" \ 'enabled:bool:0' \ @@ -1650,7 +1683,7 @@ load_validate_config() { 'canary_domains_icloud:bool:0' \ 'canary_domains_mozilla:bool:0' \ 'config_update_enabled:bool:0' \ - 'config_update_url:string:https://cdn.jsdelivr.net/gh/openwrt/packages/net/simple-adblock/files/simple-adblock.conf.update' \ + 'config_update_url:string:https://cdn.jsdelivr.net/gh/openwrt/packages/net/adblock-fast/files/adblock-fast.conf.update' \ 'download_timeout:range(1,60):20' \ 'pause_timeout:range(10,120):60' \ 'curl_additional_param:or("", string)' \ @@ -1661,12 +1694,8 @@ load_validate_config() { 'procd_boot_wan_timeout:integer:60' \ 'led:or("", "none", file, device, string)' \ 'dns:or("dnsmasq.addnhosts", "dnsmasq.conf", "dnsmasq.ipset", "dnsmasq.nftset", "dnsmasq.servers", "unbound.adb_list"):dnsmasq.servers' \ - 'dns_instance:list(or(integer, string)):0' \ + 'dnsmasq_instance:list(or(integer, string)):*' \ 'allowed_domain:list(string)' \ - 'allowed_domains_url:list(string)' \ 'blocked_domain:list(string)' \ - 'blocked_adblockplus_url:list(string)' \ - 'blocked_domains_url:list(string)' \ - 'blocked_hosts_url:list(string)' \ 'dnsmasq_config_file_url:string' } diff --git a/net/adblock-fast/files/etc/uci-defaults/90-adblock-fast b/net/adblock-fast/files/etc/uci-defaults/90-adblock-fast new file mode 100644 index 000000000..5366b46e6 --- /dev/null +++ b/net/adblock-fast/files/etc/uci-defaults/90-adblock-fast @@ -0,0 +1,165 @@ +#!/bin/sh +# Copyright 2023 MOSSDeF, Stan Grishin (stangri@melmac.ca) +# shellcheck disable=SC1091,SC2015,SC3037,SC3043,SC2317,SC3060 + +readonly packageName='adblock-fast' +readonly _OK_='\033[0;32m\xe2\x9c\x93\033[0m' +readonly _FAIL_='\033[0;31m\xe2\x9c\x97\033[0m' +readonly __OK__='\033[0;32m[\xe2\x9c\x93]\033[0m' +readonly __FAIL__='\033[0;31m[\xe2\x9c\x97]\033[0m' +readonly _ERROR_='\033[0;31mERROR\033[0m' +readonly _WARNING_='\033[0;33mWARNING\033[0m' +output() { +# Can take a single parameter (text) to be output at any verbosity +# Or target verbosity level and text to be output at specifc verbosity + local msg memmsg logmsg + local sharedMemoryOutput="/dev/shm/$packageName-output" + verbosity="${verbosity:-2}" + if [ "$#" -ne 1 ]; then + if [ $((verbosity & $1)) -gt 0 ] || [ "$verbosity" = "$1" ]; then + shift + else + return 0 + fi + fi + [ -t 1 ] && printf "%b" "$1" + msg="$1"; + if [ "$(printf "%b" "$msg" | wc -l)" -gt 0 ]; then + [ -s "$sharedMemoryOutput" ] && memmsg="$(cat "$sharedMemoryOutput")" + logmsg="$(printf "%b" "${memmsg}${msg}" | sed 's/\x1b\[[0-9;]*m//g')" + logger -t "${packageName:-service}" "$(printf "%b" "$logmsg")" + rm -f "$sharedMemoryOutput" + else + printf "%b" "$msg" >> "$sharedMemoryOutput" + fi +} +output_ok() { output 1 "$_OK_"; output 2 "$__OK__\\n"; } +output_okn() { output 1 "$_OK_\\n"; output 2 "$__OK__\\n"; } +output_fail() { output 1 "$_FAIL_"; output 2 "$__FAIL__\\n"; } +output_failn() { output 1 "$_FAIL_\\n"; output 2 "$__FAIL__\\n"; } +is_present() { command -v "$1" >/dev/null 2>&1; } +get_url_filesize() { + local url="$1" size size_command + [ -n "$1" ] || return 0 + is_present 'curl' || return 0 + size_command='curl --silent --insecure --fail --head --request GET' + size="$($size_command "$url" | grep -Po '^[cC]ontent-[lL]ength: \K\w+')" + echo -en "$size" +} + +# Transition from simple-adblock +_enable_url() { + local cfg="$1" url="$2" action="$3" + local u a + config_get u "$cfg" 'url' + config_get a "$cfg" 'action' 'block' + if [ "$u" = "$url" ] && [ "$a" = "$action" ]; then + uci del "${packageName}.${cfg}.enabled" && _found=1 + fi +} + +enable_add_url() { + local url="$1" action="$2" _found + config_load "$packageName" + config_foreach _enable_url 'file_url' "$url" "$action" + if [ -z "$_found" ]; then + uci add "${packageName}" 'file_url' >/dev/null 2>&1 + uci set "${packageName}.@file_url[-1].url=$url" + uci set "${packageName}.@file_url[-1].size=$(get_url_filesize "$url")" + uci set "${packageName}.@file_url[-1].action=$action" + fi +} + +if [ -s '/etc/config/simple-adblock' ] \ + && [ ! -s '/etc/config/adblock-fast-opkg' ] \ + && [ "$(uci get adblock-fast.config.enabled)" = '0' ]; then + cp -f '/etc/config/adblock-fast' '/etc/config/adblock-fast-opkg' + enabled="$(uci get simple-adblock.config.enabled)" + if [ -x '/etc/init.d/simple-adblock' ]; then + output "Stopping and disabling simple-adblock " + if /etc/init.d/simple-adblock stop >/dev/null 2>&1 \ + && /etc/init.d/simple-adblock disable \ + && uci set simple-adblock.config.enabled=0 \ + && uci commit simple-adblock; then + output_okn + else + output_failn + fi + else + output "Disabling simple-adblock." + if uci set simple-adblock.config.enabled=0 \ + && uci commit simple-adblock; then + output_okn + else + output_failn + fi + fi + output "Migrating simple-adblock config file " + for i in allow_non_ascii canary_domains_icloud canary_domains_mozilla \ + compressed_cache compressed_cache_dir config_update_enabled \ + curl_additional_param curl_max_file_size curl_retry download_timeout \ + debug dns dns_instance dnsmasq_config_file_url force_dns led \ + parallel_downloads procd_trigger_wan6 procd_boot_wan_timeout verbosity; do + j="$(uci -q get simple-adblock.config.${i})" + [ -n "$j" ] && uci set "${packageName}.config.${i}=${j}" + done + [ -n "$enabled" ] && uci set "${packageName}.config.enabled=${enabled}" + j="$(uci -q get simple-adblock.config.config_update_url)" + if [ "${j//simple-adblock/}" = "$j" ]; then + uci set "${packageName}.config.config_update_url=$j" + fi + ccd="$(uci get simple-adblock.config.compressed_cache_dir)" + ccd="${ccd:-/etc}" + for j in $(uci -q get simple-adblock.config.allowed_domain); do + [ -n "$j" ] && uci add_list "${packageName}.config.allowed_domain=${j}" + done + for j in $(uci -q get simple-adblock.config.blocked_domain); do + [ -n "$j" ] && uci add_list "${packageName}.config.blocked_domain=${j}" + done + for j in $(uci -q get simple-adblock.config.force_dns_port); do + [ -n "$j" ] && uci add_list "${packageName}.config.force_dns_port=${j}" + done + output_okn + + for i in allowed_domains_url blocked_adblockplus_url blocked_domains_url \ + blocked_hosts_url; do + output "Migrating simple-adblock ${i} " + for j in $(uci -q get simple-adblock.config.${i}); do + if [ "$i" = 'allowed_domains_url' ]; then + enable_add_url "$j" 'allow' + else + enable_add_url "$j" 'block' + fi + done + output_okn + done + uci commit "$packageName" + output "Migrating simple-adblock cache file(s) " + for i in '/var/run/simple-adblock/dnsmasq.addnhosts.cache' \ + '/var/run/simple-adblock/dnsmasq.conf.cache' \ + '/var/run/simple-adblock/dnsmasq.ipset.cache' \ + '/var/run/simple-adblock/dnsmasq.nftset.cache' \ + '/var/run/simple-adblock/dnsmasq.servers.cache' \ + '/var/run/simple-adblock/unbound.cache'; do + if [ -s "$i" ]; then + current_dir="$(dirname "$i")" + mkdir -p "${current_dir//simple-adblock/adblock-fast}" + mv -f "$i" "${i//simple-adblock/adblock-fast}" && output_okn || output_failn + fi + done + for i in 'simple-adblock.dnsmasq.addnhosts.gz' \ + 'simple-adblock.dnsmasq.conf.gz' \ + 'simple-adblock.dnsmasq.ipset.gz' \ + 'simple-adblock.dnsmasq.nftset.gz' \ + 'simple-adblock.dnsmasq.servers.gz' \ + 'simple-adblock.unbound.gz'; do + i="${ccd}/${i}" + if [ -s "$i" ]; then + mkdir -p "${ccd//simple-adblock/adblock-fast}" + mv -f "$i" "${i//simple-adblock/adblock-fast}" && output_okn || output_failn + fi + done + output_okn +fi + +exit 0 diff --git a/net/simple-adblock/test.sh b/net/adblock-fast/test.sh similarity index 100% rename from net/simple-adblock/test.sh rename to net/adblock-fast/test.sh diff --git a/net/croc/Makefile b/net/croc/Makefile new file mode 100644 index 000000000..eab3c8e70 --- /dev/null +++ b/net/croc/Makefile @@ -0,0 +1,45 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# Copyright (C) 2023 Jonas Jelonek + +include $(TOPDIR)/rules.mk + +PKG_NAME:=croc +PKG_VERSION:=9.6.5 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://codeload.github.com/schollz/croc/tar.gz/v$(PKG_VERSION)? +PKG_HASH:=2d3ba7bae3c49e3870e2f8523c6be00e92fe6e46828269a8cea34d4034102cad + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jonas Jelonek + +PKG_BUILD_DEPENDS:=golang/host +PKG_BUILD_PARALLEL:=1 +PKG_BUILD_FLAGS:=no-mips16 + +GO_PKG:=github.com/schollz/croc/v9 +GO_PKG_BUILD_PKG:=$(GO_PKG) +GO_PKG_LDFLAGS_X:=$(GO_PKG)/src/cli.Version=v$(PKG_VERSION) + +include $(INCLUDE_DIR)/package.mk +include ../../lang/golang/golang-package.mk + +define Package/croc + SECTION:=net + CATEGORY:=Network + SUBMENU:=File Transfer + TITLE:=Easily and securely send things from one computer to another + URL:=https://github.com/schollz/croc + DEPENDS:=$(GO_ARCH_DEPENDS) +endef + +define Package/croc/description + croc is a tool that allows any two computers to simply and securely + transfer files and folders by using a relay. +endef + +$(eval $(call GoBinPackage,croc)) +$(eval $(call BuildPackage,croc)) diff --git a/net/ddns-scripts/Makefile b/net/ddns-scripts/Makefile index 1512fa31b..a4c79b06b 100644 --- a/net/ddns-scripts/Makefile +++ b/net/ddns-scripts/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ddns-scripts PKG_VERSION:=2.8.2 -PKG_RELEASE:=38 +PKG_RELEASE:=39 PKG_LICENSE:=GPL-2.0 diff --git a/net/ddns-scripts/files/usr/share/ddns/default/desec.io.json b/net/ddns-scripts/files/usr/share/ddns/default/desec.io.json index 4d3d21720..c28458fee 100644 --- a/net/ddns-scripts/files/usr/share/ddns/default/desec.io.json +++ b/net/ddns-scripts/files/usr/share/ddns/default/desec.io.json @@ -1,11 +1,11 @@ { "name": "desec.io", "ipv4": { - "url": "http://update.dedyn.io/update?username=[USERNAME]&password=[PASSWORD]&hostname=[DOMAIN]&myipv4=[IP]&myipv6=preserve", + "url": "https://update.dedyn.io/update?username=[USERNAME]&password=[PASSWORD]&hostname=[DOMAIN]&myipv4=[IP]&myipv6=preserve", "answer": "good|nochg" }, "ipv6": { - "url": "http://update.dedyn.io/update?username=[USERNAME]&password=[PASSWORD]&hostname=[DOMAIN]&myipv6=[IP]&myipv4=preserve", + "url": "https://update.dedyn.io/update?username=[USERNAME]&password=[PASSWORD]&hostname=[DOMAIN]&myipv6=[IP]&myipv4=preserve", "answer": "good|nochg" } } diff --git a/net/dnscrypt-proxy2/Makefile b/net/dnscrypt-proxy2/Makefile index 5e1226892..7a5d82b15 100644 --- a/net/dnscrypt-proxy2/Makefile +++ b/net/dnscrypt-proxy2/Makefile @@ -16,7 +16,7 @@ PKG_SOURCE_URL:=https://codeload.github.com/DNSCrypt/dnscrypt-proxy/tar.gz/$(PKG PKG_HASH:=05f0a3e8c8f489caf95919e2a75a1ec4598edd3428d2b9dd357caba6adb2607d PKG_BUILD_DIR:=$(BUILD_DIR)/dnscrypt-proxy-$(PKG_VERSION) -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=ISC PKG_LICENSE_FILES:=LICENSE diff --git a/net/https-dns-proxy/Makefile b/net/https-dns-proxy/Makefile index ddc43a892..3319cbfe5 100644 --- a/net/https-dns-proxy/Makefile +++ b/net/https-dns-proxy/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=https-dns-proxy PKG_VERSION:=2023-05-25 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/aarond10/https_dns_proxy/ @@ -39,15 +39,16 @@ endef define Package/https-dns-proxy/install $(INSTALL_DIR) $(1)/usr/sbin - $(INSTALL_DIR) $(1)/etc/init.d - $(INSTALL_DIR) $(1)/etc/config - $(INSTALL_DIR) $(1)/etc/hotplug.d/iface - $(INSTALL_DIR) $(1)/etc/uci-defaults/ $(INSTALL_BIN) $(PKG_BUILD_DIR)/https_dns_proxy $(1)/usr/sbin/https-dns-proxy - $(INSTALL_BIN) ./files/https-dns-proxy.init $(1)/etc/init.d/https-dns-proxy + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/etc/init.d/https-dns-proxy $(1)/etc/init.d/https-dns-proxy $(SED) "s|^\(readonly PKG_VERSION\).*|\1='$(PKG_VERSION)-$(PKG_RELEASE)'|" $(1)/etc/init.d/https-dns-proxy - $(INSTALL_CONF) ./files/https-dns-proxy.config $(1)/etc/config/https-dns-proxy - $(INSTALL_BIN) ./files/https-dns-proxy.defaults $(1)/etc/uci-defaults/50-https-dns-proxy-migrate-options.sh + $(INSTALL_DIR) $(1)/etc/config + $(INSTALL_CONF) ./files/etc/config/https-dns-proxy $(1)/etc/config/https-dns-proxy + $(INSTALL_DIR) $(1)/etc/hotplug.d/online + $(INSTALL_DATA) ./files/etc/hotplug.d/online/30-https-dns-proxy $(1)/etc/hotplug.d/online/30-https-dns-proxy + $(INSTALL_DIR) $(1)/etc/uci-defaults/ + $(INSTALL_BIN) ./files/etc/uci-defaults/50-https-dns-proxy-migrate-options.sh $(1)/etc/uci-defaults/50-https-dns-proxy-migrate-options.sh endef $(eval $(call BuildPackage,https-dns-proxy)) diff --git a/net/https-dns-proxy/files/https-dns-proxy.config b/net/https-dns-proxy/files/etc/config/https-dns-proxy similarity index 100% rename from net/https-dns-proxy/files/https-dns-proxy.config rename to net/https-dns-proxy/files/etc/config/https-dns-proxy diff --git a/net/https-dns-proxy/files/etc/hotplug.d/online/30-https-dns-proxy b/net/https-dns-proxy/files/etc/hotplug.d/online/30-https-dns-proxy new file mode 100644 index 000000000..0ff3ca28f --- /dev/null +++ b/net/https-dns-proxy/files/etc/hotplug.d/online/30-https-dns-proxy @@ -0,0 +1,2 @@ +#!/bin/sh +/etc/init.d/https-dns-proxy start 'on_hotplug' diff --git a/net/https-dns-proxy/files/https-dns-proxy.init b/net/https-dns-proxy/files/etc/init.d/https-dns-proxy similarity index 92% rename from net/https-dns-proxy/files/https-dns-proxy.init rename to net/https-dns-proxy/files/etc/init.d/https-dns-proxy index e403686a6..6529bf3e3 100755 --- a/net/https-dns-proxy/files/https-dns-proxy.init +++ b/net/https-dns-proxy/files/etc/init.d/https-dns-proxy @@ -1,9 +1,9 @@ #!/bin/sh /etc/rc.common -# Copyright 2019-2022 Stan Grishin (stangri@melmac.ca) +# Copyright 2019-2023 Stan Grishin (stangri@melmac.ca) # shellcheck disable=SC1091,SC3043,SC3060 # shellcheck disable=SC2034 -START=95 +START=90 # shellcheck disable=SC2034 USE_PROCD=1 @@ -71,7 +71,7 @@ dnsmasq_restart() { [ -x /etc/init.d/dnsmasq ] || return 1; /etc/init.d/dnsmasq version() { echo "$PKG_VERSION"; } -xappend() { param="$param $1"; } +xappend() { PROG_param="$PROG_param $1"; } append_bool() { local section="$1" @@ -127,13 +127,18 @@ append_bootstrap() { [ "$ipv6_resolvers_only" -eq 0 ] && xappend '-4' } +resolver_health_check() { resolveip -t 3 one.one.one.one >/dev/null 2>&1; } + boot() { ubus -t 30 wait_for network.interface 2>/dev/null rc_procd start_service 'on_boot' + resolver_health_check || rc_procd stop_service 'on_boot' } start_instance() { - local cfg="$1" param listen_addr listen_port ipv6_resolvers_only p url iface + local cfg="$1" param="$2" + local PROG_param + local listen_addr listen_port ipv6_resolvers_only p url iface config_get url "$cfg" 'resolver_url' config_get_bool ipv6_resolvers_only "$cfg" 'use_ipv6_resolvers_only' '0' @@ -153,7 +158,7 @@ start_instance() { procd_open_instance # shellcheck disable=SC2086 - procd_set_param command $PROG $param + procd_set_param command $PROG $PROG_param procd_set_param stderr 1 procd_set_param stdout 1 procd_set_param respawn @@ -161,7 +166,6 @@ start_instance() { json_add_object mdns procd_add_mdns_service "$packageName" 'udp' "$port" "DNS over HTTPS proxy" json_close_object - json_add_string url "$url" if [ "$force_dns" -ne 0 ]; then json_add_array firewall for iface in $procd_fw_src_interfaces; do @@ -218,12 +222,13 @@ start_instance() { } start_service() { + local param="$1" local canaryDomains canary_domains_icloud canary_domains_mozilla local dnsmasq_config_update force_dns force_dns_port local procd_fw_src_interfaces local port=5053 - output "Starting $serviceName instances " + output "Starting $serviceName instances ${param:+$param }" config_load "$packageName" config_get_bool canary_domains_icloud 'config' 'canary_domains_icloud' '1' config_get_bool canary_domains_mozilla 'config' 'canary_domains_mozilla' '1' @@ -239,7 +244,7 @@ start_service() { fi dhcp_backup 'create' config_load "$packageName" - config_foreach start_instance "$packageName" + config_foreach start_instance "$packageName" "$param" output "\\n" if [ -n "$(uci_changes dhcp)" ]; then output "Updating dnsmasq config " @@ -248,6 +253,10 @@ start_service() { else output_failn fi + param='dnsmasq_restart' + fi + if [ "$param" = 'on_hotplug' ] || [ "$param" = 'on_boot' ] || \ + [ "$param" = 'dnsmasq_restart' ] ; then output "Restarting dnsmasq " if dnsmasq_restart; then output_okn @@ -258,10 +267,11 @@ start_service() { } stop_service() { + local param="$1" local canaryDomains canary_domains_icloud canary_domains_mozilla local dnsmasq_config_update local s=0 - output "Stopping $serviceName " + output "Stopping $serviceName ${param:+$param }" config_load "$packageName" config_get dnsmasq_config_update 'config' 'dnsmasq_config_update' '*' config_get_bool canary_domains_icloud 'config' 'canary_domains_icloud' '1' @@ -278,7 +288,7 @@ stop_service() { dnsmasq_restart || s=1 fi # shellcheck disable=SC2015 - [ "$s" -eq 0 ] && output_okn || output_failn + [ "$s" = '0' ] && output_okn || output_failn } # shellcheck disable=SC1091 @@ -319,14 +329,16 @@ dnsmasq_doh_server() { ::) address='::1';; esac uci_add_list_if_new 'dhcp' "$cfg" 'server' "${address}#${port}" + uci_add_list_if_new 'dhcp' "$cfg" 'doh_server' "${address}#${port}" ;; remove) - eval "$(ubus call service list "{ 'verbose': true, 'name': '$packageName' }" | jsonfilter -F '# ' -e 'TUPLES=@[*].instances[*].command[4,6]')" - for i in $TUPLES; do + for i in $(uci -q get "dhcp.$cfg.doh_server"); do uci_remove_list 'dhcp' "$cfg" 'server' "$i" + uci_remove_list 'dhcp' "$cfg" 'doh_server' "$i" done for i in $canaryDomains; do uci_remove_list 'dhcp' "$cfg" 'server' "/${i}/" + uci_remove_list 'dhcp' "$cfg" 'doh_server' "/${i}/" done ;; esac diff --git a/net/https-dns-proxy/files/https-dns-proxy.defaults b/net/https-dns-proxy/files/etc/uci-defaults/50-https-dns-proxy-migrate-options.sh similarity index 100% rename from net/https-dns-proxy/files/https-dns-proxy.defaults rename to net/https-dns-proxy/files/etc/uci-defaults/50-https-dns-proxy-migrate-options.sh diff --git a/net/https-dns-proxy/files/https-dns-proxy.hotplug.iface b/net/https-dns-proxy/files/https-dns-proxy.hotplug.iface deleted file mode 100644 index c25b9e26d..000000000 --- a/net/https-dns-proxy/files/https-dns-proxy.hotplug.iface +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -if [ "$ACTION" = 'ifup' ] && [ "$INTERFACE" = 'wan' ] && /etc/init.d/https-dns-proxy enabled; then - logger -t "https-dns-proxy" "Restarting https-dns-proxy due to $ACTION of $INTERFACE" - /etc/init.d/https-dns-proxy restart -fi diff --git a/net/jool/Makefile b/net/jool/Makefile index fbefb3949..6d5069d81 100644 --- a/net/jool/Makefile +++ b/net/jool/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=jool -PKG_VERSION:=4.1.8 +PKG_VERSION:=4.1.10 PKG_RELEASE:=1 PKG_LICENSE:=GPL-2.0-only @@ -16,8 +16,8 @@ PKG_LICENSE_FILES:=COPYING PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/NICMx/Jool.git -PKG_SOURCE_VERSION:=6822bdee4ec63467e82d723a3381b3116c1853d9 -PKG_MIRROR_HASH:=6ef000459858a87e206c903828f428d469c18221789cb65fec91a8d822b0178f +PKG_SOURCE_VERSION:=47334c9124b7a2e3253fb279e6c33acb9c2b09a6 +PKG_MIRROR_HASH:=ef34f68eb911c97016180ed09e852625a3c0fe49f7d7574382a03db75c23b60e PKG_BUILD_DIR=$(KERNEL_BUILD_DIR)/$(PKG_SOURCE_SUBDIR) PKG_BUILD_PARALLEL:=1 @@ -67,7 +67,7 @@ endef define Package/jool/Default SECTION:=net CATEGORY:=Network - URL:=https://www.jool.mx + URL:=https://nicmx.github.io/Jool/ endef define Package/jool/Default/description diff --git a/net/jool/patches/000-include-csum_tcpudp_magic-header.patch b/net/jool/patches/000-include-csum_tcpudp_magic-header.patch new file mode 100644 index 000000000..4d004b865 --- /dev/null +++ b/net/jool/patches/000-include-csum_tcpudp_magic-header.patch @@ -0,0 +1,26 @@ +From aa511f8856b4a437de005f23c6932948fffd8768 Mon Sep 17 00:00:00 2001 +From: Alberto Leiva Popper +Date: Sat, 1 Jul 2023 09:52:09 -0600 +Subject: [PATCH] Include csum_tcpudp_magic's header + +Fixes build in some kernels. +In fact, I'm not sure why I'm not getting the warning. It looks as +though I should. + +Thanks to Charles Hardin for this patch. + +Fixes #407. +--- + src/mod/common/rfc7915/6to4.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/src/mod/common/rfc7915/6to4.c ++++ b/src/mod/common/rfc7915/6to4.c +@@ -1,6 +1,7 @@ + #include "mod/common/rfc7915/6to4.h" + + #include ++#include + #include + #include + diff --git a/net/jool/patches/001-libtool-reduce-version.patch b/net/jool/patches/001-libtool-reduce-version.patch deleted file mode 100644 index 94f3e7586..000000000 --- a/net/jool/patches/001-libtool-reduce-version.patch +++ /dev/null @@ -1,21 +0,0 @@ -From: Tiago Gaspar -Date: Fri, 21 Jan 2022 13:39:30 +0000 -Subject: [PATCH] libtool: Reduce the required version - -Current Openwrt's libtool verion is 2.4.2, yet, jool had the requirement -set to 2.4.6 in source. -Change that to Openwrt's version. - -Signed-off-by: Tiago Gaspar - ---- a/configure.ac -+++ b/configure.ac -@@ -5,7 +5,7 @@ AC_PREREQ([2.68]) - AC_INIT([Jool], [4.1.8], [jool@nic.mx]) - AC_CONFIG_SRCDIR([src/common/xlat.h]) - AM_INIT_AUTOMAKE([subdir-objects]) --LT_PREREQ([2.4.6]) -+LT_PREREQ([2.4.2]) - - # Checks for programs. - AC_PROG_CC diff --git a/net/jool/patches/100-fix-compilation-warning-simple-fix.patch b/net/jool/patches/100-fix-compilation-warning-simple-fix.patch index b695d19bb..dccd70f09 100644 --- a/net/jool/patches/100-fix-compilation-warning-simple-fix.patch +++ b/net/jool/patches/100-fix-compilation-warning-simple-fix.patch @@ -1,6 +1,6 @@ --- a/src/mod/common/skbuff.c +++ b/src/mod/common/skbuff.c -@@ -109,9 +109,9 @@ static void print_skb_fields(struct sk_buff *skb, unsigned int tabs) +@@ -109,9 +109,9 @@ static void print_skb_fields(struct sk_b print(tabs, "network_header:%u", skb->network_header); print(tabs, "mac_header:%u", skb->mac_header); print(tabs, "head:%p", skb->head); @@ -15,7 +15,7 @@ static int truncated(unsigned int tabs) --- a/src/mod/common/xlator.c +++ b/src/mod/common/xlator.c -@@ -875,7 +875,7 @@ void xlator_put(struct xlator *jool) +@@ -889,7 +889,7 @@ void xlator_put(struct xlator *jool) static bool offset_equals(struct instance_entry_usr *offset, struct jool_instance *instance) { @@ -26,7 +26,7 @@ --- a/src/mod/common/nl/instance.c +++ b/src/mod/common/nl/instance.c -@@ -37,7 +37,7 @@ static int serialize_instance(struct xlator *entry, void *arg) +@@ -37,7 +37,7 @@ static int serialize_instance(struct xla if (!root) return 1; diff --git a/net/knot-resolver/Makefile b/net/knot-resolver/Makefile index 31cb3654c..8732ff7f3 100644 --- a/net/knot-resolver/Makefile +++ b/net/knot-resolver/Makefile @@ -10,12 +10,12 @@ PKG_RELRO_FULL:=0 include $(TOPDIR)/rules.mk PKG_NAME:=knot-resolver -PKG_VERSION:=5.5.3 +PKG_VERSION:=5.7.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://secure.nic.cz/files/knot-resolver -PKG_HASH:=a38f57c68b7d237d662784d8406e6098aad66a148f44dcf498d1e9664c5fed2d +PKG_HASH:=383ef6db1cccabd2dd788ea9385f05e98a2bafdfeb7f0eda57ff9d572f4fad71 PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=GPL-3.0-later diff --git a/net/knot-resolver/patches/010-fix-lmdb.patch b/net/knot-resolver/patches/010-fix-lmdb.patch index 416822646..2b0f0c030 100644 --- a/net/knot-resolver/patches/010-fix-lmdb.patch +++ b/net/knot-resolver/patches/010-fix-lmdb.patch @@ -17,4 +17,4 @@ which is now not propagated in OpenWrt meson host package. +##endif gnutls = dependency('gnutls') luajit = dependency('luajit') - # NOTE avoid using link_args for luajit due to a macOS issue + message('------------------------------') diff --git a/net/libreswan/Makefile b/net/libreswan/Makefile index dae864a64..4ecc00a44 100644 --- a/net/libreswan/Makefile +++ b/net/libreswan/Makefile @@ -7,12 +7,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libreswan -PKG_VERSION:=4.11 +PKG_VERSION:=4.12 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://download.libreswan.org/ -PKG_HASH:=429a917fe4a55260f152cfb3188a587e5b12e94a14e240ac125319ff14b8c83d +PKG_HASH:=ae85abe415f7becf4b6a2b9897e1712f27e5aac9c35dfbdddbcce0ad7dfd99f7 PKG_MAINTAINER:=Lucian Cristian PKG_LICENSE:=GPL-2.0-or-later diff --git a/net/modemmanager/Makefile b/net/modemmanager/Makefile index 6819e96b9..0069eaae9 100644 --- a/net/modemmanager/Makefile +++ b/net/modemmanager/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=modemmanager PKG_SOURCE_VERSION:=1.20.6 -PKG_RELEASE:=11 +PKG_RELEASE:=13 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/ModemManager.git @@ -80,6 +80,8 @@ define Build/InstallDev $(INSTALL_DIR) $(1)/usr/lib/pkgconfig $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/ModemManager.pc $(1)/usr/lib/pkgconfig $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/mm-glib.pc $(1)/usr/lib/pkgconfig + $(INSTALL_DIR) $(1)/usr/share/dbus-1/interfaces + $(CP) $(PKG_BUILD_DIR)/introspection/org.freedesktop.ModemManager1.* $(1)/usr/share/dbus-1/interfaces endef define Package/modemmanager/install @@ -110,7 +112,7 @@ define Package/modemmanager/install $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/dbus-1/system-services/org.freedesktop.ModemManager1.service $(1)/usr/share/dbus-1/system-services $(INSTALL_DIR) $(1)/usr/share/ModemManager - $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/ModemManager/*.conf $(1)/usr/share/ModemManager + $$(if $$(wildcard $(PKG_INSTALL_DIR)/usr/share/ModemManager/*.conf),$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/ModemManager/*.conf $(1)/usr/share/ModemManager,) $(INSTALL_DATA) ./files/modemmanager.common $(1)/usr/share/ModemManager $(INSTALL_DIR) $(1)/usr/share/ModemManager/fcc-unlock.available.d diff --git a/net/modemmanager/files/10-report-down b/net/modemmanager/files/10-report-down index a3e5fb4ba..88b010cf0 100755 --- a/net/modemmanager/files/10-report-down +++ b/net/modemmanager/files/10-report-down @@ -29,7 +29,12 @@ MODEM_DEVICE=$(modemmanager_get_field "${MODEM_STATUS}" "modem.generic.device") CFG=$(mm_get_modem_config "${MODEM_DEVICE}") [ -n "${CFG}" ] || exit 3 -logger -t "modemmanager" "interface ${CFG} (network device ${INTERFACE}) ${STATE}" -proto_init_update $INTERFACE 0 -proto_send_update $CFG +IFUP=$(ifstatus "${CFG}" | jsonfilter -e "@.up") + +[ "${IFUP}" = "true" ] && { + logger -t "modemmanager" "interface ${CFG} (network device ${INTERFACE}) ${STATE}" + proto_init_update $INTERFACE 0 + proto_send_update $CFG +} + exit 0 diff --git a/net/modemmanager/files/modemmanager.proto b/net/modemmanager/files/modemmanager.proto index e97b768d0..a4d837c1e 100755 --- a/net/modemmanager/files/modemmanager.proto +++ b/net/modemmanager/files/modemmanager.proto @@ -323,15 +323,6 @@ modemmanager_connected_method_static_ipv6() { proto_send_update "${interface}" } -modemmanager_disconnected_method_common() { - local interface="$1" - - echo "running disconnection (common)" - - proto_init_update "*" 0 - proto_send_update "${interface}" -} - proto_modemmanager_init_config() { available=1 no_device=1 @@ -628,7 +619,6 @@ proto_modemmanager_teardown() { # disconnection handling only requires special treatment in IPv4/PPP [ "${bearermethod_ipv4}" = "ppp" ] && modemmanager_disconnected_method_ppp_ipv4 "${interface}" - modemmanager_disconnected_method_common "${interface}" # disconnect mmcli --modem="${device}" --simple-disconnect || @@ -640,9 +630,6 @@ proto_modemmanager_teardown() { # low power, only if requested [ "${lowpower:-0}" -lt 1 ] || mmcli --modem="${device}" --set-power-state-low - - proto_init_update "*" 0 - proto_send_update "$interface" } [ -n "$INCLUDE_ONLY" ] || { diff --git a/net/pdns-recursor/Makefile b/net/pdns-recursor/Makefile index 4334e136b..f0820f378 100644 --- a/net/pdns-recursor/Makefile +++ b/net/pdns-recursor/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=pdns-recursor -PKG_VERSION:=4.9.0 +PKG_VERSION:=4.9.1 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://downloads.powerdns.com/releases/ -PKG_HASH:=d36f162843e367646a661a785ca0becde9b68552855bf40532aebafa103966f3 +PKG_HASH:=0a1edc13e8f2bd661f39e316387d941e22de6a03b8a7a2fc662fdf8b942ea2be PKG_MAINTAINER:=Peter van Dijk PKG_LICENCE:=GPL-2.0-only diff --git a/net/simple-adblock/Makefile b/net/simple-adblock/Makefile deleted file mode 100644 index b3820ac81..000000000 --- a/net/simple-adblock/Makefile +++ /dev/null @@ -1,72 +0,0 @@ -# Copyright 2017-2022 Stan Grishin (stangri@melmac.ca) -# TLD optimization written by Dirk Brenken (dev@brenken.org) -# This is free software, licensed under the GNU General Public License v3. - -include $(TOPDIR)/rules.mk - -PKG_NAME:=simple-adblock -PKG_VERSION:=1.9.5 -PKG_RELEASE:=5 -PKG_MAINTAINER:=Stan Grishin -PKG_LICENSE:=GPL-3.0-or-later - -include $(INCLUDE_DIR)/package.mk - -define Package/simple-adblock - SECTION:=net - CATEGORY:=Network - TITLE:=Simple AdBlock Service - URL:=https://docs.openwrt.melmac.net/simple-adblock/ - DEPENDS:=+jshn +wget - PKGARCH:=all -endef - -define Package/simple-adblock/description -Simple adblock script to block ad or abuse/malware domains with DNSMASQ or Unbound. -Script supports local/remote list of domains and hosts-files for both block-listing and allow-listing. -Please see https://docs.openwrt.melmac.net/simple-adblock/ for more information. -endef - -define Package/simple-adblock/conffiles -/etc/config/simple-adblock -endef - -define Build/Configure -endef - -define Build/Compile -endef - -define Package/simple-adblock/install - $(INSTALL_DIR) $(1)/etc/init.d - $(INSTALL_DIR) $(1)/etc/config - $(INSTALL_DIR) $(1)/tmp - $(INSTALL_BIN) ./files/simple-adblock.init $(1)/etc/init.d/simple-adblock - $(SED) "s|^\(readonly PKG_VERSION\).*|\1='$(PKG_VERSION)-$(PKG_RELEASE)'|" $(1)/etc/init.d/simple-adblock - $(INSTALL_CONF) ./files/simple-adblock.conf $(1)/etc/config/simple-adblock - $(INSTALL_DATA) ./files/simple-adblock.conf.update $(1)/tmp/simple-adblock.conf.update -endef - -define Package/simple-adblock/postinst - #!/bin/sh - # check if we are on real system - if [ -z "$${IPKG_INSTROOT}" ]; then - sed -f /tmp/simple-adblock.conf.update -i /etc/config/simple-adblock || true - /etc/init.d/simple-adblock enable - fi - exit 0 -endef - -define Package/simple-adblock/prerm - #!/bin/sh - # check if we are on real system - if [ -z "$${IPKG_INSTROOT}" ]; then - echo "Stopping service and removing rc.d symlink for simple-adblock" - /etc/init.d/simple-adblock stop || true - /etc/init.d/simple-adblock killcache || true - /etc/init.d/simple-adblock disable || true - fi - exit 0 -endef - -$(eval $(call BuildPackage,simple-adblock)) diff --git a/net/simple-adblock/files/README.md b/net/simple-adblock/files/README.md deleted file mode 100644 index 09e19a4fc..000000000 --- a/net/simple-adblock/files/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# README - -README has been moved to [https://docs.openwrt.melmac.net/simple-adblock/](https://docs.openwrt.melmac.net/simple-adblock/). diff --git a/net/simple-adblock/files/simple-adblock.conf b/net/simple-adblock/files/simple-adblock.conf deleted file mode 100644 index e16c66bb0..000000000 --- a/net/simple-adblock/files/simple-adblock.conf +++ /dev/null @@ -1,106 +0,0 @@ -config simple-adblock 'config' - option enabled '0' - list allowed_domain 'cdn.jsdelivr.net' - option allow_non_ascii '0' - option canary_domains_icloud '0' - option canary_domains_mozilla '0' - option compressed_cache '0' - option compressed_cache_dir '/etc' - option config_update_enabled '0' - option config_update_url 'https://cdn.jsdelivr.net/gh/openwrt/packages/net/simple-adblock/files/simple-adblock.conf.update' - option curl_additional_param '' - option curl_max_file_size '30000000' - option curl_retry '3' - option download_timeout '10' - option debug '0' - option dns 'dnsmasq.servers' - option dns_instance '0' - option force_dns '1' - list force_dns_port '53' - list force_dns_port '853' -# ports listed below are used by some -# of the dnscrypt-proxy v1 resolvers -# list force_dns_port '553' -# list force_dns_port '1443' -# list force_dns_port '4343' -# list force_dns_port '4434' -# list force_dns_port '5443' -# list force_dns_port '8443' - option led 'none' - option parallel_downloads '1' - option procd_trigger_wan6 '0' - option procd_boot_wan_timeout '60' - option verbosity '2' - -# File size: 16.0K - list blocked_hosts_url 'https://adaway.org/hosts.txt' - -# File size: 20.0K - list blocked_hosts_url 'https://cdn.jsdelivr.net/gh/hoshsadiq/adblock-nocoin-list/hosts.txt' - -# File size: 80.0K - list blocked_hosts_url 'https://pgl.yoyo.org/as/serverlist.php?hostformat=hosts&showintro=1&mimetype=plaintext' - -# File size: 388.0K -# block-list may be too big for some routers -# block-list may block some video-streaming content -# list blocked_hosts_url 'https://cdn.jsdelivr.net/gh/jawz101/MobileAdTrackers/hosts' - -# File size: 424.0K -# block-list may be too big for some routers - list blocked_hosts_url 'https://winhelp2002.mvps.org/hosts.txt' - -# File size: 432.0K -# block-list may be too big for some routers - list blocked_hosts_url 'https://someonewhocares.org/hosts/hosts' - -# File size: 624.0K -# block-list too big for most routers -# list blocked_hosts_url 'http://sysctl.org/cameleon/hosts' - -# File size: 1.4M -# block-list too big for most routers -# list blocked_adblockplus_url 'https://small.oisd.nl/' - -# File size: 1.6M -# block-list too big for most routers -# list blocked_hosts_url 'https://cdn.jsdelivr.net/gh/StevenBlack/hosts/hosts' - -# File size: 2.0M -# block-list too big for most routers -# list blocked_domains_url https://cdn.jsdelivr.net/gh/bongochong/CombinedPrivacyBlockLists/NoFormatting/cpbl-ctld.txt - -# File size: 3.1M -# block-list too big for most routers -# list blocked_hosts_url 'https://hostsfile.mine.nu/Hosts' - -# File size: 8.3M -# enabling this will disable processing of any other block/allow-lists -# option dnsmasq_config_file_url 'https://dnsmasq.oisd.nl/' - -# File size: 5.0M -# block-list may be too big for some routers -# list blocked_domains_url 'https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_trackers_justdomains.txt' - -# File size: 6.2M -# block-list too big for most routers -# list blocked_adblockplus_url 'https://nsfw.oisd.nl/' - -# File size: 6.2M -# block-list too big for most routers -# list blocked_adblockplus_url 'https://big.oisd.nl/' - -# File size: 1.5M -# block-list too big for most routers -# list blocked_domains_url 'https://small.oisd.nl/domains' - -# File size: 7.8M -# block-list too big for most routers -# list blocked_domains_url 'https://nsfw.oisd.nl/domains' - -# File size: 19.9M -# block-list too big for most routers -# list blocked_domains_url 'https://big.oisd.nl/domains' - -# site was down on last check -# list blocked_domains_url 'http://support.it-mate.co.uk/downloads/hosts.txt' diff --git a/net/simple-adblock/files/simple-adblock.hotplug b/net/simple-adblock/files/simple-adblock.hotplug deleted file mode 100644 index 6dc495d04..000000000 --- a/net/simple-adblock/files/simple-adblock.hotplug +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -if [ "$ACTION" = "ifup" ]; then - sleep 10 && /etc/init.d/simple-adblock start hotplug & -fi diff --git a/net/snort3/Makefile b/net/snort3/Makefile index acfdc1e17..59492862c 100644 --- a/net/snort3/Makefile +++ b/net/snort3/Makefile @@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=snort3 -PKG_VERSION:=3.1.67.0 +PKG_VERSION:=3.1.69.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/snort3/snort3/archive/refs/tags/ -PKG_HASH:=fed8ea7cf00d69c10e5750a6507392730552594f4f4a0dd5d1bf259a691b9a54 +PKG_HASH:=97083cd33a6ba33bdaa133bf19138a3f6a24ce93b2a9e285dcbd89858534cb72 PKG_MAINTAINER:=W. Michael Petullo PKG_LICENSE:=GPL-2.0-only diff --git a/net/tor/Makefile b/net/tor/Makefile index a8edb3227..756d2785c 100644 --- a/net/tor/Makefile +++ b/net/tor/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tor -PKG_VERSION:=0.4.7.13 +PKG_VERSION:=0.4.8.4 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://dist.torproject.org/ \ https://archive.torproject.org/tor-package-archive -PKG_HASH:=2079172cce034556f110048e26083ce9bea751f3154b0ad2809751815b11ea9d +PKG_HASH:=09c1ce74a25fc3b48c81ff146cbd0dd538cbbb8fe4e2964fc2fb2b192f6a1d2b PKG_MAINTAINER:=Hauke Mehrtens \ Peter Wagner PKG_LICENSE_FILES:=LICENSE diff --git a/net/v2ray-geodata/Makefile b/net/v2ray-geodata/Makefile index 3eb1fef6a..9cc4d3265 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:=202308030045 +GEOIP_VER:=202308310037 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:=9b7fa7407f35e3087f3b052d12ed40974182c6e1864570b848c1ec901292ea82 + HASH:=536d7aa9f54af747153d4f982adaa3181025dd72faaba8f532b3f514b467eff8 endef -GEOSITE_VER:=20230803193133 +GEOSITE_VER:=20230905081311 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:=3d335d493f168eace5414ca1ff54e4f255f8e5b1a90261d2debb1cbefa0666a0 + HASH:=d393deda756a446ec5247730ef09fed80ba9fb8d9204d1263c45a3604435fe57 endef define Package/v2ray-geodata/template diff --git a/net/v2raya/Makefile b/net/v2raya/Makefile index f290183e8..eec759a7b 100644 --- a/net/v2raya/Makefile +++ b/net/v2raya/Makefile @@ -5,12 +5,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=v2rayA -PKG_VERSION:=2.2.1 +PKG_VERSION:=2.2.4 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/v2rayA/v2rayA/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=97ae3d41ddd649dd07cfecf2bbe06a513d71186ef2620ca44af12e7956be5650 +PKG_HASH:=844da2a4c1ac1f7eae02519a0833255a63938f08a554cbea043606b28ee6ebed PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)/service PKG_LICENSE:=AGPL-3.0-only @@ -59,7 +59,7 @@ define Download/v2raya-web URL:=https://github.com/v2rayA/v2rayA/releases/download/v$(PKG_VERSION)/ URL_FILE:=web.zip FILE:=$(WEB_FILE) - HASH:=b7769b287b6e2ecdf8823142d126bf9b981a8d3af4cb73c8f798ed483bcc988c + HASH:=2699dacdf39137af408a9ffcb91734e5af487bef4dccaa51f1bb3de6c4d3e8fe endef define Build/Prepare diff --git a/net/xray-core/Makefile b/net/xray-core/Makefile index 6440dab78..971a8a78d 100644 --- a/net/xray-core/Makefile +++ b/net/xray-core/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=xray-core -PKG_VERSION:=1.8.3 -PKG_RELEASE:=2 +PKG_VERSION:=1.8.4 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/XTLS/Xray-core/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=bdfa65c15cd25f931745d9c70c753503db5d119ff11960ca7b3a2e19c4b0a8d1 +PKG_HASH:=89f73107abba9bd438111edfe921603ddb3c2b631b2716fbdc6be78552f0d322 PKG_MAINTAINER:=Tianling Shen PKG_LICENSE:=MPL-2.0 diff --git a/net/xray-core/patches/00-fix-go1.21-build.patch b/net/xray-core/patches/00-fix-go1.21-build.patch deleted file mode 100644 index 5d0d99940..000000000 --- a/net/xray-core/patches/00-fix-go1.21-build.patch +++ /dev/null @@ -1,236 +0,0 @@ ---- a/go.mod -+++ b/go.mod -@@ -5,28 +5,27 @@ go 1.20 - require ( - github.com/ghodss/yaml v1.0.1-0.20220118164431-d8423dcdf344 - github.com/golang/mock v1.6.0 -- github.com/golang/protobuf v1.5.3 - github.com/google/go-cmp v0.5.9 - github.com/gorilla/websocket v1.5.0 -- github.com/miekg/dns v1.1.54 -+ github.com/miekg/dns v1.1.55 - github.com/pelletier/go-toml v1.9.5 - github.com/pires/go-proxyproto v0.7.0 -- github.com/quic-go/quic-go v0.35.1 -- github.com/refraction-networking/utls v1.3.2 -- github.com/sagernet/sing v0.2.5 -+ github.com/quic-go/quic-go v0.38.0 -+ github.com/refraction-networking/utls v1.3.3 -+ github.com/sagernet/sing v0.2.7 - github.com/sagernet/sing-shadowsocks v0.2.2 - github.com/sagernet/wireguard-go v0.0.0-20221116151939-c99467f53f2c - github.com/seiflotfy/cuckoofilter v0.0.0-20220411075957-e3b120b3f5fb - github.com/stretchr/testify v1.8.4 - github.com/v2fly/ss-bloomring v0.0.0-20210312155135-28617310f63e - github.com/xtls/reality v0.0.0-20230613075828-e07c3b04b983 -- golang.org/x/crypto v0.10.0 -- golang.org/x/net v0.11.0 -+ golang.org/x/crypto v0.12.0 -+ golang.org/x/net v0.14.0 - golang.org/x/sync v0.3.0 -- golang.org/x/sys v0.9.0 -- google.golang.org/grpc v1.56.0 -- google.golang.org/protobuf v1.30.0 -- gvisor.dev/gvisor v0.0.0-20220901235040-6ca97ef2ce1c -+ golang.org/x/sys v0.11.0 -+ google.golang.org/grpc v1.57.0 -+ google.golang.org/protobuf v1.31.0 -+ gvisor.dev/gvisor v0.0.0-20230806223740-1b6e502fedca - h12.io/socks v1.0.3 - lukechampine.com/blake3 v1.2.1 - ) -@@ -38,19 +37,19 @@ require ( - github.com/francoispqt/gojay v1.2.13 // indirect - github.com/gaukas/godicttls v0.0.3 // indirect - github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect -+ github.com/golang/protobuf v1.5.3 // indirect - github.com/google/btree v1.1.2 // indirect - github.com/google/pprof v0.0.0-20230602150820-91b7bce49751 // indirect - github.com/klauspost/compress v1.16.6 // indirect - github.com/klauspost/cpuid/v2 v2.2.5 // indirect - github.com/onsi/ginkgo/v2 v2.11.0 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect -- github.com/quic-go/qtls-go1-19 v0.3.2 // indirect -- github.com/quic-go/qtls-go1-20 v0.2.2 // indirect -+ github.com/quic-go/qtls-go1-20 v0.3.2 // indirect - github.com/riobard/go-bloom v0.0.0-20200614022211-cdc8013cb5b3 // indirect - go.uber.org/atomic v1.11.0 // indirect -- golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 // indirect -+ golang.org/x/exp v0.0.0-20230725093048-515e97ebf090 // indirect - golang.org/x/mod v0.11.0 // indirect -- golang.org/x/text v0.10.0 // indirect -+ golang.org/x/text v0.12.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.10.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc // indirect ---- a/go.sum -+++ b/go.sum -@@ -89,8 +89,8 @@ github.com/lunixbochs/vtclean v1.0.0/go. - github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= - github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= - github.com/microcosm-cc/bluemonday v1.0.1/go.mod h1:hsXNsILzKxV+sX77C5b8FSuKF00vh2OMYv+xgHpAMF4= --github.com/miekg/dns v1.1.54 h1:5jon9mWcb0sFJGpnI99tOMhCPyJ+RPVz5b63MQG0VWI= --github.com/miekg/dns v1.1.54/go.mod h1:uInx36IzPl7FYnDcMeVWxj9byh7DutNykX4G9Sj60FY= -+github.com/miekg/dns v1.1.55 h1:GoQ4hpsj0nFLYe+bWiCToyrBEJXkQfOOIvFGFy0lEgo= -+github.com/miekg/dns v1.1.55/go.mod h1:uInx36IzPl7FYnDcMeVWxj9byh7DutNykX4G9Sj60FY= - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= - github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= - github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= -@@ -112,19 +112,17 @@ github.com/prometheus/client_golang v0.8 - github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= - github.com/prometheus/common v0.0.0-20180801064454-c7de2306084e/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= - github.com/prometheus/procfs v0.0.0-20180725123919-05ee40e3a273/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= --github.com/quic-go/qtls-go1-19 v0.3.2 h1:tFxjCFcTQzK+oMxG6Zcvp4Dq8dx4yD3dDiIiyc86Z5U= --github.com/quic-go/qtls-go1-19 v0.3.2/go.mod h1:ySOI96ew8lnoKPtSqx2BlI5wCpUVPT05RMAlajtnyOI= --github.com/quic-go/qtls-go1-20 v0.2.2 h1:WLOPx6OY/hxtTxKV1Zrq20FtXtDEkeY00CGQm8GEa3E= --github.com/quic-go/qtls-go1-20 v0.2.2/go.mod h1:JKtK6mjbAVcUTN/9jZpvLbGxvdWIKS8uT7EiStoU1SM= --github.com/quic-go/quic-go v0.35.1 h1:b0kzj6b/cQAf05cT0CkQubHM31wiA+xH3IBkxP62poo= --github.com/quic-go/quic-go v0.35.1/go.mod h1:+4CVgVppm0FNjpG3UcX8Joi/frKOH7/ciD5yGcwOO1g= --github.com/refraction-networking/utls v1.3.2 h1:o+AkWB57mkcoW36ET7uJ002CpBWHu0KPxi6vzxvPnv8= --github.com/refraction-networking/utls v1.3.2/go.mod h1:fmoaOww2bxzzEpIKOebIsnBvjQpqP7L2vcm/9KUfm/E= -+github.com/quic-go/qtls-go1-20 v0.3.2 h1:rRgN3WfnKbyik4dBV8A6girlJVxGand/d+jVKbQq5GI= -+github.com/quic-go/qtls-go1-20 v0.3.2/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k= -+github.com/quic-go/quic-go v0.38.0 h1:T45lASr5q/TrVwt+jrVccmqHhPL2XuSyoCLVCpfOSLc= -+github.com/quic-go/quic-go v0.38.0/go.mod h1:MPCuRq7KBK2hNcfKj/1iD1BGuN3eAYMeNxp3T42LRUg= -+github.com/refraction-networking/utls v1.3.3 h1:f/TBLX7KBciRyFH3bwupp+CE4fzoYKCirhdRcC490sw= -+github.com/refraction-networking/utls v1.3.3/go.mod h1:DlecWW1LMlMJu+9qpzzQqdHDT/C2LAe03EdpLUz/RL8= - github.com/riobard/go-bloom v0.0.0-20200614022211-cdc8013cb5b3 h1:f/FNXud6gA3MNr8meMVVGxhp+QBTqY91tM8HjEuMjGg= - github.com/riobard/go-bloom v0.0.0-20200614022211-cdc8013cb5b3/go.mod h1:HgjTstvQsPGkxUsCd2KWxErBblirPizecHcpD3ffK+s= - github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= --github.com/sagernet/sing v0.2.5 h1:N8sUluR8GZvR9DqUiH3FA3vBb4m/EDdOVTYUrDzJvmY= --github.com/sagernet/sing v0.2.5/go.mod h1:Ta8nHnDLAwqySzKhGoKk4ZIB+vJ3GTKj7UPrWYvM+4w= -+github.com/sagernet/sing v0.2.7 h1:cOy0FfPS8q7m0aJ51wS7LRQAGc9wF+fWhHtBDj99wy8= -+github.com/sagernet/sing v0.2.7/go.mod h1:Ta8nHnDLAwqySzKhGoKk4ZIB+vJ3GTKj7UPrWYvM+4w= - github.com/sagernet/sing-shadowsocks v0.2.2 h1:ezSdVhrmIcwDXmCZF3bOJVMuVtTQWpda+1Op+Ie2TA4= - github.com/sagernet/sing-shadowsocks v0.2.2/go.mod h1:JIBWG6a7orB2HxBxYElViQFLUQxFVG7DuqIj8gD7uCQ= - github.com/sagernet/wireguard-go v0.0.0-20221116151939-c99467f53f2c h1:vK2wyt9aWYHHvNLWniwijBu/n4pySypiKRhN32u/JGo= -@@ -178,11 +176,11 @@ golang.org/x/crypto v0.0.0-2018103010241 - golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= - golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= - golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= --golang.org/x/crypto v0.10.0 h1:LKqV2xt9+kDzSTfOhx4FrkEBcMrAgHSYgzywV9zcGmM= --golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I= -+golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk= -+golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= - golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= --golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1 h1:k/i9J1pBpvlfR+9QsetwPyERsqu1GIbi967PQMq3Ivc= --golang.org/x/exp v0.0.0-20230522175609-2e198f4a06a1/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= -+golang.org/x/exp v0.0.0-20230725093048-515e97ebf090 h1:Di6/M8l0O2lCLc6VVRWhgCiApHV8MnQurBnFSHsQtNY= -+golang.org/x/exp v0.0.0-20230725093048-515e97ebf090/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= - golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= - golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= - golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -@@ -200,8 +198,8 @@ golang.org/x/net v0.0.0-20190313220215-9 - golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= - golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= - golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= --golang.org/x/net v0.11.0 h1:Gi2tvZIJyBtO9SDr1q9h5hEQCp/4L2RQ+ar0qjx2oNU= --golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= -+golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14= -+golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= - golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= - golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= - golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -@@ -225,14 +223,14 @@ golang.org/x/sys v0.0.0-20201119102817-f - golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= - golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= - golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= --golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s= --golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -+golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= -+golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= - golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= - golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= - golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= - golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= --golang.org/x/text v0.10.0 h1:UpjohKhiEgNc0CSauXmwYftY1+LlaC75SJwh0SgCX58= --golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -+golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= -+golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= - golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= - golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= - golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -@@ -268,12 +266,12 @@ google.golang.org/grpc v1.14.0/go.mod h1 - google.golang.org/grpc v1.16.0/go.mod h1:0JHn/cJsOMiMfNA9+DeHDlAU7KAAB5GDlYFpa9MZMio= - google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= - google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= --google.golang.org/grpc v1.56.0 h1:+y7Bs8rtMd07LeXmL3NxcTLn7mUkbKZqEpPhMNkwJEE= --google.golang.org/grpc v1.56.0/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= -+google.golang.org/grpc v1.57.0 h1:kfzNeI/klCGD2YPMUlaGNT3pxvYfga7smW3Vth8Zsiw= -+google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= - google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= - google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= --google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= --google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -+google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= -+google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= - gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= - gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= - gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -@@ -286,8 +284,8 @@ gopkg.in/yaml.v3 v3.0.0-20200605160147-a - gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= - gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= - grpc.go4.org v0.0.0-20170609214715-11d0a25b4919/go.mod h1:77eQGdRu53HpSqPFJFmuJdjuHRquDANNeA4x7B8WQ9o= --gvisor.dev/gvisor v0.0.0-20220901235040-6ca97ef2ce1c h1:m5lcgWnL3OElQNVyp3qcncItJ2c0sQlSGjYK2+nJTA4= --gvisor.dev/gvisor v0.0.0-20220901235040-6ca97ef2ce1c/go.mod h1:TIvkJD0sxe8pIob3p6T8IzxXunlp6yfgktvTNp+DGNM= -+gvisor.dev/gvisor v0.0.0-20230806223740-1b6e502fedca h1:7ny3LuaRJFcPuCi2mc9/tv0ybe02o7cKA2qI/edjWuE= -+gvisor.dev/gvisor v0.0.0-20230806223740-1b6e502fedca/go.mod h1:lYEMhXbxgudVhALYsMQrBaUAjM3NMinh8mKL1CJv7rc= - h12.io/socks v1.0.3 h1:Ka3qaQewws4j4/eDQnOdpr4wXsC//dXtWvftlIcCQUo= - h12.io/socks v1.0.3/go.mod h1:AIhxy1jOId/XCz9BO+EIgNL2rQiPTBNnOfnVnQ+3Eck= - honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= ---- a/proxy/wireguard/tun.go -+++ b/proxy/wireguard/tun.go -@@ -14,7 +14,7 @@ import ( - - "github.com/sagernet/wireguard-go/tun" - "github.com/xtls/xray-core/features/dns" -- "gvisor.dev/gvisor/pkg/bufferv2" -+ "gvisor.dev/gvisor/pkg/buffer" - "gvisor.dev/gvisor/pkg/tcpip" - "gvisor.dev/gvisor/pkg/tcpip/adapters/gonet" - "gvisor.dev/gvisor/pkg/tcpip/header" -@@ -30,7 +30,7 @@ type netTun struct { - ep *channel.Endpoint - stack *stack.Stack - events chan tun.Event -- incomingPacket chan *bufferv2.View -+ incomingPacket chan *buffer.View - mtu int - dnsClient dns.Client - hasV4, hasV6 bool -@@ -48,7 +48,7 @@ func CreateNetTUN(localAddresses []netip - ep: channel.New(1024, uint32(mtu), ""), - stack: stack.New(opts), - events: make(chan tun.Event, 10), -- incomingPacket: make(chan *bufferv2.View), -+ incomingPacket: make(chan *buffer.View), - dnsClient: dnsClient, - mtu: mtu, - } -@@ -66,7 +66,7 @@ func CreateNetTUN(localAddresses []netip - } - protoAddr := tcpip.ProtocolAddress{ - Protocol: protoNumber, -- AddressWithPrefix: tcpip.Address(ip.AsSlice()).WithPrefix(), -+ AddressWithPrefix: tcpip.AddrFromSlice(ip.AsSlice()).WithPrefix(), - } - tcpipErr := dev.stack.AddProtocolAddress(1, protoAddr, stack.AddressProperties{}) - if tcpipErr != nil { -@@ -116,7 +116,7 @@ func (tun *netTun) Write(buf []byte, off - return 0, nil - } - -- pkb := stack.NewPacketBuffer(stack.PacketBufferOptions{Payload: bufferv2.MakeWithData(packet)}) -+ pkb := stack.NewPacketBuffer(stack.PacketBufferOptions{Payload: buffer.MakeWithData(packet)}) - switch packet[0] >> 4 { - case 4: - tun.ep.InjectInbound(header.IPv4ProtocolNumber, pkb) -@@ -172,7 +172,7 @@ func convertToFullAddr(endpoint netip.Ad - } - return tcpip.FullAddress{ - NIC: 1, -- Addr: tcpip.Address(endpoint.Addr().AsSlice()), -+ Addr: tcpip.AddrFromSlice(endpoint.Addr().AsSlice()), - Port: endpoint.Port(), - }, protoNumber - } diff --git a/net/zerotier/Makefile b/net/zerotier/Makefile index 98551b062..b997b4c87 100644 --- a/net/zerotier/Makefile +++ b/net/zerotier/Makefile @@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=zerotier -PKG_VERSION:=1.10.4 +PKG_VERSION:=1.12.1 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/zerotier/ZeroTierOne/tar.gz/$(PKG_VERSION)? -PKG_HASH:=5dc185a65baf8caa3fb739cbc8043677aa117604be9036a28c34f8fda5d6eafe +PKG_HASH:=c6758a04f161bba1c0ef11fce991029a645ede381ae3862a25a2f5145aaffca8 PKG_BUILD_DIR:=$(BUILD_DIR)/ZeroTierOne-$(PKG_VERSION) PKG_MAINTAINER:=Moritz Warning @@ -27,7 +27,7 @@ include $(INCLUDE_DIR)/package.mk define Package/zerotier SECTION:=net CATEGORY:=Network - DEPENDS:=+libpthread +libstdcpp +kmod-tun +ip +libminiupnpc +libnatpmp + DEPENDS:=+libpthread +libstdcpp +kmod-tun +ip +libminiupnpc +libnatpmp +libatomic TITLE:=Create flat virtual Ethernet networks of almost unlimited size URL:=https://www.zerotier.com SUBMENU:=VPN diff --git a/net/zerotier/files/etc/init.d/zerotier b/net/zerotier/files/etc/init.d/zerotier index f7ba8e91d..a919dacea 100755 --- a/net/zerotier/files/etc/init.d/zerotier +++ b/net/zerotier/files/etc/init.d/zerotier @@ -18,7 +18,7 @@ start_instance() { local args="" if ! section_enabled "$cfg"; then - echo "disabled in config" + echo "disabled in /ect/config/zerotier" return 1 fi diff --git a/net/zerotier/patches/0001-fix-makefile.patch b/net/zerotier/patches/0001-fix-miniupnpc-natpmp-include-paths.patch similarity index 59% rename from net/zerotier/patches/0001-fix-makefile.patch rename to net/zerotier/patches/0001-fix-miniupnpc-natpmp-include-paths.patch index eacb72352..8779829f4 100644 --- a/net/zerotier/patches/0001-fix-makefile.patch +++ b/net/zerotier/patches/0001-fix-miniupnpc-natpmp-include-paths.patch @@ -1,11 +1,12 @@ -From 2c513f0db50eaee5623d58ac024d62142f4ac782 Mon Sep 17 00:00:00 2001 +From 8b30e8617720c2a540c84c5c00508e8081e9f06e Mon Sep 17 00:00:00 2001 From: Moritz Warning -Date: Mon, 4 Jul 2022 00:09:24 +0200 -Subject: [PATCH 1/2] fix makefile +Date: Sun, 27 Aug 2023 23:26:33 +0200 +Subject: [PATCH 1/5] fix miniupnpc/natpmp include paths +Signed-off-by: Moritz Warning --- - make-linux.mk | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) + make-linux.mk | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) --- a/make-linux.mk +++ b/make-linux.mk @@ -29,32 +30,3 @@ Subject: [PATCH 1/2] fix makefile ONE_OBJS+=ext/libnatpmp/natpmp.o ext/libnatpmp/getgateway.o else LDLIBS+=-lnatpmp -@@ -70,7 +70,7 @@ else - override CFLAGS+=-Wall -Wno-deprecated -pthread $(INCLUDES) -DNDEBUG $(DEFS) - CXXFLAGS?=-O3 -fstack-protector - override CXXFLAGS+=-Wall -Wno-deprecated -std=c++17 -pthread $(INCLUDES) -DNDEBUG $(DEFS) -- LDFLAGS=-pie -Wl,-z,relro,-z,now -+ LDFLAGS=-Wl,-z,relro,-z,now - RUSTFLAGS=--release - endif - -@@ -316,7 +316,7 @@ ifeq ($(ZT_CONTROLLER),1) - endif - - # ARM32 hell -- use conservative CFLAGS --ifeq ($(ZT_ARCHITECTURE),3) -+ifeq (0,3) - ifeq ($(shell if [ -e /usr/bin/dpkg ]; then dpkg --print-architecture; fi),armel) - override CFLAGS+=-march=armv5t -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm - override CXXFLAGS+=-march=armv5t -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm -@@ -343,8 +343,8 @@ ifeq ($(ZT_USE_ARM32_NEON_ASM_CRYPTO),1) - endif - - # Position Independence --override CFLAGS+=-fPIC -fPIE --override CXXFLAGS+=-fPIC -fPIE -+#override CFLAGS+=-fPIC -fPIE -+#override CXXFLAGS+=-fPIC -fPIE - - .PHONY: all - all: one diff --git a/net/zerotier/patches/0002-remove-PIE-options.patch b/net/zerotier/patches/0002-remove-PIE-options.patch new file mode 100644 index 000000000..0b21991eb --- /dev/null +++ b/net/zerotier/patches/0002-remove-PIE-options.patch @@ -0,0 +1,41 @@ +From 9b97099560a79529f2b5a748e73164ae038d2b76 Mon Sep 17 00:00:00 2001 +From: Moritz Warning +Date: Sun, 27 Aug 2023 23:27:33 +0200 +Subject: [PATCH 2/5] remove PIE options + +Signed-off-by: Moritz Warning +--- + make-linux.mk | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +--- a/make-linux.mk ++++ b/make-linux.mk +@@ -70,7 +70,7 @@ else + override CFLAGS+=-Wall -Wno-deprecated -pthread $(INCLUDES) -DNDEBUG $(DEFS) + CXXFLAGS?=-O3 -fstack-protector + override CXXFLAGS+=-Wall -Wno-deprecated -std=c++17 -pthread $(INCLUDES) -DNDEBUG $(DEFS) +- LDFLAGS=-pie -Wl,-z,relro,-z,now ++ LDFLAGS=-Wl,-z,relro,-z,now + RUSTFLAGS=--release + endif + +@@ -327,7 +327,7 @@ ifeq ($(ZT_CONTROLLER),1) + endif + + # ARM32 hell -- use conservative CFLAGS +-ifeq ($(ZT_ARCHITECTURE),3) ++ifeq (0,3) + ifeq ($(shell if [ -e /usr/bin/dpkg ]; then dpkg --print-architecture; fi),armel) + override CFLAGS+=-march=armv5t -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm + override CXXFLAGS+=-march=armv5t -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm +@@ -354,8 +354,8 @@ ifeq ($(ZT_USE_ARM32_NEON_ASM_CRYPTO),1) + endif + + # Position Independence +-override CFLAGS+=-fPIC -fPIE +-override CXXFLAGS+=-fPIC -fPIE ++#override CFLAGS+=-fPIC -fPIE ++#override CXXFLAGS+=-fPIC -fPIE + + # Non-executable stack + override ASFLAGS+=--noexecstack diff --git a/net/zerotier/patches/0002-fix-compilation-for-arm_cortex-a7-neon.patch b/net/zerotier/patches/0003-fix-compilation-for-arm_cortex-a7-neon.patch similarity index 84% rename from net/zerotier/patches/0002-fix-compilation-for-arm_cortex-a7-neon.patch rename to net/zerotier/patches/0003-fix-compilation-for-arm_cortex-a7-neon.patch index 00fef6eb5..8831edef7 100644 --- a/net/zerotier/patches/0002-fix-compilation-for-arm_cortex-a7-neon.patch +++ b/net/zerotier/patches/0003-fix-compilation-for-arm_cortex-a7-neon.patch @@ -1,7 +1,7 @@ -From 819232a2b5a09d7aa3cacb8dcf7c2e28afde1b06 Mon Sep 17 00:00:00 2001 +From 1689085363cf87deb3877139931a8a88d8c7bcd3 Mon Sep 17 00:00:00 2001 From: Moritz Warning Date: Mon, 4 Jul 2022 00:10:52 +0200 -Subject: [PATCH 2/2] fix compilation for arm_cortex-a7+neon +Subject: [PATCH 3/5] fix compilation for arm_cortex-a7+neon Fixes "error: 'vrbitq_u8' was not declared in this scope" diff --git a/net/zerotier/patches/0004-add-missing-libatomic.patch b/net/zerotier/patches/0004-add-missing-libatomic.patch new file mode 100644 index 000000000..d8d9c6173 --- /dev/null +++ b/net/zerotier/patches/0004-add-missing-libatomic.patch @@ -0,0 +1,21 @@ +From b3879d721734862aa64433f7faf124a0862da029 Mon Sep 17 00:00:00 2001 +From: Moritz Warning +Date: Sun, 27 Aug 2023 22:27:12 +0200 +Subject: [PATCH 4/5] add missing libatomic + +Signed-off-by: Moritz Warning +--- + make-linux.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/make-linux.mk ++++ b/make-linux.mk +@@ -11,7 +11,7 @@ endif + + INCLUDES?=-Izeroidc/target -isystem ext -Iext/prometheus-cpp-lite-1.0/core/include -Iext-prometheus-cpp-lite-1.0/3rdparty/http-client-lite/include -Iext/prometheus-cpp-lite-1.0/simpleapi/include + DEFS?= +-LDLIBS?= ++LDLIBS?=-latomic + DESTDIR?= + + include objects.mk diff --git a/net/zerotier/patches/0005-remove-noexecstack.patch b/net/zerotier/patches/0005-remove-noexecstack.patch new file mode 100644 index 000000000..07b1ac3b4 --- /dev/null +++ b/net/zerotier/patches/0005-remove-noexecstack.patch @@ -0,0 +1,21 @@ +From adcc68c6c3de8460bd6263d3478873953a4cf894 Mon Sep 17 00:00:00 2001 +From: Moritz Warning +Date: Mon, 28 Aug 2023 09:48:28 +0200 +Subject: [PATCH 5/5] remove noexecstack + +The compilers for arm_cortex-a9 do not recognize this argument. +--- + make-linux.mk | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/make-linux.mk ++++ b/make-linux.mk +@@ -358,7 +358,7 @@ endif + #override CXXFLAGS+=-fPIC -fPIE + + # Non-executable stack +-override ASFLAGS+=--noexecstack ++# override ASFLAGS+=--noexecstack + + .PHONY: all + all: one diff --git a/sound/mpd/Makefile b/sound/mpd/Makefile index c46ed1a61..fbbc69839 100644 --- a/sound/mpd/Makefile +++ b/sound/mpd/Makefile @@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mpd -PKG_VERSION:=0.23.11 +PKG_VERSION:=0.23.13 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://www.musicpd.org/download/mpd/0.23 -PKG_HASH:=edb4e7a8f9dff238b5610f9e2461940ea98c727a5462fafb1cdf836304dfdca9 +PKG_HASH:=a96b01e6fbbb7e8ab25eb7c15d5c811c62eb19b76d143a802f51674791f1d519 PKG_MAINTAINER:= PKG_LICENSE:=GPL-2.0-or-later diff --git a/sound/mpd/patches/010-gcc12.patch b/sound/mpd/patches/010-gcc12.patch deleted file mode 100644 index a3b83b5d5..000000000 --- a/sound/mpd/patches/010-gcc12.patch +++ /dev/null @@ -1,30 +0,0 @@ -From e4b055eb6d08c5c8f8d85828ce4005d410e462cb Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?= - -Date: Thu, 1 Dec 2022 08:29:23 +0700 -Subject: [PATCH] v0.23.x: RemoteTagCache: add missing include - -Fix build with Boost 1.81.0. `` was included by one of those boost headers, -however, it's no longer included as of Boost 1.81.0. - -`master` doesn't use `std::array` in this file. - -While we're at it, add all necessary inclusion files. ---- - src/RemoteTagCache.hxx | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/src/RemoteTagCache.hxx -+++ b/src/RemoteTagCache.hxx -@@ -28,7 +28,11 @@ - #include - #include - -+#include -+#include -+#include - #include -+#include - - class RemoteTagCacheHandler; - diff --git a/sound/mpd/patches/030-no-avfilter.patch b/sound/mpd/patches/030-no-avfilter.patch index 233cf5077..c9652ba4e 100644 --- a/sound/mpd/patches/030-no-avfilter.patch +++ b/sound/mpd/patches/030-no-avfilter.patch @@ -11,4 +11,4 @@ -endif conf.set('HAVE_LIBAVFILTER', libavfilter_dep.found()) - if not enable_ffmpeg + if not libavutil_dep.found() diff --git a/utils/cache-domains/Makefile b/utils/cache-domains/Makefile index 0e12ec32c..21e712fd3 100644 --- a/utils/cache-domains/Makefile +++ b/utils/cache-domains/Makefile @@ -1,8 +1,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=cache-domains -PKG_VERSION:=2.3.1 -PKG_RELEASE:=2 +PKG_VERSION:=2.4.0 +PKG_RELEASE:=1 PKG_MAINTAINER:=Gerard Ryan @@ -27,6 +27,9 @@ define Package/cache-domains/install/default $(INSTALL_DIR) $(1)/etc/hotplug.d/iface/ $(INSTALL_BIN) ./files/30-cache-domains $(1)/etc/hotplug.d/iface/ + + $(INSTALL_DIR) $(1)/usr/share/cache-domains/ + $(INSTALL_BIN) ./files/test.sh $(1)/usr/share/cache-domains/ endef Build/Compile=# Nothing to compile, just install the scripts diff --git a/utils/cache-domains/files/cache-domains b/utils/cache-domains/files/cache-domains index 585aef7e9..9ac5d6716 100644 --- a/utils/cache-domains/files/cache-domains +++ b/utils/cache-domains/files/cache-domains @@ -6,31 +6,42 @@ set -e CACHE_DOMAINS_SRC="https://api.github.com/repos/uklans/cache-domains/tarball/master" CACHE_DOMAINS_DIR="/var/cache-domains" -CACHE_DOMAINS_CONF_FILE="${CACHE_DOMAINS_DIR}/lancache.conf" CONFIG_FILE="/etc/cache-domains.json" dnsmasq_conf() { + local ACTION="${1}" + local ADDN_CONF_DIR="${2}" local I=0 local DNSMASQ_CONF_DIR local DNSMASQ_CONF_FILE while uci_get "dhcp" "@dnsmasq[${I}]" > /dev/null; do DNSMASQ_CONF_DIR="$(uci_get "dhcp" "@dnsmasq[${I}]" "confdir" "/tmp/dnsmasq.d" || :)" - DNSMASQ_CONF_FILE="${DNSMASQ_CONF_DIR}/$(basename "${CACHE_DOMAINS_CONF_FILE}")" + uci_remove_list "dhcp" "@dnsmasq[${I}]" "addnmount" "${ADDN_CONF_DIR}" - case ${1} in + mkdir -p "${DNSMASQ_CONF_DIR}" + case "${ACTION}" in add) - ln -sf "${CACHE_DOMAINS_CONF_FILE}" "${DNSMASQ_CONF_FILE}" + ln -s "${ADDN_CONF_DIR}/"* "${DNSMASQ_CONF_DIR}" 2> /dev/null || : + uci_add_list "dhcp" "@dnsmasq[${I}]" "addnmount" "${ADDN_CONF_DIR}" ;; remove) - rm -f "${DNSMASQ_CONF_FILE}" + for DNSMASQ_CONF_FILE in "${DNSMASQ_CONF_DIR}/"*; do + case "$(readlink "${DNSMASQ_CONF_FILE}" || echo "${DNSMASQ_CONF_FILE}")" in + "${ADDN_CONF_DIR}"*) + rm -f "${DNSMASQ_CONF_FILE}" + ;; + esac + done ;; *) - echo "ERROR: Invalid action '${1}' for dnsmasq_conf()" + echo "ERROR: Invalid action '${ACTION}' for dnsmasq_conf()" return 1 ;; esac + uci_commit "dhcp" + I=$((${I} + 1)) done @@ -59,18 +70,16 @@ configure() { cd "${SOURCE_DIR}/scripts/" cp "${CONFIG_FILE}" "config.json" ./create-dnsmasq.sh > /dev/null - cat "./output/dnsmasq/"*".conf" > "${CACHE_DOMAINS_CONF_FILE}" cd "${INITIAL_DIR}" - rm -fr "${SOURCE_DIR}" - dnsmasq_conf add + dnsmasq_conf add "${SOURCE_DIR}/scripts/output/dnsmasq" } cleanup() { - dnsmasq_conf remove + dnsmasq_conf remove "${CACHE_DOMAINS_DIR}/$(ls "${CACHE_DOMAINS_DIR}")/scripts/output/dnsmasq" } -case ${1} in +case "${1}" in config*) configure ;; diff --git a/utils/cache-domains/files/test.sh b/utils/cache-domains/files/test.sh new file mode 100644 index 000000000..7963fc0de --- /dev/null +++ b/utils/cache-domains/files/test.sh @@ -0,0 +1,51 @@ +#! /bin/sh + +set -o errexit + +test_url() { + echo "INFO: Testing '${2}' has ${1} addresses" >&2 + + case "${1}" in + IPv4) + nslookup -type=a "${2}" + ;; + IPv6) + nslookup -type=aaaa "${2}" + ;; + *) + echo "ERROR: Unknown IP version: ${1}" >&2 + exit 1 + ;; + esac +} + +cache_domains() { + echo "INFO: cache-domains ${1}" >&2 + cache-domains "${1}" + sleep 5 +} + +cache_domains cleanup + +test_url IPv4 lancache.steamcontent.com | grep -q 'canonical name =' +test_url IPv6 lancache.steamcontent.com | grep -q 'canonical name =' + +test_url IPv4 dist.blizzard.com | grep -q 'canonical name =' +test_url IPv6 dist.blizzard.com | grep -q 'canonical name =' + +cache_domains configure + +test_url IPv4 lancache.steamcontent.com | grep -q '10.10.3.10' +test_url IPv4 lancache.steamcontent.com | grep -q '10.10.3.11' +test_url IPv6 lancache.steamcontent.com > /dev/null # None configured + +test_url IPv4 dist.blizzard.com | grep -q '10.10.3.13' +test_url IPv6 dist.blizzard.com > /dev/null # None configured + +cache_domains cleanup + +test_url IPv4 lancache.steamcontent.com | grep -q 'canonical name =' +test_url IPv6 lancache.steamcontent.com | grep -q 'canonical name =' + +test_url IPv4 dist.blizzard.com | grep -q 'canonical name =' +test_url IPv6 dist.blizzard.com | grep -q 'canonical name =' diff --git a/utils/collectd/Makefile b/utils/collectd/Makefile index 5b7d88a48..875307c17 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:=47 +PKG_RELEASE:=48 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://collectd.org/files/ \ diff --git a/utils/collectd/patches/932-add-ipstatistics.patch b/utils/collectd/patches/932-add-ipstatistics.patch index e8dd6c5e0..a51a1cb28 100644 --- a/utils/collectd/patches/932-add-ipstatistics.patch +++ b/utils/collectd/patches/932-add-ipstatistics.patch @@ -41,7 +41,7 @@ + +int ipstatistics_read() { + FILE *fh; -+ char buffer[1024]; ++ char buffer[4096]; + char *fields[19]; + int numfields; + @@ -56,7 +56,7 @@ + return -1; + } + -+ while (fgets(buffer, 1024, fh) != NULL) { ++ while (fgets(buffer, 4096, fh) != NULL) { + numfields = strsplit(buffer, fields, 2); + + if (numfields < 2) @@ -80,7 +80,7 @@ + } + + int count_ipext = 0; -+ while (fgets(buffer, 1024, fh) != NULL) { ++ while (fgets(buffer, 4096, fh) != NULL) { + numfields = strsplit(buffer, fields, 19); + + if (numfields < 8) diff --git a/utils/docker-compose/Makefile b/utils/docker-compose/Makefile index e4f5fe0d4..139148a8c 100644 --- a/utils/docker-compose/Makefile +++ b/utils/docker-compose/Makefile @@ -1,14 +1,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=compose -PKG_VERSION:=2.20.3 +PKG_VERSION:=2.21.0 PKG_RELEASE:=1 PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE PKG_SOURCE:=v$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/docker/compose/tar.gz/v${PKG_VERSION}? -PKG_HASH:=af8025623de3991a15a89575ae4fc4f3f38a17311af9641815500c01f0775950 +PKG_HASH:=0014b23382a50c90f91849e491500568366052882e22011822ca2d8a3b2976f2 PKG_MAINTAINER:=Javier Marcet diff --git a/utils/mhz/Makefile b/utils/mhz/Makefile index fa8108917..ac874a068 100644 --- a/utils/mhz/Makefile +++ b/utils/mhz/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mhz -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=https://github.com/wtarreau/mhz.git diff --git a/utils/mhz/patches/0001-Makefile-allow-overriding-CC-and-CFLAGS.patch b/utils/mhz/patches/0001-Makefile-allow-overriding-CC-and-CFLAGS.patch new file mode 100644 index 000000000..569bc998b --- /dev/null +++ b/utils/mhz/patches/0001-Makefile-allow-overriding-CC-and-CFLAGS.patch @@ -0,0 +1,29 @@ +From d55f7b578eb2126d2e4a7f045321f6ba7df3800a Mon Sep 17 00:00:00 2001 +From: Robert Marko +Date: Wed, 30 Aug 2023 20:31:07 +0200 +Subject: [PATCH] Makefile: allow overriding CC and CFLAGS + +For OpenWrt and Buildroot which support really large amount of different +architectures and cores it is sometimes required to pass our own CFLAGS. +This is especially true if hardening options are to be respected. + +Also, for cross-compiling CC should be respected as currently it is +working since both OpenWrt and Buildroot symlink gcc to the cross compiler. + +So, lets set the current values as defaults but allow them to be overriden. + +Signed-off-by: Robert Marko +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/Makefile ++++ b/Makefile +@@ -1,5 +1,5 @@ +-CC := gcc +-CFLAGS := -O3 -Wall -fomit-frame-pointer ++CC ?= gcc ++CFLAGS ?= -O3 -Wall -fomit-frame-pointer + + all: mhz + diff --git a/utils/reptyr/Makefile b/utils/reptyr/Makefile index 6bf94b535..e94c9bc00 100644 --- a/utils/reptyr/Makefile +++ b/utils/reptyr/Makefile @@ -9,7 +9,7 @@ PKG_SOURCE_URL:=https://github.com/nelhage/reptyr/archive/ PKG_HASH:=c6ffbc34a511ac00d072219bda30699e51f2f4eb483cbae9e32e981d49e8b380 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_NAME)-$(PKG_VERSION) -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=COPYING diff --git a/utils/sshpass/Makefile b/utils/sshpass/Makefile index 064331455..052c70599 100644 --- a/utils/sshpass/Makefile +++ b/utils/sshpass/Makefile @@ -8,7 +8,7 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=@SF/sshpass PKG_HASH:=71746e5e057ffe9b00b44ac40453bf47091930cba96bbea8dc48717dedc49fb7 -PKG_MAINTAINER:=Josef Schlehofer +PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=GPL-2.0-or-later PKG_LICENSE_FILES:=COPYING diff --git a/utils/syncthing/Makefile b/utils/syncthing/Makefile index 1696a01cd..e8b744a46 100644 --- a/utils/syncthing/Makefile +++ b/utils/syncthing/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=syncthing -PKG_VERSION:=1.23.7 +PKG_VERSION:=1.24.0 PKG_RELEASE:=1 PKG_SOURCE:=syncthing-source-v$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/syncthing/syncthing/releases/download/v$(PKG_VERSION) -PKG_HASH:=18d8dd74d8077f500a139752261b78217ef0b0a912a7c017192097a7196e21a1 +PKG_HASH:=4a9459667f9b70a7d1e7d572c7c9d02431ef8f055679eef368300ce1a826608f PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)/$(PKG_NAME) @@ -26,7 +26,7 @@ GO_PKG_BUILD_PKG:=\ $(if $(CONFIG_PACKAGE_strelaysrv),$(GO_PKG)/cmd/strelaysrv/) GO_PKG_INSTALL_EXTRA:=^gui/ -GO_PKG_TAGS:=noupgrade,noquic +GO_PKG_TAGS:=noupgrade GO_PKG_LDFLAGS_X:=\ $(GO_PKG)/lib/build.Version=v$(PKG_VERSION) \ $(GO_PKG)/lib/build.Stamp=$(SOURCE_DATE_EPOCH) \ diff --git a/utils/tang/Makefile b/utils/tang/Makefile index 8eee5becd..4660fa786 100644 --- a/utils/tang/Makefile +++ b/utils/tang/Makefile @@ -9,11 +9,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tang PKG_VERSION:=14 -PKG_RELEASE:=1 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://github.com/latchset/$(PKG_NAME)/releases/download/v$(PKG_VERSION)/ -PKG_HASH:=0b56702a8ac19ff320d7e13a49682efba32403933c84ab1dae0b26ddcc4e3fe5 +PKG_HASH:=04263ed1cc98d60cab29fe47f908921b7b1aa4d6da5f9de2fcbe543773b75886 PKG_MAINTAINER:=Tibor Dudlák PKG_LICENSE:=GPL-3.0-or-later @@ -25,7 +25,7 @@ include $(INCLUDE_DIR)/meson.mk define Package/tang SECTION:=utils TITLE:=tang v$(PKG_VERSION) - daemon for binding data to the presence of a third party - DEPENDS:=+libhttp-parser +jose +bash + DEPENDS:=+libhttp-parser +jose URL:=https://github.com/latchset/tang USERID:=tang:tang endef diff --git a/utils/tang/patches/100-tang-show-keys-use-wget.patch b/utils/tang/patches/100-tang-show-keys-use-wget.patch new file mode 100644 index 000000000..1b3b682fb --- /dev/null +++ b/utils/tang/patches/100-tang-show-keys-use-wget.patch @@ -0,0 +1,16 @@ +diff --git a/src/tang-show-keys b/src/tang-show-keys +index 0c33c3a..4b64bda 100755 +--- a/src/tang-show-keys ++++ b/src/tang-show-keys +@@ -25,9 +25,9 @@ if [ $# -gt 1 ]; then + exit 1 + fi + +-port=${1-80} ++port=${1-9090} + +-adv=$(curl -sSf "localhost:$port/adv") ++adv=$(wget -qO- "http://127.0.0.1:$port/adv") + + THP_DEFAULT_HASH=S256 # SHA-256. + jose fmt --json "${adv}" -g payload -y -o- \