[meta-intel] [PATCH 21/31] machinesetuptool: a new recipe for setup of a machine
Tom Zanussi
tom.zanussi at intel.com
Mon Sep 22 06:48:11 PDT 2014
On Fri, 2014-09-19 at 17:35 -0700, Darren Hart wrote:
> On Thu, Sep 18, 2014 at 05:35:41PM -0700, nitin.a.kamble at intel.com wrote:
> > From: Nitin A Kamble <nitin.a.kamble at intel.com>
> >
> > This recipe adds ability to setup a BSP image for a specific machine or
> > platform at the boot time. The base recipe does not provide any machine
> > configuration files, and the required machine configuration files are
> > to be provided in the BSP layers.
> >
> > This recipe is currently split in 2 files for ease of future migration of
> > the base recipe to the oecore layer.
> >
> > Signed-off-by: Nitin A Kamble <nitin.a.kamble at intel.com>
> > ---
> > .../machinesetuptool/machinesetuptool_git.bb | 49 ++++++++++++++++++++++
> > 1 file changed, 49 insertions(+)
> > create mode 100644 common/recipes-bsp/machinesetuptool/machinesetuptool_git.bb
> >
> > diff --git a/common/recipes-bsp/machinesetuptool/machinesetuptool_git.bb b/common/recipes-bsp/machinesetuptool/machinesetuptool_git.bb
> > new file mode 100644
> > index 0000000..0dfe242
> > --- /dev/null
> > +++ b/common/recipes-bsp/machinesetuptool/machinesetuptool_git.bb
> > @@ -0,0 +1,49 @@
> > +SUMMARY = "Daemon to setup an image for a specific machine at boot time."
> > +SECTION = "base"
> > +LICENSE = "GPLv3"
> > +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
> > +RDEPENDS_${PN} = "sysvinit sed"
> > +
> > +PV = "1.0+git${SRCPV}"
> > +
> > +SRCREV = "4cb28ca5de3385f6e16a1e3f69b1a8a79b75ace4"
> > +
> > +SRC_URI = "git://git.yoctoproject.org/machinesetuptool.git"
> > +
> > +S = "${WORKDIR}/git"
> > +
> > +PACKAGE_ARCH = "${MACHINE_ARCH}"
> > +
> > +inherit autotools pkgconfig update-rc.d
> > +
> > +INITSCRIPT_NAME = "machinesetuptool"
> > +INITSCRIPT_PARAMS = "start 00 S . stop 20 0 1 6 ."
>
> Are these deliberate, or possibly copied from something else?
>
> > +
> > +RRECOMMENDS_${PN} += "kernel-module-uinput"
> > +
>
> Why does the machinesetuptool recommend a specific kernel module?
>
> > +python __anonymous () {
> > + src_uri = d.getVar('SRC_URI', True)
> > + machine_config_files = (d.getVar('MACHINE_CONFIG_FILES', True) or "")
> > + for file in machine_config_files.split():
> > + src_uri += " file://" + file
> > + d.setVar('SRC_URI', src_uri)
> > +}
>
> Hrm, does this dynamic SRC_URI creation play nice with all the bitbake hashing
> of recipes and such?
>
> > +
> > +do_install_append() {
> > + {
> > + echo SUPPORTED_MACHINES=\"${SUPPORTED_MACHINES}\"
> > + echo DEFAULT_MACHINE_SELECTION=${DEFAULT_MACHINE_SELECTION}
>
> One quoted, one not.. should probably be consistent...
>
> > + } > ${D}/${sysconfdir}/${BPN}/defaults
>
> I'd suggest a HERE document here.
>
> http://tldp.org/LDP/abs/html/here-docs.html
>
> (cat << EOF
> SUPPORTED_MACHINE="${SUPPORTED_MACHINES"
> DEFAULT_MACHINE_SELECTION="${DEFAULT_MACHINE_SELECTION}"
> EOF
> ) > ${D}/${sysconfdir}/${BPN}/defaults
>
> Tested with bash and dash
>
> > +
> > + for file in ${MACHINE_CONFIG_FILES}
> > + do
> > + install -m 0644 ${S}/../${file} ${D}/${sysconfdir}/${BPN}/config/
> > + done
> > +}
> > +
> > +# following variables are initialized to empty values now.
> > +# These need to be populated with the desired machine configurations
> > +# for each BSP in it's own layer.
> > +MACHINE_CONFIG_FILES = ""
> > +SUPPORTED_MACHINES = ""
> > +DEFAULT_MACHINE_SELECTION = "none"
>
> I'd move these above where they are used, and I'd assign them with ?= instead of
> =.
>
> Before including this feature, I would also like to review the machinesetuptool
> itself.
>
And for that matter, why is it in a separate repo at all? It doesn't
have any use outside of oe-core, correct? Why not move it
into /scripts?
Tom
> --
> Darren Hart
> Intel Open Source Technology Center
More information about the meta-intel
mailing list