<?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>8969</bug_id>
          
          <creation_ts>2016-01-21 10:51:10 +0000</creation_ts>
          <short_desc>With RPM4, RRECOMMENDS (Suggests:) are not installed</short_desc>
          <delta_ts>2016-03-22 12:41:41 +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.0.2</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>OBSOLETE</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>2.2</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="condo4">fabien.proriol</reporter>
          <assigned_to name="Joshua Lock">joshuagloe</assigned_to>
          <cc>markus.lehtonen</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>tanuk</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Don&apos;t know</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>58050</commentid>
    <comment_count>0</comment_count>
    <who name="condo4">fabien.proriol</who>
    <bug_when>2016-01-21 10:51:10 +0000</bug_when>
    <thetext>Hello,

I build a new filesystem.
With RPM5, I had no problems, I switched to RPM4, and, on my image, many packages are missing (xserver-xf86-config, xkbcomp for exemple).

It&apos;s seem that this packages are linked to my image by
RRECOMMENDS_${PN} += ....

With RPM5, do_rootfs install this packages in the final image
With RPM4, do_rootfs don&apos;t install it...

I check the spec file, in both cases, there is following lines:

Suggests: xserver-xorg-security-policy
Suggests: rgb
Suggests: xkeyboard-config
Suggests: xserver-xf86-config
Suggests: xkbcomp

Somethings has an idea of the root cause ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>58072</commentid>
    <comment_count>1</comment_count>
    <who name="Markus Lehtonen">markus.lehtonen</who>
    <bug_when>2016-01-21 16:12:01 +0000</bug_when>
    <thetext>Upstream of RPM4 now supports weak dependencies. Thus, upgrading RPM4 to, say, v4.13 should fix this issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>58189</commentid>
    <comment_count>2</comment_count>
    <who name="Joshua Lock">joshuagloe</who>
    <bug_when>2016-01-25 15:24:16 +0000</bug_when>
    <thetext>I&apos;ve reproduced this issue and begun investigating but sadly haven&apos;t quite root caused it yet.

I can confirm that a core-image-sato built with rpm4 doesn&apos;t have the contents of xserver-xf86-config nor xkbcomp packages installed, yet the RRECOMMENDS (or Suggests in RPM parlance) information is encoded correctly in the generated RPM:

$ ./tmp-glibc/sysroots/x86_64-linux/usr/bin/rpm -qp --suggests tmp-glibc/deploy/rpm/i586/xserver-xorg-1.18.0-r0.3.i586.rpm
xkbcomp
xkeyboard-config
xserver-xf86-config

The only thing that seems interesting here is that the package xserver-xorg has arch i586, as do the xkeyboard-config and xkbcomp RRECOMMENDS, but the xserver-xf86-config package has MACHINE_ARCH — qemux86 in this instance.

I decided to try and see whether other RRECOMMENDS were being installed in the RPM4 image and discovered that some are, i.e. gtk+ RRECOMMENDS liberation-fonts (amongst other things) and the ttf files are installed in the rootfs.

Taking a look at the gtk+ package:

$ ./tmp-glibc/sysroots/x86_64-linux/usr/bin/rpm -qp --suggests tmp-glibc/deploy/rpm/i586/libgtk-2.0-2.24.28-r0.3.i586.rpm
glibc-gconv-iso8859-1
liberation-fonts
libgdk-pixbuf-2.0-loader-gif
libgdk-pixbuf-2.0-loader-jpeg
libgdk-pixbuf-2.0-loader-png
libgdk-pixbuf-2.0-loader-xpm
shared-mime-info

liberation fonts are all arch, whilst the rest are i586.

At this point it looks like perhaps MACHINE_ARCH RRECOMMENDS aren&apos;t being installed?

Testing a couple of others:

$ ./tmp-glibc/sysroots/x86_64-linux/usr/bin/rpm -qp --suggests tmp-glibc/deploy/rpm/i586/connman-1.31-r0.2.i586.rpm
connman-conf
update-rc.d

Indeed, connman-conf is not installed in the rootfs.

It&apos;s worth checking that MACHINE_ARCH RDEPENDS (Requires) are being installed:

$ ./tmp-glibc/sysroots/x86_64-linux/usr/bin/rpm -qp --requires tmp-glibc/deploy/rpm/qemux86/packagegroup-core-x11-sato-base-1.0-r33.4.qemux86.rpm
connman-gnome
gtk-sato-engine
libsdl
matchbox-config-gtk
matchbox-desktop
matchbox-keyboard
matchbox-keyboard-applet
matchbox-keyboard-im
matchbox-session-sato
pulseaudio-client-conf-sato
pulseaudio-misc
pulseaudio-server
rpmlib(CompressedFileNames) &lt;= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) &lt;= 4.0-1
sato-icon-theme
settings-daemon
shutdown-desktop
udev-extraconf
xcursor-transparent-theme

matchbox-session-sato has MACHINE_ARCH and is installed in the rpm4 rootfs. OK, good.

At this point my guess is that MACHINE_ARCH Suggests/RRECOMMENDS aren&apos;t being installed. I&apos;d guess this is an issue with the Smart Package Manager and the patch we have to fix RPM4 support[1], however I need to find some more time to investigate that.

Note: I tried updating to RPM 4.13-rc1 before I started digging in to this investigation and, in case the above is too long or unclear, it didn&apos;t help. However I&apos;ll submit that recipe along with any fixes and improvements for RPM4. My WIP RPM4 changes are in the joshuagl/rpm4 branch of openembedded-core-contrib[2].

1. http://git.openembedded.org/openembedded-core/tree/meta/recipes-devtools/python/python-smartpm/smart-rpm4-fixes.patch
2. http://cgit.openembedded.org/openembedded-core-contrib/log/?h=joshuagl/rpm4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>60283</commentid>
    <comment_count>3</comment_count>
    <who name="Joshua Lock">joshuagloe</who>
    <bug_when>2016-03-22 12:41:41 +0000</bug_when>
    <thetext>As RPM4 was incomplete, buggy and unmaintained we decided to remove it from OE-Core.

We&apos;ll be happy to add it back should someone provide a fully functioning solution, but as we don&apos;t currently have the manpower to develop and maintain that solution its removal was deemed to be the best option.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>