From: JC <jc@vtkloud.com>
To: Paul Eggleton <paul.eggleton@linux.intel.com>
Cc: yocto@yoctoproject.org
Subject: Re: adding specific config files
Date: Thu, 05 Sep 2013 11:45:26 +0200 [thread overview]
Message-ID: <522852B6.5010309@vtkloud.com> (raw)
In-Reply-To: <196913219.mMcczBtVSS@helios>
On 05/09/2013 11:32, Paul Eggleton wrote:
> Hi Jay,
>
> On Wednesday 04 September 2013 22:10:10 JC wrote:
>> On 04/09/2013 21:58, JC wrote:
>>> On 04/09/2013 20:58, JC wrote:
>>>> Hi,
>>>>
>>>> In my project, we have our own rpm repository and we use smartpm on
>>>> the target.
>>>> In order to have the target setup with the repo out of the box, we of
>>>> course have added "package-management" in IMAGE_FEATURES. Now I'd
>>>> like the target to have our repo address already configured.
>>>>
>>>> The best way I found was to create a recipe in my overlay and hacking
>>>> the system a little bit this way :
>>>> do_install() {
>>>>
>>>> if
>>>>
>>>> ${@base_contains('IMAGE_FEATURES','package-management','true','false',d)}
>>>> ;
>>>> then
>>>>
>>>> install -d ${D}/${sysconfdir}
>>>> install -m 644 ${WORKDIR}/config.in ${D}/var/lib/smart/config
>>>>
>>>> fi
>>>>
>>>> }
>>>>
>>>> where "config.in" is a simple copy of the non-human readable version
>>>> of smartpm config file, generated manually on the target.
>>>>
>>>> I was wondering if there would be a better way such as do not test in
>>>> the do_install, but rather make the recipe dependent on the
>>>> "package-management" image feature ? (so that do_install wouldn't
>>>> even be considered if the option is not set), or any other smarter idea.
>>> Actually I _need_ a better idea because mine doesn't work: it actually
>>> creates what I want (/var/lib/smart/config) but since do_rootfs also
>>> uses this directory to install packages, it wipes it out at the end of
>>> the process... so my installation is removed :(
>>>
>>> I'm sure someone else did something like this (but succeeded) ?
>> The guilty line is in /sources/poky/meta/classes/rootfs_rpm.bbclass
>>
>> 145: rm -rf ${IMAGE_ROOTFS}/var/lib/smart
>>
>> :(
>>
>> Whatever I want to do with packages, It'll be removed. There's probably
>> an alternate way :(
> 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 ?
How can I make it dependend on the "package-management" feature?
Thanks again,
Jay
next prev parent reply other threads:[~2013-09-05 9:45 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-04 18:58 adding specific config files JC
2013-09-04 19:58 ` JC
2013-09-04 20:10 ` JC
2013-09-05 9:32 ` Paul Eggleton
2013-09-05 9:45 ` JC [this message]
2013-09-05 10:00 ` Paul Eggleton
2013-09-05 10:05 ` JC
2013-09-05 13:09 ` (solved) " JC
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=522852B6.5010309@vtkloud.com \
--to=jc@vtkloud.com \
--cc=paul.eggleton@linux.intel.com \
--cc=yocto@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.