diff options
| author | Laurentiu Palcu <laurentiu.palcu@intel.com> | 2014-01-10 18:37:19 +0200 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-02-11 11:53:38 +0000 |
| commit | 2ead36fabdfda0c472d412af0789be766b64688b (patch) | |
| tree | 0540ea824a543f6eacf6484dc3ccc7d817870296 /meta/lib | |
| parent | ab14336a2542579ef0170e2f7add443c33179de1 (diff) | |
| download | poky-2ead36fabdfda0c472d412af0789be766b64688b.tar.gz | |
lib/oe/manifest.py: create global variables for package types
Manifest class clients don't really need to know how package types are
encoded.
(From OE-Core rev: bac2e279005b601daff4d53549612ceb76a6a857)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
| -rw-r--r-- | meta/lib/oe/manifest.py | 30 |
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): | |||
| 9 | """ | 9 | """ |
| 10 | __metaclass__ = ABCMeta | 10 | __metaclass__ = ABCMeta |
| 11 | 11 | ||
| 12 | PKG_TYPE_MUST_INSTALL = "mip" | ||
| 13 | PKG_TYPE_MULTILIB = "mlp" | ||
| 14 | PKG_TYPE_LANGUAGE = "lgp" | ||
| 15 | PKG_TYPE_ATTEMPT_ONLY = "aop" | ||
| 16 | |||
| 12 | initial_manifest_file_header = \ | 17 | initial_manifest_file_header = \ |
| 13 | "# This file was generated automatically and contains the packages\n" \ | 18 | "# This file was generated automatically and contains the packages\n" \ |
| 14 | "# passed on to the package manager in order to create the rootfs.\n\n" \ | 19 | "# passed on to the package manager in order to create the rootfs.\n\n" \ |
| @@ -33,9 +38,9 @@ class Manifest(object): | |||
| 33 | self.initial_manifest = os.path.join(self.manifest_dir, "initial_manifest") | 38 | self.initial_manifest = os.path.join(self.manifest_dir, "initial_manifest") |
| 34 | self.final_manifest = os.path.join(self.manifest_dir, "final_manifest") | 39 | self.final_manifest = os.path.join(self.manifest_dir, "final_manifest") |
| 35 | 40 | ||
| 36 | self.var_map = {"PACKAGE_INSTALL": "mip", | 41 | self.var_map = {"PACKAGE_INSTALL": self.PKG_TYPE_MUST_INSTALL, |
| 37 | "PACKAGE_INSTALL_ATTEMPTONLY": "aop", | 42 | "PACKAGE_INSTALL_ATTEMPTONLY": self.PKG_TYPE_ATTEMPT_ONLY, |
| 38 | "LINGUAS_INSTALL": "lgp"} | 43 | "LINGUAS_INSTALL": self.PKG_TYPE_LANGUAGE} |
| 39 | 44 | ||
| 40 | """ | 45 | """ |
| 41 | This creates a standard initial manifest for core-image-(minimal|sato|sato-sdk). | 46 | This creates a standard initial manifest for core-image-(minimal|sato|sato-sdk). |
| @@ -44,7 +49,7 @@ class Manifest(object): | |||
| 44 | def _create_dummy_initial(self): | 49 | def _create_dummy_initial(self): |
| 45 | pkg_list = dict() | 50 | pkg_list = dict() |
| 46 | if self.image_rootfs.find("core-image-sato-sdk") > 0: | 51 | if self.image_rootfs.find("core-image-sato-sdk") > 0: |
| 47 | pkg_list['mip'] = \ | 52 | pkg_list[self.PKG_TYPE_MUST_INSTALL] = \ |
| 48 | "packagegroup-core-x11-sato-games packagegroup-base-extended " \ | 53 | "packagegroup-core-x11-sato-games packagegroup-base-extended " \ |
| 49 | "packagegroup-core-x11-sato packagegroup-core-x11-base " \ | 54 | "packagegroup-core-x11-sato packagegroup-core-x11-base " \ |
| 50 | "packagegroup-core-sdk packagegroup-core-tools-debug " \ | 55 | "packagegroup-core-sdk packagegroup-core-tools-debug " \ |
| @@ -53,17 +58,17 @@ class Manifest(object): | |||
| 53 | "apt packagegroup-core-tools-profile psplash " \ | 58 | "apt packagegroup-core-tools-profile psplash " \ |
| 54 | "packagegroup-core-standalone-sdk-target " \ | 59 | "packagegroup-core-standalone-sdk-target " \ |
| 55 | "packagegroup-core-ssh-openssh dpkg kernel-dev" | 60 | "packagegroup-core-ssh-openssh dpkg kernel-dev" |
| 56 | pkg_list['lgp'] = \ | 61 | pkg_list[self.PKG_TYPE_LANGUAGE] = \ |
| 57 | "locale-base-en-us locale-base-en-gb" | 62 | "locale-base-en-us locale-base-en-gb" |
| 58 | elif self.image_rootfs.find("core-image-sato") > 0: | 63 | elif self.image_rootfs.find("core-image-sato") > 0: |
| 59 | pkg_list['mip'] = \ | 64 | pkg_list[self.PKG_TYPE_MUST_INSTALL] = \ |
| 60 | "packagegroup-core-ssh-dropbear packagegroup-core-x11-sato-games " \ | 65 | "packagegroup-core-ssh-dropbear packagegroup-core-x11-sato-games " \ |
| 61 | "packagegroup-core-x11-base psplash apt dpkg packagegroup-base-extended " \ | 66 | "packagegroup-core-x11-base psplash apt dpkg packagegroup-base-extended " \ |
| 62 | "packagegroup-core-x11-sato packagegroup-core-boot" | 67 | "packagegroup-core-x11-sato packagegroup-core-boot" |
| 63 | pkg_list['lgp'] = \ | 68 | pkg_list['lgp'] = \ |
| 64 | "locale-base-en-us locale-base-en-gb" | 69 | "locale-base-en-us locale-base-en-gb" |
| 65 | elif self.image_rootfs.find("core-image-minimal") > 0: | 70 | elif self.image_rootfs.find("core-image-minimal") > 0: |
| 66 | pkg_list['mip'] = "run-postinsts packagegroup-core-boot" | 71 | pkg_list[self.PKG_TYPE_MUST_INSTALL] = "run-postinsts packagegroup-core-boot" |
| 67 | 72 | ||
| 68 | with open(self.initial_manifest, "w+") as manifest: | 73 | with open(self.initial_manifest, "w+") as manifest: |
| 69 | manifest.write(self.initial_manifest_file_header) | 74 | manifest.write(self.initial_manifest_file_header) |
| @@ -97,7 +102,12 @@ class Manifest(object): | |||
| 97 | with open(self.initial_manifest) as manifest: | 102 | with open(self.initial_manifest) as manifest: |
| 98 | for line in manifest.read().split('\n'): | 103 | for line in manifest.read().split('\n'): |
| 99 | comment = re.match("^#.*", line) | 104 | comment = re.match("^#.*", line) |
| 100 | pkg = re.match("^(mip|aop|mlp|lgp),(.*)$", line) | 105 | pattern = "^(%s|%s|%s|%s),(.*)$" % \ |
| 106 | (self.PKG_TYPE_MUST_INSTALL, | ||
| 107 | self.PKG_TYPE_ATTEMPT_ONLY, | ||
| 108 | self.PKG_TYPE_MULTILIB, | ||
| 109 | self.PKG_TYPE_LANGUAGE) | ||
| 110 | pkg = re.match(pattern, line) | ||
| 101 | 111 | ||
| 102 | if comment is not None: | 112 | if comment is not None: |
| 103 | continue | 113 | continue |
| @@ -130,13 +140,13 @@ class OpkgManifest(Manifest): | |||
| 130 | pkgs = dict() | 140 | pkgs = dict() |
| 131 | 141 | ||
| 132 | for pkg in pkg_list.split(): | 142 | for pkg in pkg_list.split(): |
| 133 | pkg_type = 'mip' | 143 | pkg_type = self.PKG_TYPE_MUST_INSTALL |
| 134 | 144 | ||
| 135 | ml_variants = self.d.getVar('MULTILIB_VARIANTS', True).split() | 145 | ml_variants = self.d.getVar('MULTILIB_VARIANTS', True).split() |
| 136 | 146 | ||
| 137 | for ml_variant in ml_variants: | 147 | for ml_variant in ml_variants: |
| 138 | if pkg.startswith(ml_variant + '-'): | 148 | if pkg.startswith(ml_variant + '-'): |
| 139 | pkg_type = 'mlp' | 149 | pkg_type = self.PKG_TYPE_MULTILIB |
| 140 | 150 | ||
| 141 | if not pkg_type in pkgs: | 151 | if not pkg_type in pkgs: |
| 142 | pkgs[pkg_type] = pkg | 152 | pkgs[pkg_type] = pkg |
