[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openembedded-core
Subject:    [oe-core][RFC PATCH v2 4/6] package_manager: Add generate_feed_dirs method.
From:       "Charlie Johnston" <charlie.johnston () ni ! com>
Date:       2023-07-31 21:43:01
Message-ID: 20230731215310.3949441-5-charlie.johnston () ni ! com
[Download RAW message or body]

Add a generate_feed_dirs method that will call the
create_packages_dir method for each package class
currently supported in the build environment. The
value of the PACKAGE_CLASSES determines which feed
types are built.

This handles knowing which tasks to look for, which
deploy directory to pull packages from, and the
deploy path for the feed to be created at.

Signed-off-by: Charlie Johnston <charlie.johnston@ni.com>
---
 meta/lib/oe/package_manager/__init__.py | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/meta/lib/oe/package_manager/__init__.py \
b/meta/lib/oe/package_manager/__init__.py index 7d040bcaf2..3daee3b0bc 100644
--- a/meta/lib/oe/package_manager/__init__.py
+++ b/meta/lib/oe/package_manager/__init__.py
@@ -449,6 +449,23 @@ class PackageManager(object, metaclass=ABCMeta):
             return res
         return _append(uris, base_paths)
 
+
+def generate_feed_dirs(d, feedname, assumeprovidedfeeds):
+    classes = d.getVar('PACKAGE_CLASSES').replace("package_", "").split()
+
+    indexer_map = {
+        "rpm": ("package_write_rpm", d.getVar('DEPLOY_DIR_RPM'), \
d.expand('${DEPLOY_DIR_FEED_RPM}/%s' % feedname)), +        "ipk": \
("package_write_ipk", d.getVar('DEPLOY_DIR_IPK'), \
d.expand('${DEPLOY_DIR_FEED_IPK}/%s' % feedname)), +        "deb": \
("package_write_deb", d.getVar('DEPLOY_DIR_DEB'), \
d.expand('${DEPLOY_DIR_FEED_DEB}/%s' % feedname)) +    }
+
+    for pkg_class in classes:
+        if not pkg_class in indexer_map:
+            continue
+
+        create_packages_dir(d, indexer_map[pkg_class][2], indexer_map[pkg_class][1], \
indexer_map[pkg_class][0], True, assumeprovidedfeeds) +
+
 def create_packages_dir(d, subrepo_dir, deploydir, taskname, filterbydependencies, \
assumeprovidedfeeds = None):  """
     Go through our do_package_write_X dependencies and hardlink the packages we \
                depend
-- 
2.41.0



-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#185178): https://lists.openembedded.org/g/openembedded-core/message/185178
Mute This Topic: https://lists.openembedded.org/mt/100471805/4454766
Group Owner: openembedded-core+owner@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [openembedded-core@marc.info]
-=-=-=-=-=-=-=-=-=-=-=-



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic