diff options
| author | Laurentiu Palcu <laurentiu.palcu@intel.com> | 2014-02-14 13:01:05 +0200 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-02-14 12:30:19 +0000 |
| commit | a0a045098115d94d31f6fcd3c16dd286ce16d84a (patch) | |
| tree | 93649f13ee5a5a6d0bcb1d59f90b482e81c254cd /meta/lib/oe/sdk.py | |
| parent | aed96f6a6aee74d677c4647af159174477c134ab (diff) | |
| download | poky-a0a045098115d94d31f6fcd3c16dd286ce16d84a.tar.gz | |
package_manager.py, rootfs.py, sdk.py: add Indexer class
Because the package-index.bb needs to create package indexes outside
do_rootfs environment, move the indexing capability out of
PackageManager class to a smaller Indexer class.
This commit:
* simply moves the indexing functions for ipk/deb with no changes;
* rewrites the RPM indexing function so that it can be easily moved out
of the PackageManager class;
* removes some RPM duplicate code, moves it into a method inside
RpmPM class and changes the RpmPM constructor so that the new method
is effective;
(From OE-Core rev: d339d6f48f81330e94162f333aad76f3c65d6bfd)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oe/sdk.py')
| -rw-r--r-- | meta/lib/oe/sdk.py | 48 |
1 files changed, 5 insertions, 43 deletions
diff --git a/meta/lib/oe/sdk.py b/meta/lib/oe/sdk.py index 518076e75d..01a1807160 100644 --- a/meta/lib/oe/sdk.py +++ b/meta/lib/oe/sdk.py | |||
| @@ -66,59 +66,20 @@ class RpmSdk(Sdk): | |||
| 66 | self.host_manifest = RpmManifest(d, self.manifest_dir, | 66 | self.host_manifest = RpmManifest(d, self.manifest_dir, |
| 67 | Manifest.MANIFEST_TYPE_SDK_HOST) | 67 | Manifest.MANIFEST_TYPE_SDK_HOST) |
| 68 | 68 | ||
| 69 | package_archs = { | ||
| 70 | 'default': [], | ||
| 71 | } | ||
| 72 | target_os = { | ||
| 73 | 'default': "", | ||
| 74 | } | ||
| 75 | package_archs['default'] = self.d.getVar("PACKAGE_ARCHS", True).split() | ||
| 76 | # arch order is reversed. This ensures the -best- match is | ||
| 77 | # listed first! | ||
| 78 | package_archs['default'].reverse() | ||
| 79 | target_os['default'] = self.d.getVar("TARGET_OS", True).strip() | ||
| 80 | multilibs = self.d.getVar('MULTILIBS', True) or "" | ||
| 81 | for ext in multilibs.split(): | ||
| 82 | eext = ext.split(':') | ||
| 83 | if len(eext) > 1 and eext[0] == 'multilib': | ||
| 84 | localdata = bb.data.createCopy(self.d) | ||
| 85 | default_tune_key = "DEFAULTTUNE_virtclass-multilib-" + eext[1] | ||
| 86 | default_tune = localdata.getVar(default_tune_key, False) | ||
| 87 | if default_tune: | ||
| 88 | localdata.setVar("DEFAULTTUNE", default_tune) | ||
| 89 | bb.data.update_data(localdata) | ||
| 90 | package_archs[eext[1]] = localdata.getVar('PACKAGE_ARCHS', | ||
| 91 | True).split() | ||
| 92 | package_archs[eext[1]].reverse() | ||
| 93 | target_os[eext[1]] = localdata.getVar("TARGET_OS", | ||
| 94 | True).strip() | ||
| 95 | target_providename = ['/bin/sh', | 69 | target_providename = ['/bin/sh', |
| 96 | '/bin/bash', | 70 | '/bin/bash', |
| 97 | '/usr/bin/env', | 71 | '/usr/bin/env', |
| 98 | '/usr/bin/perl', | 72 | '/usr/bin/perl', |
| 99 | 'pkgconfig' | 73 | 'pkgconfig' |
| 100 | ] | 74 | ] |
| 75 | |||
| 101 | self.target_pm = RpmPM(d, | 76 | self.target_pm = RpmPM(d, |
| 102 | self.sdk_target_sysroot, | 77 | self.sdk_target_sysroot, |
| 103 | package_archs, | ||
| 104 | target_os, | ||
| 105 | self.d.getVar('TARGET_VENDOR', True), | 78 | self.d.getVar('TARGET_VENDOR', True), |
| 106 | 'target', | 79 | 'target', |
| 107 | target_providename | 80 | target_providename |
| 108 | ) | 81 | ) |
| 109 | 82 | ||
| 110 | sdk_package_archs = { | ||
| 111 | 'default': [], | ||
| 112 | } | ||
| 113 | sdk_os = { | ||
| 114 | 'default': "", | ||
| 115 | } | ||
| 116 | sdk_package_archs['default'] = self.d.getVar("SDK_PACKAGE_ARCHS", | ||
| 117 | True).split() | ||
| 118 | # arch order is reversed. This ensures the -best- match is | ||
| 119 | # listed first! | ||
| 120 | sdk_package_archs['default'].reverse() | ||
| 121 | sdk_os['default'] = self.d.getVar("SDK_OS", True).strip() | ||
| 122 | sdk_providename = ['/bin/sh', | 83 | sdk_providename = ['/bin/sh', |
| 123 | '/bin/bash', | 84 | '/bin/bash', |
| 124 | '/usr/bin/env', | 85 | '/usr/bin/env', |
| @@ -127,13 +88,14 @@ class RpmSdk(Sdk): | |||
| 127 | 'libGL.so()(64bit)', | 88 | 'libGL.so()(64bit)', |
| 128 | 'libGL.so' | 89 | 'libGL.so' |
| 129 | ] | 90 | ] |
| 91 | |||
| 130 | self.host_pm = RpmPM(d, | 92 | self.host_pm = RpmPM(d, |
| 131 | self.sdk_host_sysroot, | 93 | self.sdk_host_sysroot, |
| 132 | sdk_package_archs, | ||
| 133 | sdk_os, | ||
| 134 | self.d.getVar('SDK_VENDOR', True), | 94 | self.d.getVar('SDK_VENDOR', True), |
| 135 | 'host', | 95 | 'host', |
| 136 | sdk_providename | 96 | sdk_providename, |
| 97 | "SDK_PACKAGE_ARCHS", | ||
| 98 | "SDK_OS" | ||
| 137 | ) | 99 | ) |
| 138 | 100 | ||
| 139 | def _populate_sysroot(self, pm, manifest): | 101 | def _populate_sysroot(self, pm, manifest): |
