[bitbake-devel] How to identify WORKDIR?

Denys Dmytriyenko denis at denix.org
Mon Mar 19 20:32:13 UTC 2012


On Fri, Mar 16, 2012 at 07:41:52AM +0100, Martin Jansa wrote:
> On Thu, Mar 15, 2012 at 02:18:44PM -0400, Denys Dmytriyenko wrote:
> > On Thu, Mar 15, 2012 at 10:21:22AM +0100, Martin Jansa wrote:
> > > On Thu, Mar 15, 2012 at 05:09:36PM +0800, Kang Kai wrote:
> > > > On 2012???03???15??? 16:03, Martin Jansa wrote:
> > > > > On Thu, Mar 15, 2012 at 03:40:04PM +0800, Kang Kai wrote:
> > > > >> On 2012???03???15??? 14:55, Kang Kai wrote:
> > > > >>> On 2012???03???14??? 17:42, Richard Purdie wrote:
> > > > >>>> On Wed, 2012-03-14 at 17:01 +0800, Kang Kai wrote:
> > > > >>>>> Hi All,
> > > > >>>>>
> > > > >>>>> I write a script to clean up WORKDIR that remove the obsoleted
> > > > >>>>> packages' build directories.
> > > > >>>>> The script accept a argument as BUILDDIR and I use this clause to
> > > > >>>>> identify the WORKDIR:
> > > > >>>>>
> > > > >>>>>        workdir = os.path.join(builddir, 'tmp/work')
> > > > >>>>>
> > > > >>>>> Then validate the workdir exists or not. It works for me but hardcode
> > > > >>>>> here as Richard point out.
> > > > >>>>> So is there  a better way to get the WORKDIR here? Thanks.
> > > > >>>> I was thinking of something like:
> > > > >>>>
> > > > >>>> bitbake -e | grep ^WORKDIR
> > > > >> And the result is something like that:
> > > > >> WORKDIR="/mnt/sda10/poky-all-platform/build-qemux86_64/tmp/work/x86_64-poky-linux/bblayers-1.0-r0"
> > > > >>
> > > > >> Is it ok to remove 2 items seperated by slash at the end of string?
> > > > >> Right now is:
> > > > >> "/mnt/sda10/poky-all-platform/build-qemux86_64/tmp/work/"
> > > > > Aren't you looking for ^TMPDIR ?
> > > > 
> > > > If use WORKDIR = TMPDIR/"work", it is still hard coding.
> > > 
> > > Assuming 2 items at the end won't work for people using rm_old_work:
> > > http://git.openembedded.org/meta-micro/commit/?id=fcf525654915edb9650f1a6c2852f336366f8b2f
> > > or slightly different version:
> > > http://git.shr-project.org/git/?p=meta-smartphone.git;a=blob;f=meta-shr/classes/rm_old_work.bbclass
> > 
> > Martin,
> > 
> > Can you please point me to more details about this class - any background or 
> > discussions... Thanks.
> 
> Hi,
> 
> Well it works better then rm_work with sstate and the original class is
> from meta-micro (so maybe ask pb if you want more details, but the class
> is quite simple). I've just replaced last directory name because of this
> issue:
> 
> http://git.shr-project.org/git/?p=meta-smartphone.git;a=commit;h=0d4c17de1ba7343d82bb10c311754e29d573c485

Martin,

Hmm, my understanding those are slightly different classes - rm_work cleans 
WORKDIR after the build to save space, while this rm_old_work seems to clean 
up before the build. I tried searching for any previous discussions of this 
class or any other rationale, but even the commit itself doesn't provide much 
explanation for it...

Phil,

Do you mind giving a short description of this peculiar rm_old_work class? :) 
Thanks.

-- 
Denys


> > > And I think more people have different "tmp/" part e.g. default would be
> > > "tmp-eglibc/" (thanks to TCLIBCAPPEND
> > > meta/conf/distro/defaultsetup.conf:TMPDIR .= "${TCLIBCAPPEND}"), but "work" is 
> > > quite common.
> > > 
> > > meta/conf/bitbake.conf:
> > > WORKDIR = "${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PF}"
> > > meta-shr/classes/rm_old_work.bbclass:
> > > WORKDIR = "${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PN}/${PF}"
> > > meta-micro/classes/rm_old_work.bbclass:
> > > WORKDIR = "${TMPDIR}/work/${MULTIMACH_TARGET_SYS}/${PN}/${EXTENDPE}${PV}-${PR}"
> > > 
> > > Cheers,
> > > 
> > > > 
> > > > >> Regards,
> > > > >> Kai
> > > > >>
> > > > >>> If get WORKDIR in this way, I'll update the script with no argument
> > > > >>> because the argument is useless to identify the WORKDIR.
> > > > >>>
> > > > >>> Regards,
> > > > >>> Kai
> > > > >>>> since you already call into bitbake in the script in question.
> > > > >>>>
> > > > >>>> Cheers,
> > > > >>>>
> > > > >>>> Richard
> > > > >>>>
> > > > >>>>
> > > > >>>
> > > > >>> _______________________________________________
> > > > >>> bitbake-devel mailing list
> > > > >>> bitbake-devel at lists.openembedded.org
> > > > >>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/bitbake-devel
> > > > >>
> > > > >> _______________________________________________
> > > > >> bitbake-devel mailing list
> > > > >> bitbake-devel at lists.openembedded.org
> > > > >> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/bitbake-devel
> > > > 
> > > 
> > > -- 
> > > Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
> > 
> > 
> > 
> > > _______________________________________________
> > > bitbake-devel mailing list
> > > bitbake-devel at lists.openembedded.org
> > > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/bitbake-devel
> > 
> 
> -- 
> Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com






More information about the bitbake-devel mailing list