From: Denys Dmytriyenko <denis@denix.org>
To: Martin Jansa <martin.jansa@gmail.com>
Cc: philb@gnu.org, Kang Kai <Kai.Kang@windriver.com>,
bitbake-devel@lists.openembedded.org
Subject: Re: How to identify WORKDIR?
Date: Mon, 19 Mar 2012 16:32:13 -0400 [thread overview]
Message-ID: <20120319203213.GC15554@denix.org> (raw)
In-Reply-To: <20120316064152.GA3855@jama.jama.net>
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@lists.openembedded.org
> > > > >>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/bitbake-devel
> > > > >>
> > > > >> _______________________________________________
> > > > >> bitbake-devel mailing list
> > > > >> bitbake-devel@lists.openembedded.org
> > > > >> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/bitbake-devel
> > > >
> > >
> > > --
> > > Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
> >
> >
> >
> > > _______________________________________________
> > > bitbake-devel mailing list
> > > bitbake-devel@lists.openembedded.org
> > > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/bitbake-devel
> >
>
> --
> Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
next prev parent reply other threads:[~2012-03-19 21:41 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-14 9:01 How to identify WORKDIR? Kang Kai
2012-03-14 9:42 ` Richard Purdie
2012-03-15 6:55 ` Kang Kai
2012-03-15 7:40 ` Kang Kai
2012-03-15 8:03 ` Martin Jansa
2012-03-15 9:09 ` Kang Kai
2012-03-15 9:21 ` Martin Jansa
2012-03-15 9:34 ` Kang Kai
2012-03-15 18:18 ` Denys Dmytriyenko
2012-03-16 6:41 ` Martin Jansa
2012-03-19 20:32 ` Denys Dmytriyenko [this message]
2012-03-19 21:37 ` Christopher Larson
2012-03-19 21:51 ` Denys Dmytriyenko
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=20120319203213.GC15554@denix.org \
--to=denis@denix.org \
--cc=Kai.Kang@windriver.com \
--cc=bitbake-devel@lists.openembedded.org \
--cc=martin.jansa@gmail.com \
--cc=philb@gnu.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox