From: Leonardo Sandoval <leonardo.sandoval.gonza...@linux.intel.com> Instead of hardcode paths (/rpm/, /ipk/, /deb/), use a user-defined prefix when creating the URI feeds. URIs now will have the following syntax:
PACKAGE_FEED_URIS_1/PACKAGE_FEED_PREFIX PACKAGE_FEED_URIS_2/PACKAGE_FEED_PREFIX . where PACKAGE_FEED_URIS = "PACKAGE_FEED_URIS_1 PACKAGE_FEED_URIS_2 ...." [YOCTO #5407] Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonza...@linux.intel.com> --- meta/lib/oe/package_manager.py | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py index 55b8ab0..7a85816 100644 --- a/meta/lib/oe/package_manager.py +++ b/meta/lib/oe/package_manager.py @@ -488,6 +488,7 @@ class PackageManager(object): self.deploy_dir = None self.deploy_lock = None self.feed_uris = self.d.getVar('PACKAGE_FEED_URIS', True) or "" + self.feed_prefix = self.d.getVar('PACKAGE_FEED_PREFIX', True) or "" """ Update the package manager package database. @@ -662,11 +663,14 @@ class RpmPM(PackageManager): channel_priority = 10 + 5 * len(self.feed_uris.split()) * len(arch_list) for uri in self.feed_uris.split(): + full_uri = uri + if self.feed_prefix: + full_uri = os.path.join(uri, self.feed_prefix) for arch in arch_list: bb.note('Note: adding Smart channel url%d%s (%s)' % (uri_iterator, arch, channel_priority)) - self._invoke_smart('channel --add url%d-%s type=rpm-md baseurl=%s/rpm/%s -y' - % (uri_iterator, arch, uri, arch)) + self._invoke_smart('channel --add url%d-%s type=rpm-md baseurl=%s/%s -y' + % (uri_iterator, arch, full_uri, arch)) self._invoke_smart('channel --set url%d-%s priority=%d' % (uri_iterator, arch, channel_priority)) channel_priority -= 5 @@ -1343,17 +1347,20 @@ class OpkgPM(PackageManager): with open(rootfs_config, "w+") as config_file: uri_iterator = 0 for uri in self.feed_uris.split(): - config_file.write("src/gz url-%d %s/ipk\n" % - (uri_iterator, uri)) + full_uri = uri + if self.feed_prefix: + full_uri = os.path.join(uri, self.feed_prefix) + config_file.write("src/gz url-%d %s\n" % + (uri_iterator, full_uri)) for arch in self.pkg_archs.split(): if not os.path.exists(os.path.join(self.deploy_dir, arch)): continue bb.note('Note: adding opkg channel url-%s-%d (%s)' % - (arch, uri_iterator, uri)) + (arch, uri_iterator, full_uri)) - config_file.write("src/gz uri-%s-%d %s/ipk/%s\n" % - (arch, uri_iterator, uri, arch)) + config_file.write("src/gz uri-%s-%d %s/%s\n" % + (arch, uri_iterator, full_uri, arch)) uri_iterator += 1 def update(self): @@ -1706,10 +1713,13 @@ class DpkgPM(PackageManager): with open(sources_conf, "w+") as sources_file: for uri in self.feed_uris.split(): + full_uri = uri + if self.feed_prefix: + full_uri = os.path.join(uri, self.feed_prefix) for arch in arch_list: bb.note('Note: adding dpkg channel at (%s)' % uri) - sources_file.write("deb %s/deb/%s ./\n" % - (uri, arch)) + sources_file.write("deb %s/%s ./\n" % + (full_uri, arch)) def _create_configs(self, archs, base_archs): base_archs = re.sub("_", "-", base_archs) -- 1.7.10.4 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core