public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
* [PATCH v2 00/12] Confusing and invalid conditional appends
@ 2026-03-17  0:03 Michal Sieron
  2026-03-17  0:03 ` [PATCH v2 01/12] libffi: Fix invalid conditional append Michal Sieron
                   ` (12 more replies)
  0 siblings, 13 replies; 18+ messages in thread
From: Michal Sieron @ 2026-03-17  0:03 UTC (permalink / raw)
  To: openembedded-core; +Cc: Michal Sieron

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>



^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2026-03-17 19:09 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-17  0:03 [PATCH v2 00/12] Confusing and invalid conditional appends Michal Sieron
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox