Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
fe48905
Makefile: add check-package-external target
airtower-luna Sep 29, 2025
38e0521
package/wilc-driver: redirect URL to github benetti-engineering
giuliobenetti Dec 30, 2025
8e4c663
boot/arm-trusted-firmware: optional Linux as BL33
js216 Sep 17, 2025
bc2d04f
package/depot-tools: fix python 3.14 support
RomainNaour Feb 3, 2026
53c2c09
package/mpg123: add sdl2 support
jacmet Feb 3, 2026
2f218b1
DEVELOPERS: add Giulio Benetti to package bind
giuliobenetti Jan 4, 2026
34ed3bb
package/rust-bindgen: add runtime host-clang dependency
Aug 8, 2025
c15b507
package/safeclib: properly format upstream information in patch
bkuhls Feb 3, 2026
34749a2
package/safeclib: fix build with gcc >= 14.x
bkuhls Feb 3, 2026
5bfd193
package/safeclib: bump version to 3.9.1
bkuhls Jan 10, 2026
9abaa88
package/docker-engine: update CPE
tperale Jan 20, 2026
3848bea
package/podman: add CPE
tperale Jan 20, 2026
5a03ffe
package/mp4v2: add CPE
tperale Jan 20, 2026
7bcad09
package/easy-rsa: add CPE
tperale Jan 20, 2026
7ed80ec
package/igmpproxy: add CPE
tperale Jan 20, 2026
ef52933
package/libucl: add CPE
tperale Jan 20, 2026
425abcd
support/testing: python-requests: new runtime test
Feb 2, 2026
d30457e
package/efl: fix check-package error
jolivain Feb 3, 2026
9171d29
package/bitcoin: drop dependencies on Boost Libraries
heinemml Feb 3, 2026
37152aa
package/aardvark-dns: add CPE identifier
tperale Jul 27, 2025
d41ed2e
package/gpsd: fix CVE-2025-67268 and CVE-2025-67269
tpetazzoni Feb 3, 2026
37ef4f8
package/gpsd: bump version to 3.27.2
bkuhls Dec 29, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions .checkpackageignore
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,6 @@ package/ebtables/0001-replace-ebtables-save-perl-script-with-bash.patch lib_patc
package/ecryptfs-utils/0001-musl.patch lib_patch.Upstream
package/ecryptfs-utils/0002-openssl110.patch lib_patch.Upstream
package/ecryptfs-utils/0003-fix-parallel-build-issue.patch lib_patch.Upstream
package/efl/0001-ecore_fb-fix-build-with-tslib.patch lib_patch.Upstream
package/eigen/0001-Adds-new-CMake-Options-for-controlling-build-compone.patch lib_patch.Upstream
package/elftosb/0001-fixes-includes.patch lib_patch.Upstream
package/elftosb/0002-force-cxx-compiler.patch lib_patch.Upstream
Expand Down Expand Up @@ -866,7 +865,6 @@ package/rubix/0001-dont-use-legacy-functions.patch lib_patch.Upstream
package/rubix/0002-misc-fixes.patch lib_patch.Sob lib_patch.Upstream
package/rygel/S99rygel Shellcheck lib_sysv.Indent lib_sysv.Variables
package/s6-linux-init/0001-configure-add-D_GNU_SOURCE.patch lib_patch.Upstream
package/safeclib/0001-fix-armv7-asm-inline-error-GH-115.patch lib_patch.Upstream
package/samba4/0001-build-find-pre-built-heimdal-build-tools-in-case-of-.patch lib_patch.Upstream
package/samba4/0002-ldap_message_test.c-include-stdint.h-before-cmoka.h.patch lib_patch.Upstream
package/samba4/S91smb Shellcheck lib_sysv.Indent lib_sysv.Variables
Expand Down Expand Up @@ -1016,11 +1014,6 @@ package/wampcc/0001-Add-RISC-V-endian-detection.patch lib_patch.Upstream
package/wampcc/0002-include-wampcc-platform.h-fix-build-with-musl-1.2.0.patch lib_patch.Upstream
package/wampcc/0003-Broken-build-on-Windows.patch lib_patch.Upstream
package/wget/0001-lib-getrandom.c-fix-build-with-uclibc-1.0.35.patch lib_patch.Upstream
package/wilc-driver/0001-cfg80211.c-fix-missing-prandom_u32-with-Linux-6.1.0.patch lib_patch.Upstream
package/wilc-driver/0002-spi.c-fix-build-failure-on-remove-callback.patch lib_patch.Upstream
package/wilc-driver/0003-cfg80211.c-fix-build-failure-with-Linux-5.19-and-6.1.patch lib_patch.Upstream
package/wilc-driver/0004-Fix-struct-station_parameters-Linux-6.1-build-failur.patch lib_patch.Upstream
package/wilc-driver/0005-Fix-cast-warnings.patch lib_patch.Upstream
package/wipe/0001-musl.patch lib_patch.Upstream
package/wireless_tools/0001-remove-bzero.patch lib_patch.Upstream
package/woff2/0001-CMake-Handle-multiple-libraries-being-returned-for-B.patch lib_patch.Upstream
Expand Down
3 changes: 3 additions & 0 deletions DEVELOPERS
Original file line number Diff line number Diff line change
Expand Up @@ -1289,6 +1289,7 @@ F: configs/mangopi_mq1rdw2_defconfig
F: configs/olimex_a*
F: configs/rockpro64_defconfig
F: package/at/
F: package/bind/
F: package/binutils/
F: package/cryptsetup/
F: package/dash/
Expand Down Expand Up @@ -2289,6 +2290,7 @@ F: support/testing/tests/package/test_python_django.py
F: support/testing/tests/package/test_python_fastapi.py
F: support/testing/tests/package/test_python_pydantic.py
F: support/testing/tests/package/test_python_pydantic_settings.py
F: support/testing/tests/package/test_python_requests.py
F: support/testing/tests/package/test_python_ruamel_yaml.py
F: support/testing/tests/package/test_python_sdbus_modemmanager.py
F: support/testing/tests/package/test_python_sdbus_systemd.py
Expand All @@ -2304,6 +2306,7 @@ F: support/testing/tests/package/sample_python_django.py
F: support/testing/tests/package/sample_python_fastapi.py
F: support/testing/tests/package/sample_python_pydantic.py
F: support/testing/tests/package/sample_python_pydantic_settings.py
F: support/testing/tests/package/sample_python_requests.py
F: support/testing/tests/package/sample_python_ruamel_yaml.py
F: support/testing/tests/package/sample_python_sdbus_modemmanager.py
F: support/testing/tests/package/sample_python_sdbus_systemd.py
Expand Down
22 changes: 21 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,8 @@ endif
noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconfig \
defconfig %_defconfig allyesconfig allnoconfig alldefconfig syncconfig release \
randpackageconfig allyespackageconfig allnopackageconfig \
print-version olddefconfig distclean manual manual-% check-package
print-version olddefconfig distclean manual manual-% check-package \
check-package-external

