Hi Paul
On 05/09/2013 12:00, Paul Eggleton wrote:
On Thursday 05 September 2013 11:45:26 JC wrote:
On 05/09/2013 11:32, Paul Eggleton wrote:
Unfortunately we have to have a fixed configuration for smart during
do_rootfs, so it has to be written to. I think though that rather than
trying to install a configuration file for smart using a separate recipe,
I would suggest modifying the smart configuration at the end of do_rootfs
to add the configuration elements you need. The way to do this would be
to define a shell function that you can add a call to in
ROOTFS_POSTPROCESS_COMMAND that will run smart:
add_extra_smart_config() {
smart --data-dir=${IMAGE_ROOTFS}/var/lib/smart channel --add rpmsys
type=rpm-sys -y>
}
ROOTFS_POSTPROCESS_COMMAND += "add_extra_smart_config; "
You can put the above in the image recipe itself or in a class that your
image recipe inherits.
Cheers,
Paul
Thanks, I'm going to try it !!
Assuming I don't want to create a new image (i still haven't exactly
figured how to do this in a clean way), where should I append this code ?
To be honest I always recommend people create their own image recipes
whatever they are doing since image recipes are usually trivial and
almost always need to be customised. The easiest way to do this is to
copy an existing image recipe and name it and modify it as you prefer.
How can I make it dependend on the "package-management" feature?
If "package-management" is not in IMAGE_FEATURES the smart config gets deleted
anyway so this will have no effect. However, if desired you can use an inline
python expression within the shell function to do things conditionally, e.g.
if ${@base_contains("IMAGE_FEATURES", "package-management", "true", "false",
d)}; then
...
fi
It's important to realise though that the evaluation of the inline
python happens when the expression is parsed, not when the shell
function it is executed; by the time the shell function executes the
expression will have been converted to its result.
This worked perfectly. Just a slight append : your need to "install -d"
the /var/lib/smartpm directory, otherwise it seems it's not created. Not
a big deal anyway
Thanks again !!
Jay
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto