[bitbake-devel] How to identify WORKDIR?
Denys Dmytriyenko
denis at denix.org
Mon Mar 19 21:51:53 UTC 2012
On Mon, Mar 19, 2012 at 02:37:42PM -0700, Christopher Larson wrote:
> 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.
Correct, that's my understanding as well. But it's not meant to replace
rm_work, as it can't save space the same way during the build - by the time
your build is done, you are using 100% of what WORKDIR would have been w/o
this class in the case of a clean build . It prevents the size to grow beyond
that point though...
I was just trying to clarify this statement, suggesting they both serve the
same purpose:
> Well it works better then rm_work with sstate
--
Denys
> 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
> >
> >
>
>
More information about the bitbake-devel
mailing list