Bug 7466

Summary: rpmv4 image build failed for qemuarm
Product: [Build System, Metadata & Runtime] Meta-yocto Reporter: Yi Zhao <yi.zhao>
Component: meta-yoctoAssignee: Saul Wold <sgw>
Status: VERIFIED WONTFIX QA Contact: Alexandru Georgescu <alexandru.c.georgescu>
Severity: normal    
Priority: Medium+ CC: alexandru.c.georgescu, ke.zou, poky.bs.watcher, poky.watcher, sgw, stanciux.mihail, zhangle.yang
Version: 1.8   
Target Milestone: 1.8 M4   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: Regression (Used to work)
Verified: Documentation change: No (bug/feature does not impact docs)
Attachments:
Description Flags
log.do_rootfs none

Description Yi Zhao 2015-03-17 06:07:36 UTC
Created attachment 2444 [details]
log.do_rootfs

git: master/df0672b038e6942c97d266af9ca175a06f2b0423

Steps:
Add the following lines in conf/local.conf:
PREFERRED_VERSION_rpm = "4.11.2"
PREFERRED_VERSION_rpm-native = "4.11.2"
RPMROOTFSDEPENDS_remove = "rpmresolve-native:do_populate_sysroot"

bitbake core-image-minimal for qemuarm

Error log:
ERROR: Unable to install packages. Command '/buildarea/poky/build-qemuarm/tmp/sysroots/x86_64-linux/usr/bin/smart --quiet --data-dir=/buildarea/poky/build-qemuarm/tmp/work/qemuarm-poky-linux-gnueabi/core-image-minimal/1.0-r0/rootfs/var/lib/smart install -y run-postinsts@all packagegroup-core-boot@qemuarm' returned 1:
error: package update-alternatives-opkg-0.1.8+git0+53274f0875-r0.armv5e is intended for a different operating system
error: package netbase-1:5.3-r0.armv5e is intended for a different operating system
error: package libc6-2.21-r0.armv5e is intended for a different operating system
error: package base-files-3.0.14-r89.qemuarm is intended for a different operating system
error: package busybox-1.23.1-r0.armv5e is intended for a different operating system
error: package libz1-1.2.8-r0.armv5e is intended for a different operating system
error: package libuuid1-2.25.2-r1.armv5e is intended for a different operating system
error: package initscripts-functions-1.0-r155.armv5e is intended for a different operating system
error: package busybox-hwclock-1.23.1-r0.armv5e is intended for a different operating system
error: package base-passwd-3.5.29-r0.armv5e is intended for a different operating system
error: package init-ifupdown-1.0-r7.qemuarm is intended for a different operating system
error: package sysvinit-pidof-2.88dsf-r14.armv5e is intended for a different operating system
error: package sysvinit-inittab-2.88dsf-r10.qemuarm is intended for a different operating system
error: package modutils-initscripts-1.0-r7.armv5e is intended for a different operating system
error: package libkmod2-19+git0+fd56638aed-r0.armv5e is intended for a different operating system
error: package libblkid1-2.25.2-r1.armv5e is intended for a different operating system
error: package initscripts-1.0-r155.armv5e is intended for a different operating system
error: package sysvinit-2.88dsf-r14.armv5e is intended for a different operating system
error: package udev-182-r9.armv5e is intended for a different operating system
error: package packagegroup-core-boot-1.0-r17.qemuarm is intended for a different operating system


ERROR: Function failed: do_rootfs
ERROR: Logfile of failure stored in: /buildarea/poky/build-qemuarm/tmp/work/qemuarm-poky-linux-gnueabi/core-image-minimal/1.0-r0/temp/log.do_rootfs.11584
ERROR: Task 7 (/buildarea/poky/meta/recipes-core/images/core-image-minimal.bb, do_rootfs) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1964 tasks of which 9 didn't need to be rerun and 1 failed.

More details, please see the attachment
Comment 1 Mark Hatle 2015-03-19 14:46:05 UTC
I don't know who this should be assigned to.  The RPM 4 alternative was implemented by others and needs to be improved to handle better cross-platform support.

The issue is that either rpm4 is starting and determining the target == host, or that it simply doesn't know what "armv5e" is.  Traditionally rpm4 has a hard coded list of known architectures, and when you deviate from that it gets confused and can't do various validations.

RPM5 is controlled by the /etc/rpm/platform file.  This file will will contain the entries:

<line1>host primary architecture(similar to uname)
<lineN>all compatible canonical archs(regex)

I'm going to assign this to Saul Wold, as he was the one who introduced the original version of the code.  Hopefully he or someone he knows will be able to handle the defect.
Comment 2 Saul Wold 2015-03-21 01:21:35 UTC
I am closing this bug since the original use case for rpm4 was to work with 
other layers and distro's using other package management tools not with smart, 
I am not sure this is an actual regression as I just tested this with 1.8+M1 
and got the same failure.
Comment 3 Alexandru Georgescu 2015-03-26 06:29:55 UTC
(In reply to comment #2)
> I am closing this bug since the original use case for rpm4 was to work with 
> other layers and distro's using other package management tools not with
> smart, 
> I am not sure this is an actual regression as I just tested this with 1.8+M1 
> and got the same failure.

Verified as per above comment.