[poky] Master stability update
Xu, Dongxiao
dongxiao.xu at intel.com
Tue Jan 25 19:55:56 PST 2011
Xu, Dongxiao wrote:
> Tian, Kevin wrote:
>>> From: Tian, Kevin
>>> Sent: Wednesday, January 26, 2011 10:52 AM
>>>
>>>> From: Xu, Dongxiao
>>>> Sent: Wednesday, January 26, 2011 10:46 AM
>>>>
>>>> Richard Purdie wrote:
>>>>> We merged the features into master. I just want to highlight the
>>>>> status of the following issues:
>>>>>
>>>>> * pseudo problem causing failure of meta-toolchain and corruption
>>>>> of certain file permissions - fixed in master
>>>>>
>>>>> * the -live image issues some people and the autobuilder were
>>>>> seeing - fixed in master
>>>>>
>>>>> * the perf issue for linux-yocto-stable - fixed in master
>>>>>
>>>>> The following are know issues with master:
>>>>>
>>>>> * Using rm_work and switching machines to machines of the same
>>>>> "multimachine" architecture breaks.
>>>>
>>>> After sysroot is per machine, we may need to reserve the "image"
>>>> folder
>>> even
>>>> when rm_work, since for the second machine build,
>>>> do_populate_sysroot and do_package will be re-run to populate files
>>>> into a different sysroot folder.
>>>>
>>>>>
>>>>> * When switching machines of the same "multimachine" architecture
>>>>> (e.g. emenlow to atom-pc), some sstate packages are changing
>>>>> checksums when at first glance they shouldn't (e.g. perl
>>>>> do_install). A quick scan of my sstate directory:
>>>>
>>>> I also have a look at my local build sstate directories, there are
>>>> 17 packages whose prebuilt result could not shared betweeen atom-pc
>>>> and emenlow. Some of them may be not a problem since there are
>>>> ${MACHINE} variables used in do_install(), some others are strange
>>>> why do_install will have two different signatures between two
>>>> different machines.
>>>>
>>>> I will spend some time investigating it.
>>>>
>>>
>>> Note that checksum changes may not come from do_install itself,
>>> which including the hash from other tasks that do_install depends
>>> on. To capture the latter possibility, you can simply use "bitbake
>>> -S poky-image-minimal" which only generates .siginfo for all the
>>> tasks w/o actually running them. This way you can compare the
>>> difference between emenlow and atom-pc easily to see what actually
>>> change.
>>>
>>
>> After a quick check, I guess this is not a problem. for example
>> perl.do_configure changes checksum due to $MACHINE in dependency
>> variables as Dongxiao said. Once perl is not reusable, at least ~10
>> recieps (libzypp, libtool, rpm, ...) are not reusable too because
>> perl is in their task dependency chain.
>>
>> I didn't check all the differences yet, but overall feeling is that
>> this should be OK as Dongxiao mentioned there're several obvious
>> MACHINE related recipes. I'll leave to Dongxiao for final
>> confirmation. :-)
>>
>> Thanks
>> Kevin
>
> Thanks Kevin for the suggestion which can quickly track down the
> issue.
>
> Within my poky-image-sdk and meta-toolchain-sdk build, there are
> totally 17 recipes in core2-poky-linux folder whose prebuilt result
> could not be shared between two machine of one architecture.
>
> They are: connman, kexec-tools, libzypp, sat-solver, rpm, perl,
> matchbox-keyboard, matchbox-panel-2, netbase, pulseaudio, screenshot,
> task-poky-sdk, tslib, xf86-input-evdev, xf86-input-keyboard,
> xf86-input-mouse, zypper.
>
> I used bitbake-diffsig tool to dump the sigdata, and results are:
>
> Connman: its do_configure depends on hal's do_populate_sysroot, while
> hal is a recipe of machine specific.
> Pulseaudio: its do_configure depends on hal's do_populate_sysroot,
> while hal is a recipe of machine specific.
>
> Kexec-tools: its do_configure depends on linux-yocto-stable's
> do_populate_sysroot, which is a machine specific recipe.
>
> Perl: ${MACHINE} in do_configure.
> Rpm: its do_configure depends on perl's do_populate_sysroot.
> Sat-solver: its do_configure depends on rpm's do_populate_sysroot.
> Libzypp: its do_configure depends on sat-solver's do_populate_sysroot.
> Zypper: its do_configure depends on libzypp's do_populate_sysroot
>
> Matchbox-panel-2: its do_configure contains "${MACHINE_FEATURES}"
> Matchbox-keyboard: its do_configure depends on matchbox-panel-2's
> do_populate_sysroot.
> Screenshot: its do_configure depends on matchbox-panel-2's
> do_populate_sysroot
> Task-poky-sdk: depends on matchbox-panel-2
>
> Netbase: ${MACHINE} in do_install.
> Tslib: ${MACHINE} in do_install.
>
> Xf86-input-evdev, xf86-input-keyboard, and xf86-input-mouse:
> xorg-xserver dependency differences, which emenlow has its own
> xorg-xserver layer.
>
>
>
> Here are some dependency graph for those recipes:
>
> hal -------> | connman
> | pulseaudio
>
> linux-yocto-stable -------> kexec-tools perl ------> rpm ------>
> sat-solver ------> libzypp ------> zypper
> matchbox-panel-2 ------> | matchbox-keyboard
> | screenshot
> | task-poky-sdk netbase tslib
> xf86-input-evdev, xf86-input-keyboard, and xf86-input-mouse:
> xorg-xserver layer differences.
Re-draw the graph since outlook wrongly merges some lines together
hal -------> | connman.
| pulseaudio.
linux-yocto-stable -------> kexec-tools.
perl ------> rpm ------> sat-solver ------> libzypp ------> zypper.
matchbox-panel-2 ------> | matchbox-keyboard.
| screenshot.
| task-poky-sdk.
netbase.
tslib.
xf86-input-evdev, xf86-input-keyboard, and xf86-input-mouse: xorg-xserver layer differences.
Thanks,
Dongxiao
>
> Therefore I confirmed that the sstate prebuilt result change for the
> above 17 recipes are not a problem.
>
> Thanks,
> Dongxiao
>
>
>
>
>
> _______________________________________________
> poky mailing list
> poky at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/poky
More information about the poky
mailing list