# Some global targets do not trigger a build, but are used to collect
# metadata, or do various checks. When such targets are triggered,
Expand Down Expand Up @@ -1255,10 +1256,29 @@ release:
print-version:
@echo $(BR2_VERSION_FULL)

# $(1): br2-external path
# $(2): br2-external description
define check-package-external
@$(call MESSAGE,"Checking packages in $(2)")
$(Q)if [ -r "$(1)/.checkpackageignore" ]; then \
ignore="--ignore-list=$(1)/.checkpackageignore" ; \
else \
ignore=""; \
fi ; \
$(TOPDIR)/utils/check-package \
--br2-external $${ignore} \
`git -C $(1) ls-tree -r --format='$(1)/%(path)' HEAD`
endef

check-package:
$(Q)./utils/check-package `git ls-tree -r --name-only HEAD` \
--ignore-list=$(TOPDIR)/.checkpackageignore

check-package-external:
$(foreach name,$(BR2_EXTERNAL_NAMES),\
$(call check-package-external,$(BR2_EXTERNAL_$(name)_PATH),\
$(BR2_EXTERNAL_$(name)_DESC))$(sep))

.PHONY: .checkpackageignore
.checkpackageignore:
$(Q)./utils/check-package --failed-only `git ls-tree -r --name-only HEAD` \
Expand Down
13 changes: 13 additions & 0 deletions boot/arm-trusted-firmware/Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,19 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33
for the 'qemu_sbsa' platform. In this case, due to the EDK2
build system, the dependency between ATF and EDK is reversed.

