From c8e0ec2da9ad4ce1c103966906a85f68c15400dd Mon Sep 17 00:00:00 2001 From: Haris Okanovic Date: Tue, 1 Dec 2015 09:22:33 -0600 Subject: sdk.py / OpkgSdk: remove_packaging_data() after install Run remove_packaging_data() on both host and target sysroots to wipe opkg state after install, similar to what RpmSdk does. Use case: Opkg may download local package indexes (I.e. file:// URLs) by sym-linking them into /var/lib/opkg/lists/ instead of copying [1]. This leaves behind broken symlinks under the lists directory when using opkg to build SDK sysroots. The -h option may be set via SDKTAROPTS in some configurations to create symlink-less SDK archives for Windows file systems. Sysroots containing broken symlinks will fail to archive under this configuration. Testing: Verified /var/lib/opkg/ is empty after running populate_sdk() in a Fido based distribution. [1] http://git.yoctoproject.org/cgit/cgit.cgi/opkg/commit/?h=opkg-0.3.x&id=f9022a8520fcde8f1b71424d26a652c218fce685 Signed-off-by: Haris Okanovic Reviewed-by: Alejandro del Castillo Natinst-ReviewBoard-ID: 119065 Signed-off-by: Ross Burton --- meta/lib/oe/sdk.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta/lib/oe/sdk.py b/meta/lib/oe/sdk.py index 3103f48894..6affa4079b 100644 --- a/meta/lib/oe/sdk.py +++ b/meta/lib/oe/sdk.py @@ -239,11 +239,15 @@ class OpkgSdk(Sdk): execute_pre_post_process(self.d, self.d.getVar("POPULATE_SDK_POST_TARGET_COMMAND", True)) + 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() + target_sysconfdir = os.path.join(self.sdk_target_sysroot, self.sysconfdir) host_sysconfdir = os.path.join(self.sdk_host_sysroot, self.sysconfdir) -- cgit 1.2.3-korg