<?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>12025</bug_id>
          
          <creation_ts>2017-09-01 07:29:24 +0000</creation_ts>
          <short_desc>Mixing systemd and non-systemd builds for different MACHINEs confuses dnf</short_desc>
          <delta_ts>2018-07-07 12:57:31 +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>devtools / tool chain</component>
          <version>2.2</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>4.99</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Richard Purdie">richard.purdie</reporter>
          <assigned_to name="Richard Purdie">richard.purdie</assigned_to>
          <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</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>76437</commentid>
    <comment_count>0</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2017-09-01 07:29:24 +0000</bug_when>
    <thetext>If I enable systemd:

DISTRO_FEATURES_append = &quot; systemd&quot;
VIRTUAL-RUNTIME_init_manager = &quot;systemd&quot;
DISTRO_FEATURES_BACKFILL_CONSIDERED = &quot;sysvinit&quot;

$ MACHINE=qemuppc bitbake systemd
$ MACHINE=qemumips bitbake systemd

&lt;remove above systemd enablement&gt;

$ MACHINE=qemux86-64 bitbake core-image-minimal-initramfs

I see the rootfs fail:

ERROR: core-image-minimal-initramfs-1.0-r0 do_rootfs: Could not invoke dnf. Command &apos;/media/build1/poky/build/tmp/work/qemux86_64-poky-linux/core-image-minimal-initramfs/1.0-r0/recipe-sysroot-native/usr/bin/dnf -y -c /media/build1/poky/build/tmp/work/qemux86_64-poky-linux/core-image-minimal-initramfs/1.0-r0/rootfs/etc/dnf/dnf.conf --setopt=reposdir=/media/build1/poky/build/tmp/work/qemux86_64-poky-linux/core-image-minimal-initramfs/1.0-r0/rootfs/etc/yum.repos.d --repofrompath=oe-repo,/media/build1/poky/build/tmp/work/qemux86_64-poky-linux/core-image-minimal-initramfs/1.0-r0/oe-rootfs-repo --installroot=/media/build1/poky/build/tmp/work/qemux86_64-poky-linux/core-image-minimal-initramfs/1.0-r0/rootfs --setopt=logdir=/media/build1/poky/build/tmp/work/qemux86_64-poky-linux/core-image-minimal-initramfs/1.0-r0/temp -x busybox-syslog --nogpgcheck install initramfs-live-boot udev run-postinsts busybox initramfs-live-install initramfs-live-install-efi base-passwd&apos; returned 1:
Added oe-repo repo from /media/build1/poky/build/tmp/work/qemux86_64-poky-linux/core-image-minimal-initramfs/1.0-r0/oe-rootfs-repo
Last metadata expiration check: 0:00:02 ago on Fri 01 Sep 2017 07:17:04 AM UTC.
Error: 
 Problem: conflicting requests
  - package udev-1:234-r0.mips32r2 does not have a compatible architecture
  - package udev-1:234-r0.ppc7400 does not have a compatible architecture

tmp/work/qemux86_64-poky-linux/core-image-minimal-initramfs/1.0-r0/oe-rootfs-repo/rpm$ find -name udev*
./ppc7400/udev-hwdb-234-r0.ppc7400.rpm
./ppc7400/udev-extraconf-1.1-r0.ppc7400.rpm
./ppc7400/udev-extraconf-dbg-1.1-r0.ppc7400.rpm
./ppc7400/udev-234-r0.ppc7400.rpm
./ppc7400/udev-extraconf-dev-1.1-r0.ppc7400.rpm
./mips32r2/udev-extraconf-1.1-r0.mips32r2.rpm
./mips32r2/udev-extraconf-dev-1.1-r0.mips32r2.rpm
./mips32r2/udev-hwdb-234-r0.mips32r2.rpm
./mips32r2/udev-234-r0.mips32r2.rpm
./mips32r2/udev-extraconf-dbg-1.1-r0.mips32r2.rpm
./i586/udev-extraconf-dev-1.1-r0.i586.rpm
./i586/udev-extraconf-dbg-1.1-r0.i586.rpm
./i586/udev-extraconf-1.1-r0.i586.rpm
./core2_64/udev-extraconf-dbg-1.1-r0.core2_64.rpm
./core2_64/udev-extraconf-1.1-r0.core2_64.rpm
./core2_64/udev-extraconf-dev-1.1-r0.core2_64.rpm

$ MACHINE=qemuppc bitbake quilt-native
$ MACHINE=qemumips bitbake quilt-native

[triggers it to clean up unreachable recipes such as systemd which is now not enabled]

I can then successfully build core-image-minimal-initramfs as the problematic rpms were removed.

tmp/work/qemux86_64-poky-linux/core-image-minimal-initramfs/1.0-r0/oe-rootfs-repo/rpm$ find -name udev*
./ppc7400/udev-extraconf-1.1-r0.ppc7400.rpm
./ppc7400/udev-extraconf-dbg-1.1-r0.ppc7400.rpm
./ppc7400/udev-extraconf-dev-1.1-r0.ppc7400.rpm
./mips32r2/udev-extraconf-1.1-r0.mips32r2.rpm
./mips32r2/udev-extraconf-dev-1.1-r0.mips32r2.rpm
./mips32r2/udev-extraconf-dbg-1.1-r0.mips32r2.rpm
./i586/udev-extraconf-dev-1.1-r0.i586.rpm
./i586/udev-extraconf-dbg-1.1-r0.i586.rpm
./i586/udev-extraconf-1.1-r0.i586.rpm
./core2_64/udev-extraconf-dbg-1.1-r0.core2_64.rpm
./core2_64/udev-extraconf-1.1-r0.core2_64.rpm
./core2_64/udev-extraconf-dev-1.1-r0.core2_64.rpm

For some reason its preferring the invalid arch rpms over the one that PROVIDES udev.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77228</commentid>
    <comment_count>1</comment_count>
    <who name="Alexander Kanavin">alex.kanavin</who>
    <bug_when>2017-09-29 12:28:26 +0000</bug_when>
    <thetext>After a lot of digging into dnf, libdnf and libsolv, here&apos;s the report I submitted to the upstream:

https://bugzilla.redhat.com/show_bug.cgi?id=1497188

Let&apos;s see what the maintainers think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78417</commentid>
    <comment_count>2</comment_count>
    <who name="Alexander Kanavin">alex.kanavin</who>
    <bug_when>2017-11-30 11:42:41 +0000</bug_when>
    <thetext>I got a comment out of upstream:
&quot;But in this particular case we don&apos;t have a decision yet. LIBDNF is now under reconstruction and we don&apos;t know if new design changes will go in favor of that bug report.&quot;

https://github.com/rpm-software-management/libdnf/pull/312#issuecomment-347641033

So let&apos;s see how their refactoring goes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79071</commentid>
    <comment_count>3</comment_count>
    <who name="Alexander Kanavin">alex.kanavin</who>
    <bug_when>2018-01-15 11:09:17 +0000</bug_when>
    <thetext>As it doesn&apos;t seem we&apos;ll get a fix from upstream for this soon, and RP has a patch in progress that sidesteps the issue by limiting the set of RPMs visible to dnf only to those actually needed, I guess the bug can be reassigned.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>81033</commentid>
    <comment_count>4</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2018-07-07 12:57:31 +0000</bug_when>
    <thetext>The rpm filtering code at least resolves this issue so it doesn&apos;t concern us any more, even if there are seemingly problematic issues in libdnf.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>