config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LINUX_AS_BL33
bool "Linux kernel"
depends on BR2_LINUX_KERNEL
depends on (BR2_arm || BR2_armeb)
depends on (BR2_LINUX_KERNEL_ZIMAGE || BR2_LINUX_KERNEL_APPENDED_ZIMAGE)
help
This option allows to embed the Linux kernel as the BL33
part of the ARM Trusted Firmware.

Do not choose this option if you intend to use U-Boot or
another second-stage bootloader. With this option, TF-A
starts Linux directly.

endchoice

if BR2_TARGET_ARM_TRUSTED_FIRMWARE_BAREBOX_AS_BL33
Expand Down
8 changes: 8 additions & 0 deletions boot/arm-trusted-firmware/arm-trusted-firmware.mk
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,14 @@ ARM_TRUSTED_FIRMWARE_MAKE_OPTS += BL33=$(BINARIES_DIR)/$(ARM_TRUSTED_FIRMWARE_UB
ARM_TRUSTED_FIRMWARE_DEPENDENCIES += uboot
endif

ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_LINUX_AS_BL33),y)
ARM_TRUSTED_FIRMWARE_MAKE_OPTS += BL33=$(BINARIES_DIR)/zImage
ifeq ($(ARM_TRUSTED_FIRMWARE_PLATFORM),stm32mp1)
ARM_TRUSTED_FIRMWARE_MAKE_OPTS += BL33_CFG=$(BINARIES_DIR)/$(LINUX_DTBS)
endif
ARM_TRUSTED_FIRMWARE_DEPENDENCIES += linux
endif

ifeq ($(BR2_TARGET_VEXPRESS_FIRMWARE),y)
ARM_TRUSTED_FIRMWARE_MAKE_OPTS += SCP_BL2=$(BINARIES_DIR)/scp-fw.bin
ARM_TRUSTED_FIRMWARE_DEPENDENCIES += vexpress-firmware
Expand Down
2 changes: 2 additions & 0 deletions package/aardvark-dns/aardvark-dns.mk
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,7 @@ AARDVARK_DNS_SITE_METHOD = git

AARDVARK_DNS_LICENSE = Apache-2.0
AARDVARK_DNS_LICENSE_FILES = LICENSE
AARDVARK_DNS_CPE_ID_VENDOR = containers
AARDVARK_DNS_CPE_ID_VERSION = $(subst v,,$(AARDVARK_DNS_VERSION))

$(eval $(cargo-package))
3 changes: 0 additions & 3 deletions package/bitcoin/Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,6 @@ config BR2_PACKAGE_BITCOIN
depends on BR2_USE_WCHAR
select BR2_HOST_CMAKE_AT_LEAST_3_22
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_BOOST_SYSTEM
select BR2_PACKAGE_BOOST_FILESYSTEM
select BR2_PACKAGE_BOOST_THREAD
select BR2_PACKAGE_LIBEVENT
help
Bitcoin Core is an open source project which maintains and
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,244 @@
From 7d467257a7cd57e746885ea73ccbda903450b461 Mon Sep 17 00:00:00 2001
From: jj <jj@imput.net>
Date: Fri, 5 Dec 2025 11:47:42 -0800
Subject: [PATCH] Replace deprecated ast types with ast.Constant

ast.Str et al. have been deprecated since Py3.8 and have been
completely removed in 3.14. Replace their usage with ast.Constant.

This change should not have any functional impact, since
according to [1]:
> Changed in version 3.8: Class ast.Constant is now used for
> all constants.
> Deprecated since version 3.8: Old classes ast.Num, ast.Str,
> [...] instantiating them will return an instance of a
> different class.

[1] https://docs.python.org/3/library/ast.html

Bug: 40283283
Change-Id: I0ed8ef3910f921483bff118976f516c5a935e0fc
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/7228507
Reviewed-by: Gavin Mak <gavinmak@google.com>
Reviewed-by: Yiwei Zhang <yiwzhang@google.com>
Commit-Queue: jj <jj@chromium.org>

Upstream: https://chromium.googlesource.com/chromium/tools/depot_tools/+/80d6ca1b1ac55fbd9dd8f506417824591251b8eb
[Romain: backport to 097e2072377]
Signed-off-by: Romain Naour <romain.naour@smile.fr>
---
gclient_eval.py | 72 ++++++++++++++++++++--------------
tests/gclient_eval_unittest.py | 6 +++
2 files changed, 49 insertions(+), 29 deletions(-)

