File avahi.spec of Package avahi

#
# spec file for package avahi
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild


Name:           avahi
# WARNING: After editing this file please call Re, rpmbuild or
# bash avahi_spec-prepare.sh "$PWD" avahi
# to update spec files:
%define _name avahi
# In automatic build systems you want to enable just one of following options.
# For build all at once, set all to 1.
# If you set build_core to 0, you cannot set more than one other options to 1.
%define         build_core 1
# NOTE: build_glib2 also controls build of gobject, gtk2 and pygtk code.
%define         build_glib2 0
%define         build_mono 0
%define         build_qt3 0
%define         build_qt4 0
Version:        0.6.23
Release:        42.<RELEASE30>
%if !%build_glib2 && !%build_mono && !%build_qt3 && !%build_qt4
# Create split spec files only when building per partes:
#%(sh %{_sourcedir}/%{_name}_spec-prepare.sh %{_sourcedir} %{name})
%endif
%define avahi_client_soname 3
%define avahi_common_soname 3
%define avahi_core_soname 5
%define avahi_ui_soname 0
%define avahi_glib_soname 1
%define avahi_gobject_soname 0
%define avahi_qt3_soname 1
%define avahi_qt4_soname 1
%if %build_glib2
%define debug_package_requires libavahi-ui%{avahi_ui_soname} = %{version}-%{release}
%endif
Url:            http://www.avahi.org/
Group:          System/Daemons
License:        LGPL v2.1 or later
Summary:        D-BUS Service for Zeroconf and Bonjour
Source:         %{_name}-%{version}.tar.bz2
Source1:        gnome-nettool2.png
Source2:        avahi-bookmarks.init
Source3:        avahi.firewall
# Copy of glib-2.0.m4 from glib2-devel to not depend on glib2-devel.
Source4:        avahi-glib-gettext.m4
Source5:        %{_name}_spec-prepare.sh
# From http://packages.debian.org/sid/avahi-daemon http://ftp.debian.org/debian/pool/main/a/avahi/avahi_0.6.31-1.debian.tar.gz
Source6:        avahi-daemon-check-dns.sh
# From http://packages.debian.org/sid/avahi-daemon http://ftp.debian.org/debian/pool/main/a/avahi/avahi_0.6.31-1.debian.tar.gz
Source7:        avahi-daemon.if-up
Source8:        %{_name}_spec-prepare.sh
Source9:        avahi-autoipd.README.SUSE
Source10:       avahi.sysconfig
Source11:       avahi.if-down
#PATCH-FIX-OPENSUSE avahi-gacdir.patch -- Mono libs are in $prefix/lib on suse
Patch0:         avahi-gacdir.patch
#PATCH-FIX-UPSTREAM avahi-desktop.patch bnc254654 sbrabec@suse.de
Patch1:         avahi-desktop.patch
#PATCH-FIX-UPSTREAM avahi-init-lsb.patch -- committed after 0.6.22 release upstream
Patch2:         avahi-init-lsb.patch
#PATCH-FIX-UPSTREAM avahi-empty-share-dir.patch jpr@novell.com -- mailed maintainer
Patch3:         avahi-empty-share-dir.patch
#PATCH-FIX-UPSTREAM avahi-man-link.patch avahi222 sbrabec@suse.cz -- link man page only if it is installed
Patch4:         avahi-man-selection.patch
#PATCH-FIX-UPSTREAM avahi-no-gtk-no-interfaces.patch avahi222 sbrabec@suse.cz -- if gtk is disabled do not install glade files
Patch5:         avahi-no-gtk-no-interfaces.patch
#PATCH-FIX-UPSTREAM avahi-no-gtk-no-interfaces.patch avahi222 sbrabec@suse.cz -- build avahi-bookmarks even without python-gtk
Patch6:         avahi-bookmarks-no-pygtk.patch
#PATCH-FIX-UPSTREAM avahi-no-gtk-python.patch avahi222 sbrabec@suse.cz -- build python module if gtk is disabled
Patch7:         avahi-no-gtk-python.patch
#PATCH-FIX-UPSTREAM avahi-allocsize.patch none meissner@suse.de -- mark up allocation functions with attribute
Patch8:         avahi-allocsize.patch
#PATCH-FIX-UPSTREAM avahi-dnsconfd-netconfig.patch bnc431240 lnussel@suse.de -- use netconfig for dnsconfd
Patch9:         avahi-dnsconfd-netconfig.patch
#PATCH-FIX-OPENSUSE avahi-unicastdomains.patch bnc433359 lnussel@suse.de -- disable pre-set unicast domains by default
Patch10:        avahi-unicastdomains.patch
#PATCH-FIX-UPSTREAM bnc_459007.patch bnc#459007 mauro@suse.de -- fix CVE-2008-5081
Patch11:        bnc_459007.patch 
# PATCH-FIX-UPSTREAM avahi-CVE-2009-0758.patch bnc480865 vuntz@novell.com -- Taken from upstream, fix CVE-2009-0758
Patch12:        avahi-CVE-2009-0758.patch
# PATCH-FIX-UPSTREAM avahi-null-packet-infinite-loop.patch bnc#671797 mcarrion@novell.com (based on vuntz@opensuse.org 's patch) -- Fix infinite loop for corrupted/null packets, http://www.avahi.org/ticket/325
Patch13:        avahi-null-packet-infinite-loop.patch
#PATCH-FIX-SLE11 bnc#773989 jlee@suse.com -- avahi-core: reserve space for record data when size estimate
Patch14:        avahi-packet-add-probe-query-fix-size-compare.patch
# PATCH-FEATURE-OPENSUSE avahi-daemon-check-dns-suse.patch bnc431704 sbrabec@suse.cz -- Port Debian avahi-daemon-check-dns.sh to SUSE, see also http://avahi.org/wiki/AvahiAndUnicastDotLocal
Patch15:        avahi-daemon-check-dns-suse.patch
# PATCH-FEATURE-SLE avahi-daemon-ifup-suse.patch bnc431704 sbrabec@suse.cz -- Add SUSE sysconfig support to Debian avahi-daemon.if-up
Patch16:        avahi-daemon-ifup-suse.patch
#PATCH-FIX-UPSTREAM bnc#796271 bili@suse.com -- avahi-core: don't check ARCOUNT to avoid incompatibility with EDNS0
Patch17:        avahi-no-check-ARCOUNT.patch
# PATCH-FIX-UPSTREAM ebischoff@suse.com -- do not cache responses generated locally
Patch42:        avahi-0.6.23-do-not-cache-generated-locally.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  dbus-1-python fdupes gcc-c++ gdbm-devel intltool libdaemon-devel libexpat-devel perl-XML-Parser pkg-config translation-update-upstream
# Even if we are not building python bindings, we need python to build service types database:
BuildRequires:  python-devel python-gdbm
%if %build_core
PreReq:         pwdutils
Requires:       %{_name}-lang = %{version}
BuildRequires:  dbus-1-devel doxygen graphviz python-gdbm zlib-devel
# For update of avahi-discover.glade from == 11.0:
Conflicts:      avahi-utils-gtk <= 0.6.22
# For python bindings and utilities:
#BuildRequires:  dbus-1-python
#Requires:       dbus-1
Requires:       nss-mdns
# bug437293
%ifarch ppc64
Obsoletes:      mDNSResponder-64bit
%endif
#
# mDNSResponder was used for <= 10.2:
Provides:       mDNSResponder = 107.5
Obsoletes:      mDNSResponder <= 107.5
# File conflict for service-types.db openSUSE <= 12.3 SLE <= 11SP2
Conflicts:      avahi-utils <= 0.6.23-11.23.6
%endif
%if %build_glib2
BuildRequires:  libglade2-devel python-gtk-devel update-desktop-files
BuildRequires:  libavahi-devel
%endif
%if %build_qt3
BuildRequires:  qt3-devel
BuildRequires:  libavahi-devel
%endif
%if %build_qt4
BuildRequires:  libqt4-devel
BuildRequires:  libavahi-devel
%endif
%if %build_mono
BuildRequires:  gtk-sharp2 libavahi-glib-devel libglade2-devel mono-devel monodoc-core
# Please copy this line to avahi-mono definition below for build all-in-once:
Requires:       gtk-sharp2 libavahi-client3 >= %{version} libavahi-common3 >= %{version} libavahi-ui0 >= %{version} libavahi-glib1 >= %{version}
%endif

%description
Avahi is an implementation of the DNS Service Discovery and Multicast
DNS specifications for Zeroconf Computing. It uses D-BUS for
communication between user applications and a system daemon. The daemon
is used to coordinate application efforts in caching replies, necessary
to minimize the traffic imposed on networks.

The Avahi mDNS responder is now complete with features, implementing
all MUSTs and the majority of the SHOULDs of the mDNS and DNS-SD RFCs.
It passes all tests in the Apple Bonjour conformance test suite. In
addition, it supports some nifty things, like correct mDNS reflection
across LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%if %build_core

%package -n libavahi-client3
License:        LGPL v2.1 or later
Summary:        D-BUS Service for Zeroconf and Bonjour
Group:          System/Libraries

%description -n libavahi-client3
Avahi is an implementation of the DNS Service Discovery and Multicast
DNS specifications for Zeroconf Computing. It uses D-BUS for
communication between user applications and a system daemon. The daemon
is used to coordinate application efforts in caching replies, necessary
to minimize the traffic imposed on networks.

The Avahi mDNS responder is now complete with features, implementing
all MUSTs and the majority of the SHOULDs of the mDNS and DNS-SD RFCs.
It passes all tests in the Apple Bonjour conformance test suite. In
addition, it supports some nifty things, like correct mDNS reflection
across LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%package -n libavahi-common3
License:        LGPL v2.1 or later
Summary:        D-BUS Service for Zeroconf and Bonjour
Group:          System/Libraries

%description -n libavahi-common3
Avahi is an implementation of the DNS Service Discovery and Multicast
DNS specifications for Zeroconf Computing. It uses D-BUS for
communication between user applications and a system daemon. The daemon
is used to coordinate application efforts in caching replies, necessary
to minimize the traffic imposed on networks.

The Avahi mDNS responder is now complete with features, implementing
all MUSTs and the majority of the SHOULDs of the mDNS and DNS-SD RFCs.
It passes all tests in the Apple Bonjour conformance test suite. In
addition, it supports some nifty things, like correct mDNS reflection
across LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%package -n libavahi-core5
License:        LGPL v2.1 or later
Summary:        D-BUS Service for Zeroconf and Bonjour
Group:          System/Libraries

%description -n libavahi-core5
Avahi is an implementation of the DNS Service Discovery and Multicast
DNS specifications for Zeroconf Computing. It uses D-BUS for
communication between user applications and a system daemon. The daemon
is used to coordinate application efforts in caching replies, necessary
to minimize the traffic imposed on networks.

The Avahi mDNS responder is now complete with features, implementing
all MUSTs and the majority of the SHOULDs of the mDNS and DNS-SD RFCs.
It passes all tests in the Apple Bonjour conformance test suite. In
addition, it supports some nifty things, like correct mDNS reflection
across LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%package -n libdns_sd
License:        LGPL v2.1 or later
Summary:        mDNSResponder Compatibility Package for D-BUS Service for Zeroconf/Bonjour
Group:          System/Libraries
# mDNSResponder-lib used unversioned soname.
# Provide full compatibility with mDNSResponder (FIXME: should be fixed in the package):
%ifarch ia64 x86_64 ppc64 s390x
Provides:       libdns_sd.so()(64bit)
%else
Provides:       libdns_sd.so
%endif
# bug437293
%ifarch ppc64
Obsoletes:      mDNSResponder-lib-64bit
%endif
#
# mDNSResponder-lib was used for <= 10.2:
Provides:       mDNSResponder-lib = 107.5
Obsoletes:      mDNSResponder-lib <= 107.5
# Old name used for <= 10.3:
Provides:       avahi-compat-mDNSResponder = %{version}
Obsoletes:      avahi-compat-mDNSResponder <= %{version}

%description -n libdns_sd
Apple mDNSResponder compatibility layer for avahi.

Avahi is an Implementation the DNS Service Discovery and Multicast DNS
specifications for Zeroconf Computing. It uses D-BUS for communication
between user applications and a system daemon. The daemon is used to
coordinate application efforts in caching replies, necessary to
minimize the traffic imposed on networks.

The Avahi mDNS responder is now feature complete implementing all MUSTs
and the majority of the SHOULDs of the mDNS/DNS-SD RFCs. It passes all
tests in the Apple Bonjour conformance test suite. In addition it
supports some nifty things that have never been seen elsewhere like
correct mDNS reflection accross LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%package -n libhowl0
License:        LGPL v2.1 or later
Summary:        howl Compatibility Package for D-BUS Service for Zeroconf/Bonjour
Group:          System/Libraries
# Old name used for <= 10.3:
Provides:       avahi-compat-howl = %{version}
Obsoletes:      avahi-compat-howl <= %{version}

%description -n libhowl0
howl compatibility layer for avahi.

Avahi is an Implementation the DNS Service Discovery and Multicast DNS
specifications for Zeroconf Computing. It uses D-BUS for communication
between user applications and a system daemon. The daemon is used to
coordinate application efforts in caching replies, necessary to
minimize the traffic imposed on networks.

The Avahi mDNS responder is now feature complete implementing all MUSTs
and the majority of the SHOULDs of the mDNS/DNS-SD RFCs. It passes all
tests in the Apple Bonjour conformance test suite. In addition it
supports some nifty things that have never been seen elsewhere like
correct mDNS reflection accross LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%package -n python-avahi
License:        LGPL v2.1 or later
Summary:        A set of Avahi utilities written in Python
PreReq:         coreutils
Requires:       %{name} = %{version} python-gdbm dbus-1-python python-twisted python-twisted-web
Group:          Development/Languages/Python
# Old name used for <= 10.3:
Provides:       avahi-python = %{version}
Obsoletes:      avahi-python <= %{version}
%py_requires

%description -n python-avahi
Avahi is an implementation of the DNS Service Discovery and Multicast
DNS specifications for Zeroconf Computing. It uses D-BUS for
communication between user applications and a system daemon. The daemon
is used to coordinate application efforts in caching replies, necessary
to minimize the traffic imposed on networks.

The Avahi mDNS responder is now feature complete, implementing all
MUSTs and the majority of the SHOULDs of the mDNS and DNS-SD RFCs. It
passes all tests in the Apple Bonjour conformance test suite. In
addition, it supports some nifty things that have never been seen
elsewhere, like correct mDNS reflection across LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%package utils
License:        LGPL v2.1 or later
Summary:        Command Line Utilities for D-BUS Service for Zeroconf and Bonjour
Requires:       %{_name} >= %{version}
Group:          Productivity/Networking/Other

%description utils
Avahi is an implementation of the DNS Service Discovery and Multicast
DNS specifications for Zeroconf Computing. It uses D-BUS for
communication between user applications and a system daemon. The daemon
is used to coordinate application efforts in caching replies, necessary
to minimize the traffic imposed on networks.

The Avahi mDNS responder is now complete with features, implementing
all MUSTs and the majority of the SHOULDs of the mDNS and DNS-SD RFCs.
It passes all tests in the Apple Bonjour conformance test suite. In
addition, it supports some nifty things, like correct mDNS reflection
across LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%package -n libavahi-devel
License:        LGPL v2.1 or later
Summary:        Include Files and Libraries Mandatory for Development
#
Requires:       %{_name} = %{version} libavahi-common3 = %{version} libavahi-core5 = %{version} libavahi-client3 = %{version} dbus-1-devel glibc-devel
Group:          Development/Libraries/C and C++
# Last appeared in OpenSUSE 10.3:
Provides:       avahi-devel = %{version}
Obsoletes:      avahi-devel <= %{version}

%description -n libavahi-devel
Avahi is an Implementation the DNS Service Discovery and Multicast DNS
specifications for Zeroconf Computing. It uses D-BUS for communication
between user applications and a system daemon. The daemon is used to
coordinate application efforts in caching replies, necessary to
minimize the traffic imposed on networks.

The Avahi mDNS responder is now feature complete implementing all MUSTs
and the majority of the SHOULDs of the mDNS/DNS-SD RFCs. It passes all
tests in the Apple Bonjour conformance test suite. In addition it
supports some nifty things that have never been seen elsewhere like
correct mDNS reflection accross LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%package compat-mDNSResponder-devel
License:        LGPL v2.1 or later
Summary:        mDNSResponder Compatibility Package for D-BUS Service for Zeroconf/Bonjour
Requires:       libavahi-devel = %{version} libdns_sd = %{version}
Group:          Development/Libraries/C and C++
Provides:       mDNSResponder-devel = 107.5
Obsoletes:      mDNSResponder-devel <= 107.5

%description compat-mDNSResponder-devel
Apple mDNSResponder compatibility layer for avahi.

Avahi is an Implementation the DNS Service Discovery and Multicast DNS
specifications for Zeroconf Computing. It uses D-BUS for communication
between user applications and a system daemon. The daemon is used to
coordinate application efforts in caching replies, necessary to
minimize the traffic imposed on networks.

The Avahi mDNS responder is now feature complete implementing all MUSTs
and the majority of the SHOULDs of the mDNS/DNS-SD RFCs. It passes all
tests in the Apple Bonjour conformance test suite. In addition it
supports some nifty things that have never been seen elsewhere like
correct mDNS reflection accross LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%package compat-howl-devel
License:        LGPL v2.1 or later
Summary:        howl Compatibility Package for D-BUS Service for Zeroconf/Bonjour
Requires:       libavahi-devel = %{version} libhowl0 = %{version}
Group:          Development/Libraries/C and C++

%description compat-howl-devel
howl compatibility layer for avahi.

Avahi is an Implementation the DNS Service Discovery and Multicast DNS
specifications for Zeroconf Computing. It uses D-BUS for communication
between user applications and a system daemon. The daemon is used to
coordinate application efforts in caching replies, necessary to
minimize the traffic imposed on networks.

The Avahi mDNS responder is now feature complete implementing all MUSTs
and the majority of the SHOULDs of the mDNS/DNS-SD RFCs. It passes all
tests in the Apple Bonjour conformance test suite. In addition it
supports some nifty things that have never been seen elsewhere like
correct mDNS reflection accross LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%endif
%if %build_glib2

%package -n libavahi-ui0


License:        LGPL v2.1 or later
Summary:        D-BUS Service for Zeroconf and Bonjour
Group:          System/Libraries

%description -n libavahi-ui0
Avahi is an implementation of the DNS Service Discovery and Multicast
DNS specifications for Zeroconf Computing. It uses D-BUS for
communication between user applications and a system daemon. The daemon
is used to coordinate application efforts in caching replies, necessary
to minimize the traffic imposed on networks.

The Avahi mDNS responder is now complete with features, implementing
all MUSTs and the majority of the SHOULDs of the mDNS and DNS-SD RFCs.
It passes all tests in the Apple Bonjour conformance test suite. In
addition, it supports some nifty things, like correct mDNS reflection
across LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%package -n libavahi-glib1


License:        LGPL v2.1 or later
Summary:        Glib Bindings for avahi, the D-BUS Service for Zeroconf and Bonjour
Group:          System/GUI/GNOME
# Old name used for <= 10.3:
Provides:       avahi-glib = %{version}
Obsoletes:      avahi-glib <= %{version}

