Commit Graph

63 Commits

Author SHA1 Message Date
Richard Purdie c8dee9b92d Convert to use direct access to the data store (instead of bb.data.*Var*())
This is the result of running the following over the metadata:

sed \
-e 's:bb.data.\(setVar([^,()]*,[^,()]*\), *\([^ )]*\) *):\2.\1):g' \
-e 's:bb.data.\(setVarFlag([^,()]*,[^,()]*,[^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \
-e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^() ]*\) *):\2.\1):g' \
-e 's:bb.data.\(getVar([^,()]*\), *\([^) ]*\) *):\2.\1):g' \
-i `grep -ril bb.data *`

(From OE-Core rev: b22831fd63164c4db9c0b72934d7d734a6585251)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:51:19 +00:00
Dongxiao Xu 1ef442561d multilib: Drop MULTILIB_IMAGE_INSTALL
There should just be a single IMAGE_INSTALL variable. If the package
backends need this split into different multilib components they should
be responsible for doing this, not the user.

This commit removes the MULTILIB_IMAGE_INSTALL variable.

[YOCTO #1564]

(From OE-Core rev: 7736862a74c92fe1afe42e170822be13117575c2)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-08 14:32:55 +00:00
Dongxiao Xu f40b763c69 multilib: add MLPREFIX to deploy folder
Add MLPREFIX to multilib deploy forlder to avoid the confliction between
multilib and normal package deploy directory.

(From OE-Core rev: 18b8d1f7769b63725c3b6883298a841806cd06ab)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 21:41:45 +01:00
Dongxiao Xu 64ea342b4f multilib: install MULTILIB_IMAGE_INSTALL
If user set MULTILIB_IMAGE_INSTALL, we need to install those multitlib
packages into the final image.

Also fix the logic in handling multilib prefix. For certain case like a
normal image contains several multilib libraries, the image recipe isn't
extended with MLPREFIX, therefore we need to enumerate the possible
multilib prefixes and compare them with package prefixes.

(From OE-Core rev: a94cc552dc764d3cc83ea638cb08b9a2a8829d2f)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:51 +01:00
Dongxiao Xu 719e1edaeb rpm: add multilib prefix for archs under deploy/rpm
Currently MACHINE_ARCH deploy folder is unique in multilib system, thus
a lib32 version of rpm package will override a normal rpm package if
its PACKAGE_ARCH is ${MACHINE_ARCH}.

Define different deploy folder for multilib architectures to avoid the
confliction.

(From OE-Core rev: 921f984aa65e23d5a8ec5c2e58a96cb8a4790b5d)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-21 13:42:51 +01:00
Dongxiao Xu 7046e28afc rootfs_rpm: setting DEFAULTTUNE for multilib archs
To get the MULTILIB_PACKAGE_ARCHS, we need to get the corresponding
DEFAULTTUNE value. This fixes the multilib arch directory missing issue
in solvedb-ml_archs.conf.

(From OE-Core rev: 54306ff373e13696637b547fa1514e0ef8633248)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 18:15:31 +01:00
Dongxiao Xu b51e8344ca rootfs_rpm: Fix DEFAULTTUNE setting in multilib case
"virtclass-multilib" is set to OVERRIDES in multilib.bbclass, remove the
duplicated settings here.

Besides, DEFAULTTUNE has overrided and it can be directly used.

[YOCTO #1368]

CC: Mark Hatle <mark.hatle@windriver.com>
(From OE-Core rev: dc78cdb318671862c5cd15711364c1c4462d9ece)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-17 15:14:55 +01:00
Mark Hatle 06d4cf01ff populate_sdk_*: Sync SDK and regular rootfs functions
In order for things to be easier to maintain in the future, sync up
the sdk and rootfs versions.

(From OE-Core rev: 3c78da15457d8d20c9964cd845f6e021d442aaae)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-02 14:32:11 +01:00
Mark Hatle 0d5dfb29c3 rootfs_rpm: Cleanup and minor bug fixes
in packages_rpm.bbclass:

Cleanup the way package_update_index_rpm works.  Break this out into two
functions, one for common functionality and one for controlling target vs
sdk package processing.

Similar change to package_generate_rpm_conf.

Usage of IMAGE_ROOTFS should actually be "target_rootfs", this fixes a problem
with the SDK case.

in rootfs_rpm.bbclass:

Minor re-order of the values, and avoid multiple uses of IMAGE_ROOTFS in order
to make the merge with the SDK behavior easier.

(From OE-Core rev: 46559f36d8a39655060b45d3d235de44a2c4c09b)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-02 14:32:10 +01:00
Mark Hatle d8ddc1a3e5 rootfs_rpm.bbclass: Fix multilib configurations to use DEFAULTTUNE
Earlier iterations of the multilib patch used "TUNENAME", which was later
renamed to DEFAULTTUNE.  This file was missed in the rename.

(From OE-Core rev: fdd39925df8268ad41c1ff643a0761b03fad8e08)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-01 14:16:56 +01:00
Richard Purdie 63bd98855e rootfs_rpm: Disable debug messages
(From OE-Core rev: 59c26a280f909470e19a2be04b8ea9dd3aa5c24b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-27 17:28:06 +01:00
Mark Hatle 44b3590509 package/rootfs_rpm: Implement RPM multilib package handling
This is a first pass at adding multilib support to the RPM package
and image handling code.

(From OE-Core rev: 1939a4395997098862912e013a2b13ed2f385f9f)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-27 16:25:35 +01:00
Saul Wold 7061af3812 rootfs_rpm: Add 50M to IMAGE_ROOTFS_EXTRA_SPACE for zypper /var space
[YOCTO #1171]

This is a temporary fix to address the fact that zypper's db configuation
uses a large amount of /var space. When the correct'ed zypper config can
be applied, this fix can be removed. The zypper bug for yocto is 1174
http://bugzilla.pokylinux.org/show_bug.cgi?id=1174

(From OE-Core rev: 05995abe8d74ed8a460f6c29b686f812f62b3d92)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-08 23:02:07 +01:00
Gary Thomas 8e7f1b444e Control over when package init scripts are run
When a package is built, some installation scripts must be
performed on the target.  In the case of a complete image,
these scripts are run by a separate step at init time, but
only during the first boot (other package install scripts
can just be run when the package is installed on the target).

This patch lets the distribution (or user) decide when these
postponed install scripts should run.  The default is normally
near the end of init, but there may be times when it's beneficial
to run them earlier so the "when" can be overridden.

(From OE-Core rev: a46466893407d44dd16ab37ae70e1bee14bdde0a)

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-04-24 22:50:21 +01:00
Richard Purdie 4d609d5021 Replace POKYBASE with COREBASE
(From OE-Core rev: 607a7657715f6fcba467a4e55ba64f41f4e13a15)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-04-21 00:29:29 +01:00
Mark Hatle ff03a5167c rootfs_rpm.bbclass: Add additional system configuration to RPM space
The additional configuration should have been there from the beginning.  The
purpose of these config files is to have a consistent Berkeley DB configuration
even if the underlying RPM version changes -- or the RPM macros change.

This likely would not cause any problems until we attempted an upgrade of
either BDB or RPM.

(From OE-Core rev: a0682191e0743ed8ec1d30567eb26d4cde864ee8)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-16 16:44:59 +00:00
Mark Hatle 08c8f7bb73 rootfs_rpm: Fix rootfs generation using RPM packages
[BUG #756]

Fix bug #756.  The rootfs contains a control file /etc/rpm/platform
that specifies the default system platform, as well as patterns for
compatible architectures.  This file was not being setup properly due
to a misunderstanding of the format in a previous patch.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-02-25 17:31:50 -06:00
Mark Hatle ab0e1bed22 package_rpm: Fix solverdb generation
The RPM solverdb was potentially being generated multiple times.
Fix this by ensuring we only process each directory once.

Also correct an issue where the solution did not necessarily follow
the preferred architecture ordering, reverse the default Poky ordering
so that preferred is listed first.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-02-16 07:34:51 -08:00
Richard Purdie 4b793fff8e rootrs_rpm.bbclass: Disable createrepo for now due to this error:
| + createrepo /media/build2/builds/rptest/b4/tmp/deploy/rpm
| Traceback (most recent call last):
|   File "/media/build2/builds/rptest/b4/tmp/sysroots/x86_64-linux/usr/share/createrepo/genpkgmetadata.py", line 26, in <module>
|     import rpm
| ImportError: No module named rpm

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-03 11:24:19 +00:00
Lianhao Lu 382075a9c2 rootfs_rpm/package_rpm.bbclass: Move func from rootfs_rpm to package_rpm
package_deb.bbclass:
1. Modified package_update_index_rpm() and package_generate_rpm_conf()
to generate sperate depsolver db and rpm configuration, for target
packages and host packages respectively.

2. Added new function package_install_internal_rpm() to install a list
deb packages to a specified root directory, with the specified package
architecutre information.

3. Added new function resolve_package_rpm() to resolve package names to
filepaths.

rootfs_deb.bbclass:
Used the above new functions to install the rootfs.

[sgw: merged changes for createrepo]
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-01 23:59:37 +00:00
Lianhao Lu 5b7e96d852 image/package_xx/rootfs_xx.bbclass: move rootfs_xx_log_check().
Move function rootfs_xx_log_check() from rootfs_xx.bbclass to relevant
package_xx.bbclass. (Where xx is rpm/ipk/deb).

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
2011-01-31 16:58:15 +00:00
Qing He e67698743e creating the rpmrepo metadata
This includes two method for build rpm repo:
  1. create the metadata in rootfs_rpm
  2. standalone binary for building the metadata

Not both of them are needed, generally #2 fits more for the purpose,
but #1 may have its use on rootfs creation using zypper.

Both share some problems and are subjected for future improvement:
  1. the createrepo now builds metadata for the whole directory,
     if there are more than one arch, it builds for all, which means
     rootfs_rpm may run longer if more builds have been run.
  2. createrepo builds metadata for stale rpms

Signed-off-by: Qing He <qing.he@intel.com>
2011-01-30 12:09:52 -08:00
Richard Purdie be4ad69f4a rootfs_rpm: Drop bogus inclusion of the run-postinsts package
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-28 17:57:23 +00:00
Mark Hatle e7fb63bf6b rootfs_rpm: Setup the platform configuration
The RPM platform configuration file lists all of the supported architectures,
while RPM itself doesn't use this information, other tools may use it to
determine compatibility.  The first item is the default architecture for a
system, while the following items specify alternative compatible architectures.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-01-28 17:52:56 +00:00
Mark Hatle f6ddba2a9d rpm: Uprev to RPM 5.4.0
Update RPM to the latest release, RPM 5.4.0.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-01-28 17:52:55 +00:00
Darren Hart 21fafc889e rootfs_rpm: fix rootfs generation rm error
During a poky-image-minimal build I ran into the following error:
rm: cannot remove `/vol/1/dvhart/poky.git/build/tmp/work/atom-pc-poky-linux/poky-image-minimal-initramfs-1.0-r0/rootfs/install': Is a directory

This is caused by a missing -r (recursive) argument to rm. This patch
adds that to the rm command of rootfs_rpm.bbclass.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-01-05 16:50:43 -08:00
Richard Purdie 5e384038cb rootfs_rpm.bbclass: Remove temporary work files in install directory, saving the manifests as logfiles into ${T}
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-05 18:57:07 +00:00
Richard Purdie 1e40bc8272 rootfs_rpm: Add --ignoresize option when performing DB operations on a rootfs
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-20 20:38:11 +00:00
Richard Purdie ded2919f19 rootfs: Update ROOTFS_PKGMANAGE to include atp/zypper
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-11 12:18:02 +01:00
Richard Purdie 0e0fadb400 rootfs_rpm: Add lock file in the rpm deploy directory to allow mutliple rootfs creation tasks to coexist without breaking each other
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-10-07 15:41:17 +01:00
Mark Hatle fad896d4ea rootfs_rpm.bbclass: Add Dirnames configuration
[BUGID #327]

RPM attempts to validate all of the directories on the system are
owned by a package.  While the root "/" directory was not owned, so
in some cases an error could be thrown.  Resolve this by informing
RPM that yes, "/" is in fact a directory on the system that was
properly constructed and is "owned".

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-09-30 10:01:34 -07:00
Mark Hatle d87034e41a rootfs_rpm: Fix workaround
The exit 0 in the workaround seems to have causes the filesystem creation
process to stop.  Instead change it to an if that can never succeed.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-09-10 12:50:43 +01:00
Mark Hatle c849ec75e7 rpm: Fix autoconf/libtool usage
In order to resolve a host-contamination problem, we re-work the way that
autoconf and friends are invoked during the compilation of RPM.

This has a side effect of fixing another bug where RPM was being renamed
HOST_ARCH-HOST_OS-rpm.  So we remove the "fixes" for that behavior as well.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-09-03 18:30:47 -07:00
Mark Hatle a9b715736f rootfs_rpm: Workaround for checksum changes
With the new checksum changes, the system is no longer able to determine
if the function resolve_package is used.  So it doesn't get emitted.  The
workaround resolves this by triggering an exit 0, followed by a bogus usage
of the function.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-09-03 18:30:47 -07:00
Mark Hatle d6c45f0f11 rootfs_rpm: Support install_all_locales
Support installing all locales similarly to how it is done within the ipk
support.  This has had basic testing, but it's not a normally used function
so there could still be some flaws.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-09-03 09:45:29 +01:00
Mark Hatle 2f68de1e88 roots_rpm: Enable installation of recommended packages
Within RPM there is a field called "Suggests".  This filed behaves like
"Recommends" does in ipk.  So we write out the packages using the Suggests
field with the Poky 'Recommends' values... and then use the arbitrary tags to
capture the Poky 'Suggests' within a new "Recommends" tag.

Slightly confusing, but the end result is a functioning install.

Also some performance enhancements were add at the same time.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-09-03 09:44:56 +01:00
Mark Hatle 379ba0e9d7 rootfs_rpm: Optimize rpm database processing
Optimize the creation of the solverdb by disabling fsyncs and
database caches that are not used when generating a solution.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-09-02 10:01:22 +01:00
Kevin Tian 8ea7fa6d4c opkg: finalize the change to var directory
commit 1d0757f16b changes opkg run state from
/usr/lib/opkg to /var/lib/opkg, which however is incomplete and still many
important information is kept under old directory including postinst methods.
This makes latest boot into a mess.

So finalize this movement to /var here. Fix [BUGID #229]

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-08-26 08:54:55 +01:00
Mark Hatle 59a3e98b04 rootfs_rpm: Enable multi dep solverdbs
Update package_rpm.bbclass to generate dep solver databases for each
package arch.  Following the example of the deb and ipk integration

Revise the rootfs_rpm to solve the installation based on the multiple
dep solvers.

Note, recommends, locale and attemptonly pckages are still to be
implemented.

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-08-23 20:56:47 +01:00
Mark Hatle d668b80e86 meta/classes/rootfs_rpm.bbclass: re implement base on rpm5
Re implement the rootfs generation using rpm5.  This also gets rid of the
need for yum, and handles all dep resolving internal to the script itself.

The new file scripts/rootfs_rpm-extract-postinst.awk comes from the original
yum integration work.  It has been unchanged, but since yum is no longer used
we needed to move the script somewhere else.

Signed-off-by: Mark Hatle <mhatle@windriver.com>
2010-07-24 00:46:57 +01:00
Joshua Lock 1ee88638a2 rootfs_rpm: Explicitly add runtime dependencies to depends
Python RDEPENDS are tricksy beasts and the runtime dependencies of Yum aren't
being pulled in for the RPM rootfs so explicitly add them to depends.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-03-26 12:23:11 +00:00
Richard Purdie 01f75c1b48 rootfs_rpm/icecc: Sync whitespace with OE.dev
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2009-11-16 10:51:24 +00:00
Richard Purdie b772c8cde5 bitbake.conf/base.bbclass: Rename the staging directory to sysroots and the populate_staging task to populate_sysroot
This change makes the purpose of the staging directory more obvious and
the taskname more true to what it now actually does.

The layout version number is increased due to the change in layout
but code to convert existing directories and insert a symlink for
backwards compatibility is included.

Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2009-11-13 12:15:42 +00:00
Richard Purdie c54117458a classes: Remove and sanitise import statements
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2009-11-13 12:15:28 +00:00
Richard Purdie 826cd19f04 meta/classes/rootfs_*.bbclass: Fix unset variable 2008-11-07 13:59:12 +00:00
Richard Purdie 436c5f4716 classes: Add mechanism to install packages into images only if they've been built 2008-11-06 16:23:32 +00:00
Rob Bradford 76a7b78b40 roots_rpm.bbclass: Use opkg-native to get update-alternatives 2008-10-31 16:24:31 +00:00
Rob Braford b906b0cd60 rootfs_rpm.bbclass: Disable non Poky repositories.
Only use repositories that begin "poky-feed". This prevents contamination with
system repositories.

It may be better to patch yum not to ever look in the system repository
locations (i.e. /etc/yum.repos.d).
2008-10-29 18:22:42 +00:00
Marcin Juszkiewicz c8a3fab82f rootfs_rpm.bbclass: added code to generate images from feeds
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5436 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-10-07 16:47:22 +00:00
Marcin Juszkiewicz 0ea7472583 rootfs_rpm.bbclass: added generation of feed entries
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5434 311d38ba-8fff-0310-9ca6-ca027cbcb966
2008-10-07 16:21:25 +00:00