Age | Commit message (Collapse) | Author | Files |
|
Complete the bb.data.getVar/setVar replacements with accesses
directly to the data store object.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Occasionally we keep seeing "unable to open temp file" messages during
do_package_write_rpm tasks. This appears to happen when multiple
processes are writing rpm files and is likely due to using the
shared system temp directory. This patch changes the tmp path
to the package work directory meaning conflicts should become
a non-issue.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
[YOCTO #1755]
We change the want the RPM rootfs install works to install pre and post install
scripts. The new method uses a script helper that is invoked by RPM outside
of the normal chroot.
The wrapper is dynamically generated prior to the install starting. It will
check the return code of the script. If the script fails, it will store a copy
to be executed on the first system boot. This is similar to the previous
mechanism.
In addition, a line of debug was added to the scripts as written by package_rpm
to list which package and which script for later debugging, if necessary.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
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 *`
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Our current assumption (based on the behaviour of opkg) when writing
recipes is that prerm and postrm do not get called during an upgrade.
When using rpm however, these are mapped to the rpm "preun" and "postun"
events which occur after postinst for upgrades, and when these contain
removal type operations (such as update-alternatives --remove) this
causes problems.
This patch wraps each preun and postun script for rpm in a check that
determines whether or not the script is being called during an upgrade,
and skips the entire script if it is, which mimics the behaviour of opkg
under the same conditions.
Fixes [YOCTO #1760]
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
|
|
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]
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This fixes some error messages in the do_rootfs logs of non-multilib
builds.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Add MLPREFIX to multilib deploy forlder to avoid the confliction between
multilib and normal package deploy directory.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
When RPM does the real install, if the first manifest file is empty, the
installation will stop without handling the second manifest file.
Merge the two manifest files together to fix this issue.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
|
|
Firstly we install a base image.
Then install those multilib packages listed in MULTILIB_IMAGE_INSTALL.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Acked-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
When packaging for RPM, dependencies were not being properly added
to the packages. Only the "providing" dependencies were added due
to a typo.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
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.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
|
|
do_package task will write information into pkgdata and
do_package_write_rpm will read them out. Take lib32-dates as an example,
one of its RDEPENDS is li32-gtk+, and PKG_lib32-gtk+ = "libgtk-2.0",
these info is stored at:
tmp/pkgdata/x86_64-pokymllib32-linux/runtime/lib32-dates.
Function "mapping_rename_hook" in do_package_write_rpm is to handle
those renamed packages. However before it executes, translate_vers
has stripped the multilib prefix out, making it failed to find PKG_gtk+
value in pkgdata.
This commit moves the strip_multilib out of translate_vers and call it
after "mapping_rename_hook".
[YOCTO #1368]
CC: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
|
|
The previous logic could only strip MLPREFIX from the first element in
an array, take an example, strip_multilib the [lib32-a lib32-b lib32-c]
will result in [a lib32-b lib32-c]. We need to strip prefix one by one.
This commit change the logic to strip all elements' multilib prefix.
[YOCTO #1368]
CC: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
|
|
[YOCTO #1325] [YOCTO #1366]
Packages that were in the PACKAGE_ATTEMPTONLY and SUGGESTS were not
being properly found, which was causing image creation failures.
In PACKAGE_ATTEMPTONLY, when an item was not found, it caused an
error. This should have been a note, followed by skipping the
package.
The SUGGESTS processing was simply broken. It was using a
non-existant function, due to an apparently typo.
In addition to the above, the MLPREFIX processing was not being
done properly, preventing multilib packages from working in this
with PACKAGE_ATTEMPTONLY. (SUGGESTS doesn't need this as the names
are munged when creating the packages.)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
When constructing the /etc/rpm/platform file, we need to ensure that
the any, all, and noarch platforms will allow any "linux" variant to
be installable, not just matching variants.. i.e.
arm-oe-linux-gnueabi should be able to install noarch-oe-linux
Also ensure that we pass the full canonical arch via the --target=
parameter. This allows us to define the proper platform settings
for all packages.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
From d54b975506c392cfb59dbb3caf313ac061b6fa01 Mon Sep 17 00:00:00 2001
From: Jani Uusi-Rantala <jani.uusi-rantala@nokia.com>
Date: Thu, 11 Aug 2011 18:37:56 +0300
Subject: [PATCH] Magic file path should be given for rpmbuild in
_rpmfc_magic_path define so that build system default file
is not used by accident. Not doing this caused many
packages to fail building in several systems.
Fixes [YOCTO #1358]
Signed-off-by: Jani Uusi-Rantala <jani.uusi-rantala@nokia.com>
|
|
Currently, if a file is provided as an alternative link within the package, rpm
doesn't see the dependency. This works out badly for dependencies such as /bin/sh
which scripts might require.
Since rpm detects and adds these dependencies we do need to ensure the dependency
information in the packages is correct. This patch does so for the rpm backend
ensuring internal consistency whilst the approach for addressing this problem in
the other package backends is considered.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Add SDK_PACKAGE_ARCHS to avoid the sed operations we were previously doing
inside of the variouns populate_sdk functions and related items.
Also add documentation to populate_sdk to explain when the various functions
are expected to be doing.
Finally fix a bug in populate_sdk_rpm where the wrong value was being set,
noticed while working on this change.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
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.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
fix the MLPREFIX referrence typo which cause multilib rpm
do_rootfs failure
CC: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This is a first pass at adding multilib support to the RPM package
and image handling code.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
There were some odd instances where the PKGV could not be loaded in the old
way. Change to verify that PKGV exists before attempting to retrieve the
value from the key.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
We clearly state now if we are:
* Skipping an empty package
* Creating a (full) package
* Creating an empty package
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
Instruct RPM to use the on-disk permissions, owners, groups,
and directory permissions, instead of defaulting to root:root
Code changes suggested by Mark Hatle.
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
|
|
Use PKGE/PKGV/PKGR to build various package feed in tasks of pacakge_write_xxx.
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
|
|
Signed-off-by: Chris Larson <chris_larson@mentor.com>
|
|
[YOCTO #1024]
Currently package-index.bb only supports ipk. This commit adds the support
for rpm and deb, too.
------------------------------
How to generate and use repos:
1) run "bitbake package-index" after building some target,
e.g., core-image-sato-sdk;
2) export ${DEPLOY_DIR_RPM}, ${DEPLOY_DIR_IPK} and ${DEPLOY_DIR_DEB} by a
webserver on the host, assuming the host IP is 192.168.7.1, at
http://192.168.7.1/rpm
http://192.168.7.1/ipk
http://192.168.7.1/deb
3) inside the target, according to the packaging system (rpm, ipk or deb) used
when we generate the target image, we can use different ways to manage
packages:
3.1) RPM
run "zypper addrepo http://192.168.7.1/rpm main; zypper refresh"
to retrieve info about the repo; next, we can use "zypper install/remove"
to manage packages.
3.2) IPK
add the repo info into opkg config file, i.e., in
/etc/opkg/arch.conf, we can add something like
"src i586 http://192.168.7.1/ipk/i586", and next, we run "opkg update" to
make opkg update the list of available packages. And later, we can use
"opkg install/remove" to manage packages.
3.3) DEB
Currently in target, some important config files, like
/var/lib/dpkg/status and /etc/apt/sources.list, for deb/apt are missing. So
we can't install/remove package in target at present.
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
|
|
* Instead of hardcoding target vendor string "-poky"
use TARGET_VENDOR information in case of using external
toolchains
Signed-off-by: Adrian Alonso <aalonso@secretlab.ca>
|
|
files
The point we need to take the lock is when the rpm files are written into the
deploy rpm directory. Since sstate makes the actual installation of the files,
that is the point we need to take the lock. This also stops the deploy/rpm
directory being accessed for a lock before it exists.
[YOCTO #797]
[YOCTO #925]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
[YOCTO #797]
During rootfs generation, if other RPM packages are being wrtten
this could cause a failure during the solvedb generation. We
add a shared lock around the RPM package building. This will allow
multiple RPM packages to continue to be written at the same time, but
prevent rootfs generation and RPM package generation at the same time.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
[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>
|
|
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>
|
|
Add a new rpm macro, rpmrc_platform_path to specify an alternative platform
file. This is required to allow the dep resolver to identify compatible
packages.
Also workaround a minor problem with the --showrc command in RPM. A bug
has been reported upstream on this.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
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>
|
|
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>
|
|
The package-split summaries were being pulled in from the main package, not
the split package metadata.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
Update RPM to the latest release, RPM 5.4.0.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|
|
If sstate was used to accelerate a build, the pseudo directory might not have
been created leading to subsequent task failures.
Also, sstate packages were not being installed under pseudo context meaning
file permissions could have been lost.
Fix these problems by creating a FAKEROOTDIRS variable which bitbake ensures
exists before running tasks and running the appropriate setscene tasks under
fakeroot context.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|
|
If a sstate package exists for the package task but not for the rpm packaging
task, the output from the package task will be used. The directory pointed
to by dvar will not exist under this scenario.
Since the directory is never used by the packaging process remove the
check, substituting the pkgd variable which is always present and used.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|
|
[BUGID #281]
Add the ability for the deb, ipk and rpm classes to use the new summary
and description fields. The Description is wrapped around 75 characters
to ensure a reasonably nice, presentable description.
(Summary defaults to the description if Summary is not defined.)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
being incorrectly used for target rootfs generation, breaking the images
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|
|
This reverts commit 084ec86402bba92418898a4c47667a0574a3b3ee.
|
|
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>
|
|
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>
|
|
Match ipkg behavior and unconditionally include directories in the packages
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|