Bug 3128

Summary: Incremental RPM generation doesn't work with 1.3 M4 branch
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Stefan Stanacar <sstncr>
Component: coreAssignee: Robert Yang <liezhi.yang>
Status: VERIFIED FIXED QA Contact:
Severity: normal    
Priority: Medium CC: meta.mr.watcher, meta.watcher, poky.bs.watcher, poky.watcher, richard.purdie, sgw, yi.zhao, zhenfeng.zhao
Version: 1.3   
Target Milestone: 1.3 M5   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: ---
Attachments:
Description Flags
first log.do_rootfs
none
second log.do_rootfs none

Description Stefan Stanacar 2012-09-18 15:25:00 UTC
Build Configuration:
BB_VERSION        = "1.15.3"
TARGET_ARCH       = "x86_64"
TARGET_OS         = "linux"
MACHINE           = "qemux86-64"
DISTRO            = "poky"
DISTRO_VERSION    = "1.2+snapshot-20120918"
TUNE_FEATURES     = "m64"
TARGET_FPU        = ""
meta              
meta-yocto        
meta-yocto-bsp    = "1.3_M4:e5c3513ca8abb21eb5e9b8c19d1b9199b14ae07c"


1. Add INC_IMAGE_GEN = "1" to conf/local.conf
2. bitbake core-image-sato
3. bitbake bzip2 -cclean; bitbake bzip2 -ccleansstate
4. bitbake core-image-sato

log.do_rootfs for the last bitbake shows that the rootfs is reconstructed instead of just adding that one package.
Comment 1 Stefan Stanacar 2012-09-18 15:26:00 UTC
Created attachment 813 [details]
first log.do_rootfs
Comment 2 Stefan Stanacar 2012-09-18 15:26:30 UTC
Created attachment 814 [details]
second log.do_rootfs
Comment 3 Robert Yang 2012-09-19 02:23:41 UTC
Hi Stefan,

Thanks for reporting this, but I'm afraid that this is not a bug, here are the explanations:

1) We have divided the rootfs generation into 3 steps in a normal build:
   a) Initial install: install the base-passwd, base-files and shadow package
   b) Main install: Most of the packages will be installed here.
   c) Complementary install: Usually, the locale packages

2) In the incremental image generation (The second build):
   a) Initial install: skipped
   b) Main install: The incremental image generation happened here, it need remove the "Complementary install" packages completely since we don't know which complementary package is needed (suppose several packages have been removed).
   c) Complementary install: Re-generated the packages and install them, it must be generated based on the rootfs from main install, different main install will cause different complementary packages.

There are similar explanations in the package_rpm.bbclass. So what in the second log.do_rootfs are the complementary packages, usually , the complementary list is not long, there are 18 packages as the log shows. I hope this help, please let me know if you have any questions.
Comment 4 Robert Yang 2012-09-24 09:41:29 UTC
The latest change to package_rpm.bbclass broke the incremental image generation again, the error is:

cat initial_solution.manifest: No such file or directory

it's not the same error as this bug described, but it may change the result of the complementary installation, so I re-opened it.
Comment 6 Yi Zhao 2012-10-09 05:47:00 UTC
Verified with 1.3 M5 RC3. 
gitinfo: danny/86c9aa8081f107420cd3763d0566d779daddc2b1