%description -n libavahi-glib1
GLib support for avahi.

Avahi is an Implementation the DNS Service Discovery and Multicast DNS
specifications for Zeroconf Computing. It uses D-BUS for communication
between user applications and a system daemon. The daemon is used to
coordinate application efforts in caching replies, necessary to
minimize the traffic imposed on networks.

The Avahi mDNS responder is now feature complete implementing all MUSTs
and the majority of the SHOULDs of the mDNS/DNS-SD RFCs. It passes all
tests in the Apple Bonjour conformance test suite. In addition it
supports some nifty things that have never been seen elsewhere like
correct mDNS reflection accross LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%package -n libavahi-gobject0


License:        LGPL v2.1 or later
Summary:        D-BUS Service for Zeroconf and Bonjour
Group:          System/Daemons

%description -n libavahi-gobject0
Avahi is an implementation of the DNS Service Discovery and Multicast
DNS specifications for Zeroconf Computing. It uses D-BUS for
communication between user applications and a system daemon. The daemon
is used to coordinate application efforts in caching replies, necessary
to minimize the traffic imposed on networks.

The Avahi mDNS responder is now complete with features, implementing
all MUSTs and the majority of the SHOULDs of the mDNS and DNS-SD RFCs.
It passes all tests in the Apple Bonjour conformance test suite. In
addition, it supports some nifty things, like correct mDNS reflection
across LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%package utils-gtk


License:        LGPL v2.1 or later
Summary:        GTK+ Utilities for D-BUS Service for Zeroconf and Bonjour
Requires:       %{_name} >= %{version}
Group:          Productivity/Networking/Other
%if "%name" == "avahi"
# Due to a mistake in the spec file build staging, this package have
# name avahi-glib2-utils-gtk in 11.1 and SLE11 and avahi-utils-gtk in
# all other products. This bug happens only in multi-stage build.
Provides:       avahi-glib2-utils-gtk = %{version}
Obsoletes:      avahi-glib2-utils-gtk < %{version}
%else
Provides:       avahi-utils-gtk = %{version}
Obsoletes:      avahi-utils-gtk < %{version}
%endif

%description utils-gtk
Avahi is an implementation of the DNS Service Discovery and Multicast
DNS specifications for Zeroconf Computing. It uses D-BUS for
communication between user applications and a system daemon. The daemon
is used to coordinate application efforts in caching replies, necessary
to minimize the traffic imposed on networks.

The Avahi mDNS responder is now complete with features, implementing
all MUSTs and the majority of the SHOULDs of the mDNS and DNS-SD RFCs.
It passes all tests in the Apple Bonjour conformance test suite. In
addition, it supports some nifty things, like correct mDNS reflection
across LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%package -n python-avahi-gtk


License:        LGPL v2.1 or later
Summary:        A set of Avahi utilities written in Python Using python-gtk
PreReq:         coreutils
Requires:       python-avahi = %{version} python-gtk
Group:          Development/Languages/Python
# Old name used for <= 10.3:
Provides:       avahi-python = %{version}
Obsoletes:      avahi-python <= %{version}
# Provide split-provides for update from <= 11.0:
Provides:       python-avahi:%{_bindir}/avahi-bookmarks
%py_requires

%description -n python-avahi-gtk
Avahi is an implementation of the DNS Service Discovery and Multicast
DNS specifications for Zeroconf Computing. It uses D-BUS for
communication between user applications and a system daemon. The daemon
is used to coordinate application efforts in caching replies, necessary
to minimize the traffic imposed on networks.

The Avahi mDNS responder is now feature complete, implementing all
MUSTs and the majority of the SHOULDs of the mDNS and DNS-SD RFCs. It
passes all tests in the Apple Bonjour conformance test suite. In
addition, it supports some nifty things that have never been seen
elsewhere, like correct mDNS reflection across LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%package -n libavahi-glib-devel


License:        LGPL v2.1 or later
Summary:        Include Files and Libraries Mandatory for Development
Requires:       libavahi-devel = %{version} libavahi-ui0 = %{version} libavahi-glib1 = %{version} glib2-devel gtk2-devel
Group:          Development/Libraries/C and C++
# Last appeared in OpenSUSE 10.3:
Provides:       avahi-devel:%{_libdir}/libavahi-glib.so

%description -n libavahi-glib-devel
GLib support for avahi.

Avahi is an Implementation the DNS Service Discovery and Multicast DNS
specifications for Zeroconf Computing. It uses D-BUS for communication
between user applications and a system daemon. The daemon is used to
coordinate application efforts in caching replies, necessary to
minimize the traffic imposed on networks.

The Avahi mDNS responder is now feature complete implementing all MUSTs
and the majority of the SHOULDs of the mDNS/DNS-SD RFCs. It passes all
tests in the Apple Bonjour conformance test suite. In addition it
supports some nifty things that have never been seen elsewhere like
correct mDNS reflection accross LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%package -n libavahi-gobject-devel


License:        LGPL v2.1 or later
Summary:        D-BUS Service for Zeroconf and Bonjour
Requires:       libavahi-devel = %{version} libavahi-glib-devel libavahi-gobject0 = %{version} glib2-devel 
Group:          System/Daemons

%description -n libavahi-gobject-devel
Avahi is an implementation of the DNS Service Discovery and Multicast
DNS specifications for Zeroconf Computing. It uses D-BUS for
communication between user applications and a system daemon. The daemon
is used to coordinate application efforts in caching replies, necessary
to minimize the traffic imposed on networks.

The Avahi mDNS responder is now complete with features, implementing
all MUSTs and the majority of the SHOULDs of the mDNS and DNS-SD RFCs.
It passes all tests in the Apple Bonjour conformance test suite. In
addition, it supports some nifty things, like correct mDNS reflection
across LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%endif
%if %build_qt3

%package -n libavahi-qt3-1


Summary:        Qt3 Bindings for avahi, the D-BUS Service for Zeroconf and Bonjour
Group:          System/GUI/KDE
# Old name used for <= 10.3:
Provides:       avahi-qt3 = %{version}
Obsoletes:      avahi-qt3 <= %{version}

%description -n libavahi-qt3-1
Qt3 bindings for avahi.

Avahi is an Implementation the DNS Service Discovery and Multicast DNS
specifications for Zeroconf Computing. It uses D-BUS for communication
between user applications and a system daemon. The daemon is used to
coordinate application efforts in caching replies, necessary to
minimize the traffic imposed on networks.

