Re: [gdm-list] at-spi-registryd not starting automatically in gdm [was multiple at-spi...]



On 9/2/07, Francesco Fumanti <francesco fumanti gmx net> wrote:
>
> Thanks for the explanation. Would there be a way to make the version
> of a package, that I configure, compile and install manually,
> overwrite the version installed by the distribution package?

Basically, you would configure with --prefix=/usr --sysconfdir=/etc
and it would overwrite the distro's gdm, but that's not the best way.
I don't know much about .debs, but the best way would be to take the
current Ubuntu gdm package, add the new patch below and pass the new
parameter. That way it will be the same gdm that Ubuntu was using
before, but with just this change.

If you don't know how to work with your distro's packaging system, I
would write an email to one of the mailing lists (desktop perhaps?)
describing the problem and pointing them to this email thread and
patch. I'm sure they would be interested in this.

If you just overwrite your distro's gdm, it could end up causing a
different problem. That said, you could probably install it in
/usr/local and just change the distro's init script to point to
/usr/local/sbin/gdm. It would get overwritten on the next upgrade of
the distro's gdm, but it might be the easiest for testing.

> >I'll try to send you a patch a little later today so you can specify
> >--at-spi-dir=/usr/lib/at-spi. If you know that autotools, it's a
> >pretty trivial change.
>
> Does this mean, you are doing the change proposed by Brian?

Attached is a patch to fix this. You pass --with-atspi-dir=PATH
(/usr/lib/at-spi in your case) and it will be substituted in
gui/Makefile.

Be aware that you'll need the autotools for the patch to take affect,
then you'd to `./autogen.sh [args you'd pass to configure]'.

If everything has gone correctly, you can run `strings gui/gdmcommon.o
| grep at-spi-registryd' and it will print the correct location.

--
Dan
Index: gui/gdmcommon.c
===================================================================
--- gui/gdmcommon.c	(revision 5217)
+++ gui/gdmcommon.c	(working copy)
@@ -702,7 +702,7 @@
 	if (! a11y)
 		return FALSE;
 
-	command = g_strdup (LIBEXECDIR "/at-spi-registryd");
+	command = g_strdup (ATSPIDIR "/at-spi-registryd");
 
 	atspi_prog_argv = NULL;
 	g_shell_parse_argv (command, NULL, &atspi_prog_argv, NULL);
Index: gui/Makefile.am
===================================================================
--- gui/Makefile.am	(revision 5217)
+++ gui/Makefile.am	(working copy)
@@ -17,6 +17,7 @@
 	-DLOGDIR=\"@logdir \"				\
 	-DPIXMAPDIR=\"@pixmapdir \" 			\
 	-DSBINDIR=\"@sbindir \"				\
+	-DATSPIDIR=\"@ATSPI_DIR \"			\
 	$(NULL)
 
 INCLUDES = \
Index: configure.ac
===================================================================
--- configure.ac	(revision 5217)
+++ configure.ac	(working copy)
@@ -861,6 +861,21 @@
   [  --with-libaudit=[auto/yes/no]  Add Linux audit support [default=auto]],,
   with_libaudit=auto)
 
+# location of the at-spi-registryd daemon
+AC_ARG_WITH(atspi-dir,
+  [  --with-atspi-dir=<PATH>   PATH to at-spi-registryd [default=LIBEXECDIR]])
+
+if ! test -z "$with_atspi_dir"; then
+  ATSPI_DIR="$with_atspi_dir"
+else
+  if test "${libexecdir}" = "\${exec_prefix}/libexec"; then
+    ATSPI_DIR="${real_gdm_prefix}/libexec"
+  else
+    ATSPI_DIR="${libexecdir}"
+  fi
+fi
+AC_SUBST(ATSPI_DIR)
+
 withval=""
 AC_ARG_WITH(at-bindir,
 [  --with-at-bindir=<PATH>   PATH to Accessible Technology programs [default=BINDIR]],)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]