All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Tian, Kevin" <kevin.tian@intel.com>
To: Richard Purdie <richard.purdie@linuxfoundation.org>,
	"Xu, Dongxiao" <dongxiao.xu@intel.com>
Cc: poky <poky@yoctoproject.org>
Subject: Re: Master stability update
Date: Wed, 26 Jan 2011 18:31:00 +0800	[thread overview]
Message-ID: <625BA99ED14B2D499DC4E29D8138F1504DB5BB74EC@shsmsx502.ccr.corp.intel.com> (raw)
In-Reply-To: <1296036076.27814.2250.camel@rex>

> From: Richard Purdie [mailto:richard.purdie@linuxfoundation.org]
> Sent: Wednesday, January 26, 2011 6:01 PM
> 
> On Wed, 2011-01-26 at 11:52 +0800, 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.
> >
> 
> So for each of these we need to decide if rebuilding is a valid or
> invalid thing to do.
> 
> The one that jumps out at me is perl. Why does it need MACHINE in
> do_configure and is it really MACHINE dependent? If you look at the
> do_configure code, its a rather strange check against the "native"
> machine which we don't use/support. I'd argue that machine is error
> prone, problematic and replaced by our nativesdk code so I'm in favour
> of removing that check.
> 
> Some of the other items above are trickier. In some cases we should
> perhaps be marking them as machine specific, e.g. mb-panel-2 ? and maybe
> also whitelisting some dependencies if we're sure those items don't
> change if the dependency changes.
> 
> The nice thing is now that we can make something like mb-panel-2 machine
> specific and not have the whole world collapse as it would have done
> previously so we can start to benefit from this change! :)
> 

Yes, this at least proves that overall now we're in a good state with recent changes. :-)

Your suggestions are good, and we'll continue look into them to reduce the machine
specific bits as possible.

Thanks
Kevin

  reply	other threads:[~2011-01-26 10:31 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-25 22:07 Master stability update Richard Purdie
2011-01-26  2:45 ` Xu, Dongxiao
2011-01-26  2:52   ` Tian, Kevin
2011-01-26  3:05     ` Tian, Kevin
2011-01-26  3:51       ` Mark Hatle
2011-01-26 11:42         ` Richard Purdie
2011-01-26  3:52       ` Xu, Dongxiao
2011-01-26  3:55         ` Xu, Dongxiao
2011-01-26 10:01         ` Richard Purdie
2011-01-26 10:31           ` Tian, Kevin [this message]
2011-01-26  6:58 ` Saul Wold
2011-01-26  7:01   ` Xu, Dongxiao
2011-01-27 12:45 ` Koen Kooi
2011-01-27 15:06   ` Richard Purdie
2011-01-27 15:35     ` Koen Kooi
2011-01-27 17:01       ` Koen Kooi
2011-01-27 21:45       ` Richard Purdie
2011-01-27 23:33         ` Koen Kooi
2011-01-28  7:56         ` Koen Kooi
2011-01-28 16:59           ` Richard Purdie
2011-01-28 17:42             ` Koen Kooi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=625BA99ED14B2D499DC4E29D8138F1504DB5BB74EC@shsmsx502.ccr.corp.intel.com \
    --to=kevin.tian@intel.com \
    --cc=dongxiao.xu@intel.com \
    --cc=poky@yoctoproject.org \
    --cc=richard.purdie@linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.