The Avahi mDNS responder is now feature complete implementing all MUSTs
and the majority of the SHOULDs of the mDNS/DNS-SD RFCs. It passes all
tests in the Apple Bonjour conformance test suite. In addition it
supports some nifty things that have never been seen elsewhere like
correct mDNS reflection accross LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%package -n libavahi-qt3-devel


Summary:        Include Files and Libraries Mandatory for Development
Requires:       libavahi-devel = %{version} libavahi-qt3-1 = %{version} qt3-devel
Group:          Development/Libraries/C and C++
# Last appeared in OpenSUSE 10.3:
Provides:       avahi-devel:%{_libdir}/libavahi-qt3.so

%description -n libavahi-qt3-devel
Qt3 bindings for avahi.

Avahi is an Implementation the DNS Service Discovery and Multicast DNS
specifications for Zeroconf Computing. It uses D-BUS for communication
between user applications and a system daemon. The daemon is used to
coordinate application efforts in caching replies, necessary to
minimize the traffic imposed on networks.

The Avahi mDNS responder is now feature complete implementing all MUSTs
and the majority of the SHOULDs of the mDNS/DNS-SD RFCs. It passes all
tests in the Apple Bonjour conformance test suite. In addition it
supports some nifty things that have never been seen elsewhere like
correct mDNS reflection accross LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%endif
%if %build_qt4

%package -n libavahi-qt4-1


License:        LGPL v2.1 or later
Summary:        Qt4 Bindings for avahi, the D-BUS Service for Zeroconf and Bonjour
Group:          System/GUI/KDE
# Old name used for <= 10.3:
Provides:       avahi-qt4 = %{version}
Obsoletes:      avahi-qt4 <= %{version}

%description -n libavahi-qt4-1
Qt4 bindings for avahi.

Avahi is an Implementation the DNS Service Discovery and Multicast DNS
specifications for Zeroconf Computing. It uses D-BUS for communication
between user applications and a system daemon. The daemon is used to
coordinate application efforts in caching replies, necessary to
minimize the traffic imposed on networks.

The Avahi mDNS responder is now feature complete implementing all MUSTs
and the majority of the SHOULDs of the mDNS/DNS-SD RFCs. It passes all
tests in the Apple Bonjour conformance test suite. In addition it
supports some nifty things that have never been seen elsewhere like
correct mDNS reflection accross LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%package -n libavahi-qt4-devel


License:        LGPL v2.1 or later
Summary:        Include Files and Libraries Mandatory for Development
Requires:       libavahi-devel = %{version} libavahi-qt4-1 = %{version} libqt4-devel
Group:          Development/Libraries/C and C++
# Last appeared in OpenSUSE 10.3:
Provides:       avahi-devel:%{_libdir}/libavahi-qt4.so

%description -n libavahi-qt4-devel
Qt4 bindings for avahi.

Avahi is an Implementation the DNS Service Discovery and Multicast DNS
specifications for Zeroconf Computing. It uses D-BUS for communication
between user applications and a system daemon. The daemon is used to
coordinate application efforts in caching replies, necessary to
minimize the traffic imposed on networks.

The Avahi mDNS responder is now feature complete implementing all MUSTs
and the majority of the SHOULDs of the mDNS/DNS-SD RFCs. It passes all
tests in the Apple Bonjour conformance test suite. In addition it
supports some nifty things that have never been seen elsewhere like
correct mDNS reflection accross LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%endif
%if %build_core
%if %build_mono

%package -n avahi-mono


License:        LGPL v2.1 or later
Summary:        Mono Bindings for avahi, the D-BUS Service for Zeroconf and Bonjour
Requires:       gtk-sharp2 libavahi-client3 >= %{version} libavahi-common3 >= %{version} libavahi-ui0 >= %{version} libavahi-glib1 >= %{version}
Group:          Development/Languages/Mono

%description -n avahi-mono
This package provides Mono bindings for avahi. Avahi is an
implementation of the DNS Service Discovery and MulticastDNS
specifications for Zeroconf Computing. It uses D-BUS for communication
between user applications and a system daemon. The daemon is used to
coordinate application efforts in caching replies, necessary to
minimize the traffic imposed on networks. The Avahi mDNS responder is
now feature complete, implementing all MUSTs and the majority of the
SHOULDs of the mDNS and DNS-SD RFCs. It passes all tests in the Apple
Bonjour conformance test suite. In addition, it supports some nifty
things, like correct mDNS reflection across LAN segments.



Authors:
--------
    Lennart Poettering <mztabzr@0pointer.de>
    Trent Lloyd <lathiat@freedesktop.org>
    Sebastien Estienne <sebastien.estienne@gmail.com>

%endif
%lang_package
%endif

%prep
%setup -q -n %{_name}-%{version}
cp -a %{S:6} %{S:7} .
sed "s:@docdir@:%{_docdir}:g" <%{S:10} >sysconfig.avahi
cp -a %{S:9} avahi-autoipd/README.SUSE
sed "s:@sbindir@:%{_sbindir}:g" <%{S:7} >avahi.if-up
sed "s:@sbindir@:%{_sbindir}:g" <%{S:11} >avahi.if-down
translation-update-upstream
%patch0
%patch1 -p1
%patch2
%patch3
%patch4
%patch5
%patch6
%patch7
%patch8
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15
%patch16
%patch17 -p1
%patch42
%if !%build_core
# Replace all .la references from local .la files to installed versions
# with exception of libavahi-glib.la.
# It allows to build only the binding subpackage.
%if %build_mono
sed -i 's:\(\.\.\|\$(top_builddir)\)/[^/]*/\(lib[^ ]*\.la\):%{_libdir}/\2:g' */Makefile.am
%else
sed -i 's:libavahi-glib\.la:@@SKIP LIBAVAHI GLIB@@:g
s:\(\.\.\|\$(top_builddir)\)/[^/]*/\(lib[^ ]*\.la\):%{_libdir}/\2:g
s:@@SKIP LIBAVAHI GLIB@@:libavahi-glib.la:g
' */Makefile.am
%endif
%endif
if ! test -f %{_datadir}/aclocal/glib-gettext.m4 ; then
    cat %{S:4} >>acinclude.m4
fi

%build
autoreconf -f -i
intltoolize -f
%configure\
	--libexecdir=%{_prefix}/lib\
	--disable-static\
        --with-distro=suse\
%if %build_core
	--enable-compat-libdns_sd\
	--enable-compat-howl\
