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 /run/avahi-daemon -u 84 \
        -g avahi -s /bin/false avahi
        
          There should also be a dedicated privileged access group for
          Avahi clients. Issue the following
          command as the root user:
        
        groupadd -fg 86 netdev
        
          Fix a regression that results in a race condition when IPv6 is in
          use and multiple network adapters are present on the system:
        
        patch -Np1 -i ../avahi-0.8-ipv6_race_condition_fix-1.patch
        
          Fix a security vulnerability in avahi-daemon:
        
        sed -i '426a if (events & AVAHI_WATCH_HUP) { \
client_free(c); \
return; \
}' avahi-daemon/simple-protocol.c
        
          Install Avahi by running the
          following commands:
        
        ./configure \
    --prefix=/usr        \
    --sysconfdir=/etc    \
    --localstatedir=/var \
    --disable-static     \
    --disable-libevent   \
    --disable-mono       \
    --disable-monodoc    \
    --disable-python     \
    --disable-qt3        \
    --disable-qt4        \
    --disable-qt5        \
    --enable-core-docs   \
    --with-distro=none   \
    --with-dbus-system-address='unix:path=/run/dbus/system_bus_socket' &&
make
        
          This package does not come with a test suite.
        
        
          Now, as the root user:
        
        make install
       
      
        
          Command Explanations
        
        
          --disable-static: This
          switch prevents installation of static versions of the libraries.
        
        
          --disable-libevent: This
          parameter disables the use of libevent-2.1.12. Remove if you have it
          installed.
        
        
          --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 attempt to build the obsolete Qt3 portions of the package.
        
        
          --disable-qt4: This
          parameter disables the attempt to build the obsolete Qt4Core portions of the package.
        
        
          --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.
        
        
          --with-dbus-system-address=: This
          option prevents the package from referring to the deprecated
          /var/run directory.
        
        
          --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-qt5: This parameter disables
          the use of Qt5, and allows
          building without it.
        
        
          --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
        
        
          
            Boot Script
          
          
            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