--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/avahi/patches/07-daemon.patch Tue Oct 27 07:12:09 2015 -0700
@@ -0,0 +1,286 @@
+Source: Desktop consolidation
+Upstream promotion status: unknown
+
+--- /usr/tmp/clean/avahi-0.6.28/avahi-daemon/main.c 2010-08-26 01:51:39.000153000 +0100
++++ avahi-0.6.28/avahi-daemon/main.c 2011-01-20 14:40:47.924814317 +0000
+@@ -73,7 +73,9 @@
+
+ #include "setproctitle.h"
+ #include "main.h"
++#ifndef HAVE_BONJOUR
+ #include "simple-protocol.h"
++#endif
+ #include "static-services.h"
+ #include "static-hosts.h"
+ #include "ini-file-parser.h"
+@@ -134,11 +136,13 @@
+ #define RESOLV_CONF "/etc/resolv.conf"
+ #define BROWSE_DOMAINS_MAX 16
+
++#ifndef HAVE_BONJOUR
+ static AvahiSEntryGroup *dns_servers_entry_group = NULL;
+ static AvahiSEntryGroup *resolv_conf_entry_group = NULL;
+
+ static char **resolv_conf_name_servers = NULL;
+ static char **resolv_conf_search_domains = NULL;
++#endif
+
+ static DaemonConfig config;
+
+@@ -150,6 +154,7 @@
+ return strlen(s) >= l && strncmp(s, prefix, l) == 0;
+ }
+
++#ifndef HAVE_BONJOUR
+ static int load_resolv_conf(void) {
+ int ret = -1;
+ FILE *f;
+@@ -334,6 +339,7 @@
+ avahi_server_set_browse_domains(avahi_server, l);
+ avahi_string_list_free(l);
+ }
++#endif
+
+ static void server_callback(AvahiServer *s, AvahiServerState state, void *userdata) {
+ DaemonConfig *c = userdata;
+@@ -359,7 +365,7 @@
+
+ static_service_add_to_server();
+ static_hosts_add_to_server();
+-
++#ifndef HAVE_BONJOUR
+ remove_dns_server_entry_groups();
+
+ if (c->publish_resolv_conf && resolv_conf_name_servers && resolv_conf_name_servers[0])
+@@ -369,6 +375,7 @@
+ dns_servers_entry_group = add_dns_servers(s, dns_servers_entry_group, c->publish_dns_servers);
+
+ simple_protocol_restart_queries();
++#endif
+ break;
+
+ case AVAHI_SERVER_COLLISION: {
+@@ -376,7 +383,9 @@
+
+ static_service_remove_from_server();
+ static_hosts_remove_from_server();
++#ifndef HAVE_BONJOUR
+ remove_dns_server_entry_groups();
++#endif
+
+ n = avahi_alternative_host_name(avahi_server_get_host_name(s));
+
+@@ -405,7 +414,9 @@
+
+ static_service_remove_from_server();
+ static_hosts_remove_from_server();
++#ifndef HAVE_BONJOUR
+ remove_dns_server_entry_groups();
++#endif
+
+ break;
+
+@@ -425,9 +436,11 @@
+ " -r --reload Request a running daemon to reload static services\n"
+ " -c --check Return 0 if a daemon is already running\n"
+ " -V --version Show version\n"
++#ifndef HAVE_BONJOUR
+ " -f --file=FILE Load the specified configuration file instead of\n"
+ " "AVAHI_CONFIG_FILE"\n"
+ " --no-rlimits Don't enforce resource limits\n"
++#endif
+ " --no-drop-root Don't drop privileges\n"
+ #ifdef ENABLE_CHROOT
+ " --no-chroot Don't chroot()\n"
+@@ -456,11 +469,15 @@
+ { "daemonize", no_argument, NULL, 'D' },
+ { "kill", no_argument, NULL, 'k' },
+ { "version", no_argument, NULL, 'V' },
++#ifndef HAVE_BONJOUR
+ { "file", required_argument, NULL, 'f' },
++#endif
+ { "reload", no_argument, NULL, 'r' },
+ { "check", no_argument, NULL, 'c' },
+ { "syslog", no_argument, NULL, 's' },
++#ifndef HAVE_BONJOUR
+ { "no-rlimits", no_argument, NULL, OPTION_NO_RLIMITS },
++#endif
+ { "no-drop-root", no_argument, NULL, OPTION_NO_DROP_ROOT },
+ #ifdef ENABLE_CHROOT
+ { "no-chroot", no_argument, NULL, OPTION_NO_CHROOT },
+@@ -472,7 +489,11 @@
+
+ assert(c);
+
++#ifdef HAVE_BONJOUR
++ while ((o = getopt_long(argc, argv, "hDkVrcs", long_options, NULL)) >= 0) {
++#else
+ while ((o = getopt_long(argc, argv, "hDkVf:rcs", long_options, NULL)) >= 0) {
++#endif
+
+ switch(o) {
+ case 's':
+@@ -490,6 +511,7 @@
+ case 'V':
+ c->command = DAEMON_VERSION;
+ break;
++#ifndef HAVE_BONJOUR
+ case 'f':
+ avahi_free(c->config_file);
+ c->config_file = avahi_strdup(optarg);
+@@ -497,12 +519,15 @@
+ case 'r':
+ c->command = DAEMON_RELOAD;
+ break;
++#endif
+ case 'c':
+ c->command = DAEMON_CHECK;
+ break;
++#ifndef HAVE_BONJOUR
+ case OPTION_NO_RLIMITS:
+ c->set_rlimits = 0;
+ break;
++#endif
+ case OPTION_NO_DROP_ROOT:
+ c->drop_root = 0;
+ break;
+@@ -576,6 +601,7 @@
+ return 0;
+ }
+
++#ifndef HAVE_BONJOUR
+ static int load_config_file(DaemonConfig *c) {
+ int r = -1;
+ AvahiIniFile *f;
+@@ -845,6 +871,7 @@
+
+ return r;
+ }
++#endif
+
+ static void log_function(AvahiLogLevel level, const char *txt) {
+
+@@ -965,6 +992,7 @@
+ static_service_add_to_server();
+ static_hosts_add_to_server();
+
++#ifndef HAVE_BONJOUR
+ if (resolv_conf_entry_group)
+ avahi_s_entry_group_reset(resolv_conf_entry_group);
+
+@@ -975,6 +1003,7 @@
+
+ if (config.publish_resolv_conf && resolv_conf_name_servers && resolv_conf_name_servers[0])
+ resolv_conf_entry_group = add_dns_servers(avahi_server, resolv_conf_entry_group, resolv_conf_name_servers);
++#endif
+ }
+
+ #ifdef HAVE_INOTIFY
+@@ -1062,8 +1091,12 @@
+ break;
+
+ case SIGUSR1:
++#ifdef HAVE_BONJOUR
++ avahi_log_info("Got SIGUSR1, ignoring recor.");
++#else
+ avahi_log_info("Got SIGUSR1, dumping record data.");
+ avahi_server_dump(avahi_server, dump, NULL);
++#endif
+ break;
+
+ default:
+@@ -1103,8 +1136,10 @@
+
+ ignore_signal(SIGPIPE);
+
++#ifndef HAVE_BONJOUR
+ if (!(nss_support = avahi_nss_support()))
+ avahi_log_warn("WARNING: No NSS support for mDNS detected, consider installing nss-mdns!");
++#endif
+
+ if (!(simple_poll_api = avahi_simple_poll_new())) {
+ avahi_log_error("Failed to create main loop object.");
+@@ -1123,8 +1158,10 @@
+ goto finish;
+ }
+
++#ifndef HAVE_BONJOUR
+ if (simple_protocol_setup(poll_api) < 0)
+ goto finish;
++#endif
+
+ #ifdef HAVE_DBUS
+ if (c->enable_dbus) {
+@@ -1193,7 +1230,9 @@
+ }
+ #endif
+
++#ifndef HAVE_BONJOUR
+ load_resolv_conf();
++#endif
+ #ifdef ENABLE_CHROOT
+ static_service_load(config.use_chroot);
+ static_hosts_load(config.use_chroot);
+@@ -1207,8 +1246,10 @@
+ goto finish;
+ }
+
++#ifndef HAVE_BONJOUR
+ update_wide_area_servers();
+ update_browse_domains();
++#endif
+
+ if (c->daemonize) {
+ daemon_retval_send(0);
+@@ -1238,10 +1279,12 @@
+
+ static_hosts_remove_from_server();
+ static_hosts_free_all();
++#ifndef HAVE_BONJOUR
+
+ remove_dns_server_entry_groups();
+
+ simple_protocol_shutdown();
++#endif
+
+ #ifdef HAVE_DBUS
+ if (c->enable_dbus)
+@@ -1555,8 +1598,10 @@
+ goto finish;
+ }
+
++#ifndef HAVE_BONJOUR
+ if (load_config_file(&config) < 0)
+ goto finish;
++#endif
+
+ if (config.daemonize) {
+ daemon_retval_init();
+@@ -1648,9 +1693,13 @@
+
+ avahi_server_config_free(&config.server_config);
+ avahi_free(config.config_file);
++#ifdef HAVE_BONJOUR
++ assert(config.publish_dns_servers == NULL);
++#else
+ avahi_strfreev(config.publish_dns_servers);
+ avahi_strfreev(resolv_conf_name_servers);
+ avahi_strfreev(resolv_conf_search_domains);
++#endif
+
+ if (wrote_pid_file) {
+ #ifdef ENABLE_CHROOT
+--- avahi-0.6.30/avahi-daemon/static-services.c.orig 2011-08-22 13:40:56.137423950 +0100
++++ avahi-0.6.30/avahi-daemon/static-services.c 2011-08-22 14:02:55.507416810 +0100
+@@ -711,7 +711,11 @@
+ break;
+ #endif
+ default:
++#ifdef HAVE_BONJOUR
++ avahi_log_info("Failed to read "AVAHI_SERVICE_DIR".");
++#else
+ avahi_log_error("Failed to read "AVAHI_SERVICE_DIR".");
++#endif
+ break;
+ }
+