%else
	--disable-compat-libdns_sd\
	--disable-compat-howl\
%endif
%if %build_glib2
	--enable-glib\
	--enable-gobject\
	--enable-gtk\
	--enable-pygtk\
%else
	--disable-glib\
	--disable-gobject\
%if ! %build_mono
	--disable-gtk\
%endif
	--disable-pygtk\
%endif
%if %build_qt3
	--enable-qt3\
%else
	--disable-qt3\
%endif
%if %build_qt4
	--enable-qt4\
%else
	--disable-qt4\
%endif
%if %build_mono
	--enable-mono\
	--enable-gtk\
%else
	--disable-mono\
%endif
	--with-avahi-priv-access-group=avahi\
	--with-autoipd-user=avahi\
	--with-autoipd-group=avahi
%if %build_glib2 && !%build_core
for DIR in avahi-glib avahi-gobject avahi-ui avahi-discover-standalone avahi-python man ; do
cd $DIR
%__make %{?jobs:-j%jobs}
cd ..
done
%endif
%if %build_qt3 && !%build_core
cd avahi-qt
%endif
%if %build_qt4 && !%build_core
cd avahi-qt
%endif
%if %build_mono && !%build_core
cd avahi-sharp
%__make %{?jobs:-j%jobs}
cd ../avahi-ui-sharp
%endif
%__make %{?jobs:-j%jobs}

%install
%if %build_glib2 && !%build_core
for DIR in avahi-glib avahi-gobject avahi-ui avahi-discover-standalone avahi-python man ; do
cd $DIR
%makeinstall
cd ..
done
cd -
%endif
%if %build_qt3 && !%build_core
cd avahi-qt
%endif
%if %build_qt4 && !%build_core
cd avahi-qt
%endif
%if %build_mono && !%build_core
cd avahi-sharp
%makeinstall
cd ../avahi-ui-sharp
%endif
%makeinstall
%if !%build_core
cd ..
%__make %{?jobs:-j%jobs} install-pkgconfigDATA DESTDIR=$RPM_BUILD_ROOT
%endif
%if %build_core
## WARNING: found empty dependency_libs variable. please remove the
## pointless libtool .la file 
## /var/tmp/avahi-0.6.20-build/usr/lib64/lib\avahi-common.la
## If you don't understand this, mailto=rguenther@suse.de  
## A number of packages want this file, however, so we won't remove it.
# rm $RPM_BUILD_ROOT/${_prefix}/${_lib}/libavahi-common.la
install -d $RPM_BUILD_ROOT%{_localstatedir}/run/avahi-daemon
ln -s avahi-compat-libdns_sd/dns_sd.h $RPM_BUILD_ROOT%{_includedir}/
ln -s avahi-compat-howl.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig/howl.pc
install -d $RPM_BUILD_ROOT%{_prefix}/lib/avahi
install avahi-daemon-check-dns.sh $RPM_BUILD_ROOT%{_prefix}/lib/avahi/
install -d $RPM_BUILD_ROOT/etc/sysconfig/network/if-{up,down}.d
# Note: We do not install the script to if-down.d. Only very obscure use
# cases may fail. (And Debian does the same.)
# (You would have an AUTOIP-only fallback network, then connect network
# to network with .local in DNS without disconnecting from the fallback,
# then disconnect from network with .local in DNS.)
install avahi.if-up $RPM_BUILD_ROOT/etc/sysconfig/network/if-up.d/avahi
install avahi.if-down $RPM_BUILD_ROOT/etc/sysconfig/network/if-down.d/avahi
install -d $RPM_BUILD_ROOT%{_localstatedir}/lib/avahi-autoipd
# Work-around qt4 bug:
# https://bugzilla.novell.com/show_bug.cgi?id=238169
%if %suse_version <= 1020
sed -i "s,$RPM_BUILD_DIR,/," $RPM_BUILD_ROOT%{_libdir}/libavahi-qt4.la
%endif
mkdir -p $RPM_BUILD_ROOT%{_sbindir} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services
install %{S:2} $RPM_BUILD_ROOT%{_sysconfdir}/init.d/avahi-bookmarks
ln -s %{_sysconfdir}/init.d/avahi-daemon $RPM_BUILD_ROOT%{_sbindir}/rcavahi-daemon
ln -s %{_sysconfdir}/init.d/avahi-dnsconfd $RPM_BUILD_ROOT%{_sbindir}/rcavahi-dnsconfd
install -m 644 %{S:3} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/avahi
ln -s %{_sysconfdir}/init.d/avahi-bookmarks $RPM_BUILD_ROOT%{_sbindir}/rcavahi-bookmarks
install -d $RPM_BUILD_ROOT%{_datadir}/pixmaps
install -m 644 %{S:1} $RPM_BUILD_ROOT%{_datadir}/pixmaps/gnome-nettool2.png
install -d $RPM_BUILD_ROOT/var/adm/fillup-templates
install -m 644 sysconfig.avahi* $RPM_BUILD_ROOT/var/adm/fillup-templates/
%if ! %build_glib2
# Note: This file is intentionally installed here. It is needed for avahi-utils-gtk and python-avahi-gtk:
install -d $RPM_BUILD_ROOT%{_datadir}/avahi/interfaces
install -m 644 avahi-discover-standalone/avahi-discover.glade $RPM_BUILD_ROOT%{_datadir}/avahi/interfaces
%endif
%find_lang %{name}
%else
# There is no simple way to not install core files. Remove them here.
# The rest is enabled/disabled in configure as needed.
rm $RPM_BUILD_ROOT%{_libdir}/pkgconfig/avahi-client.pc
rm $RPM_BUILD_ROOT%{_libdir}/pkgconfig/avahi-core.pc
%if %build_glib2
rm $RPM_BUILD_ROOT%{_bindir}/avahi-bookmarks
rm -r $RPM_BUILD_ROOT%{py_sitedir}/avahi
rm $RPM_BUILD_ROOT%{_mandir}/man1/avahi-bookmarks.1*
rm $RPM_BUILD_ROOT%{_mandir}/man1/avahi-browse-domains.1*
rm $RPM_BUILD_ROOT%{_mandir}/man1/avahi-browse.1*
rm $RPM_BUILD_ROOT%{_mandir}/man1/avahi-publish-address.1*
rm $RPM_BUILD_ROOT%{_mandir}/man1/avahi-publish-service.1*
rm $RPM_BUILD_ROOT%{_mandir}/man1/avahi-publish.1*
rm $RPM_BUILD_ROOT%{_mandir}/man1/avahi-resolve-address.1*
rm $RPM_BUILD_ROOT%{_mandir}/man1/avahi-resolve-host-name.1*
rm $RPM_BUILD_ROOT%{_mandir}/man1/avahi-resolve.1*
rm $RPM_BUILD_ROOT%{_mandir}/man1/avahi-set-host-name.1*
rm $RPM_BUILD_ROOT%{_mandir}/man5/avahi-daemon.conf.5*
rm $RPM_BUILD_ROOT%{_mandir}/man5/avahi.hosts.5*
rm $RPM_BUILD_ROOT%{_mandir}/man5/avahi.service.5*
rm $RPM_BUILD_ROOT%{_mandir}/man8/avahi-autoipd.8*
rm $RPM_BUILD_ROOT%{_mandir}/man8/avahi-autoipd.action.8*
rm $RPM_BUILD_ROOT%{_mandir}/man8/avahi-daemon.8*
rm $RPM_BUILD_ROOT%{_mandir}/man8/avahi-dnsconfd.8*
rm $RPM_BUILD_ROOT%{_mandir}/man8/avahi-dnsconfd.action.8*
# Note: This file was intentionally moved to avahi. It is needed for avahi-utils-gtk and python-avahi-gtk:
rm $RPM_BUILD_ROOT%{_datadir}/avahi/interfaces/avahi-discover.glade
rmdir $RPM_BUILD_ROOT%{_datadir}/avahi/interfaces
rmdir $RPM_BUILD_ROOT%{_datadir}/avahi
%else
%if %build_mono
rm $RPM_BUILD_ROOT%{_libdir}/pkgconfig/avahi-ui.pc
%endif
%endif
%endif
%if %build_glib2
# FIXME: There are no better Categories in the spec (Monitor is not allowed in Network).
%suse_update_desktop_file -r avahi-discover GNOME System Monitor
%endif
%fdupes $RPM_BUILD_ROOT%{_libdir}

