[bitbake-devel] How to identify WORKDIR?

Christopher Larson kergoth at gmail.com
Mon Mar 19 21:37:42 UTC 2012


rm_old_work seems to do exactly what it sounds like. It removes *old* workdirs from previous versions of the recipe to keep it from bloating without bound if you retain the same tmpdir.

-- 
Christopher Larson


On Monday, March 19, 2012 at 1:32 PM, Denys Dmytriyenko wrote:

> 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 (mailto: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 (mailto: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 (mailto:Martin.Jansa at gmail.com)
> > > > 
> > > 
> > > 
> > > 
> > > 
> > > > _______________________________________________
> > > > bitbake-devel mailing list
> > > > bitbake-devel at lists.openembedded.org (mailto: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 (mailto:Martin.Jansa at gmail.com)
> > 
> 
> 
> 
> 
> _______________________________________________
> bitbake-devel mailing list
> bitbake-devel at lists.openembedded.org (mailto:bitbake-devel at lists.openembedded.org)
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/bitbake-devel
> 
> 


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/bitbake-devel/attachments/20120319/737f32b8/attachment-0001.html>


More information about the bitbake-devel mailing list