Bug 3137 - rpm unpacking error
Summary: rpm unpacking error
Status: VERIFIED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: devtools / tool chain (show other bugs)
Version: 1.3
Hardware: x86 Multiple
: Medium+ normal
Target Milestone: 1.3 M5
Assignee: Robert Yang
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2012-09-19 11:21 UTC by Ross Burton
Modified: 2012-10-12 09:00 UTC (History)
9 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ross Burton 2012-09-19 11:21:04 UTC
The relatively new rpm unpacking in master is causing the PVR drivers in meta-intel to crash:

| DEBUG: Executing python function do_unpack
| DEBUG: Executing python function base_do_unpack
| NOTE: Unpacking /home/ross/Yocto/downloads/psb-video-cdv-1.0.3-1.1.i586.rpm to /data/poky-master/tmp/work/core2-poky-linux/cdv-pvr-driver-1.0.3-r1/
| cpio: ./lib/firmware/msvdx_fw_mfld.bin: Cannot open: No such file or directory
| cpio: ./lib/firmware/msvdx_fw_mfld_DE2.0.bin: Cannot open: No such file or directory
| cpio: pvr_drv_video.so: Cannot symlink to `./usr/lib/dri/psb_drv_video.so': No such file or directory
| cpio: ./usr/lib/dri/pvr_drv_video.so: Cannot open: No such file or directory
| cpio: ./usr/share/doc/psb-video-cdv-1.0.3/license.txt: Cannot open: No such file or directory
| 1210 blocks
| DEBUG: Python function base_do_unpack finished
| DEBUG: Python function do_unpack finished
Comment 1 Robert Yang 2012-09-25 12:36:27 UTC
Hi Ross:

I can't reproduce this error, would you please provide more information or try it again? e.g.:

1) How to reproduce it.
2) The full log.
Comment 2 Ross Burton 2012-09-25 13:24:58 UTC
You can't replicate it because I worked around it in meta-intel by disabling the extract.  Revert c3644c66fad3d9a91259ea382e72304dc6576ca0 and you'll see it.
Comment 3 Robert Yang 2012-09-26 09:00:57 UTC
(In reply to comment #2)
> You can't replicate it because I worked around it in meta-intel by disabling
> the extract.  Revert c3644c66fad3d9a91259ea382e72304dc6576ca0 and you'll see
> it.

Hi Ross,

I'm afraid that the c3644c66fad3d9a91259ea382e72304dc6576ca0 is the correct fix:

The cdv-pvr-driver has 3 binary RPMs, the cdv-pvr-driver_1.0.3.bb has unpacked and installed them manually, so disable the auto unpack is the correct way, if we want to unpack them automatically, then we need re-work cdv-pvr-driver_1.0.3.bb, but I don't think we have to do this, since its do_install have more than 60 lines, and it worked correctly currently, it would cost much time to  do the runtime test if we re-work it. I did a "grep" in meta-* in yocto, there are 2 recipes: rpm and cdv-pvr-driver which use the rpm as the source, the rpm works correctly since it uses srpm. 

The automatically unpack rpm in fetch2 does have a bug, the cpio command should be "cpio -di", not "cpio -i". I will send a patch to fix it.
Comment 4 Robert Yang 2012-09-28 02:07:47 UTC
Hi Ross,

I assume that you have read the previous comments, I will mark it as fixed.

Merged into master:

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=faaa0653c2a24fcd419d8a79c33086611ea36b89
Comment 5 Ross Burton 2012-09-28 06:05:42 UTC
Yes, thanks.  My extract=0 was certainly the right short-term fix and now the fetcher is fixed too these recipes can be simplified.
Comment 6 Yi Zhao 2012-10-12 09:00:31 UTC
Verified with M5 RC3
poky: 86c9aa8081f107420cd3763d0566d779daddc2b1
meta-intel: 2c1e927fa99abe47865a03cf661d4757ff3147c6