<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>12342</bug_id>
          
          <creation_ts>2017-11-14 01:07:36 +0000</creation_ts>
          <short_desc>lib32-core-image-sato -ctestimage failed due to wrong package names</short_desc>
          <delta_ts>2024-01-10 22:16:32 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>OE-Core</product>
          <component>core</component>
          <version>2.5</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium+</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>5.0 M2</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Robert Yang">liezhi.yang</reporter>
          <assigned_to name="Saul Wold">sgw</assigned_to>
          <cc>kai.kang</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>randy.macleod</cc>
    
    <cc>sgw</cc>
    
    <cc>tgamblin</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>No (bug/feature does not impact docs)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>78188</commentid>
    <comment_count>0</comment_count>
    <who name="Robert Yang">liezhi.yang</who>
    <bug_when>2017-11-14 01:07:36 +0000</bug_when>
    <thetext>MACHINE = &quot;qemux86-64&quot;
require conf/multilib.conf
MULTILIBS = &quot;multilib:lib32&quot;
DEFAULTTUNE_virtclass-multilib-lib32 = &quot;core2-32&quot;

INHERIT += &quot;testimage&quot;

$ bitbake lib32-core-image-sato -ctestimage

NOTE: ======================================================================
NOTE: FAIL: test_dnf_info (dnf.DnfBasicTest)
NOTE: ----------------------------------------------------------------------
NOTE: Traceback (most recent call last):
  File &quot;/workspace2/lyang1/poky/meta/lib/oeqa/core/decorator/__init__.py&quot;, line 32, in wrapped_f
    return func(*args, **kwargs)
  File &quot;/workspace2/lyang1/poky/meta/lib/oeqa/core/decorator/__init__.py&quot;, line 32, in wrapped_f
    return func(*args, **kwargs)
  File &quot;/workspace2/lyang1/poky/meta/lib/oeqa/runtime/cases/dnf.py&quot;, line 41, in test_dnf_info
    self.dnf(&apos;info dnf&apos;)
  File &quot;/workspace2/lyang1/poky/meta/lib/oeqa/runtime/cases/dnf.py&quot;, line 18, in dnf
    self.assertEqual(status, expected, message)
AssertionError: 1 != 0 : dnf info dnf
Error: No matching Packages to list

NOTE: ======================================================================
NOTE: FAIL: test_parselogs (parselogs.ParseLogsTest)
NOTE: ----------------------------------------------------------------------
NOTE: Traceback (most recent call last):
  File &quot;/workspace2/lyang1/poky/meta/lib/oeqa/core/decorator/__init__.py&quot;, line 32, in wrapped_f
    return func(*args, **kwargs)
  File &quot;/workspace2/lyang1/poky/meta/lib/oeqa/core/decorator/__init__.py&quot;, line 32, in wrapped_f
    return func(*args, **kwargs)
  File &quot;/workspace2/lyang1/poky/meta/lib/oeqa/runtime/cases/parselogs.py&quot;, line 363, in test_parselogs
    self.assertEqual(errcount, 0, msg=self.msg)
AssertionError: 3 != 0 : Log: /workspace2/lyang1/test_y_ml/tmp/work/qemux86_64-pokymllib32-linux/lib32-core-image-sato/1.0-r0/dnf.log
-----------------------
Central error: 2017-11-13T18:09:03Z CRITICAL Error: No matching Packages to list
***********************
    return cli_run(cli, base)
  File &quot;/usr/lib/python3.5/site-packages/dnf/cli/main.py&quot;, line 115, in cli_run
    cli.run()
  File &quot;/usr/lib/python3.5/site-packages/dnf/cli/cli.py&quot;, line 1009, in run
    return self.command.run()
  File &quot;/usr/lib/python3.5/site-packages/dnf/cli/commands/__init__.py&quot;, line 208, in run
    self.opts.packages)
  File &quot;/usr/lib/python3.5/site-packages/dnf/cli/cli.py&quot;, line 475, in output_packages
    raise dnf.exceptions.Error(_(&apos;No matching Packages to list&apos;))
