[Buildroot] [PATCH v2 1/1] package/dtc: bump version to 1.8.1 and switch to meson build
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Sun Sep 6 20:34:04 UTC 2026
Hello Philippe,
On Thu, Aug 13, 2026 at 03:08:46PM +0200, Philippe MONTCHO wrote:
> Release note, since 1.7.2:
> https://git.kernel.org/pub/scm/utils/dtc/dtc.git/tag/?h=v1.8.0
> https://git.kernel.org/pub/scm/utils/dtc/dtc.git/tag/?h=v1.8.1
>
> - Some typos has been fixed in Readme.license:
> https://git.kernel.org/pub/scm/utils/dtc/dtc.git/commit/README.license?h=v1.8.1&id=205fbef17b7b2f410e34ac79aa1559a8d492b66c
>
> - This commit also removes 0002-fix-discarded-const-qualifiers.patch,
> since it has been merged in v1.8.0 already
>
> - upstream dtc warns that Makefile-based builds are deprecated in
> favor of Meson after version was updated. So we migrate to Meson build.
>
> - we also add a patch to downgrade unrecognized check name fatal error
> to non-fatal warning, so that unknown check names passed by external
> tools no longer abort the build.
>
> Signed-off-by: Philippe MONTCHO <philippemontcho at gmail.com>
Thanks for this work!
> diff --git a/package/dtc/0002-downgrade-unrecognized-check-name-error.patch b/package/dtc/0002-downgrade-unrecognized-check-name-error.patch
> new file mode 100644
> index 0000000000..f255d8f7d0
> --- /dev/null
> +++ b/package/dtc/0002-downgrade-unrecognized-check-name-error.patch
> @@ -0,0 +1,47 @@
> +From e23b89701bbfbab629ba11cbce945a439e1ac85f Mon Sep 17 00:00:00 2001
> +From: Philippe MONTCHO <philippemontcho at gmail.com>
> +Date: Tue, 11 Aug 2026 15:41:39 +0200
> +Subject: [PATCH] checks.c: downgrade unrecognized check name error
> +
> +dtc removed the graph_child_address checker in v1.8.0 [1], after
> +introducing it in v1.4.7 [2].
> +U-boot has been passing -Wno-graph_child_address to dtc since
> +v2020.07 [3], and only stopped doing so in v2026.07 [4].
> +Any defconfig pinning a U-boot version older than v2026.07 fails to
> +build once dtc is bumped to >= v1.8.0, with :
> +
> +FATAL ERROR: Unrecognized check name "graph_child_address"
> +
> +This buildroot patch downgrades this to a non-fatal warning, so that
> +outdated or unknown check names passed by external tools (such as U-boot
> +pinned to pre-v2026.07 release) no longer abort the build.
> +
> +This is a Buildroot-specific patch, not intended for submission
> +upstream: U-Boot has already fixed this on its side as of v2026.07.
> +
> +[1] https://github.com/dgibson/dtc/commit/cba90ce82064ad1e6d25f20d8eaa940bd2fc97e
> +[2] https://github.com/dgibson/dtc/commit/df536831d02c51556a8e88cd8da0be024448415
> +[3] https://source.denx.de/u-boot/u-boot/-/commit/5972ff077e0f6db36f327f303b0c381f56238ef
> +[4] https://source.denx.de/u-boot/u-boot/-/commit/b427decccfe983eda4f815ddcf5dcbe733cd04f
> +
> +Signed-off-by: Philippe MONTCHO <philippemontcho at gmail.com>
This patch needs an Upstream: tag. In this case, it can't be submitted
upstream because it doesn't make sense, so maybe:
Upstream: N/A, needed for compatibility with older U-Boot releases
> diff --git a/package/dtc/dtc.mk b/package/dtc/dtc.mk
> index 5b810c6e65..c16a3c6c8d 100644
> --- a/package/dtc/dtc.mk
> +++ b/package/dtc/dtc.mk
> @@ -4,7 +4,7 @@
> #
> ################################################################################
>
> -DTC_VERSION = 1.7.2
> +DTC_VERSION = 1.8.1
> DTC_SOURCE = dtc-$(DTC_VERSION).tar.xz
> DTC_SITE = https://www.kernel.org/pub/software/utils/dtc
> DTC_LICENSE = GPL-2.0+ or BSD-2-Clause (library)
> @@ -14,24 +14,24 @@ DTC_INSTALL_STAGING = YES
> DTC_DEPENDENCIES = host-bison host-flex host-pkgconf
> HOST_DTC_DEPENDENCIES = host-bison host-flex host-pkgconf
>
> -DTC_MAKE_OPTS = \
> - PREFIX=/usr \
> - NO_PYTHON=1 \
> - NO_VALGRIND=1
> +DTC_CONF_OPTS = \
> + -Dpython=disabled \
> + -Dvalgrind=disabled \
> + -Dtests=false
>
> # For the host, we install headers in a special subdirectory to avoid
> # conflicts with the in-kernel libfdt copy.
> -HOST_DTC_MAKE_OPTS = \
> - PREFIX=$(HOST_DIR) \
> - INCLUDEDIR=$(HOST_DIR)/include/libfdt \
> - NO_PYTHON=1 \
> - NO_VALGRIND=1 \
> - NO_YAML=1
> +HOST_DTC_CONF_OPTS = \
> + --includedir=$(HOST_DIR)/include/libfdt \
> + -Dpython=disabled \
> + -Dvalgrind=disabled \
> + -Dyaml=disabled
>
> ifeq ($(BR2_PACKAGE_LIBYAML),y)
> DTC_DEPENDENCIES += libyaml
> +DTC_CONF_OPTS += -Dyaml=enabled
> else
> -DTC_MAKE_OPTS += NO_YAML=1
> +DTC_CONF_OPTS += -Dyaml=disabled
> endif
>
> define DTC_POST_INSTALL_TARGET_RM_DTDIFF
> @@ -41,39 +41,11 @@ endef
> ifeq ($(BR2_PACKAGE_DTC_PROGRAMS),y)
>
> DTC_LICENSE += , GPL-2.0+ (programs)
> -DTC_INSTALL_GOAL = install
> ifeq ($(BR2_PACKAGE_BASH),)
> DTC_POST_INSTALL_TARGET_HOOKS += DTC_POST_INSTALL_TARGET_RM_DTDIFF
> endif
>
> -else # $(BR2_PACKAGE_DTC_PROGRAMS) != y
> -
> -DTC_INSTALL_GOAL = install-lib
> -
> endif # $(BR2_PACKAGE_DTC_PROGRAMS) != y
What bothers me here is that BR2_PACKAGE_DTC_PROGRAMS basically
doesn't do anything anymore.
The only thing it does now is to remove dtdiff if bash is not
available. Among other things, it means that when
BR2_PACKAGE_DTC_PROGRAMS is disabled, DTC_LICENSE only contains
"GPL-2.0+ or BSD-2-Clause (library)", while programs are actually also
installed.
If the installation of programs cannot be disabled with the new meson
build system, then I would suggest to just remove the
BR2_PACKAGE_DTC_PROGRAMS option.
Thanks a lot!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
More information about the buildroot
mailing list