Add a CI test.sh exercising basic package functionality.
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit bdef92ab04)
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Add a CI test.sh exercising basic package functionality.
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit 1967bdda14)
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Add a CI test.sh exercising basic package functionality.
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit f46fc0fed0)
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Generic version checks were introduced in actions-shared-workflows,
making these individual test.sh files obsolete.
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(cherry picked from commit e755a9aef2)
[drop the files that openwrt-25.12 does not have]
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
master added this test.sh together with the update to 4.9.1, but it
only uses the rsa API that 4.9 already has. The version check override
of python-rsa relies on it, so take it on its own.
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit 349bf45ee1)
[take only test.sh, openwrt-25.12 keeps python-rsa 4.9]
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
The incremental CLI requires an "update" subcommand and prints a usage
error instead of a version for the flags the generic check probes, so it
fails generic tests (e.g. when python3 is bumped). Override it; test.sh
still covers functionality.
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit 8338b02877)
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
The pyrsa-* command line tools use argparse and do not print the package
version with any of the flags probed by the CI generic version check, so it
reports "No executables in the package provided version" and fails. Add a
test-version.sh override; functionality remains covered by test.sh.
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit cb99eecb43)
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
The three CLI helpers shipped by python3-argcomplete
(activate-global-python-argcomplete, register-python-argcomplete,
python-argcomplete-check-easy-install-script) don't accept a --version
flag and emit no PKG_VERSION string in their usage output. With all
three executables missing the version, the generic CI test stage
fails with "No executables in the package provided version 3.6.3".
Add a test-version.sh that emits a line containing PKG_VERSION so the
framework's "Version check override" passes. The existing test.sh
already exercises the Python module import.
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit e74e7138fb)
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Fix shellcheck shell configuration in version check overrides.
Signed-off-by: George Sapkin <george@sapk.in>
(cherry picked from commit 6a20260a1f)
[drop avahi, fixed already, and the files openwrt-25.12 does not have]
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Skip version checks as none of the executables seem to report their
versions.
Signed-off-by: George Sapkin <george@sapk.in>
(cherry picked from commit 1130219346)
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Skip version checks as none of the executables seem to report their
versions.
Signed-off-by: George Sapkin <george@sapk.in>
(cherry picked from commit 31247cdbe5)
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
The test.sh lacked a package name guard, causing it to run (and fail)
when the -src subpackage was tested without python3 installed.
Add the standard guard to skip the test for non-main packages.
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit 5264f85e22)
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
The override lists every python3 package by name, so it has to change
whenever the package set does, and it cannot be used as is on branches
that build a different set, like libpython3-3.13 and python3-email on
openwrt-25.12.
Check the interpreter, python3-dev and libpython3-X.Y against the
version, and accept the standard library modules and -src packages by
pattern, since they ship no executables. python3-dev now gets a real
check through python3-config and patchlevel.h, because python3-config
prints no version.
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(cherry picked from commit 9274fde0ba)
[take the new file, openwrt-25.12 does not have the package list from 9d69e4fa2]
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Move existing version checks into override and add explicit package checks.
Signed-off-by: George Sapkin <george@sapk.in>
(cherry picked from commit b5d3a38e45)
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Update to the latest 3.13 bugfix release.
Bump PYTHON3_PIP_VERSION to 26.2.1 to match the pip wheel bundled in
ensurepip, which the host build checks for. This pip also fixes
CVE-2026-3219 in the host pip.
Drop 100-test_hashlib-better-handle-support-for-SHA3.patch, which is
included upstream since 3.13.10 (gh-141907).
Refresh the other patches. Only the hunk offsets changed, and the
changed patches get the git headers they have in master.
The bundled libexpat, which the target build uses, goes from 2.7.3 to
2.8.2.
Fixes CVEs:
CVE-2025-6075, CVE-2025-8291, CVE-2025-11468, CVE-2025-12084,
CVE-2025-13462, CVE-2025-13836, CVE-2025-13837, CVE-2025-15282,
CVE-2025-15366, CVE-2026-0672, CVE-2026-0864, CVE-2026-0865,
CVE-2026-1299, CVE-2026-1502, CVE-2026-2297, CVE-2026-3276,
CVE-2026-3446, CVE-2026-3644, CVE-2026-4224, CVE-2026-4360,
CVE-2026-4519, CVE-2026-4786, CVE-2026-6019, CVE-2026-6100,
CVE-2026-6879, CVE-2026-7210, CVE-2026-7774, CVE-2026-8328,
CVE-2026-9669, CVE-2026-11940, CVE-2026-11972, CVE-2026-12003,
CVE-2026-15308, CVE-2026-18503, CVE-2026-45186
Release notes:
https://docs.python.org/release/3.13.15/whatsnew/changelog.html
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Add HOST_PYTHON3_PIP_VARS and --no-build-isolation to MAKE_VARS.
Without --no-build-isolation, pip creates an isolated build environment
which fails during cross-compilation because _sysconfigdata is missing.
Aligns with python-selinux which already has this fix.
The libsemanage pywrap uses the host Python's EXT_SUFFIX to name the
C extension, so we will use the PYCEXT env-var to correct that.
Add basic test.sh to verify the semanage Python bindings load correctly
in environments without SELinux kernel support.
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit acfafdaa03)
[keep version 3.8.1 from openwrt-25.12]
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Add --no-build-isolation to PYTHON_SETUP_ARGS. Without it, pip creates
an isolated build environment which fails during cross-compilation
because _sysconfigdata is missing for the target arch.
Add test.sh with basic import and API sanity checks.
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit e2e727e686)
[keep version 3.8.1 from openwrt-25.12]
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Like python-wheel, typing-extensions caps its build backend at
"flit_core >=3.11,<4", so python-typing-extensions/host fails with
"Missing dependencies: flit_core<4,>=3.11" now that the feed ships
flit-core 4.0.2. flit_core 4 builds it unchanged; relax the upper bound.
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit 99a2de54f5)
Signed-off-by: Jan Kardell <jan.kardell@telliq.com>
Add PYPI_SOURCE_NAME:=drf_nested_routers as the 0.95.0 sdist
uses underscores in the filename.
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit 0f833b1b9c)
Update package to 3.17.1.
Bug fix:
- HTMLFormRenderer crashed with empty datetime field values
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit b5a553b457)
Major changes since 3.10.0:
4.0:
- add CORS_ALLOW_PRIVATE_NETWORK setting for Local Network Access spec support
- add async middleware support, reducing overhead on async views
- remove deprecated CORS_REPLACE_HTTPS_REFERER and CorsPostCsrfMiddleware
- remove three header names from default allowed list (accept-encoding, dnt, origin)
4.3:
- fix access-control-allow-credentials header not being omitted on
non-allowed responses
4.6:
- drop support for Django 3.2 through 4.1
4.9:
- add Django 6.0 support
- tighten validation of sequence-type settings (e.g. CORS_ALLOW_METHODS)
Add PYPI_SOURCE_NAME:=django_cors_headers as the 4.x sdist uses
underscores in the filename.
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit ccd69a148f)
Update package to 6.0.4.
Security fixes:
- CVE-2026-33033: DoS fix in MultiPartParser -- base64-encoded multipart
uploads with excessive whitespace could cause repeated memory copying
- CVE-2026-3902: ASGI header spoofing fixed -- headers containing underscores
are now ignored by ASGIRequest to prevent hyphen/underscore conflation
attacks
- CVE-2026-4277: Privilege abuse in GenericInlineModelAdmin -- add permissions
on inline model instances were not validated against forged POST data
- CVE-2026-4292: Privilege abuse in ModelAdmin.list_editable -- changelist
forms incorrectly allowed new instances to be created via forged POST data
- CVE-2026-33034: DoS via ASGI memory upload limit bypass -- missing or
understated Content-Length could bypass DATA_UPLOAD_MAX_MEMORY_SIZE
Bug fixes:
- alogin/alogout regression where request.user was not set/cleared if already
materialized by sync middleware
- RelatedFieldWidgetWrapper regression incorrectly wrapping all widgets in a
fieldset in admin forms
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit 06eb22a606)
Changes since 0.4.4:
- v0.5.0: Improved handling of CTEs and window functions
- v0.5.0: Better token classification for SQL dialects
- v0.5.x: Various bug fixes for edge cases in formatting
and statement splitting
Also add test.sh to verify formatting, splitting, and parsing.
Link: https://github.com/andialbrecht/sqlparse/blob/master/CHANGELOG
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit 2eef8732a3)
Verify that asgiref.__version__ strictly equals the expected version
argument ($2), instead of just checking that it is non-empty.
Also remove single quotes from EOF to enable variable expansion.
Signed-off-by: Wei-Ting Yang <williamatcg@gmail.com>
(cherry picked from commit bdab2f1f59)
Changelog: https://github.com/django/asgiref/blob/main/CHANGELOG.txt
Multiple minor/patch releases since 3.7.2 with bug fixes and
Python 3.13+ compatibility improvements. Resets PKG_RELEASE to 1.
Add test.sh to verify async_to_sync and sync_to_async adapters.
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit 5a7fbc8303)
Changelog since 0.9.6.1:
- add product version number to the PRODID tag in iCalendar output
- add support for GEO tags in vCards
- various bugfixes and compatibility improvements
Also need to update setup.cfg at build time to insert the version
to allow the package to build.
Otherwise we get
```
2026-04-21T08:17:17.9341927Z File "/builder/staging_dir/hostpkg/lib/python3.14/site-packages/setuptools/config/setupcfg.py", line 296, in __setitem__
2026-04-21T08:17:17.9342520Z parsed = self.parsers.get(option_name, lambda x: x)(value)
2026-04-21T08:17:17.9343117Z File "/builder/staging_dir/hostpkg/lib/python3.14/site-packages/setuptools/config/setupcfg.py", line 602, in _parse_version
2026-04-21T08:17:17.9343777Z return expand.version(self._parse_attr(value, self.package_dir, self.root_dir))
2026-04-21T08:17:17.9344201Z ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-04-21T08:17:17.9344938Z File "/builder/staging_dir/hostpkg/lib/python3.14/site-packages/setuptools/config/setupcfg.py", line 421, in _parse_attr
2026-04-21T08:17:17.9345544Z return expand.read_attr(attr_desc, package_dir, root_dir)
2026-04-21T08:17:17.9345876Z ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2026-04-21T08:17:17.9346409Z File "/builder/staging_dir/hostpkg/lib/python3.14/site-packages/setuptools/config/expand.py", line 191, in read_attr
2026-04-21T08:17:17.9346947Z return getattr(module, attr_name)
2026-04-21T08:17:17.9347261Z AttributeError: module 'vobject' has no attribute 'VERSION'
2026-04-21T08:17:17.9598878Z
```
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit 970bbeb3b5)
On macOS (Darwin) hosts, building host Python C extensions (such as Cython) using the '-shared' flag and linking against '-lpython3.x' causes the host Python interpreter to load a duplicate copy of the Python runtime. This leads to type checking mismatches and segmentation faults (SIGSEGV) when importing the compiled extension.
For example, running:
./staging_dir/hostpkg/bin/python3 -c "import Cython.Utils"
crashes with:
Segmentation fault: 11
To build shared modules correctly on macOS, they must be compiled as bundles using the '-bundle -undefined dynamic_lookup' flags instead of '-shared', and they should not link against the Python library (no '-lpython3.x' in LDFLAGS).
Fix this by dynamically adjusting LDSHARED and LDFLAGS in python3-host.mk when the host OS is Darwin.
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(cherry picked from commit ea541f48b5)
Removing the ncursesw path from include avoids seeing the wide-char
version of ncurses, so the host build picks up the narrow static lib
that the OpenWrt SDK stages. To keep that pin from leaking back in
through other curses headers the build host may have under
/usr/include, also force every header check in Python's configure.ac
AC_CHECK_HEADERS(curses.h ncurses.h ncursesw/ncurses.h
ncursesw/curses.h ncursesw/panel.h panel.h) line to "no" via cached
ac_cv_header_* variables.
The narrow ncursesw_* trio was enough on the original reporter's
host; Jan Kardell's review of the first cut hit a build where
`/usr/include/curses.h` and `/usr/include/ncurses.h` from the
distro's libncurses-dev were still being picked up. Adding the
non-wide entries (and panel.h for symmetry, in case a host also
ships /usr/include/panel.h alone) makes the override insensitive to
whichever curses dev packages the host distro happens to provide.
Reported-by: Jan Kardell <jan.kardell@telliq.com>
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit d883c02a41)
Flup was heavily used in downstream distribution (Turris OS)
for their Web UI - reForis. Since there are no other
dependent packages in this repository, Flup is no longer needed.
The package appears to be abandoned and is no longer maintained
The latest version dates back to 2009.
It was previously required for Seafile.
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(cherry picked from commit 5120ed91b8)
Bump to version 0.1.3 and drop patch, which is in upstream.
Signed-off-by: Erik Larsson <who+github@cnackers.org>
(cherry picked from commit fee669b6d4)
The release tarball already contains a pre-generated _version.py with
the version hardcoded, so versioneer is not needed at build time.
Patch pyproject.toml to only require setuptools and remove
PKG_BUILD_DEPENDS:=python-versioneer/host.
Remove python-versioneer package as it is no longer needed.
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit 8c3bc3fcf9)
Update package to 3.4.0.
Changes:
- Added binary wheels for RISC-V 64
- Fixed multiple rare crash paths during interpreter shutdown; now uses
the atexit module (subtle API change: getcurrent unavailable once
atexit fires)
- Fixed multiple race conditions in free-threaded (no-GIL) builds when
greenlets are accessed from multiple threads, some causing assertion
failures or interpreter crashes
- Several minor correctness fixes from automated code audit
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit 15e2da047b)
Build is failing for a while now with error:
```
14.3.0_musl/usr/include -I/builder/shared-workdir/build/sdk/staging_dir/toolchain-mipsel_24kc_gcc-14.3.0_musl/include -I/builder/shared-workdir/build/sdk/staging_dir/toolchain-mipsel_24kc_gcc-14.3.0_musl/include/fortify -I/builder/shared-workdir/build/sdk/staging_dir/target-mipsel_24kc_musl/usr/include/python3.14 -fPIC -I/builder/shared-workdir/build/sdk/staging_dir/target-mipsel_24kc_musl/usr/include/python3.14 -c ./ubus_python.c -o build/temp.linux-mipsel-cpython-314/ubus_python.o
./ubus_python.c: In function 'ubus_python_add':
./ubus_python.c:1081:17: error: implicit declaration of function 'PyEval_CallMethod'; did you mean 'PyObject_CallMethod'? [-Wimplicit-function-declaration]
1081 | PyEval_CallMethod(python_alloc_list, "pop", "");
| ^~~~~~~~~~~~~~~~~
| PyObject_CallMethod
error: command '/builder/shared-workdir/build/sdk/staging_dir/toolc
```
This has been fixed on version 0.1.3, but that hasn't been
published to pypi yet.
Also add test.sh
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit 29e685e1f8)
Starting with 46.x, cryptography switched its build backend from
setuptools-rust to maturin. Update PKG_BUILD_DEPENDS accordingly:
replace python-setuptools-rust/host with python-maturin/host and
python-setuptools/host (setuptools is still required by cffi).
Drop 001-Update-ouroboros.patch: the ouroboros crate is no longer a
dependency in 46.x, so the patch (which bumped it from 0.15 to 0.18
to fix RUSTSEC-2023-0042) no longer applies.
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
(cherry picked from commit 2d20f8f0dc)
When Python3 was updated via commit 97a92f2e7 , distutils was
disappeared from Python3 and moved to setuptools.
So that patch should have moved here as well.
This should fix all packages which still use the 'build_ext'
module from setuptools.
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>