Compare commits
27
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1bdb79ba78 | ||
|
|
2fc34cea2e | ||
|
|
e05648d133 | ||
|
|
0839545a9b | ||
|
|
43dcaa19a0 | ||
|
|
c9355a3869 | ||
|
|
55979f081d | ||
|
|
b6b96b7bdc | ||
|
|
a9bfc39660 | ||
|
|
4e7ac190e2 | ||
|
|
f7d11b87d4 | ||
|
|
d93448fe25 | ||
|
|
2fb527fcf9 | ||
|
|
bd9a6c2b36 | ||
|
|
9d92c7e3ff | ||
|
|
223abaf98a | ||
|
|
6788f3d26c | ||
|
|
079a66f107 | ||
|
|
1e1fe402a3 | ||
|
|
15fdc8b0ca | ||
|
|
46916c3536 | ||
|
|
4c890bc46d | ||
|
|
4dc951f3ee | ||
|
|
fb992eb5a3 | ||
|
|
04c9ecd788 | ||
|
|
bd28e7a22c | ||
|
|
e5b4518319 |
@@ -1,3 +1,17 @@
|
||||
2025.05-rc2, released May 28th, 2025
|
||||
|
||||
Fixes all over the tree.
|
||||
|
||||
Defconfigs: imx8mn-bsh-smm-s2: Unbreak boot after move to
|
||||
U-Boot 2025.04.
|
||||
|
||||
Updated/fixed packages: assimp, atkmm, atkmm2_28, binutils,
|
||||
casync-nano, esp-hosted, gmrender-resurrect, gtkmm3, kmsxx,
|
||||
libcamera, libglade, linux, lzo, python-click, python-django,
|
||||
python-flask-restx, python-pydantic, python-pydantic-core,
|
||||
python-referencing, python-tornado, sane-airscan, systemd,
|
||||
uacme, uuu
|
||||
|
||||
2025.05-rc1, released May 19th, 2025
|
||||
|
||||
Fixes all over the tree and package updates.
|
||||
|
||||
@@ -2278,6 +2278,7 @@ N: Marcus Hoffmann <bubu@bubu1.eu>
|
||||
F: package/nethogs/
|
||||
F: package/pico-sdk/
|
||||
F: package/picotool/
|
||||
F: package/python-django/
|
||||
F: package/python-immutabledict/
|
||||
F: package/python-jc/
|
||||
F: package/python-pydantic/
|
||||
@@ -2287,12 +2288,14 @@ F: package/python-ruamel-yaml-clib/
|
||||
F: package/python-typing-inspection/
|
||||
F: package/python-tzlocal/
|
||||
F: package/python-waitress/
|
||||
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_ruamel_yaml.py
|
||||
F: support/testing/tests/package/test_python_tzlocal.py
|
||||
F: support/testing/tests/package/test_python_waitress.py
|
||||
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
|
||||
|
||||
@@ -92,9 +92,9 @@ all:
|
||||
.PHONY: all
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION := 2025.05-rc1
|
||||
export BR2_VERSION := 2025.05-rc2
|
||||
# Actual time the release is cut (for reproducible builds)
|
||||
BR2_VERSION_EPOCH = 1747650000
|
||||
BR2_VERSION_EPOCH = 1748462400
|
||||
|
||||
# Save running make version since it's clobbered by the make package
|
||||
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
|
||||
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
From f7cddc4c6f4e4da57c6500cd0d88ea06e937b239 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Trimarchi <michael@amarulasolutions.com>
|
||||
Date: Thu, 15 May 2025 17:09:51 +0200
|
||||
Subject: [PATCH] arm: imx: imx8m: soc: fix the macro name
|
||||
|
||||
The function arch_spl_mmc_get_uboot_raw_sector() was never compiled,
|
||||
even when the option CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION was
|
||||
enabled. So rename the macro SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION to
|
||||
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION.
|
||||
|
||||
Fixes: 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options")
|
||||
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
|
||||
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
|
||||
Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
|
||||
Reviewed-by: Peng Fan <peng.fan@nxp.com>
|
||||
Upstream: https://source.denx.de/u-boot/u-boot/-/commit/f7cddc4c6f4e4da57c6500cd0d88ea06e937b239
|
||||
---
|
||||
arch/arm/mach-imx/imx8m/soc.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-imx/imx8m/soc.c b/arch/arm/mach-imx/imx8m/soc.c
|
||||
index 567e8e9e81a0..806adcf145fa 100644
|
||||
--- a/arch/arm/mach-imx/imx8m/soc.c
|
||||
+++ b/arch/arm/mach-imx/imx8m/soc.c
|
||||
@@ -791,7 +791,7 @@ int boot_mode_getprisec(void)
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_IMX8MN) || defined(CONFIG_IMX8MP)
|
||||
-#ifdef SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
|
||||
+#ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
|
||||
#define IMG_CNTN_SET1_OFFSET GENMASK(22, 19)
|
||||
unsigned long arch_spl_mmc_get_uboot_raw_sector(struct mmc *mmc,
|
||||
unsigned long raw_sect)
|
||||
@@ -826,7 +826,7 @@ unsigned long arch_spl_mmc_get_uboot_raw_sector(struct mmc *mmc,
|
||||
|
||||
return raw_sect;
|
||||
}
|
||||
-#endif /* SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION */
|
||||
+#endif /* CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION */
|
||||
#endif
|
||||
|
||||
bool is_usb_boot(void)
|
||||
--
|
||||
2.43.0
|
||||
|
||||
+178
@@ -0,0 +1,178 @@
|
||||
From 4c82eeab9840983693791117aa75f7bd7fbc805b Mon Sep 17 00:00:00 2001
|
||||
From: Dario Binacchi <dario.binacchi@amarulasolutions.com>
|
||||
Date: Thu, 15 May 2025 17:09:52 +0200
|
||||
Subject: [PATCH] arm: imx: imx8m: soc: replace ifdef by IS_ENABLED()
|
||||
|
||||
Standardize on using the IS_ENABLED macro.
|
||||
|
||||
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
|
||||
Reviewed-by: Peng Fan <peng.fan@nxp.com>
|
||||
Upstream: https://source.denx.de/u-boot/u-boot/-/commit/4c82eeab9840983693791117aa75f7bd7fbc805b
|
||||
---
|
||||
arch/arm/mach-imx/imx8m/soc.c | 40 +++++++++++++++++------------------
|
||||
1 file changed, 20 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-imx/imx8m/soc.c b/arch/arm/mach-imx/imx8m/soc.c
|
||||
index 806adcf145fa..3cdb71a25284 100644
|
||||
--- a/arch/arm/mach-imx/imx8m/soc.c
|
||||
+++ b/arch/arm/mach-imx/imx8m/soc.c
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
-#if defined(CONFIG_IMX_HAB)
|
||||
+#if IS_ENABLED(CONFIG_IMX_HAB)
|
||||
struct imx_fuse const imx_sec_config_fuse = {
|
||||
.bank = 1,
|
||||
.word = 3,
|
||||
@@ -52,7 +52,7 @@ struct imx_fuse const imx_field_return_fuse = {
|
||||
|
||||
int timer_init(void)
|
||||
{
|
||||
-#ifdef CONFIG_XPL_BUILD
|
||||
+#if IS_ENABLED(CONFIG_XPL_BUILD)
|
||||
struct sctr_regs *sctr = (struct sctr_regs *)SYSCNT_CTRL_BASE_ADDR;
|
||||
unsigned long freq = readl(&sctr->cntfid0);
|
||||
|
||||
@@ -110,7 +110,7 @@ void set_wdog_reset(struct wdog_regs *wdog)
|
||||
setbits_le16(&wdog->wcr, WDOG_WDT_MASK | WDOG_WDZST_MASK);
|
||||
}
|
||||
|
||||
-#ifdef CONFIG_ARMV8_PSCI
|
||||
+#if IS_ENABLED(CONFIG_ARMV8_PSCI)
|
||||
#define PTE_MAP_NS PTE_BLOCK_NS
|
||||
#else
|
||||
#define PTE_MAP_NS 0
|
||||
@@ -700,11 +700,11 @@ int arch_cpu_init(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-#if defined(CONFIG_IMX8MN) || defined(CONFIG_IMX8MP)
|
||||
+#if IS_ENABLED(CONFIG_IMX8MN) || IS_ENABLED(CONFIG_IMX8MP)
|
||||
struct rom_api *g_rom_api = (struct rom_api *)0x980;
|
||||
#endif
|
||||
|
||||
-#if defined(CONFIG_IMX8M)
|
||||
+#if IS_ENABLED(CONFIG_IMX8M)
|
||||
#include <spl.h>
|
||||
int imx8m_detect_secondary_image_boot(void)
|
||||
{
|
||||
@@ -790,8 +790,8 @@ int boot_mode_getprisec(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
-#if defined(CONFIG_IMX8MN) || defined(CONFIG_IMX8MP)
|
||||
-#ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION
|
||||
+#if IS_ENABLED(CONFIG_IMX8MN) || IS_ENABLED(CONFIG_IMX8MP)
|
||||
+#if IS_ENABLED(CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION)
|
||||
#define IMG_CNTN_SET1_OFFSET GENMASK(22, 19)
|
||||
unsigned long arch_spl_mmc_get_uboot_raw_sector(struct mmc *mmc,
|
||||
unsigned long raw_sect)
|
||||
@@ -834,7 +834,7 @@ bool is_usb_boot(void)
|
||||
return get_boot_device() == USB_BOOT;
|
||||
}
|
||||
|
||||
-#ifdef CONFIG_OF_SYSTEM_SETUP
|
||||
+#if IS_ENABLED(CONFIG_OF_SYSTEM_SETUP)
|
||||
bool check_fdt_new_path(void *blob)
|
||||
{
|
||||
const char *soc_path = "/soc@0";
|
||||
@@ -880,7 +880,7 @@ add_status:
|
||||
return 0;
|
||||
}
|
||||
|
||||
-#ifdef CONFIG_IMX8MQ
|
||||
+#if IS_ENABLED(CONFIG_IMX8MQ)
|
||||
bool check_dcss_fused(void)
|
||||
{
|
||||
struct ocotp_regs *ocotp = (struct ocotp_regs *)OCOTP_BASE_ADDR;
|
||||
@@ -1026,7 +1026,7 @@ int disable_vpu_nodes(void *blob)
|
||||
return -EPERM;
|
||||
}
|
||||
|
||||
-#ifdef CONFIG_IMX8MN_LOW_DRIVE_MODE
|
||||
+#if IS_ENABLED(CONFIG_IMX8MN_LOW_DRIVE_MODE)
|
||||
static int low_drive_gpu_freq(void *blob)
|
||||
{
|
||||
static const char *nodes_path_8mn[] = {
|
||||
@@ -1311,7 +1311,7 @@ int ft_system_setup(void *blob, struct bd_info *bd)
|
||||
"/cpus/cpu@3",
|
||||
};
|
||||
|
||||
-#ifdef CONFIG_IMX8MQ
|
||||
+#if IS_ENABLED(CONFIG_IMX8MQ)
|
||||
int i = 0;
|
||||
int rc;
|
||||
int nodeoff;
|
||||
@@ -1387,7 +1387,7 @@ usb_modify_speed:
|
||||
if (is_imx8md())
|
||||
disable_cpu_nodes(blob, nodes_path, 2, 4);
|
||||
|
||||
-#elif defined(CONFIG_IMX8MM)
|
||||
+#elif IS_ENABLED(CONFIG_IMX8MM)
|
||||
if (is_imx8mml() || is_imx8mmdl() || is_imx8mmsl())
|
||||
disable_vpu_nodes(blob);
|
||||
|
||||
@@ -1396,10 +1396,10 @@ usb_modify_speed:
|
||||
else if (is_imx8mms() || is_imx8mmsl())
|
||||
disable_cpu_nodes(blob, nodes_path, 3, 4);
|
||||
|
||||
-#elif defined(CONFIG_IMX8MN)
|
||||
+#elif IS_ENABLED(CONFIG_IMX8MN)
|
||||
if (is_imx8mnl() || is_imx8mndl() || is_imx8mnsl())
|
||||
disable_gpu_nodes(blob);
|
||||
-#ifdef CONFIG_IMX8MN_LOW_DRIVE_MODE
|
||||
+#if IS_ENABLED(CONFIG_IMX8MN_LOW_DRIVE_MODE)
|
||||
else {
|
||||
int ldm_gpu = low_drive_gpu_freq(blob);
|
||||
|
||||
@@ -1415,7 +1415,7 @@ usb_modify_speed:
|
||||
else if (is_imx8mns() || is_imx8mnsl() || is_imx8mnus())
|
||||
disable_cpu_nodes(blob, nodes_path, 3, 4);
|
||||
|
||||
-#elif defined(CONFIG_IMX8MP)
|
||||
+#elif IS_ENABLED(CONFIG_IMX8MP)
|
||||
if (is_imx8mpul()) {
|
||||
/* Disable GPU */
|
||||
disable_gpu_nodes(blob);
|
||||
@@ -1471,7 +1471,7 @@ void reset_cpu(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
-#if defined(CONFIG_ARCH_MISC_INIT)
|
||||
+#if IS_ENABLED(CONFIG_ARCH_MISC_INIT)
|
||||
int arch_misc_init(void)
|
||||
{
|
||||
if (IS_ENABLED(CONFIG_FSL_CAAM)) {
|
||||
@@ -1487,8 +1487,8 @@ int arch_misc_init(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
-#if defined(CONFIG_XPL_BUILD)
|
||||
-#if defined(CONFIG_IMX8MQ) || defined(CONFIG_IMX8MM) || defined(CONFIG_IMX8MN)
|
||||
+#if IS_ENABLED(CONFIG_XPL_BUILD)
|
||||
+#if IS_ENABLED(CONFIG_IMX8MQ) || IS_ENABLED(CONFIG_IMX8MM) || IS_ENABLED(CONFIG_IMX8MN)
|
||||
bool serror_need_skip = true;
|
||||
|
||||
void do_error(struct pt_regs *pt_regs)
|
||||
@@ -1523,7 +1523,7 @@ void do_error(struct pt_regs *pt_regs)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
-#if defined(CONFIG_IMX8MN) || defined(CONFIG_IMX8MP)
|
||||
+#if IS_ENABLED(CONFIG_IMX8MN) || IS_ENABLED(CONFIG_IMX8MP)
|
||||
enum env_location arch_env_get_location(enum env_operation op, int prio)
|
||||
{
|
||||
enum boot_device dev = get_boot_device();
|
||||
@@ -1571,7 +1571,7 @@ enum env_location arch_env_get_location(enum env_operation op, int prio)
|
||||
|
||||
#endif
|
||||
|
||||
-#ifdef CONFIG_IMX_BOOTAUX
|
||||
+#if IS_ENABLED(CONFIG_IMX_BOOTAUX)
|
||||
const struct rproc_att hostmap[] = {
|
||||
/* aux core , host core, size */
|
||||
{ 0x00000000, 0x007e0000, 0x00020000 },
|
||||
--
|
||||
2.43.0
|
||||
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
From 8acea298bb82c38b20855cd46a46b9e418dc1fb0 Mon Sep 17 00:00:00 2001
|
||||
From: Dario Binacchi <dario.binacchi@amarulasolutions.com>
|
||||
Date: Tue, 20 May 2025 10:54:16 +0200
|
||||
Subject: [PATCH] spl: Kconfig: support U-Boot load from raw NAND
|
||||
|
||||
Commit 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options") breaks
|
||||
the boot of the BSH SMM S2 board. As stated in the commit itself, "Some
|
||||
boards use this value even though MMC is not enabled in SPL, for example
|
||||
imx8mn_bsh_smm_s2".
|
||||
|
||||
Support load of the U-Boot image from raw NAND sector. This is equivalent
|
||||
to load from MMC raw sector.
|
||||
|
||||
Fixes: 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options")
|
||||
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
|
||||
Upstream: https://source.denx.de/u-boot/u-boot/-/commit/8acea298bb82c38b20855cd46a46b9e418dc1fb0
|
||||
---
|
||||
common/spl/Kconfig | 15 +++++++++++++++
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
diff --git a/common/spl/Kconfig b/common/spl/Kconfig
|
||||
index aa3a85eea54d..77cf04d38ed0 100644
|
||||
--- a/common/spl/Kconfig
|
||||
+++ b/common/spl/Kconfig
|
||||
@@ -974,6 +974,21 @@ config SPL_NAND_SUPPORT
|
||||
This enables the drivers in drivers/mtd/nand/raw as part of an SPL
|
||||
build.
|
||||
|
||||
+config SPL_NAND_RAW_U_BOOT_USE_SECTOR
|
||||
+ bool "NAND raw mode: by sector"
|
||||
+ depends on SPL_NAND_SUPPORT
|
||||
+ select SPL_LOAD_BLOCK
|
||||
+ help
|
||||
+ Use sector number for specifying U-Boot location on NAND in
|
||||
+ raw mode.
|
||||
+
|
||||
+config SPL_NAND_RAW_U_BOOT_SECTOR
|
||||
+ hex "Address on the NAND to load U-Boot from"
|
||||
+ depends on SPL_NAND_RAW_U_BOOT_USE_SECTOR
|
||||
+ help
|
||||
+ Address on the NAND to load U-Boot from, when the NAND is being used
|
||||
+ in raw mode. Units: NAND disk sectors (1 sector = 512 bytes).
|
||||
+
|
||||
config SPL_NAND_RAW_ONLY
|
||||
bool "Support to boot only raw u-boot.bin images"
|
||||
depends on SPL_NAND_SUPPORT
|
||||
--
|
||||
2.43.0
|
||||
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
From 24d98fa63bbcb21988e4e822f11686319502fb1f Mon Sep 17 00:00:00 2001
|
||||
From: Dario Binacchi <dario.binacchi@amarulasolutions.com>
|
||||
Date: Tue, 20 May 2025 10:54:17 +0200
|
||||
Subject: [PATCH] imx: spl_imx_romapi: support raw NAND sector
|
||||
|
||||
Commit 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options") breaks
|
||||
the boot of the BSH SMM S2 board. As stated in the dropped comment, "Some
|
||||
boards use this value even though MMC is not enabled in SPL, for example
|
||||
imx8mn_bsh_smm_s2".
|
||||
|
||||
Support load of the U-Boot image from raw NAND sector.
|
||||
|
||||
Fixes: 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options")
|
||||
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
|
||||
Upstream: https://source.denx.de/u-boot/u-boot/-/commit/24d98fa63bbcb21988e4e822f11686319502fb1f
|
||||
---
|
||||
arch/arm/mach-imx/spl_imx_romapi.c | 8 +++-----
|
||||
1 file changed, 3 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/mach-imx/spl_imx_romapi.c b/arch/arm/mach-imx/spl_imx_romapi.c
|
||||
index 3982f4cca184..b7008df8e35a 100644
|
||||
--- a/arch/arm/mach-imx/spl_imx_romapi.c
|
||||
+++ b/arch/arm/mach-imx/spl_imx_romapi.c
|
||||
@@ -35,12 +35,10 @@ ulong __weak spl_romapi_get_uboot_base(u32 image_offset, u32 rom_bt_dev)
|
||||
{
|
||||
u32 sector = 0;
|
||||
|
||||
- /*
|
||||
- * Some boards use this value even though MMC is not enabled in SPL, for
|
||||
- * example imx8mn_bsh_smm_s2
|
||||
- */
|
||||
-#ifdef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR
|
||||
+#if IS_ENABLED(CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR)
|
||||
sector = CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR;
|
||||
+#elif IS_ENABLED(CONFIG_SPL_NAND_RAW_U_BOOT_USE_SECTOR)
|
||||
+ sector = CONFIG_SPL_NAND_RAW_U_BOOT_SECTOR;
|
||||
#endif
|
||||
|
||||
return image_offset + sector * 512 - 0x8000;
|
||||
--
|
||||
2.43.0
|
||||
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
From dce71922df352b0eb1b6cc3d40c374ad80a7d6c5 Mon Sep 17 00:00:00 2001
|
||||
From: Dario Binacchi <dario.binacchi@amarulasolutions.com>
|
||||
Date: Tue, 20 May 2025 10:54:18 +0200
|
||||
Subject: [PATCH] configs: imx8mn_bsh_smm_s2: load U-Boot from raw NAND
|
||||
|
||||
Commit 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options") breaks
|
||||
the boot of the BSH SMM S2 board. Add options to load U-Boot from raw NAND
|
||||
sector.
|
||||
|
||||
Fixes: 2a00d73d081a ("spl: mmc: Try to clean up raw-mode options")
|
||||
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
|
||||
Upstream: https://source.denx.de/u-boot/u-boot/-/commit/dce71922df352b0eb1b6cc3d40c374ad80a7d6c5
|
||||
---
|
||||
configs/imx8mn_bsh_smm_s2_defconfig | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/configs/imx8mn_bsh_smm_s2_defconfig b/configs/imx8mn_bsh_smm_s2_defconfig
|
||||
index 9ffcd3b221c3..1c11d4705419 100644
|
||||
--- a/configs/imx8mn_bsh_smm_s2_defconfig
|
||||
+++ b/configs/imx8mn_bsh_smm_s2_defconfig
|
||||
@@ -47,6 +47,8 @@ CONFIG_SPL_DMA=y
|
||||
CONFIG_SPL_I2C=y
|
||||
CONFIG_SPL_MTD=y
|
||||
CONFIG_SPL_NAND_SUPPORT=y
|
||||
+CONFIG_SPL_NAND_RAW_U_BOOT_USE_SECTOR=y
|
||||
+CONFIG_SPL_NAND_RAW_U_BOOT_SECTOR=0x300
|
||||
CONFIG_SPL_NAND_BASE=y
|
||||
CONFIG_SPL_NAND_IDENT=y
|
||||
CONFIG_SPL_POWER=y
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -76,37 +76,37 @@
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
<h3 style="text-align: center;">Latest release candidate: <b>2025.05-rc1</b></h3>
|
||||
<h3 style="text-align: center;">Latest release candidate: <b>2025.05-rc2</b></h3>
|
||||
<div class="row mt centered">
|
||||
<div class="col-sm-6">
|
||||
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flipper">
|
||||
<div class="front">
|
||||
<a href="/downloads/buildroot-2025.05-rc1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2025.05-rc2.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
</div>
|
||||
<div class="back">
|
||||
<a href="/downloads/buildroot-2025.05-rc1.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2025.05-rc2.tar.gz"><img src="images/zip.png" width="180" alt=""></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3><a href="/downloads/buildroot-2025.05-rc1.tar.gz">buildroot-2025.05-rc1.tar.gz</a></h3>
|
||||
<p><a href="/downloads/buildroot-2025.05-rc1.tar.gz.sign">PGP signature</a></p>
|
||||
<h3><a href="/downloads/buildroot-2025.05-rc2.tar.gz">buildroot-2025.05-rc2.tar.gz</a></h3>
|
||||
<p><a href="/downloads/buildroot-2025.05-rc2.tar.gz.sign">PGP signature</a></p>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');">
|
||||
<div class="flipper">
|
||||
<div class="front">
|
||||
<a href="/downloads/buildroot-2025.05-rc1.tar.xz"><img src="images/package.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2025.05-rc2.tar.xz"><img src="images/package.png" width="180" alt=""></a>
|
||||
</div>
|
||||
<div class="back">
|
||||
<a href="/downloads/buildroot-2025.05-rc1.tar.xz"><img src="images/package.png" width="180" alt=""></a>
|
||||
<a href="/downloads/buildroot-2025.05-rc2.tar.xz"><img src="images/package.png" width="180" alt=""></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3><a href="/downloads/buildroot-2025.05-rc1.tar.xz">buildroot-2025.05-rc1.tar.xz</a></h3>
|
||||
<p><a href="/downloads/buildroot-2025.05-rc1.tar.xz.sign">PGP signature</a></p>
|
||||
<h3><a href="/downloads/buildroot-2025.05-rc2.tar.xz">buildroot-2025.05-rc2.tar.xz</a></h3>
|
||||
<p><a href="/downloads/buildroot-2025.05-rc2.tar.xz.sign">PGP signature</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -9,6 +9,27 @@
|
||||
<h2>News</h2>
|
||||
<ul class="timeline">
|
||||
|
||||
<li class="timeline-inverted">
|
||||
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
|
||||
<div class="timeline-panel">
|
||||
<div class="timeline-heading">
|
||||
<h4 class="timeline-title">2025.05-rc2 released</h4>
|
||||
<p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>28 May 2025</small></p>
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<p>Another week, another release candidate with more cleanups and build fixes. See the
|
||||
<a href="https://gitlab.com/buildroot.org/buildroot/-/blob/2025.05-rc2/CHANGES">CHANGES</a>
|
||||
file for more details.</p>
|
||||
|
||||
<p>Go to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2025.05-rc2.tar.xz">2025.05-rc2
|
||||
release</a>, and report any problems found to the
|
||||
<a href="support.html">mailing list</a> or
|
||||
<a href="https://gitlab.com/buildroot.org/buildroot/-/issues">bug tracker</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div>
|
||||
<div class="timeline-panel">
|
||||
|
||||
+1
-1
@@ -137,7 +137,7 @@ config BR2_LINUX_KERNEL_CUSTOM_REPO_GIT_SUBMODULES
|
||||
|
||||
config BR2_LINUX_KERNEL_VERSION
|
||||
string
|
||||
default "6.14.6" if BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
default "6.14.8" if BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
default "5.10.162-cip24" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
|
||||
default "5.10.162-cip24-rt10" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION
|
||||
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
|
||||
|
||||
+5
-5
@@ -1,10 +1,10 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 21817f1998e2230f81f7e4f605fa6fdcb040e14fa27d99c27ddb16ce749797a9 linux-6.14.6.tar.xz
|
||||
sha256 e8a099182562aecff781de72ce769461e706d97af42d740dff20eb450dd5771e linux-6.12.28.tar.xz
|
||||
sha256 ff856748671629c1fefef219099e0b4b81131c2d325e768cb0806e204157014e linux-6.6.90.tar.xz
|
||||
sha256 e319a5bb9049ba9fb8cbc08cba4874716e8985bd10f7971f2573ea802c257911 linux-6.1.138.tar.xz
|
||||
sha256 62b12ecd3075a357eb320935657de84e01552803717dad383fa7cc3aa4aa2905 linux-6.14.8.tar.xz
|
||||
sha256 df046a48971e40ce0b2e003e7e55b6b1e7da2912120eb216d5d6c8450c9cf82e linux-6.12.30.tar.xz
|
||||
sha256 1d82a82642d281c31d86f7301bc55e12a8a9f9c04532e249ef8ae6fe7dc237ec linux-6.6.92.tar.xz
|
||||
sha256 5779f9caca77f7bfe3c3923b4d760041318db0303de93b2d4691d60e4d41eb74 linux-6.1.140.tar.xz
|
||||
# From https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
|
||||
sha256 b6abfa53315a04e459070b927c58beb41f085433117d58756504d68b67f6a31e linux-5.15.182.tar.xz
|
||||
sha256 9c3e98c6dcc7dca7c2e9dd51423eaf0581f5e100d0f04c23bc29f21913dac1d9 linux-5.15.184.tar.xz
|
||||
sha256 1fc82737e0e4f0ae0b40f91a00c68f3cb75362e6ae54623ec64b41a51cde0f25 linux-5.10.237.tar.xz
|
||||
sha256 34589340c7d76c0de91965e5242f61e9f9f3bacd03e8e34239e5d4660d45372d linux-5.4.293.tar.xz
|
||||
# Locally computed
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
From 65c95bf3207b81fe522811d45780d72ed41d9c1e Mon Sep 17 00:00:00 2001
|
||||
From: Kim Kulling <kim.kulling@googlemail.com>
|
||||
Date: Wed, 12 Mar 2025 20:17:38 +0100
|
||||
Subject: [PATCH] ASE: Fix possible out of bound access.
|
||||
|
||||
Upstream: https://github.com/assimp/assimp/pull/6045
|
||||
|
||||
CVE: CVE-2025-3015
|
||||
|
||||
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
|
||||
---
|
||||
code/AssetLib/ASE/ASELoader.cpp | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/code/AssetLib/ASE/ASELoader.cpp b/code/AssetLib/ASE/ASELoader.cpp
|
||||
index eb6b37dc9b..c63edcf6bf 100644
|
||||
--- a/code/AssetLib/ASE/ASELoader.cpp
|
||||
+++ b/code/AssetLib/ASE/ASELoader.cpp
|
||||
@@ -731,6 +731,10 @@ void ASEImporter::BuildUniqueRepresentation(ASE::Mesh &mesh) {
|
||||
unsigned int iCurrent = 0, fi = 0;
|
||||
for (std::vector<ASE::Face>::iterator i = mesh.mFaces.begin(); i != mesh.mFaces.end(); ++i, ++fi) {
|
||||
for (unsigned int n = 0; n < 3; ++n, ++iCurrent) {
|
||||
+ const uint32_t curIndex = (*i).mIndices[n];
|
||||
+ if (curIndex >= mesh.mPositions.size()) {
|
||||
+ throw DeadlyImportError("ASE: Invalid vertex index in face ", fi, ".");
|
||||
+ }
|
||||
mPositions[iCurrent] = mesh.mPositions[(*i).mIndices[n]];
|
||||
|
||||
// add texture coordinates
|
||||
@@ -0,0 +1,41 @@
|
||||
From 5d2a7482312db2e866439a8c05a07ce1e718bed1 Mon Sep 17 00:00:00 2001
|
||||
From: Kim Kulling <kimkulling@users.noreply.github.com>
|
||||
Date: Wed, 12 Mar 2025 21:29:33 +0100
|
||||
Subject: [PATCH] MDL: Limit max texture sizes
|
||||
|
||||
- closes https://github.com/assimp/assimp/issues/6022
|
||||
|
||||
Upstream: https://github.com/assimp/assimp/pull/6046
|
||||
|
||||
CVE: CVE-2025-3016
|
||||
|
||||
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
|
||||
---
|
||||
code/AssetLib/MDL/MDLMaterialLoader.cpp | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/code/AssetLib/MDL/MDLMaterialLoader.cpp b/code/AssetLib/MDL/MDLMaterialLoader.cpp
|
||||
index 2cac8a1e26..2e09992e89 100644
|
||||
--- a/code/AssetLib/MDL/MDLMaterialLoader.cpp
|
||||
+++ b/code/AssetLib/MDL/MDLMaterialLoader.cpp
|
||||
@@ -209,6 +209,8 @@ void MDLImporter::CreateTexture_3DGS_MDL4(const unsigned char *szData,
|
||||
return;
|
||||
}
|
||||
|
||||
+static const uint32_t MaxTextureSize = 4096;
|
||||
+
|
||||
// ------------------------------------------------------------------------------------------------
|
||||
// Load color data of a texture and convert it to our output format
|
||||
void MDLImporter::ParseTextureColorData(const unsigned char *szData,
|
||||
@@ -219,6 +221,11 @@ void MDLImporter::ParseTextureColorData(const unsigned char *szData,
|
||||
|
||||
// allocate storage for the texture image
|
||||
if (do_read) {
|
||||
+ // check for max texture sizes
|
||||
+ if (pcNew->mWidth > MaxTextureSize || pcNew->mHeight > MaxTextureSize) {
|
||||
+ throw DeadlyImportError("Invalid MDL file. A texture is too big.");
|
||||
+ }
|
||||
+
|
||||
if(pcNew->mWidth != 0 && pcNew->mHeight > UINT_MAX/pcNew->mWidth) {
|
||||
throw DeadlyImportError("Invalid MDL file. A texture is too big.");
|
||||
}
|
||||
@@ -16,6 +16,12 @@ ASSIMP_INSTALL_STAGING = YES
|
||||
# 0002-Fix-use-after-free-in-the-CallbackToLogRedirector-59.patch
|
||||
ASSIMP_IGNORE_CVES += CVE-2024-48423
|
||||
|
||||
# 0003-ASE-fix-possible-out-of-bound-access.patch
|
||||
ASSIMP_IGNORE_CVES += CVE-2025-3015
|
||||
|
||||
# 0004-MDL-limit-max-texture-sizes.patch
|
||||
ASSIMP_IGNORE_CVES += CVE-2025-3016
|
||||
|
||||
# relocation truncated to fit: R_68K_GOT16O. We also need to disable
|
||||
# optimizations to not run into "Error: value -43420 out of range"
|
||||
# assembler issues.
|
||||
|
||||
@@ -5,6 +5,7 @@ config BR2_PACKAGE_ATKMM
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # at-spi2-core/glibmm -> libglib2
|
||||
depends on BR2_USE_MMU # at-spi2-core/glibmm -> libglib2
|
||||
depends on BR2_USE_WCHAR # at-spi2-core/glibmm -> libglib2
|
||||
depends on !BR2_STATIC_LIBS # at-spi2-core
|
||||
select BR2_PACKAGE_AT_SPI2_CORE
|
||||
select BR2_PACKAGE_GLIBMM
|
||||
select BR2_PACKAGE_LIBSIGC
|
||||
@@ -14,7 +15,8 @@ config BR2_PACKAGE_ATKMM
|
||||
|
||||
http://www.gtkmm.org/
|
||||
|
||||
comment "atkmm needs a toolchain w/ C++, wchar, threads, gcc >= 7"
|
||||
comment "atkmm needs a toolchain w/ C++, wchar, threads, gcc >= 7, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || !BR2_USE_WCHAR \
|
||||
|| !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
|
||||
|| !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
|
||||
BR2_STATIC_LIBS
|
||||
|
||||
@@ -5,6 +5,7 @@ config BR2_PACKAGE_ATKMM2_28
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # at-spi2-core/glibmm -> libglib2
|
||||
depends on BR2_USE_MMU # at-spi2-core/glibmm -> libglib2
|
||||
depends on BR2_USE_WCHAR # at-spi2-core/glibmm -> libglib2
|
||||
depends on !BR2_STATIC_LIBS # at-spi2-core
|
||||
select BR2_PACKAGE_AT_SPI2_CORE
|
||||
select BR2_PACKAGE_GLIBMM2_66
|
||||
select BR2_PACKAGE_LIBSIGC2
|
||||
@@ -17,7 +18,8 @@ config BR2_PACKAGE_ATKMM2_28
|
||||
|
||||
http://www.gtkmm.org/
|
||||
|
||||
comment "atkmm (2.28.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9"
|
||||
comment "atkmm (2.28.x) needs a toolchain w/ C++, wchar, threads, gcc >= 4.9, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \
|
||||
|| !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
|
||||
|| !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
|
||||
BR2_STATIC_LIBS
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
From ba6ad3a18cb26b79e0e3b84c39f707535bbc344d Mon Sep 17 00:00:00 2001
|
||||
From: Alan Modra <amodra@gmail.com>
|
||||
Date: Wed, 19 Feb 2025 07:58:54 +1030
|
||||
Subject: [PATCH] PR32716, objdump -i memory leak
|
||||
|
||||
PR binutils/32716
|
||||
* bucomm.c (display_info): Free arg.info.
|
||||
|
||||
Upstream: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ba6ad3a18cb26b79e0e3b84c39f707535bbc344d
|
||||
|
||||
CVE: CVE-2025-3198
|
||||
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
|
||||
---
|
||||
binutils/bucomm.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/binutils/bucomm.c b/binutils/bucomm.c
|
||||
index ccf54099154..d4554737db1 100644
|
||||
--- a/binutils/bucomm.c
|
||||
+++ b/binutils/bucomm.c
|
||||
@@ -435,6 +435,7 @@ display_info (void)
|
||||
if (!arg.error)
|
||||
display_target_tables (&arg);
|
||||
|
||||
+ free (arg.info);
|
||||
return arg.error;
|
||||
}
|
||||
|
||||
--
|
||||
2.43.5
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
From ba6ad3a18cb26b79e0e3b84c39f707535bbc344d Mon Sep 17 00:00:00 2001
|
||||
From: Alan Modra <amodra@gmail.com>
|
||||
Date: Wed, 19 Feb 2025 07:58:54 +1030
|
||||
Subject: [PATCH] PR32716, objdump -i memory leak
|
||||
|
||||
PR binutils/32716
|
||||
* bucomm.c (display_info): Free arg.info.
|
||||
|
||||
Upstream: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ba6ad3a18cb26b79e0e3b84c39f707535bbc344d
|
||||
|
||||
CVE: CVE-2025-3198
|
||||
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
|
||||
---
|
||||
binutils/bucomm.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/binutils/bucomm.c b/binutils/bucomm.c
|
||||
index ccf54099154..d4554737db1 100644
|
||||
--- a/binutils/bucomm.c
|
||||
+++ b/binutils/bucomm.c
|
||||
@@ -435,6 +435,7 @@ display_info (void)
|
||||
if (!arg.error)
|
||||
display_target_tables (&arg);
|
||||
|
||||
+ free (arg.info);
|
||||
return arg.error;
|
||||
}
|
||||
|
||||
--
|
||||
2.43.5
|
||||
|
||||
@@ -31,6 +31,9 @@ BINUTILS_LICENSE = GPL-3.0+, libiberty LGPL-2.1+
|
||||
BINUTILS_LICENSE_FILES = COPYING3 COPYING.LIB
|
||||
BINUTILS_CPE_ID_VENDOR = gnu
|
||||
|
||||
# 0003-objdump-memleak.patch
|
||||
BINUTILS_IGNORE_CVES += CVE-2025-3198
|
||||
|
||||
ifeq ($(BINUTILS_FROM_GIT),y)
|
||||
BINUTILS_DEPENDENCIES += host-flex host-bison
|
||||
HOST_BINUTILS_DEPENDENCIES += host-flex host-bison
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
config BR2_PACKAGE_CASYNC_NANO
|
||||
bool "casync-nano"
|
||||
select BR2_PACKAGE_OPENSSL
|
||||
select BR2_PACKAGE_LIBOPENSSL_ENABLE_CHACHA if BR2_PACKAGE_LIBOPENSSL
|
||||
select BR2_PACKAGE_ZSTD
|
||||
select BR2_PACKAGE_LIBCURL
|
||||
help
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# locally calculated
|
||||
sha256 29ed8a767304e7e3032e66feea3d2dada7cc7db73344231a54bf080cc6e65ecf casync-nano-1.1.1.tar.gz
|
||||
sha256 1a8ce3247985e05fbb08097966ff11fc2abd0a1f18fb7178e7397c2455b9500f casync-nano-1.1.2.tar.gz
|
||||
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
CASYNC_NANO_VERSION = 1.1.1
|
||||
CASYNC_NANO_VERSION = 1.1.2
|
||||
CASYNC_NANO_SITE = $(call github,florolf,casync-nano,v$(CASYNC_NANO_VERSION))
|
||||
CASYNC_NANO_LICENSE = LGPL-2.1
|
||||
CASYNC_NANO_LICENSE_FILES = COPYING
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 66c07e2f69d8a10fb111b6df27fbe3558734d660207a54391c46eea3e12b29ee esp-hosted-9a2312b0b2630e41bacb3091faaba489cb43b0ab.tar.gz
|
||||
sha256 ed57d96d27be775b22f9571d3724ef84e0d0b8f24b805ec7f87a32189de19a9c LICENSE
|
||||
sha256 f6b78c087c3ebdf0f3c13415070dd480a3f35d8fc76f3d02180a407c1c812f79 esp_hosted_ng/host/LICENSE
|
||||
|
||||
@@ -8,7 +8,7 @@ ESP_HOSTED_VERSION = 9a2312b0b2630e41bacb3091faaba489cb43b0ab
|
||||
ESP_HOSTED_SITE = $(call github,espressif,esp-hosted,$(ESP_HOSTED_VERSION))
|
||||
ESP_HOSTED_DEPENDENCIES = linux
|
||||
ESP_HOSTED_LICENSE = GPL-2.0
|
||||
ESP_HOSTED_LICENSE_FILE = LICENSE
|
||||
ESP_HOSTED_LICENSE_FILES = esp_hosted_ng/host/LICENSE
|
||||
ESP_HOSTED_MODULE_SUBDIRS = esp_hosted_ng/host
|
||||
|
||||
define ESP_HOSTED_LINUX_CONFIG_FIXUPS
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 550b07bc6a073176ad7de0efd603663c9875311dfb81ae1075263e3fd6974335 gmrender-resurrect-0.1.tar.gz
|
||||
sha256 dbe0d41b01339a4805fdd0edf914fbc4870dba2eb9c54ad5bf9446ccfd3fa482 gmrender-resurrect-0.3.tar.gz
|
||||
sha256 c38aee9e3c8c4d5d594ff548a1be05453023016d6286931f6512db215ec1fd42 COPYING
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
GMRENDER_RESURRECT_VERSION = 0.1
|
||||
GMRENDER_RESURRECT_VERSION = 0.3
|
||||
GMRENDER_RESURRECT_SITE = $(call github,hzeller,gmrender-resurrect,v$(GMRENDER_RESURRECT_VERSION))
|
||||
# Original distribution does not have default configure,
|
||||
# so we need to autoreconf:
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
comment "gtkmm3 needs libgtk3 and a toolchain w/ C++, wchar, threads, gcc >= 4.9"
|
||||
comment "gtkmm3 needs libgtk3 and a toolchain w/ C++, wchar, threads, gcc >= 4.9, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_TOOLCHAIN_HAS_SYNC_4
|
||||
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || !BR2_USE_WCHAR \
|
||||
|| !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_LIBGTK3 \
|
||||
|| !BR2_TOOLCHAIN_HAS_THREADS
|
||||
|| !BR2_TOOLCHAIN_HAS_THREADS || \
|
||||
BR2_STATIC_LIBS
|
||||
|
||||
config BR2_PACKAGE_GTKMM3
|
||||
bool "gtkmm3"
|
||||
@@ -14,6 +15,7 @@ config BR2_PACKAGE_GTKMM3
|
||||
depends on BR2_USE_MMU # *mm/libgtk3 -> libglib2
|
||||
depends on BR2_USE_WCHAR # *mm/libgtk3 -> libglib2
|
||||
depends on BR2_PACKAGE_LIBGTK3
|
||||
depends on !BR2_STATIC_LIBS # atkmm
|
||||
select BR2_PACKAGE_ATKMM2_28
|
||||
select BR2_PACKAGE_CAIROMM1_14
|
||||
select BR2_PACKAGE_GLIBMM2_66
|
||||
|
||||
@@ -30,7 +30,7 @@ KMSXX_EXTRA_UTILS += kmstouch
|
||||
endif
|
||||
define KMSXX_INSTALL_EXTRA_UTILS
|
||||
$(foreach t,$(KMSXX_EXTRA_UTILS),\
|
||||
$(INSTALL) -D -m 0755 $(@D)/build/utils/$(t) \
|
||||
$(INSTALL) -D -m 0755 $(@D)/buildroot-build/utils/$(t) \
|
||||
$(TARGET_DIR)/usr/bin/$(t)
|
||||
)
|
||||
endef
|
||||
|
||||
@@ -130,7 +130,7 @@ endif
|
||||
# otherwise the signature won't match the shlib on the rootfs. Since meson
|
||||
# install target is signing the shlibs, we need to strip them before.
|
||||
LIBCAMERA_STRIP_FIND_CMD = \
|
||||
find $(@D)/build/src/ipa \
|
||||
find $(@D)/buildroot-build/src/ipa \
|
||||
$(if $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES)), \
|
||||
-not \( $(call findfileclauses,$(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) ) \
|
||||
-type f -name 'ipa_*.so' -print0
|
||||
|
||||
@@ -4,6 +4,7 @@ config BR2_PACKAGE_LIBGLADE
|
||||
depends on BR2_USE_WCHAR # glib2
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
|
||||
depends on BR2_USE_MMU # glib2
|
||||
depends on !BR2_STATIC_LIBS # at-spi2-core
|
||||
select BR2_PACKAGE_LIBGLIB2
|
||||
select BR2_PACKAGE_AT_SPI2_CORE
|
||||
select BR2_PACKAGE_LIBXML2
|
||||
@@ -14,7 +15,7 @@ config BR2_PACKAGE_LIBGLADE
|
||||
|
||||
https://download.gnome.org/sources/libglade/
|
||||
|
||||
comment "libglade needs a toolchain w/ wchar, threads"
|
||||
comment "libglade needs a toolchain w/ wchar, threads, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_PACKAGE_LIBGTK2
|
||||
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
|
||||
|
||||
@@ -442,11 +442,11 @@ config BR2_DEFAULT_KERNEL_HEADERS
|
||||
string
|
||||
default "5.4.293" if BR2_KERNEL_HEADERS_5_4
|
||||
default "5.10.237" if BR2_KERNEL_HEADERS_5_10
|
||||
default "5.15.182" if BR2_KERNEL_HEADERS_5_15
|
||||
default "6.1.138" if BR2_KERNEL_HEADERS_6_1
|
||||
default "6.6.90" if BR2_KERNEL_HEADERS_6_6
|
||||
default "6.12.28" if BR2_KERNEL_HEADERS_6_12
|
||||
default "6.14.6" if BR2_KERNEL_HEADERS_6_14
|
||||
default "5.15.184" if BR2_KERNEL_HEADERS_5_15
|
||||
default "6.1.140" if BR2_KERNEL_HEADERS_6_1
|
||||
default "6.6.92" if BR2_KERNEL_HEADERS_6_6
|
||||
default "6.12.30" if BR2_KERNEL_HEADERS_6_12
|
||||
default "6.14.8" if BR2_KERNEL_HEADERS_6_14
|
||||
default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION
|
||||
default "custom" if BR2_KERNEL_HEADERS_CUSTOM_TARBALL
|
||||
default BR2_KERNEL_HEADERS_CUSTOM_REPO_VERSION \
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
From 8158764baaa6cea81f514af157019c0dc81b6e46 Mon Sep 17 00:00:00 2001
|
||||
From: Florian Larysch <fl@n621.de>
|
||||
Date: Thu, 22 May 2025 23:46:42 +0200
|
||||
Subject: [PATCH] cmake: bump compatibility level up to 3.10
|
||||
|
||||
As of CMake 4.0, backwards compatibility to versions older than 3.5 has
|
||||
been removed and is deprecated for versions older than 3.10. Bump
|
||||
compatibility to version 3.10 using the process described in [1].
|
||||
|
||||
Of the changed policies, only CMP0065 seems to affect the LZO build as
|
||||
is, namely the example binaries, but this seems like a reasonable change
|
||||
rather than an actual compatibility issue.
|
||||
|
||||
[1] https://cmake.org/cmake/help/v4.0/manual/cmake-policies.7.html#updating-projects
|
||||
|
||||
Upstream: Submitted to upstream via direct email as there is no public
|
||||
mailing list or forge presence.
|
||||
|
||||
Signed-off-by: Florian Larysch <fl@n621.de>
|
||||
---
|
||||
CMakeLists.txt | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 98c0a1a..108537c 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -8,7 +8,7 @@
|
||||
# All Rights Reserved.
|
||||
#
|
||||
|
||||
-cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
|
||||
+cmake_minimum_required(VERSION 3.0...3.10 FATAL_ERROR)
|
||||
|
||||
#
|
||||
# simple usage example (Unix):
|
||||
@@ -57,7 +57,7 @@ if(NOT ENABLE_STATIC AND NOT ENABLE_SHARED)
|
||||
set(ENABLE_STATIC ON)
|
||||
endif()
|
||||
if(ENABLE_SHARED AND WIN32)
|
||||
- cmake_minimum_required(VERSION 3.4.3 FATAL_ERROR) # needed for WINDOWS_EXPORT_ALL_SYMBOLS
|
||||
+ cmake_minimum_required(VERSION 3.4.3...3.10 FATAL_ERROR) # needed for WINDOWS_EXPORT_ALL_SYMBOLS
|
||||
endif()
|
||||
|
||||
# install directories
|
||||
--
|
||||
2.49.0
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# md5, sha256 from https://pypi.org/pypi/click/json
|
||||
md5 b9d7fc7a25f30674c85da6f460628a17 click-8.2.0.tar.gz
|
||||
sha256 f5452aeddd9988eefa20f90f05ab66f17fce1ee2a36907fd30b05bbb5953814d click-8.2.0.tar.gz
|
||||
md5 438cfd4974584ae4f960ffeab32e8991 click-8.2.1.tar.gz
|
||||
sha256 27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202 click-8.2.1.tar.gz
|
||||
# Locally computed sha256 checksums
|
||||
sha256 9a8ad106a394e853bfe21f42f4e72d592819a22805d991b5f3275029292b658d LICENSE.txt
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_CLICK_VERSION = 8.2.0
|
||||
PYTHON_CLICK_VERSION = 8.2.1
|
||||
PYTHON_CLICK_SOURCE = click-$(PYTHON_CLICK_VERSION).tar.gz
|
||||
PYTHON_CLICK_SITE = https://files.pythonhosted.org/packages/cd/0f/62ca20172d4f87d93cf89665fbaedcd560ac48b465bd1d92bfc7ea6b0a41
|
||||
PYTHON_CLICK_SITE = https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc
|
||||
PYTHON_CLICK_SETUP_TYPE = flit
|
||||
PYTHON_CLICK_LICENSE = BSD-3-Clause
|
||||
PYTHON_CLICK_LICENSE_FILES = LICENSE.txt
|
||||
|
||||
@@ -3,3 +3,13 @@ md5 317174c6e0593c40e58ec1bd428b1091 django-5.2.1.tar.gz
|
||||
sha256 57fe1f1b59462caed092c80b3dd324fd92161b620d59a9ba9181c34746c97284 django-5.2.1.tar.gz
|
||||
# Locally computed sha256 checksums
|
||||
sha256 b846415d1b514e9c1dff14a22deb906d794bc546ca6129f950a18cd091e2a669 LICENSE
|
||||
sha256 dcac1c86cb7ab491702bdb4c41be680fafde51536748cc8aaee3840eec53ed17 django/contrib/gis/measure.py
|
||||
sha256 570a045a8372b6cd6a00e30ebafe8e3e8dfc0a7fe3d4ef2cc5f16d419eb63aeb django/contrib/gis/gdal/LICENSE
|
||||
sha256 08bf24b7551238ae325295245425b1caeb9ad0f42f9e2d303c7b353502632045 django/contrib/gis/geos/LICENSE
|
||||
sha256 d48633adb736dac091477ec2206feebeee88e3e6e486aedb21c584e4b49be0ec django/contrib/admin/static/admin/js/inlines.js
|
||||
sha256 d4db9ebe6f29f5168eac45ad713f055623ac5d0dcd5ba92da23d650ae012020d django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt
|
||||
sha256 4ee0cbc51370afde358652a0f977972053729ed578b6a42f5e2a037d114f0b39 django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md
|
||||
sha256 73af2949bff9296cb0f816c3be19a4da4e95adc94c1f924796e8bad3f03f2f29 django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt
|
||||
sha256 d114faff3488c16c319b3235dc41f90239d3d63d9853733033d8f7535f5c0004 django/contrib/admin/static/admin/img/LICENSE
|
||||
sha256 54004c4b606964ebc163af16d04607c16e428f8a78a026fecb53f70c09f4a94f django/dispatch/license.txt
|
||||
sha256 1ce0483ad554cf135efec70ad2097e82ed72790194f17e1591821dc82c2416e0 django/utils/archive.py
|
||||
|
||||
@@ -8,8 +8,18 @@ PYTHON_DJANGO_VERSION = 5.2.1
|
||||
PYTHON_DJANGO_SOURCE = django-$(PYTHON_DJANGO_VERSION).tar.gz
|
||||
# The official Django site has an unpractical URL
|
||||
PYTHON_DJANGO_SITE = https://files.pythonhosted.org/packages/ac/10/0d546258772b8f31398e67c85e52c66ebc2b13a647193c3eef8ee433f1a8
|
||||
PYTHON_DJANGO_LICENSE = BSD-3-Clause
|
||||
PYTHON_DJANGO_LICENSE_FILES = LICENSE
|
||||
PYTHON_DJANGO_LICENSE = BSD-3-Clause, MIT (jquery, utils/archive.py), BSD-2-Clause (inlines.js)
|
||||
PYTHON_DJANGO_LICENSE_FILES = LICENSE \
|
||||
django/contrib/gis/measure.py \
|
||||
django/contrib/gis/gdal/LICENSE \
|
||||
django/contrib/gis/geos/LICENSE \
|
||||
django/contrib/admin/static/admin/js/inlines.js \
|
||||
django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt \
|
||||
django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md \
|
||||
django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt \
|
||||
django/contrib/admin/static/admin/img/LICENSE \
|
||||
django/dispatch/license.txt \
|
||||
django/utils/archive.py
|
||||
PYTHON_DJANGO_CPE_ID_VENDOR = djangoproject
|
||||
PYTHON_DJANGO_CPE_ID_PRODUCT = django
|
||||
PYTHON_DJANGO_SETUP_TYPE = setuptools
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
config BR2_PACKAGE_PYTHON_FLASK_RESTX
|
||||
bool "python-flask-restx"
|
||||
depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-jsonschema
|
||||
select BR2_PACKAGE_PYTHON_ANISO8601 # runtime
|
||||
select BR2_PACKAGE_PYTHON_FLASK # runtime
|
||||
select BR2_PACKAGE_PYTHON_JSONSCHEMA # runtime
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Locally calculated after vendoring
|
||||
sha256 34e84faa734d981ca1f383844ac057434108e657667f115363abd93ac65486a6 python-pydantic-core-2.34.1-cargo4.tar.gz
|
||||
sha256 d075c06f299090879748db99ab202a253e9a2b22ee4140b96c0257257b9351c8 python-pydantic-core-2.33.2-cargo4.tar.gz
|
||||
# Locally computed sha256 checksums
|
||||
sha256 2afdd30d54b4d62b6f488a6bcc1546e84ec5061f13f4209c03d012348783795a LICENSE
|
||||
|
||||
@@ -4,10 +4,12 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_PYDANTIC_CORE_VERSION = 2.34.1
|
||||
# python-pydantic pins an exact version of pydantic-core in pyproject.toml,
|
||||
# make sure to sync pydantic-core to this version when updating pydantic
|
||||
PYTHON_PYDANTIC_CORE_VERSION = 2.33.2
|
||||
PYTHON_PYDANTIC_CORE_SOURCE_PYPI = pydantic_core-$(PYTHON_PYDANTIC_CORE_VERSION).tar.gz
|
||||
PYTHON_PYDANTIC_CORE_SITE = $(PYTHON_PYDANTIC_CORE_SITE_PYPI)/$(PYTHON_PYDANTIC_CORE_SOURCE_PYPI)?buildroot-path=filename
|
||||
PYTHON_PYDANTIC_CORE_SITE_PYPI = https://files.pythonhosted.org/packages/42/fa/5f682f3db14e14f7b5b7f5008ac24594b93943d1da4facbacff5876624cf
|
||||
PYTHON_PYDANTIC_CORE_SITE_PYPI = https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4
|
||||
PYTHON_PYDANTIC_CORE_SETUP_TYPE = maturin
|
||||
PYTHON_PYDANTIC_CORE_LICENSE = MIT
|
||||
PYTHON_PYDANTIC_CORE_LICENSE_FILES = LICENSE
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# md5, sha256 from https://pypi.org/pypi/pydantic/json
|
||||
md5 13bdd5856e805abdce75516cdb98935f pydantic-2.11.4.tar.gz
|
||||
sha256 32738d19d63a226a52eed76645a98ee07c1f410ee41d93b4afbfa85ed8111c2d pydantic-2.11.4.tar.gz
|
||||
md5 85a84b0930556794ba1e95aa6313c071 pydantic-2.11.5.tar.gz
|
||||
sha256 7f853db3d0ce78ce8bbb148c401c2cdd6431b3473c0cdff2755c7690952a7b7a pydantic-2.11.5.tar.gz
|
||||
# Locally computed sha256 checksums
|
||||
sha256 a9e186f3ca16b5eef84318e7a701721351a00cb7b8ae3a4394b67b49e3529ef3 LICENSE
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_PYDANTIC_VERSION = 2.11.4
|
||||
PYTHON_PYDANTIC_VERSION = 2.11.5
|
||||
PYTHON_PYDANTIC_SOURCE = pydantic-$(PYTHON_PYDANTIC_VERSION).tar.gz
|
||||
PYTHON_PYDANTIC_SITE = https://files.pythonhosted.org/packages/77/ab/5250d56ad03884ab5efd07f734203943c8a8ab40d551e208af81d0257bf2
|
||||
PYTHON_PYDANTIC_SITE = https://files.pythonhosted.org/packages/f0/86/8ce9040065e8f924d642c58e4a344e33163a07f6b57f836d0d734e0ad3fb
|
||||
PYTHON_PYDANTIC_SETUP_TYPE = hatch
|
||||
PYTHON_PYDANTIC_LICENSE = MIT
|
||||
PYTHON_PYDANTIC_LICENSE_FILES = LICENSE
|
||||
|
||||
@@ -3,7 +3,6 @@ config BR2_PACKAGE_PYTHON_REFERENCING
|
||||
depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-rpds-py
|
||||
select BR2_PACKAGE_PYTHON_ATTRS # runtime
|
||||
select BR2_PACKAGE_PYTHON_RPDS_PY # runtime
|
||||
select BR2_PACKAGE_PYTHON_TYPING_EXTENSIONS # runtime, with Python < 3.13
|
||||
help
|
||||
JSON Referencing + Python.
|
||||
|
||||
|
||||
@@ -0,0 +1,234 @@
|
||||
From cc61050e8f26697463142d99864b562e8470b41d Mon Sep 17 00:00:00 2001
|
||||
From: Ben Darnell <ben@bendarnell.com>
|
||||
Date: Thu, 8 May 2025 13:29:43 -0400
|
||||
Subject: [PATCH] httputil: Raise errors instead of logging in
|
||||
multipart/form-data parsing
|
||||
|
||||
We used to continue after logging an error, which allowed repeated
|
||||
errors to spam the logs. The error raised here will still be logged,
|
||||
but only once per request, consistent with other error handling in
|
||||
Tornado.
|
||||
|
||||
Upstream: https://github.com/tornadoweb/tornado/commit/b39b892bf78fe8fea01dd45199aa88307e7162f3
|
||||
|
||||
CVE: CVE-2025-47287
|
||||
|
||||
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
|
||||
---
|
||||
tornado/httputil.py | 30 +++++++++++-------------------
|
||||
tornado/test/httpserver_test.py | 4 ++--
|
||||
tornado/test/httputil_test.py | 13 ++++++++-----
|
||||
tornado/web.py | 17 +++++++++++++----
|
||||
4 files changed, 34 insertions(+), 30 deletions(-)
|
||||
|
||||
diff --git a/tornado/httputil.py b/tornado/httputil.py
|
||||
index 7044aca02..ef460985e 100644
|
||||
--- a/tornado/httputil.py
|
||||
+++ b/tornado/httputil.py
|
||||
@@ -34,7 +34,6 @@
|
||||
from urllib.parse import urlencode, urlparse, urlunparse, parse_qsl
|
||||
|
||||
from tornado.escape import native_str, parse_qs_bytes, utf8
|
||||
-from tornado.log import gen_log
|
||||
from tornado.util import ObjectDict, unicode_type
|
||||
|
||||
|
||||
@@ -884,25 +883,22 @@ def parse_body_arguments(
|
||||
"""
|
||||
if content_type.startswith("application/x-www-form-urlencoded"):
|
||||
if headers and "Content-Encoding" in headers:
|
||||
- gen_log.warning(
|
||||
- "Unsupported Content-Encoding: %s", headers["Content-Encoding"]
|
||||
+ raise HTTPInputError(
|
||||
+ "Unsupported Content-Encoding: %s" % headers["Content-Encoding"]
|
||||
)
|
||||
- return
|
||||
try:
|
||||
# real charset decoding will happen in RequestHandler.decode_argument()
|
||||
uri_arguments = parse_qs_bytes(body, keep_blank_values=True)
|
||||
except Exception as e:
|
||||
- gen_log.warning("Invalid x-www-form-urlencoded body: %s", e)
|
||||
- uri_arguments = {}
|
||||
+ raise HTTPInputError("Invalid x-www-form-urlencoded body: %s" % e) from e
|
||||
for name, values in uri_arguments.items():
|
||||
if values:
|
||||
arguments.setdefault(name, []).extend(values)
|
||||
elif content_type.startswith("multipart/form-data"):
|
||||
if headers and "Content-Encoding" in headers:
|
||||
- gen_log.warning(
|
||||
- "Unsupported Content-Encoding: %s", headers["Content-Encoding"]
|
||||
+ raise HTTPInputError(
|
||||
+ "Unsupported Content-Encoding: %s" % headers["Content-Encoding"]
|
||||
)
|
||||
- return
|
||||
try:
|
||||
fields = content_type.split(";")
|
||||
for field in fields:
|
||||
@@ -911,9 +907,9 @@ def parse_body_arguments(
|
||||
parse_multipart_form_data(utf8(v), body, arguments, files)
|
||||
break
|
||||
else:
|
||||
- raise ValueError("multipart boundary not found")
|
||||
+ raise HTTPInputError("multipart boundary not found")
|
||||
except Exception as e:
|
||||
- gen_log.warning("Invalid multipart/form-data: %s", e)
|
||||
+ raise HTTPInputError("Invalid multipart/form-data: %s" % e) from e
|
||||
|
||||
|
||||
def parse_multipart_form_data(
|
||||
@@ -942,26 +938,22 @@ def parse_multipart_form_data(
|
||||
boundary = boundary[1:-1]
|
||||
final_boundary_index = data.rfind(b"--" + boundary + b"--")
|
||||
if final_boundary_index == -1:
|
||||
- gen_log.warning("Invalid multipart/form-data: no final boundary")
|
||||
- return
|
||||
+ raise HTTPInputError("Invalid multipart/form-data: no final boundary found")
|
||||
parts = data[:final_boundary_index].split(b"--" + boundary + b"\r\n")
|
||||
for part in parts:
|
||||
if not part:
|
||||
continue
|
||||
eoh = part.find(b"\r\n\r\n")
|
||||
if eoh == -1:
|
||||
- gen_log.warning("multipart/form-data missing headers")
|
||||
- continue
|
||||
+ raise HTTPInputError("multipart/form-data missing headers")
|
||||
headers = HTTPHeaders.parse(part[:eoh].decode("utf-8"))
|
||||
disp_header = headers.get("Content-Disposition", "")
|
||||
disposition, disp_params = _parse_header(disp_header)
|
||||
if disposition != "form-data" or not part.endswith(b"\r\n"):
|
||||
- gen_log.warning("Invalid multipart/form-data")
|
||||
- continue
|
||||
+ raise HTTPInputError("Invalid multipart/form-data")
|
||||
value = part[eoh + 4 : -2]
|
||||
if not disp_params.get("name"):
|
||||
- gen_log.warning("multipart/form-data value missing name")
|
||||
- continue
|
||||
+ raise HTTPInputError("multipart/form-data missing name")
|
||||
name = disp_params["name"]
|
||||
if disp_params.get("filename"):
|
||||
ctype = headers.get("Content-Type", "application/unknown")
|
||||
diff --git a/tornado/test/httpserver_test.py b/tornado/test/httpserver_test.py
|
||||
index 570cb64ca..f197cfef8 100644
|
||||
--- a/tornado/test/httpserver_test.py
|
||||
+++ b/tornado/test/httpserver_test.py
|
||||
@@ -1148,9 +1148,9 @@ def test_gzip_unsupported(self):
|
||||
# Gzip support is opt-in; without it the server fails to parse
|
||||
# the body (but parsing form bodies is currently just a log message,
|
||||
# not a fatal error).
|
||||
- with ExpectLog(gen_log, "Unsupported Content-Encoding"):
|
||||
+ with ExpectLog(gen_log, ".*Unsupported Content-Encoding"):
|
||||
response = self.post_gzip("foo=bar")
|
||||
- self.assertEqual(json_decode(response.body), {})
|
||||
+ self.assertEqual(response.code, 400)
|
||||
|
||||
|
||||
class StreamingChunkSizeTest(AsyncHTTPTestCase):
|
||||
diff --git a/tornado/test/httputil_test.py b/tornado/test/httputil_test.py
|
||||
index 30fbec4d7..7a09beaa3 100644
|
||||
--- a/tornado/test/httputil_test.py
|
||||
+++ b/tornado/test/httputil_test.py
|
||||
@@ -12,7 +12,6 @@
|
||||
)
|
||||
from tornado.escape import utf8, native_str
|
||||
from tornado.log import gen_log
|
||||
-from tornado.testing import ExpectLog
|
||||
from tornado.test.util import ignore_deprecation
|
||||
|
||||
import copy
|
||||
@@ -195,7 +194,9 @@ def test_missing_headers(self):
|
||||
b"\n", b"\r\n"
|
||||
)
|
||||
args, files = form_data_args()
|
||||
- with ExpectLog(gen_log, "multipart/form-data missing headers"):
|
||||
+ with self.assertRaises(
|
||||
+ HTTPInputError, msg="multipart/form-data missing headers"
|
||||
+ ):
|
||||
parse_multipart_form_data(b"1234", data, args, files)
|
||||
self.assertEqual(files, {})
|
||||
|
||||
@@ -209,7 +210,7 @@ def test_invalid_content_disposition(self):
|
||||
b"\n", b"\r\n"
|
||||
)
|
||||
args, files = form_data_args()
|
||||
- with ExpectLog(gen_log, "Invalid multipart/form-data"):
|
||||
+ with self.assertRaises(HTTPInputError, msg="Invalid multipart/form-data"):
|
||||
parse_multipart_form_data(b"1234", data, args, files)
|
||||
self.assertEqual(files, {})
|
||||
|
||||
@@ -222,7 +223,7 @@ def test_line_does_not_end_with_correct_line_break(self):
|
||||
b"\n", b"\r\n"
|
||||
)
|
||||
args, files = form_data_args()
|
||||
- with ExpectLog(gen_log, "Invalid multipart/form-data"):
|
||||
+ with self.assertRaises(HTTPInputError, msg="Invalid multipart/form-data"):
|
||||
parse_multipart_form_data(b"1234", data, args, files)
|
||||
self.assertEqual(files, {})
|
||||
|
||||
@@ -236,7 +237,9 @@ def test_content_disposition_header_without_name_parameter(self):
|
||||
b"\n", b"\r\n"
|
||||
)
|
||||
args, files = form_data_args()
|
||||
- with ExpectLog(gen_log, "multipart/form-data value missing name"):
|
||||
+ with self.assertRaises(
|
||||
+ HTTPInputError, msg="multipart/form-data value missing name"
|
||||
+ ):
|
||||
parse_multipart_form_data(b"1234", data, args, files)
|
||||
self.assertEqual(files, {})
|
||||
|
||||
diff --git a/tornado/web.py b/tornado/web.py
|
||||
index 0303f547e..2f702d648 100644
|
||||
--- a/tornado/web.py
|
||||
+++ b/tornado/web.py
|
||||
@@ -1801,6 +1801,14 @@ async def _execute(
|
||||
try:
|
||||
if self.request.method not in self.SUPPORTED_METHODS:
|
||||
raise HTTPError(405)
|
||||
+
|
||||
+ # If we're not in stream_request_body mode, this is the place where we parse the body.
|
||||
+ if not _has_stream_request_body(self.__class__):
|
||||
+ try:
|
||||
+ self.request._parse_body()
|
||||
+ except httputil.HTTPInputError as e:
|
||||
+ raise HTTPError(400, "Invalid body: %s" % e) from e
|
||||
+
|
||||
self.path_args = [self.decode_argument(arg) for arg in args]
|
||||
self.path_kwargs = dict(
|
||||
(k, self.decode_argument(v, name=k)) for (k, v) in kwargs.items()
|
||||
@@ -1992,7 +2000,7 @@ def _has_stream_request_body(cls: Type[RequestHandler]) -> bool:
|
||||
|
||||
|
||||
def removeslash(
|
||||
- method: Callable[..., Optional[Awaitable[None]]]
|
||||
+ method: Callable[..., Optional[Awaitable[None]]],
|
||||
) -> Callable[..., Optional[Awaitable[None]]]:
|
||||
"""Use this decorator to remove trailing slashes from the request path.
|
||||
|
||||
@@ -2021,7 +2029,7 @@ def wrapper( # type: ignore
|
||||
|
||||
|
||||
def addslash(
|
||||
- method: Callable[..., Optional[Awaitable[None]]]
|
||||
+ method: Callable[..., Optional[Awaitable[None]]],
|
||||
) -> Callable[..., Optional[Awaitable[None]]]:
|
||||
"""Use this decorator to add a missing trailing slash to the request path.
|
||||
|
||||
@@ -2445,8 +2453,9 @@ def finish(self) -> None:
|
||||
if self.stream_request_body:
|
||||
future_set_result_unless_cancelled(self.request._body_future, None)
|
||||
else:
|
||||
+ # Note that the body gets parsed in RequestHandler._execute so it can be in
|
||||
+ # the right exception handler scope.
|
||||
self.request.body = b"".join(self.chunks)
|
||||
- self.request._parse_body()
|
||||
self.execute()
|
||||
|
||||
def on_connection_close(self) -> None:
|
||||
@@ -3332,7 +3341,7 @@ def transform_chunk(self, chunk: bytes, finishing: bool) -> bytes:
|
||||
|
||||
|
||||
def authenticated(
|
||||
- method: Callable[..., Optional[Awaitable[None]]]
|
||||
+ method: Callable[..., Optional[Awaitable[None]]],
|
||||
) -> Callable[..., Optional[Awaitable[None]]]:
|
||||
"""Decorate methods with this to require that the user be logged in.
|
||||
|
||||
@@ -13,4 +13,7 @@ PYTHON_TORNADO_CPE_ID_VENDOR = tornadoweb
|
||||
PYTHON_TORNADO_CPE_ID_PRODUCT = tornado
|
||||
PYTHON_TORNADO_SETUP_TYPE = setuptools
|
||||
|
||||
# 0001-httputil-raise-errors-instead-of-logging-in.patch
|
||||
PYTHON_TORNADO_IGNORE_CVES += CVE-2025-47287
|
||||
|
||||
$(eval $(python-package))
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
config BR2_PACKAGE_SANE_AIRSCAN
|
||||
bool "sane-airscan"
|
||||
depends on !BR2_STATIC_LIBS # avahi, gnutls, sane-backends
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # avahi, dbus
|
||||
depends on BR2_USE_WCHAR # avahi, gnutls
|
||||
depends on BR2_USE_MMU # dbus, sane-backends
|
||||
select BR2_PACKAGE_AVAHI
|
||||
select BR2_PACKAGE_AVAHI_DAEMON # needed to get avahi-client
|
||||
select BR2_PACKAGE_DBUS # needed by avahi to get avahi-client
|
||||
@@ -18,3 +22,8 @@ config BR2_PACKAGE_SANE_AIRSCAN
|
||||
support "driverless" scanning.
|
||||
|
||||
https://github.com/alexpevzner/sane-airscan
|
||||
|
||||
comment "sane-airscan needs a toolchain w/ wchar, dynamic library, threads"
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS || \
|
||||
!BR2_TOOLCHAIN_HAS_THREADS
|
||||
|
||||
@@ -646,7 +646,7 @@ SYSTEMD_CONF_OPTS += -Dbootloader=enabled
|
||||
|
||||
SYSTEMD_BOOT_EFI_ARCH = $(call qstrip,$(BR2_PACKAGE_SYSTEMD_BOOT_EFI_ARCH))
|
||||
define SYSTEMD_INSTALL_BOOT_FILES
|
||||
$(INSTALL) -D -m 0644 $(@D)/build/src/boot/efi/systemd-boot$(SYSTEMD_BOOT_EFI_ARCH).efi \
|
||||
$(INSTALL) -D -m 0644 $(@D)/buildroot-build/src/boot/efi/systemd-boot$(SYSTEMD_BOOT_EFI_ARCH).efi \
|
||||
$(BINARIES_DIR)/efi-part/EFI/BOOT/boot$(SYSTEMD_BOOT_EFI_ARCH).efi
|
||||
$(INSTALL) -D -m 0644 $(SYSTEMD_PKGDIR)/boot-files/loader.conf \
|
||||
$(BINARIES_DIR)/efi-part/loader/loader.conf
|
||||
|
||||
@@ -13,9 +13,6 @@ UACME_LICENSE = GPL-3.0+
|
||||
UACME_LICENSE_FILES = COPYING
|
||||
UACME_DEPENDENCIES = libcurl
|
||||
|
||||
# 0001-Fix-cross-compilation.patch touches configure.ac
|
||||
UACME_AUTORECONF = YES
|
||||
|
||||
UACME_CONF_ENV = ac_cv_prog_cc_c99='-std=gnu99' LIBS="$(UACME_LIBS)"
|
||||
|
||||
ifeq ($(BR2_PACKAGE_GNUTLS),y)
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
From 142448e55386b88adf5b1d7e6206df1ca6784708 Mon Sep 17 00:00:00 2001
|
||||
From: Bruno Thomsen <bruno.thomsen@gmail.com>
|
||||
Date: Sat, 1 Mar 2025 14:32:41 +0100
|
||||
Subject: [PATCH] libuuu/sdps: fix gcc15 compile errors
|
||||
|
||||
This gcc 15 error happens on Fedora 42.
|
||||
|
||||
error: uint32_t does not name a type
|
||||
|
||||
error: uint64_t does not name a type
|
||||
|
||||
Signed-off-by: Bruno Thomsen <bruno.thomsen@gmail.com>
|
||||
Upstream: https://github.com/nxp-imx/mfgtools/commit/142448e55386b88adf5b1d7e6206df1ca6784708
|
||||
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
|
||||
---
|
||||
libuuu/sdps.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/libuuu/sdps.h b/libuuu/sdps.h
|
||||
index b82f9d71c981..667a477ee48f 100644
|
||||
--- a/libuuu/sdps.h
|
||||
+++ b/libuuu/sdps.h
|
||||
@@ -30,6 +30,7 @@
|
||||
*/
|
||||
|
||||
#include "cmd.h"
|
||||
+#include <cstdint>
|
||||
|
||||
class SDPSCmd : public CmdBase
|
||||
{
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -9,6 +9,24 @@ def boot_armv5_cpio(emulator, builddir):
|
||||
options=["-initrd", img])
|
||||
emulator.login()
|
||||
|
||||
# emulator.login() sets the emulated system date to the host
|
||||
# date. In general, this is desirable (for correct SSL certificate
|
||||
# behaviors, for example).
|
||||
#
|
||||
# This timezone runtime test checks that a Buildroot configuration
|
||||
# is reflected in the generated system at runtime, using the
|
||||
# standard "date" command. To make sure this test is stable in
|
||||
# time (i.e. output is independent to the date/time the test is
|
||||
# executed due to daylight saving time changes), we reset the
|
||||
# system date to a constant value.
|
||||
#
|
||||
# We cannot set the system date to a value less than the system
|
||||
# uptime. So we cannot set the time back to Unix Epoch with the
|
||||
# command "date -s @0" (this would result to a EINVAL Invalid
|
||||
# argument). Instead, we set the time at 1 hour after Epoch. This
|
||||
# is sufficient as the emulated system takes few seconds to start.
|
||||
emulator.run("date -s @3600")
|
||||
|
||||
|
||||
class TestNoTimezone(infra.basetest.BRTest):
|
||||
config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel, PositiveInt
|
||||
from pydantic.version import check_pydantic_core_version
|
||||
|
||||
# pydantic pins an exact version of pydantic core
|
||||
# verify these are in sync in buildroots packaging
|
||||
assert check_pydantic_core_version()
|
||||
|
||||
|
||||
class User(BaseModel):
|
||||
|
||||
@@ -73,10 +73,6 @@ class TestXen(infra.basetest.BRTest):
|
||||
self.emulator.boot(arch="aarch64", options=qemu_opts)
|
||||
self.emulator.login()
|
||||
|
||||
# Avoid double-cooking the terminal, otherwise the test infrastructure
|
||||
# would not be able to retrieve e.g. return codes properly.
|
||||
self.assertRunOk("stty raw")
|
||||
|
||||
# Verify that we are indeed running under Xen.
|
||||
self.assertRunOk("xl info")
|
||||
|
||||
@@ -92,9 +88,6 @@ class TestXen(infra.basetest.BRTest):
|
||||
self.emulator.qemu.sendline("xl create -c /etc/xen/dom1.cfg")
|
||||
self.emulator.login()
|
||||
|
||||
# Avoid double-cooking the terminal for dom1, too.
|
||||
self.assertRunOk("stty raw")
|
||||
|
||||
# Check that we are not talking to dom0 anymore.
|
||||
uuid = self.get_dom_uuid()
|
||||
self.assertNotEqual(uuid, dom0_uuid, "Unexpected dom0 UUID")
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# Avoid double-cooking the terminal, otherwise the test infrastructure
|
||||
# would not be able to retrieve return codes properly.
|
||||
stty raw
|
||||
Reference in New Issue
Block a user