mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 21:09:03 +02:00
package_manager.py: improve the API for insert_feed_uris()
No need to store the configuration as class members, just pass it directly into the method. (From OE-Core rev: a5cc38481be3c5e6ccbecf951f9fdc049e5101d5) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
cf7e0baffa
commit
b9c550dd6e
|
@ -513,9 +513,6 @@ class PackageManager(object, metaclass=ABCMeta):
|
||||||
self.d = d
|
self.d = d
|
||||||
self.deploy_dir = None
|
self.deploy_dir = None
|
||||||
self.deploy_lock = None
|
self.deploy_lock = None
|
||||||
self.feed_uris = self.d.getVar('PACKAGE_FEED_URIS') or ""
|
|
||||||
self.feed_base_paths = self.d.getVar('PACKAGE_FEED_BASE_PATHS') or ""
|
|
||||||
self.feed_archs = self.d.getVar('PACKAGE_FEED_ARCHS')
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Update the package manager package database.
|
Update the package manager package database.
|
||||||
|
@ -555,8 +552,14 @@ class PackageManager(object, metaclass=ABCMeta):
|
||||||
def list_installed(self):
|
def list_installed(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
"""
|
||||||
|
Add remote package feeds into repository manager configuration. The parameters
|
||||||
|
for the feeds are set by feed_uris, feed_base_paths and feed_archs.
|
||||||
|
See http://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var-PACKAGE_FEED_URIS
|
||||||
|
for their description.
|
||||||
|
"""
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def insert_feeds_uris(self):
|
def insert_feeds_uris(self, feed_uris, feed_base_paths, feed_archs):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
@ -691,14 +694,14 @@ class RpmPM(PackageManager):
|
||||||
|
|
||||||
self.ml_prefix_list, self.ml_os_list = self.indexer.get_ml_prefix_and_os_list(arch_var, os_var)
|
self.ml_prefix_list, self.ml_os_list = self.indexer.get_ml_prefix_and_os_list(arch_var, os_var)
|
||||||
|
|
||||||
def insert_feeds_uris(self):
|
def insert_feeds_uris(self, feed_uris, feed_base_paths, feed_archs):
|
||||||
if self.feed_uris == "":
|
if feed_uris == "":
|
||||||
return
|
return
|
||||||
|
|
||||||
arch_list = []
|
arch_list = []
|
||||||
if self.feed_archs is not None:
|
if feed_archs is not None:
|
||||||
# User define feed architectures
|
# User define feed architectures
|
||||||
arch_list = self.feed_archs.split()
|
arch_list = feed_archs.split()
|
||||||
else:
|
else:
|
||||||
# List must be prefered to least preferred order
|
# List must be prefered to least preferred order
|
||||||
default_platform_extra = list()
|
default_platform_extra = list()
|
||||||
|
@ -721,7 +724,7 @@ class RpmPM(PackageManager):
|
||||||
continue
|
continue
|
||||||
arch_list.append(arch)
|
arch_list.append(arch)
|
||||||
|
|
||||||
feed_uris = self.construct_uris(self.feed_uris.split(), self.feed_base_paths.split())
|
feed_uris = self.construct_uris(feed_uris.split(), feed_base_paths.split())
|
||||||
|
|
||||||
uri_iterator = 0
|
uri_iterator = 0
|
||||||
channel_priority = 10 + 5 * len(feed_uris) * (len(arch_list) if arch_list else 1)
|
channel_priority = 10 + 5 * len(feed_uris) * (len(arch_list) if arch_list else 1)
|
||||||
|
@ -1707,22 +1710,22 @@ class OpkgPM(OpkgDpkgPM):
|
||||||
config_file.write("option info_dir %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR'), 'opkg', 'info'))
|
config_file.write("option info_dir %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR'), 'opkg', 'info'))
|
||||||
config_file.write("option status_file %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR'), 'opkg', 'status'))
|
config_file.write("option status_file %s\n" % os.path.join(self.d.getVar('OPKGLIBDIR'), 'opkg', 'status'))
|
||||||
|
|
||||||
def insert_feeds_uris(self):
|
def insert_feeds_uris(self, feed_uris, feed_base_paths, feed_archs):
|
||||||
if self.feed_uris == "":
|
if feed_uris == "":
|
||||||
return
|
return
|
||||||
|
|
||||||
rootfs_config = os.path.join('%s/etc/opkg/base-feeds.conf'
|
rootfs_config = os.path.join('%s/etc/opkg/base-feeds.conf'
|
||||||
% self.target_rootfs)
|
% self.target_rootfs)
|
||||||
|
|
||||||
feed_uris = self.construct_uris(self.feed_uris.split(), self.feed_base_paths.split())
|
feed_uris = self.construct_uris(feed_uris.split(), feed_base_paths.split())
|
||||||
archs = self.pkg_archs.split() if self.feed_archs is None else self.feed_archs.split()
|
archs = self.pkg_archs.split() if feed_archs is None else feed_archs.split()
|
||||||
|
|
||||||
with open(rootfs_config, "w+") as config_file:
|
with open(rootfs_config, "w+") as config_file:
|
||||||
uri_iterator = 0
|
uri_iterator = 0
|
||||||
for uri in feed_uris:
|
for uri in feed_uris:
|
||||||
if archs:
|
if archs:
|
||||||
for arch in archs:
|
for arch in archs:
|
||||||
if (self.feed_archs is None) and (not os.path.exists(os.path.join(self.deploy_dir, arch))):
|
if (feed_archs is None) and (not os.path.exists(os.path.join(self.deploy_dir, arch))):
|
||||||
continue
|
continue
|
||||||
bb.note('Adding opkg feed url-%s-%d (%s)' %
|
bb.note('Adding opkg feed url-%s-%d (%s)' %
|
||||||
(arch, uri_iterator, uri))
|
(arch, uri_iterator, uri))
|
||||||
|
@ -2111,23 +2114,23 @@ class DpkgPM(OpkgDpkgPM):
|
||||||
if result is not None:
|
if result is not None:
|
||||||
bb.fatal(result)
|
bb.fatal(result)
|
||||||
|
|
||||||
def insert_feeds_uris(self):
|
def insert_feeds_uris(self, feed_uris, feed_base_paths, feed_archs):
|
||||||
if self.feed_uris == "":
|
if feed_uris == "":
|
||||||
return
|
return
|
||||||
|
|
||||||
sources_conf = os.path.join("%s/etc/apt/sources.list"
|
sources_conf = os.path.join("%s/etc/apt/sources.list"
|
||||||
% self.target_rootfs)
|
% self.target_rootfs)
|
||||||
arch_list = []
|
arch_list = []
|
||||||
|
|
||||||
if self.feed_archs is None:
|
if feed_archs is None:
|
||||||
for arch in self.all_arch_list:
|
for arch in self.all_arch_list:
|
||||||
if not os.path.exists(os.path.join(self.deploy_dir, arch)):
|
if not os.path.exists(os.path.join(self.deploy_dir, arch)):
|
||||||
continue
|
continue
|
||||||
arch_list.append(arch)
|
arch_list.append(arch)
|
||||||
else:
|
else:
|
||||||
arch_list = self.feed_archs.split()
|
arch_list = feed_archs.split()
|
||||||
|
|
||||||
feed_uris = self.construct_uris(self.feed_uris.split(), self.feed_base_paths.split())
|
feed_uris = self.construct_uris(feed_uris.split(), feed_base_paths.split())
|
||||||
|
|
||||||
with open(sources_conf, "w+") as sources_file:
|
with open(sources_conf, "w+") as sources_file:
|
||||||
for uri in feed_uris:
|
for uri in feed_uris:
|
||||||
|
|
|
@ -87,7 +87,10 @@ class Rootfs(object, metaclass=ABCMeta):
|
||||||
def _insert_feed_uris(self):
|
def _insert_feed_uris(self):
|
||||||
if bb.utils.contains("IMAGE_FEATURES", "package-management",
|
if bb.utils.contains("IMAGE_FEATURES", "package-management",
|
||||||
True, False, self.d):
|
True, False, self.d):
|
||||||
self.pm.insert_feeds_uris()
|
self.pm.insert_feeds_uris(self.d.getVar('PACKAGE_FEED_URIS') or "",
|
||||||
|
self.d.getVar('PACKAGE_FEED_BASE_PATHS') or "",
|
||||||
|
self.d.getVar('PACKAGE_FEED_ARCHS'))
|
||||||
|
|
||||||
|
|
||||||
@abstractmethod
|
@abstractmethod
|
||||||
def _handle_intercept_failure(self, failed_script):
|
def _handle_intercept_failure(self, failed_script):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user