summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2012-09-07 17:05:44 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-09-12 15:13:35 +0100
commit03109ba97d83185d11c7f049671efcb28f188e77 (patch)
treef4dabe9360c3e0d5c95e81bdb387cb44a98541d3
parenta6359e9710c562bb7c6f885aa866121b7524c6c8 (diff)
downloadast2050-yocto-poky-03109ba97d83185d11c7f049671efcb28f188e77.zip
ast2050-yocto-poky-03109ba97d83185d11c7f049671efcb28f188e77.tar.gz
package_rpm.bbclass: Avoid unnecessary installs in complementary pass
When called with the complementary install option, the first step is to backup the install manifest so that we can avoid installing items previously installed. However, this backup process skipped the initial_install portion of the manifest, causing early install items like libc6, bash, and base-files to be installed a second time. Fix this by cating the files to original_solution. This is done as an append to allow multiple calls to package_install_internal_rpm to work. (From OE-Core rev: af9fd7566a5de4716a202922f5eabb13a412f2fb) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/package_rpm.bbclass9
1 files changed, 8 insertions, 1 deletions
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index 5f0e1d0..61f0117 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -313,7 +313,14 @@ package_install_internal_rpm () {
done
fi
else
- mv ${target_rootfs}/install/total_solution.manifest ${target_rootfs}/install/original_solution.manifest
+ # We may run through the complementary installs multiple times. For each time
+ # we should add the previous solution manifest to the full "original" set to
+ # avoid duplicate install steps.
+ echo "Update original solution..."
+ cat ${target_rootfs}/install/initial_solution.manifest >> ${target_rootfs}/install/original_solution.manifest
+ cat ${target_rootfs}/install/total_solution.manifest >> ${target_rootfs}/install/original_solution.manifest
+ rm ${target_rootfs}/install/initial_solution.manifest
+ rm ${target_rootfs}/install/total_solution.manifest
fi
# Setup manifest of packages to install...
OpenPOWER on IntegriCloud