Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Ola x Nilsson <ola.x.nilsson@axis.com>
To: Andrej Valek <andrej.valek@siemens.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH v2] rootfs: possibility to add packages to debug rootfs
Date: Wed, 17 Oct 2018 12:08:38 +0200	[thread overview]
Message-ID: <jwq1s8ozxzt.fsf@axis.com> (raw)
In-Reply-To: <20181016141024.19071-1-andrej.valek@siemens.com>


Comments inline.

On Tue, Oct 16 2018, Andrej Valek wrote:

> Static libraries are not included in rootfs, it means, that sources are
> not going into debug rootfs. This option enables to install additional
> packages even if the standard package is not installed.
>
> Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
> ---
>  meta/classes/image.bbclass             |  4 +++-
>  meta/classes/populate_sdk_base.bbclass |  2 +-
>  meta/lib/oe/package_manager.py         | 11 +++++++++++
>  meta/lib/oe/rootfs.py                  |  3 +++
>  4 files changed, 18 insertions(+), 2 deletions(-)
>
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index 34fdbb0850..452b1ad391 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -38,6 +38,8 @@ IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs empty-root-password
>  # Generate companion debugfs?
>  IMAGE_GEN_DEBUGFS ?= "0"
>  
> +# These pacackages will be installed as additional into debug rootfs
> +IMAGE_INSTALL_DEBUGFS ?= ""
>  
>  # These packages will be removed from a read-only rootfs after all other
>  # packages have been installed
> @@ -125,7 +127,7 @@ def rootfs_variables(d):
>                   'IMAGE_ROOTFS_MAXSIZE','IMAGE_NAME','IMAGE_LINK_NAME','IMAGE_MANIFEST','DEPLOY_DIR_IMAGE','IMAGE_FSTYPES','IMAGE_INSTALL_COMPLEMENTARY','IMAGE_LINGUAS',
>                   'MULTILIBRE_ALLOW_REP','MULTILIB_TEMP_ROOTFS','MULTILIB_VARIANTS','MULTILIBS','ALL_MULTILIB_PACKAGE_ARCHS','MULTILIB_GLOBAL_VARIANTS','BAD_RECOMMENDATIONS','NO_RECOMMENDATIONS',
>                   'PACKAGE_ARCHS','PACKAGE_CLASSES','TARGET_VENDOR','TARGET_ARCH','TARGET_OS','OVERRIDES','BBEXTENDVARIANT','FEED_DEPLOYDIR_BASE_URI','INTERCEPT_DIR','USE_DEVFS',
> -                 'CONVERSIONTYPES', 'IMAGE_GEN_DEBUGFS', 'ROOTFS_RO_UNNEEDED', 'IMGDEPLOYDIR', 'PACKAGE_EXCLUDE_COMPLEMENTARY', 'REPRODUCIBLE_TIMESTAMP_ROOTFS']
> +                 'CONVERSIONTYPES', 'IMAGE_GEN_DEBUGFS', 'ROOTFS_RO_UNNEEDED', 'IMGDEPLOYDIR', 'PACKAGE_EXCLUDE_COMPLEMENTARY', 'REPRODUCIBLE_TIMESTAMP_ROOTFS', 'IMAGE_INSTALL_DEBUGFS']
>      variables.extend(rootfs_command_variables(d))
>      variables.extend(variable_depends(d))
>      return " ".join(variables)
> diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
> index d9a391c613..677ba3cf12 100644
> --- a/meta/classes/populate_sdk_base.bbclass
> +++ b/meta/classes/populate_sdk_base.bbclass
> @@ -296,7 +296,7 @@ def sdk_command_variables(d):
>  def sdk_variables(d):
>      variables = ['BUILD_IMAGES_FROM_FEEDS','SDK_OS','SDK_OUTPUT','SDKPATHNATIVE','SDKTARGETSYSROOT','SDK_DIR','SDK_VENDOR','SDKIMAGE_INSTALL_COMPLEMENTARY','SDK_PACKAGE_ARCHS','SDK_OUTPUT',
>                   'SDKTARGETSYSROOT','MULTILIB_VARIANTS','MULTILIBS','ALL_MULTILIB_PACKAGE_ARCHS','MULTILIB_GLOBAL_VARIANTS','BAD_RECOMMENDATIONS','NO_RECOMMENDATIONS','PACKAGE_ARCHS',
> -                 'PACKAGE_CLASSES','TARGET_VENDOR','TARGET_VENDOR','TARGET_ARCH','TARGET_OS','BBEXTENDVARIANT','FEED_DEPLOYDIR_BASE_URI', 'PACKAGE_EXCLUDE_COMPLEMENTARY']
> +                 'PACKAGE_CLASSES','TARGET_VENDOR','TARGET_VENDOR','TARGET_ARCH','TARGET_OS','BBEXTENDVARIANT','FEED_DEPLOYDIR_BASE_URI', 'PACKAGE_EXCLUDE_COMPLEMENTARY', 'IMAGE_INSTALL_DEBUGFS']
>      variables.extend(sdk_command_variables(d))
>      return " ".join(variables)
>  
> diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
> index 8f4b42b0da..1316a284e7 100644
> --- a/meta/lib/oe/package_manager.py
> +++ b/meta/lib/oe/package_manager.py
> @@ -594,6 +594,17 @@ class PackageManager(object, metaclass=ABCMeta):
>              # And now delete the binary locales
>              self.remove(fnmatch.filter(self.list_installed(), "glibc-binary-localedata-*"), False)
>  
> +    def install_additional(self):
> +        """
> +        Install additional packages. Possibility to install additional packages,
> +        which are not automatically installed via complementary packages of
> +        standard one, e.g. debug packages of static library
> +        """
> +        additional_pkgs =  self.d.getVar('IMAGE_INSTALL_DEBUGFS')
> +        if additional_pkgs:
> +            bb.note("Installing additional packages ...")
> +            self.install(additional_pkgs.split(), attempt_only=True)

Do we actually need this function?  The name is completely disconnected
from what it actually does, and the same should be achievable with

self.pm.install((d.getVar('IMAGE_INSTALL_DEBUGFS') or '').split(),
                attempt_only=True)

in rootfs.py.  There is no reason for package_manager.py to be aware of
the IMAGE_INSTALL_DEBUGFS variable.

Besides, this patch prints the "Install additional packages" twice.
That message should be improved as well, "Install extra debugfs
packages" looks better to me.

>      def deploy_dir_lock(self):
>          if self.deploy_dir is None:
>              raise RuntimeError("deploy_dir is not set!")
> diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py
> index ddda552263..bf3d4bcf38 100644
> --- a/meta/lib/oe/rootfs.py
> +++ b/meta/lib/oe/rootfs.py
> @@ -148,6 +148,9 @@ class Rootfs(object, metaclass=ABCMeta):
>              bb.note("  Install complementary '*-src' packages...")
>              self.pm.install_complementary('*-src')
>  
> +        bb.note("  Install additional packages...")
> +        self.pm.install_additional()
> +
>          bb.note("  Rename debug rootfs...")
>          try:
>              shutil.rmtree(self.image_rootfs + '-dbg')
> -- 
> 2.11.0

-- 
Ola x Nilsson


  reply	other threads:[~2018-10-17 10:08 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-03  9:00 [PATCH 0/1] feat(dbg-packages): possibility to add packages to debug rootfs Andrej Valek
2018-10-03  9:00 ` [PATCH 1/1] " Andrej Valek
2018-10-03 12:33   ` Ola x Nilsson
2018-10-16 14:10 ` [PATCH v2] rootfs: " Andrej Valek
2018-10-17 10:08   ` Ola x Nilsson [this message]
2018-10-17 13:24 ` [PATCH v3] " Andrej Valek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwq1s8ozxzt.fsf@axis.com \
    --to=ola.x.nilsson@axis.com \
    --cc=andrej.valek@siemens.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox