diff options
author | Haris Okanovic <haris.okanovic@ni.com> | 2015-12-01 09:22:33 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-12-09 08:48:25 +0000 |
commit | 639cadd6f9a1ec795443081d7f1ca1ab530d385a (patch) | |
tree | e98835bf42982f8a7eed63845b62408e226d8e86 /meta/lib | |
parent | fd4894fcb44d1abef1dcc3a6a44bc78b2dbdf45a (diff) | |
download | poky-639cadd6f9a1ec795443081d7f1ca1ab530d385a.tar.gz |
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
(From OE-Core rev: c8e0ec2da9ad4ce1c103966906a85f68c15400dd)
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>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
-rw-r--r-- | meta/lib/oe/sdk.py | 4 |
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): | |||
239 | 239 | ||
240 | execute_pre_post_process(self.d, self.d.getVar("POPULATE_SDK_POST_TARGET_COMMAND", True)) | 240 | execute_pre_post_process(self.d, self.d.getVar("POPULATE_SDK_POST_TARGET_COMMAND", True)) |
241 | 241 | ||
242 | self.target_pm.remove_packaging_data() | ||
243 | |||
242 | bb.note("Installing NATIVESDK packages") | 244 | bb.note("Installing NATIVESDK packages") |
243 | self._populate_sysroot(self.host_pm, self.host_manifest) | 245 | self._populate_sysroot(self.host_pm, self.host_manifest) |
244 | 246 | ||
245 | execute_pre_post_process(self.d, self.d.getVar("POPULATE_SDK_POST_HOST_COMMAND", True)) | 247 | execute_pre_post_process(self.d, self.d.getVar("POPULATE_SDK_POST_HOST_COMMAND", True)) |
246 | 248 | ||
249 | self.host_pm.remove_packaging_data() | ||
250 | |||
247 | target_sysconfdir = os.path.join(self.sdk_target_sysroot, self.sysconfdir) | 251 | target_sysconfdir = os.path.join(self.sdk_target_sysroot, self.sysconfdir) |
248 | host_sysconfdir = os.path.join(self.sdk_host_sysroot, self.sysconfdir) | 252 | host_sysconfdir = os.path.join(self.sdk_host_sysroot, self.sysconfdir) |
249 | 253 | ||