diff --git a/conf/dconf/dconf.xml.in b/conf/dconf/dconf.xml.in index 4205cb0..538f500 100644 --- a/conf/dconf/dconf.xml.in +++ b/conf/dconf/dconf.xml.in @@ -3,7 +3,7 @@ org.freedesktop.IBus.Config Dconf Config Component - @libexecdir@/ibus-dconf + ibus-dconf @VERSION@ Daiki Ueno <ueno@unixuser.org> GPL diff --git a/conf/memconf/memconf.xml.in b/conf/memconf/memconf.xml.in index d6ea690..9f51bcc 100644 --- a/conf/memconf/memconf.xml.in +++ b/conf/memconf/memconf.xml.in @@ -2,7 +2,7 @@ org.freedesktop.IBus.Config On-memory Config Component - @libexecdir@/ibus-memconf + ibus-memconf @VERSION@ Peng Huang <shawn.p.huang@gmail.com>, modified by the Chromium OS Authors GPL diff --git a/engine/simple.xml.in b/engine/simple.xml.in index fc1541e..47cbea1 100644 --- a/engine/simple.xml.in +++ b/engine/simple.xml.in @@ -2,7 +2,7 @@ org.freedesktop.IBus.Simple A table based simple engine - @libexecdir@/ibus-engine-simple + ibus-engine-simple @VERSION@ Peng Huang <shawn.p.huang@gmail.com> GPL diff --git a/src/Makefile.am b/src/Makefile.am index a8e3d07..2c461ee 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -49,6 +49,7 @@ AM_CPPFLAGS = \ @GLIB2_CFLAGS@ \ @GOBJECT2_CFLAGS@ \ @GIO2_CFLAGS@ \ + -DLIBEXECDIR=\"$(libexecdir)\" \ -DIBUS_CACHE_DIR=\""$(localstatedir)/cache/ibus"\" \ -DIBUS_DATA_DIR=\"$(pkgdatadir)\" \ -DIBUS_DISABLE_DEPRECATION_WARNINGS \ diff --git a/src/Makefile.in b/src/Makefile.in index 2a9c2ab..c3dfd87 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -613,6 +613,7 @@ CLEANFILES = $(am__append_2) $(BUILT_SOURCES) stamp-ibusmarshalers.h \ # C preprocessor flags AM_CPPFLAGS = -DG_LOG_DOMAIN=\"IBUS\" @GLIB2_CFLAGS@ @GOBJECT2_CFLAGS@ \ @GIO2_CFLAGS@ \ + -DLIBEXECDIR=\"$(libexecdir)\" \ -DIBUS_CACHE_DIR=\""$(localstatedir)/cache/ibus"\" \ -DIBUS_DATA_DIR=\"$(pkgdatadir)\" \ -DIBUS_DISABLE_DEPRECATION_WARNINGS -DIBUS_COMPILATION \ diff --git a/src/ibuscomponent.c b/src/ibuscomponent.c index 9837f47..4b55a66 100644 --- a/src/ibuscomponent.c +++ b/src/ibuscomponent.c @@ -614,6 +614,18 @@ ibus_component_parse_engines (IBusComponent *component, if (exec != NULL) { gchar *output = NULL; + + if (exec[0] != '/') { + /* EXEC is a relative file name, so assume it's the name of an + executable in $libexecdir and expand it. */ + GString *absolute = g_string_new (LIBEXECDIR); + g_string_append (absolute, "/"); + g_string_append (absolute, exec); + + g_free (exec); + exec = g_string_free (absolute, FALSE); + } + if (g_spawn_command_line_sync (exec, &output, NULL, NULL, NULL)) { engines_node = ibus_xml_parse_buffer (output); g_free (output); diff --git a/ui/gtk3/gtkextension.xml.in b/ui/gtk3/gtkextension.xml.in index b8157c9..fc945ab 100644 --- a/ui/gtk3/gtkextension.xml.in +++ b/ui/gtk3/gtkextension.xml.in @@ -3,7 +3,7 @@ org.freedesktop.IBus.Panel.Extension Gtk Panel Extension Component - @libexecdir@/ibus-extension-gtk3 + ibus-extension-gtk3 @VERSION@ Takao Fujiwara <takao.fujiwara1@gmail.com> GPL diff --git a/ui/gtk3/gtkpanel.xml.in b/ui/gtk3/gtkpanel.xml.in index b61f400..2175b93 100644 --- a/ui/gtk3/gtkpanel.xml.in +++ b/ui/gtk3/gtkpanel.xml.in @@ -3,7 +3,7 @@ org.freedesktop.IBus.Panel Gtk Panel Component - @libexecdir@/ibus-ui-gtk3 + ibus-ui-gtk3 @VERSION@ Peng Huang <shawn.p.huang@gmail.com> GPL