dnf.exceptions.Error: No matching Packages to list</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84332</commentid>
    <comment_count>1</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2019-06-27 15:29:55 +0000</bug_when>
    <thetext>Chen, I&apos;ve given this one to Kai. Take it back if you like.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90729</commentid>
    <comment_count>2</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2021-06-23 15:45:12 +0000</bug_when>
    <thetext>Kai is not available so moved to unassigned and M3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96063</commentid>
    <comment_count>3</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2023-07-26 21:21:59 +0000</bug_when>
    <thetext>Bulk move of 64 bugs to 4.3 M3 after a quick review.
If a bug is actually fixed, please add a commit link and resolve it.
-- Randy for YP bug team.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96434</commentid>
    <comment_count>4</comment_count>
    <who name="Trevor Gamblin">tgamblin</who>
    <bug_when>2023-09-14 15:44:22 +0000</bug_when>
    <thetext>Moved to M4.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97062</commentid>
    <comment_count>5</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2023-10-30 15:29:10 +0000</bug_when>
    <thetext>Bulk move to 5.0 M1. -- Randy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97648</commentid>
    <comment_count>6</comment_count>
    <who name="Randy MacLeod">randy.macleod</who>
    <bug_when>2023-12-21 23:27:07 +0000</bug_when>
    <thetext>I haven&apos;t worked with the test code but I thought I&apos;d try to reproduce this.

I did the following on master:
cat &gt;&gt; conf/local.conf
MACHINE = &quot;qemux86-64&quot;
require conf/multilib.conf
MULTILIBS = &quot;multilib:lib32&quot;
DEFAULTTUNE:virtclass-multilib-lib32 = &quot;core2-32&quot;
IMAGE_CLASSES += &quot;testimage&quot;

^D

