rc6: Fixed an issue where 'which' doesn't return the binary absolute path. This due to which being a builtin bash thing, and for whatever reason that stopped working when running as a module, so created locate_binary(name:str) which uses the PATH variable just as which does to find the binary's absolute path
This commit is contained in:
parent
fc4790b33c
commit
3e97b1e93c
|
|
@ -65,6 +65,14 @@ def supports_color():
|
||||||
is_a_tty = hasattr(sys.stdout, 'isatty') and sys.stdout.isatty()
|
is_a_tty = hasattr(sys.stdout, 'isatty') and sys.stdout.isatty()
|
||||||
return supported_platform and is_a_tty
|
return supported_platform and is_a_tty
|
||||||
|
|
||||||
|
def locate_binary(name):
|
||||||
|
for PATH in os.environ['PATH']:
|
||||||
|
for root, folders, files in os.walk(PATH):
|
||||||
|
for file in files:
|
||||||
|
if file == name:
|
||||||
|
return os.path.join(root, file)
|
||||||
|
break # Don't recurse
|
||||||
|
|
||||||
class sys_command():#Thread):
|
class sys_command():#Thread):
|
||||||
"""
|
"""
|
||||||
Stolen from archinstall_gui
|
Stolen from archinstall_gui
|
||||||
|
|
@ -97,10 +105,12 @@ class sys_command():#Thread):
|
||||||
self.exec_dir = f'{self.cwd}/{os.path.basename(self.cmd[0])}_workingdir'
|
self.exec_dir = f'{self.cwd}/{os.path.basename(self.cmd[0])}_workingdir'
|
||||||
|
|
||||||
if not self.cmd[0][0] == '/':
|
if not self.cmd[0][0] == '/':
|
||||||
|
# "which" doesn't work as it's a builin to bash.
|
||||||
|
# It used to work, but for whatever reason it doesn't anymore. So back to square one..
|
||||||
|
|
||||||
#log('Worker command is not executed with absolute path, trying to find: {}'.format(self.cmd[0]), origin='spawn', level=5)
|
#log('Worker command is not executed with absolute path, trying to find: {}'.format(self.cmd[0]), origin='spawn', level=5)
|
||||||
o = check_output(['/usr/bin/which', self.cmd[0]])
|
|
||||||
#log('This is the binary {} for {}'.format(o.decode('UTF-8'), self.cmd[0]), origin='spawn', level=5)
|
#log('This is the binary {} for {}'.format(o.decode('UTF-8'), self.cmd[0]), origin='spawn', level=5)
|
||||||
self.cmd[0] = o.decode('UTF-8').strip()
|
self.cmd[0] = locate_binary(self.cmd[0])
|
||||||
|
|
||||||
if not os.path.isdir(self.exec_dir):
|
if not os.path.isdir(self.exec_dir):
|
||||||
os.makedirs(self.exec_dir)
|
os.makedirs(self.exec_dir)
|
||||||
|
|
|
||||||
2
setup.py
2
setup.py
|
|
@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
|
||||||
|
|
||||||
setuptools.setup(
|
setuptools.setup(
|
||||||
name="archinstall",
|
name="archinstall",
|
||||||
version="2.0.3rc6",
|
version="2.0.3rc7",
|
||||||
author="Anton Hvornum",
|
author="Anton Hvornum",
|
||||||
author_email="anton@hvornum.se",
|
author_email="anton@hvornum.se",
|
||||||
description="Arch Linux installer - guided, templates etc.",
|
description="Arch Linux installer - guided, templates etc.",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue