diff options
-rw-r--r-- | packages/avahi/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/avahi/avahi-0.1/.mtn2git_empty | 0 | ||||
-rw-r--r-- | packages/avahi/avahi-0.1/avahi-glib.pc.patch | 10 | ||||
-rw-r--r-- | packages/avahi/avahi-0.1/avahi-test-memory-corruption.patch | 34 | ||||
-rw-r--r-- | packages/avahi/avahi-0.1/dbus-warn.patch | 99 | ||||
-rw-r--r-- | packages/avahi/avahi-0.1/no-strict-ansi.patch | 11 | ||||
-rw-r--r-- | packages/avahi/avahi-0.1/resolving.patch | 58 | ||||
-rw-r--r-- | packages/avahi/avahi-0.1/static-services-protocol.patch | 193 | ||||
-rw-r--r-- | packages/avahi/avahi_0.1.bb | 51 |
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><name replace-wildcards="yes|no"/></opt> The ++ <p><opt><name replace-wildcards="yes|no"></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><service></opt> Contains the service information +- for exactly one service type. Should contain one +- <opt><type></opt> and one <opt><port></opt> +- element. Optionally it may contain one ++ <p><opt><service protocol="ipv4|ipv6|any"></opt> ++ Contains the service information for exactly one service ++ type. Should contain one <opt><type></opt> and one ++ <opt><port></opt> element. Optionally it may contain one + <opt><domain-name></opt>, one + <opt><host-name></opt> and multiple +- <opt><txt-record></opt> elements.</p> ++ <opt><txt-record></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><type></opt> Contains the DNS-SD service type for this service. e.g. "_http._tcp".</p> + </option> +@@ -88,10 +91,6 @@ + </option> + + <option> +- <p><opt><protocol></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><txt-record></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 +} + |