gdbus-codegen: Call abspath() earlier

The previous change from https://bugzilla.gnome.org/show_bug.cgi?id=786785
didn't actually work (for me at least) in the `/bin/gdbus-codegen` case
as the relative `/bin/../share` path works, but then `os.path.abspath()`
breaks it (as it's not doing `realpath()`, and let's not go there).

Fix this by doing the `abspath` first.

Downstream: https://bugzilla.redhat.com/show_bug.cgi?id=1507661

https://bugzilla.gnome.org/show_bug.cgi?id=789723
This commit is contained in:
Colin Walters 2017-10-31 12:51:09 -04:00 committed by Philip Withnall
parent 0d49cd1b11
commit cb8bfa758f

View File

@ -37,6 +37,9 @@ else:
# parent directory to the python path.
path = os.path.join(filedir, '..')
# Canonicalize, then do further testing
path = os.path.abspath(path)
# If the above path detection failed, use the hard-coded datadir. This can
# happen when, for instance, bindir and datadir are not in the same prefix or
# on Windows where we cannot make any guarantees about the directory structure.
@ -46,7 +49,7 @@ else:
if not os.path.isfile(os.path.join(path, 'codegen', 'codegen_main.py')):
path = os.path.join('@DATADIR@', 'glib-2.0')
sys.path.insert(0, os.path.abspath(path))
sys.path.insert(0, path)
from codegen import codegen_main
sys.exit(codegen_main.codegen_main())