diff options
| -rw-r--r-- | meta/lib/oe/manifest.py | 10 | ||||
| -rw-r--r-- | meta/lib/oe/package_manager/deb/__init__.py | 4 | ||||
| -rw-r--r-- | meta/lib/oe/package_manager/deb/manifest.py | 2 | ||||
| -rw-r--r-- | meta/lib/oe/package_manager/deb/rootfs.py | 8 | ||||
| -rw-r--r-- | meta/lib/oe/package_manager/deb/sdk.py | 10 | ||||
| -rw-r--r-- | meta/lib/oe/package_manager/ipk/__init__.py | 9 | ||||
| -rw-r--r-- | meta/lib/oe/package_manager/ipk/manifest.py | 2 | ||||
| -rw-r--r-- | meta/lib/oe/package_manager/ipk/rootfs.py | 8 | ||||
| -rw-r--r-- | meta/lib/oe/package_manager/ipk/sdk.py | 10 | ||||
| -rw-r--r-- | meta/lib/oe/package_manager/rpm/__init__.py | 2 | ||||
| -rw-r--r-- | meta/lib/oe/package_manager/rpm/manifest.py | 2 | ||||
| -rw-r--r-- | meta/lib/oe/package_manager/rpm/rootfs.py | 8 | ||||
| -rw-r--r-- | meta/lib/oe/package_manager/rpm/sdk.py | 10 | ||||
| -rw-r--r-- | meta/lib/oe/rootfs.py | 36 | ||||
| -rw-r--r-- | meta/lib/oe/sdk.py | 27 |
15 files changed, 55 insertions, 93 deletions
diff --git a/meta/lib/oe/manifest.py b/meta/lib/oe/manifest.py index 47bd622412..1a058dcd73 100644 --- a/meta/lib/oe/manifest.py +++ b/meta/lib/oe/manifest.py | |||
| @@ -191,14 +191,8 @@ class Manifest(object, metaclass=ABCMeta): | |||
| 191 | 191 | ||
| 192 | def create_manifest(d, final_manifest=False, manifest_dir=None, | 192 | def create_manifest(d, final_manifest=False, manifest_dir=None, |
| 193 | manifest_type=Manifest.MANIFEST_TYPE_IMAGE): | 193 | manifest_type=Manifest.MANIFEST_TYPE_IMAGE): |
| 194 | from oe.package_manager.rpm.manifest import RpmManifest | 194 | import importlib |
| 195 | from oe.package_manager.ipk.manifest import OpkgManifest | 195 | manifest = importlib.import_module('oe.package_manager.' + d.getVar('IMAGE_PKGTYPE') + '.manifest').PkgManifest(d, manifest_dir, manifest_type) |
| 196 | from oe.package_manager.deb.manifest import DpkgManifest | ||
| 197 | manifest_map = {'rpm': RpmManifest, | ||
| 198 | 'ipk': OpkgManifest, | ||
| 199 | 'deb': DpkgManifest} | ||
| 200 | |||
| 201 | manifest = manifest_map[d.getVar('IMAGE_PKGTYPE')](d, manifest_dir, manifest_type) | ||
| 202 | 196 | ||
| 203 | if final_manifest: | 197 | if final_manifest: |
| 204 | manifest.create_final() | 198 | manifest.create_final() |
diff --git a/meta/lib/oe/package_manager/deb/__init__.py b/meta/lib/oe/package_manager/deb/__init__.py index 5120920e70..10ad707c23 100644 --- a/meta/lib/oe/package_manager/deb/__init__.py +++ b/meta/lib/oe/package_manager/deb/__init__.py | |||
| @@ -79,7 +79,7 @@ class DpkgIndexer(Indexer): | |||
| 79 | if self.d.getVar('PACKAGE_FEED_SIGN') == '1': | 79 | if self.d.getVar('PACKAGE_FEED_SIGN') == '1': |
| 80 | raise NotImplementedError('Package feed signing not implementd for dpkg') | 80 | raise NotImplementedError('Package feed signing not implementd for dpkg') |
| 81 | 81 | ||
| 82 | class DpkgPkgsList(PkgsList): | 82 | class PMPkgsList(PkgsList): |
| 83 | 83 | ||
| 84 | def list_pkgs(self): | 84 | def list_pkgs(self): |
| 85 | cmd = [bb.utils.which(os.getenv('PATH'), "dpkg-query"), | 85 | cmd = [bb.utils.which(os.getenv('PATH'), "dpkg-query"), |
| @@ -461,7 +461,7 @@ class DpkgPM(OpkgDpkgPM): | |||
| 461 | "returned %d:\n%s" % (cmd, e.returncode, e.output.decode("utf-8"))) | 461 | "returned %d:\n%s" % (cmd, e.returncode, e.output.decode("utf-8"))) |
| 462 | 462 | ||
| 463 | def list_installed(self): | 463 | def list_installed(self): |
| 464 | return DpkgPkgsList(self.d, self.target_rootfs).list_pkgs() | 464 | return PMPkgsList(self.d, self.target_rootfs).list_pkgs() |
| 465 | 465 | ||
| 466 | def package_info(self, pkg): | 466 | def package_info(self, pkg): |
| 467 | """ | 467 | """ |
diff --git a/meta/lib/oe/package_manager/deb/manifest.py b/meta/lib/oe/package_manager/deb/manifest.py index 0b12036644..d8eab24a06 100644 --- a/meta/lib/oe/package_manager/deb/manifest.py +++ b/meta/lib/oe/package_manager/deb/manifest.py | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | from oe.manifest import Manifest | 5 | from oe.manifest import Manifest |
| 6 | 6 | ||
| 7 | class DpkgManifest(Manifest): | 7 | class PkgManifest(Manifest): |
| 8 | def create_initial(self): | 8 | def create_initial(self): |
| 9 | with open(self.initial_manifest, "w+") as manifest: | 9 | with open(self.initial_manifest, "w+") as manifest: |
| 10 | manifest.write(self.initial_manifest_file_header) | 10 | manifest.write(self.initial_manifest_file_header) |
diff --git a/meta/lib/oe/package_manager/deb/rootfs.py b/meta/lib/oe/package_manager/deb/rootfs.py index 819f67eda5..8fbaca11d6 100644 --- a/meta/lib/oe/package_manager/deb/rootfs.py +++ b/meta/lib/oe/package_manager/deb/rootfs.py | |||
| @@ -7,7 +7,7 @@ import shutil | |||
| 7 | from oe.rootfs import Rootfs | 7 | from oe.rootfs import Rootfs |
| 8 | from oe.manifest import Manifest | 8 | from oe.manifest import Manifest |
| 9 | from oe.utils import execute_pre_post_process | 9 | from oe.utils import execute_pre_post_process |
| 10 | from oe.package_manager.deb.manifest import DpkgManifest | 10 | from oe.package_manager.deb.manifest import PkgManifest |
| 11 | from oe.package_manager.deb import DpkgPM | 11 | from oe.package_manager.deb import DpkgPM |
| 12 | 12 | ||
| 13 | class DpkgOpkgRootfs(Rootfs): | 13 | class DpkgOpkgRootfs(Rootfs): |
| @@ -120,9 +120,9 @@ class DpkgOpkgRootfs(Rootfs): | |||
| 120 | 120 | ||
| 121 | num += 1 | 121 | num += 1 |
| 122 | 122 | ||
| 123 | class DpkgRootfs(DpkgOpkgRootfs): | 123 | class PkgRootfs(DpkgOpkgRootfs): |
| 124 | def __init__(self, d, manifest_dir, progress_reporter=None, logcatcher=None): | 124 | def __init__(self, d, manifest_dir, progress_reporter=None, logcatcher=None): |
| 125 | super(DpkgRootfs, self).__init__(d, progress_reporter, logcatcher) | 125 | super(PkgRootfs, self).__init__(d, progress_reporter, logcatcher) |
| 126 | self.log_check_regex = '^E:' | 126 | self.log_check_regex = '^E:' |
| 127 | self.log_check_expected_regexes = \ | 127 | self.log_check_expected_regexes = \ |
| 128 | [ | 128 | [ |
| @@ -131,7 +131,7 @@ class DpkgRootfs(DpkgOpkgRootfs): | |||
| 131 | 131 | ||
| 132 | bb.utils.remove(self.image_rootfs, True) | 132 | bb.utils.remove(self.image_rootfs, True) |
| 133 | bb.utils.remove(self.d.getVar('MULTILIB_TEMP_ROOTFS'), True) | 133 | bb.utils.remove(self.d.getVar('MULTILIB_TEMP_ROOTFS'), True) |
| 134 | self.manifest = DpkgManifest(d, manifest_dir) | 134 | self.manifest = PkgManifest(d, manifest_dir) |
| 135 | self.pm = DpkgPM(d, d.getVar('IMAGE_ROOTFS'), | 135 | self.pm = DpkgPM(d, d.getVar('IMAGE_ROOTFS'), |
| 136 | d.getVar('PACKAGE_ARCHS'), | 136 | d.getVar('PACKAGE_ARCHS'), |
| 137 | d.getVar('DPKG_ARCH')) | 137 | d.getVar('DPKG_ARCH')) |
diff --git a/meta/lib/oe/package_manager/deb/sdk.py b/meta/lib/oe/package_manager/deb/sdk.py index b25eb70b00..9859d8f32d 100644 --- a/meta/lib/oe/package_manager/deb/sdk.py +++ b/meta/lib/oe/package_manager/deb/sdk.py | |||
| @@ -8,19 +8,19 @@ from oe.utils import execute_pre_post_process | |||
| 8 | from oe.sdk import Sdk | 8 | from oe.sdk import Sdk |
| 9 | from oe.manifest import Manifest | 9 | from oe.manifest import Manifest |
| 10 | from oe.package_manager.deb import DpkgPM | 10 | from oe.package_manager.deb import DpkgPM |
| 11 | from oe.package_manager.deb.manifest import PkgManifest | ||
| 11 | 12 | ||
| 12 | class DpkgSdk(Sdk): | 13 | class PkgSdk(Sdk): |
| 13 | def __init__(self, d, manifest_dir=None): | 14 | def __init__(self, d, manifest_dir=None): |
| 14 | super(DpkgSdk, self).__init__(d, manifest_dir) | 15 | super(PkgSdk, self).__init__(d, manifest_dir) |
| 15 | 16 | ||
| 16 | self.target_conf_dir = os.path.join(self.d.getVar("APTCONF_TARGET"), "apt") | 17 | self.target_conf_dir = os.path.join(self.d.getVar("APTCONF_TARGET"), "apt") |
| 17 | self.host_conf_dir = os.path.join(self.d.getVar("APTCONF_TARGET"), "apt-sdk") | 18 | self.host_conf_dir = os.path.join(self.d.getVar("APTCONF_TARGET"), "apt-sdk") |
| 18 | 19 | ||
| 19 | from oe.package_manager.deb.manifest import DpkgManifest | ||
| 20 | 20 | ||
| 21 | self.target_manifest = DpkgManifest(d, self.manifest_dir, | 21 | self.target_manifest = PkgManifest(d, self.manifest_dir, |
| 22 | Manifest.MANIFEST_TYPE_SDK_TARGET) | 22 | Manifest.MANIFEST_TYPE_SDK_TARGET) |
| 23 | self.host_manifest = DpkgManifest(d, self.manifest_dir, | 23 | self.host_manifest = PkgManifest(d, self.manifest_dir, |
| 24 | Manifest.MANIFEST_TYPE_SDK_HOST) | 24 | Manifest.MANIFEST_TYPE_SDK_HOST) |
| 25 | 25 | ||
| 26 | deb_repo_workdir = "oe-sdk-repo" | 26 | deb_repo_workdir = "oe-sdk-repo" |
diff --git a/meta/lib/oe/package_manager/ipk/__init__.py b/meta/lib/oe/package_manager/ipk/__init__.py index 9603993a59..416ed23d47 100644 --- a/meta/lib/oe/package_manager/ipk/__init__.py +++ b/meta/lib/oe/package_manager/ipk/__init__.py | |||
| @@ -59,9 +59,10 @@ class OpkgIndexer(Indexer): | |||
| 59 | self.d.getVar('PACKAGE_FEED_GPG_PASSPHRASE_FILE'), | 59 | self.d.getVar('PACKAGE_FEED_GPG_PASSPHRASE_FILE'), |
| 60 | armor=is_ascii_sig) | 60 | armor=is_ascii_sig) |
| 61 | 61 | ||
| 62 | class OpkgPkgsList(PkgsList): | 62 | class PMPkgsList(PkgsList): |
| 63 | def __init__(self, d, rootfs_dir, config_file): | 63 | def __init__(self, d, rootfs_dir): |
| 64 | super(OpkgPkgsList, self).__init__(d, rootfs_dir) | 64 | super(PMPkgsList, self).__init__(d, rootfs_dir) |
| 65 | config_file = d.getVar("IPKGCONF_TARGET") | ||
| 65 | 66 | ||
| 66 | self.opkg_cmd = bb.utils.which(os.getenv('PATH'), "opkg") | 67 | self.opkg_cmd = bb.utils.which(os.getenv('PATH'), "opkg") |
| 67 | self.opkg_args = "-f %s -o %s " % (config_file, rootfs_dir) | 68 | self.opkg_args = "-f %s -o %s " % (config_file, rootfs_dir) |
| @@ -416,7 +417,7 @@ class OpkgPM(OpkgDpkgPM): | |||
| 416 | bb.utils.remove(os.path.join(self.opkg_dir, "lists"), True) | 417 | bb.utils.remove(os.path.join(self.opkg_dir, "lists"), True) |
| 417 | 418 | ||
| 418 | def list_installed(self): | 419 | def list_installed(self): |
| 419 | return OpkgPkgsList(self.d, self.target_rootfs, self.config_file).list_pkgs() | 420 | return PMPkgsList(self.d, self.target_rootfs).list_pkgs() |
| 420 | 421 | ||
| 421 | def dummy_install(self, pkgs): | 422 | def dummy_install(self, pkgs): |
| 422 | """ | 423 | """ |
diff --git a/meta/lib/oe/package_manager/ipk/manifest.py b/meta/lib/oe/package_manager/ipk/manifest.py index 69676903ab..ee4b57bcb0 100644 --- a/meta/lib/oe/package_manager/ipk/manifest.py +++ b/meta/lib/oe/package_manager/ipk/manifest.py | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | from oe.manifest import Manifest | 5 | from oe.manifest import Manifest |
| 6 | 6 | ||
| 7 | class OpkgManifest(Manifest): | 7 | class PkgManifest(Manifest): |
| 8 | """ | 8 | """ |
| 9 | Returns a dictionary object with mip and mlp packages. | 9 | Returns a dictionary object with mip and mlp packages. |
| 10 | """ | 10 | """ |
diff --git a/meta/lib/oe/package_manager/ipk/rootfs.py b/meta/lib/oe/package_manager/ipk/rootfs.py index 63b4a59c40..26dbee6f6a 100644 --- a/meta/lib/oe/package_manager/ipk/rootfs.py +++ b/meta/lib/oe/package_manager/ipk/rootfs.py | |||
| @@ -8,7 +8,7 @@ import shutil | |||
| 8 | from oe.rootfs import Rootfs | 8 | from oe.rootfs import Rootfs |
| 9 | from oe.manifest import Manifest | 9 | from oe.manifest import Manifest |
| 10 | from oe.utils import execute_pre_post_process | 10 | from oe.utils import execute_pre_post_process |
| 11 | from oe.package_manager.ipk.manifest import OpkgManifest | 11 | from oe.package_manager.ipk.manifest import PkgManifest |
| 12 | from oe.package_manager.ipk import OpkgPM | 12 | from oe.package_manager.ipk import OpkgPM |
| 13 | 13 | ||
| 14 | class DpkgOpkgRootfs(Rootfs): | 14 | class DpkgOpkgRootfs(Rootfs): |
| @@ -121,12 +121,12 @@ class DpkgOpkgRootfs(Rootfs): | |||
| 121 | 121 | ||
| 122 | num += 1 | 122 | num += 1 |
| 123 | 123 | ||
| 124 | class OpkgRootfs(DpkgOpkgRootfs): | 124 | class PkgRootfs(DpkgOpkgRootfs): |
| 125 | def __init__(self, d, manifest_dir, progress_reporter=None, logcatcher=None): | 125 | def __init__(self, d, manifest_dir, progress_reporter=None, logcatcher=None): |
| 126 | super(OpkgRootfs, self).__init__(d, progress_reporter, logcatcher) | 126 | super(PkgRootfs, self).__init__(d, progress_reporter, logcatcher) |
| 127 | self.log_check_regex = '(exit 1|Collected errors)' | 127 | self.log_check_regex = '(exit 1|Collected errors)' |
| 128 | 128 | ||
| 129 | self.manifest = OpkgManifest(d, manifest_dir) | 129 | self.manifest = PkgManifest(d, manifest_dir) |
| 130 | self.opkg_conf = self.d.getVar("IPKGCONF_TARGET") | 130 | self.opkg_conf = self.d.getVar("IPKGCONF_TARGET") |
| 131 | self.pkg_archs = self.d.getVar("ALL_MULTILIB_PACKAGE_ARCHS") | 131 | self.pkg_archs = self.d.getVar("ALL_MULTILIB_PACKAGE_ARCHS") |
| 132 | 132 | ||
diff --git a/meta/lib/oe/package_manager/ipk/sdk.py b/meta/lib/oe/package_manager/ipk/sdk.py index 47c0a92c1b..37af0344eb 100644 --- a/meta/lib/oe/package_manager/ipk/sdk.py +++ b/meta/lib/oe/package_manager/ipk/sdk.py | |||
| @@ -6,20 +6,20 @@ import glob | |||
| 6 | import shutil | 6 | import shutil |
| 7 | from oe.utils import execute_pre_post_process | 7 | from oe.utils import execute_pre_post_process |
| 8 | from oe.sdk import Sdk | 8 | from oe.sdk import Sdk |
| 9 | from oe.package_manager.ipk.manifest import PkgManifest | ||
| 9 | from oe.manifest import Manifest | 10 | from oe.manifest import Manifest |
| 10 | from oe.package_manager.ipk import OpkgPM | 11 | from oe.package_manager.ipk import OpkgPM |
| 11 | 12 | ||
| 12 | class OpkgSdk(Sdk): | 13 | class PkgSdk(Sdk): |
| 13 | def __init__(self, d, manifest_dir=None): | 14 | def __init__(self, d, manifest_dir=None): |
| 14 | super(OpkgSdk, self).__init__(d, manifest_dir) | 15 | super(PkgSdk, self).__init__(d, manifest_dir) |
| 15 | 16 | ||
| 16 | self.target_conf = self.d.getVar("IPKGCONF_TARGET") | 17 | self.target_conf = self.d.getVar("IPKGCONF_TARGET") |
| 17 | self.host_conf = self.d.getVar("IPKGCONF_SDK") | 18 | self.host_conf = self.d.getVar("IPKGCONF_SDK") |
| 18 | 19 | ||
| 19 | from oe.package_manager.ipk.manifest import OpkgManifest | 20 | self.target_manifest = PkgManifest(d, self.manifest_dir, |
| 20 | self.target_manifest = OpkgManifest(d, self.manifest_dir, | ||
| 21 | Manifest.MANIFEST_TYPE_SDK_TARGET) | 21 | Manifest.MANIFEST_TYPE_SDK_TARGET) |
| 22 | self.host_manifest = OpkgManifest(d, self.manifest_dir, | 22 | self.host_manifest = PkgManifest(d, self.manifest_dir, |
| 23 | Manifest.MANIFEST_TYPE_SDK_HOST) | 23 | Manifest.MANIFEST_TYPE_SDK_HOST) |
| 24 | 24 | ||
| 25 | ipk_repo_workdir = "oe-sdk-repo" | 25 | ipk_repo_workdir = "oe-sdk-repo" |
diff --git a/meta/lib/oe/package_manager/rpm/__init__.py b/meta/lib/oe/package_manager/rpm/__init__.py index c91f61ae5c..898184442f 100644 --- a/meta/lib/oe/package_manager/rpm/__init__.py +++ b/meta/lib/oe/package_manager/rpm/__init__.py | |||
| @@ -43,7 +43,7 @@ class RpmSubdirIndexer(RpmIndexer): | |||
| 43 | self.do_write_index(dir_path) | 43 | self.do_write_index(dir_path) |
| 44 | 44 | ||
| 45 | 45 | ||
| 46 | class RpmPkgsList(PkgsList): | 46 | class PMPkgsList(PkgsList): |
| 47 | def list_pkgs(self): | 47 | def list_pkgs(self): |
| 48 | return RpmPM(self.d, self.rootfs_dir, self.d.getVar('TARGET_VENDOR'), needfeed=False).list_installed() | 48 | return RpmPM(self.d, self.rootfs_dir, self.d.getVar('TARGET_VENDOR'), needfeed=False).list_installed() |
| 49 | 49 | ||
diff --git a/meta/lib/oe/package_manager/rpm/manifest.py b/meta/lib/oe/package_manager/rpm/manifest.py index a75f6bdabf..e6604b301f 100644 --- a/meta/lib/oe/package_manager/rpm/manifest.py +++ b/meta/lib/oe/package_manager/rpm/manifest.py | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | from oe.manifest import Manifest | 5 | from oe.manifest import Manifest |
| 6 | 6 | ||
| 7 | class RpmManifest(Manifest): | 7 | class PkgManifest(Manifest): |
| 8 | """ | 8 | """ |
| 9 | Returns a dictionary object with mip and mlp packages. | 9 | Returns a dictionary object with mip and mlp packages. |
| 10 | """ | 10 | """ |
diff --git a/meta/lib/oe/package_manager/rpm/rootfs.py b/meta/lib/oe/package_manager/rpm/rootfs.py index 2de5752b91..00d07cd9cc 100644 --- a/meta/lib/oe/package_manager/rpm/rootfs.py +++ b/meta/lib/oe/package_manager/rpm/rootfs.py | |||
| @@ -5,17 +5,17 @@ | |||
| 5 | from oe.rootfs import Rootfs | 5 | from oe.rootfs import Rootfs |
| 6 | from oe.manifest import Manifest | 6 | from oe.manifest import Manifest |
| 7 | from oe.utils import execute_pre_post_process | 7 | from oe.utils import execute_pre_post_process |
| 8 | from oe.package_manager.rpm.manifest import RpmManifest | 8 | from oe.package_manager.rpm.manifest import PkgManifest |
| 9 | from oe.package_manager.rpm import RpmPM | 9 | from oe.package_manager.rpm import RpmPM |
| 10 | 10 | ||
| 11 | class RpmRootfs(Rootfs): | 11 | class PkgRootfs(Rootfs): |
| 12 | def __init__(self, d, manifest_dir, progress_reporter=None, logcatcher=None): | 12 | def __init__(self, d, manifest_dir, progress_reporter=None, logcatcher=None): |
| 13 | super(RpmRootfs, self).__init__(d, progress_reporter, logcatcher) | 13 | super(PkgRootfs, self).__init__(d, progress_reporter, logcatcher) |
| 14 | self.log_check_regex = r'(unpacking of archive failed|Cannot find package'\ | 14 | self.log_check_regex = r'(unpacking of archive failed|Cannot find package'\ |
| 15 | r'|exit 1|ERROR: |Error: |Error |ERROR '\ | 15 | r'|exit 1|ERROR: |Error: |Error |ERROR '\ |
| 16 | r'|Failed |Failed: |Failed$|Failed\(\d+\):)' | 16 | r'|Failed |Failed: |Failed$|Failed\(\d+\):)' |
| 17 | 17 | ||
| 18 | self.manifest = RpmManifest(d, manifest_dir) | 18 | self.manifest = PkgManifest(d, manifest_dir) |
| 19 | 19 | ||
| 20 | self.pm = RpmPM(d, | 20 | self.pm = RpmPM(d, |
| 21 | d.getVar('IMAGE_ROOTFS'), | 21 | d.getVar('IMAGE_ROOTFS'), |
diff --git a/meta/lib/oe/package_manager/rpm/sdk.py b/meta/lib/oe/package_manager/rpm/sdk.py index b14b155a85..c5f232431f 100644 --- a/meta/lib/oe/package_manager/rpm/sdk.py +++ b/meta/lib/oe/package_manager/rpm/sdk.py | |||
| @@ -6,16 +6,16 @@ import glob | |||
| 6 | from oe.utils import execute_pre_post_process | 6 | from oe.utils import execute_pre_post_process |
| 7 | from oe.sdk import Sdk | 7 | from oe.sdk import Sdk |
| 8 | from oe.manifest import Manifest | 8 | from oe.manifest import Manifest |
| 9 | from oe.package_manager.rpm.manifest import PkgManifest | ||
| 9 | from oe.package_manager.rpm import RpmPM | 10 | from oe.package_manager.rpm import RpmPM |
| 10 | 11 | ||
| 11 | class RpmSdk(Sdk): | 12 | class PkgSdk(Sdk): |
| 12 | def __init__(self, d, manifest_dir=None, rpm_workdir="oe-sdk-repo"): | 13 | def __init__(self, d, manifest_dir=None, rpm_workdir="oe-sdk-repo"): |
| 13 | super(RpmSdk, self).__init__(d, manifest_dir) | 14 | super(PkgSdk, self).__init__(d, manifest_dir) |
| 14 | 15 | ||
| 15 | from oe.package_manager.rpm.manifest import RpmManifest | 16 | self.target_manifest = PkgManifest(d, self.manifest_dir, |
| 16 | self.target_manifest = RpmManifest(d, self.manifest_dir, | ||
| 17 | Manifest.MANIFEST_TYPE_SDK_TARGET) | 17 | Manifest.MANIFEST_TYPE_SDK_TARGET) |
| 18 | self.host_manifest = RpmManifest(d, self.manifest_dir, | 18 | self.host_manifest = PkgManifest(d, self.manifest_dir, |
| 19 | Manifest.MANIFEST_TYPE_SDK_HOST) | 19 | Manifest.MANIFEST_TYPE_SDK_HOST) |
| 20 | 20 | ||
| 21 | rpm_repo_workdir = "oe-sdk-repo" | 21 | rpm_repo_workdir = "oe-sdk-repo" |
diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py index 4e09eae6b9..4b747dd0f4 100644 --- a/meta/lib/oe/rootfs.py +++ b/meta/lib/oe/rootfs.py | |||
| @@ -10,12 +10,6 @@ import shutil | |||
| 10 | import os | 10 | import os |
| 11 | import subprocess | 11 | import subprocess |
| 12 | import re | 12 | import re |
| 13 | from oe.package_manager.rpm.manifest import RpmManifest | ||
| 14 | from oe.package_manager.ipk.manifest import OpkgManifest | ||
| 15 | from oe.package_manager.deb.manifest import DpkgManifest | ||
| 16 | from oe.package_manager.rpm import RpmPkgsList | ||
| 17 | from oe.package_manager.ipk import OpkgPkgsList | ||
| 18 | from oe.package_manager.deb import DpkgPkgsList | ||
| 19 | 13 | ||
| 20 | class Rootfs(object, metaclass=ABCMeta): | 14 | class Rootfs(object, metaclass=ABCMeta): |
| 21 | """ | 15 | """ |
| @@ -360,12 +354,9 @@ class Rootfs(object, metaclass=ABCMeta): | |||
| 360 | 354 | ||
| 361 | 355 | ||
| 362 | def get_class_for_type(imgtype): | 356 | def get_class_for_type(imgtype): |
| 363 | from oe.package_manager.rpm.rootfs import RpmRootfs | 357 | import importlib |
| 364 | from oe.package_manager.ipk.rootfs import OpkgRootfs | 358 | mod = importlib.import_module('oe.package_manager.' + imgtype + '.rootfs') |
| 365 | from oe.package_manager.deb.rootfs import DpkgRootfs | 359 | return mod.PkgRootfs |
| 366 | return {"rpm": RpmRootfs, | ||
| 367 | "ipk": OpkgRootfs, | ||
| 368 | "deb": DpkgRootfs}[imgtype] | ||
| 369 | 360 | ||
| 370 | def variable_depends(d, manifest_dir=None): | 361 | def variable_depends(d, manifest_dir=None): |
| 371 | img_type = d.getVar('IMAGE_PKGTYPE') | 362 | img_type = d.getVar('IMAGE_PKGTYPE') |
| @@ -375,17 +366,10 @@ def variable_depends(d, manifest_dir=None): | |||
| 375 | def create_rootfs(d, manifest_dir=None, progress_reporter=None, logcatcher=None): | 366 | def create_rootfs(d, manifest_dir=None, progress_reporter=None, logcatcher=None): |
| 376 | env_bkp = os.environ.copy() | 367 | env_bkp = os.environ.copy() |
| 377 | 368 | ||
| 378 | from oe.package_manager.rpm.rootfs import RpmRootfs | ||
| 379 | from oe.package_manager.ipk.rootfs import OpkgRootfs | ||
| 380 | from oe.package_manager.deb.rootfs import DpkgRootfs | ||
| 381 | img_type = d.getVar('IMAGE_PKGTYPE') | 369 | img_type = d.getVar('IMAGE_PKGTYPE') |
| 382 | if img_type == "rpm": | ||
| 383 | RpmRootfs(d, manifest_dir, progress_reporter, logcatcher).create() | ||
| 384 | elif img_type == "ipk": | ||
| 385 | OpkgRootfs(d, manifest_dir, progress_reporter, logcatcher).create() | ||
| 386 | elif img_type == "deb": | ||
| 387 | DpkgRootfs(d, manifest_dir, progress_reporter, logcatcher).create() | ||
| 388 | 370 | ||
| 371 | cls = get_class_for_type(img_type) | ||
| 372 | cls(d, manifest_dir, progress_reporter, logcatcher).create() | ||
| 389 | os.environ.clear() | 373 | os.environ.clear() |
| 390 | os.environ.update(env_bkp) | 374 | os.environ.update(env_bkp) |
| 391 | 375 | ||
| @@ -395,12 +379,10 @@ def image_list_installed_packages(d, rootfs_dir=None): | |||
| 395 | rootfs_dir = d.getVar('IMAGE_ROOTFS') | 379 | rootfs_dir = d.getVar('IMAGE_ROOTFS') |
| 396 | 380 | ||
| 397 | img_type = d.getVar('IMAGE_PKGTYPE') | 381 | img_type = d.getVar('IMAGE_PKGTYPE') |
| 398 | if img_type == "rpm": | 382 | |
| 399 | return RpmPkgsList(d, rootfs_dir).list_pkgs() | 383 | import importlib |
| 400 | elif img_type == "ipk": | 384 | cls = importlib.import_module('oe.package_manager.' + img_type) |
| 401 | return OpkgPkgsList(d, rootfs_dir, d.getVar("IPKGCONF_TARGET")).list_pkgs() | 385 | return cls.PMPkgsList(d, rootfs_dir).list_pkgs() |
| 402 | elif img_type == "deb": | ||
| 403 | return DpkgPkgsList(d, rootfs_dir).list_pkgs() | ||
| 404 | 386 | ||
| 405 | if __name__ == "__main__": | 387 | if __name__ == "__main__": |
| 406 | """ | 388 | """ |
diff --git a/meta/lib/oe/sdk.py b/meta/lib/oe/sdk.py index fdcadcb8de..37b59afd1a 100644 --- a/meta/lib/oe/sdk.py +++ b/meta/lib/oe/sdk.py | |||
| @@ -115,33 +115,18 @@ def sdk_list_installed_packages(d, target, rootfs_dir=None): | |||
| 115 | 115 | ||
| 116 | rootfs_dir = [sdk_output, os.path.join(sdk_output, target_path)][target is True] | 116 | rootfs_dir = [sdk_output, os.path.join(sdk_output, target_path)][target is True] |
| 117 | 117 | ||
| 118 | from oe.package_manager.rpm import RpmPkgsList | ||
| 119 | from oe.package_manager.ipk import OpkgPkgsList | ||
| 120 | from oe.package_manager.deb import DpkgPkgsList | ||
| 121 | img_type = d.getVar('IMAGE_PKGTYPE') | 118 | img_type = d.getVar('IMAGE_PKGTYPE') |
| 122 | if img_type == "rpm": | 119 | import importlib |
| 123 | arch_var = ["SDK_PACKAGE_ARCHS", None][target is True] | 120 | cls = importlib.import_module('oe.package_manager.' + img_type) |
| 124 | os_var = ["SDK_OS", None][target is True] | 121 | return cls.PMPkgsList(d, rootfs_dir).list_pkgs() |
| 125 | return RpmPkgsList(d, rootfs_dir).list_pkgs() | ||
| 126 | elif img_type == "ipk": | ||
| 127 | conf_file_var = ["IPKGCONF_SDK", "IPKGCONF_TARGET"][target is True] | ||
| 128 | return OpkgPkgsList(d, rootfs_dir, d.getVar(conf_file_var)).list_pkgs() | ||
| 129 | elif img_type == "deb": | ||
| 130 | return DpkgPkgsList(d, rootfs_dir).list_pkgs() | ||
| 131 | 122 | ||
| 132 | def populate_sdk(d, manifest_dir=None): | 123 | def populate_sdk(d, manifest_dir=None): |
| 133 | env_bkp = os.environ.copy() | 124 | env_bkp = os.environ.copy() |
| 134 | 125 | ||
| 135 | img_type = d.getVar('IMAGE_PKGTYPE') | 126 | img_type = d.getVar('IMAGE_PKGTYPE') |
| 136 | from oe.package_manager.rpm.sdk import RpmSdk | 127 | import importlib |
| 137 | from oe.package_manager.ipk.sdk import OpkgSdk | 128 | cls = importlib.import_module('oe.package_manager.' + img_type + '.sdk') |
| 138 | from oe.package_manager.deb.sdk import DpkgSdk | 129 | cls.PkgSdk(d, manifest_dir).populate() |
| 139 | if img_type == "rpm": | ||
| 140 | RpmSdk(d, manifest_dir).populate() | ||
| 141 | elif img_type == "ipk": | ||
| 142 | OpkgSdk(d, manifest_dir).populate() | ||
| 143 | elif img_type == "deb": | ||
| 144 | DpkgSdk(d, manifest_dir).populate() | ||
| 145 | 130 | ||
| 146 | os.environ.clear() | 131 | os.environ.clear() |
| 147 | os.environ.update(env_bkp) | 132 | os.environ.update(env_bkp) |