diff --git a/gclient_eval.py b/gclient_eval.py
index f8a05d78a..94874e3ce 100644
--- a/gclient_eval.py
+++ b/gclient_eval.py
@@ -101,6 +101,24 @@ def _NodeDictSchema(dict_schema):
return validate


+def _IsConstant(node):
+ return isinstance(node, ast.Constant)
+
+
+def _IsStringConstant(node):
+ return _IsConstant(node) and isinstance(node.value, str)
+
+
+def _IsNameConstant(node):
+ return _IsConstant(node) \
+ and isinstance(node.value, (bool, type(None)))
+
+
+def _IsNumericConstant(node):
+ return _IsConstant(node) \
+ and isinstance(node.value, (int, float, complex)) \
+ and not isinstance(node.value, bool)
+
# See https://github.com/keleshev/schema for docs how to configure schema.
_GCLIENT_DEPS_SCHEMA = _NodeDictSchema({
schema.Optional(str):
@@ -316,18 +334,18 @@ def _gclient_eval(node_or_string, filename='<unknown>', vars_dict=None):
node_or_string = node_or_string.body

def _convert(node):
- if isinstance(node, ast.Str):
+ if _IsStringConstant(node):
if vars_dict is None:
- return node.s
+ return node.value
try:
- return node.s.format(**vars_dict)
+ return node.value.format(**vars_dict)
except KeyError as e:
raise KeyError(
'%s was used as a variable, but was not declared in the vars dict '
'(file %r, line %s)' %
(e.args[0], filename, getattr(node, 'lineno', '<unknown>')))
- elif isinstance(node, ast.Num):
- return node.n
+ elif _IsNameConstant(node) or _IsNumericConstant(node):
+ return node.value
elif isinstance(node, ast.Tuple):
return tuple(map(_convert, node.elts))
elif isinstance(node, ast.List):
@@ -349,9 +367,6 @@ def _gclient_eval(node_or_string, filename='<unknown>', vars_dict=None):
'invalid name %r (file %r, line %s)' %
(node.id, filename, getattr(node, 'lineno', '<unknown>')))
return _allowed_names[node.id]
- elif not sys.version_info[:2] < (3, 4) and isinstance(
- node, ast.NameConstant): # Since Python 3.4
- return node.value
elif isinstance(node, ast.Call):
if (not isinstance(node.func, ast.Name)
or (node.func.id not in ('Str', 'Var'))):
@@ -366,8 +381,8 @@ def _gclient_eval(node_or_string, filename='<unknown>', vars_dict=None):
'<unknown>')))

if node.func.id == 'Str':
- if isinstance(node.args[0], ast.Str):
- return ConstantString(node.args[0].s)
+ if _IsStringConstant(node.args[0]):
+ return ConstantString(node.args[0].value)
raise ValueError(
'Passed a non-string to Str() (file %r, line%s)' %
(filename, getattr(node, 'lineno', '<unknown>')))
@@ -594,8 +609,8 @@ def EvaluateCondition(condition, variables, referenced_variables=None):
main_node = main_node.body

def _convert(node, allow_tuple=False):
- if isinstance(node, ast.Str):
- return node.s
+ if _IsStringConstant(node):
+ return node.value

if isinstance(node, ast.Tuple) and allow_tuple:
return tuple(map(_convert, node.elts))
@@ -627,8 +642,7 @@ def EvaluateCondition(condition, variables, referenced_variables=None):
# be evaluated.
return node.id

- if not sys.version_info[:2] < (3, 4) and isinstance(
- node, ast.NameConstant): # Since Python 3.4
+ if _IsNameConstant(node):
return node.value

if isinstance(node, ast.BoolOp) and isinstance(node.op, ast.Or):
@@ -696,11 +710,11 @@ def _UpdateAstString(tokens, node, value):
node = node.args[0]
position = node.lineno, node.col_offset
quote_char = ''
- if isinstance(node, ast.Str):
+ if _IsStringConstant(node):
quote_char = tokens[position][1][0]
value = value.encode('unicode_escape').decode('utf-8')
tokens[position][1] = quote_char + value + quote_char
- node.s = value
+ node.value = value


def _ShiftLinesInTokens(tokens, delta, start):
@@ -793,11 +807,11 @@ def SetVar(gclient_dict, var_name, value):

