From: Darren Hart <dvhart@linux.intel.com>
To: "poky@yoctoproject.org" <poky@yoctoproject.org>
Subject: MACHINE_EXTRA_RRECOMMENDS not working?
Date: Fri, 11 Mar 2011 20:31:45 -0800 [thread overview]
Message-ID: <4D7AF731.30508@linux.intel.com> (raw)
I'm working to get a certain package installed for a specific machine.
In particular, I wrote a simple init.d script called n450-audio which
sets the mixer for the n450 dev board to unmute the FRONT channel and
set the volume to 70% or so - as it is muted if left untouched. For now,
I just want to make this board work, so I want to make this package get
installed if it's dependencies are met (if amixer is installed).
As I understand it, the best way to do this is with something like the
following in the machine/n450.conf file:
MACHINE_EXTRA_RRECOMMENDS += " n450-audio "
And that recipe in turn defines:
RDEPENDS = "alsa-utils-amixer"
I then:
$ bitbake -c cleanall task-base poky-image-sato-live n450-audio
followed by:
$ bitbake poky-image-sato-live
The n450-audio recipe is built, but it does not appear in the generated
image (nor in the ext3 image).
I checked the dependency chain and task-base does depend on n450-audio:
$ bitbake -g -u depexp poky-image-sato-live
I then tried using the following variables in place of
MACHINE_EXTRA_RRECOMMENDS with the same result:
MACHINE_EXTRA_RDEPENDS
MACHINE_ESSENTIAL_RRECOMMENDS
MACHINE_ESSENTIAL_RDEPENDS
Finally, I added the following to my local.conf and the image built as
expected:
POKY_EXTRA_INSTALL = " n450-audio "
Am I completely off in the weeds here? If this isn't what these
directives are for - what are they for?
I took a look at what they are used for elsewhere and found:
$ cat ~/.bashrc | grep bb
alias bb='bitbake'
alias bbdeps='bitbake -g -u depexp'
dvhart@rage:poky.git$ git grep MACHINE_EXTRA_RRECOMMENDS
documentation/poky-ref-manual/ref-variables.xml: <glossentry id='var-MACHINE_EXTRA_RRECOMMENDS'><glossterm>MACHINE_
documentation/poky-ref-manual/ref-varlocality.xml: <para><glossterm linkend='var-MACHINE_EXTRA_RRECOMMENDS'>
meta/conf/bitbake.conf:MACHINE_EXTRA_RRECOMMENDS ?= ""
meta/conf/machine/atom-pc.conf:MACHINE_EXTRA_RRECOMMENDS = "kernel-modules eee-acpi-scripts"
meta/conf/machine/beagleboard.conf:MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
meta/conf/machine/qemumips.conf:MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
meta/conf/machine/routerstationpro.conf:MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
meta/recipes-core/tasks/task-base.bb:RRECOMMENDS_task-machine-base = "${MACHINE_EXTRA_RRECOMMENDS}"
Only two other recipes are referenced with these variables:
kernel-modules and eee-acpi-scripts. I had an atom-pc build so I mounted
the rootfs and dug around - not a trace of the eee-acpi-scripts to found
anywhere. I checked for modules under
/lib/modules/2.6.34.7-yocto-standard/ and found several *.*map files,
but nothing else (certainly no *.ko files). So this mechanism certainly
doesn't do what I thought it did.
Is it supposed to? If not, what does it do. It does cause the package
listed to be built, perhaps that is it's only purpose? The user can
install the package manually if they want it?
And, more to the point, if this isn't the right mechanism to cause a
package to be added (if deps are met) to any image for a specific
machine, what is?
If you want to see the branch in question, it's here:
http://git.pokylinux.org/cgit/cgit.cgi/meta-intel/log/?h=dvhart/n450-audio
(Yes, the init script is terrible - working on that.)
Thanks,
--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
next reply other threads:[~2011-03-12 4:31 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-12 4:31 Darren Hart [this message]
2011-03-12 4:40 ` MACHINE_EXTRA_RRECOMMENDS not working? Gary Thomas
2011-03-12 5:06 ` Darren Hart
[not found] ` <83D5A5C2-F470-425F-84BE-F726CD652759@beagleboard.org>
2011-03-12 7:45 ` Darren Hart
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=4D7AF731.30508@linux.intel.com \
--to=dvhart@linux.intel.com \
--cc=poky@yoctoproject.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.