summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurentiu Palcu <laurentiu.palcu@intel.com>2014-01-10 18:37:19 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-02-11 11:50:25 +0000
commitbac2e279005b601daff4d53549612ceb76a6a857 (patch)
tree23b7c15096fc51ebfb4c2972d0fe0580f68b984b
parentdc06a91144b79a152eb481f6d36f6c328321b7c4 (diff)
downloadopenembedded-core-bac2e279005b601daff4d53549612ceb76a6a857.tar.gz
openembedded-core-bac2e279005b601daff4d53549612ceb76a6a857.tar.bz2
openembedded-core-bac2e279005b601daff4d53549612ceb76a6a857.zip
lib/oe/manifest.py: create global variables for package types
Manifest class clients don't really need to know how package types are encoded. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
-rw-r--r--meta/lib/oe/manifest.py30
1 files changed, 20 insertions, 10 deletions
diff --git a/meta/lib/oe/manifest.py b/meta/lib/oe/manifest.py
index 3c5715e74a..4f61cb9d8c 100644
--- a/meta/lib/oe/manifest.py
+++ b/meta/lib/oe/manifest.py
@@ -9,6 +9,11 @@ class Manifest(object):
"""
__metaclass__ = ABCMeta
+ PKG_TYPE_MUST_INSTALL = "mip"
+ PKG_TYPE_MULTILIB = "mlp"
+ PKG_TYPE_LANGUAGE = "lgp"
+ PKG_TYPE_ATTEMPT_ONLY = "aop"
+
initial_manifest_file_header = \
"# This file was generated automatically and contains the packages\n" \
"# passed on to the package manager in order to create the rootfs.\n\n" \
@@ -33,9 +38,9 @@ class Manifest(object):
self.initial_manifest = os.path.join(self.manifest_dir, "initial_manifest")
self.final_manifest = os.path.join(self.manifest_dir, "final_manifest")
- self.var_map = {"PACKAGE_INSTALL": "mip",
- "PACKAGE_INSTALL_ATTEMPTONLY": "aop",
- "LINGUAS_INSTALL": "lgp"}
+ self.var_map = {"PACKAGE_INSTALL": self.PKG_TYPE_MUST_INSTALL,
+ "PACKAGE_INSTALL_ATTEMPTONLY": self.PKG_TYPE_ATTEMPT_ONLY,
+ "LINGUAS_INSTALL": self.PKG_TYPE_LANGUAGE}
"""
This creates a standard initial manifest for core-image-(minimal|sato|sato-sdk).
@@ -44,7 +49,7 @@ class Manifest(object):
def _create_dummy_initial(self):
pkg_list = dict()
if self.image_rootfs.find("core-image-sato-sdk") > 0:
- pkg_list['mip'] = \
+ pkg_list[self.PKG_TYPE_MUST_INSTALL] = \
"packagegroup-core-x11-sato-games packagegroup-base-extended " \
"packagegroup-core-x11-sato packagegroup-core-x11-base " \
"packagegroup-core-sdk packagegroup-core-tools-debug " \
@@ -53,17 +58,17 @@ class Manifest(object):
"apt packagegroup-core-tools-profile psplash " \
"packagegroup-core-standalone-sdk-target " \
"packagegroup-core-ssh-openssh dpkg kernel-dev"
- pkg_list['lgp'] = \
+ pkg_list[self.PKG_TYPE_LANGUAGE] = \
"locale-base-en-us locale-base-en-gb"
elif self.image_rootfs.find("core-image-sato") > 0:
- pkg_list['mip'] = \
+ pkg_list[self.PKG_TYPE_MUST_INSTALL] = \
"packagegroup-core-ssh-dropbear packagegroup-core-x11-sato-games " \
"packagegroup-core-x11-base psplash apt dpkg packagegroup-base-extended " \
"packagegroup-core-x11-sato packagegroup-core-boot"
pkg_list['lgp'] = \
"locale-base-en-us locale-base-en-gb"
elif self.image_rootfs.find("core-image-minimal") > 0:
- pkg_list['mip'] = "run-postinsts packagegroup-core-boot"
+ pkg_list[self.PKG_TYPE_MUST_INSTALL] = "run-postinsts packagegroup-core-boot"
with open(self.initial_manifest, "w+") as manifest:
manifest.write(self.initial_manifest_file_header)
@@ -97,7 +102,12 @@ class Manifest(object):
with open(self.initial_manifest) as manifest:
for line in manifest.read().split('\n'):
comment = re.match("^#.*", line)
- pkg = re.match("^(mip|aop|mlp|lgp),(.*)$", line)
+ pattern = "^(%s|%s|%s|%s),(.*)$" % \
+ (self.PKG_TYPE_MUST_INSTALL,
+ self.PKG_TYPE_ATTEMPT_ONLY,
+ self.PKG_TYPE_MULTILIB,
+ self.PKG_TYPE_LANGUAGE)
+ pkg = re.match(pattern, line)
if comment is not None:
continue
@@ -130,13 +140,13 @@ class OpkgManifest(Manifest):
pkgs = dict()
for pkg in pkg_list.split():
- pkg_type = 'mip'
+ pkg_type = self.PKG_TYPE_MUST_INSTALL
ml_variants = self.d.getVar('MULTILIB_VARIANTS', True).split()
for ml_variant in ml_variants:
if pkg.startswith(ml_variant + '-'):
- pkg_type = 'mlp'
+ pkg_type = self.PKG_TYPE_MULTILIB
if not pkg_type in pkgs:
pkgs[pkg_type] = pkg