diff options
Diffstat (limited to 'meta/lib/oe/rootfs.py')
-rw-r--r-- | meta/lib/oe/rootfs.py | 36 |
1 files changed, 9 insertions, 27 deletions
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 | """ |