[yocto] The simplest possible recipe
Sean Liming
sean.liming at annabooks.com
Tue Jun 25 08:38:54 PDT 2013
> -----Original Message-----
> From: yocto-bounces at yoctoproject.org [mailto:yocto-
> bounces at yoctoproject.org] On Behalf Of Paul D. DeRocco
> Sent: Monday, June 24, 2013 5:18 PM
> To: yocto at yoctoproject.org
> Subject: [yocto] The simplest possible recipe
>
> That would be to copy a single file, provided in the files subdirectory of
the
> recipe, into a particular place in the target tree. Is there any bbclass
that
> automates this? Or do I just write a recipe with a do_install function
that
> executes the "install" command?
>
> My only guide is 5.3.1 in the Development Manual, which performs a simple
> compilation, but I'm very hazy about how recipes are interpreted, so I'd
like it
> if someone can tell me if I've gotten the following stuff right or not.
>
> SRC_URI tells bitbake what files must be gotten from somewhere and copied
> somewhere else in order to carry out the build process. And according to
the
> Ref Manual, the "file://" prefix tells it to fetch a local file by
searching some
> directories including the "files" subdirectory next to the .bb file.
> And apparently, there is a "subdir" option (whose syntax is unexplained)
> which may be used to tell bitbake to put it somewhere specific relative to
> ${WORKDIR}.
>
> Is the default value of the "subdir" option the S variable? Is that the
purpose
> of S, to tell bitbake where to put things that it fetches? The Ref Manual
says
> that S defaults to ${WORKDIR}/${PN}/${PV}, but then the sample compile
> recipe sets S to ${WORKDIR}. Is that what one does when one doesn't need
> to have a bunch of versioned subdirectories under ${WORKDIR}? (I'm not
> sure why one would ever want that, or why that would be the default.)
>
> So if I want to install a file somewhere, do I even need a do_install
task, or
> can I just set S equal to the desired target location, like
"${etcdir}/foo" and be
> done with it? Or is that a no-no, and should I always use do_install?
>
> --
>
> Ciao, Paul D. DeRocco
> Paul mailto:pderocco at ix.netcom.com
>
>
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>From my book, I demonstrated two ways to create a receipt with and without
Autotools. Without Autotools:
DESCRIPTION = "Hello World C file recipe"
SECTION = "base"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM =
file://${WORKDIR}/COPYRIGHT;md5=349c872e0066155e1818b786938876a4"
PR = "r0"
SRC_URI = "file://helloyp.c \
file://COPYRIGHT \ "
do_compile () {
${CC} ${WORKDIR}/helloyp.c -o ${WORKDIR}/helloyp
}
do_install () {
install -d ${D}${bindir}
install -m 0755 ${WORKDIR}/helloyp ${D}${bindir}/
}
The following is the recipe is with autotools:
DESCRIPTION = "Hello World Application with Autotools"
SECTION = "examples"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM =
"file://${WORKDIR}/COPYING;md5=92bf9743cf0f1e6d9306478e118e432f"
PR = "r0"
SRC_URI = "file:///home/sean/workspace/helloyp-${PV}.tar.gz"
inherit autotools gettext
SRC_URI[md5sum] = "934bd36a4a3b1e7912fdff3ae764c7b6"
SRC_URI[sha256sum] =
"09810190e0cf9ebf141ad780b994fce8198098fbeca418ec51df59eb51747182"
The application was placed in the /usr/bin folder. From there it could be
moved or link to someplace else.
Regards,
Sean Liming
Owner
Tel: 714-970-7523 / Cell: 858-774-3176
More information about the yocto
mailing list