Commit
62d5558f76a (utils/get-developers: make it callable from elsewhere
than the toplevel directory) tried to fix this by passing in the toplevel
directory when the DEVELOPERS file is parsed.
Unfortunately this is not enough, as E.G. also the paths listed in the
patches are relative to the toplevel directory, causing it to not match the
entries in the DEVELOPERS file.
In concept this can be fixed by also passing the toplevel directory to the
Developers class, but the simplest solution is just to chdir to the toplevel
Buildroot directory before calling any of the getdeveloperlib functions.
This does require us to finish parsing command line arguments (which opens
the provided patch files) to not get into trouble with relative paths to
patches before chdir'ing / initializing getdeveloperlib.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
def __main__():
- devs = getdeveloperlib.parse_developers()
- if devs is None:
- sys.exit(1)
args = parse_args()
# Check that only one action is given
print("No action specified")
return
+ # getdeveloperlib expects to be executed from the toplevel buildroot
+ # directory, which is one level up from this script
+ os.chdir(os.path.join(os.path.dirname(os.path.realpath(__file__)), '..'))
+
+ devs = getdeveloperlib.parse_developers()
+ if devs is None:
+ sys.exit(1)
+
# Handle the check action
if args.check:
files = getdeveloperlib.check_developers(devs)