Openembedded Core Discussions
 help / color / mirror / Atom feed
From: "Mathieu Dubois-Briand" <mathieu.dubois-briand@bootlin.com>
To: <adam.duskett@amarulasolutions.com>,
	<openembedded-core@lists.openembedded.org>
Subject: Re: [OE-core] [PATCH v10 2/3] dnf: Upgrade to 5.4.6.0
Date: Fri, 16 Oct 2026 13:56:51 +0200	[thread overview]
Message-ID: <DM68SO6TLPT9.17KOYQYSWPYAS@bootlin.com> (raw)
In-Reply-To: <20261015142331.3639101-2-adam.duskett@amarulasolutions.com>

On Thu Oct 15, 2026 at 4:23 PM CEST, Adam Duskett via lists.openembedded.org wrote:
> Completely rewritten in C++, there are several changes needed
> to facilitate moving from DNF4 to DNF5. Below are some significant
> items to note:
>
>     - Added a negative lookahead filter for the following warning if
>       RPM_SIGN_PACKAGES != '1': "Warning: skipped OpenPGP checks"
>       This warning is hard-coded and piped to stderr if gpg checks
>       are disabled. However, most users do not sign their RPM packages
>       and use dnf to simply construct the rootfs.
>
>     - The "-v/--verbose" cli option is removed. As such, remove the argument
>     everywhere it was called.[1]
>
>     - the rpmverbosity cli option is replaced with --setopt=rpmverbosity
>
>     - Change gpgcheck to pkg_gpgcheck as this is what the documentation
>     recommends.[2]
>
>     - --nogpgcheck is now --no-gpgchecks
>
>     - --setopt=protect_running_kernel=False has to be set or else every dnf
>     transaction complains that /boot/vmlinuz-${kernel_version} does not
>     exist in /var/log/dnf5.log. There is an open issue on github[3] to enable
>     the currently not-yet implemented `autocheck_running_kernel option`, but
>     it has been open for quite some time and the protect_running_kernel
>     option supresses the message.
>
>     - Move --skip-broken to after the install argument as the global
>       --skip-broken argument is removed.
>
>     - /var/cache/dnf is replaced with /var/cache/libdnf5
>
>     - Add `features += 'PACKAGECONFIG:append:pn-rpm = " sequoia"\n'`
>           `features += 'PACKAGECONFIG:append:pn-librepo = " sequoia"\n'`
>       to test_testimage_dnf as librepo currently does not work
>       with gpgme.
>
>     - Change `if line.startswith("Error in POSTIN scriptlet in rpm package"):`
>       to `if "Error in %post scriptlet:" in line:` as dnf prints `>>>`
>       charachters and the error string has changed.
>
> While DNF5 has many config options, unfortunately, the majority
> of them depends on sdbus-c++, which is not included in OE-core.
> However, the package is included in meta-openembedded, so it's
> best to include the PACKAGECONFIG options in the recipe and
> leave them off by default.
>
> 1: https://github.com/rpm-software-management/dnf5/issues/464
> 2: https://dnf5.readthedocs.io/en/latest/dnf5.conf.5.html
> 3: https://github.com/rpm-software-management/dnf5/issues/1255
>
> Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
> ---

Hi Adam,

Thanks for the new version. We do see build failures, probably when
building against musl:

ERROR: dnf-5.4.6.0-r0 do_compile: Execution of '/srv/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/x86-64-v3-poky-linux-musl/dnf/5.4.6.0/temp/run.do_compile.405459' failed with exit code 1
...
| /srv/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/x86-64-v3-poky-linux-musl/dnf/5.4.6.0/sources/dnf-5.4.6.0/libdnf5/utils/bootc.cpp: In function 'std::unique_ptr<json_object, int (*)(json_object*)> libdnf5::utils::bootc::get_bootc_status()':
| /srv/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/x86-64-v3-poky-linux-musl/dnf/5.4.6.0/sources/dnf-5.4.6.0/libdnf5/utils/bootc.cpp:44:74: error: expected unqualified-id before '(' token
|    44 |         std::string stderr_content(reinterpret_cast<const char *>(result.stderr.data()), result.stderr.size());
|       |                                                                          ^~~~~~
| /srv/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/x86-64-v3-poky-linux-musl/dnf/5.4.6.0/sources/dnf-5.4.6.0/libdnf5/utils/bootc.cpp:44:97: error: expected unqualified-id before '(' token
|    44 |         std::string stderr_content(reinterpret_cast<const char *>(result.stderr.data()), result.stderr.size());
|       |                                                                                                 ^~~~~~
| /srv/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/x86-64-v3-poky-linux-musl/dnf/5.4.6.0/sources/dnf-5.4.6.0/libdnf5/utils/bootc.cpp:53:70: error: expected unqualified-id before '(' token
|    53 |     std::string stdout_content(reinterpret_cast<const char *>(result.stdout.data()), result.stdout.size());
|       |                                                                      ^~~~~~
| /srv/pokybuild/yocto-worker/musl-qemux86-64/build/build/tmp/work/x86-64-v3-poky-linux-musl/dnf/5.4.6.0/sources/dnf-5.4.6.0/libdnf5/utils/bootc.cpp:53:93: error: expected unqualified-id before '(' token
|    53 |     std::string stdout_content(reinterpret_cast<const char *>(result.stdout.data()), result.stdout.size());
|       |                                                                                             ^~~~~~
...

https://autobuilder.yoctoproject.org/valkyrie/#/builders/3/builds/4895
https://autobuilder.yoctoproject.org/valkyrie/#/builders/6/builds/4863

Can you have a look at the issue?

Thanks,
Mathieu

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



  reply	other threads:[~2026-10-16 11:56 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-15 14:23 [PATCH v10 1/3] rpm: add 0017-critically-fail-if-post-install-fails.patch Adam Duskett
2026-10-15 14:23 ` [PATCH v10 2/3] dnf: Upgrade to 5.4.6.0 Adam Duskett
2026-10-16 11:56   ` Mathieu Dubois-Briand [this message]
2026-10-16 13:14   ` [OE-core] " Mathieu Dubois-Briand
2026-10-15 14:23 ` [PATCH v10 3/3] libdnf: remove recipe Adam Duskett

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=DM68SO6TLPT9.17KOYQYSWPYAS@bootlin.com \
    --to=mathieu.dubois-briand@bootlin.com \
    --cc=adam.duskett@amarulasolutions.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