diff options
Diffstat (limited to 'packages/avahi/avahi-0.1/dbus-warn.patch')
-rw-r--r-- | packages/avahi/avahi-0.1/dbus-warn.patch | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/packages/avahi/avahi-0.1/dbus-warn.patch b/packages/avahi/avahi-0.1/dbus-warn.patch new file mode 100644 index 0000000000..b3fd8bd139 --- /dev/null +++ b/packages/avahi/avahi-0.1/dbus-warn.patch @@ -0,0 +1,99 @@ +diff -Nur avahi-0.1/avahi-daemon/avahi-daemon.conf avahi-0.1.new/avahi-daemon/avahi-daemon.conf +--- avahi-0.1/avahi-daemon/avahi-daemon.conf 2005-08-22 05:27:09.000000000 +0800 ++++ avahi-0.1.new/avahi-daemon/avahi-daemon.conf 2005-08-23 04:46:04.000000000 +0800 +@@ -5,7 +5,7 @@ + use-ipv6=no + check-response-ttl=no + use-iff-running=no +-enable-dbus=yes ++enable-dbus=warn + + [publish] + publish-addresses=yes +diff -Nur avahi-0.1/avahi-daemon/main.c avahi-0.1.new/avahi-daemon/main.c +--- avahi-0.1/avahi-daemon/main.c 2005-08-22 05:27:09.000000000 +0800 ++++ avahi-0.1.new/avahi-daemon/main.c 2005-08-23 04:45:45.000000000 +0800 +@@ -78,7 +78,10 @@ + int daemonize; + int use_syslog; + char *config_file; ++#ifdef HAVE_DBUS + int enable_dbus; ++ int fail_on_missing_dbus; ++#endif + int drop_root; + int publish_resolv_conf; + char ** publish_dns_servers; +@@ -380,8 +383,20 @@ + c->server_config.check_response_ttl = is_yes(p->value); + else if (strcasecmp(p->key, "use-iff-running") == 0) + c->server_config.use_iff_running = is_yes(p->value); +- else if (strcasecmp(p->key, "enable-dbus") == 0) +- c->enable_dbus = is_yes(p->value); ++#ifdef HAVE_DBUS ++ else if (strcasecmp(p->key, "enable-dbus") == 0) { ++ ++ if (*(p->value) == 'w' || *(p->value) == 'W') { ++ c->fail_on_missing_dbus = 0; ++ c->enable_dbus = 1; ++ } else if (*(p->value) == 'y' || *(p->value) == 'Y') { ++ c->fail_on_missing_dbus = 1; ++ c->enable_dbus = 1; ++ } else ++ c->enable_dbus = 0; ++ ++ } ++#endif + else if (strcasecmp(p->key, "drop-root") == 0) + c->drop_root = is_yes(p->value); + else { +@@ -587,8 +602,14 @@ + + #ifdef HAVE_DBUS + if (c->enable_dbus) +- if (dbus_protocol_setup(poll_api) < 0) +- goto finish; ++ if (dbus_protocol_setup(poll_api) < 0) { ++ ++ if (c->fail_on_missing_dbus) ++ goto finish; ++ ++ avahi_log_warn("WARNING: Failed to contact D-BUS daemon, disabling D-BUS support."); ++ c->enable_dbus = 0; ++ } + #endif + + load_resolv_conf(c); +@@ -825,7 +846,10 @@ + config.command = DAEMON_RUN; + config.daemonize = 0; + config.config_file = NULL; ++#ifdef HAVE_DBUS + config.enable_dbus = 1; ++ config.fail_on_missing_dbus = 1; ++#endif + config.drop_root = 1; + config.publish_dns_servers = NULL; + config.publish_resolv_conf = 0; +diff -Nur avahi-0.1/man/avahi-daemon.conf.5.xml.in avahi-0.1.new/man/avahi-daemon.conf.5.xml.in +--- avahi-0.1/man/avahi-daemon.conf.5.xml.in 2005-08-22 05:27:10.000000000 +0800 ++++ avahi-0.1.new/man/avahi-daemon.conf.5.xml.in 2005-08-23 04:45:45.000000000 +0800 +@@ -83,11 +83,13 @@ + </option> + + <option> +- <p><opt>enable-dbus=</opt> Takes a boolean value ("yes" or +- "no"). If set to "yes" avahi-daemon connects to DBUS, to offer +- an object oriented client API. Only available if avahi has +- been compiled with <opt>--enable-dbus</opt> in which case it +- defaults to "yes".</p> ++ <p><opt>enable-dbus=</opt> Takes either "yes", "no" or ++ "warn". If set to "yes" avahi-daemon connects to D-BUS, ++ offering an object oriented client API. It is only available ++ if avahi has been compiled with <opt>--enable-dbus</opt> in ++ which case it defaults to "yes". "warn" behaves like "yes", ++ but the daemon starts up even when it fails to connect to a ++ D-BUS daemon.</p> + </option> + + </section> |