diff options
author | Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> | 2015-08-11 16:09:28 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-09-04 16:23:49 +0100 |
commit | 338c3257f60e99c1fd101d5010daea4099eb1d0e (patch) | |
tree | 0302af8c3bbd8af96672aa41e6cfabfbada8715c | |
parent | 7f93052dc5cefe7ecc8c1288e3bc77e3c5b400d6 (diff) | |
download | poky-338c3257f60e99c1fd101d5010daea4099eb1d0e.tar.gz |
lib/oe/package_manager: Include PACKAGE_FEED_PREFIX instead of hardcode paths
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]
(From OE-Core rev: 467b823b163653a6fa8d46734174004abdb48cf9)
Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/lib/oe/package_manager.py | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py index 622669af6a..810b728870 100644 --- a/meta/lib/oe/package_manager.py +++ b/meta/lib/oe/package_manager.py | |||
@@ -522,6 +522,7 @@ class PackageManager(object): | |||
522 | self.deploy_dir = None | 522 | self.deploy_dir = None |
523 | self.deploy_lock = None | 523 | self.deploy_lock = None |
524 | self.feed_uris = self.d.getVar('PACKAGE_FEED_URIS', True) or "" | 524 | self.feed_uris = self.d.getVar('PACKAGE_FEED_URIS', True) or "" |
525 | self.feed_prefix = self.d.getVar('PACKAGE_FEED_PREFIX', True) or "" | ||
525 | 526 | ||
526 | """ | 527 | """ |
527 | Update the package manager package database. | 528 | Update the package manager package database. |
@@ -696,11 +697,14 @@ class RpmPM(PackageManager): | |||
696 | channel_priority = 10 + 5 * len(self.feed_uris.split()) * len(arch_list) | 697 | channel_priority = 10 + 5 * len(self.feed_uris.split()) * len(arch_list) |
697 | 698 | ||
698 | for uri in self.feed_uris.split(): | 699 | for uri in self.feed_uris.split(): |
700 | full_uri = uri | ||
701 | if self.feed_prefix: | ||
702 | full_uri = os.path.join(uri, self.feed_prefix) | ||
699 | for arch in arch_list: | 703 | for arch in arch_list: |
700 | bb.note('Note: adding Smart channel url%d%s (%s)' % | 704 | bb.note('Note: adding Smart channel url%d%s (%s)' % |
701 | (uri_iterator, arch, channel_priority)) | 705 | (uri_iterator, arch, channel_priority)) |
702 | self._invoke_smart('channel --add url%d-%s type=rpm-md baseurl=%s/rpm/%s -y' | 706 | self._invoke_smart('channel --add url%d-%s type=rpm-md baseurl=%s/%s -y' |
703 | % (uri_iterator, arch, uri, arch)) | 707 | % (uri_iterator, arch, full_uri, arch)) |
704 | self._invoke_smart('channel --set url%d-%s priority=%d' % | 708 | self._invoke_smart('channel --set url%d-%s priority=%d' % |
705 | (uri_iterator, arch, channel_priority)) | 709 | (uri_iterator, arch, channel_priority)) |
706 | channel_priority -= 5 | 710 | channel_priority -= 5 |
@@ -1384,14 +1388,18 @@ class OpkgPM(PackageManager): | |||
1384 | with open(rootfs_config, "w+") as config_file: | 1388 | with open(rootfs_config, "w+") as config_file: |
1385 | uri_iterator = 0 | 1389 | uri_iterator = 0 |
1386 | for uri in self.feed_uris.split(): | 1390 | for uri in self.feed_uris.split(): |
1391 | full_uri = uri | ||
1392 | if self.feed_prefix: | ||
1393 | full_uri = os.path.join(uri, self.feed_prefix) | ||
1394 | |||
1387 | for arch in self.pkg_archs.split(): | 1395 | for arch in self.pkg_archs.split(): |
1388 | if not os.path.exists(os.path.join(self.deploy_dir, arch)): | 1396 | if not os.path.exists(os.path.join(self.deploy_dir, arch)): |
1389 | continue | 1397 | continue |
1390 | bb.note('Note: adding opkg feed url-%s-%d (%s)' % | 1398 | bb.note('Note: adding opkg feed url-%s-%d (%s)' % |
1391 | (arch, uri_iterator, uri)) | 1399 | (arch, uri_iterator, full_uri)) |
1392 | 1400 | ||
1393 | config_file.write("src/gz uri-%s-%d %s/ipk/%s\n" % | 1401 | config_file.write("src/gz uri-%s-%d %s/%s\n" % |
1394 | (arch, uri_iterator, uri, arch)) | 1402 | (arch, uri_iterator, full_uri, arch)) |
1395 | uri_iterator += 1 | 1403 | uri_iterator += 1 |
1396 | 1404 | ||
1397 | def update(self): | 1405 | def update(self): |
@@ -1744,10 +1752,13 @@ class DpkgPM(PackageManager): | |||
1744 | 1752 | ||
1745 | with open(sources_conf, "w+") as sources_file: | 1753 | with open(sources_conf, "w+") as sources_file: |
1746 | for uri in self.feed_uris.split(): | 1754 | for uri in self.feed_uris.split(): |
1755 | full_uri = uri | ||
1756 | if self.feed_prefix: | ||
1757 | full_uri = os.path.join(uri, self.feed_prefix) | ||
1747 | for arch in arch_list: | 1758 | for arch in arch_list: |
1748 | bb.note('Note: adding dpkg channel at (%s)' % uri) | 1759 | bb.note('Note: adding dpkg channel at (%s)' % uri) |
1749 | sources_file.write("deb %s/deb/%s ./\n" % | 1760 | sources_file.write("deb %s/%s ./\n" % |
1750 | (uri, arch)) | 1761 | (full_uri, arch)) |
1751 | 1762 | ||
1752 | def _create_configs(self, archs, base_archs): | 1763 | def _create_configs(self, archs, base_archs): |
1753 | base_archs = re.sub("_", "-", base_archs) | 1764 | base_archs = re.sub("_", "-", base_archs) |