diff options
author | Laurentiu Palcu <laurentiu.palcu@intel.com> | 2014-02-25 14:36:17 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-02-25 17:50:26 +0000 |
commit | 16d271c14bd2f98391aee52a11593480acefee6b (patch) | |
tree | 3eae8a07162503bfb6652daf4e8c931ea52334e4 | |
parent | 72576e2d04dc8b43ae0d7f31cddd74318f52103e (diff) | |
download | poky-16d271c14bd2f98391aee52a11593480acefee6b.tar.gz |
package_manager.py: create index files for all backends in PACKAGE_CLASSES
The previous implementation was checking IMAGE_PKGTYPE and created the
index files just for the backend used to create the image. Apparently,
'bitbake package-index' should attempt to create the index files for all
backends specified in PACKAGE_CLASSES.
[YOCTO #5827]
(From OE-Core rev: 0521d48a1612bfc735e2c86acc9b685c1dc389ef)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/lib/oe/package_manager.py | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py index d29adaca7b..ff4f1dee03 100644 --- a/meta/lib/oe/package_manager.py +++ b/meta/lib/oe/package_manager.py | |||
@@ -1519,19 +1519,25 @@ class DpkgPM(PackageManager): | |||
1519 | 1519 | ||
1520 | 1520 | ||
1521 | def generate_index_files(d): | 1521 | def generate_index_files(d): |
1522 | img_type = d.getVar('IMAGE_PKGTYPE', True) | 1522 | classes = d.getVar('PACKAGE_CLASSES', True).replace("package_", "").split() |
1523 | |||
1524 | indexer_map = { | ||
1525 | "rpm": (RpmIndexer, d.getVar('DEPLOY_DIR_RPM', True)), | ||
1526 | "ipk": (OpkgIndexer, d.getVar('DEPLOY_DIR_IPK', True)), | ||
1527 | "deb": (DpkgIndexer, d.getVar('DEPLOY_DIR_DEB', True)) | ||
1528 | } | ||
1523 | 1529 | ||
1524 | result = None | 1530 | result = None |
1525 | 1531 | ||
1526 | if img_type == "rpm": | 1532 | for pkg_class in classes: |
1527 | result = RpmIndexer(d, d.getVar('DEPLOY_DIR_RPM', True)).write_index() | 1533 | if not pkg_class in indexer_map: |
1528 | elif img_type == "ipk": | 1534 | continue |
1529 | result = OpkgIndexer(d, d.getVar('DEPLOY_DIR_IPK', True)).write_index() | 1535 | |
1530 | elif img_type == "deb": | 1536 | if os.path.exists(indexer_map[pkg_class][1]): |
1531 | result = DpkgIndexer(d, d.getVar('DEPLOY_DIR_DEB', True)).write_index() | 1537 | result = indexer_map[pkg_class][0](d, indexer_map[pkg_class][1]).write_index() |
1532 | 1538 | ||
1533 | if result is not None: | 1539 | if result is not None: |
1534 | bb.fatal(result) | 1540 | bb.fatal(result) |
1535 | 1541 | ||
1536 | if __name__ == "__main__": | 1542 | if __name__ == "__main__": |
1537 | """ | 1543 | """ |