utils/get-developers: really make it callable from elsewhere than the toplevel directory

Commit 62d5558f76 (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>
This commit is contained in:
Peter Korsgaard 2019-01-03 11:56:56 +01:00
parent 74fbc20504
commit 45aabcddc5

View File

@ -24,9 +24,6 @@ def parse_args():
def __main__():
devs = getdeveloperlib.parse_developers()
if devs is None:
sys.exit(1)
args = parse_args()
# Check that only one action is given
@ -48,6 +45,14 @@ def __main__():
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)