Avahi is a free, LGPL mDNS/DNS-SD implementation.

Copyright 2004-2009 by the Avahi developers.

	http://avahi.org/

Avahi has a mailing list:

	http://lists.freedesktop.org/mailman/listinfo/avahi

You have a chance to meet the developers on

	#avahi on irc.freenode.org

Please report bugs to the freedesktop.org bugzilla:

	http://bugs.freedesktop.org/

Avahi's SVN repository is freely accessible:

	svn checkout svn://svn.0pointer.de/avahi/trunk avahi

	http://0pointer.de/cgi-bin/viewcvs.cgi/?root=avahi

Avahi has the following requirements:
	- glib2
	- expat
	- libdaemon (http://0pointer.de/lennart/projects/libdaemon/)
	- Linux 2.4 or 2.6
	- DBUS 0.3x (optional, if you disable this, the daemon is not
	  accessible over IPC to other applications!)
	- gtk2 + glade (optional, needed for avahi-discover-standalone)
	- doxygen (optional, needed for he API documentaton)
	- Python 2.4, pygtk2 (optional, needed by all client tools)
	- python-twisted (optional, needed by avahi-bookmarks)
    - xmltoman (if building from SVN rather than a tarball)
      If you are not using debian or ubuntu, the upstream authors page has
      disappeared, but you can get the source from debian here
      http://ftp.debian.org/debian/pool/main/x/xmltoman/xmltoman_0.3.orig.tar.gz

Please make sure to read the currently available documentation for avahi before
asking for support on the mailing list:

	- INSTALL
	- Man pages
	- Homepage http://avahi.org/
	- Mailing list archive http://lists.freedesktop.org/archives/avahi/