$ bitbake lib32-core-image-sato
$ bitbake lib32-core-image-sato -ctestimage  
Build Configuration:                                                                                                                                                                          
BB_VERSION           = &quot;2.6.1&quot;                                                                 
BUILD_SYS            = &quot;x86_64-linux&quot;                                                          
NATIVELSBSTRING      = &quot;ubuntu-22.04&quot;                                                          
TARGET_SYS           = &quot;x86_64-poky-linux&quot;                                                     
MACHINE              = &quot;qemux86-64&quot;                                                                                                                                                           
DISTRO               = &quot;poky&quot;                                                                  
DISTRO_VERSION       = &quot;4.3+snapshot-e24ff21afb6fbf187ac2af94c33770eb31615eae&quot;                                                                                                                
TUNE_FEATURES        = &quot;m64 core2&quot;
TARGET_FPU           = &quot;&quot;
meta                 
meta-poky            
meta-yocto-bsp       = &quot;master:e24ff21afb6fbf187ac2af94c33770eb31615eae&quot;
WARNING: Disabling uninative as unable to install uninative tarball: Command &apos;mkdir -p /ala-lpggp31/rmacleod/src/distro/yocto/b/yp-12342/tmp/sysroots-uninative; cd /ala-lpggp31/rmacleod/src.
WARNING: To build your own uninative loader, please bitbake uninative-tarball and set UNINATIVE_TARBALL appropriately.
Sstate summary: Wanted 0 Local 0 Mirrors 0 Missed 0 Current 435 (0% match, 100% complete)######################################################################                | ETA:  0:00:00
Initialising tasks: 100% |#####################################################################################################################################################| Time: 0:00:03
NOTE: Executing Tasks
QMP Available for connection at /ala-lpggp31/rmacleod/src/distro/yocto/b/yp-12342/tmp/.xpom8kok
QMP connected to QEMU at 12/21/23 14:07:25 and took 0.56 seconds
QMP released QEMU at 12/21/23 14:07:25 and took 0.08 seconds from connect
Test requires apt to be installed
Test requires dropbear, or openssh-sshd to be installed
Test requires autoconf to be installed
Test requires gtk+3 to be installed
Test requires autoconf to be installed
Test requires connman to be installed
Test case connman.ConnmanTest.test_connmand_running depends on connman.ConnmanTest.test_connmand_help but it didn&apos;t pass/run.
Test requires coreutils, or busybox to be installed
Test requires coreutils, or busybox to be installed
Test case dnf.DnfBasicTest.test_dnf_help depends on ssh.SSHTest.test_ssh but it didn&apos;t pass/run.
Test case dnf.DnfBasicTest.test_dnf_history depends on dnf.DnfBasicTest.test_dnf_help but it didn&apos;t pass/run.
Test case dnf.DnfBasicTest.test_dnf_info depends on dnf.DnfBasicTest.test_dnf_help but it didn&apos;t pass/run.
Test case dnf.DnfBasicTest.test_dnf_search depends on dnf.DnfBasicTest.test_dnf_help but it didn&apos;t pass/run.
Test case dnf.DnfBasicTest.test_dnf_version depends on dnf.DnfBasicTest.test_dnf_help but it didn&apos;t pass/run.
Test case dnf.DnfRepoTest.test_dnf_makecache depends on dnf.DnfBasicTest.test_dnf_help but it didn&apos;t pass/run.
Test case dnf.DnfRepoTest.test_dnf_exclude depends on dnf.DnfRepoTest.test_dnf_makecache but it didn&apos;t pass/run.
Test case dnf.DnfRepoTest.test_dnf_install depends on dnf.DnfRepoTest.test_dnf_makecache but it didn&apos;t pass/run.
Test case dnf.DnfRepoTest.test_dnf_install_dependency depends on dnf.DnfRepoTest.test_dnf_install but it didn&apos;t pass/run.
Test case dnf.DnfRepoTest.test_dnf_install_from_disk depends on dnf.DnfRepoTest.test_dnf_install_dependency but it didn&apos;t pass/run.
Test case dnf.DnfRepoTest.test_dnf_install_from_http depends on dnf.DnfRepoTest.test_dnf_install_from_disk but it didn&apos;t pass/run.
Test requires busybox to be installed
Test requires busybox to be installed
Test case dnf.DnfRepoTest.test_dnf_reinstall depends on dnf.DnfRepoTest.test_dnf_install but it didn&apos;t pass/run.
Test case dnf.DnfRepoTest.test_dnf_repoinfo depends on dnf.DnfRepoTest.test_dnf_makecache but it didn&apos;t pass/run.
Test requires gcc to be installed
Test requires g++ to be installed
Test requires g++ to be installed
Test requires make to be installed
Test requires python3-pygobject to be installed
Test requires go-helloworld to be installed
Test requires gcc to be installed
Test case ldd.LddTest.test_ldd depends on ssh.SSHTest.test_ssh but it didn&apos;t pass/run.
Test requires logrotate to be installed
Test case logrotate.LogrotateTest.test_logrotate_newlog depends on logrotate.LogrotateTest.test_logrotate_wtmp but it didn&apos;t pass/run.
Test requires busybox-syslog, or rsyslog, or sysklogd, or syslog-ng to be installed
Test case oe_syslog.SyslogTestConfig.test_syslog_logger depends on oe_syslog.SyslogTest.test_syslog_running but it didn&apos;t pass/run.
Test case oe_syslog.SyslogTestConfig.test_syslog_restart depends on oe_syslog.SyslogTest.test_syslog_running but it didn&apos;t pass/run.
Test requires busybox-syslog to be installed
Test requires opkg to be installed
Test requires shadow-base to be installed
Test case parselogs.ParseLogsTest.test_parselogs depends on ssh.SSHTest.test_ssh but it didn&apos;t pass/run.
Test requires perl to be installed
Test requires ptest-runner to be installed
Test requires ptest-runner to be installed
Test requires python3-core to be installed
Test case rpm.RpmBasicTest.test_rpm_help depends on ssh.SSHTest.test_ssh but it didn&apos;t pass/run.
Test case rpm.RpmBasicTest.test_rpm_query depends on rpm.RpmBasicTest.test_rpm_help but it didn&apos;t pass/run.
Test case rpm.RpmBasicTest.test_rpm_query_nonroot depends on rpm.RpmBasicTest.test_rpm_query but it didn&apos;t pass/run.
Test case rpm.RpmInstallRemoveTest.test_rpm_install depends on rpm.RpmBasicTest.test_rpm_query but it didn&apos;t pass/run.
Test case rpm.RpmInstallRemoveTest.test_rpm_remove depends on rpm.RpmInstallRemoveTest.test_rpm_install but it didn&apos;t pass/run.
Test case rpm.RpmInstallRemoveTest.test_check_rpm_install_removal_log_file_size depends on rpm.RpmInstallRemoveTest.test_rpm_remove but it didn&apos;t pass/run.
Test requires rust-c-lib-example-bin to be installed
Test requires openssh-scp to be installed
Test requires openssh-scp to be installed
Test requires openssh-scp to be installed
Test requires kernel-devsrc to be installed
Test case systemd.SystemdBasicTests.test_systemd_basic depends on ssh.SSHTest.test_ssh but it didn&apos;t pass/run.
Test case systemd.SystemdBasicTests.test_systemd_failed depends on systemd.SystemdBasicTests.test_systemd_basic but it didn&apos;t pass/run.
Test case systemd.SystemdBasicTests.test_systemd_list depends on systemd.SystemdBasicTests.test_systemd_basic but it didn&apos;t pass/run.
Test case systemd.SystemdJournalTests.test_systemd_boot_time depends on systemd.SystemdBasicTests.test_systemd_basic but it didn&apos;t pass/run.
Test case systemd.SystemdJournalTests.test_systemd_journal depends on systemd.SystemdBasicTests.test_systemd_basic but it didn&apos;t pass/run.
Test requires busybox to be installed
Test case systemd.SystemdServiceTests.test_systemd_status depends on systemd.SystemdBasicTests.test_systemd_basic but it didn&apos;t pass/run.
Test case systemd.SystemdServiceTests.test_systemd_disable_enable depends on systemd.SystemdServiceTests.test_systemd_status but it didn&apos;t pass/run.
Test is only meant to run with read-only-rootfs in IMAGE_FEATURES
Test case systemd.SystemdServiceTests.test_systemd_stop_start depends on systemd.SystemdServiceTests.test_systemd_status but it didn&apos;t pass/run.
Test requires wayland-utils to be installed
Test requires weston to be installed
Test requires weston to be installed
Test requires weston to be installed
Test requires xserver-nodm-init to be installed
Output from runqemu:
runqemu - INFO - Received signal: 15
runqemu - INFO - Cleaning up
runqemu - INFO - Host uptime: 31694068.84

tput: No value for $TERM and no -T specified

RESULTS:
RESULTS - parselogs.ParseLogsTest.test_get_context: PASSED (0.00s)
RESULTS - ping.PingTest.test_ping: PASSED (0.03s)
RESULTS - apt.AptRepoTest.test_apt_install_from_repo: SKIPPED (0.00s)
RESULTS - buildcpio.BuildCpioTest.test_cpio: SKIPPED (0.00s)
RESULTS - buildgalculator.GalculatorTest.test_galculator: SKIPPED (0.00s)
RESULTS - buildlzip.BuildLzipTest.test_lzip: SKIPPED (0.00s)
RESULTS - connman.ConnmanTest.test_connmand_help: SKIPPED (0.00s)
RESULTS - connman.ConnmanTest.test_connmand_running: SKIPPED (0.00s)
RESULTS - date.DateTest.test_date: SKIPPED (0.00s)
RESULTS - df.DfTest.test_df: SKIPPED (0.00s)
RESULTS - dnf.DnfBasicTest.test_dnf_help: SKIPPED (0.00s)
RESULTS - dnf.DnfBasicTest.test_dnf_history: SKIPPED (0.00s)
RESULTS - dnf.DnfBasicTest.test_dnf_info: SKIPPED (0.00s)
RESULTS - dnf.DnfBasicTest.test_dnf_search: SKIPPED (0.00s)
RESULTS - dnf.DnfBasicTest.test_dnf_version: SKIPPED (0.00s)
RESULTS - dnf.DnfRepoTest.test_dnf_exclude: SKIPPED (0.00s)
RESULTS - dnf.DnfRepoTest.test_dnf_install: SKIPPED (0.00s)
RESULTS - dnf.DnfRepoTest.test_dnf_install_dependency: SKIPPED (0.00s)
RESULTS - dnf.DnfRepoTest.test_dnf_install_from_disk: SKIPPED (0.00s)
RESULTS - dnf.DnfRepoTest.test_dnf_install_from_http: SKIPPED (0.00s)
RESULTS - dnf.DnfRepoTest.test_dnf_installroot: SKIPPED (0.00s)
RESULTS - dnf.DnfRepoTest.test_dnf_installroot_usrmerge: SKIPPED (0.00s)
RESULTS - dnf.DnfRepoTest.test_dnf_makecache: SKIPPED (0.00s)
RESULTS - dnf.DnfRepoTest.test_dnf_reinstall: SKIPPED (0.00s)
RESULTS - dnf.DnfRepoTest.test_dnf_repoinfo: SKIPPED (0.00s)
RESULTS - gcc.GccCompileTest.test_gcc_compile: SKIPPED (0.00s)
RESULTS - gcc.GccCompileTest.test_gpp2_compile: SKIPPED (0.00s)
RESULTS - gcc.GccCompileTest.test_gpp_compile: SKIPPED (0.00s)
RESULTS - gcc.GccCompileTest.test_make: SKIPPED (0.00s)
RESULTS - gi.GObjectIntrospectionTest.test_python: SKIPPED (0.00s)
RESULTS - go.GoHelloworldTest.test_gohelloworld: SKIPPED (0.00s)
RESULTS - kernelmodule.KernelModuleTest.test_kernel_module: SKIPPED (0.00s)
RESULTS - ldd.LddTest.test_ldd: SKIPPED (0.00s)
RESULTS - logrotate.LogrotateTest.test_logrotate_newlog: SKIPPED (0.00s)
RESULTS - logrotate.LogrotateTest.test_logrotate_wtmp: SKIPPED (0.00s)
RESULTS - oe_syslog.SyslogTest.test_syslog_running: SKIPPED (0.00s)
RESULTS - oe_syslog.SyslogTestConfig.test_syslog_logger: SKIPPED (0.00s)
RESULTS - oe_syslog.SyslogTestConfig.test_syslog_restart: SKIPPED (0.00s)
RESULTS - oe_syslog.SyslogTestConfig.test_syslog_startup_config: SKIPPED (0.00s)
RESULTS - opkg.OpkgRepoTest.test_opkg_install_from_repo: SKIPPED (0.00s)
RESULTS - pam.PamBasicTest.test_pam: SKIPPED (0.00s)
RESULTS - parselogs.ParseLogsTest.test_parselogs: SKIPPED (0.00s)
RESULTS - perl.PerlTest.test_perl_works: SKIPPED (0.00s)
RESULTS - ptest.PtestRunnerTest.test_ptestrunner_expectfail: SKIPPED (0.00s)
RESULTS - ptest.PtestRunnerTest.test_ptestrunner_expectsuccess: SKIPPED (0.00s)
RESULTS - python.PythonTest.test_python3: SKIPPED (0.00s)
RESULTS - rpm.RpmBasicTest.test_rpm_help: SKIPPED (0.00s)
RESULTS - rpm.RpmBasicTest.test_rpm_query: SKIPPED (0.00s)
RESULTS - rpm.RpmBasicTest.test_rpm_query_nonroot: SKIPPED (0.00s)
RESULTS - rpm.RpmInstallRemoveTest.test_check_rpm_install_removal_log_file_size: SKIPPED (0.00s)
RESULTS - rpm.RpmInstallRemoveTest.test_rpm_install: SKIPPED (0.00s)
RESULTS - rpm.RpmInstallRemoveTest.test_rpm_remove: SKIPPED (0.00s)
RESULTS - rust.RustCLibExampleTest.test_rust_c_lib_example: SKIPPED (0.00s)
RESULTS - rust.RustCompileTest.test_cargo_compile: SKIPPED (0.00s)
RESULTS - rust.RustCompileTest.test_rust_compile: SKIPPED (0.00s)
RESULTS - scp.ScpTest.test_scp_file: SKIPPED (0.00s)
RESULTS - ssh.SSHTest.test_ssh: SKIPPED (0.00s)
RESULTS - stap.StapTest.test_stap: SKIPPED (0.00s)
RESULTS - systemd.SystemdBasicTests.test_systemd_basic: SKIPPED (0.00s)
RESULTS - systemd.SystemdBasicTests.test_systemd_failed: SKIPPED (0.00s)
RESULTS - systemd.SystemdBasicTests.test_systemd_list: SKIPPED (0.00s)
RESULTS - systemd.SystemdJournalTests.test_systemd_boot_time: SKIPPED (0.00s)
RESULTS - systemd.SystemdJournalTests.test_systemd_journal: SKIPPED (0.00s)
RESULTS - systemd.SystemdServiceTests.test_systemd_coredump_minidebuginfo: SKIPPED (0.00s)
RESULTS - systemd.SystemdServiceTests.test_systemd_disable_enable: SKIPPED (0.00s)
RESULTS - systemd.SystemdServiceTests.test_systemd_disable_enable_ro: SKIPPED (0.00s)
RESULTS - systemd.SystemdServiceTests.test_systemd_status: SKIPPED (0.00s)
RESULTS - systemd.SystemdServiceTests.test_systemd_stop_start: SKIPPED (0.00s)
RESULTS - weston.WestonTest.test_wayland_info: SKIPPED (0.00s)
RESULTS - weston.WestonTest.test_weston_can_initialize_new_wayland_compositor: SKIPPED (0.00s)
RESULTS - weston.WestonTest.test_weston_running: SKIPPED (0.00s)
RESULTS - weston.WestonTest.test_weston_supports_xwayland: SKIPPED (0.00s)
RESULTS - xorg.XorgTest.test_xorg_running: SKIPPED (0.00s)
SUMMARY:
lib32-core-image-sato () - Ran 73 tests in 1.963s
lib32-core-image-sato - OK - All required tests passed (successes=2, skipped=71, failures=0, errors=0)
NOTE: Tasks Summary: Attempted 1475 tasks of which 1474 didn&apos;t need to be rerun and all succeeded.

