Merge branch 'openwrt:master' into master
This commit is contained in:
commit
c4844df444
139 changed files with 2143 additions and 1175 deletions
|
@ -4,7 +4,7 @@ PKG_NAME:=syslog-ng
|
|||
PKG_VERSION:=4.2.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
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
|
||||
|
|
|
@ -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 <zhaojh329@gmail.com>
|
||||
PKG_LICENSE:=MIT
|
||||
|
|
|
@ -16,7 +16,7 @@ PKG_HASH:=9b7c3b412e9e69d172cfb24be0e6addcc9f1bd01a28db8bebe66d75ccc533d88
|
|||
|
||||
PKG_LICENSE:=Apache-2.0
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
|
||||
PKG_BUILD_DEPENDS:=python-poetry-core/host
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ PKG_RELEASE:=1
|
|||
PYPI_NAME:=awesomeversion
|
||||
PKG_HASH:=a505558316010d2d10d487226f79c1157204af00fa462fdcf948e347011dd491
|
||||
|
||||
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENCE.md
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ PKG_RELEASE:=1
|
|||
PYPI_NAME:=Babel
|
||||
PKG_HASH:=cc2d99999cd01d44420ae725a21c9e3711b3aadc7976d6147f622d8581963455
|
||||
|
||||
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
PKG_LICENSE:=BSD-3-Clause
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
|
|
|
@ -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 <stuff@quintin.me.uk>
|
||||
PKG_LICENSE:=MIT
|
||||
|
|
|
@ -14,7 +14,7 @@ PKG_RELEASE:=1
|
|||
PYPI_NAME:=cachetools
|
||||
PKG_HASH:=dce83f2d9b4e1f732a8cd44af8e8fab2dbe46201467fc98b3ef8f269092bf62b
|
||||
|
||||
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
|
|
|
@ -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 <stuff@quintin.me.uk>
|
||||
PKG_LICENSE:=MIT
|
||||
|
|
|
@ -15,7 +15,7 @@ PYPI_NAME:=flask-babel
|
|||
PYPI_SOURCE_NAME:=flask_babel
|
||||
PKG_HASH:=be015772c5d7f046f3b99c508dcf618636eb93d21b713b356db79f3e79f69f39
|
||||
|
||||
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
PKG_LICENSE:=BSD-3-Clause
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ PKG_RELEASE:=1
|
|||
PYPI_NAME:=Flask-SeaSurf
|
||||
PKG_HASH:=54537008c769ac0ada8237877327c3e7ed74dcd8b01e74a9120ee0232c5951a9
|
||||
|
||||
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
PKG_LICENSE:=BSD-3-Clause
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ PKG_RELEASE:=1
|
|||
PYPI_NAME:=Flask-Session
|
||||
PKG_HASH:=0768e2bbf06f963ec1aa711bde7aa32dc39ff70f89b495d6db687d899eae4423
|
||||
|
||||
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
PKG_LICENSE:=BSD-3-Clause
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ PKG_RELEASE:=1
|
|||
PYPI_NAME:=Markdown
|
||||
PKG_HASH:=225c6123522495d4119a90b3a3ba31a1e87a70369e03f14799ea9c0d7183a3d6
|
||||
|
||||
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
PKG_LICENSE:=BSD-3-Clause
|
||||
PKG_LICENSE_FILES:=LICENSE.md
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -8,7 +8,7 @@ PKG_NAME:=python-paho-mqtt
|
|||
PKG_VERSION:=1.6.1
|
||||
PKG_RELEASE:=2
|
||||
|
||||
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>, Alexandru Ardelean <ardeleanalex@gmail.com>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>, Alexandru Ardelean <ardeleanalex@gmail.com>
|
||||
PKG_LICENSE:=EPL-1.0 Eclipse Distribution License v1.0
|
||||
PKG_LICENSE_FILES:=epl-v10 edl-v10
|
||||
|
||||
|
|
|
@ -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 <jan.pavlinec1@gmail.com>, Jeffery To <jeffery.to@gmail.com>
|
||||
PKG_LICENSE:=MIT
|
||||
|
|
|
@ -14,7 +14,7 @@ PKG_RELEASE:=1
|
|||
PYPI_NAME:=pyotp
|
||||
PKG_HASH:=346b6642e0dbdde3b4ff5a930b664ca82abfa116356ed48cc42c7d6590d36f63
|
||||
|
||||
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ PKG_RELEASE:=1
|
|||
PYPI_NAME:=pyrsistent
|
||||
PKG_HASH:=1a2994773706bbb4995c31a97bc94f1418314923bd1048c6d964837040376440
|
||||
|
||||
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE.mit
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ PKG_NAME:=python-requests
|
|||
PKG_VERSION:=2.31.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>, Alexandru Ardelean <ardeleanalex@gmail.com>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>, Alexandru Ardelean <ardeleanalex@gmail.com>
|
||||
PKG_LICENSE:=Apache-2.0
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_CPE_ID:=cpe:/a:python-requests:requests
|
||||
|
|
|
@ -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 <daniel@dd-wrt.com>
|
||||
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))
|
||||
|
|
|
@ -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 <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
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))
|
||||
|
|
|
@ -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čí <cynerd@email.cz>
|
||||
|
||||
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))
|
||||
|
|
|
@ -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 <josef.schlehofer@nic.cz>
|
||||
PKG_LICENSE:=BSD-2-Clause
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
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))
|
||||
|
|
|
@ -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 <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
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
|
||||
|
||||
|
|
|
@ -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 <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
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))
|
||||
|
|
|
@ -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 <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
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
|
||||
|
|
|
@ -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 <julien.malik@paraiso.me>
|
||||
|
||||
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))
|
||||
|
|
|
@ -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 <who+openwrt@cnackers.org>
|
||||
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
|
||||
|
|
|
@ -14,7 +14,7 @@ PKG_RELEASE:=1
|
|||
PYPI_NAME:=pyuci
|
||||
PKG_HASH:=865a45d48fb5d363f1230e94fa2c5b01ae6487f02f2180b0a6f78193a70166e2
|
||||
|
||||
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
PKG_LICENSE:=GPL-3.0-or-later
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ PKG_RELEASE:=1
|
|||
PYPI_NAME:=Unidecode
|
||||
PKG_HASH:=fed09cf0be8cf415b391642c2a5addfc72194407caee4f98719e40ec2a72b830
|
||||
|
||||
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
PKG_LICENSE:=GPL-2.0-or-later
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
|
|
|
@ -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 <pepe.schlehofer@gmail.com>
|
||||
|
@ -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
|
||||
|
|
|
@ -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 <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
PKG_LICENSE:=Apache-2.0
|
||||
PKG_LICENSE_FILES:=COPYING
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
include ../pypi.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
|
|
@ -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 <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
|
||||
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))
|
||||
|
|
|
@ -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 <jan.pavlinec1@gmail.com>
|
||||
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))
|
||||
|
|
|
@ -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 <javier@marcet.info>
|
||||
PKG_LICENSE:=Apache-2.0
|
||||
|
|
|
@ -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 <michal.vasilek@nic.cz>
|
||||
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))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -14,7 +14,7 @@ PKG_RELEASE:=4
|
|||
PYPI_NAME:=PyYAML
|
||||
PKG_HASH:=68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2
|
||||
|
||||
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_CPE_ID:=cpe:/a:pyyaml_project:pyyaml
|
||||
|
|
|
@ -14,7 +14,7 @@ PKG_RELEASE:=1
|
|||
PYPI_NAME:=bottle
|
||||
PKG_HASH:=e1a9c94970ae6d710b3fb4526294dfeb86f2cb4a81eff3a4b98dc40fb0e5e021
|
||||
|
||||
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_CPE_ID:=cpe:/a:bottlepy:bottle
|
||||
|
|
|
@ -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)" \
|
||||
|
|
|
@ -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
|
||||
$(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)
|
||||
ifeq ($(2),)
|
||||
Py3Package/$(1)/filespec=
|
||||
else
|
||||
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
|
||||
$(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))
|
||||
|
|
|
@ -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 \
|
||||
))
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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) \
|
||||
|
|
|
@ -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) \
|
||||
|
|
|
@ -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) \
|
||||
|
|
|
@ -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) \
|
||||
|
|
|
@ -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 \
|
||||
, \
|
||||
|
|
|
@ -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 \
|
||||
))
|
||||
|
|
|
@ -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 \
|
||||
))
|
||||
|
|
|
@ -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 \
|
||||
, \
|
||||
|
|
|
@ -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 \
|
||||
))
|
||||
|
|
|
@ -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) \
|
||||
|
|
|
@ -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) \
|
||||
|
|
|
@ -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) \
|
||||
|
|
|
@ -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) \
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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) \
|
||||
))
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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 \
|
||||
))
|
||||
|
|
|
@ -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 \
|
||||
))
|
||||
|
|
|
@ -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) \
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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
|
|
@ -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}"
|
|
@ -0,0 +1,476 @@
|
|||
From c163d7f0b67a568e9b64eeb9c1cbbaa127818596 Mon Sep 17 00:00:00 2001
|
||||
From: Jeffery To <jeffery.to@gmail.com>
|
||||
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 <christian@python.org>
|
||||
Co-authored-by: Erlend E. Aasland <erlend@python.org>
|
||||
|
||||
[omit news, changes to configure; adapt for Python 3.11]
|
||||
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
|
||||
---
|
||||
...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 <features.h>
|
||||
+# 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 <stdarg.h>
|
||||
+# 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 <<EOF
|
||||
-#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__)
|
||||
-# if defined(__x86_64__) && defined(__LP64__)
|
||||
- x86_64-linux-gnu
|
||||
-# elif defined(__x86_64__) && defined(__ILP32__)
|
||||
- x86_64-linux-gnux32
|
||||
-# elif defined(__i386__)
|
||||
- i386-linux-gnu
|
||||
-# elif defined(__aarch64__) && defined(__AARCH64EL__)
|
||||
-# if defined(__ILP32__)
|
||||
- aarch64_ilp32-linux-gnu
|
||||
-# else
|
||||
- aarch64-linux-gnu
|
||||
-# endif
|
||||
-# elif defined(__aarch64__) && defined(__AARCH64EB__)
|
||||
-# if defined(__ILP32__)
|
||||
- aarch64_be_ilp32-linux-gnu
|
||||
-# else
|
||||
- aarch64_be-linux-gnu
|
||||
-# endif
|
||||
-# elif defined(__alpha__)
|
||||
- alpha-linux-gnu
|
||||
-# elif defined(__ARM_EABI__) && defined(__ARM_PCS_VFP)
|
||||
-# if defined(__ARMEL__)
|
||||
- arm-linux-gnueabihf
|
||||
-# else
|
||||
- armeb-linux-gnueabihf
|
||||
-# endif
|
||||
-# elif defined(__ARM_EABI__) && !defined(__ARM_PCS_VFP)
|
||||
-# if defined(__ARMEL__)
|
||||
- arm-linux-gnueabi
|
||||
-# else
|
||||
- armeb-linux-gnueabi
|
||||
-# endif
|
||||
-# elif defined(__hppa__)
|
||||
- hppa-linux-gnu
|
||||
-# elif defined(__ia64__)
|
||||
- ia64-linux-gnu
|
||||
-# elif defined(__m68k__) && !defined(__mcoldfire__)
|
||||
- m68k-linux-gnu
|
||||
-# elif defined(__mips_hard_float) && defined(__mips_isa_rev) && (__mips_isa_rev >=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],
|
|
@ -1,49 +0,0 @@
|
|||
From 15d512cc35106392ed7583d0e000d9a1b865f1e1 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=C5=A0imon=20Bo=C5=99ek?= <simon.borek@nic.cz>
|
||||
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 <pali@kernel.org>
|
||||
Signed-off-by: Šimon Bořek <simon.borek@nic.cz>
|
||||
---
|
||||
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/'`
|
||||
;;
|
|
@ -14,7 +14,7 @@ PKG_RELEASE:=1
|
|||
PYPI_NAME:=ruamel.yaml
|
||||
PKG_HASH:=9751de4cbb57d4bfbf8fc394e125ed4a2f170fbff3dc3d78abf50be85924f8be
|
||||
|
||||
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ PKG_HASH:=bad6603bb14d279193107714b288be206cac565dfa49aa5b105294dd5c4aab93
|
|||
|
||||
PKG_LICENSE:=Artistic-1.0-cl8
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
|
||||
include ../pypi.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
|
|
@ -1,6 +1,23 @@
|
|||
From eeecf40c3eb3dbdf1981c508080ab3aa61e105e2 Mon Sep 17 00:00:00 2001
|
||||
From: Erwin Rol <erwin@erwinrol.com>
|
||||
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 <erwin@erwinrol.com>
|
||||
---
|
||||
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 */
|
||||
|
|
|
@ -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 <daniel.salzman@nic.cz>
|
||||
|
@ -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
|
||||
|
||||
|
|
|
@ -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))
|
||||
|
|
62
libs/libucontext/Makefile
Normal file
62
libs/libucontext/Makefile
Normal file
|
@ -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 <me@vchrist.at>
|
||||
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))
|
17
libs/libucontext/patches/010-return_values_fix.patch
Normal file
17
libs/libucontext/patches/010-return_values_fix.patch
Normal file
|
@ -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)
|
122
libs/libucontext/patches/020-honor_return_values_fix.patch
Normal file
122
libs/libucontext/patches/020-honor_return_values_fix.patch
Normal file
|
@ -0,0 +1,122 @@
|
|||
--- a/test_libucontext.c
|
||||
+++ b/test_libucontext.c
|
||||
@@ -9,6 +9,9 @@
|
||||
#include <string.h>
|
||||
#include <libucontext/libucontext.h>
|
||||
|
||||
+#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 <string.h>
|
||||
#include <ucontext.h>
|
||||
|
||||
+#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();
|
|
@ -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
|
||||
|
|
|
@ -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 <lucian.cristian@gmail.com>
|
||||
PKG_LICENCE:=MPL-2.0
|
||||
|
|
|
@ -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);
|
||||
|
|
76
net/adblock-fast/Makefile
Normal file
76
net/adblock-fast/Makefile
Normal file
|
@ -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 <stangri@melmac.ca>
|
||||
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))
|
3
net/adblock-fast/files/README.md
Normal file
3
net/adblock-fast/files/README.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
# README
|
||||
|
||||
README has been moved to [https://docs.openwrt.melmac.net/adblock-fast/](https://docs.openwrt.melmac.net/adblock-fast/).
|
|
@ -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
|
118
net/adblock-fast/files/etc/config/adblock-fast
Normal file
118
net/adblock-fast/files/etc/config/adblock-fast
Normal file
|
@ -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'
|
311
net/simple-adblock/files/simple-adblock.init → net/adblock-fast/files/etc/init.d/adblock-fast
Normal file → Executable file
311
net/simple-adblock/files/simple-adblock.init → net/adblock-fast/files/etc/init.d/adblock-fast
Normal file → Executable file
|
@ -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'
|
||||
}
|
165
net/adblock-fast/files/etc/uci-defaults/90-adblock-fast
Normal file
165
net/adblock-fast/files/etc/uci-defaults/90-adblock-fast
Normal file
|
@ -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
|
45
net/croc/Makefile
Normal file
45
net/croc/Makefile
Normal file
|
@ -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 <jelonek.jonas@gmail.com>
|
||||
|
||||
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))
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 <josef.schlehofer@nic.cz>
|
||||
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
|
||||
PKG_LICENSE:=ISC
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
#!/bin/sh
|
||||
/etc/init.d/https-dns-proxy start 'on_hotplug'
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
||||
|
|
26
net/jool/patches/000-include-csum_tcpudp_magic-header.patch
Normal file
26
net/jool/patches/000-include-csum_tcpudp_magic-header.patch
Normal file
|
@ -0,0 +1,26 @@
|
|||
From aa511f8856b4a437de005f23c6932948fffd8768 Mon Sep 17 00:00:00 2001
|
||||
From: Alberto Leiva Popper <ydahhrk@gmail.com>
|
||||
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 <linux/inetdevice.h>
|
||||
+#include <net/ip6_checksum.h>
|
||||
#include <net/udp.h>
|
||||
#include <net/tcp.h>
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
From: Tiago Gaspar <tiagogaspar8@gmail.com>
|
||||
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 <tiagogaspar8@gmail.com>
|
||||
|
||||
--- 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
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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 <jan.pavlinec1@gmail.com>
|
||||
PKG_LICENSE:=GPL-3.0-later
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue