summaryrefslogtreecommitdiffstats
path: root/meta/lib/oe/package_manager.py
diff options
context:
space:
mode:
Diffstat (limited to 'meta/lib/oe/package_manager.py')
-rw-r--r--meta/lib/oe/package_manager.py41
1 files changed, 22 insertions, 19 deletions
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py
index 79f0a8b9f1..725997ce33 100644
--- a/meta/lib/oe/package_manager.py
+++ b/meta/lib/oe/package_manager.py
@@ -513,9 +513,6 @@ class PackageManager(object, metaclass=ABCMeta):
513 self.d = d 513 self.d = d
514 self.deploy_dir = None 514 self.deploy_dir = None
515 self.deploy_lock = None 515 self.deploy_lock = None
516 self.feed_uris = self.d.getVar('PACKAGE_FEED_URIS') or ""
517 self.feed_base_paths = self.d.getVar('PACKAGE_FEED_BASE_PATHS') or ""
518 self.feed_archs = self.d.getVar('PACKAGE_FEED_ARCHS')
519 516
520 """ 517 """
521 Update the package manager package database. 518 Update the package manager package database.
@@ -555,8 +552,14 @@ class PackageManager(object, metaclass=ABCMeta):
555 def list_installed(self): 552 def list_installed(self):
556 pass 553 pass
557 554
555 """
556 Add remote package feeds into repository manager configuration. The parameters
557 for the feeds are set by feed_uris, feed_base_paths and feed_archs.
558 See http://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var-PACKAGE_FEED_URIS
559 for their description.
560 """
558 @abstractmethod 561 @abstractmethod
559 def insert_feeds_uris(self): 562 def insert_feeds_uris(self, feed_uris, feed_base_paths, feed_archs):
560 pass 563 pass
561 564
562 """ 565 """
@@ -691,14 +694,14 @@ class RpmPM(PackageManager):
691 694
692 self.ml_prefix_list, self.ml_os_list = self.indexer.get_ml_prefix_and_os_list(arch_var, os_var) 695 self.ml_prefix_list, self.ml_os_list = self.indexer.get_ml_prefix_and_os_list(arch_var, os_var)
693 696
694 def insert_feeds_uris(self): 697 def insert_feeds_uris(self, feed_uris, feed_base_paths, feed_archs):
695 if self.feed_uris == "": 698 if feed_uris == "":
696 return 699 return
697 700
698 arch_list = [] 701 arch_list = []
699 if self.feed_archs is not None: 702 if feed_archs is not None:
700 # User define feed architectures 703 # User define feed architectures
701 arch_list = self.feed_archs.split() 704 arch_list = feed_archs.split()
702 else: 705 else:
703 # List must be prefered to least preferred order 706 # List must be prefered to least preferred order
704 default_platform_extra = list() 707 default_platform_extra = list()
@@ -721,7 +724,7 @@ class RpmPM(PackageManager):
721 continue 724 continue
722 arch_list.append(arch) 725 arch_list.append(arch)
723 726
724 feed_uris = self.construct_uris(self.feed_uris.split(), self.feed_base_paths.split()) 727 feed_uris = self.construct_uris(feed_uris.split(), feed_base_paths.split())
725 728
726 uri_iterator = 0 729 uri_iterator = 0
727 channel_priority = 10 + 5 * len(feed_uris) * (len(arch_list) if arch_list else 1) 730 channel_priority = 10 + 5 * len(feed_uris) * (len(arch_list) if arch_list else 1)
@@ -1707,22 +1710,22 @@ class OpkgPM(OpkgDpkgPM):
1707 config_file.write("option info_dir %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR'), 'opkg', 'info')) 1710 config_file.write("option info_dir %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR'), 'opkg', 'info'))
1708 config_file.write("option status_file %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR'), 'opkg', 'status')) 1711 config_file.write("option status_file %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR'), 'opkg', 'status'))
1709 1712
1710 def insert_feeds_uris(self): 1713 def insert_feeds_uris(self, feed_uris, feed_base_paths, feed_archs):
1711 if self.feed_uris == "": 1714 if feed_uris == "":
1712 return 1715 return
1713 1716
1714 rootfs_config = os.path.join('%s/etc/opkg/base-feeds.conf' 1717 rootfs_config = os.path.join('%s/etc/opkg/base-feeds.conf'
1715 % self.target_rootfs) 1718 % self.target_rootfs)
1716 1719
1717 feed_uris = self.construct_uris(self.feed_uris.split(), self.feed_base_paths.split()) 1720 feed_uris = self.construct_uris(feed_uris.split(), feed_base_paths.split())
1718 archs = self.pkg_archs.split() if self.feed_archs is None else self.feed_archs.split() 1721 archs = self.pkg_archs.split() if feed_archs is None else feed_archs.split()
1719 1722
1720 with open(rootfs_config, "w+") as config_file: 1723 with open(rootfs_config, "w+") as config_file:
1721 uri_iterator = 0 1724 uri_iterator = 0
1722 for uri in feed_uris: 1725 for uri in feed_uris:
1723 if archs: 1726 if archs:
1724 for arch in archs: 1727 for arch in archs:
1725 if (self.feed_archs is None) and (not os.path.exists(os.path.join(self.deploy_dir, arch))): 1728 if (feed_archs is None) and (not os.path.exists(os.path.join(self.deploy_dir, arch))):
1726 continue 1729 continue
1727 bb.note('Adding opkg feed url-%s-%d (%s)' % 1730 bb.note('Adding opkg feed url-%s-%d (%s)' %
1728 (arch, uri_iterator, uri)) 1731 (arch, uri_iterator, uri))
@@ -2111,23 +2114,23 @@ class DpkgPM(OpkgDpkgPM):
2111 if result is not None: 2114 if result is not None:
2112 bb.fatal(result) 2115 bb.fatal(result)
2113 2116
2114 def insert_feeds_uris(self): 2117 def insert_feeds_uris(self, feed_uris, feed_base_paths, feed_archs):
2115 if self.feed_uris == "": 2118 if feed_uris == "":
2116 return 2119 return
2117 2120
2118 sources_conf = os.path.join("%s/etc/apt/sources.list" 2121 sources_conf = os.path.join("%s/etc/apt/sources.list"
2119 % self.target_rootfs) 2122 % self.target_rootfs)
2120 arch_list = [] 2123 arch_list = []
2121 2124
2122 if self.feed_archs is None: 2125 if feed_archs is None:
2123 for arch in self.all_arch_list: 2126 for arch in self.all_arch_list:
2124 if not os.path.exists(os.path.join(self.deploy_dir, arch)): 2127 if not os.path.exists(os.path.join(self.deploy_dir, arch)):
2125 continue 2128 continue
2126 arch_list.append(arch) 2129 arch_list.append(arch)
2127 else: 2130 else:
2128 arch_list = self.feed_archs.split() 2131 arch_list = feed_archs.split()
2129 2132
2130 feed_uris = self.construct_uris(self.feed_uris.split(), self.feed_base_paths.split()) 2133 feed_uris = self.construct_uris(feed_uris.split(), feed_base_paths.split())
2131 2134
2132 with open(sources_conf, "w+") as sources_file: 2135 with open(sources_conf, "w+") as sources_file:
2133 for uri in feed_uris: 2136 for uri in feed_uris: