You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.6 KiB

From 9d80b0bca3f90e2489aac8e7765081c47e8a66f5 Mon Sep 17 00:00:00 2001
From: Colin Walters <walters@verbum.org>
Date: Tue, 31 Oct 2017 12:51:09 -0400
Subject: [PATCH] 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
---
gio/gdbus-2.0/codegen/gdbus-codegen.in | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/gio/gdbus-2.0/codegen/gdbus-codegen.in b/gio/gdbus-2.0/codegen/gdbus-codegen.in
index e3f4f00f8..67d367543 100755
--- a/gio/gdbus-2.0/codegen/gdbus-codegen.in
+++ b/gio/gdbus-2.0/codegen/gdbus-codegen.in
@@ -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())
--
2.13.6