[yocto] adding specific config files

JC jc at vtkloud.com
Wed Sep 4 13:10:10 PDT 2013


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 :(

Jay



More information about the yocto mailing list