Patchwork [1/1] image.bbclass: fix rootfs generation without package management tools

login
register
mail settings
Submitter Otavio Salvador
Date March 3, 2012, 4:40 a.m.
Message ID <57c7884c358bda5259c0cef0ec6fb10bc47eb158.1330749589.git.otavio@ossystems.com.br>
Download mbox | patch
Permalink /patch/22615/
State Accepted
Commit 4f2845739fc7a1f2c784f4d3be048ee111e7d093
Headers show

Comments

Otavio Salvador - March 3, 2012, 4:40 a.m.
When building without package management tools the
ROOTFS_BOOTSTRAP_INSTALL packages need to be available to provide the
bare minimal for rootfs unconfigure postinsts to be on first boot.

Those packages where being include in core-image.bbclass' based images
however every image needs those available for proper rootfs generation.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
 meta/classes/core-image.bbclass |    2 --
 meta/classes/image.bbclass      |    7 +++++--
 2 files changed, 5 insertions(+), 4 deletions(-)
Saul Wold - March 13, 2012, 3:54 p.m.
On 03/02/2012 08:40 PM, Otavio Salvador wrote:
> When building without package management tools the
> ROOTFS_BOOTSTRAP_INSTALL packages need to be available to provide the
> bare minimal for rootfs unconfigure postinsts to be on first boot.
>
> Those packages where being include in core-image.bbclass' based images
> however every image needs those available for proper rootfs generation.
>
> Signed-off-by: Otavio Salvador<otavio@ossystems.com.br>
> ---
>   meta/classes/core-image.bbclass |    2 --
>   meta/classes/image.bbclass      |    7 +++++--
>   2 files changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/meta/classes/core-image.bbclass b/meta/classes/core-image.bbclass
> index 668297b..e2ad0fc 100644
> --- a/meta/classes/core-image.bbclass
> +++ b/meta/classes/core-image.bbclass
> @@ -51,8 +51,6 @@ CORE_IMAGE_BASE_INSTALL = '\
>       task-core-boot \
>       task-base-extended \
>       \
> -    ${@base_contains("IMAGE_FEATURES", "package-management", "", "${ROOTFS_PKGMANAGE_BOOTSTRAP}",d)} \
> -    \
>       ${CORE_IMAGE_EXTRA_INSTALL} \
>       '
>
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index dfce381..8e9da99 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -5,7 +5,7 @@ inherit imagetest-${IMAGETEST}
>
>   LICENSE = "MIT"
>   PACKAGES = ""
> -RDEPENDS += "${IMAGE_INSTALL} ${LINGUAS_INSTALL} ${NORMAL_FEATURE_INSTALL}"
> +RDEPENDS += "${IMAGE_INSTALL} ${LINGUAS_INSTALL} ${NORMAL_FEATURE_INSTALL} ${ROOTFS_BOOTSTRAP_INSTALL}"
>   RRECOMMENDS += "${NORMAL_FEATURE_INSTALL_OPTIONAL}"
>
>   INHIBIT_DEFAULT_DEPS = "1"
> @@ -14,6 +14,9 @@ INHIBIT_DEFAULT_DEPS = "1"
>   IMAGE_FEATURES ?= ""
>   IMAGE_FEATURES[type] = "list"
>
> +# rootfs bootstrap install
> +ROOTFS_BOOTSTRAP_INSTALL = "${@base_contains("IMAGE_FEATURES", "package-management", "", "${ROOTFS_PKGMANAGE_BOOTSTRAP}",d)}"
> +
>   # packages to install from features
>   FEATURE_INSTALL = "${@' '.join(oe.packagegroup.required_packages(oe.data.typed_value('IMAGE_FEATURES', d), d))}"
>   FEATURE_INSTALL_OPTIONAL = "${@' '.join(oe.packagegroup.optional_packages(oe.data.typed_value('IMAGE_FEATURES', d), d))}"
> @@ -52,7 +55,7 @@ PACKAGE_GROUP_doc-pkgs[optional] = "1"
>   IMAGE_INSTALL ?= ""
>   IMAGE_INSTALL[type] = "list"
>   IMAGE_BASENAME[export] = "1"
> -export PACKAGE_INSTALL ?= "${IMAGE_INSTALL} ${FEATURE_INSTALL}"
> +export PACKAGE_INSTALL ?= "${IMAGE_INSTALL} ${ROOTFS_BOOTSTRAP_INSTALL} ${FEATURE_INSTALL}"
>   PACKAGE_INSTALL_ATTEMPTONLY ?= "${FEATURE_INSTALL_OPTIONAL}"
>
>   # Images are generally built explicitly, do not need to be part of world.

Merged into OE-Core

Thanks
	Sau!

Patch

diff --git a/meta/classes/core-image.bbclass b/meta/classes/core-image.bbclass
index 668297b..e2ad0fc 100644
--- a/meta/classes/core-image.bbclass
+++ b/meta/classes/core-image.bbclass
@@ -51,8 +51,6 @@  CORE_IMAGE_BASE_INSTALL = '\
     task-core-boot \
     task-base-extended \
     \
-    ${@base_contains("IMAGE_FEATURES", "package-management", "", "${ROOTFS_PKGMANAGE_BOOTSTRAP}",d)} \
-    \
     ${CORE_IMAGE_EXTRA_INSTALL} \
     '
 
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index dfce381..8e9da99 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -5,7 +5,7 @@  inherit imagetest-${IMAGETEST}
 
 LICENSE = "MIT"
 PACKAGES = ""
-RDEPENDS += "${IMAGE_INSTALL} ${LINGUAS_INSTALL} ${NORMAL_FEATURE_INSTALL}"
+RDEPENDS += "${IMAGE_INSTALL} ${LINGUAS_INSTALL} ${NORMAL_FEATURE_INSTALL} ${ROOTFS_BOOTSTRAP_INSTALL}"
 RRECOMMENDS += "${NORMAL_FEATURE_INSTALL_OPTIONAL}"
 
 INHIBIT_DEFAULT_DEPS = "1"
@@ -14,6 +14,9 @@  INHIBIT_DEFAULT_DEPS = "1"
 IMAGE_FEATURES ?= ""
 IMAGE_FEATURES[type] = "list"
 
+# rootfs bootstrap install
+ROOTFS_BOOTSTRAP_INSTALL = "${@base_contains("IMAGE_FEATURES", "package-management", "", "${ROOTFS_PKGMANAGE_BOOTSTRAP}",d)}"
+
 # packages to install from features
 FEATURE_INSTALL = "${@' '.join(oe.packagegroup.required_packages(oe.data.typed_value('IMAGE_FEATURES', d), d))}"
 FEATURE_INSTALL_OPTIONAL = "${@' '.join(oe.packagegroup.optional_packages(oe.data.typed_value('IMAGE_FEATURES', d), d))}"
@@ -52,7 +55,7 @@  PACKAGE_GROUP_doc-pkgs[optional] = "1"
 IMAGE_INSTALL ?= ""
 IMAGE_INSTALL[type] = "list"
 IMAGE_BASENAME[export] = "1"
-export PACKAGE_INSTALL ?= "${IMAGE_INSTALL} ${FEATURE_INSTALL}"
+export PACKAGE_INSTALL ?= "${IMAGE_INSTALL} ${ROOTFS_BOOTSTRAP_INSTALL} ${FEATURE_INSTALL}"
 PACKAGE_INSTALL_ATTEMPTONLY ?= "${FEATURE_INSTALL_OPTIONAL}"
 
 # Images are generally built explicitly, do not need to be part of world.