def _GetVarName(node):
if isinstance(node, ast.Call):
- return node.args[0].s
+ return node.args[0].value

- if node.s.endswith('}'):
- last_brace = node.s.rfind('{')
- return node.s[last_brace + 1:-1]
+ if node.value.endswith('}'):
+ last_brace = node.value.rfind('{')
+ return node.value[last_brace + 1:-1]
return None


@@ -821,9 +835,9 @@ def SetGCS(gclient_dict, dep_name, new_objects):
keys_to_update = ('object_name', 'sha256sum', 'size_bytes', 'generation')
for index, object_node in enumerate(objects_node.elts):
for key, value in zip(object_node.keys, object_node.values):
- if key.s not in keys_to_update:
+ if key.value not in keys_to_update:
continue
- _UpdateAstString(tokens, value, new_objects[index][key.s])
+ _UpdateAstString(tokens, value, new_objects[index][key.value])

node.SetNode('objects', new_objects, objects_node)

@@ -855,7 +869,7 @@ def SetCIPD(gclient_dict, dep_name, package_name, new_version):
"The deps entry for %s:%s has no formatting information." %
(dep_name, package_name))

- if not isinstance(node, ast.Call) and not isinstance(node, ast.Str):
+ if not isinstance(node, ast.Call) and not _IsStringConstant(node):
raise ValueError(
"Unsupported dependency revision format. Please file a bug to the "
"Infra>SDK component in crbug.com")
@@ -880,15 +894,15 @@ def SetRevision(gclient_dict, dep_name, new_revision):
if isinstance(node, ast.BinOp):
node = node.right

- if isinstance(node, ast.Str):
+ if _IsStringConstant(node):
token = _gclient_eval(tokens[node.lineno, node.col_offset][1])
- if token != node.s:
+ if token != node.value:
raise ValueError(
'Can\'t update value for %s. Multiline strings and implicitly '
'concatenated strings are not supported.\n'
'Consider reformatting the DEPS file.' % dep_key)

- if not isinstance(node, ast.Call) and not isinstance(node, ast.Str):
+ if not isinstance(node, ast.Call) and not _IsStringConstant(node):
raise ValueError(
"Unsupported dependency revision format. Please file a bug to the "
"Infra>SDK component in crbug.com")
@@ -897,15 +911,15 @@ def SetRevision(gclient_dict, dep_name, new_revision):
if var_name is not None:
SetVar(gclient_dict, var_name, new_revision)
else:
- if '@' in node.s:
+ if '@' in node.value:
# '@' is part of the last string, which we want to modify.
# Discard whatever was after the '@' and put the new revision in
# its place.
- new_revision = node.s.split('@')[0] + '@' + new_revision
+ new_revision = node.value.split('@')[0] + '@' + new_revision
elif '@' not in dep_dict[dep_key]:
# '@' is not part of the URL at all. This mean the dependency is
# unpinned and we should pin it.
- new_revision = node.s + '@' + new_revision
+ new_revision = node.value + '@' + new_revision
_UpdateAstString(tokens, node, new_revision)
dep_dict.SetNode(dep_key, new_revision, node)

diff --git a/tests/gclient_eval_unittest.py b/tests/gclient_eval_unittest.py
index 03decdf30..3aed06156 100755
--- a/tests/gclient_eval_unittest.py
+++ b/tests/gclient_eval_unittest.py
@@ -30,6 +30,11 @@ class GClientEvalTest(unittest.TestCase):
def test_str(self):
self.assertEqual('foo', gclient_eval._gclient_eval('"foo"'))

+ def test_num(self):
+ self.assertEqual(42, gclient_eval._gclient_eval('42'))
+ self.assertEqual(1024.0, gclient_eval._gclient_eval('1024.0'))
+ self.assertEqual(42j, gclient_eval._gclient_eval('42j'))
+
def test_tuple(self):
self.assertEqual(('a', 'b'), gclient_eval._gclient_eval('("a", "b")'))

@@ -40,6 +45,7 @@ class GClientEvalTest(unittest.TestCase):
self.assertEqual({'a': 'b'}, gclient_eval._gclient_eval('{"a": "b"}'))

def test_name_safe(self):
+ self.assertEqual(None, gclient_eval._gclient_eval('None'))
self.assertEqual(True, gclient_eval._gclient_eval('True'))

def test_name_unsafe(self):
--
2.52.0

Loading