aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/package_rpm.bbclass
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 14:44:52 +0100
commitaf9fd7566a5de4716a202922f5eabb13a412f2fb (patch)
tree6cbada72328231947ec5a3c3c6cf3409b532a7eb /meta/classes/package_rpm.bbclass
parentf44c5f227a170290f567d0a0a24baaa870048788 (diff)
downloadopenembedded-core-af9fd7566a5de4716a202922f5eabb13a412f2fb.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. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/classes/package_rpm.bbclass')
-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 5f0e1d01a8..61f0117216 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...