Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.5:Update
virtme
0006-mkinitramfs-Improve-the-find_busybox-algor...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0006-mkinitramfs-Improve-the-find_busybox-algorithm.patch of Package virtme
From 0c733ddb1ef4952bda0614cc68ce80f1c8433ffc Mon Sep 17 00:00:00 2001 From: Andy Lutomirski <luto@kernel.org> Date: Fri, 18 Oct 2019 11:03:31 -0700 Subject: [PATCH 6/9] mkinitramfs: Improve the find_busybox algorithm Now the algorithm prefers the 'static' versions regardless of path, and it searches PATH first (for native) as advertised. See issue #52. Signed-off-by: Andy Lutomirski <luto@kernel.org> --- virtme/mkinitramfs.py | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/virtme/mkinitramfs.py b/virtme/mkinitramfs.py index 193f510..98c7528 100644 --- a/virtme/mkinitramfs.py +++ b/virtme/mkinitramfs.py @@ -167,16 +167,22 @@ def mkinitramfs(out, config) -> None: cw.write_trailer() def find_busybox(root, is_native) -> Optional[str]: - for p in itertools.product(['usr/local', 'usr', ''], - ['bin', 'sbin'], - ['-static', '.static', '']): - path = os.path.join(root, p[0], p[1], 'busybox' + p[2]) - if os.path.isfile(path): - return path - - if is_native: - # Try the host's busybox, if any - return shutil.which('busybox') + names = ['busybox-static', 'busybox.static', 'busybox'] + dirs = [os.path.join(*i) for i in itertools.product( + ['usr/local', 'usr', ''], + ['bin', 'sbin'])] + + for n in names: + if is_native: + # Search PATH first + path = shutil.which(n) + if path is not None: + return path + + for d in dirs: + path = os.path.join(root, d, n) + if os.path.isfile(path): + return path # We give up. return None -- 2.26.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor