- name: Generate build keys
run: |
+ sudo apt-get update
sudo apt-get install -y signify-openbsd
signify-openbsd -G -n -c 'DO NOT USE - OpenWrt packages feed CI' -p packages_ci.pub -s packages_ci.sec
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
- name: Remove logs
run: sudo rm -rf logs/ || true
+ - name: Check if any packages were built
+ run: |
+ if [ -n "$(find . -maxdepth 1 -type f -name '*.ipk' -print -quit)" ]; then
+ echo "Found *.ipk files"
+ HAVE_IPKS=true
+ else
+ echo "No *.ipk files found"
+ HAVE_IPKS=false
+ fi
+ echo "HAVE_IPKS=$HAVE_IPKS" >> $GITHUB_ENV
+
- name: Register QEMU
- if: ${{ matrix.runtime_test }}
+ if: ${{ matrix.runtime_test && fromJSON(env.HAVE_IPKS) }}
run: |
sudo apt-get update
sudo apt-get install -y qemu-user-static binfmt-support
sudo update-binfmts --import
- name: Build Docker container
- if: ${{ matrix.runtime_test }}
+ if: ${{ matrix.runtime_test && fromJSON(env.HAVE_IPKS) }}
run: |
docker build -t test-container --build-arg ARCH .github/workflows/
env:
ARCH: ${{ matrix.arch }}-${{ env.BRANCH }}
- name: Test via Docker container
- if: ${{ matrix.runtime_test }}
+ if: ${{ matrix.runtime_test && fromJSON(env.HAVE_IPKS) }}
run: |
docker run --rm -v $GITHUB_WORKSPACE:/ci test-container
include $(TOPDIR)/rules.mk
GO_VERSION_MAJOR_MINOR:=1.20
-GO_VERSION_PATCH:=3
+GO_VERSION_PATCH:=4
PKG_NAME:=golang
PKG_VERSION:=$(GO_VERSION_MAJOR_MINOR)$(if $(GO_VERSION_PATCH),.$(GO_VERSION_PATCH))
PKG_SOURCE:=go$(PKG_VERSION).src.tar.gz
PKG_SOURCE_URL:=$(GO_SOURCE_URLS)
-PKG_HASH:=e447b498cde50215c4f7619e5124b0fc4e25fb5d16ea47271c47f278e7aa763a
+PKG_HASH:=9f34ace128764b7a3a4b238b805856cc1b2184304df9e5690825b0710f4202d6
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
PKG_LICENSE:=BSD-3-Clause
PKG_NAME:=borgbackup
PKG_VERSION:=1.2.4
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PYPI_NAME:=borgbackup
PKG_HASH:=a4bd54e9469e81b7a30a6711423115abc818d9cd844ecb1ca0e6104bc5374da8
The data deduplication technique used makes Borg suitable for daily backups since only changes are stored. The authenticated encryption technique makes it suitable for backups to not fully trusted targets.
endef
-PKG_BUILD_DEPENDS:=python-cython/host
-
-# borg setup.py shall find these via pkg-config, but depends on python pkgconfig PyPi module
-#Â which quickly becomes a nightmare to build, since it build-depends on poetry which is not
-# available in the python package feed, and has a myriad of deps
-PYTHON3_PKG_SETUP_VARS:= \
- BORG_OPENSSL_PREFIX="/usr/lib" \
- BORG_LIBLZ4_PREFIX="/usr/lib" \
- BORG_LIBZSTD_PREFIX="/usr/lib" \
- BORG_LIBXXHASH_PREFIX="/usr/lib"
+PKG_BUILD_DEPENDS:=python-cython/host python-pkgconfig/host python-setuptools-scm/host
$(eval $(call Py3Package,borgbackup))
$(eval $(call BuildPackage,borgbackup))
PKG_NAME:=numpy
PKG_VERSION:=1.23.3
-PKG_RELEASE:=2
+PKG_RELEASE:=5
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=51bf49c0cd1d52be0a240aa66f3458afc4b95d8993d2d04f0d91fa60c10af6cd
PKG_BUILD_DEPENDS:=python-cython/host
+# Ensure numpy does not find openblas if openblas support is not enabled
+PYTHON3_PKG_BUILD_VARS:= \
+ $(if $(CONFIG_NUMPY_OPENBLAS_SUPPORT),,NPY_BLAS_ORDER= NPY_LAPACK_ORDER= )
+
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
endmenu
endef
-ifdef CONFIG_NUMPY_OPENBLAS_SUPPORT
define Build/Prepare/numpy-sitecfg
echo "[DEFAULT]" > $(PKG_BUILD_DIR)/site.cfg
echo "library_dirs = $(STAGING_DIR)/usr/lib" >> $(PKG_BUILD_DIR)/site.cfg
echo "include_dirs = $(STAGING_DIR)/usr/include" >> $(PKG_BUILD_DIR)/site.cfg
+
+ ifdef CONFIG_NUMPY_OPENBLAS_SUPPORT
echo >> $(PKG_BUILD_DIR)/site.cfg
echo "[openblas]" >> $(PKG_BUILD_DIR)/site.cfg
echo "libraries = openblas" >> $(PKG_BUILD_DIR)/site.cfg
echo "runtime_library_dirs = /usr/lib" >> $(PKG_BUILD_DIR)/site.cfg
+ endif
endef
-endif
define Build/Prepare
$(call Build/Prepare/Default)
--- /dev/null
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -2,8 +2,8 @@
+ # Minimum requirements for the build system to execute.
+ requires = [
+ "packaging==20.5; platform_machine=='arm64'", # macos M1
+- "setuptools==59.2.0",
+- "wheel==0.37.0",
++ "setuptools>=59.2.0",
++ "wheel>=0.37.0",
+ "Cython>=0.29.30,<3.0",
+ ]
+
--- /dev/null
+--- a/numpy/distutils/system_info.py
++++ b/numpy/distutils/system_info.py
+@@ -400,7 +400,7 @@ def get_standard_file(fname):
+ pass
+ else:
+ user_file = os.path.join(f, fname)
+- if os.path.isfile(user_file):
++ if "_PYTHON_HOST_PLATFORM" not in os.environ and os.path.isfile(user_file):
+ filenames.append(user_file)
+
+ # Local file
PKG_NAME:=pillow
PKG_VERSION:=9.5.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=Pillow
PKG_HASH:=bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1
The friendly PIL fork
endef
-PYTHON3_PKG_SETUP_GLOBAL_ARGS += build_ext \
- --enable-zlib \
- --enable-jpeg \
- --enable-webp \
- --enable-webpmux \
- --enable-tiff \
- --enable-freetype \
- --disable-lcms \
- --disable-jpeg2000 \
- --disable-imagequant \
- --disable-platform-guessing
+PYTHON3_PKG_BUILD_CONFIG_SETTINGS += \
+ --global-option=build_ext \
+ --global-option=--enable-zlib \
+ --global-option=--enable-jpeg \
+ --global-option=--enable-webp \
+ --global-option=--enable-webpmux \
+ --global-option=--enable-tiff \
+ --global-option=--enable-freetype \
+ --global-option=--disable-lcms \
+ --global-option=--disable-jpeg2000 \
+ --global-option=--disable-imagequant \
+ --global-option=--disable-platform-guessing
$(eval $(call Py3Package,python3-pillow))
$(eval $(call BuildPackage,python3-pillow))
include $(TOPDIR)/rules.mk
PKG_NAME:=python-astral
-PKG_VERSION:=2.2
+PKG_VERSION:=3.2
PKG_RELEASE:=1
PYPI_NAME:=astral
-PKG_HASH:=e41d9967d5c48be421346552f0f4dedad43ff39a83574f5ff2ad32b6627b6fbe
+PKG_HASH:=9b7c3b412e9e69d172cfb24be0e6addcc9f1bd01a28db8bebe66d75ccc533d88
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Josef Schlehofer <josef.schlehofer@nic.cz>
+PKG_BUILD_DEPENDS:=python-poetry-core/host
+
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
TITLE:=Calculations for the position of the sun and moon
URL:=https://github.com/sffjunkie/astral
DEPENDS+= \
- +python3-light \
- +python3-pytz
+ +python3-light
endef
define Package/python3-astral/description
PKG_NAME:=python-automat
PKG_VERSION:=20.2.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PYPI_NAME:=Automat
PKG_HASH:=7979803c74610e11ef0c0d68a2942b152df52da55336e0c9d58daf1831cbdf33
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-PYTHON3_PKG_SETUP_VARS:= \
+PYTHON3_PKG_BUILD_VARS:= \
PKG_VERSION="$(PKG_VERSION)"
define Package/python3-automat
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
+PKG_BUILD_DEPENDS:=python-poetry-core/host
+
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
PKG_NAME:=python-cached-property
PKG_VERSION:=1.5.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=cached-property
PKG_HASH:=9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-PYTHON3_PKG_SETUP_ARGS:=
-
define Package/python3-cached-property
SECTION:=lang
CATEGORY:=Languages
PKG_NAME:=python-crcmod
PKG_VERSION:=1.7
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=crcmod
PKG_HASH:=dc7051a0db5f2bd48665a990d3ec1cc305a466a77358ca4492826f41f283601e
PKG_LICENSE:=MIT
PKG_MAINTAINER:=David Bauer <mail@david-bauer.net>
-PYTHON3_PKG_SETUP_ARGS:=
-
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
PKG_NAME:=python-cryptodome
PKG_VERSION:=3.9.7
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PYPI_NAME:=pycryptodome
PKG_HASH:=f1add21b6d179179b3c177c33d18a2186a09cc0d3af41ff5ed3f377360b869f2
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-PYTHON3_PKG_SETUP_ARGS:=
-PYTHON3_PKG_SETUP_VARS:= \
+PYTHON3_PKG_BUILD_VARS:= \
CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)"
define Package/python3-cryptodome
PKG_NAME:=python-cryptodomex
PKG_VERSION:=3.10.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=pycryptodomex
PKG_HASH:=541cd3e3e252fb19a7b48f420b798b53483302b7fe4d9954c947605d0a263d62
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-PYTHON3_PKG_SETUP_ARGS:=
-PYTHON3_PKG_SETUP_VARS:= \
+PYTHON3_PKG_BUILD_VARS:= \
CONFIG_BIG_ENDIAN="$(CONFIG_BIG_ENDIAN)"
define Package/python3-cryptodomex
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -6,7 +6,6 @@ requires = [
+ "wheel",
+ # Must be kept in sync with the `setup_requirements` in `setup.py`
+ "cffi>=1.12; platform_python_implementation != 'PyPy'",
+- "setuptools-rust>=0.11.4",
+ ]
+ build-backend = "setuptools.build_meta"
+
--- a/setup.py
+++ b/setup.py
@@ -11,7 +11,7 @@ import sys
PKG_NAME:=pycurl
PKG_VERSION:=7.45.2
-PKG_RELEASE:=1
+PKG_RELEASE:=3
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=5730590be0271364a5bddd9e245c9cc0fb710c4cbacbdd95264a3122d23224ca
PycURL is a Python interface to libcurl, the multiprotocol file transfer library.
endef
-PYTHON3_PKG_SETUP_ARGS:=
-
ifdef CONFIG_LIBCURL_OPENSSL
- PYTHON3_PKG_SETUP_ARGS+=--with-openssl
+ PYTHON3_PKG_BUILD_VARS:=PYCURL_SSL_LIBRARY=openssl
endif
ifdef CONFIG_LIBCURL_GNUTLS
- PYTHON3_PKG_SETUP_ARGS+=--with-gnutls
+ PYTHON3_PKG_BUILD_VARS:=PYCURL_SSL_LIBRARY=gnutls
endif
ifdef CONFIG_LIBCURL_MBEDTLS
- PYTHON3_PKG_SETUP_ARGS+=--with-mbedtls
+ PYTHON3_PKG_BUILD_VARS:=PYCURL_SSL_LIBRARY=mbedtls
endif
ifdef CONFIG_LIBCURL_WOLFSSL
- PYTHON3_PKG_SETUP_ARGS+=--with-wolfssl
+ PYTHON3_PKG_BUILD_VARS:=PYCURL_SSL_LIBRARY=wolfssl
endif
$(eval $(call Py3Package,python3-curl))
PKG_NAME:=python-dbus-fast
PKG_VERSION:=1.84.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=dbus-fast
PYPI_SOURCE_NAME:=dbus_fast
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
+PKG_BUILD_DEPENDS:=python-poetry-core/host python-cython/host python-wheel/host
+
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
--- /dev/null
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -97,5 +97,5 @@ module = "docs.*"
+ ignore_errors = true
+
+ [build-system]
+-requires = ['setuptools>=65.4.1', 'wheel', 'Cython', "poetry-core>=1.0.0"]
++requires = ['setuptools', 'wheel', 'Cython', "poetry-core>=1.0.0"]
+ build-backend = "poetry.core.masonry.api"
include $(TOPDIR)/rules.mk
PKG_NAME:=python-dns
-PKG_VERSION:=2.2.0
+PKG_VERSION:=2.3.0
PKG_RELEASE:=1
PYPI_NAME:=dnspython
-PKG_HASH:=e79351e032d0b606b98d38a4b0e6e2275b31a5b85c873e587cc11b73aca026d6
+PKG_HASH:=224e32b03eb46be70e12ef6d64e0be123a64e621ab4c0822ff6d450d52a540b9
PKG_LICENSE:=ISC
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Josef Schlehofer <pepe.schlehofer@gmail.com>
+PKG_BUILD_DEPENDS:=python-poetry-core/host
+
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
PKG_NAME:=python-docker
PKG_VERSION:=6.0.1
-PKG_RELEASE:=1
+PKG_RELEASE:=3
PYPI_NAME:=docker
PKG_HASH:=896c4282e5c7af5c45e8b683b0b0c33932974fe6e50fc6906a0a83616ab3da97
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
+PKG_BUILD_DEPENDS:=python-setuptools-scm/host
+
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-PYTHON3_PKG_SETUP_ARGS:=
-
define Package/python3-docker
SECTION:=lang
CATEGORY:=Languages
PKG_NAME:=python-dockerpty
PKG_VERSION:=0.4.1
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PYPI_NAME:=dockerpty
PKG_HASH:=69a9d69d573a0daa31bcd1c0774eeed5c15c295fe719c61aca550ed1393156ce
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-PYTHON3_PKG_SETUP_ARGS:=
-
define Package/python3-dockerpty
SECTION:=lang
CATEGORY:=Languages
PKG_NAME:=python-docopt
PKG_VERSION:=0.6.2
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PYPI_NAME:=docopt
PKG_HASH:=49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-PYTHON3_PKG_SETUP_ARGS:=
-
define Package/python3-docopt
SECTION:=lang
CATEGORY:=Languages
PKG_NAME:=docutils
PKG_VERSION:=0.19
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=33995a6753c30b7f577febfc2c50411fec6aac7f7ffeb7c4cfe5991072dcf9e6
an easy-to-read, what-you-see-is-what-you-get plaintext markup syntax.
endef
-PYTHON3_PKG_SETUP_ARGS:=
-
$(eval $(call Py3Package,python3-docutils))
$(eval $(call BuildPackage,python3-docutils))
$(eval $(call BuildPackage,python3-docutils-src))
PKG_NAME:=python-evdev
PKG_VERSION:=1.6.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_LICENSE:=BSD-3-Clause
PKG_MAINTAINER:=Paulo Costa <me@paulo.costa.nom.br>, Alexandru Ardelean <ardeleanalex@gmail.com>
LINUX_EVDEV_HEADERS="$(LINUX_DIR)/include/uapi/linux/input.h:$(LINUX_DIR)/include/uapi/linux/input-event-codes.h"
-PYTHON3_PKG_SETUP_GLOBAL_ARGS:= \
- build build_ecodes \
- --evdev-headers="$(LINUX_EVDEV_HEADERS)" \
- build_ext
+PYTHON3_PKG_BUILD_CONFIG_SETTINGS:= \
+ --global-option=build \
+ --global-option=build_ecodes \
+ --global-option=--evdev-headers="$(LINUX_EVDEV_HEADERS)" \
+ --global-option=build_ext
$(eval $(call Py3Package,python3-evdev))
$(eval $(call BuildPackage,python3-evdev))
include $(TOPDIR)/rules.mk
PKG_NAME:=python-exceptiongroup
-PKG_VERSION:=1.1.0
-PKG_RELEASE:=1
+PKG_VERSION:=1.1.1
+PKG_RELEASE:=2
PYPI_NAME:=exceptiongroup
-PKG_HASH:=bcb67d800a4497e1b404c2dd44fca47d3b7a5e5433dbab67f96c1a685cdfdf23
+PKG_HASH:=d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785
PKG_LICENSE:=MIT,Python-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Julien Malik <julien.malik@paraiso.me>
+PKG_BUILD_DEPENDS:=python-flit-scm/host
+
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
SUBMENU:=Python
TITLE:=Backport of PEP 654 (exception groups)
URL:=https://github.com/agronholm/exceptiongroup
- DEPENDS:= \
- +python3-light \
- +python3-attrs
+ DEPENDS:=+python3-light
endef
define Package/python3-exceptiongroup/description
+++ /dev/null
-From d6a0c3045598597023ee2423144b134fc87f4b6f Mon Sep 17 00:00:00 2001
-From: Julien Malik <julien.malik@paraiso.me>
-Date: Sat, 26 Nov 2022 13:05:20 +0100
-Subject: [PATCH] add setup.py to avoid depending on flit for building
-
----
- setup.py | 18 ++++++++++++++++++
- 1 file changed, 18 insertions(+)
- create mode 100644 setup.py
-
---- /dev/null
-+++ b/setup.py
-@@ -0,0 +1,18 @@
-+#!/usr/bin/env python
-+
-+import setuptools
-+
-+setuptools.setup(
-+ name='exceptiongroup',
-+ version='1.1.0',
-+ description='Backport of PEP 654 (exception groups)',
-+ author='Alex Grönholm',
-+ author_email='Alex Grönholm <alex.gronholm@nextday.fi>',
-+ url='https://github.com/agronholm/exceptiongroup',
-+ packages=['exceptiongroup'],
-+ package_data={'': ['*']},
-+ package_dir={'': 'src'},
-+ extras_require={'test': ['pytest >= 6']},
-+ python_requires='>=3.7',
-+)
-+
PKG_NAME:=python-gmpy2
PKG_VERSION:=2.0.8
-PKG_RELEASE:=5
+PKG_RELEASE:=6
PYPI_NAME:=gmpy2
PYPI_SOURCE_EXT:=zip
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-PYTHON3_PKG_SETUP_ARGS:=--nompfr
+PYTHON3_PKG_BUILD_CONFIG_SETTINGS:=--global-option=--nompfr
define Package/python3-gmpy2
SECTION:=lang
#
-# Copyright (C) 2018 OpenWrt.org
+# Copyright (C) 2018, 2021, 2023 Jeffery To
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
include $(TOPDIR)/rules.mk
PKG_NAME:=python-incremental
-PKG_VERSION:=21.3.0
+PKG_VERSION:=22.10.0
PKG_RELEASE:=1
PYPI_NAME:=incremental
-PKG_HASH:=02f5de5aff48f6b9f665d99d48bfc7ec03b6e3943210de7cfc88856d755d6f57
+PKG_HASH:=912feeb5e0f7e0188e6f42241d2f450002e11bbc0937c65865045854c24c0bd0
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
include ../python3-package.mk
+include ../python3-host-build.mk
define Package/python3-incremental
SECTION:=lang
SUBMENU:=Python
TITLE:=Versions your Python projects
URL:=https://github.com/twisted/incremental
- DEPENDS:=+python3-light
+ DEPENDS:=+python3-light +python3-distutils +python3-pkg-resources
endef
define Package/python3-incremental/description
$(eval $(call Py3Package,python3-incremental))
$(eval $(call BuildPackage,python3-incremental))
$(eval $(call BuildPackage,python3-incremental-src))
+$(eval $(call HostBuild))
---- a/setup.py
-+++ b/setup.py
-@@ -31,7 +31,7 @@ setup(
- "Programming Language :: Python :: 3.5",
- "Programming Language :: Python :: 3.6",
- ],
-- packages=find_packages("src", exclude=("exampleproj",)),
-+ packages=find_packages("src", exclude=("exampleproj", "*.tests", "*.tests.*")),
- package_dir={"": "src"},
- extras_require={"scripts": ["click>=6.0", "twisted>=16.4.0"]},
- license="MIT",
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -30,7 +30,10 @@ zip_safe = False
+
+ [options.packages.find]
+ where = src
+-exclude = exampleproj
++exclude =
++ exampleproj
++ *.tests
++ *.tests.*
+
+ [options.package_data]
+ incremental = py.typed
PKG_NAME:=python-intelhex
PKG_VERSION:=2.2.1
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PYPI_NAME:=IntelHex
PYPI_SOURCE_NAME:=intelhex
scratch and manipulate data from Intel HEX file format.
endef
-PYTHON3_PKG_SETUP_ARGS:=
-
$(eval $(call Py3Package,python3-intelhex))
$(eval $(call BuildPackage,python3-intelhex))
$(eval $(call BuildPackage,python3-intelhex-src))
PKG_NAME:=python-jsonschema
PKG_VERSION:=4.17.3
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PYPI_NAME:=jsonschema
PKG_HASH:=0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
-PKG_BUILD_DEPENDS:=python-setuptools-scm/host
+PKG_BUILD_DEPENDS:=python-hatchling/host python-hatch-vcs/host python-hatch-fancy-pypi-readme/host
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
+++ /dev/null
---- /dev/null
-+++ b/setup.py
-@@ -0,0 +1,2 @@
-+from setuptools import setup
-+setup(use_scm_version=True)
---- /dev/null
-+++ b/setup.cfg
-@@ -0,0 +1,96 @@
-+[metadata]
-+name = jsonschema
-+url = https://github.com/python-jsonschema/jsonschema
-+project_urls =
-+ Funding = https://github.com/sponsors/Julian
-+ Tidelift = https://tidelift.com/subscription/pkg/pypi-jsonschema?utm_source=pypi-jsonschema&utm_medium=referral&utm_campaign=pypi-link
-+ Documentation = https://python-jsonschema.readthedocs.io/
-+ Changelog = https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst
-+ Source = https://github.com/python-jsonschema/jsonschema
-+ Issues = https://github.com/python-jsonschema/jsonschema/issues/
-+description = An implementation of JSON Schema validation for Python
-+long_description = file: README.rst
-+long_description_content_type = text/x-rst
-+author = Julian Berman
-+author_email = Julian+jsonschema@GrayVines.com
-+license = MIT
-+classifiers =
-+ Development Status :: 5 - Production/Stable
-+ Intended Audience :: Developers
-+ License :: OSI Approved :: MIT License
-+ Operating System :: OS Independent
-+ Programming Language :: Python
-+ Programming Language :: Python :: 3.7
-+ Programming Language :: Python :: 3.8
-+ Programming Language :: Python :: 3.9
-+ Programming Language :: Python :: 3.10
-+ Programming Language :: Python :: 3.11
-+ Programming Language :: Python :: Implementation :: CPython
-+ Programming Language :: Python :: Implementation :: PyPy
-+
-+[options]
-+packages = find:
-+python_requires = >=3.7
-+install_requires =
-+ attrs>=17.4.0
-+ importlib_metadata;python_version<'3.8'
-+ importlib_resources>=1.4.0;python_version<'3.9'
-+ pyrsistent>=0.14.0,!=0.17.0,!=0.17.1,!=0.17.2
-+ typing_extensions;python_version<'3.8'
-+
-+[options.extras_require]
-+format =
-+ fqdn
-+ idna
-+ isoduration
-+ jsonpointer>1.13
-+ rfc3339-validator
-+ rfc3987
-+ uri_template
-+ webcolors>=1.11
-+format_nongpl =
-+ fqdn
-+ idna
-+ isoduration
-+ jsonpointer>1.13
-+ rfc3339-validator
-+ rfc3986-validator>0.1.0
-+ uri_template
-+ webcolors>=1.11
-+
-+[options.entry_points]
-+console_scripts =
-+ jsonschema = jsonschema.cli:main
-+
-+[options.package_data]
-+jsonschema = schemas/*.json, schemas/*/*.json
-+
-+[flake8]
-+ban-relative-imports = true
-+inline-quotes = "
-+exclude =
-+ jsonschema/__init__.py
-+ jsonschema/_reflect.py
-+ignore =
-+ B008, # Barring function calls in default args. Ha, no.
-+ B306, # See https://github.com/PyCQA/flake8-bugbear/issues/131
-+ W503, # (flake8 default) old PEP8 boolean operator line breaks
-+
-+[mypy]
-+ignore_missing_imports = true
-+
-+[pydocstyle]
-+match = (?!(test_|_|compat|cli)).*\.py # see PyCQA/pydocstyle#323
-+add-select =
-+ D410, # Trailing whitespace plz
-+add-ignore =
-+ D107, # Hah, no
-+ D200, # 1-line docstrings don't need to be on one line
-+ D202, # One line is fine.
-+ D412, # Trailing whitespace plz
-+ D413, # No trailing whitespace plz
-+
-+[egg_info]
-+tag_build =
-+tag_date = 0
-+
SUBMENU:=Python
TITLE:=Core utilities for Python packages
URL:=https://github.com/pypa/packaging
- DEPENDS:=+python3-light +python3-logging +python3-urllib @BROKEN
+ DEPENDS:=+python3-light +python3-logging +python3-urllib
endef
define Package/python3-packaging/description
PKG_NAME:=python-paramiko
PKG_VERSION:=2.12.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=paramiko
PKG_HASH:=376885c05c5d6aa6e1f4608aac2a6b5b0548b1add40274477324605903d9cd49
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-PYTHON3_PKG_SETUP_ARGS:=
-
define Package/python3-paramiko
SECTION:=lang
CATEGORY:=Languages
PKG_NAME:=python-parsley
PKG_VERSION:=1.3
-PKG_RELEASE:=5
+PKG_RELEASE:=6
PYPI_NAME:=Parsley
PKG_HASH:=9444278d47161d5f2be76a767809a3cbe6db4db822f46a4fd7481d4057208d41
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
-PYTHON3_PKG_SETUP_ARGS:=
-
define Package/python3-parsley
SECTION:=lang
CATEGORY:=Languages
--- /dev/null
+#
+# Copyright (C) 2023 Jeffery To
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=python-pkgconfig
+PKG_VERSION:=1.5.5
+PKG_RELEASE:=1
+
+PYPI_NAME:=pkgconfig
+PKG_HASH:=deb4163ef11f75b520d822d9505c1f462761b4309b1bb713d08689759ea8b899
+
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
+
+PKG_HOST_ONLY:=1
+HOST_BUILD_DEPENDS:=python3/host python-build/host python-installer/host python-poetry-core/host
+
+include ../pypi.mk
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/host-build.mk
+include ../python3-package.mk
+include ../python3-host-build.mk
+
+define Package/python3-pkgconfig
+ SECTION:=lang
+ CATEGORY:=Languages
+ SUBMENU:=Python
+ TITLE:=Interface Python with pkg-config
+ URL:=https://github.com/matze/pkgconfig
+ DEPENDS:=+python3-light
+ BUILDONLY:=1
+endef
+
+define Package/python3-pkgconfig/description
+pkgconfig is a Python module to interface with the pkg-config command
+line tool for Python 3.3+.
+endef
+
+$(eval $(call Py3Package,python3-pkgconfig))
+$(eval $(call BuildPackage,python3-pkgconfig))
+$(eval $(call BuildPackage,python3-pkgconfig-src))
+$(eval $(call HostBuild))
include $(TOPDIR)/rules.mk
PKG_NAME:=python-pycrate
-PKG_VERSION:=0.5.5
+PKG_VERSION:=0.6.0
PKG_RELEASE:=1
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=https://github.com/P1sec/pycrate/archive/refs/tags/$(PKG_VERSION).tar.gz?
-PKG_HASH:=73072234359cdc11d7c6790c367d5565fdaea284a07df882b8b5295f2a4f83d1
+PYPI_NAME:=pycrate
+PKG_HASH:=b49738c02a3f93ba9f76c0dac82b689a5341882814b36c714e9600e9f560daf7
-PKG_BUILD_DIR:=$(BUILD_DIR)/pycrate-$(PKG_VERSION)
-
-PKG_LICENSE:=LGPL-2.1
+PKG_LICENSE:=LGPL-2.1-or-later
+PKG_LICENSE_FILES:=license.txt
PKG_MAINTAINER:=David Bauer <mail@david-bauer.net>
include ../pypi.mk
include ../python3-package.mk
define Package/python3-pycrate
- SECTION:=lang-python
+ SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
- TITLE:=python3-pycrate
+ TITLE:=A software suite to handle various data formats
URL:=https://github.com/P1sec/pycrate
DEPENDS:=+python3-light
endef
PKG_NAME:=python-pynacl
PKG_VERSION:=1.5.0
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PYPI_NAME:=PyNaCl
PKG_HASH:=8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba
PKG_BUILD_DEPENDS:=libffi/host python-cffi/host # cffi>=1.4.1
-PYTHON3_PKG_SETUP_VARS:= SODIUM_INSTALL=system
+PYTHON3_PKG_BUILD_VARS:=SODIUM_INSTALL=system
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include $(TOPDIR)/rules.mk
PKG_NAME:=python-pytest-forked
-PKG_VERSION:=1.3.0
-PKG_RELEASE:=3
+PKG_VERSION:=1.6.0
+PKG_RELEASE:=1
PYPI_NAME:=pytest-forked
-PKG_HASH:=6aa9ac7e00ad1a539c41bec6d21011332de671e938c7637378ec9710204e37ca
+PKG_HASH:=4dafd46a9a600f65d822b8f605133ecf5b3e1941ebb3588e943b4e3eb71a5a3f
PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>
PKG_LICENSE:=MIT
include $(TOPDIR)/rules.mk
PKG_NAME:=python-pytest
-PKG_VERSION:=6.2.3
-PKG_RELEASE:=2
+PKG_VERSION:=7.3.0
+PKG_RELEASE:=1
PYPI_NAME:=pytest
-PKG_HASH:=671238a46e4df0f3498d1c3270e5deb9b32d25134c99b7d75370a68cfbe9b634
+PKG_HASH:=58ecc27ebf0ea643ebfdf7fb1249335da761a00c9f955bcd922349bcb68ee57d
PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>
PKG_LICENSE:=MIT
URL:=https://docs.pytest.org/en/latest/
DEPENDS:= \
+python3 \
- +python3-more-itertools \
- +python3-py \
- +python3-attrs \
+python3-pluggy \
+python3-packaging \
- +python3-toml \
- +python3-iniconfig \
- @BROKEN
+ +python3-tomli \
+ +python3-exceptiongroup \
+ +python3-iniconfig
endef
define Package/python3-pytest/description
PKG_NAME:=python-stem
PKG_VERSION:=1.8.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=stem
PKG_HASH:=81d43a7c668ba9d7bc1103b2e7a911e9d148294b373d27a59ae8da79ef7a3e2f
PKG_LICENSE:=LGPL-3.0-only
PKG_LICENSE_FILES:=LICENSE
-PYTHON3_PKG_SETUP_ARGS:=
-
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
include $(TOPDIR)/rules.mk
PKG_NAME:=python-trove-classifiers
-PKG_VERSION:=2023.3.9
+PKG_VERSION:=2023.5.2
PKG_RELEASE:=1
PYPI_NAME:=trove-classifiers
-PKG_HASH:=ee42f2f8c1d4bcfe35f746e472f07633570d485fab45407effc0379270a3bb03
+PKG_HASH:=c46d6e40a9581599b16c712e0164fec3764872a4085c673c07559787caedb867
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
#
-# Copyright (C) 2006-2011, 2015-2018 OpenWrt.org
+# Copyright (C) 2006-2011 OpenWrt.org
+# Copyright (C) 2015-2016, 2018-2023 Jeffery To
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
include $(TOPDIR)/rules.mk
PKG_NAME:=python-twisted
-PKG_VERSION:=22.4.0
+PKG_VERSION:=22.10.0
PKG_RELEASE:=1
PYPI_NAME:=Twisted
-PKG_HASH:=a047990f57dfae1e0bd2b7df2526d4f16dcdc843774dc108b78c52f2a5f13680
+PKG_HASH:=32acbd40a94f5f46e7b42c109bfae2b302250945561783a8b7a059048f2d4d31
PKG_BUILD_DEPENDS:=libtirpc
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
PKG_CPE_ID:=cpe:/a:twistedmatrix:twisted
+PKG_BUILD_DEPENDS:=python-incremental/host
+
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
+python3-bcrypt \
+python3-constantly \
+python3-cryptography \
+ +python3-hyperlink \
+python3-idna \
+python3-incremental \
- +python3-hyperlink \
+python3-pkg-resources \
+python3-pyasn1 \
+python3-pyopenssl \
--- a/setup.cfg
+++ b/setup.cfg
-@@ -112,7 +112,6 @@ console_scripts =
+@@ -115,7 +115,6 @@ console_scripts =
conch = twisted.conch.scripts.conch:run
mailmail = twisted.mail.scripts.mailmail:run
pyhtmlizer = twisted.scripts.htmlizer:run
--- a/setup.cfg
+++ b/setup.cfg
-@@ -104,6 +104,9 @@ mypy =
+@@ -107,6 +107,9 @@ mypy =
[options.packages.find]
where = src
[options.entry_points]
console_scripts =
-@@ -123,6 +126,7 @@ console_scripts =
+@@ -126,6 +129,7 @@ console_scripts =
*.pxi
*.pyx
build.bat
include $(TOPDIR)/rules.mk
PKG_NAME:=python-typing-extensions
-PKG_VERSION:=3.10.0.0
+PKG_VERSION:=4.5.0
PKG_RELEASE:=1
PYPI_NAME:=typing-extensions
PYPI_SOURCE_NAME:=typing_extensions
-PKG_HASH:=50b6f157849174217d0656f99dc82fe932884fb250826c18350e159ec6cdf342
+PKG_HASH:=5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb
-PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>
+PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>, Jeffery To <jeffery.to@gmail.com>
PKG_LICENSE:=PSF-2.0
PKG_LICENSE_FILES:=LICENSE
-HOST_BUILD_DEPENDS:=python3/host python-build/host python-installer/host python-wheel/host
+PKG_BUILD_DEPENDS:=python-flit-core/host
+HOST_BUILD_DEPENDS:=python3/host python-build/host python-installer/host python-flit-core/host
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
PKG_NAME:=python-ubus
PKG_VERSION:=0.1.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=ubus
PKG_HASH:=7e57bda989bc35b48c7075d03ec2818226e722bbf1bde138d7e7ea26d462682a
PKG_LICENSE:=LGPL-2.1-or-later
PKG_LICENSE_FILES:=LICENSE
+PYTHON3_PKG_FORCE_DISTUTILS_SETUP:=1
+
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
PKG_NAME:=python-yaml
PKG_VERSION:=6.0
-PKG_RELEASE:=2
+PKG_RELEASE:=4
PYPI_NAME:=PyYAML
PKG_HASH:=68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2
PyYAML is a YAML parser and emitter for the Python programming language.
endef
-PYTHON3_PKG_SETUP_GLOBAL_ARGS:=--with-libyaml
-PYTHON3_PKG_SETUP_ARGS:=
+PYTHON3_PKG_BUILD_VARS:=PYYAML_FORCE_LIBYAML=1
$(eval $(call Py3Package,python3-yaml))
$(eval $(call BuildPackage,python3-yaml))
PIP_CONFIG_FILE=/dev/null \
PIP_DISABLE_PIP_VERSION_CHECK=1
-define SetupPyShim
- if [ -f $(1)/pyproject.toml ] && [ ! -f $(1)/setup.py ] ; then \
- $(CP) $(python3_mk_path)setup.py.shim $(1)setup.py ; \
- fi
-endef
-
# Multiple concurrent pip processes can lead to errors or unexpected results: https://github.com/pypa/pip/issues/2361
# $(1) => packages to install
define HostPython3/PipInstall
$(HOST_PYTHON3_BIN) $(2)
endef
-# $(1) => build subdir
-# $(2) => additional arguments to setup.py
-# $(3) => additional variables
-define Python3/ModSetup
- $(INSTALL_DIR) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)
- $(call SetupPyShim,$(PKG_BUILD_DIR)/$(strip $(1)))
- $(call Python3/Run, \
- $(PKG_BUILD_DIR)/$(strip $(1)), \
- setup.py $(2), \
- $(3) PY_PKG_VERSION=$(PKG_VERSION))
-endef
-
define Python3/FixShebang
$(SED) "1"'!'"b;s,^#"'!'".*python.*,#"'!'"/usr/bin/python3," -i --follow-symlinks $(1)
endef
# Py3Build
-PYTHON3_PKG_SETUP_DIR ?=
-PYTHON3_PKG_SETUP_GLOBAL_ARGS ?=
-PYTHON3_PKG_SETUP_ARGS ?= --single-version-externally-managed
-PYTHON3_PKG_SETUP_VARS ?=
+PYTHON3_PKG_BUILD?=1
+PYTHON3_PKG_FORCE_DISTUTILS_SETUP?=
+
+PYTHON3_PKG_SETUP_DIR?=
+PYTHON3_PKG_SETUP_GLOBAL_ARGS?=
+PYTHON3_PKG_SETUP_ARGS?=--single-version-externally-managed
+PYTHON3_PKG_SETUP_VARS?=
+
+PYTHON3_PKG_BUILD_CONFIG_SETTINGS?=
+PYTHON3_PKG_BUILD_VARS?=$(PYTHON3_PKG_SETUP_VARS)
+PYTHON3_PKG_BUILD_ARGS?=
+PYTHON3_PKG_BUILD_PATH?=$(PYTHON3_PKG_SETUP_DIR)
+
+PYTHON3_PKG_INSTALL_VARS?=
+
+PYTHON3_PKG_WHEEL_NAME?=$(subst -,_,$(if $(PYPI_SOURCE_NAME),$(PYPI_SOURCE_NAME),$(PKG_NAME)))
+PYTHON3_PKG_WHEEL_VERSION?=$(PKG_VERSION)
+
+PYTHON3_PKG_BUILD_DIR?=$(PKG_BUILD_DIR)/$(PYTHON3_PKG_BUILD_PATH)
+
PYTHON3_PKG_HOST_PIP_INSTALL_ARGS = \
$(foreach req,$(HOST_PYTHON3_PACKAGE_BUILD_DEPENDS), \
)
endef
-define Py3Build/Compile/Default
+define Py3Build/Compile/Distutils
$(call Py3Build/InstallBuildDepends)
- $(call Python3/ModSetup, \
- $(PYTHON3_PKG_SETUP_DIR), \
- $(PYTHON3_PKG_SETUP_GLOBAL_ARGS) \
- install --prefix="/usr" --root="$(PKG_INSTALL_DIR)" \
- $(PYTHON3_PKG_SETUP_ARGS), \
+ $(INSTALL_DIR) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)
+ $(call Python3/Run, \
+ $(PKG_BUILD_DIR)/$(strip $(PYTHON3_PKG_SETUP_DIR)), \
+ setup.py \
+ $(PYTHON3_PKG_SETUP_GLOBAL_ARGS) \
+ install \
+ --prefix="/usr" \
+ --root="$(PKG_INSTALL_DIR)" \
+ $(PYTHON3_PKG_SETUP_ARGS) \
+ , \
$(PYTHON3_PKG_SETUP_VARS) \
)
endef
-Py3Build/Configure=$(Py3Build/Configure/Default)
+define Py3Build/Compile/Default
+ $(call Py3Build/InstallBuildDepends)
+ $(call Python3/Run, \
+ $(PKG_BUILD_DIR), \
+ -m build \
+ --no-isolation \
+ --outdir "$(PYTHON3_PKG_BUILD_DIR)"/openwrt-build \
+ --wheel \
+ $(foreach setting,$(PYTHON3_PKG_BUILD_CONFIG_SETTINGS),--config-setting=$(setting)) \
+ $(PYTHON3_PKG_BUILD_ARGS) \
+ "$(PYTHON3_PKG_BUILD_DIR)" \
+ , \
+ $(PYTHON3_PKG_BUILD_VARS) \
+ )
+endef
+
+define Py3Build/Install/Default
+ $(call Python3/Run, \
+ $(PKG_BUILD_DIR), \
+ -m installer \
+ --destdir "$(PKG_INSTALL_DIR)" \
+ --no-compile-bytecode \
+ --prefix /usr \
+ "$(PYTHON3_PKG_BUILD_DIR)"/openwrt-build/$(PYTHON3_PKG_WHEEL_NAME)-$(PYTHON3_PKG_WHEEL_VERSION)-*.whl \
+ , \
+ $(PYTHON3_PKG_INSTALL_VARS) \
+ )
+endef
+
Py3Build/Compile=$(Py3Build/Compile/Default)
+Py3Build/Install=$(Py3Build/Install/Default)
-PYTHON3_PKG_BUILD ?= 1
+ifeq ($(strip $(PYTHON3_PKG_FORCE_DISTUTILS_SETUP)),1)
+ Py3Build/Compile=$(Py3Build/Compile/Distutils)
+ Py3Build/Install:=:
+endif
ifeq ($(strip $(PYTHON3_PKG_BUILD)),1)
ifeq ($(PY3),stdlib)
endif
Hooks/Configure/Post+=Py3Build/CheckHostPipVersionMatch
Build/Compile=$(Py3Build/Compile)
+ Build/Install=$(Py3Build/Install)
endif
PKG_NAME:=python3-pyroute2
PKG_VERSION:=0.5.16
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PYPI_NAME:=pyroute2
PKG_HASH:=fe681a2d008cac815b9f287250d69a333fbfc2b2d89c37d58798104057149989
but now it supports many netlink protocols.
endef
-PYTHON3_PKG_SETUP_ARGS:=
-
$(eval $(call Py3Package,python3-pyroute2))
$(eval $(call BuildPackage,python3-pyroute2))
$(eval $(call BuildPackage,python3-pyroute2-src))
include ../python3-version.mk
PKG_NAME:=python3
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_VERSION:=$(PYTHON3_VERSION).$(PYTHON3_VERSION_MICRO)
PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz
CONFIG_PACKAGE_python3-pkg-resources \
CONFIG_PACKAGE_python3-setuptools CONFIG_PACKAGE_python3-pip
-PKG_BUILD_DEPENDS:=bluez python3/host
+PKG_BUILD_DEPENDS:=bluez python3/host python-build/host python-installer/host python-wheel/host
HOST_BUILD_DEPENDS:=bzip2/host libffi/host
include $(INCLUDE_DIR)/host-build.mk
+++ /dev/null
-import os
-import setuptools
-
-# FIXME: see about getting rid of PY_PKG_VERSION asap when setuptools handles this correctly
-if __name__ == "__main__":
- setuptools.setup(version=os.environ['PY_PKG_VERSION'])
PKG_NAME:=glib2
PKG_VERSION:=2.74.0
-PKG_RELEASE:=3
+PKG_RELEASE:=4
PKG_SOURCE:=glib-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNOME/glib/$(word 1,$(subst ., ,$(PKG_VERSION))).$(word 2,$(subst ., ,$(PKG_VERSION)))
PKG_CPE_ID:=cpe:/a:gnome:glib
PKG_BUILD_DIR:=$(BUILD_DIR)/glib-$(PKG_VERSION)
-HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/glib-$(PKG_VERSION)
PKG_CONFIG_DEPENDS:=CONFIG_BUILD_NLS
PKG_FORTIFY_SOURCE:=0
PKG_BUILD_FLAGS:=gc-sections
+HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/glib-$(PKG_VERSION)
+HOST_BUILD_DEPENDS:=pcre2/host libffi/host
+
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
-Dglib_checks=true \
-Dlibelf=disabled
-MESON_HOST_ARGS += $(COMP_ARGS) -Dxattr=false -Ddefault_library=static -Dnls=disabled -Dwrap_mode=forcefallback
+MESON_HOST_ARGS += $(COMP_ARGS) -Dxattr=false -Ddefault_library=static -Dnls=disabled
MESON_ARGS += $(COMP_ARGS) -Dxattr=true -Db_lto=true -Ddefault_library=both -Dnls=$(if $(CONFIG_BUILD_NLS),en,dis)abled
define Build/InstallDev
include $(TOPDIR)/rules.mk
PKG_NAME:=gnutls
-PKG_VERSION:=3.7.8
-PKG_RELEASE:=2
+PKG_VERSION:=3.8.0
+PKG_RELEASE:=1
PKG_BUILD_FLAGS:=no-mips16
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=https://www.gnupg.org/ftp/gcrypt/gnutls/v3.7
-PKG_HASH:=c58ad39af0670efe6a8aee5e3a8b2331a1200418b64b7c51977fb396d4617114
+PKG_SOURCE_URL:=https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8
+PKG_HASH:=0ea0d11a1660a1e63f960f157b197abe6d0c8cb3255be24e1fb3815930b9bdc5
PKG_MAINTAINER:=Nikos Mavrogiannopoulos <nmav@gnutls.org>
PKG_LICENSE:=LGPL-2.1-or-later
[AC_COMPILE_IFELSE(
--- a/src/gl/m4/gnulib-comp.m4
+++ b/src/gl/m4/gnulib-comp.m4
-@@ -1188,7 +1188,7 @@ changequote([, ])dnl
+@@ -1252,7 +1252,7 @@ changequote([, ])dnl
gl_UNISTD_MODULE_INDICATOR([sleep])
AC_CHECK_DECLS_ONCE([alarm])
AC_REQUIRE([gt_TYPE_WCHAR_T])
- AC_REQUIRE([gt_TYPE_WINT_T])
+ AC_REQUIRE([gt_TYPE_WINT_T_GNUTLS])
gl_FUNC_STRERROR_R
- if test $HAVE_DECL_STRERROR_R = 0 || test $REPLACE_STRERROR_R = 1; then
+ AS_IF([test $HAVE_DECL_STRERROR_R = 0 || test $REPLACE_STRERROR_R = 1], [
AC_LIBOBJ([strerror_r])
--- a/Makefile.am
+++ b/Makefile.am
-@@ -57,7 +57,7 @@ if ENABLE_DOC
+@@ -48,7 +48,7 @@ if ENABLE_DOC
SUBDIRS += doc
endif
--- /dev/null
+menu "Configuration"
+ depends on PACKAGE_libopen62541
+
+config LIBOPEN62541_UA_ENABLE_SUBSCRIPTIONS
+ bool "Enable subscriptions support"
+ default y
+
+config LIBOPEN62541_UA_ENABLE_SUBSCRIPTIONS_EVENTS
+ bool "Use events for subscriptions (EXPERIMENTAL)"
+ depends on LIBOPEN62541_UA_ENABLE_SUBSCRIPTIONS && (LIBOPEN62541_NAMESPACEZERO_FULL || LIBOPEN62541_NAMESPACEZERO_REDUCED)
+
+config LIBOPEN62541_UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS
+ bool "Use alarms and conditions for subscriptions (EXPERIMENTAL)"
+ depends on LIBOPEN62541_UA_ENABLE_SUBSCRIPTIONS_EVENTS && LIBOPEN62541_NAMESPACEZERO_FULL
+
+config LIBOPEN62541_UA_ENABLE_METHODCALLS
+ bool "Enable the Method service set"
+ default y
+
+config LIBOPEN62541_UA_ENABLE_PARSING
+ bool "Enable parsing human readable formats of builtin data types"
+ default y
+
+config LIBOPEN62541_UA_ENABLE_NODEMANAGEMENT
+ bool "Enable dynamic addition and removal of nodes at runtime"
+ default y
+
+config LIBOPEN62541_UA_ENABLE_IMMUTABLE_NODES
+ bool "Enable immutable nodes"
+ default y
+
+config LIBOPEN62541_UA_ENABLE_DISCOVERY
+ bool "Enable Discovery Service (LDS)"
+ default y
+
+config LIBOPEN62541_UA_ENABLE_DISCOVERY_MULTICAST
+ bool "Enable Discovery Service with multicast support (LDS-ME)"
+ default y
+ depends on LIBOPEN62541_UA_ENABLE_DISCOVERY
+
+config LIBOPEN62541_UA_ENABLE_DISCOVERY_SEMAPHORE
+ bool "Enable Discovery Semaphore support"
+ default y
+ depends on LIBOPEN62541_UA_ENABLE_DISCOVERY
+
+choice
+ prompt "Encryption library"
+ default LIBOPEN62541_NOENCRYPTION
+
+ config LIBOPEN62541_NOENCRYPTION
+ bool "No encryption"
+
+ config LIBOPEN62541_MBDEDTLS
+ bool "Encryption support using mbed TLS"
+
+ config LIBOPEN62541_OPENSSL
+ bool "Encryption support using OpenSSL"
+endchoice
+
+config LIBOPEN62541_UA_ENABLE_ENCRYPTION_TPM2
+ bool "Enable TPM support"
+ depends on LIBOPEN62541_UA_ENABLE_PUBSUB_ENCRYPTION
+
+choice
+ prompt "Namespace zero definition"
+
+ default LIBOPEN62541_NAMESPACEZERO_FULL
+
+ config LIBOPEN62541_NAMESPACEZERO_FULL
+ bool "Full namespace zero"
+
+ config LIBOPEN62541_NAMESPACEZERO_REDUCED
+ bool "Small namespace zero still passing CTT"
+
+ config LIBOPEN62541_NAMESPACEZERO_MINIMAL
+ bool "Barebones namespace zero"
+
+endchoice
+
+config LIBOPEN62541_UA_ENABLE_TYPEDESCRIPTION
+ bool "Add the type and member names to the UA_DataType structure"
+ default y
+
+config LIBOPEN62541_UA_ENABLE_STATUSCODE_DESCRIPTIONS
+ bool "Compile the human-readable name of the StatusCodes into the binary"
+ default y
+
+config LIBOPEN62541_UA_ENABLE_HISTORIZING
+ bool "Enable historical access"
+
+config LIBOPEN62541_UA_ENABLE_PUBSUB
+ bool "Enable OPC UA PubSub support (EXPERIMENTAL)"
+
+config LIBOPEN62541_UA_ENABLE_PUBSUB_DELTAFRAMES
+ bool "PubSub messages differentiate between keyframe and deltaframe messages"
+ depends on LIBOPEN62541_UA_ENABLE_PUBSUB
+
+config LIBOPEN62541_UA_ENABLE_PUBSUB_FILE_CONFIG
+ bool "Enable loading OPC UA PubSub configuration from File/ByteString"
+ depends on LIBOPEN62541_UA_ENABLE_PUBSUB
+
+config LIBOPEN62541_UA_ENABLE_PUBSUB_INFORMATIONMODEL
+ bool "Enable the information model representation of the PubSub configuration"
+ depends on LIBOPEN62541_UA_ENABLE_PUBSUB && (LIBOPEN62541_NAMESPACEZERO_FULL || LIBOPEN62541_NAMESPACEZERO_REDUCED)
+
+config LIBOPEN62541_UA_ENABLE_PUBSUB_MONITORING
+ bool "Enable the experimental PubSub monitoring"
+ depends on LIBOPEN62541_UA_ENABLE_PUBSUB
+
+config LIBOPEN62541_UA_ENABLE_PUBSUB_ETH_UADP
+ bool "Enable the OPC UA Ethernet PubSub support to transport UADP NetworkMessages as payload of Ethernet II frame without IP or UDP headers"
+ depends on LIBOPEN62541_UA_ENABLE_PUBSUB
+
+config LIBOPEN62541_UA_ENABLE_PUBSUB_ENCRYPTION
+ bool "Enable PubSub encryption"
+ depends on LIBOPEN62541_UA_ENABLE_PUBSUB
+
+endmenu
--- /dev/null
+#
+# Copyright (C) 2023 Michele Primavera
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libopen62541
+PKG_VERSION:=1.3.6
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/open62541/open62541.git
+PKG_SOURCE_VERSION:=v$(PKG_VERSION)
+PKG_MIRROR_HASH:=1587eba9e697591a342d91df02acb7460e74617895f810c006ad3d7e4bce21b8
+
+PKG_LICENSE:=MPL-2.0
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Michele Primavera <primavera@elmod.it>
+
+CMAKE_INSTALL:=1
+
+define Package/libopen62541/config
+ source "$(SOURCE)/Config.in"
+endef
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+ifeq ($(CONFIG_HAS_MIPS16),y)
+ TARGET_CFLAGS += -fstack-check=generic
+endif
+
+define Package/libopen62541
+ SECTION:=libs
+ CATEGORY:=Libraries
+ TITLE:=An OPC UA library
+ URL:=https://open62541.org/
+ DEPENDS:=+librt +zlib +libstdcpp +libpthread +libatomic \
+ +LIBOPEN62541_MBDEDTLS:libmbedtls +LIBOPEN62541_OPENSSL:libopenssl
+endef
+
+define Package/libopen62541/description
+ open62541 (http://open62541.org) is an open source and free implementation of
+ OPC UA (OPC Unified Architecture) written in the common subset of the C99 and
+ C++98 languages. The library is usable with all major compilers and provides
+ the necessary tools to implement dedicated OPC UA clients and servers, or to
+ integrate OPC UA-based communication into existing applications. open62541
+ library is platform independent.
+endef
+
+CMAKE_OPTIONS += \
+ -DBUILD_SHARED_LIBS=ON \
+ -DUA_LOGLEVEL=500 \
+ -DUA_ENABLE_AMALGAMATION=OFF \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DUA_ARCHITECTURE=posix \
+ -DUA_BUILD_EXAMPLES=OFF \
+ -DUA_BUILD_TOOLS=OFF \
+ -DUA_BUILD_UNIT_TESTS=OFF \
+ -DOPEN62541_VERSION=v$(PKG_VERSION) \
+ -DUA_ENABLE_SUBSCRIPTIONS=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_SUBSCRIPTIONS),ON,OFF) \
+ -DUA_ENABLE_SUBSCRIPTIONS_EVENTS=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_SUBSCRIPTIONS_EVENTS),ON,OFF) \
+ -DUA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_SUBSCRIPTIONS_ALARMS_CONDITIONS),ON,OFF) \
+ -DUA_ENABLE_METHODCALLS=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_METHODCALLS),ON,OFF) \
+ -DUA_ENABLE_PARSING=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_PARSING),ON,OFF) \
+ -DUA_ENABLE_NODEMANAGEMENT=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_NODEMANAGEMENT),ON,OFF) \
+ -DUA_ENABLE_IMMUTABLE_NODES=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_IMMUTABLE_NODES),ON,OFF) \
+ -DUA_ENABLE_DISCOVERY=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_DISCOVERY),ON,OFF) \
+ -DUA_ENABLE_DISCOVERY_MULTICAST=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_DISCOVERY_MULTICAST),ON,OFF) \
+ -DUA_ENABLE_DISCOVERY_SEMAPHORE=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_DISCOVERY_SEMAPHORE),ON,OFF) \
+ -DUA_ENABLE_ENCRYPTION_TPM2=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_ENCRYPTION_TPM2),ON,OFF) \
+ -DUA_ENABLE_TYPEDESCRIPTION=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_TYPEDESCRIPTION),ON,OFF) \
+ -DUA_ENABLE_STATUSCODE_DESCRIPTIONS=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_STATUSCODE_DESCRIPTIONS),ON,OFF) \
+ -DUA_ENABLE_PUBSUB=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_PUBSUB),ON,OFF) \
+ -DUA_ENABLE_PUBSUB_DELTAFRAMES=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_PUBSUB_DELTAFRAMES),ON,OFF) \
+ -DUA_ENABLE_PUBSUB_FILE_CONFIG=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_PUBSUB_FILE_CONFIG),ON,OFF) \
+ -DUA_ENABLE_PUBSUB_INFORMATIONMODEL=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_PUBSUB_INFORMATIONMODEL),ON,OFF) \
+ -DUA_ENABLE_PUBSUB_MONITORING=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_PUBSUB_MONITORING),ON,OFF) \
+ -DUA_ENABLE_PUBSUB_ETH_UADP=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_PUBSUB_ETH_UADP),ON,OFF) \
+ -DUA_ENABLE_PUBSUB_ENCRYPTION=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_PUBSUB_ENCRYPTION),ON,OFF) \
+ -DUA_ENABLE_HISTORIZING=$(if $(CONFIG_LIBOPEN62541_UA_ENABLE_HISTORIZING),ON,OFF)
+
+ifeq ($(CONFIG_LIBOPEN62541_MBDEDTLS),y)
+ CMAKE_OPTIONS += -DUA_ENABLE_ENCRYPTION=MBEDTLS
+else ifeq ($(CONFIG_LIBOPEN62541_OPENSSL),y)
+ CMAKE_OPTIONS += -DUA_ENABLE_ENCRYPTION=OPENSSL
+else
+ CMAKE_OPTIONS += -DUA_ENABLE_ENCRYPTION=OFF
+endif
+
+ifeq ($(CONFIG_LIBOPEN62541_NAMESPACEZERO_REDUCED),y)
+ CMAKE_OPTIONS += -DUA_NAMESPACE_ZERO=REDUCED
+else ifeq ($(CONFIG_LIBOPEN62541_NAMESPACEZERO_MINIMAL),y)
+ CMAKE_OPTIONS += -DUA_NAMESPACE_ZERO=MINIMAL
+else
+ CMAKE_OPTIONS += -DUA_NAMESPACE_ZERO=FULL
+endif
+
+define Package/libopen62541/install
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/libopen62541.so* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,libopen62541))
PKG_NAME:=dovecot
PKG_VERSION:=2.3.18
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://dovecot.org/releases/2.3
# dovecot itself.
include $(INCLUDE_DIR)/nls.mk
+# need iconv.m4, otherwise error during autoreconf
+PKG_BUILD_DEPENDS:=gettext-full
+
define Package/dovecot
SECTION:=mail
CATEGORY:=Mail
PKG_NAME:=banip
PKG_VERSION:=0.8.5
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_LICENSE:=GPL-3.0-or-later
PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
if [ -n "${proto}" ] && ! "${ban_nftcmd}" get element inet banIP blocklist"${proto}" "{ ${ip} }" >/dev/null 2>&1; then
f_log "info" "suspicious IP${proto} '${ip}'"
log_raw="$("${ban_logreadcmd}" -l "${ban_loglimit}" 2>/dev/null)"
- log_count="$(printf "%s\n" "${log_raw}" | grep -c "found '${ip}'")"
+ log_count="$(printf "%s\n" "${log_raw}" | grep -c "suspicious IP${proto} '${ip}'")"
if [ "${log_count}" -ge "${ban_logcount}" ]; then
if "${ban_nftcmd}" add element inet banIP "blocklist${proto}" "{ ${ip} ${nft_expiry} }" >/dev/null 2>&1; then
f_log "info" "add IP${proto} '${ip}' (expiry: ${nft_expiry:-"-"}) to blocklist${proto} set"
include $(TOPDIR)/rules.mk
PKG_NAME:=crowdsec-firewall-bouncer
-PKG_VERSION:=0.0.25
+PKG_VERSION:=0.0.26
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/crowdsecurity/cs-firewall-bouncer/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=15ffaa38644215a4cf5e5d5d3a6fc6f0800057bc55d4bd25778d8e952679506e
+PKG_HASH:=2325df3f8d01e2c9b52db212a796b15b4992a135d5d278441277e97db353b2a7
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
PKG_NAME:=fail2ban
PKG_VERSION:=0.11.2
-PKG_RELEASE:=7
+PKG_RELEASE:=8
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/fail2ban/fail2ban/tar.gz/$(PKG_VERSION)?
/etc/config/fail2ban
endef
+define Build/Compile
+ cd $(PKG_BUILD_DIR) && ./fail2ban-2to3
+ $(call Py3Build/Compile)
+endef
+
define Py3Package/fail2ban/filespec
+|$(PYTHON3_PKG_DIR)
-|$(PYTHON3_PKG_DIR)/fail2ban/tests
$(INSTALL_BIN) ./files/fail2ban.defaults $(1)/etc/uci-defaults/99_fail2ban
endef
-define Py3Build/Compile
- cd $(PKG_BUILD_DIR) && ./fail2ban-2to3
- $(call Py3Build/Compile/Default)
-endef
-
$(eval $(call Py3Package,fail2ban))
$(eval $(call BuildPackage,fail2ban))
$(eval $(call BuildPackage,fail2ban-src))
include $(TOPDIR)/rules.mk
PKG_NAME:=haproxy
-PKG_VERSION:=2.6.12
+PKG_VERSION:=2.6.13
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://www.haproxy.org/download/2.6/src
-PKG_HASH:=58f9edb26bf3288f4b502658399281cc5d6478468bd178eafe579c8f41895854
+PKG_HASH:=d69ff5233dbca657132ef280d111222ec1e33f5be1c1937d4e9ff516f63f5243
PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>, \
Christian Lachner <gladiac@gmail.com>
#!/bin/sh
CLONEURL=https://git.haproxy.org/git/haproxy-2.6.git
-BASE_TAG=v2.6.12
+BASE_TAG=v2.6.13
TMP_REPODIR=tmprepo
PATCHESDIR=patches
PKG_NAME:=https-dns-proxy
PKG_VERSION:=2022-10-15
-PKG_RELEASE:=11
+PKG_RELEASE:=12
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/aarond10/https_dns_proxy/
readonly PKG_VERSION='dev-test'
readonly packageName='https-dns-proxy'
readonly serviceName="$packageName $PKG_VERSION"
-readonly sharedMemoryOutput="/dev/shm/$packageName-output"
readonly _OK_='\033[0;32m\xe2\x9c\x93\033[0m'
readonly _FAIL_='\033[0;31m\xe2\x9c\x97\033[0m'
readonly PROG=/usr/sbin/https-dns-proxy
is_ipv6() { ! is_mac_address "$1" && str_contains "$1" ":"; }
output() {
local msg memmsg logmsg
+ local sharedMemoryOutput="/dev/shm/$packageName-output"
[ -t 1 ] && printf "%b" "$@"
msg="${1//$serviceName /service }";
if [ "$(printf "%b" "$msg" | wc -l)" -gt 0 ]; then
json_add_string proto 'tcp udp'
json_add_string src_dport "$p"
json_add_string dest_port "$p"
+ json_add_string family any
json_add_boolean reflection 0
json_close_object
else
include $(TOPDIR)/rules.mk
PKG_NAME:=mwan3
-PKG_VERSION:=2.11.6
+PKG_VERSION:=2.11.7
PKG_RELEASE:=1
PKG_MAINTAINER:=Florian Eckert <fe@dev.tdt.de>, \
Aaron Goodman <aaronjg@alumni.stanford.edu>
echo "online" > $MWAN3TRACK_STATUS_DIR/$INTERFACE/STATUS
echo "0" > $MWAN3TRACK_STATUS_DIR/$INTERFACE/OFFLINE
get_uptime > $MWAN3TRACK_STATUS_DIR/$INTERFACE/ONLINE
+ score=$((down+up))
host_up_count=0
lost=0
turn=0
if [ $score -lt $up ]; then
score=0
[ ${keep_failure_interval} -eq 1 ] && sleep_time=$failure_interval
- else
+ elif [ $score -eq $up ]; then
disconnecting
sleep_time=$failure_interval
- fi
-
- if [ $score -eq $up ]; then
disconnected
- score=0
+ elif [ $score -gt $up ]; then
+ disconnecting
+ sleep_time=$failure_interval
fi
else
if [ $score -lt $((down+up)) ] && [ $lost -gt 0 ]; then
- connecting
LOG info "Lost $((lost*count)) ping(s) on interface $INTERFACE ($DEVICE). Current score: $score"
fi
let score++
lost=0
- if [ $score -gt $up ]; then
- echo "online" > $MWAN3TRACK_STATUS_DIR/$INTERFACE/STATUS
- score=$((down+up))
- elif [ $score -le $up ]; then
+ if [ $score -lt $up ]; then
+ connecting
+ sleep_time=$recovery_interval
+ elif [ $score -eq $up ]; then
connecting
sleep_time=$recovery_interval
- fi
-
- if [ $score -eq $up ]; then
connected
+ elif [ $score -gt $up ]; then
+ echo "online" > $MWAN3TRACK_STATUS_DIR/$INTERFACE/STATUS
+ score=$((down+up))
fi
fi
PKG_NAME:=nmap
PKG_VERSION:=7.93
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Nuno Gonçalves <nunojpg@gmail.com>
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
PYTHON3_PKG_BUILD:=0
+PYTHON3_PKG_FORCE_DISTUTILS_SETUP:=1
include $(INCLUDE_DIR)/package.mk
include ../../lang/python/python3-package.mk
$(call Py3Build/Compile)
endef
+define Build/Install
+ $(call Build/Install/Default,)
+ $(call Py3Build/Install)
+endef
+
define Package/nmap/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/nmap $(1)/usr/bin/
include $(TOPDIR)/rules.mk
PKG_NAME:=ocserv
-PKG_VERSION:=1.1.6
-PKG_RELEASE:=2
+PKG_VERSION:=1.1.7
+PKG_RELEASE:=1
PKG_BUILD_FLAGS:=no-mips16
PKG_BUILD_DIR :=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=ftp://ftp.infradead.org/pub/ocserv/
-PKG_HASH:=6a6cbe92212e32280426a51c634adc3d4803579dd049cfdb7e014714cc82c693
+PKG_HASH:=f30f7515e1e569ca2e68a96fa5e3dd10d49a18a40c981ad95b484d10835e3aa6
PKG_LICENSE:=GPL-2.0-or-later
PKG_LICENSE_FILES:=COPYING
PKG_NAME:=onionshare-cli
PKG_VERSION:=2.3.1
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PYPI_NAME:=onionshare-cli
PYPI_SOURCE_NAME:=onionshare_cli
PKG_BUILD_DEPENDS:=python-setuptools-scm/host
+PYTHON3_PKG_FORCE_DISTUTILS_SETUP:=1
+
include ../../lang/python/pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../../lang/python/python3-package.mk
PKG_NAME:=pbr
PKG_VERSION:=1.1.1
-PKG_RELEASE:=1
+PKG_RELEASE:=5
PKG_LICENSE:=GPL-3.0-or-later
PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
local iface="$2" dev="$3" gw
network_get_gateway6 gw "$iface" true
if [ -z "$gw" ] || [ "$gw" = '::/0' ] || [ "$gw" = '::0/0' ] || [ "$gw" = '::' ]; then
- gw="$($ip_bin -6 a list dev "$dev" 2>/dev/null | grep inet6 | awk '{print $2}')"
+ gw="$($ip_bin -6 a list dev "$dev" 2>/dev/null | grep inet6 | grep 'scope global' | awk '{print $2}')"
fi
eval "$1"='$gw'
}
ipv6_error=0
if { [ -n "$gw6" ] && [ "$gw6" != "::/0" ]; } || [ "$strict_enforcement" -ne 0 ]; then
if [ -z "$gw6" ] || [ "$gw6" = "::/0" ]; then
- $ip_bin -6 route add unreachable default table "$tid" || ipv6_error=1
+ $ip_bin -6 route add unreachable default table "$tid" >/dev/null 2>&1 || ipv6_error=1
elif $ip_bin -6 route list table main | grep -q " dev $dev6 "; then
while read -r i; do
i="$(echo "$i" | sed 's/ linkdown$//')"
$ip_bin -6 route add default dev "$dev6" table "$tid" >/dev/null 2>&1 || ipv6_error=1
fi
fi
- $ip_bin -6 rule add fwmark "${mark}/${fw_mask}" table "$tid" priority "$priority" || ipv6_error=1
+ $ip_bin -6 rule add fwmark "${mark}/${fw_mask}" table "$tid" priority "$priority" >/dev/null 2>&1 || ipv6_error=1
fi
fi
if [ "$ipv4_error" -eq 0 ] || [ "$ipv6_error" -eq 0 ]; then
# Transition from vpn-policy-routing
if [ -s '/etc/config/vpn-policy-routing' ] && [ ! -s '/etc/config/pbr-opkg' ]; then
+ if [ -x '/etc/init.d/vpn-policy-routing' ]; then
+ echo "Stopping and disabling vpn-policy-routing."
+ /etc/init.d/vpn-policy-routing stop
+ /etc/init.d/vpn-policy-routing disable
+ fi
echo "Migrating vpn-policy-routing config file."
mv '/etc/config/pbr' '/etc/config/pbr-opkg'
sed 's/vpn-policy-routing/pbr/g' /etc/config/vpn-policy-routing > /etc/config/pbr
PKG_NAME:=simple-adblock
PKG_VERSION:=1.9.5
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
PKG_LICENSE:=GPL-3.0-or-later
json_add_string proto "tcp udp"
json_add_string src_dport "$c"
json_add_string dest_port "$c"
+ json_add_string family any
json_add_boolean reflection 0
json_close_object
else
include $(TOPDIR)/rules.mk
PKG_NAME:=snort3
-PKG_VERSION:=3.1.60.0
+PKG_VERSION:=3.1.61.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/snort3/snort3/archive/refs/tags/
-PKG_HASH:=295bbeea93ead7835379d9c9332b1f82f9ecdd3741aeed267caf85bb887126a1
+PKG_HASH:=207963ece2eddd3c85ad90c9e2dabe33dc67eaa485ba9576e2b244f7ac45fc5d
PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
PKG_LICENSE:=GPL-2.0-only
+++ /dev/null
---- a/cmake/FindFlexLexer.cmake
-+++ b/cmake/FindFlexLexer.cmake
-@@ -16,11 +16,11 @@ macro(FLEX NAME LEXER_IN LEXER_OUT)
- COMPILE_FLAGS ${FLEX_FLAGS}
- )
-
-- # we use '+' as a separator for 'sed' to avoid conflicts with '/' in paths from LEXER_OUT
-+ # we use '|' as a separator for 'sed' to avoid conflicts with '/' in paths from LEXER_OUT
- add_custom_command(
- OUTPUT ${LEXER_OUT}
- COMMAND sed -e
-- "s+void yyFlexLexer::LexerError+yynoreturn void yyFlexLexer::LexerError+;s+${LEXER_OUT}.tmp+${LEXER_OUT}+"
-+ "s|void yyFlexLexer::LexerError|yynoreturn void yyFlexLexer::LexerError|;s|${LEXER_OUT}.tmp|${LEXER_OUT}|"
- ${FLEX_${NAME}_OUTPUTS} > ${LEXER_OUT}
- DEPENDS ${FLEX_${NAME}_OUTPUTS}
- VERBATIM
include $(TOPDIR)/rules.mk
PKG_NAME:=wsdd2
-PKG_RELEASE:=2
+PKG_RELEASE:=3
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/Netgear/wsdd2.git
}
[ -z "$SMB_CONF" ] && {
- logger -p daemon.error -t 'wsdd2' "samba36/4 or ksmbd is not running, can't start wsdd2!"
- exit 1
+ logger -p daemon.info -t 'wsdd2' "samba36/4 or ksmbd is not running"
+ return
}
# cleanup comments
include $(TOPDIR)/rules.mk
PKG_NAME:=coreutils
-PKG_VERSION:=9.2
+PKG_VERSION:=9.3
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNU/coreutils
-PKG_HASH:=6885ff47b9cdb211de47d368c17853f406daaf98b148aaecdf10de29cc04b0b3
+PKG_HASH:=adbcfcfe899235b71e8768dcf07cd532520b7f54f9a8064843f8d199a904bbaa
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
PKG_LICENSE:=GPL-3.0-or-later
-include $(top_srcdir)/tests/local.mk
--- a/Makefile.in
+++ b/Makefile.in
-@@ -4145,11 +4145,7 @@ RECURSIVE_TARGETS = all-recursive check-
+@@ -4149,11 +4149,7 @@ RECURSIVE_TARGETS = all-recursive check-
install-ps-recursive install-recursive installcheck-recursive \
installdirs-recursive pdf-recursive ps-recursive \
tags-recursive uninstall-recursive
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-@@ -4399,10 +4395,10 @@ am__DIST_COMMON = $(doc_coreutils_TEXINF
+@@ -4403,10 +4399,10 @@ am__DIST_COMMON = $(doc_coreutils_TEXINF
$(top_srcdir)/build-aux/missing \
$(top_srcdir)/build-aux/test-driver \
$(top_srcdir)/build-aux/texinfo.tex \
$(top_srcdir)/tests/local.mk ABOUT-NLS AUTHORS COPYING \
ChangeLog INSTALL NEWS README THANKS TODO build-aux/compile \
build-aux/config.guess build-aux/config.rpath \
-@@ -4516,7 +4512,7 @@ ERROR_H = @ERROR_H@
+@@ -4520,7 +4516,7 @@ ERROR_H = @ERROR_H@
ETAGS = @ETAGS@
EUIDACCESS_LIBGEN = @EUIDACCESS_LIBGEN@
EXEEXT = @EXEEXT@
FDATASYNC_LIB = @FDATASYNC_LIB@
FILE_HAS_ACL_LIB = @FILE_HAS_ACL_LIB@
FLOAT_H = @FLOAT_H@
-@@ -6171,7 +6167,7 @@ localedir_c_make = @localedir_c_make@
+@@ -6181,7 +6177,7 @@ localedir_c_make = @localedir_c_make@
localstatedir = @localstatedir@
localstatedir_c = @localstatedir_c@
localstatedir_c_make = @localstatedir_c_make@
mandir = @mandir@
mandir_c = @mandir_c@
mandir_c_make = @mandir_c_make@
-@@ -6220,7 +6216,7 @@ top_build_prefix = @top_build_prefix@
+@@ -6230,7 +6226,7 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
ALL_RECURSIVE_TARGETS = distcheck-hook check-root
#if GNU_MAKE
# [nicer features that work only with GNU Make]
-@@ -8425,7 +8421,7 @@ all: $(BUILT_SOURCES)
+@@ -8437,7 +8433,7 @@ all: $(BUILT_SOURCES)
.SUFFIXES: .1 .c .dvi .log .o .obj .pl .pl$(EXEEXT) .ps .sh .sh$(EXEEXT) .trs .x .xpl .xpl$(EXEEXT) .y
am--refresh: Makefile
@:
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
-@@ -8447,7 +8443,7 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
+@@ -8459,7 +8455,7 @@ Makefile: $(srcdir)/Makefile.in $(top_bu
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
esac;
PKG_NAME:=i2c-tools
PKG_VERSION:=4.3
-PKG_RELEASE:=1
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/software/utils/i2c-tools
This package contain the Python3 bindings for Linux SMBus access through i2c-dev.
endef
-PYTHON3_PKG_SETUP_ARGS:=
-PYTHON3_PKG_SETUP_DIR:=py-smbus
+PYTHON3_PKG_BUILD_PATH:=py-smbus
+PYTHON3_PKG_WHEEL_NAME:=smbus
+PYTHON3_PKG_WHEEL_VERSION:=1.1
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
$(CP) $(PKG_BUILD_DIR)/lib/libi2c.{a,so*} $(1)/usr/lib/
endef
+define Build/Install
+ $(call Py3Build/Install)
+endef
+
define Package/libi2c/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/lib/libi2c.so* $(1)/usr/lib/
PKG_NAME:=lxc
PKG_VERSION:=5.0.2
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://linuxcontainers.org/downloads/lxc/
-Dselinux=false \
-Dseccomp=$(if $(CONFIG_LXC_SECCOMP),true,false) \
-Dexamples=false \
- -Db_pie=true
+ -Db_pie=true \
+ -Druntime-path=/var/run
LXC_APPLETS_BIN += \
attach autostart cgroup copy config console create destroy device \
mount -t cgroup -o rw,nosuid,nodev,noexec,relatime,none,name=systemd cgroup /sys/fs/cgroup/systemd
fi
- if [ ! -d /run ]; then
- ln -s /var/run /run
- fi
-
start
}
include $(TOPDIR)/rules.mk
PKG_NAME:=open-plc-utils
-PKG_RELEASE:=5
+PKG_RELEASE:=6
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/qca/open-plc-utils.git
-PKG_SOURCE_VERSION:=358dfcf78bdaf7b0b13dcdf91cb1aae1789f2770
-PKG_MIRROR_HASH:=3b24033f3d2d9ac33778fb772837bc5e0a8891ac708bbe1f35336ff792baf9f8
+PKG_SOURCE_VERSION:=1ba7d5a042e4e8ff6858b08e113eec5dc4e89cf2
+PKG_MIRROR_HASH:=67a8c23a10b6b9e3437badad9f215d5350a766b1d0021c58d0ae092609be2b34
PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
PKG_NAME:=xxhash
PKG_VERSION:=0.8.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/Cyan4973/xxHash/archive/v$(PKG_VERSION)
PKG_LICENSE_FILES:=LICENSE,cli/COPYING
PKG_MAINTAINER:=Julien Malik <julien.malik@paraiso.me>
+PKG_INSTALL:=1
+
include $(INCLUDE_DIR)/package.mk
+PKG_UNPACK:=$(HOST_TAR) -C "$(PKG_BUILD_DIR)" --strip-components=1 -xzf "$(DL_DIR)/$(PKG_SOURCE)"
+
define Package/xxhash/Default
TITLE:=Extremely fast hash algorithm
URL:=https://cyan4973.github.io/xxHash/
This package contains the executables.
endef
-define Build/Prepare
- rm -rf $(PKG_BUILD_DIR)/
- mkdir -p $(PKG_BUILD_DIR)/
- $(TAR) -xzf $(DL_DIR)/$(PKG_SOURCE) -C $(PKG_BUILD_DIR) --strip 1
-endef
+MAKE_FLAGS += PREFIX=/usr
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
- $(CP) $(PKG_BUILD_DIR)/*.h $(1)/usr/include
+ $(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_BUILD_DIR)/libxxhash.so* $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libxxhash.{a,so*} $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
- $(CP) $(PKG_BUILD_DIR)/libxxhash.pc.in $(1)/usr/lib/pkgconfig
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libxxhash.pc $(1)/usr/lib/pkgconfig/
endef
define Package/libxxhash/install
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_BUILD_DIR)/libxxhash.so.* $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libxxhash.so.* $(1)/usr/lib/
endef
define Package/xxhash/install
$(INSTALL_DIR) $(1)/usr/bin
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/xxh*sum $(1)/usr/bin/
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/xxh*sum $(1)/usr/bin/
endef
$(eval $(call BuildPackage,libxxhash))