Summary: There were 2 WARNING messages.
$

so at least that works, albeit while SKIPPING most tests and specifically the dnf ones that this bug is about. 

Adding in conf/local.conf:
PACKAGE_CLASSES ?= &quot;package_rpm&quot;
IMAGE_FEATURES += &quot;package-management ssh-server-openssh&quot;
IMAGE_INSTALL:append = &quot; lib32-dnf&quot;

$ bitbake lib32-core-image-sato
builds and has ssh, sshd, dnf:
qemux86-64 login: root
root@qemux86-64:~# which ssh
/usr/bin/ssh
root@qemux86-64:~# which sshd
/usr/sbin/sshd
root@qemux86-64:~# which dnf
/usr/bin/dnf
root@qemux86-64:~# dnf --version
4.18.1

but the tests are not being run due to:

Test case dnf.DnfBasicTest.test_dnf_help depends on ssh.SSHTest.test_ssh but it didn&apos;t pass/run.  
...                                                                                            
RESULTS - ssh.SSHTest.test_ssh: SKIPPED (0.00s)

root@qemux86-64:~#  /usr/sbin/sshd -v
unknown option -- v
OpenSSH_9.5p1, OpenSSL 3.2.0 23 Nov 2023

Tips welcome! 
All for today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97707</commentid>
    <comment_count>7</comment_count>
    <who name="Saul Wold">sgw</who>
    <bug_when>2023-12-23 15:57:33 +0000</bug_when>
    <thetext>As the title of this bug implies the wrong package names are being used, an initial investigation shows the failure to be in the @OEHasPackage() Decorator which uses the manifest to test (using isdisjoint) against a set of needed_pkgs or unneeded_pkgs and error if they are missing.

