summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHaris Okanovic <haris.okanovic@ni.com>2015-12-01 09:22:33 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-12-09 08:47:28 +0000
commitc8e0ec2da9ad4ce1c103966906a85f68c15400dd (patch)
treea275ba412b09a8f8ebd771b8e48d756db4575380
parent7ce4c18a4ba1ebcb9f46e652a881ace1f21d2292 (diff)
downloadopenembedded-core-contrib-c8e0ec2da9ad4ce1c103966906a85f68c15400dd.tar.gz
openembedded-core-contrib-c8e0ec2da9ad4ce1c103966906a85f68c15400dd.tar.bz2
openembedded-core-contrib-c8e0ec2da9ad4ce1c103966906a85f68c15400dd.zip
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 <haris.okanovic@ni.com> Reviewed-by: Alejandro del Castillo <alejandro.delcastillo@ni.com> Natinst-ReviewBoard-ID: 119065 Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r--meta/lib/oe/sdk.py4
1 files changed, 4 insertions, 0 deletions
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)