Avahi-0.6.31

Introduction to Avahi

The Avahi package is a system which facilitates service discovery on a local network.

This package is known to build and work properly using an LFS-7.5 platform.

Package Information

Avahi Dependencies

Required

GLib-2.38.2 and Intltool-0.50.2

Recommended

D-Bus Python-1.2.0, gobject-introspection-1.38.0, GTK+-2.24.22, GTK+-3.10.7, libdaemon-0.14 and libglade-2.6.4

Optional

Qt-4.8.5

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/avahi

Installation of Avahi

There should be a dedicated user and group to take control of the avahi-daemon daemon after it is started. Issue the following commands as the root user:

groupadd -fg 84 avahi &&
useradd -c "Avahi Daemon Owner" -d /var/run/avahi-daemon -u 84 \
        -g avahi -s /bin/false avahi

There should also be a dedicated priviliged access group for Avahi clients. Issue the following command as the root user:

groupadd -fg 86 netdev

Install Avahi by running the following commands:

sed -i 's/\(CFLAGS=.*\)-Werror \(.*\)/\1\2/' configure &&
sed -i -e 's/-DG_DISABLE_DEPRECATED=1//' \
 -e '/-DGDK_DISABLE_DEPRECATED/d' avahi-ui/Makefile.in &&
./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --localstatedir=/var \
            --disable-static     \
            --disable-mono       \
            --disable-monodoc    \
            --disable-python     \
            --disable-qt3        \
            --disable-qt4        \
            --enable-core-docs   \
            --with-distro=none &&
make

This package does not come with a test suite.

Now, as the root user:

make install

Command Explanations

sed -i ...: These seds allow the package to build after the deprecation of symbols in gtkstock.h by current gtk+-3 by removing -Werror and by removing the defines for G{,DK,TK}_DISABLE_DEPRECATED.

--disable-static: This switch prevents installation of static versions of the libraries.

--disable-mono: This parameter disables the Mono bindings.

--disable-monodoc: This parameter disables documentation for the Mono bindings.

--disable-python: This parameter disables the scripts that depend on Python. It also allows a regular install to complete successfully.

--disable-qt3: This parameter disables the building of Qt3 mainloop integration.

--disable-qt4: This parameter disables the building of Qt4Core mainloop integration. Omit this if you have installed Qt4.

--enable-core-docs: This parameter enables the building of documentation.

--with-distro=none: There is an obsolete boot script in the distribution for LFS. This option disables it.

--disable-dbus: This parameter disables the use of D-Bus.

--disable-gtk: This parameter disables the use of GTK+2.

--disable-gtk3: This parameter disables the use of GTK+3.

--disable-libdaemon: This parameter disables the use of libdaemon. If you remove this option, avahi-daemon won't be built.

--enable-tests: This option enables the building of tests and examples.

--enable-compat-howl: This option enables the compatibility layer for HOWL.

--enable-compat-libdns_sd: This option enables the compatibility layer for libdns_sd.

Configuring avahi

Boot Script

To automatically start the avahi-daemon when the system is rebooted, install the /etc/rc.d/init.d/avahi bootscript from the blfs-bootscripts-20140301 package.

make install-avahi

Contents

Installed Programs: avahi-autoipd, avahi-bookmarks, avahi-browse, avahi-browse-domains, avahi-daemon, avahi-discover, avahi-discover-standalone, avahi-dnsconfd, avahi-publish, avahi-publish-address, avahi-publish-service, avahi-resolve, avahi-resolve-address, avahi-resolve-host-name, avahi-set-host-name, bshell, bssh, and bvnc
Installed Libraries: libavahi-client.so, libavahi-common.so, libavahi-core.so, libavahi-glib.so, libavahi-gobject.so, libavahi-ui-gtk3.so,, libavahi-ui.so, libdns_sd.so, and libhowl.so,
Installed Directories: /etc/avahi/services, /usr/{include/{avahi-client,avahi-common, avahi-compat-howl/{corby,discovery,rendezvous,salt}, avahi-compat-libdns_sd,avahi-core,avahi-glib,avahi-gobject,avahi-ui}, lib/{avahi,python2.7/site-packages/{avahi, avahi_discover}},share/{avahi/interfaces,locale/en_NZ/LC_MESSAGES}}

Short Descriptions

avahi-autoipd

is a IPv4LL network address configuration daemon.

avahi-bookmarks

is a Web service showing mDNS/DNS-SD announced HTTP services using the Avahi daemon.

avahi-browse

browses for mDNS/DNS-SD services using the Avahi daemon.

avahi-browse-domains

browses for mDNS/DNS-SD services using the Avahi daemon.

avahi-daemon

is the Avahi mDNS/DNS-SD daemon.

avahi-discover

browses for mDNS/DNS-SD services using the Avahi daemon.

avahi-discover-standalone

browses for mDNS/DNS-SD services using the Avahi daemon.

avahi-dnsconfd

is a Unicast DNS server from mDNS/DNS-SD configuration daemon.

avahi-publish

registers a mDNS/DNS-SD service or host name or address mapping using the Avahi daemon.

avahi-publish-address

registers a mDNS/DNS-SD service or host name or address mapping using the Avahi daemon.

avahi-publish-service

registers a mDNS/DNS-SD service or host name or address mapping using the Avahi daemon.

avahi-resolve

resolves one or more mDNS/DNS host name(s) to IP address(es) (and vice versa) using the Avahi daemon.

avahi-resolve-address

resolves one or more mDNS/DNS host name(s) to IP address(es) (and vice versa) using the Avahi daemon.

avahi-resolve-host-name

resolves one or more mDNS/DNS host name(s) to IP address(es) (and vice versa) using the Avahi daemon.

avahi-set-host-name

changes the mDNS host name.

bssh

browses for SSH servers on the local network.

bvnc

browses for VNC servers on the local network.

Last updated on 2014-02-20 13:24:55 -0800