File avahi-glib2.spec of Package avahi.31309

#
# spec file for package avahi-glib2
#
# Copyright (c) 2023 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#


Name:           avahi-glib2
# Do not edit this auto generated file! Edit avahi.spec.
%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 option to 1.
%define         build_core 0
# NOTE: build_glib2 also controls build of gobject, gtk2, gtk3 and pygtk code.
%define         build_glib2 1
%define         build_mono 0
%define         build_qt3 0
%define         build_qt4 0
Version:        0.6.32
Release:        0
# FIXME: on upgrade, ensure to verify if -DGTK_DISABLE_DEPRECATED=1 can remain in avahi=ui/Makefile.am (GtkStock deprecated with GTK+ 3.9.10).
%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
# If avahi_core_soname changes, make sure to update avahi-gir-fixup.patch
%define avahi_core_soname 7
%define avahi_ui_soname 0
%define avahi_glib_soname 1
%define avahi_gobject_soname 0
%define avahi_gtk3_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/
Summary:        D-BUS Service for Zeroconf and Bonjour
License:        LGPL-2.1-or-later
Group:          System/Daemons
Source:         https://github.com/lathiat/avahi/releases/download/v%{version}/%{_name}-%{version}.tar.gz
# 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
Source1:        avahi-daemon-check-dns.sh
Source3:        avahi.firewall
# Copy of glib-2.0.m4 from glib2-devel to not depend on glib2-devel.
Source4:        avahi-glib-gettext.m4
Source5:        avahi.sysconfig
Source6:        avahi-autoipd.sysconfig
# 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-autoipd.if-up
Source11:       avahi-autoipd.if-down
Source100:      attributes
Source101:      update_spec.pl
Source102:      baselibs.conf
# 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 Avahi#365 -- sbrabec@suse.cz
Patch1:         avahi-desktop.patch
# PATCH-FIX-UPSTREAM avahi-empty-share-dir.patch jpr@novell.com -- mailed maintainer
Patch3:         avahi-empty-share-dir.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
Patch4:         avahi-daemon-check-dns-suse.patch
# PATCH-FIX-UPSTREAM avahi-gir-fixup.patch dimstar@opensnse.org -- Use complete shared library name in gir file for dependency
Patch12:        avahi-gir-fixup.patch
# PATCH-FIX-OPENSUSE avahi-move-everything-to-run.patch rmilasan@suse.com -- Move everything to /run directory (socket and pid files)
Patch15:        avahi-move-everything-to-run.patch
# PATCH-FIX-UPSTREAM avahi-outdated-URL.patch boo#914298 dimstar@opensuse.org -- Replace reference to no longer existing address with a more generic explanation URL
Patch17:        avahi-outdated-URL.patch
# PATCH-FIX-UPSTREAM avahi-0.6.31-invalid-packet.patch boo#947140 mgorse@suse.com -- don't spam logs for Windows 10 multicast packets
Patch18:        avahi-0.6.31-invalid-packet.patch
# PATCH-FIX-UPSTREAM avahi-0.6.32-suppress-resolv-conf-warning.patch bsc#982317 mgorse@suse.com -- only warn on missing resolv.conf if it is being used.
Patch19:        avahi-0.6.32-suppress-resolv-conf-warning.patch
# PATCH-FIX-UPSTREAM CVE-2018-1000845.patch boo#1110281 mgorse@suse.com -- drop legacy unicast queries from address not on local link (CVE-2018-1000845).
Patch20:        CVE-2018-1000845.patch
# PATCH-FIX-UPSTREAM avahi-increase-rlimits.patch bsc#1168191 mgorse@suse.com -- increase default memory rlimits.
Patch21:        avahi-increase-rlimits.patch
# PATCH-FIX-UPSTREAM avahi-CVE-2021-3468.patch boo#1184521 mgorse@suse.com -- avoid infinite loop by handling HUP event in client_work.
Patch22:        avahi-CVE-2021-3468.patch
# PATCH-FIX-UPSTREAM avahi-CVE-2023-1981.patch boo#1210328 mgorse@suse.com -- emit error if requested service is not found.
Patch23:        avahi-CVE-2023-1981.patch
# PATCH-FIX-UPSTREAM avahi-CVE-2023-38473.patch bsc#1216419 xwang@suse.com -- derive alternative host name from its unescaped version
Patch24:        avahi-CVE-2023-38473.patch

BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  dbus-1-python
BuildRequires:  fdupes
BuildRequires:  gcc-c++
BuildRequires:  gdbm-devel
BuildRequires:  intltool
BuildRequires:  libdaemon-devel
BuildRequires:  libexpat-devel
BuildRequires:  pkg-config
BuildRequires:  translation-update-upstream
# Even if we are not building python bindings, we need python to build service types database:
BuildRequires:  python-devel
BuildRequires:  python-gdbm
# libtool is needed to build all variants: bootstrap is unconditional in the build section
BuildRequires:  libtool
%if %suse_version <= 1110
%define python_sitelib %{py_sitedir}
%endif
%if %build_core
PreReq:         pwdutils
%if %suse_version >= 1140
PreReq:         sysvinit(network)
%else
PreReq:         sysconfig
%endif
%{?systemd_requires}
Recommends:     %{_name}-lang
BuildRequires:  dbus-1-devel
BuildRequires:  doxygen
BuildRequires:  graphviz
BuildRequires:  python-gdbm
BuildRequires:  zlib-devel
%if %suse_version >= 1210
BuildRequires:  pkgconfig(systemd)
%endif
# For python bindings and utilities:
#BuildRequires:  dbus-1-python
#Requires:       dbus-1
Requires:       nss-mdns
Requires:       sudo
# bug437293
%ifarch ppc64
Obsoletes:      mDNSResponder-64bit
%endif
#
# mDNSResponder was used for <= 10.2:
Provides:       mDNSResponder = 107.5
Obsoletes:      mDNSResponder < 107.5
# Disable this conflict for now, it breaks staging, and it's pretty much obsolete, but can go back in if needed once a new version of avahi is released.
# File conflict for service-types.db openSUSE <= 12.3 SLE <= 11SP2
#Conflicts:      avahi-utils <= 0.6.31-9.2
%endif
%if %build_glib2
BuildRequires:  gobject-introspection-devel
BuildRequires:  gtk2-devel
BuildRequires:  gtk3-devel
BuildRequires:  libavahi-devel
BuildRequires:  python-gtk-devel
BuildRequires:  update-desktop-files
%endif
%if %build_qt3
BuildRequires:  libavahi-devel
BuildRequires:  qt3-devel
%endif
%if %build_qt4
BuildRequires:  libavahi-devel
BuildRequires:  libqt4-devel
%endif
%if %build_mono
BuildRequires:  gtk-sharp2
BuildRequires:  libavahi-glib-devel
BuildRequires:  mono-devel
BuildRequires:  monodoc-core
# Please copy this line to avahi-mono definition below for build all-in-once:
Requires:       gtk-sharp2
Requires:       libavahi-client3 >= %{version}
Requires:       libavahi-common3 >= %{version}
Requires:       libavahi-glib1 >= %{version}
Requires:       libavahi-ui0 >= %{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.

%if %build_core

%package -n libavahi-client3
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.

%package -n libavahi-common3
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.

%package -n libavahi-core7
Summary:        D-BUS Service for Zeroconf and Bonjour
Group:          System/Libraries

%description -n libavahi-core7
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.

%package -n libdns_sd
Summary:        mDNSResponder Compatibility Package for D-BUS Service for Zeroconf/Bonjour
# mDNSResponder-lib used unversioned soname.
# Provide full compatibility with mDNSResponder (FIXME: should be fixed in the package):
Group:          System/Libraries
%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 across LAN segments.

%package -n libhowl0
Summary:        Howl Compatibility Package for D-BUS Service for Zeroconf/Bonjour
# Old name used for <= 10.3:
Group:          System/Libraries
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 across LAN segments.

%package -n python-avahi
Summary:        A set of Avahi utilities written in Python
Group:          Development/Languages/Python
PreReq:         coreutils
Requires:       %{name} = %{version}
Requires:       dbus-1-python
Requires:       python-gdbm
Requires:       python-twisted
Requires:       python-twisted-web
# 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.

%package autoipd
Summary:        IPv4LL Service for Zeroconf and Bonjour
# Split provides for upgrade from openSUSE <= 12.3 and SLE <= 11.
Group:          Productivity/Networking/Other
Provides:       avahi:%{_sbindir}/avahi-autoipd
# Disable this conflict for now, it breaks staging, and it's pretty much obsolete, but can go back in if needed once a new version of avahi is released.
# File conflict for avahi-autoipd openSUSE <= 12.3 SLE <= 11
#Conflicts:      avahi <= 0.6.31-9.2
# coreutils contains /usr/bin/chown
Requires(post): coreutils
# shadow contains useradd and groupadd
Requires(pre):  shadow

%description autoipd
avahi-autoipd is an implementation of Dynamic Configuration of IPv4
Link-Local Addresses.

avahi-autoipd doesn't depend on any other Avahi library, hence it makes
sense to install it even if Avahi itself is not installed.

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

%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.

%package -n libavahi-devel
Summary:        Include Files and Libraries Mandatory for Development
#
Group:          Development/Libraries/C and C++
Requires:       %{_name} = %{version}
Requires:       dbus-1-devel
Requires:       glibc-devel
Requires:       libavahi-client3 = %{version}
Requires:       libavahi-common3 = %{version}
Requires:       libavahi-core7 = %{version}
# 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 across LAN segments.

%package compat-mDNSResponder-devel
Summary:        mDNSResponder Compatibility Package for D-BUS Service for Zeroconf/Bonjour
Group:          Development/Libraries/C and C++
Requires:       libavahi-devel = %{version}
Requires:       libdns_sd = %{version}
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 across LAN segments.

%package compat-howl-devel
Summary:        Howl Compatibility Package for D-BUS Service for Zeroconf/Bonjour
Group:          Development/Libraries/C and C++
Requires:       libavahi-devel = %{version}
Requires:       libhowl0 = %{version}

%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 across LAN segments.

%endif
%if %build_glib2

%package -n libavahi-ui0
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.

%package -n libavahi-ui-gtk3-%{avahi_gtk3_soname}
Summary:        D-BUS Service for Zeroconf and Bonjour
Group:          System/Libraries

%description -n libavahi-ui-gtk3-%{avahi_gtk3_soname}
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.

%package -n libavahi-glib1
Summary:        Glib Bindings for avahi, the D-BUS Service for Zeroconf and Bonjour
# Old name used for <= 10.3:
Group:          System/Libraries
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 across LAN segments.

%package -n libavahi-gobject0
Summary:        D-BUS Service for Zeroconf and Bonjour
Group:          System/Libraries

%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.

%package -n typelib-1_0-Avahi-0_6
Summary:        D-BUS Service for Zeroconf and Bonjour -- Introspection bindings
Group:          System/Libraries

%description -n typelib-1_0-Avahi-0_6
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.

This package provides the GObject Introspection bindings for Avahi.

%package -n avahi-utils-gtk
Summary:        GTK+ Utilities for D-BUS Service for Zeroconf and Bonjour
Group:          Productivity/Networking/Other
Requires:       %{_name} >= %{version}
# Due to a mistake in the spec file build staging, this package had
# name avahi-glib2-utils-gtk in 11.1 and SLE11 and avahi-utils-gtk in
# all other products.
Provides:       avahi-glib2-utils-gtk = %{version}
Obsoletes:      avahi-glib2-utils-gtk < %{version}

%description -n avahi-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.

%package -n python-avahi-gtk
Summary:        A set of Avahi utilities written in Python Using python-gtk
Group:          Development/Languages/Python
PreReq:         coreutils
Requires:       python-avahi = %{version}
Requires:       python-gtk
# 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.

%package -n libavahi-glib-devel
Summary:        Include Files and Libraries Mandatory for Development
Group:          Development/Libraries/C and C++
Requires:       libavahi-devel = %{version}
Requires:       libavahi-glib1 = %{version}
Requires:       libavahi-ui-gtk3-%{avahi_gtk3_soname} = %{version}
Requires:       libavahi-ui0 = %{version}
Requires:       typelib-1_0-Avahi-0_6 = %{version}
# 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 across LAN segments.

%package -n libavahi-gobject-devel
Summary:        D-BUS Service for Zeroconf and Bonjour
Group:          System/Daemons
Requires:       glib2-devel
Requires:       libavahi-devel = %{version}
Requires:       libavahi-glib-devel
Requires:       libavahi-gobject0 = %{version}

%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.

%endif
%if %build_qt3

%package -n libavahi-qt3-1
Summary:        Qt3 Bindings for avahi, the D-BUS Service for Zeroconf and Bonjour
# Old name used for <= 10.3:
Group:          System/GUI/KDE
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 across LAN segments.

%package -n libavahi-qt3-devel
Summary:        Include Files and Libraries Mandatory for Development
Group:          Development/Libraries/C and C++
Requires:       libavahi-devel = %{version}
Requires:       libavahi-qt3-1 = %{version}
Requires:       qt3-devel
# 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 across LAN segments.

%endif
%if %build_qt4

%package -n libavahi-qt4-1
Summary:        Qt4 Bindings for avahi, the D-BUS Service for Zeroconf and Bonjour
# Old name used for <= 10.3:
Group:          System/GUI/KDE
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 across LAN segments.

%package -n libavahi-qt4-devel
Summary:        Include Files and Libraries Mandatory for Development
Group:          Development/Libraries/C and C++
Requires:       libavahi-devel = %{version}
Requires:       libavahi-qt4-1 = %{version}
Requires:       libqt4-devel
# 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 across LAN segments.

%endif
%if %build_core
%if %build_mono

%package -n avahi-mono
Summary:        Mono Bindings for avahi, the D-BUS Service for Zeroconf and Bonjour
Group:          Development/Languages/Mono
Requires:       gtk-sharp2
Requires:       libavahi-client3 >= %{version}
Requires:       libavahi-common3 >= %{version}
Requires:       libavahi-glib1 >= %{version}
Requires:       libavahi-ui0 >= %{version}

%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.

%endif
%lang_package
%endif

%prep
%setup -q -n %{_name}-%{version}
cp -a %{S:1} %{S:7} .
cp -a %{S:5} sysconfig.avahi
sed "s:@docdir@:%{_docdir}:g" <%{S:6} >sysconfig.avahi-autoipd
cp -a %{S:9} avahi-autoipd/README.SUSE
sed "s:@sbindir@:%{_sbindir}:g" <%{S:10} >avahi-autoipd/avahi-autoipd.if-up
sed "s:@sbindir@:%{_sbindir}:g" <%{S:11} >avahi-autoipd/avahi-autoipd.if-down
translation-update-upstream
%patch0
%patch1 -p1
%patch3
%patch4
%patch12 -p1
%patch15 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1

%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
# FIXME: We do not have xmltoman, use original doc, just fix paths.
sed -i s:/home/lennart/tmp/avahi:: man/*.[0-9]
sed -i "s:-DGTK_DISABLE_DEPRECATED=1::" avahi-ui/Makefile.am

%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-gtk3\
	--enable-pygtk\
%else
	--disable-glib\
	--disable-gobject\
%if ! %build_mono
	--disable-gtk\
%endif
	--disable-gtk3\
	--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-autoipd\
	--with-autoipd-group=avahi-autoipd
%if %build_glib2 && !%build_core
for DIR in avahi-glib avahi-gobject avahi-ui avahi-discover-standalone avahi-python man ; do
cd $DIR
make %{?_smp_mflags}
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 %{?_smp_mflags}
cd ../avahi-ui-sharp
%endif
make %{?_smp_mflags}

%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
# do not install sysv init scripts
rm -rf %{buildroot}%{_sysconfdir}/init.d/
%if !%build_core
cd ..
make %{?_smp_mflags} install-pkgconfigDATA DESTDIR=$RPM_BUILD_ROOT
%endif
%if %build_core
# do not remove this unless you plan to fix _all_ the references to
# it. all (multiple) previous attempts have failed already
#rm $RPM_BUILD_ROOT%{_libdir}/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-daemon.if-up $RPM_BUILD_ROOT/etc/sysconfig/network/if-up.d/avahi-daemon
install avahi-autoipd/avahi-autoipd.if-up $RPM_BUILD_ROOT/etc/sysconfig/network/if-up.d/avahi-autoipd
install avahi-autoipd/avahi-autoipd.if-down $RPM_BUILD_ROOT/etc/sysconfig/network/if-down.d/avahi-autoipd
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
ln -s %{_sbindir}/service $RPM_BUILD_ROOT%{_sbindir}/rcavahi-daemon
ln -s %{_sbindir}/service $RPM_BUILD_ROOT%{_sbindir}/rcavahi-dnsconfd
install -m 644 %{S:3} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/avahi
install -d $RPM_BUILD_ROOT%{_datadir}/pixmaps
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.ui $RPM_BUILD_ROOT%{_datadir}/avahi/interfaces
%endif
%find_lang %{name} %{?no_lang_C}
%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%{python_sitelib}/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.ui
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
%suse_update_desktop_file avahi-discover
%suse_update_desktop_file bvnc
%suse_update_desktop_file bssh
%endif
%fdupes $RPM_BUILD_ROOT%{_libdir}

%if %build_core

%pre
%{_sbindir}/groupadd -r avahi 2> /dev/null || :
%{_sbindir}/useradd -r -s /bin/false -c "User for Avahi" -d /run/avahi-daemon -g avahi avahi 2> /dev/null || :
%if %suse_version >= 1210
%service_add_pre avahi-dnsconfd.service avahi-daemon.service
%endif
# bnc#853845,bnc#851953: do not start by default under
# sysconfig as this breaks vlan,bridge,bonding setups
# in pre to revert old default setting from template.
if test -f var/adm/fillup-templates/sysconfig.avahi-autoipd -a \
	-f etc/sysconfig/avahi ; then
	.  var/adm/fillup-templates/sysconfig.avahi-autoipd
	if test "X$AVAHI_AUTOIPD_ENABLE" = "Xyes" ; then
		sed -i etc/sysconfig/avahi \
		    -e 's/^\(AVAHI_AUTOIPD_ENABLE\)=.*/\1="no"/'
	fi
fi

%post
%{fillup_only -n avahi}
%{fillup_only -ns security checksig}
%if %suse_version >= 1210
%service_add_post avahi-dnsconfd.service avahi-daemon.service
%endif

%preun
%if %suse_version >= 1210
%service_del_preun avahi-dnsconfd.service avahi-daemon.service
%endif

%postun
%insserv_cleanup
%if %suse_version >= 1210
%service_del_postun avahi-dnsconfd.service avahi-daemon.service

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

%post autoipd
%{fillup_only -ns avahi autoipd}
# Change ownership of /var/lib/avahi-autoipd after upgrade from openSUSE <= 12.3 and SLE <= 11.
find %{_localstatedir}/lib/avahi-autoipd -user avahi -print0 |xargs -r0 chown avahi-autoipd:avahi-autoipd
%endif

%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-core7 -p /sbin/ldconfig

%postun -n libavahi-core7 -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

%preun -n python-avahi
%insserv_cleanup

%postun -n python-avahi
%insserv_cleanup
%endif
%if %build_glib2

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

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

%post -n libavahi-ui-gtk3-%{avahi_gtk3_soname} -p /sbin/ldconfig

%postun -n libavahi-ui-gtk3-%{avahi_gtk3_soname} -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

%post -n python-avahi-gtk
%desktop_database_post

%postun -n python-avahi-gtk
%desktop_database_post

%post -n avahi-utils-gtk
%desktop_database_post

%postun -n avahi-utils-gtk
%desktop_database_post
%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/*
%dir %{_libdir}/avahi/
# Note: This file is intentionally packaged here. It is needed for python-avahi and avahi-utils:
%{_libdir}/avahi/service-types.db
# avahi creates the directory itself, we do not package it
# since it might be on tmpfs
%attr(-,avahi,avahi) %ghost /run/avahi-daemon
%doc %{_mandir}/man5/*.5*
%doc %{_mandir}/man8/*.8*
%exclude %doc %{_mandir}/man8/avahi-autoipd*
%{_sbindir}/avahi-*
%exclude %{_sbindir}/avahi-autoipd
%{_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
%dir %{_sysconfdir}/avahi/services
%{_sysconfdir}/avahi/services/*.service
%config(noreplace) %{_sysconfdir}/avahi/hosts
%{_sysconfdir}/dbus-1/system.d/*.conf
%{_datadir}/dbus-1/interfaces/org.freedesktop.Avahi.*.xml
%{_datadir}/dbus-1/system-services/org.freedesktop.Avahi.service
%dir %{_prefix}/lib/avahi
%{_prefix}/lib/avahi/avahi-daemon-check-dns.sh
%{_unitdir}/avahi-daemon.service
%{_unitdir}/avahi-daemon.socket
%{_unitdir}/avahi-dnsconfd.service
# Common file for avahi-utils-gtk and python-avahi-gtk:
%dir %{_datadir}/avahi/
%{_datadir}/avahi/interfaces
/etc/sysconfig/network/*/avahi-daemon
/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-core7
%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*
%dir %{python_sitelib}/avahi
%{python_sitelib}/avahi/__init__.py*
%{python_sitelib}/avahi/ServiceTypeDatabase.py

%files autoipd
%defattr(-,root,root)
%doc avahi-autoipd/README.SUSE
%doc %{_mandir}/man8/avahi-autoipd*
%attr(-,avahi-autoipd,avahi-autoipd)%{_localstatedir}/lib/avahi-autoipd
%{_sbindir}/avahi-autoipd
%{_sysconfdir}/avahi/avahi-autoipd.action
/etc/sysconfig/network/*/avahi-autoipd
/var/adm/fillup-templates/sysconfig.avahi-autoipd

%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
%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
# do not remove unless you fix the resulting problems
# reference is in libavahi-client.la
%{_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-ui-gtk3-%{avahi_gtk3_soname}
%defattr(-,root,root)
%{_libdir}/libavahi-ui-gtk3.so.%{avahi_gtk3_soname}*

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

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

%files -n typelib-1_0-Avahi-0_6
%defattr(-,root,root)
%{_libdir}/girepository-1.0/Avahi-0.6.typelib
%{_libdir}/girepository-1.0/AvahiCore-0.6.typelib

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

%files -n avahi-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
%{_libdir}/pkgconfig/avahi-ui-gtk3.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
%{_datadir}/gir-1.0/*.gir
%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
openSUSE Build Service is sponsored by