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<[email protected]>

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@lists.**openembedded.org<[email protected]>
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@lists.**openembedded.org<[email protected]>
http://lists.linuxtogo.org/**cgi-bin/mailman/listinfo/**openembedded-devel<http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel>

_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel


_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

Reply via email to