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
next prev parent 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