summaryrefslogtreecommitdiff
path: root/packages/avahi
diff options
context:
space:
mode:
authorPhilipp Zabel <philipp.zabel@gmail.com>2005-08-28 16:53:07 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-08-28 16:53:07 +0000
commitd9117e4d7f4a745862b7ab4bb251ff2bc238edde (patch)
tree72c5f0960844bd356053211c6e270adbd34f2345 /packages/avahi
parentc1707f971f4316d880921e41af988c1a32e1ac49 (diff)
avahi: add a .bb for the avahi packages, see bug #268
Diffstat (limited to 'packages/avahi')
-rw-r--r--packages/avahi/.mtn2git_empty0
-rw-r--r--packages/avahi/avahi-0.1/.mtn2git_empty0
-rw-r--r--packages/avahi/avahi-0.1/avahi-glib.pc.patch10
-rw-r--r--packages/avahi/avahi-0.1/avahi-test-memory-corruption.patch34
-rw-r--r--packages/avahi/avahi-0.1/dbus-warn.patch99
-rw-r--r--packages/avahi/avahi-0.1/no-strict-ansi.patch11
-rw-r--r--packages/avahi/avahi-0.1/resolving.patch58
-rw-r--r--packages/avahi/avahi-0.1/static-services-protocol.patch193
-rw-r--r--packages/avahi/avahi_0.1.bb51
9 files changed, 456 insertions, 0 deletions
diff --git a/packages/avahi/.mtn2git_empty b/packages/avahi/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/avahi/.mtn2git_empty
diff --git a/packages/avahi/avahi-0.1/.mtn2git_empty b/packages/avahi/avahi-0.1/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/avahi/avahi-0.1/.mtn2git_empty
diff --git a/packages/avahi/avahi-0.1/avahi-glib.pc.patch b/packages/avahi/avahi-0.1/avahi-glib.pc.patch
new file mode 100644
index 0000000000..0d0097387c
--- /dev/null
+++ b/packages/avahi/avahi-0.1/avahi-glib.pc.patch
@@ -0,0 +1,10 @@
+diff -Nurd avahi-0.1.orig/avahi-glib.pc.in avahi-0.1/avahi-glib.pc.in
+--- avahi-0.1.orig/avahi-glib.pc.in 2005-08-21 23:27:14 +0200
++++ avahi-0.1/avahi-glib.pc.in 2005-08-28 00:34:50 +0200
+@@ -7,5 +7,5 @@
+ Description: Avahi Multicast DNS Responder (GLib Support)
+ Version: @PACKAGE_VERSION@
+ Requires: glib-2.0
+-Libs: -L${libdir} -lavahi-commong -lavahi-glib
++Libs: -L${libdir} -lavahi-common -lavahi-glib
+ Cflags: -D_REENTRANT -I${includedir}
diff --git a/packages/avahi/avahi-0.1/avahi-test-memory-corruption.patch b/packages/avahi/avahi-0.1/avahi-test-memory-corruption.patch
new file mode 100644
index 0000000000..b6cbeb754d
--- /dev/null
+++ b/packages/avahi/avahi-0.1/avahi-test-memory-corruption.patch
@@ -0,0 +1,34 @@
+diff -Nurd avahi-0.1.orig/avahi-core/avahi-test.c avahi-0.1/avahi-core/avahi-test.c
+--- avahi-0.1.orig/avahi-core/avahi-test.c 2005-08-21 23:27:14 +0200
++++ avahi-0.1/avahi-core/avahi-test.c 2005-08-28 00:34:50 +0200
+@@ -261,7 +261,7 @@
+ poll_api->timeout_new(poll_api, &tv, dump_timeout_callback, server);
+
+ avahi_elapse_time(&tv, 1000*60, 0);
+- poll_api->timeout_new(poll_api, &tv, quit_timeout_callback, server);
++ poll_api->timeout_new(poll_api, &tv, quit_timeout_callback, simple_poll);
+
+ for (;;)
+ if (avahi_simple_poll_iterate(simple_poll, -1) != 0)
+diff -Nurd avahi-0.1.orig/avahi-core/server.c avahi-0.1/avahi-core/server.c
+--- avahi-0.1.orig/avahi-core/server.c 2005-08-21 23:27:14 +0200
++++ avahi-0.1/avahi-core/server.c 2005-08-28 00:34:50 +0200
+@@ -267,7 +267,6 @@
+ }
+ }
+
+-
+ if (!ours) {
+
+ if (won)
+diff -Nurd avahi-0.1.orig/avahi-core/hashmap.c avahi-0.1/avahi-core/hashmap.c
+--- avahi-0.1.orig/avahi-core/hashmap.c 2005-08-21 23:27:14 +0200
++++ avahi-0.1/avahi-core/hashmap.c 2005-08-28 00:34:50 +0200
+@@ -69,6 +69,7 @@
+
+ static void entry_free(AvahiHashmap *m, Entry *e, int stolen) {
+ unsigned idx;
++ assert(m);
+ assert(e);
+
+ idx = m->hash_func(e->key) % HASH_MAP_SIZE;
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>
diff --git a/packages/avahi/avahi-0.1/no-strict-ansi.patch b/packages/avahi/avahi-0.1/no-strict-ansi.patch
new file mode 100644
index 0000000000..4bc3a5c4c4
--- /dev/null
+++ b/packages/avahi/avahi-0.1/no-strict-ansi.patch
@@ -0,0 +1,11 @@
+--- avahi-0.1/configure.ac.orig 2005-08-23 19:52:00 +0200
++++ avahi-0.1/configure.ac 2005-08-23 19:52:07 +0200
+@@ -57,7 +57,7 @@
+ # If using GCC specify some additional parameters
+ if test "x$GCC" = "xyes" ; then
+
+- DESIRED_FLAGS="-std=c99 -Wall -W -Wextra -pedantic -pipe -Wformat -Wold-style-definition -Wdeclaration-after-statement -Wfloat-equal -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wshadow -Wendif-labels -Wlarger-than-4000 -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Winline -Wno-unused-parameter"
++ DESIRED_FLAGS="-std=gnu99 -Wall -W -Wextra -pedantic -pipe -Wformat -Wold-style-definition -Wdeclaration-after-statement -Wfloat-equal -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wshadow -Wendif-labels -Wlarger-than-4000 -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Winline -Wno-unused-parameter"
+
+ for flag in $DESIRED_FLAGS ; do
+ AC_MSG_CHECKING([whether $CC accepts $flag])
diff --git a/packages/avahi/avahi-0.1/resolving.patch b/packages/avahi/avahi-0.1/resolving.patch
new file mode 100644
index 0000000000..a3d254cf75
--- /dev/null
+++ b/packages/avahi/avahi-0.1/resolving.patch
@@ -0,0 +1,58 @@
+diff -Nurd avahi-0.1.orig/avahi-core/resolve-service.c avahi-0.1/avahi-core/resolve-service.c
+--- avahi-0.1.orig/avahi-core/resolve-service.c 2005-08-21 23:27:14 +0200
++++ avahi-0.1/avahi-core/resolve-service.c 2005-08-28 00:34:50 +0200
+@@ -200,10 +200,11 @@
+ } else {
+ assert(event == AVAHI_BROWSER_REMOVE);
+
++
+ switch (record->key->type) {
+ case AVAHI_DNS_TYPE_SRV:
+
+- if (avahi_record_equal_no_ttl(record, r->srv_record)) {
++ if (r->srv_record && avahi_record_equal_no_ttl(record, r->srv_record)) {
+ avahi_record_unref(r->srv_record);
+ r->srv_record = NULL;
+
+@@ -216,7 +217,7 @@
+
+ case AVAHI_DNS_TYPE_TXT:
+
+- if (avahi_record_equal_no_ttl(record, r->txt_record)) {
++ if (r->txt_record && avahi_record_equal_no_ttl(record, r->txt_record)) {
+ avahi_record_unref(r->txt_record);
+ r->txt_record = NULL;
+
+@@ -229,7 +230,7 @@
+ case AVAHI_DNS_TYPE_A:
+ case AVAHI_DNS_TYPE_AAAA:
+
+- if (avahi_record_equal_no_ttl(record, r->address_record)) {
++ if (r->address_record && avahi_record_equal_no_ttl(record, r->address_record)) {
+ avahi_record_unref(r->address_record);
+ r->address_record = NULL;
+
+diff -Nurd avahi-0.1.orig/avahi-core/resolve-address.c avahi-0.1/avahi-core/resolve-address.c
+--- avahi-0.1.orig/avahi-core/resolve-address.c 2005-08-21 23:27:14 +0200
++++ avahi-0.1/avahi-core/resolve-address.c 2005-08-28 00:34:50 +0200
+@@ -121,7 +121,7 @@
+
+ assert(event == AVAHI_BROWSER_REMOVE);
+
+- if (avahi_record_equal_no_ttl(record, r->ptr_record)) {
++ if (r->ptr_record && avahi_record_equal_no_ttl(record, r->ptr_record)) {
+ avahi_record_unref(r->ptr_record);
+ r->ptr_record = NULL;
+
+diff -Nurd avahi-0.1.orig/avahi-core/resolve-host-name.c avahi-0.1/avahi-core/resolve-host-name.c
+--- avahi-0.1.orig/avahi-core/resolve-host-name.c 2005-08-21 23:27:14 +0200
++++ avahi-0.1/avahi-core/resolve-host-name.c 2005-08-28 00:34:50 +0200
+@@ -141,7 +141,7 @@
+
+ assert(event == AVAHI_BROWSER_REMOVE);
+
+- if (avahi_record_equal_no_ttl(record, r->address_record)) {
++ if (r->address_record && avahi_record_equal_no_ttl(record, r->address_record)) {
+ avahi_record_unref(r->address_record);
+ r->address_record = NULL;
+
diff --git a/packages/avahi/avahi-0.1/static-services-protocol.patch b/packages/avahi/avahi-0.1/static-services-protocol.patch
new file mode 100644
index 0000000000..a4f41043c6
--- /dev/null
+++ b/packages/avahi/avahi-0.1/static-services-protocol.patch
@@ -0,0 +1,193 @@
+diff -Nurd avahi-0.1.orig/avahi-daemon/static-services.c avahi-0.1/avahi-daemon/static-services.c
+--- avahi-0.1.orig/avahi-daemon/static-services.c 2005-08-21 23:27:09 +0200
++++ avahi-0.1/avahi-daemon/static-services.c 2005-08-28 00:34:50 +0200
+@@ -251,7 +251,6 @@
+ XML_TAG_DOMAIN_NAME,
+ XML_TAG_HOST_NAME,
+ XML_TAG_PORT,
+- XML_TAG_PROTOCOL,
+ XML_TAG_TXT_RECORD
+ } xml_tag_name;
+
+@@ -285,19 +284,41 @@
+ u->group->replace_wildcards = strcmp(attr[1], "yes") == 0;
+ else
+ goto invalid_attr;
+- }
+
+- if (attr[2])
+- goto invalid_attr;
++ if (attr[2])
++ goto invalid_attr;
++ }
+
+ } else if (u->current_tag == XML_TAG_SERVICE_GROUP && strcmp(el, "service") == 0) {
+- if (attr[0])
+- goto invalid_attr;
++ u->current_tag = XML_TAG_SERVICE;
+
+ assert(!u->service);
+ u->service = static_service_new(u->group);
+
+- u->current_tag = XML_TAG_SERVICE;
++ if (attr[0]) {
++ if (strcmp(attr[0], "protocol") == 0) {
++ AvahiProtocol protocol;
++
++ if (strcmp(attr[1], "ipv4") == 0) {
++ protocol = AVAHI_PROTO_INET;
++ } else if (strcmp(attr[1], "ipv6") == 0) {
++ protocol = AVAHI_PROTO_INET6;
++ } else if (strcmp(attr[1], "any") == 0) {
++ protocol = AVAHI_PROTO_UNSPEC;
++ } else {
++ avahi_log_error("%s: parse failure: invalid protocol specification \"%s\".", u->group->filename, attr[1]);
++ u->failed = 1;
++ return;
++ }
++
++ u->service->protocol = protocol;
++ } else
++ goto invalid_attr;
++
++ if (attr[2])
++ goto invalid_attr;
++ }
++
+ } else if (u->current_tag == XML_TAG_SERVICE && strcmp(el, "type") == 0) {
+ if (attr[0])
+ goto invalid_attr;
+@@ -318,11 +339,6 @@
+ goto invalid_attr;
+
+ u->current_tag = XML_TAG_PORT;
+- } else if (u->current_tag == XML_TAG_SERVICE && strcmp(el, "protocol") == 0) {
+- if (attr[0])
+- goto invalid_attr;
+-
+- u->current_tag = XML_TAG_PROTOCOL;
+ } else if (u->current_tag == XML_TAG_SERVICE && strcmp(el, "txt-record") == 0) {
+ if (attr[0])
+ goto invalid_attr;
+@@ -394,27 +410,6 @@
+ break;
+ }
+
+- case XML_TAG_PROTOCOL: {
+- int protocol;
+- assert(u->service);
+-
+- if (u->buf && strcasecmp (u->buf, "ipv4") == 0) {
+- protocol = AVAHI_PROTO_INET;
+- } else if (u->buf && strcasecmp (u->buf, "ipv6") == 0) {
+- protocol = AVAHI_PROTO_INET6;
+- } else if (u->buf && strcasecmp (u->buf, "any") == 0) {
+- protocol = AVAHI_PROTO_UNSPEC;
+- } else {
+- avahi_log_error("%s: parse failure: invalid protocol specification \"%s\".", u->group->filename, u->buf);
+- u->failed = 1;
+- return;
+- }
+-
+- u->service->protocol = protocol;
+- u->current_tag = XML_TAG_SERVICE;
+- break;
+- }
+-
+ case XML_TAG_TXT_RECORD: {
+ assert(u->service);
+
+@@ -484,7 +479,6 @@
+ break;
+
+ case XML_TAG_PORT:
+- case XML_TAG_PROTOCOL:
+ case XML_TAG_TXT_RECORD:
+ assert(u->service);
+ u->buf = append_cdata(u->buf, s, len);
+diff -Nurd avahi-0.1.orig/avahi-daemon/example.service avahi-0.1/avahi-daemon/example.service
+--- avahi-0.1.orig/avahi-daemon/example.service 2005-08-21 23:27:09 +0200
++++ avahi-0.1/avahi-daemon/example.service 2005-08-28 00:34:50 +0200
+@@ -16,12 +16,11 @@
+ <port>631</port>
+ </service>
+
+- <service>
++ <service protocol="ipv6">
+ <type>_uberprinter._tcp</type>
+ <domain-name>local</domain-name>
+ <host-name>quux.local</host-name>
+ <port>4711</port>
+- <protocol>any</protocol>
+ <txt-record>this=is</txt-record>
+ <txt-record>a=really</txt-record>
+ <txt-record>bad=example</txt-record>
+diff -Nurd avahi-0.1.orig/avahi-daemon/avahi-service.dtd avahi-0.1/avahi-daemon/avahi-service.dtd
+--- avahi-0.1.orig/avahi-daemon/avahi-service.dtd 2005-08-21 23:27:09 +0200
++++ avahi-0.1/avahi-daemon/avahi-service.dtd 2005-08-28 00:34:50 +0200
+@@ -5,7 +5,7 @@
+ <!ELEMENT name (#PCDATA)>
+ <!ATTLIST name replace-wildcards (yes|no) "no">
+ <!ELEMENT service (type,domain-name?,host-name?,port,txt-record*)>
+-<!ATTLIST service>
++<!ATTLIST service protocol (ipv4|ipv6|any) "any">
+ <!ELEMENT type (#PCDATA)>
+ <!ATTLIST type>
+ <!ELEMENT domain-name (#PCDATA)>
+@@ -14,7 +14,5 @@
+ <!ATTLIST host-name>
+ <!ELEMENT port (#PCDATA)>
+ <!ATTLIST port>
+-<!ELEMENT protocol (#PCDATA)>
+-<!ATTLIST protocol>
+ <!ELEMENT txt-record (#PCDATA)>
+ <!ATTLIST txt-record>
+diff -Nurd avahi-0.1.orig/man/avahi.service.5.xml.in avahi-0.1/man/avahi.service.5.xml.in
+--- avahi-0.1.orig/man/avahi.service.5.xml.in 2005-08-21 23:27:10 +0200
++++ avahi-0.1/man/avahi.service.5.xml.in 2005-08-28 00:34:50 +0200
+@@ -45,7 +45,7 @@
+ </option>
+
+ <option>
+- <p><opt>&lt;name replace-wildcards="yes|no"/&gt;</opt> The
++ <p><opt>&lt;name replace-wildcards="yes|no"&gt;</opt> The
+ service name. If <opt>replace-wildcards</opt> is "yes", any
+ occurence of the string "%h" will be replaced by the local
+ host name. This can be used for service names like "Remote
+@@ -54,16 +54,19 @@
+ </option>
+
+ <option>
+- <p><opt>&lt;service&gt;</opt> Contains the service information
+- for exactly one service type. Should contain one
+- <opt>&lt;type&gt;</opt> and one <opt>&lt;port&gt;</opt>
+- element. Optionally it may contain one
++ <p><opt>&lt;service protocol="ipv4|ipv6|any"&gt;</opt>
++ Contains the service information for exactly one service
++ type. Should contain one <opt>&lt;type&gt;</opt> and one
++ <opt>&lt;port&gt;</opt> element. Optionally it may contain one
+ <opt>&lt;domain-name&gt;</opt>, one
+ <opt>&lt;host-name&gt;</opt> and multiple
+- <opt>&lt;txt-record&gt;</opt> elements.</p>
++ <opt>&lt;txt-record&gt;</opt> elements. The attribute
++ <opt>protocol</opt> specifies the protocol to
++ advertise the service on. If <opt>any</opt> is used (which is
++ the default), the service will be advertised on both IPv4 and
++ IPv6.</p>
+ </option>
+
+-
+ <option>
+ <p><opt>&lt;type&gt;</opt> Contains the DNS-SD service type for this service. e.g. "_http._tcp".</p>
+ </option>
+@@ -88,10 +91,6 @@
+ </option>
+
+ <option>
+- <p><opt>&lt;protocol&gt;</opt> The protocol to advertise the service on, can be any of <opt>ipv4</opt>, <opt>ipv6</opt> or <opt>any</opt>.</p>
+- </option>
+-
+- <option>
+ <p><opt>&lt;txt-record&gt;</opt> DNS-SD TXT record data.</p>
+ </option>
+
diff --git a/packages/avahi/avahi_0.1.bb b/packages/avahi/avahi_0.1.bb
new file mode 100644
index 0000000000..f9f1ca2ec1
--- /dev/null
+++ b/packages/avahi/avahi_0.1.bb
@@ -0,0 +1,51 @@
+DESCRIPTION = "Avahi implements the DNS-SD over Multicast DNS"
+HOMEPAGE = "http://www.freedesktop.org/Software/Avahi"
+LICENCE= "GPL"
+DEPENDS = "expat libdaemon dbus-0.34" # "python gtk+"
+RRECOMMENDS = "libnss-mdns"
+SECTION = "net"
+PRIORITY = "optional"
+
+SRC_URI = "http://www.freedesktop.org/~lennart/avahi-0.1.tar.gz \
+ file://no-strict-ansi.patch;patch=1 \
+ file://avahi-glib.pc.patch;patch=1 \
+ file://avahi-test-memory-corruption.patch;patch=1 \
+ file://dbus-warn.patch;patch=1 \
+ file://resolving.patch;patch=1 \
+ file://static-services-protocol.patch;patch=1"
+
+PACKAGES = "avahi-daemon libavahi-common libavahi-core libavahi-client avahi-dnsconfd libavahi-glib avahi-dev avahi-doc"
+
+FILES_libavahi-common = "${libdir}/libavahi-common.so.*"
+FILES_libavahi-core= "${libdir}/libavahi-core.so.*"
+FILES_avahi-daemon = "${sbindir}/avahi-daemon \
+ ${sysconfdir}/avahi/avahi-daemon.conf \
+ ${sysconfdir}/avahi/services \
+ ${sysconfdir}/dbus-1 \
+ ${sysconfdir}/init.d/avahi-daemon \
+ ${datadir}/avahi/introspection/*.introspect \
+ ${datadir}/avahi/avahi-service.dtd"
+FILES_libavahi-client = "${libdir}/libavahi-client.so.*"
+FILES_avahi-dnsconfd = "${sbindir}/avahi-dnsconfd \
+ ${sysconfdir}/avahi/avahi-dnsconfd.action \
+ ${sysconfdir}/init.d/avahi-dnsconfd"
+FILES_libavahi-glib = "${libdir}/libavahi-glib.so.*"
+
+CONFFILES_avahi-daemon = "${sysconfdir}/avahi/avahi-daemon.conf"
+
+EXTRA_OECONF = "--with-distro=debian --disable-gtk --disable-python"
+inherit autotools
+inherit update-rc.d
+
+INITSCRIPT_PACKAGES = "avahi-daemon avahi-dnsconfd"
+INITSCRIPT_NAME_avahi-daemon = "avahi-daemon"
+INITSCRIPT_NAME_avahi-dnsconfd = "avahi-dnsconfd"
+
+pkg_postinst_avahi-daemon () {
+ grep avahi /etc/passwd || adduser --disabled-password --system --home /var/run/avahi-daemon avahi
+}
+
+pkg_postrm_avahi-daemon () {
+ deluser avahi || true
+}
+