[oe] [oe-core] Prefix in rpms packages

Giuseppe Condorelli giuseppe.condorelli at gmail.com
Tue May 8 14:20:32 UTC 2012


Many many thanks for clarification, Mark!

2012/5/8 Mark Hatle <mark.hatle at windriver.com>

> On 5/8/12 3:02 AM, Giuseppe Condorelli wrote:
>
>> Hi Mark, All,
>> thanks for your reply.
>> What I need is to manually install target rpms locating them in my own
>> directory.
>> With no relocation available I should install them starting from / and
>> this
>> is not good if I need to install on host.
>> What I need (in other words) is the possibility to set Prefix during spec
>> file creation to have a relocation.
>> Am I wrong?
>>
>
> You should not be installing target RPMs onto your host system directly.
>  This will contaminate your host RPM database and produce a system with
> invalid entries, causing programs like yum, smart or zypper to fail when
> attempting to update.
>
> When you install target packages into your host environment for
> development you should be using a chroot and with the RPM database located
> within that chroot. This is how the build system does it, and really is the
> only safe way to do the install.  (If you need the update-alternatives and
> other pre/post-install scriptlets to run.. then this requires even more
> advanced knowledge..)
>
> (I'm going to assume you don't need the scriptlets to run...) As your
> regular non-privileged user id, you can run pseudo to enable root-like fake
> chroot and other privileged operations..  and then inside of the pseudo
> environment use the version of RPM we built:  rpm --root=<your install
> path> -Uhv  --noscripts --dbpath=/var/lib/rpm <list of package>
>
> (the above is from memory, so verify this before running it)
>
> Look at meta/classes/rootfs_rpm.**bbclass and meta/classes/package_rpm.**bbclass
> for more details of exactly how the system constructs root filesystems.
>
> --Mark
>
>  Cheers,
>> Giuseppe
>>
>> 2012/5/7 Mark Hatle<mark.hatle at windriver.com**>
>>
>>  On 5/7/12 5:30 AM, Giuseppe Condorelli wrote:
>>>
>>>  Hi All,
>>>>
>>>> after having built my own image, I've looked at the resultant rpms under
>>>> the deploy directory and I saw
>>>> no relocation is possible (rpm -qpli<package>). This because Prefix is
>>>> not
>>>> set during spec file creation
>>>> (package_rpm.bbclass).
>>>> As far as you know, is it possible to set Prefix somehow?
>>>>
>>>>
>>> What type of packages are you trying to relocate?
>>>
>>> For target packages I don't expect that it would ever work.  The items
>>> built by the build system often have internal paths and expectations.
>>>
>>> For SDK packages (i.e. things that run on the host), it might be possible
>>> to make them relocatable, but it would be specific to those style
>>> packages.
>>>  (Any relocatable package has to have the inbuilt knowledge to move and
>>> change configuration files as necessary.  Also you have to have the right
>>> set of packages to install into the environment and such.  I don't
>>> believe
>>> we use RPM to install any native/SDK packages today.)
>>>
>>> --Mark
>>>
>>>  Please let me know.
>>>
>>>> Thanks,
>>>> Giuseppe
>>>> ______________________________****_________________
>>>> Openembedded-devel mailing list
>>>> Openembedded-devel at lists.**ope**nembedded.org <http://openembedded.org>
>>>> <Openembedded-**devel at lists.openembedded.org<Openembedded-devel at lists.openembedded.org>
>>>> >
>>>> http://lists.linuxtogo.org/****cgi-bin/mailman/listinfo/**<http://lists.linuxtogo.org/**cgi-bin/mailman/listinfo/**>
>>>> openembedded-devel<http://**lists.linuxtogo.org/cgi-bin/**
>>>> mailman/listinfo/openembedded-**devel<http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel>
>>>> >
>>>>
>>>>
>>>
>>> ______________________________****_________________
>>> Openembedded-devel mailing list
>>> Openembedded-devel at lists.**ope**nembedded.org <http://openembedded.org><
>>> Openembedded-**devel at lists.openembedded.org<Openembedded-devel at lists.openembedded.org>
>>> >
>>> http://lists.linuxtogo.org/****cgi-bin/mailman/listinfo/****
>>> openembedded-devel<http://lists.linuxtogo.org/**cgi-bin/mailman/listinfo/**openembedded-devel>
>>> <http://**lists.linuxtogo.org/cgi-bin/**mailman/listinfo/openembedded-**
>>> devel<http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel>
>>> >
>>>
>>>  ______________________________**_________________
>> Openembedded-devel mailing list
>> Openembedded-devel at lists.**openembedded.org<Openembedded-devel at lists.openembedded.org>
>> http://lists.linuxtogo.org/**cgi-bin/mailman/listinfo/**
>> openembedded-devel<http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel>
>>
>
>
> ______________________________**_________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.**openembedded.org<Openembedded-devel at lists.openembedded.org>
> http://lists.linuxtogo.org/**cgi-bin/mailman/listinfo/**openembedded-devel<http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel>
>



More information about the Openembedded-devel mailing list