In this case the image is a multilib:lib32 image and all the packages in the manifest are prefixed with lib32- do when dropbear, openssh-sshd or dnf are passed in to the set they do not match the lib32-&lt;PN&gt; variation.

One possible fix would be to add the multi-lib prefix (lib32-) to the set of needed_pkgs when MULTILIB is set.

Another solution would be to remove the multilib prefix from the manifest when multilib is set.

I have to determine if it&apos;s possible to get to the bitbake &apos;d&apos; dictionary to figure out if MULTILIB is set at the different times.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97708</commentid>
    <comment_count>8</comment_count>
    <who name="Saul Wold">sgw</who>
    <bug_when>2023-12-23 20:38:30 +0000</bug_when>
    <thetext>(In reply to Saul Wold from comment #7)
&gt; As the title of this bug implies the wrong package names are being used, an
&gt; initial investigation shows the failure to be in the @OEHasPackage()
&gt; Decorator which uses the manifest to test (using isdisjoint) against a set
&gt; of needed_pkgs or unneeded_pkgs and error if they are missing.
&gt; 
&gt; In this case the image is a multilib:lib32 image and all the packages in the
&gt; manifest are prefixed with lib32- do when dropbear, openssh-sshd or dnf are
&gt; passed in to the set they do not match the lib32-&lt;PN&gt; variation.
&gt; 
&gt; One possible fix would be to add the multi-lib prefix (lib32-) to the set of
&gt; needed_pkgs when MULTILIB is set.
&gt; 
&gt; Another solution would be to remove the multilib prefix from the manifest
&gt; when multilib is set.
&gt; 
&gt; I have to determine if it&apos;s possible to get to the bitbake &apos;d&apos; dictionary to
&gt; figure out if MULTILIB is set at the different times.

Ah, I found that &apos;d&apos; is available in self.case.td and I can get MULTILIBS from there.

Proposed fix:
diff --git a/meta/lib/oeqa/runtime/decorator/package.py b/meta/lib/oeqa/runtime/decorator/package.py
index 8aba3f325b..b6c7f84795 100644
--- a/meta/lib/oeqa/runtime/decorator/package.py
+++ b/meta/lib/oeqa/runtime/decorator/package.py
@@ -38,11 +38,18 @@ class OEHasPackage(OETestDecorator):
         if isinstance(self.need_pkgs, str):
             self.need_pkgs = [self.need_pkgs,]
 
+        ml = self.case.td.get(&quot;MULTILIBS&quot;).split(&apos;:&apos;)[1]
         for pkg in self.need_pkgs:
             if pkg.startswith(&apos;!&apos;):
-                unneed_pkgs.add(pkg[1:])
+                if ml:
+                    unneed_pkgs.add(ml + &quot;-&quot; + pkg[1:])
+                else:
+                    unneed_pkgs.add(pkg[1:])
             else:
-                need_pkgs.add(pkg)
+                if ml:
+                    need_pkgs.add(ml + &quot;-&quot; + pkg)
+                else:
+                    need_pkgs.add(pkg)
 
         if unneed_pkgs:
             msg = &apos;Checking if %s is not installed&apos; % &apos;, &apos;.join(unneed_pkgs)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97709</commentid>
    <comment_count>9</comment_count>
    <who name="Saul Wold">sgw</who>
    <bug_when>2023-12-23 20:39:07 +0000</bug_when>
    <thetext></thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>97771</commentid>
    <comment_count>10</comment_count>
    <who name="Saul Wold">sgw</who>
    <bug_when>2024-01-10 22:16:32 +0000</bug_when>
    <thetext>Merged: https://git.yoctoproject.org/poky/commit/?id=acf45e764ca439fe38192a7e5d394d2a62bff886</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>