diff --git a/openwrt/package/avahi/Makefile b/openwrt/package/avahi/Makefile
index a6b4a626a70..b5f5b943cd2 100644
--- a/openwrt/package/avahi/Makefile
+++ b/openwrt/package/avahi/Makefile
@@ -23,7 +23,7 @@ $(eval $(call PKG_template,LIBAVAHI,libavahi,$(PKG_VERSION)-$(PKG_RELEASE),$(ARC
$(PKG_BUILD_DIR)/.configured:
(cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
$(TARGET_CONFIGURE_OPTS) \
- CFLAGS="$(TARGET_CFLAGS)" \
+ CFLAGS="$(TARGET_CFLAGS) -DNDEBUG" \
CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
LDFLAGS="-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \
PKG_CONFIG_PATH="$(STAGING_DIR)/usr/lib/pkgconfig" \
@@ -66,6 +66,8 @@ $(PKG_BUILD_DIR)/.configured:
--disable-doxygen-pdf \
--disable-xmltoman \
--with-distro=openwrt \
+ --with-avahi-user=nobody \
+ --with-avahi-group=nogroup \
);
touch $@
@@ -79,8 +81,12 @@ $(PKG_BUILD_DIR)/.built:
$(IPKG_AVAHI_DAEMON):
install -d -m0755 $(IDIR_AVAHI_DAEMON)/etc/avahi
- cp -fpR $(PKG_INSTALL_DIR)/etc/avahi/avahi-daemon.conf $(IDIR_AVAHI_DAEMON)/etc/avahi/
- cp -fpR $(PKG_INSTALL_DIR)/etc/avahi/services $(IDIR_AVAHI_DAEMON)/etc/avahi/
+ install -m0644 ./files/avahi-daemon.conf $(IDIR_AVAHI_DAEMON)/etc/avahi/
+ install -d -m0755 $(IDIR_AVAHI_DAEMON)/etc/avahi/services
+ install -m0644 ./files/service-http $(IDIR_AVAHI_DAEMON)/etc/avahi/services/http.service
+ install -m0644 ./files/service-ssh $(IDIR_AVAHI_DAEMON)/etc/avahi/services/ssh.service
+ install -d -m0755 $(IDIR_AVAHI_DAEMON)/etc/init.d
+ install -m0755 ./files/avahi-daemon.init $(IDIR_AVAHI_DAEMON)/etc/init.d/avahi-daemon
install -d -m0755 $(IDIR_AVAHI_DAEMON)/usr/sbin
cp -fpR $(PKG_INSTALL_DIR)/usr/sbin/avahi-daemon $(IDIR_AVAHI_DAEMON)/usr/sbin/
$(RSTRIP) $(IDIR_AVAHI_DAEMON)
diff --git a/openwrt/package/avahi/files/avahi-daemon.conf b/openwrt/package/avahi/files/avahi-daemon.conf
new file mode 100644
index 00000000000..a5ff8861954
--- /dev/null
+++ b/openwrt/package/avahi/files/avahi-daemon.conf
@@ -0,0 +1,29 @@
+[server]
+#host-name=foo
+#domain-name=local
+use-ipv4=yes
+use-ipv6=no
+check-response-ttl=no
+use-iff-running=no
+enable-dbus=no
+
+[publish]
+publish-addresses=yes
+publish-hinfo=yes
+publish-workstation=no
+publish-domain=yes
+#publish-dns-servers=192.168.1.1
+#publish-resolv-conf-dns-servers=yes
+
+[reflector]
+enable-reflector=no
+reflect-ipv=no
+
+[rlimits]
+#rlimit-as=
+rlimit-core=0
+rlimit-data=4194304
+rlimit-fsize=0
+rlimit-nofile=30
+rlimit-stack=4194304
+rlimit-nproc=1
diff --git a/openwrt/package/avahi/files/avahi-daemon.init b/openwrt/package/avahi/files/avahi-daemon.init
new file mode 100644
index 00000000000..20f0a2e0648
--- /dev/null
+++ b/openwrt/package/avahi/files/avahi-daemon.init
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+BIN=avahi-daemon
+DEFAULT=/etc/default/$BIN
+OPTIONS="-D"
+RUN_D=/var/run/$BIN
+[ -f $DEFAULT ] && . $DEFAULT
+
+case $1 in
+ start)
+ mkdir -p $RUN_D
+ $BIN $OPTIONS
+ ;;
+ stop)
+ $BIN -k
+ ;;
+ reload)
+ $BIN -r
+ ;;
+ *)
+ echo "usage: $0 (start|stop|reload)"
+ exit 1
+esac
+
+exit $?
diff --git a/openwrt/package/avahi/files/service-http b/openwrt/package/avahi/files/service-http
new file mode 100644
index 00000000000..8e0d3a5136b
--- /dev/null
+++ b/openwrt/package/avahi/files/service-http
@@ -0,0 +1,10 @@
+
+
+
+ Web Server on %h
+
+ _http._tcp
+ 80
+ path=/index.html
+
+
diff --git a/openwrt/package/avahi/files/service-ssh b/openwrt/package/avahi/files/service-ssh
new file mode 100644
index 00000000000..b415803784d
--- /dev/null
+++ b/openwrt/package/avahi/files/service-ssh
@@ -0,0 +1,9 @@
+
+
+
+ Secure Shell on %h
+
+ _ssh._tcp
+ 22
+
+