diff --git a/man/ukify.xml b/man/ukify.xml index 17546d543d..c5bf91de02 100644 --- a/man/ukify.xml +++ b/man/ukify.xml @@ -221,11 +221,11 @@ - + - Specify a directory with helper tools. ukify will look for helper - tools in that directory first, and if not found, try to load them from $PATH in - the usual fashion. + Specify one or more directories with helper tools. ukify will look + for helper tools in those directories first, and if not found, try to load them from + $PATH in the usual fashion. diff --git a/src/ukify/ukify.py b/src/ukify/ukify.py index e9e5d13d13..80a4e9c9ca 100755 --- a/src/ukify/ukify.py +++ b/src/ukify/ukify.py @@ -321,9 +321,10 @@ def check_inputs(opts): def find_tool(name, fallback=None, opts=None): if opts and opts.tools: - tool = opts.tools / name - if tool.exists(): - return tool + for d in opts.tools: + tool = d / name + if tool.exists(): + return tool return fallback or name @@ -656,7 +657,8 @@ usage: ukify [options…] linux initrd… p.add_argument('--tools', type=pathlib.Path, - help='a directory with systemd-measure and other tools') + nargs='+', + help='Directories to search for tools (systemd-measure, llvm-objcopy, ...)') p.add_argument('--output', '-o', type=pathlib.Path,