From 03109ba97d83185d11c7f049671efcb28f188e77 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Fri, 7 Sep 2012 17:05:44 -0500 Subject: 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 Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- meta/classes/package_rpm.bbclass | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'meta/classes/package_rpm.bbclass') 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... -- cgit v1.2.3-54-g00ecf