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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.