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 \
--with-systemdsystemunitdir=/lib/systemd/system &&
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-systemdsystemunitdir=/lib/systemd/system
:
This parameter is used to set the correct installation directory
for systemd units.
--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 use 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
Systemd Units
To start the avahi-daemon daemon at boot,
enable the previously installed systemd unit by running the
following command as the root
user:
systemctl enable avahi-daemon
To start the avahi-dnsconfd daemon at boot,
enable the previously installed systemd unit by running the
following command as the root
user:
systemctl enable avahi-dnsconfd