All of lore.kernel.org
 help / color / mirror / Atom feed
From: Denys Dmytriyenko <denis@denix.org>
To: openembedded-core@lists.openembedded.org
Cc: Denys Dmytriyenko <denys@ti.com>
Subject: Re: [PATCH] sdk.py: preserve packaging data when SDKIMAGE_FEATURES has "package-management"
Date: Mon, 25 Apr 2016 12:26:19 -0400	[thread overview]
Message-ID: <20160425162619.GU16135@denix.org> (raw)
In-Reply-To: <1461264262-31937-1-git-send-email-denis@denix.org>

Any comments?


On Thu, Apr 21, 2016 at 02:44:22PM -0400, Denys Dmytriyenko wrote:
> From: Denys Dmytriyenko <denys@ti.com>
> 
> This is not enabled by default, as there are still limitations and possible
> issues with opkg (and rpm?) packaging data containing broken symlinks for
> local indexes:
> 
> http://cgit.openembedded.org/openembedded-core/commit/?id=c8e0ec2da9ad4ce1c103966906a85f68c15400dd
> 
> There are other use cases for the packaging data to be available in SDK,
> since it provides comprehensive info about SDK's contents and in the case of
> opkg and dpkg is all text-based and can be easily parsed by simple scripts.
> 
> Introduce new "package-management" flag for SDKIMAGE_FEATURES list (similar
> to the one already used for IMAGE_FEATURES) that controls presence of the
> packaging data in resulting SDK, while unifying this behavior across the
> board for supported pkg managers - rpm, opkg, dpkg.
> 
> Signed-off-by: Denys Dmytriyenko <denys@ti.com>
> ---
>  meta/lib/oe/sdk.py | 18 ++++++++++++++----
>  1 file changed, 14 insertions(+), 4 deletions(-)
> 
> diff --git a/meta/lib/oe/sdk.py b/meta/lib/oe/sdk.py
> index f15fbdb..f1bbef6 100644
> --- a/meta/lib/oe/sdk.py
> +++ b/meta/lib/oe/sdk.py
> @@ -155,14 +155,16 @@ class RpmSdk(Sdk):
>  
>          execute_pre_post_process(self.d, self.d.getVar("POPULATE_SDK_POST_TARGET_COMMAND", True))
>  
> -        self.target_pm.remove_packaging_data()
> +        if not bb.utils.contains("SDKIMAGE_FEATURES", "package-management", True, False, self.d):
> +            self.target_pm.remove_packaging_data()
>  
>          bb.note("Installing NATIVESDK packages")
>          self._populate_sysroot(self.host_pm, self.host_manifest)
>  
>          execute_pre_post_process(self.d, self.d.getVar("POPULATE_SDK_POST_HOST_COMMAND", True))
>  
> -        self.host_pm.remove_packaging_data()
> +        if not bb.utils.contains("SDKIMAGE_FEATURES", "package-management", True, False, self.d):
> +            self.host_pm.remove_packaging_data()
>  
>          # Move host RPM library data
>          native_rpm_state_dir = os.path.join(self.sdk_output,
> @@ -232,14 +234,16 @@ class OpkgSdk(Sdk):
>  
>          execute_pre_post_process(self.d, self.d.getVar("POPULATE_SDK_POST_TARGET_COMMAND", True))
>  
> -        self.target_pm.remove_packaging_data()
> +        if not bb.utils.contains("SDKIMAGE_FEATURES", "package-management", True, False, self.d):
> +            self.target_pm.remove_packaging_data()
>  
>          bb.note("Installing NATIVESDK packages")
>          self._populate_sysroot(self.host_pm, self.host_manifest)
>  
>          execute_pre_post_process(self.d, self.d.getVar("POPULATE_SDK_POST_HOST_COMMAND", True))
>  
> -        self.host_pm.remove_packaging_data()
> +        if not bb.utils.contains("SDKIMAGE_FEATURES", "package-management", True, False, self.d):
> +            self.host_pm.remove_packaging_data()
>  
>          target_sysconfdir = os.path.join(self.sdk_target_sysroot, self.sysconfdir)
>          host_sysconfdir = os.path.join(self.sdk_host_sysroot, self.sysconfdir)
> @@ -314,6 +318,9 @@ class DpkgSdk(Sdk):
>  
>          self._copy_apt_dir_to(os.path.join(self.sdk_target_sysroot, "etc", "apt"))
>  
> +        if not bb.utils.contains("SDKIMAGE_FEATURES", "package-management", True, False, self.d):
> +            self.target_pm.remove_packaging_data()
> +
>          bb.note("Installing NATIVESDK packages")
>          self._populate_sysroot(self.host_pm, self.host_manifest)
>  
> @@ -322,6 +329,9 @@ class DpkgSdk(Sdk):
>          self._copy_apt_dir_to(os.path.join(self.sdk_output, self.sdk_native_path,
>                                             "etc", "apt"))
>  
> +        if not bb.utils.contains("SDKIMAGE_FEATURES", "package-management", True, False, self.d):
> +            self.host_pm.remove_packaging_data()
> +
>          native_dpkg_state_dir = os.path.join(self.sdk_output, self.sdk_native_path,
>                                               "var", "lib", "dpkg")
>          self.mkdirhier(native_dpkg_state_dir)
> -- 
> 2.2.0
> 
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


      reply	other threads:[~2016-04-25 16:26 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-21 18:44 [PATCH] sdk.py: preserve packaging data when SDKIMAGE_FEATURES has "package-management" Denys Dmytriyenko
2016-04-25 16:26 ` Denys Dmytriyenko [this message]

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=20160425162619.GU16135@denix.org \
    --to=denis@denix.org \
    --cc=denys@ti.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.