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

Gaël PORTAY gael.portay at savoirfairelinux.com
Thu Dec 7 13:38:47 PST 2017


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



More information about the poky mailing list