Subject: bug#4201 closed by Michael Albinus <[email-masked]> (Re: bug#4186: 23.0.91; Can not compile CVS Emacs on Debian old-stable (dbus problem))

From: [email-masked] (Emacs bug Tracking System)
Date: Fri, 21 Aug 2009 09:00:06 +0000

This is an automatic notification regarding your bug report
which was filed against the emacs package:

#4186: 23.0.91; Can not compile CVS Emacs on Debian old-stable (dbus problem)

It has been closed by Michael Albinus <[email-masked]>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Michael Albinus <[email-masked]> by
replying to this email.

-- 
4186: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=4186
Emacs Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#4186: 23.0.91; Can not compile CVS Emacs on Debian old-stable (dbus problem)
From: Michael Albinus <[email-masked]>
To: Matthieu Moy <[email-masked]>
Cc: <[email-masked]>
Date: Fri, 21 Aug 2009 10:55:44 +0200

Matthieu Moy <[email-masked]> writes:

>> Both functions have been added in D-Bus 1.1.1. I've committed a fix,
>> which checks the availability of these functions.
>
> [...]
>
>> Yes, I've reenabled the check for (featurep 'dbusbind)
>
> Great job, Emacs compiles both --with and --without-dbus now.

OK, so I close the ticket.

> Thanks a lot!

Best regards, Michael.

Subject: Re: 23.0.91; Can not compile CVS Emacs on Debian old-stable (dbus problem)
From: Matthieu Moy <[email-masked]>
To: [email-masked]
Date: Wed, 19 Aug 2009 15:41:01 +0200

Matthieu Moy <[email-masked]> writes:

> Fine, I thought, my dbus is too old, I don't need it, I'll disable it.
> But compiling with --without-dbus, it doesn't work either:
>
> Wrote /net/bauges/local/moy/usr/src/emacs.git/lisp/net/tramp-ftp.elc
> Compiling /net/bauges/local/moy/usr/src/emacs.git/lisp/net/tramp-gvfs.el
> Loading tramp...
>
> In toplevel form:
> ../../lisp/net/tramp-gvfs.el:101:1:Error: Symbol's function definition is void: dbus-init-bus
> make[2]: *** [...] Error 1

This happens since this revision below (thanks to 'git bisect' ;-) ).
Reverting it fixes the problem for me. I guess the important part was
the

  (when (and (featurep 'dbusbind) (not (featurep 'dbus)))

which got lost in the process.

commit f1a6beaaeea05ae21131f38ed5ff243046fb29f2
Author: Michael Albinus <[email-masked]>
Date:   Wed Aug 19 07:08:57 2009 +0000

    * net/dbus.el (top): Apply `dbus-init-bus' for the :session bus
    only if it is running already.

diff --git a/lisp/net/dbus.el b/lisp/net/dbus.el
index c1222a6..159fcb6 100644
--- a/lisp/net/dbus.el
+++ b/lisp/net/dbus.el
@@ -41,15 +41,6 @@
 (defvar dbus-debug)
 (defvar dbus-registered-functions-table)
 
-;; Initialize :system and :session buses.  This adds their file
-;; descriptors to input_wait_mask, in order to detect incoming
-;; messages immediately.
-;; We must avoid to call the function twice for a bus, because the
-;; DBusWatch will be removed then.
-(when (and (featurep 'dbusbind) (not (featurep 'dbus)))
-  (dbus-init-bus :system)
-  (dbus-init-bus :session))
-
 ;; Pacify byte compiler.
 (eval-when-compile
   (require 'cl))
@@ -841,6 +832,14 @@ name of the property, and its value.  If there are no properties,
 	 (cons property (dbus-get-property bus service path interface property))
 	 'append)))))
 
+;; Initialize :system and :session buses.  This adds their file
+;; descriptors to input_wait_mask, in order to detect incoming
+;; messages immediately.
+(dbus-ignore-errors
+  (dbus-init-bus :system)
+  (when (getenv "DBUS_SESSION_BUS_ADDRESS")
+    (dbus-init-bus :session)))
+
 (provide 'dbus)
 
 ;; arch-tag: a47caf84-9162-4811-90cc-5d388e37b9bd

-- 
Matthieu