Bug 2272

Summary: Archive source failed when build image
Product: [Build System, Metadata & Runtime] Meta-yocto Reporter: Yi Zhao <yi.zhao>
Component: meta-yoctoAssignee: Xiaofeng Yan <Xiaofeng.yan>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: Medium CC: 181262679, jiajun.xu, liang.li2, poky.bs.watcher, poky.watcher, sgw
Version: 1.2   
Target Milestone: 1.2 M4   
Hardware: x86   
OS: Multiple   
Whiteboard: (1.2)test
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---

Description Yi Zhao 2012-04-10 08:37:03 UTC
Tree/branch: poky/1.2_M4
Commit: 27aa5489fb40d99c58bb2a4bbf2311e2c502a091

Following the meta-yocto/conf/local.conf.sample.extended to add source archiving feature in my local.conf:

##################
...
INHERIT =+ "archive-original-source"

SOURCE_ARCHIVE_PACKAGE_TYPE ?= 'tar' 
SOURCE_ARCHIVE_LOG_WITH_SCRIPTS ?= 'logs_with_scripts'
...
##################

When running "bitbake core-imamge-minmal", I got the following error:
##############
ERROR: Error executing a python function in /buildarea2/yzhao-test/poky-test/meta/recipes-core/zlib/zlib_1.2.6.bb:
IOError: [Errno 2] No such file or directory: '/buildarea2/yzhao-test/poky-test/build-archive/downloads/zlib-1.2.6.tar.bz2'

ERROR: The stack trace of python calls that resulted in this exception/failure was:
ERROR:   File "do_archive_original_sources_patches", line 6, in <module>
ERROR: 
ERROR:   File "do_archive_original_sources_patches", line 3, in do_archive_original_sources_patches
ERROR: 
ERROR:   File "archiver.bbclass", line 21, in archive_sources_patches
ERROR: 
ERROR:   File "archiver.bbclass", line 18, in move_tarball_deploy
ERROR: 
ERROR:   File "/usr/lib/python2.7/shutil.py", line 298, in move
ERROR:     copy2(src, real_dst)
ERROR: 
ERROR:   File "/usr/lib/python2.7/shutil.py", line 127, in copy2
ERROR:     copyfile(src, dst)
ERROR: 
ERROR:   File "/usr/lib/python2.7/shutil.py", line 81, in copyfile
ERROR:     with open(src, 'rb') as fsrc:
ERROR: 
ERROR: The code that was being executed was:
ERROR:      0002:def do_archive_original_sources_patches(d):
ERROR:      0003:	archive_sources_patches(d,'prepatch')
ERROR:      0004:
ERROR:      0005:
ERROR:  *** 0006:do_archive_original_sources_patches(d)
ERROR:      0007:
ERROR: (file: 'do_archive_original_sources_patches', lineno: 6, function: <module>)
ERROR:      0001:
ERROR:      0002:def do_archive_original_sources_patches(d):
ERROR:  *** 0003:	archive_sources_patches(d,'prepatch')
ERROR:      0004:
ERROR:      0005:
ERROR:      0006:do_archive_original_sources_patches(d)
ERROR:      0007:
ERROR: (file: 'do_archive_original_sources_patches', lineno: 3, function: do_archive_original_sources_patches)
ERROR: Function failed: do_archive_original_sources_patches
ERROR: Logfile of failure stored in: /buildarea2/yzhao-test/poky-test/build-archive/tmp/work/ppc603e-poky-linux/zlib-1.2.6-r1/temp/log.do_unpack.18767
NOTE: package zlib-1.2.6-r1: task do_unpack: Failed

#############

I'm sure that the zlib-1.2.6.tar.bz2 existed in the download directory before built. 

Then I copied the zlib tarball to the download direcotry and ran "bitbake zilib". I got the same error:
##########
ERROR: Error executing a python function in /buildarea2/yzhao-test/poky-test/meta/recipes-core/zlib/zlib_1.2.6.bb:
IOError: [Errno 2] No such file or directory: '/buildarea2/yzhao-test/poky-test/build-archive/downloads/zlib-1.2.6.tar.bz2'

ERROR: The stack trace of python calls that resulted in this exception/failure was:
ERROR:   File "do_archive_original_sources_patches", line 6, in <module>
ERROR: 
ERROR:   File "do_archive_original_sources_patches", line 3, in do_archive_original_sources_patches
ERROR: 
ERROR:   File "archiver.bbclass", line 21, in archive_sources_patches
ERROR: 
ERROR:   File "archiver.bbclass", line 18, in move_tarball_deploy
ERROR: 
ERROR:   File "/usr/lib/python2.7/shutil.py", line 298, in move
ERROR:     copy2(src, real_dst)
ERROR: 
ERROR:   File "/usr/lib/python2.7/shutil.py", line 127, in copy2
ERROR:     copyfile(src, dst)
ERROR: 
ERROR:   File "/usr/lib/python2.7/shutil.py", line 81, in copyfile
ERROR:     with open(src, 'rb') as fsrc:
ERROR: 
ERROR: The code that was being executed was:
ERROR:      0002:def do_archive_original_sources_patches(d):
ERROR:      0003:	archive_sources_patches(d,'prepatch')
ERROR:      0004:
ERROR:      0005:
ERROR:  *** 0006:do_archive_original_sources_patches(d)
ERROR:      0007:
ERROR: (file: 'do_archive_original_sources_patches', lineno: 6, function: <module>)
ERROR:      0001:
ERROR:      0002:def do_archive_original_sources_patches(d):
ERROR:  *** 0003:	archive_sources_patches(d,'prepatch')
ERROR:      0004:
ERROR:      0005:
ERROR:      0006:do_archive_original_sources_patches(d)
ERROR:      0007:
ERROR: (file: 'do_archive_original_sources_patches', lineno: 3, function: do_archive_original_sources_patches)
ERROR: Function failed: do_archive_original_sources_patches
ERROR: Logfile of failure stored in: /buildarea2/yzhao-test/poky-test/build-archive/tmp/work/ppc603e-poky-linux/zlib-1.2.6-r1/temp/log.do_unpack.27153
NOTE: package zlib-1.2.6-r1: task do_unpack: Failed
#################

And the zilib tarball in download directory had been removed!
Comment 1 Xiaofeng Yan 2012-04-12 02:29:36 UTC
The patch for fixing this bug has been merged into oe-core:

http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=5fb36b041c612b80cf35d6ecd35bddd1e108a210
Comment 2 Yi Zhao 2012-04-17 06:47:48 UTC
Verified with 1.2 rc3.

Tree/branch: poky/1.2_M4
Commit: fae1c7a5fdcea199338b5f91efaafd7c72aec5dd