This patch was commited upstream, and released as part of sqlite 3.49.1 However, the configuration system changed between sqlite 3.48 and 3.49 from autotools to autosetup, and this has proven challenging to support in Buildroot (see `git log package/sqlite`), hence why we are still on sqlite 3.48. Therefore, until the package build infrastructure correctly supports building sqlite 3.49, let's simply import the upstream patch to address the CVE. Note: the upstream patch is on the orignal sqlite sources. Buildroot is using the sqlite "amalgamation" source archive, which basically concatenate all the source files in a single "sqlite3.c" file. So the patch was reformated to apply correctly on the sqlite release archive. Fixes: https://www.cve.org/CVERecord?id=CVE-2025-29087 Signed-off-by: Titouan Christophe <titouan.christophe@mind.be> [Julien: - reformat patch to be applicable on amalgamated sqlite sources - add comment in commit log about patch format - add "Fixes:" in commit log ] Signed-off-by: Julien Olivain <ju.o@free.fr>
79 lines
2.1 KiB
Makefile
79 lines
2.1 KiB
Makefile
################################################################################
|
|
#
|
|
# sqlite
|
|
#
|
|
################################################################################
|
|
|
|
SQLITE_VERSION = 3.48.0
|
|
SQLITE_TAR_VERSION = 3480000
|
|
SQLITE_SOURCE = sqlite-autoconf-$(SQLITE_TAR_VERSION).tar.gz
|
|
SQLITE_SITE = https://www.sqlite.org/2025
|
|
SQLITE_LICENSE = blessing
|
|
SQLITE_LICENSE_FILES = tea/license.terms
|
|
SQLITE_CPE_ID_VENDOR = sqlite
|
|
SQLITE_INSTALL_STAGING = YES
|
|
|
|
# 0002-Add-a-typecast-to-avoid-32-bit-integer-overflow-in-t.patch
|
|
SQLITE_IGNORE_CVES = CVE-2025-29087
|
|
|
|
ifeq ($(BR2_PACKAGE_SQLITE_STAT4),y)
|
|
SQLITE_CFLAGS += -DSQLITE_ENABLE_STAT4
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_SQLITE_ENABLE_COLUMN_METADATA),y)
|
|
SQLITE_CFLAGS += -DSQLITE_ENABLE_COLUMN_METADATA
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_SQLITE_ENABLE_FTS3),y)
|
|
SQLITE_CFLAGS += -DSQLITE_ENABLE_FTS3
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_SQLITE_ENABLE_UNLOCK_NOTIFY),y)
|
|
SQLITE_CFLAGS += -DSQLITE_ENABLE_UNLOCK_NOTIFY
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_SQLITE_SECURE_DELETE),y)
|
|
SQLITE_CFLAGS += -DSQLITE_SECURE_DELETE
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_SQLITE_NO_SYNC),y)
|
|
SQLITE_CFLAGS += -DSQLITE_NO_SYNC
|
|
endif
|
|
|
|
# Building with Microblaze Gcc 4.9 makes compiling to hang.
|
|
# Work around using -O0
|
|
ifeq ($(BR2_microblaze):$(BR2_TOOLCHAIN_GCC_AT_LEAST_5),y:)
|
|
SQLITE_CFLAGS += $(TARGET_CFLAGS) -O0
|
|
else
|
|
# fallback to standard -O3 when -Ofast is present to avoid -ffast-math
|
|
SQLITE_CFLAGS += $(subst -Ofast,-O3,$(TARGET_CFLAGS))
|
|
endif
|
|
|
|
SQLITE_CONF_ENV = CFLAGS="$(SQLITE_CFLAGS)"
|
|
|
|
ifeq ($(BR2_STATIC_LIBS),y)
|
|
SQLITE_CONF_OPTS += --enable-dynamic-extensions=no
|
|
else
|
|
SQLITE_CONF_OPTS += --disable-static-shell
|
|
endif
|
|
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
|
|
SQLITE_CONF_OPTS += --enable-threadsafe
|
|
else
|
|
SQLITE_CONF_OPTS += --disable-threadsafe
|
|
SQLITE_CFLAGS += -DSQLITE_THREADSAFE=0
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_NCURSES)$(BR2_PACKAGE_READLINE),yy)
|
|
SQLITE_DEPENDENCIES += ncurses readline
|
|
SQLITE_CONF_OPTS += --disable-editline --enable-readline
|
|
else ifeq ($(BR2_PACKAGE_LIBEDIT),y)
|
|
SQLITE_DEPENDENCIES += libedit
|
|
SQLITE_CONF_OPTS += --enable-editline --disable-readline
|
|
else
|
|
SQLITE_CONF_OPTS += --disable-editline --disable-readline
|
|
endif
|
|
|
|
$(eval $(autotools-package))
|
|
$(eval $(host-autotools-package))
|