forked from M-Labs/artiq
1
0
Fork 0

artiq_flash: cleanup openocd handling, do not follow symlinks

Not following symlinks allows files to be added to OpenOCD via nixpkgs buildEnv.
This commit is contained in:
Sebastien Bourdeauducq 2021-07-26 17:01:24 +08:00
parent 0a29b75f8e
commit 4ee25fc2d1
1 changed files with 5 additions and 11 deletions

View File

@ -75,28 +75,22 @@ Prerequisites:
help="actions to perform, default: %(default)s") help="actions to perform, default: %(default)s")
return parser return parser
def which_openocd(): def openocd_root():
openocd = shutil.which("openocd") openocd = shutil.which("openocd")
if not openocd: if not openocd:
raise FileNotFoundError("OpenOCD is required but was not found in PATH. Is it installed?") raise FileNotFoundError("OpenOCD is required but was not found in PATH. Is it installed?")
return openocd return os.path.dirname(os.path.dirname(openocd))
def scripts_path(): def scripts_path():
p = ["share", "openocd", "scripts"] p = ["share", "openocd", "scripts"]
if os.name == "nt": if os.name == "nt":
p.insert(0, "Library") p.insert(0, "Library")
p = os.path.abspath(os.path.join( return os.path.abspath(os.path.join(openocd_root(), *p))
os.path.dirname(os.path.realpath(which_openocd())),
"..", *p))
return p
def proxy_path(): def proxy_path():
p = ["share", "bscan-spi-bitstreams"] return os.path.abspath(os.path.join(openocd_root(), "share", "bscan-spi-bitstreams"))
p = os.path.abspath(os.path.join(
os.path.dirname(os.path.realpath(which_openocd())),
"..", *p))
return p
def find_proxy_bitfile(filename): def find_proxy_bitfile(filename):