%clean
rm -rf $RPM_BUILD_ROOT
%if %build_core

%pre
%{_sbindir}/groupadd -r avahi 2> /dev/null || :
%{_sbindir}/useradd -r -o -s /bin/false -c "User for Avahi" -d %{_localstatedir}/run/avahi-daemon -g avahi avahi 2> /dev/null || :

%post
%{fillup_and_insserv -f -y avahi-daemon}
%{fillup_and_insserv -f avahi-dnsconfd}

%preun
%{stop_on_removal avahi-daemon}
%{stop_on_removal avahi-dnsconfd}

%postun
%{restart_on_update avahi-daemon}
%{restart_on_update avahi-dnsconfd}
%insserv_cleanup

%post -n libavahi-client3 -p /sbin/ldconfig

%postun -n libavahi-client3 -p /sbin/ldconfig

%post -n libavahi-common3 -p /sbin/ldconfig

%postun -n libavahi-common3 -p /sbin/ldconfig

%post -n libavahi-core5 -p /sbin/ldconfig

%postun -n libavahi-core5 -p /sbin/ldconfig

%post -n libdns_sd -p /sbin/ldconfig

%postun -n libdns_sd -p /sbin/ldconfig

%post -n libhowl0 -p /sbin/ldconfig

%postun -n libhowl0 -p /sbin/ldconfig

%pre -n python-avahi
# For update from == 10.3:
# Restart will not happen due to package rename. Handle it.
if test etc/init.d/avahi-bookmarks -a "$1" = 1 ; then
    touch var/adm/python_avahi_needs_restart
fi

%post -n python-avahi
# For update from == 10.3:
# Restart will not happen due to package rename. Handle it.
if test -f var/adm/python_avahi_needs_restart ; then
    rm var/adm/python_avahi_needs_restart
    test -f /etc/sysconfig/services && . /etc/sysconfig/services
    if test "$YAST_IS_RUNNING" != "instsys" -a "$DISABLE_RESTART_ON_UPDATE" != yes ; then
	/etc/init.d/avahi-bookmarks try-restart > /dev/null || :
    fi
fi

%preun -n python-avahi
# FIXME: Package was renamed, check for this case!
%{stop_on_removal avahi-bookmarks}
%insserv_cleanup

%postun -n python-avahi
%{restart_on_update avahi-bookmarks}
%insserv_cleanup
%endif
%if %build_glib2

%post -n libavahi-ui0 -p /sbin/ldconfig

%postun -n libavahi-ui0 -p /sbin/ldconfig

%post -n libavahi-gobject0 -p /sbin/ldconfig

%postun -n libavahi-gobject0 -p /sbin/ldconfig

%post -n libavahi-glib1 -p /sbin/ldconfig

%postun -n libavahi-glib1 -p /sbin/ldconfig
%endif
%if %build_qt3

%post -n libavahi-qt3-1 -p /sbin/ldconfig

%postun -n libavahi-qt3-1 -p /sbin/ldconfig
%endif
%if %build_qt4

%post -n libavahi-qt4-1 -p /sbin/ldconfig

%postun -n libavahi-qt4-1 -p /sbin/ldconfig
%endif
%if %build_core

%files
%defattr(-,root,root)
%doc LICENSE docs/*
# Note: This file is intentionally packaged here. It is needed for avahi-utils-gtk and python-avahi-gtk:
%{_datadir}/pixmaps/gnome-nettool2.png
%dir %{_libdir}/avahi/
# Note: This file is intentionally packaged here. It is needed for python-avahi and avahi-utils:
%{_libdir}/avahi/service-types.db
%attr(-,avahi,avahi) %{_localstatedir}/run/avahi-daemon
%doc %{_mandir}/man5/*.5*
%doc %{_mandir}/man8/*.8*
%{_sbindir}/avahi-*
%{_sbindir}/rcavahi-daemon
%{_sbindir}/rcavahi-dnsconfd
%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/*
%dir %{_sysconfdir}/avahi
%config %{_sysconfdir}/avahi/avahi-daemon.conf
%{_sysconfdir}/avahi/avahi-dnsconfd.action
%{_sysconfdir}/avahi/avahi-autoipd.action
%dir %{_sysconfdir}/avahi/services
%{_sysconfdir}/avahi/services/*.service
%{_sysconfdir}/avahi/hosts
%{_sysconfdir}/dbus-1/system.d/*.conf
%{_sysconfdir}/init.d/avahi-dnsconfd
%{_sysconfdir}/init.d/avahi-daemon
# Common file for avahi-utils-gtk and python-avahi-gtk:
%dir %{_datadir}/avahi/
%{_datadir}/avahi/interfaces
%dir %{_prefix}/lib/avahi
%{_prefix}/lib/avahi/avahi-daemon-check-dns.sh
/etc/sysconfig/network/*/avahi
/var/adm/fillup-templates/sysconfig.avahi

