From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ie0-f176.google.com (mail-ie0-f176.google.com [209.85.223.176]) by yocto-www.yoctoproject.org (Postfix) with ESMTP id 97F0DE0027E for ; Wed, 10 Oct 2012 08:56:50 -0700 (PDT) Received: by mail-ie0-f176.google.com with SMTP id k11so1314873iea.35 for ; Wed, 10 Oct 2012 08:56:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=nbdn6BjofWAhWqpKnjPZJ+chbhmACrCu7dLGck98z6w=; b=F4E2tTEYActjsiValolYAuKuKwkKdQ7zJ9aPO0alu6IN8rZakEFbtbx/yHE1ID8x0q Jm0FUJzLPhcqSkZ3ra3QNNPjcoZFT1qfAb1zSe29oDxVpDAel1JwzftbtXtO1BN2utKq JOrcA/5Dg4jgxj+4h5jveOx/ShhBWjZQPhlrseXet8GG1uhVER0bmCUvlQKSleQapLei 3tdGUFq8U17QwcZkTNTlqSj0QLGzo5xigH+meEsytdpHT49j1fAeAhiOAvQDnXRDdkZJ 8Om8oWb5jQ9yEiOxN+kzcIyJZg4y6pDn5Kq6QTKNpbr81RCeyMaaFNtuszBQRb0WitN+ aQyw== MIME-Version: 1.0 Received: by 10.42.48.136 with SMTP id s8mr19209624icf.33.1349884610233; Wed, 10 Oct 2012 08:56:50 -0700 (PDT) Received: by 10.42.179.68 with HTTP; Wed, 10 Oct 2012 08:56:50 -0700 (PDT) In-Reply-To: References: <6796989A-D845-4726-B47B-64B82F380444@gamestop.com> <1A527469-CEF5-434E-8604-540899C8BA04@gamestop.com> Date: Wed, 10 Oct 2012 11:56:50 -0400 Message-ID: From: Evade Flow To: Patrick Turley Cc: "yocto@yoctoproject.org" Subject: Re: The BitBake equivalent of "Hello, World!" X-BeenThere: yocto@yoctoproject.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Discussion of all things Yocto List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Oct 2012 15:56:50 -0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable It helps a lot if you run it from the build dir. :-% build% ../../bitbake/bin/bitbake a Parsing recipes: 100% |##########################################################################= #######| Time: 00:00:00 Parsing of 1 .bb files complete (0 cached, 1 parsed). 1 targets, 0 skipped, 0 masked, 0 errors. NOTE: Resolving any missing task queue dependencies NOTE: Preparing runqueue NOTE: Executing RunQueue Tasks NOTE: Running task 1 of 1 (ID: 0, /home/evadeflow/projects/bitbake_hello/LayerA/a.bb, do_build) NOTE: package None: task do_build: Started Hello, World! NOTE: package None: task do_build: Succeeded NOTE: Tasks Summary: Attempted 1 tasks of which 0 didn't need to be rerun and all succeeded. Thanks again! On Wed, Oct 10, 2012 at 11:45 AM, Evade Flow wrote: > Again, thanks *so* much for putting this together. I tried to do this > once before and didn't have the tenacity to stick with it--it is a > surprisingly daunting task. Having a smallest-possible example will, I > think, be really helpful to developers who want to learn how to debug > bitbake and contribute fixes. > > Interestingly, I tried running this and got the following result: > > bitbake_hello% ../bitbake-1.15.2/bin/bitbake a > The BBPATH variable is not set > DEBUG: Removed the following variables from the environment: > http_proxy, CVS_RSH, > SHLVL, LD_LIBRARY_PATH, EDITOR, SUDO_USER, USERNAME, PROMPT, > PYTHONPATH, SUDO_UID, > RPROMPT, SUDO_COMMAND, SUDO_GID, OLDPWD, MAIL > > > I guess I either fat-fingered something during cut-and-paste, or it's > due to some difference between the tarball I downloaded and the bitbake > tag you were using. I'm behind a firewall, but I'll see if I can suck > down the the actual git repo through my phone and see if that makes a > difference. > > On Tue, Oct 9, 2012 at 6:31 PM, Patrick Turley > wrote: >> Success. The file tree depicted at the bottom of this mail is nearly the >> smallest, valid BitBake project that prints "Hello, World!" Here's the >> output: >> >> >> $ ../BitBake/bin/bitbake a >> Parsing recipes: 100% >> |#############################################################| Time: >> 00:00:00 >> Parsing of 1 .bb files complete (0 cached, 1 parsed). 1 targets, 0 >> skipped, 0 masked, 0 errors. >> NOTE: Resolving any missing task queue dependencies >> NOTE: Preparing runqueue >> NOTE: Executing RunQueue Tasks >> NOTE: Running task 1 of 1 (ID: 0, >> /home/pturley/Workspace/Hello/LayerA/a.bb, do_build) >> NOTE: package None: task do_build: Started >> Hello, World! >> NOTE: package None: task do_build: Succeeded >> NOTE: Tasks Summary: Attempted 1 tasks of which 0 didn't need to be >> rerun and all succeeded. >> >> >> A few things to note: >> >> 1) This is not the *smallest* such BitBake project. For example, the >> "DESCRIPTION" and "PV" variables need not be assigned in "a.bb". I set t= hose >> variables because I wanted "show-layers" and "show-recipes" to display >> reasonable information. >> >> 2) Some of the variables set in "bitbake.conf" have "simplified" values.= For >> example, you would *not* want to use these values if there were multiple >> recipes and you had to disambiguate the output from each of them. >> >> 3) On the other hand, *all* the variable assignments in "bitbake.conf" a= re >> *essential* to BitBake itself. If you remove any one of those assignment= s, >> BitBake will either declare an error or die (usually because some intern= al >> variable is set to "None" and the BitBake code can't handle it). >> >> >> ------------------------------------------------------------ >> >> >> =E2=94=9C=E2=94=80=E2=94=80 build >> =E2=94=82 =E2=94=82 >> =E2=94=82 =E2=94=9C=E2=94=80=E2=94=80 classes >> =E2=94=82 =E2=94=82 =E2=94=82 >> =E2=94=82 =E2=94=82 =E2=94=94=E2=94=80=E2=94=80 base.bbclass >> =E2=94=82 =E2=94=82 >> =E2=94=82 =E2=94=82 +-------------------------------------------= ---- >> =E2=94=82 =E2=94=82 | addtask build >> =E2=94=82 =E2=94=82 +-------------------------------------------= ---- >> =E2=94=82 =E2=94=82 >> =E2=94=82 =E2=94=94=E2=94=80=E2=94=80 conf >> =E2=94=82 =E2=94=82 >> =E2=94=82 =E2=94=9C=E2=94=80=E2=94=80 bblayers.conf >> =E2=94=82 =E2=94=82 >> =E2=94=82 =E2=94=82 +-------------------------------------------= ---- >> =E2=94=82 =E2=94=82 | BBLAYERS ?=3D " \ >> =E2=94=82 =E2=94=82 | /home/pturley/Workspace/Hello/LayerA \ >> =E2=94=82 =E2=94=82 | " >> =E2=94=82 =E2=94=82 +-------------------------------------------= ---- >> =E2=94=82 =E2=94=82 >> =E2=94=82 =E2=94=94=E2=94=80=E2=94=80 bitbake.conf >> =E2=94=82 >> =E2=94=82 +----------------------------------------------- >> =E2=94=82 | TMPDIR =3D "${TOPDIR}/tmp" >> =E2=94=82 | CACHE =3D "${TMPDIR}/cache" >> =E2=94=82 | STAMP =3D "${TMPDIR}/stamps" >> =E2=94=82 | T =3D "${TMPDIR}/work" >> =E2=94=82 | B =3D "${TMPDIR}" >> =E2=94=82 +----------------------------------------------- >> =E2=94=82 >> =E2=94=9C=E2=94=80=E2=94=80 LayerA >> =E2=94=82 =E2=94=82 >> =E2=94=82 =E2=94=9C=E2=94=80=E2=94=80 a.bb >> =E2=94=82 =E2=94=82 >> =E2=94=82 =E2=94=82 +-------------------------------------------= ---- >> =E2=94=82 =E2=94=82 | DESCRIPTION =3D "Layer A Recipe" >> =E2=94=82 =E2=94=82 | PN =3D 'a' >> =E2=94=82 =E2=94=82 | PV =3D '1' >> =E2=94=82 =E2=94=82 | >> =E2=94=82 =E2=94=82 | python do_build() { >> =E2=94=82 =E2=94=82 | bb.plain("Hello, World!"); >> =E2=94=82 =E2=94=82 | } >> =E2=94=82 =E2=94=82 +-------------------------------------------= ---- >> =E2=94=82 =E2=94=82 >> =E2=94=82 =E2=94=94=E2=94=80=E2=94=80 conf >> =E2=94=82 =E2=94=82 >> =E2=94=82 =E2=94=94=E2=94=80=E2=94=80 layer.conf >> =E2=94=82 >> =E2=94=82 +----------------------------------------------- >> =E2=94=82 | BBPATH .=3D ":${LAYERDIR}" >> =E2=94=82 | >> =E2=94=82 | BBFILES +=3D "${LAYERDIR}/*.bb" >> =E2=94=82 | >> =E2=94=82 | BBFILE_COLLECTIONS +=3D "A" >> =E2=94=82 | BBFILE_PATTERN_A :=3D "^${LAYERDIR}/" >> =E2=94=82 +----------------------------------------------- >> =E2=94=82 >> =E2=94=94=E2=94=80=E2=94=80 BitBake >> >> The BitBake directory origin is: >> >> http://git.openembedded.org/bitbake/ >> >> I have the 1.15.2 tag checked out, which is what >> Yocto denzil uses. >> >> >> _______________________________________________ >> yocto mailing list >> yocto@yoctoproject.org >> https://lists.yoctoproject.org/listinfo/yocto >>