[poky] [PATCH 1/1] package_manager.py: fix opkg custom config path

Gaël PORTAY gael.portay at savoirfairelinux.com
Thu Jan 11 10:12:47 PST 2018


Hi maintainers,

On Thu, Dec 07, 2017 at 04:38:47PM -0500, Gaël PORTAY wrote:
> The opkg custom config feature has moved to the package_manager python
> module. This feature is broken since commit 19c538f57c.
> 
> The python function os.path.join joins path components. If a component
> is an absolute path, all previous components are thrown away.
> 
> The sysconfdir variable is an absolute path component. It causes the
> leading target rootfs component to be removed. As a result, the
> package-manager module tries to write in the real root filesystem
> instead of the temporary work directory for the rootfs image.
> 
> This fixes the issue by prepending the target rootfs component using the
> string concatenation operator when the file is opened (without using
> os.path module).
> 
> Cc: Ash Charles <ash.charles at savoirfairelinux.com>
> Signed-off-by: Gaël PORTAY <gael.portay at savoirfairelinux.com>
> ---
>  meta/lib/oe/package_manager.py | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
> index ef69b18b642..642d714b51e 100644
> --- a/meta/lib/oe/package_manager.py
> +++ b/meta/lib/oe/package_manager.py
> @@ -953,12 +953,11 @@ class OpkgPM(OpkgDpkgPM):
>              """
>              if (self.d.getVar('FEED_DEPLOYDIR_BASE_URI') or "") != "":
>                  for arch in self.pkg_archs.split():
> -                    cfg_file_name = os.path.join(self.target_rootfs,
> -                                                 self.d.getVar("sysconfdir"),
> +                    cfg_file_name = os.path.join(self.d.getVar("sysconfdir", True),
>                                                   "opkg",
>                                                   "local-%s-feed.conf" % arch)
>  
> -                    with open(cfg_file_name, "w+") as cfg_file:
> +                    with open(self.target_rootfs + cfg_file_name, "w+") as cfg_file:
>                          cfg_file.write("src/gz local-%s %s/%s" %
>                                         (arch,
>                                          self.d.getVar('FEED_DEPLOYDIR_BASE_URI'),
> -- 
> 2.15.0
> 

Does anybody has any comment about this patch?

Regards,
Gael


More information about the poky mailing list