%files lang -f %{name}.lang
%defattr(-,root,root)

%files -n libavahi-client3
%defattr(-,root,root)
%{_libdir}/libavahi-client*.so.*

%files -n libavahi-common3
%defattr(-,root,root)
%{_libdir}/libavahi-common*.so.*

%files -n libavahi-core5
%defattr(-,root,root)
%{_libdir}/libavahi-core*.so.*

%files -n libdns_sd
%defattr(-,root,root)
# libdns_sd.so must be in non-devel package to provide mDNSResponder-lib compatibility:
%{_libdir}/libdns_sd.so
%{_libdir}/libdns_sd.so.*

%files -n libhowl0
%defattr(-,root,root)
%{_libdir}/libhowl.so.*

%files -n python-avahi
%defattr(-,root,root)
%{_bindir}/avahi-bookmarks
%doc %{_mandir}/man1/avahi-bookmarks.1*
%{_sbindir}/rcavahi-bookmarks
%{_sysconfdir}/init.d/avahi-bookmarks
%{py_sitedir}/avahi
%{py_sitedir}/avahi/ServiceTypeDatabase.py

%files utils
%defattr(-,root,root)
%{_bindir}/avahi-browse*
%{_bindir}/avahi-publish*
%{_bindir}/avahi-resolve*
%{_bindir}/avahi-set-host-name
%dir %{_datadir}/avahi/
%{_datadir}/avahi/avahi-service.dtd
%{_datadir}/avahi/introspection
%doc %{_mandir}/man1/avahi-browse*.1*
%doc %{_mandir}/man1/avahi-publish*.1*
%doc %{_mandir}/man1/avahi-resolve*.1*
%doc %{_mandir}/man1/avahi-set-host-name.1*

%files -n libavahi-devel
%defattr(-,root,root)
# FIXME: Maybe split to particular subpackages.
#%doc doc/api/html
#%doc doc/*.html doc/*.txt doc/file-boilerplate.c doc/TODO
%{_includedir}/avahi-client
%{_includedir}/avahi-common
%{_includedir}/avahi-core
# avahi devel files
%{_libdir}/libavahi-client.*a
%{_libdir}/libavahi-client*.so
%{_libdir}/libavahi-core.*a
%{_libdir}/libavahi-core*.so
%{_libdir}/libavahi-common*.so
%{_libdir}/libavahi-common*.*a
%{_libdir}/pkgconfig/avahi-client.pc
%{_libdir}/pkgconfig/avahi-core.pc

%files compat-mDNSResponder-devel
%defattr(-,root,root)
%{_includedir}/avahi-compat-libdns_sd
%{_includedir}/dns_sd.h
%{_libdir}/libdns_sd.*a
%{_libdir}/pkgconfig/avahi-compat-libdns_sd.pc

%files compat-howl-devel
%defattr(-,root,root)
%{_includedir}/avahi-compat-howl
%{_libdir}/libhowl.so
%{_libdir}/libhowl.*a
%{_libdir}/pkgconfig/avahi-compat-howl.pc
%{_libdir}/pkgconfig/howl.pc
%endif
%if %build_glib2

%files -n libavahi-ui0
%defattr(-,root,root)
%{_libdir}/libavahi-ui*.so.*

%files -n libavahi-glib1
%defattr(-,root,root)
%{_libdir}/libavahi-glib*.so.*

%files -n libavahi-gobject0
%defattr(-,root,root)
%{_libdir}/libavahi-gobject*.so.*

%files -n python-avahi-gtk
%defattr(-,root,root)
%{_bindir}/avahi-discover
%{_datadir}/applications/avahi-discover.desktop
%doc %{_mandir}/man1/avahi-discover.1*
%{py_sitedir}/avahi_discover

%files utils-gtk
%defattr(-,root,root)
%{_bindir}/bshell
%{_bindir}/bssh
%{_bindir}/bvnc
%{_bindir}/avahi-discover-standalone
%{_datadir}/applications/bssh.desktop
%{_datadir}/applications/bvnc.desktop
%doc %{_mandir}/man1/bssh.1.*
%doc %{_mandir}/man1/bvnc.1.*

%files -n libavahi-glib-devel
%defattr(-,root,root)
%{_includedir}/avahi-glib
%{_includedir}/avahi-ui
%{_libdir}/libavahi-glib*.*a
%{_libdir}/libavahi-glib*.so
%{_libdir}/libavahi-ui*.*a
%{_libdir}/libavahi-ui*.*so
%{_libdir}/pkgconfig/avahi-glib.pc
%{_libdir}/pkgconfig/avahi-ui.pc

%files -n libavahi-gobject-devel
%defattr(-,root,root)
%{_includedir}/avahi-gobject
%{_libdir}/libavahi-gobject*.*a
%{_libdir}/libavahi-gobject*.so
%{_libdir}/pkgconfig/avahi-gobject.pc
%endif
%if %build_qt3

%files -n libavahi-qt3-devel
%defattr(-,root,root)
%{_includedir}/avahi-qt3
%{_libdir}/libavahi-qt3*.*a
%{_libdir}/libavahi-qt3*.so
%{_libdir}/pkgconfig/avahi-qt3.pc

%files -n libavahi-qt3-1
%defattr(-,root,root)
%{_libdir}/libavahi-qt3*.so.*
%endif
%if %build_qt4

%files -n libavahi-qt4-devel
%defattr(-,root,root)
%{_includedir}/avahi-qt4
%{_libdir}/libavahi-qt4*.*a
%{_libdir}/libavahi-qt4*.so
%{_libdir}/pkgconfig/avahi-qt4.pc

%files -n libavahi-qt4-1
%defattr(-,root,root)
%{_libdir}/libavahi-qt4*.so.*
%endif
%if %build_mono
%if %build_core

%files -n avahi-mono
%else

%files
%endif
%defattr(-,root,root)
%{_libdir}/pkgconfig/avahi-sharp.pc
%{_libdir}/pkgconfig/avahi-ui-sharp.pc
%{_prefix}/lib/monodoc/sources/*.*
%{_prefix}/lib/mono/avahi-sharp
%{_prefix}/lib/mono/gac/avahi-sharp
%{_prefix}/lib/mono/avahi-ui-sharp
%{_prefix}/lib/mono/gac/avahi-ui-sharp
%endif

%changelog