From: Mike Looijmans <mike.looijmans@topic.nl>
To: <openembedded-core@lists.openembedded.org>
Subject: [RFC] Adding machine-specific default packages to an image
Date: Wed, 7 Oct 2015 15:05:07 +0200 [thread overview]
Message-ID: <56151883.7000304@topic.nl> (raw)
Since our boards needs 'some' bitstream in the FPGA to become somewhat useful,
in the machine.conf I say:
MACHINE_FPGA_BITSTREAM ?= "fpga-image-miami-florida-gen-reference"
MACHINE_EXTRA_RRECOMMENDS = "${MACHINE_FPGA_BITSTREAM} ..."
This puts that into the packagegroup-base-machine RDEPENDS and hence it gets
installed on the board if you don't specify anything else.
However, I want to be able to pick alternative FPGA bitstream providers in the
image recipe. Without having to define a new machine for each and every project...
Currently, I do this by forcing packagegroup-base-machine and
packagegroup-base-distro out of the IMAGE_INSTALL list (for some obscure
reason, building packagegroup-base-distro also results in building the
reference bitstream) and then add MACHINE_EXTRA_RRECOMMENDS directly to the
IMAGE_INSTALL list, so I can set MACHINE_FPGA_BITSTREAM to whichever I'd like
to have in this image.
I was lookign for a way to have the machine configuration inject its packages
into the IMAGE_INSTALL (or similar) list, so it can easily be overridden in an
image recipe.
Bluntly putting IMAGE_INSTALL+="${MACHINE_FPGA_BITSTREAM}" into the
machine.conf might work, but doesn't "feel" quite right. But there's
apparently no other way to do this.
An alternative would be to introduce an IMAGE_INSTALL_MACHINE variable that
gets added to the PACKAGE_INSTALL variable in image.bbclass. That would allow
machines to inject their desirables into the image instead. It's a simple
patch, I've pasted it below:
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 86a98bb..90c1c05 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -64,7 +64,8 @@ def check_image_features(d):
IMAGE_INSTALL ?= ""
IMAGE_INSTALL[type] = "list"
-export PACKAGE_INSTALL ?= "${IMAGE_INSTALL} ${ROOTFS_BOOTSTRAP_INSTALL}
${FEATURE_INSTALL}"
+IMAGE_INSTALL_MACHINE ?= ""
+export PACKAGE_INSTALL ?= "${IMAGE_INSTALL} ${ROOTFS_BOOTSTRAP_INSTALL}
${FEATURE_INSTALL} ${IMAGE_IN
PACKAGE_INSTALL_ATTEMPTONLY ?= "${FEATURE_INSTALL_OPTIONAL}"
# Images are generally built explicitly, do not need to be part of world.
Kind regards,
Mike Looijmans
System Expert
TOPIC Embedded Products
Eindhovenseweg 32-C, NL-5683 KH Best
Postbus 440, NL-5680 AK Best
Telefoon: +31 (0) 499 33 69 79
Telefax: +31 (0) 499 33 69 70
E-mail: mike.looijmans@topicproducts.com
Website: www.topicproducts.com
Please consider the environment before printing this e-mail
next reply other threads:[~2015-10-07 13:05 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-07 13:05 Mike Looijmans [this message]
2015-10-08 1:46 ` [RFC] Adding machine-specific default packages to an image Khem Raj
2015-10-08 5:29 ` Mike Looijmans
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=56151883.7000304@topic.nl \
--to=mike.looijmans@topic.nl \
--cc=openembedded-core@lists.openembedded.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.