From: Michal Sieron <michalwsieron@gmail.com>
To: openembedded-core@lists.openembedded.org
Cc: Michal Sieron <michalwsieron@gmail.com>
Subject: [PATCH v2 00/12] Confusing and invalid conditional appends
Date: Tue, 17 Mar 2026 01:03:04 +0100 [thread overview]
Message-ID: <20260317-fix-invalid-appends-v2-0-5c65ae5787d9@gmail.com> (raw)
This patchset fixes several findings for variable assignments of form:
A:someoverride += "foo"
and transforms them into:
A:append:someoverride = " foo"
In most of those cases I assume the original intent was to have a
conditional append, but what was actually happening was append to
a conditional override.
I first noticed such problem in our internal recipes and bbappends, but
then I decided to check if similar issue exists upstream and turns out
it does.
In most places the override that was happening was harmless as there was
no value that was being overriden, but that wasn't the case for libffi.
Before patch:
$ grep EXTRA_OECONF /path/to/layers/openembedded-core/meta/recipes-support/libffi/libffi_3.5.2.bb
EXTRA_OECONF += "--disable-builddir --disable-exec-static-tramp"
EXTRA_OECONF:class-native += "--with-gcc-arch=generic"
$ bitbake-getvar -r libffi-native EXTRA_OECONF
#
# $EXTRA_OECONF [6 operations]
# set /path/to/layers/openembedded-core/meta/conf/bitbake.conf:590
# ""
# :append /path/to/layers/openembedded-core/meta/conf/distro/include/no-static-libs.inc:24
# "${DISABLE_STATIC}"
# set /path/to/layers/openembedded-core/meta/conf/documentation.conf:164
# [doc] "Additional configure script options."
# append /path/to/layers/openembedded-core/meta/recipes-support/libffi/libffi_3.5.2.bb:18
# "--disable-builddir --disable-exec-static-tramp"
# :append /path/to/layers/openembedded-core/meta/classes-recipe/autotools.bbclass:134
# " ${PACKAGECONFIG_CONFARGS}"
# override[class-native]:append /path/to/layers/openembedded-core/meta/recipes-support/libffi/libffi_3.5.2.bb:19
# "--with-gcc-arch=generic"
# pre-expansion value:
# " --with-gcc-arch=generic${DISABLE_STATIC} ${PACKAGECONFIG_CONFARGS}"
EXTRA_OECONF=" --with-gcc-arch=generic --disable-static "
After patch:
$ grep EXTRA_OECONF /path/to/layers/openembedded-core/meta/recipes-support/libffi/libffi_3.5.2.bb
EXTRA_OECONF += "--disable-builddir --disable-exec-static-tramp"
EXTRA_OECONF:append:class-native = " --with-gcc-arch=generic"
$ bitbake-getvar -r libffi-native EXTRA_OECONF#
# $EXTRA_OECONF [6 operations]
# set /path/to/layers/openembedded-core/meta/conf/bitbake.conf:590
# ""
# :append /path/to/layers/openembedded-core/meta/conf/distro/include/no-static-libs.inc:24
# "${DISABLE_STATIC}"
# set /path/to/layers/openembedded-core/meta/conf/documentation.conf:164
# [doc] "Additional configure script options."
# append /path/to/layers/openembedded-core/meta/recipes-support/libffi/libffi_3.5.2.bb:18
# "--disable-builddir --disable-exec-static-tramp"
# :append[class-native] /path/to/layers/openembedded-core/meta/recipes-support/libffi/libffi_3.5.2.bb:19
# " --with-gcc-arch=generic"
# :append /path/to/layers/openembedded-core/meta/classes-recipe/autotools.bbclass:134
# " ${PACKAGECONFIG_CONFARGS}"
# pre-expansion value:
# " --disable-builddir --disable-exec-static-tramp${DISABLE_STATIC} --with-gcc-arch=generic ${PACKAGECONFIG_CONFARGS}"
EXTRA_OECONF=" --disable-builddir --disable-exec-static-tramp --disable-static --with-gcc-arch=generic "
---
Changes in v2:
- Split initial single commit into smaller ones
- Described actual impact on the overriden variables
- Added some recipes that I missed last time
- Link to v1: https://lore.kernel.org/r/20260314-fix-invalid-appends-v1-1-03ec0bff6942@gmail.com
---
Michal Sieron (12):
libffi: Fix invalid conditional append
coreutils: Convert confusing append to override syntax
expat: Convert confusing append to override syntax
tune-power[567]: Remove confusing overrides
no-gplv3.inc: Convert confusing appends to override syntax
bootchart2: Convert confusing appends to override syntax
pigz: Convert confusing append to override syntax
systemtap: Convert confusing append to override syntax
ovmf: Convert confusing append to override syntax
dnf: Convert confusing append to override syntax
qemu: Convert confusing append to override syntax
recipes-devtools/python: Convert confusing appends to override syntax
meta/conf/distro/include/no-gplv3.inc | 4 ++--
meta/conf/machine/include/powerpc/tune-power5.inc | 3 +--
meta/conf/machine/include/powerpc/tune-power6.inc | 3 +--
meta/conf/machine/include/powerpc/tune-power7.inc | 3 +--
meta/recipes-core/coreutils/coreutils_9.10.bb | 4 ++--
meta/recipes-core/expat/expat_2.7.4.bb | 2 +-
meta/recipes-core/ovmf/ovmf_git.bb | 2 +-
meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb | 10 +++++-----
meta/recipes-devtools/dnf/dnf_4.24.0.bb | 2 +-
meta/recipes-devtools/python/python3-asn1crypto_1.5.1.bb | 2 +-
meta/recipes-devtools/python/python3-bcrypt_5.0.0.bb | 2 +-
meta/recipes-devtools/python/python3-chardet_5.2.0.bb | 2 +-
meta/recipes-devtools/python/python3-cython_3.2.4.bb | 4 ++--
meta/recipes-devtools/python/python3-ply_3.11.bb | 2 +-
meta/recipes-devtools/python/python3-pyasn1_0.6.2.bb | 2 +-
meta/recipes-devtools/python/python3-pycparser_3.0.bb | 4 ++--
meta/recipes-devtools/python/python3-pysocks_1.7.1.bb | 2 +-
meta/recipes-devtools/python/python3-pytz_2025.2.bb | 2 +-
meta/recipes-devtools/qemu/qemu_10.2.0.bb | 2 +-
meta/recipes-extended/pigz/pigz_2.8.bb | 2 +-
meta/recipes-kernel/systemtap/systemtap_5.4.bb | 2 +-
meta/recipes-support/libffi/libffi_3.5.2.bb | 2 +-
22 files changed, 30 insertions(+), 33 deletions(-)
---
base-commit: f5e62a13cbe17947baa387c723422bc8ca766d34
change-id: 20260314-fix-invalid-appends-cf5197ef2f07
Best regards,
--
Michal Sieron <michalwsieron@gmail.com>
next reply other threads:[~2026-03-17 0:03 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-17 0:03 Michal Sieron [this message]
2026-03-17 0:03 ` [PATCH v2 01/12] libffi: Fix invalid conditional append Michal Sieron
2026-03-17 0:38 ` [OE-core] " Khem Raj
2026-03-17 0:03 ` [PATCH v2 02/12] coreutils: Convert confusing append to override syntax Michal Sieron
2026-03-17 0:03 ` [PATCH v2 03/12] expat: " Michal Sieron
2026-03-17 0:41 ` [OE-core] " Khem Raj
2026-03-17 0:03 ` [PATCH v2 04/12] tune-power[567]: Remove confusing overrides Michal Sieron
2026-03-17 0:03 ` [PATCH v2 05/12] no-gplv3.inc: Convert confusing appends to override syntax Michal Sieron
2026-03-17 0:44 ` [OE-core] " Khem Raj
2026-03-17 0:03 ` [PATCH v2 06/12] bootchart2: " Michal Sieron
2026-03-17 0:03 ` [PATCH v2 07/12] pigz: Convert confusing append " Michal Sieron
2026-03-17 0:03 ` [PATCH v2 08/12] systemtap: " Michal Sieron
2026-03-17 0:03 ` [PATCH v2 09/12] ovmf: " Michal Sieron
2026-03-17 0:03 ` [PATCH v2 10/12] dnf: " Michal Sieron
2026-03-17 0:03 ` [PATCH v2 11/12] qemu: " Michal Sieron
2026-03-17 0:03 ` [PATCH v2 12/12] recipes-devtools/python: Convert confusing appends " Michal Sieron
2026-03-17 0:50 ` [OE-core] [PATCH v2 00/12] Confusing and invalid conditional appends Khem Raj
2026-03-17 19:09 ` Michal Sieron
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260317-fix-invalid-appends-v2-0-5c65ae5787d9@gmail.com \
--to=michalwsieron@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox