OBS User unknown 2007-07-16 08:17:26 +00:00 committed by Git OBS Bridge
parent 8cfa192fed
commit de68774738
5 changed files with 851 additions and 146 deletions

5
avahi-mono.changes Normal file
View File

@ -0,0 +1,5 @@
-------------------------------------------------------------------
Mon Jul 16 09:14:26 CEST 2007 - aj@suse.de
- Create new spec file to avoid build cycle avahi->gnome->mono->avahi.

636
avahi-mono.spec Normal file
View File

@ -0,0 +1,636 @@
#
# spec file for package avahi-mono (Version 0.6.20)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: avahi-mono
# WARNING: If you are editing avahi-mono.spec, STOP. Always edit
# avahi.spec and then run pre_checkin.sh which will create
# avahi-mono.spec based upon avahi.spec.
Version: 0.6.20
Release: 7
URL: http://www.avahi.org/
Group: Development/Libraries/Other
License: LGPL v2 or later
Summary: D-BUS Service for Zeroconf/Bonjour
Source: avahi-%{version}.tar.bz2
Source1: gnome-nettool2.png
Source2: avahi-bookmarks.init
Source3: avahi.firewall
Source4: pre_checkin.sh
Patch0: avahi-gacdir.patch
Patch1: avahi-desktop.patch
Autoreqprov: on
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: dbus-1-devel doxygen gdbm-devel graphviz libdaemon-devel libglade2-devel update-desktop-files zlib-devel
%define build_mono 1
%description
Mono 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>
%if %build_mono
BuildRequires: gtk-sharp2 mono-devel monodoc-core
Requires: avahi = %{version} gtk-sharp2
%else
BuildRequires: dbus-1-python python-devel python-gdbm qt3-devel
%if %suse_version > 1010
BuildRequires: libqt4-devel python-gtk-devel
%else
BuildRequires: python-gtk qt-devel
%endif
Requires: dbus-1
Requires: nss-mdns
Provides: mDNSResponder = 107.5
Obsoletes: mDNSResponder <= 107.5
%package -n avahi-glib
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version}
Autoreqprov: on
Group: Development/Libraries/Other
%description -n avahi-glib
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 avahi-python
Summary: A set of Avahi utilities written in Python
Requires: %{name} = %{version} python-gdbm python-gtk dbus-1-python python-twisted python-twisted-web
Autoreqprov: on
Group: System/Daemons
%py_requires
%description python
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 avahi-qt3
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version}
Autoreqprov: on
Group: Development/Libraries/Other
%description -n avahi-qt3
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 avahi-qt4
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version}
Autoreqprov: on
Group: Development/Libraries/Other
%description -n avahi-qt4
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 avahi-compat-mDNSResponder
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version}
Autoreqprov: on
%ifarch ia64 x86_64 ppc64 s390x
Provides: libdns_sd.so()(64bit)
%else
Provides: libdns_sd.so
%endif
Group: System/Daemons
Provides: mDNSResponder-lib = 107.5
Obsoletes: mDNSResponder-lib <= 107.5
%description -n avahi-compat-mDNSResponder
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 avahi-compat-mDNSResponder-devel
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version} %{name}-compat-mDNSResponder = %{version}
Requires: %{name}-devel = %{version}
Autoreqprov: on
Group: System/Daemons
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 -n avahi-compat-howl
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version}
Autoreqprov: on
Group: System/Daemons
%description -n avahi-compat-howl
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 avahi-compat-howl-devel
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version} %{name}-compat-howl = %{version}
Autoreqprov: on
Group: System/Daemons
%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>
%package -n avahi-devel
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version} dbus-1-devel glibc-devel glib2-devel gtk2-devel
# NOTE: Adding these will cause large dependencies, 2/3 of the are not
# needed in most cases. Most users of bindings will already require is
# implicitly. So it's better not to be absolutely correct.
# skip-check-libtool-deps
#Requires: qt3-devel glib2-devel libqt4-devel
Autoreqprov: on
Group: Development/Libraries/Other
%description -n avahi-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>
%endif
%prep
%setup -q -n avahi-%{version}
%patch0
%patch1 -p1
%build
ACLOCAL="aclocal -I common" autoreconf -f -i
%configure\
--libexecdir=%{_prefix}/lib\
--disable-static\
--with-distro=suse\
%if %build_mono
--enable-mono\
--disable-qt3\
--disable-qt4\
--disable-python\
--disable-pygtk\
--disable-compat-libdns_sd\
--disable-compat-howl\
%else
--disable-mono \
--enable-qt3\
--enable-qt4\
--enable-python\
--enable-pygtk\
--enable-compat-libdns_sd\
--enable-compat-howl\
%endif
--with-avahi-priv-access-group=avahi\
--with-autoipd-user=avahi\
--with-autoipd-group=avahi
make %{?jobs:-j%jobs}
%install
make DESTDIR=$RPM_BUILD_ROOT install
## 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
%if !%build_mono
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%{_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
# 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
ln -s %{_sysconfdir}/init.d/avahi-bookmarks $RPM_BUILD_ROOT%{_sbindir}/rcavahi-bookmarks
install -m 644 %{S:3} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/avahi
# 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
# Remove files if only building mono
%if %build_mono
rm -rf $RPM_BUILD_ROOT/%{_bindir}/avahi-discover-standalone
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-glib*.so.*
rm -rf $RPM_BUILD_ROOT/%{_bindir}/avahi-browse*
rm -rf $RPM_BUILD_ROOT/%{_bindir}/avahi-publish*
rm -rf $RPM_BUILD_ROOT/%{_bindir}/avahi-resolve*
rm -rf $RPM_BUILD_ROOT/%{_bindir}/avahi-set-host-name
rm -rf $RPM_BUILD_ROOT/%{_bindir}/bssh
rm -rf $RPM_BUILD_ROOT/%{_bindir}/bvnc
rm -rf $RPM_BUILD_ROOT/%{_datadir}/avahi
rm -rf $RPM_BUILD_ROOT/%{_datadir}/applications/bssh.desktop
rm -rf $RPM_BUILD_ROOT/%{_datadir}/applications/bvnc.desktop
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-client*.so.*
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-common*.so.*
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-core*.so.*
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-ui*.so.*
rm -rf $RPM_BUILD_ROOT/%{_mandir}/man1
rm -rf $RPM_BUILD_ROOT/%{_mandir}/man5
rm -rf $RPM_BUILD_ROOT/%{_mandir}/man8
rm -rf $RPM_BUILD_ROOT/%{_sbindir}/avahi-*
rm -rf $RPM_BUILD_ROOT/%{_sbindir}/rcavahi-daemon
rm -rf $RPM_BUILD_ROOT/%{_sbindir}/rcavahi-dnsconfd
rm -rf $RPM_BUILD_ROOT/%{_sysconfdir}/avahi
rm -rf $RPM_BUILD_ROOT/%{_sysconfdir}/dbus-1/system.d/*.conf
rm -rf $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/avahi-dnsconfd
rm -rf $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/avahi-daemon
rm -rf $RPM_BUILD_ROOT/%{_includedir}
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-client.*a
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-client*.so
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-core.*a
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-core*.so
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-common*.so
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-common*.*a
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-glib*.*a
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-glib*.so
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-ui*.*a
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-ui*.*so
rm -rf $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/avahi-client.pc
rm -rf $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/avahi-core.pc
rm -rf $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/avahi-glib.pc
rm -rf $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/avahi-ui.pc
%endif
%clean
rm -rf $RPM_BUILD_ROOT
%if !%build_mono
%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 || :
%preun
%{stop_on_removal avahi-daemon}
%{stop_on_removal avahi-dnsconfd}
%post -p /sbin/ldconfig
%postun
%{restart_on_update avahi-daemon}
%{restart_on_update avahi-dnsconfd}
%{run_ldconfig}
%insserv_cleanup
%post -n avahi-qt3 -p /sbin/ldconfig
%postun -n avahi-qt3 -p /sbin/ldconfig
%post -n avahi-qt4 -p /sbin/ldconfig
%postun -n avahi-qt4 -p /sbin/ldconfig
%post -n avahi-glib -p /sbin/ldconfig
%postun -n avahi-glib -p /sbin/ldconfig
%post -n avahi-compat-mDNSResponder -p /sbin/ldconfig
%postun -n avahi-compat-mDNSResponder -p /sbin/ldconfig
%post -n avahi-compat-howl -p /sbin/ldconfig
%postun -n avahi-compat-howl -p /sbin/ldconfig
# end !%build_mono
%endif
%if %build_mono
%files
%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
%else
%files
%defattr(-,root,root)
%doc LICENSE docs/*
%{_bindir}/avahi-browse*
%{_bindir}/avahi-publish*
%{_bindir}/avahi-resolve*
%{_bindir}/avahi-set-host-name
%{_bindir}/bssh
%{_bindir}/bvnc
%{_datadir}/avahi
%{_datadir}/applications/bssh.desktop
%{_datadir}/applications/bvnc.desktop
%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/*
%{_libdir}/*avahi-client*.so.*
%{_libdir}/*avahi-common*.so.*
%{_libdir}/*avahi-core*.so.*
%{_libdir}/*avahi-ui*.so.*
%attr(-,avahi,avahi) %{_localstatedir}/run/avahi-daemon
%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*
%doc %{_mandir}/man1/bssh.1.*
%doc %{_mandir}/man1/bvnc.1.*
%doc %{_mandir}/man5/*.5*
%doc %{_mandir}/man8/*.8*
%{_sbindir}/avahi-*
%{_sbindir}/rcavahi-daemon
%{_sbindir}/rcavahi-dnsconfd
%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
%files -n avahi-glib
%defattr(-,root,root)
%{_bindir}/avahi-discover-standalone
%{_libdir}/*avahi-glib*.so.*
%files -n avahi-python
%defattr(-,root,root)
%{py_sitedir}/avahi
%{_bindir}/avahi-discover
%{_bindir}/avahi-bookmarks
%doc %{_mandir}/man1/avahi-bookmarks.1*
%doc %{_mandir}/man1/avahi-discover.1*
%{_datadir}/applications/avahi-discover.desktop
%{_datadir}/pixmaps/gnome-nettool2.png
%{_sbindir}/rcavahi-bookmarks
%{_sysconfdir}/init.d/avahi-bookmarks
%files -n avahi-qt3
%defattr(-,root,root)
%{_libdir}/*avahi-qt3*.so.*
%files -n avahi-qt4
%defattr(-,root,root)
%{_libdir}/*avahi-qt4*.so.*
%files -n avahi-compat-mDNSResponder
%defattr(-,root,root)
# mDNSResponder uses libdns_sd.so, we need .so in the main package.
%{_libdir}/libdns_sd.so
%{_libdir}/libdns_sd.so.*
%files -n avahi-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 -n avahi-compat-howl
%defattr(-,root,root)
%{_libdir}/libhowl.so.*
%files -n avahi-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
%files -n avahi-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-glib
%{_includedir}/avahi-core
%{_includedir}/avahi-qt3
%{_includedir}/avahi-qt4
%{_includedir}/avahi-ui
# avahi devel files
%{_libdir}/*avahi-client.*a
%{_libdir}/*avahi-client*.so
%{_libdir}/*avahi-core.*a
%{_libdir}/*avahi-core*.so
%{_libdir}/*avahi-common*.so
%{_libdir}/*avahi-common*.*a
%{_libdir}/*avahi-glib*.*a
%{_libdir}/*avahi-glib*.so
%{_libdir}/*avahi-qt3*.*a
%{_libdir}/*avahi-qt3*.so
%{_libdir}/*avahi-qt4*.*a
%{_libdir}/*avahi-qt4*.so
%{_libdir}/*avahi-ui*.*a
%{_libdir}/*avahi-ui*.*so
%{_libdir}/pkgconfig/avahi-client.pc
%{_libdir}/pkgconfig/avahi-core.pc
%{_libdir}/pkgconfig/avahi-glib.pc
%{_libdir}/pkgconfig/avahi-qt3.pc
%{_libdir}/pkgconfig/avahi-qt4.pc
%{_libdir}/pkgconfig/avahi-ui.pc
%endif
%changelog
* Mon Jul 16 2007 - aj@suse.de
- Create new spec file to avoid build cycle avahi->gnome->mono->avahi.

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Mon Jul 16 09:14:58 CEST 2007 - aj@suse.de
- Use extra spec file for avahi-mono to avoid build cycle
avahi->gnome->mono->avahi.
-------------------------------------------------------------------
Thu Jul 5 22:08:28 CEST 2007 - maw@suse.de

View File

@ -11,103 +11,26 @@
# norootforbuild
Name: avahi
BuildRequires: dbus-1-devel dbus-1-python doxygen gdbm-devel graphviz gtk-sharp2 libdaemon-devel libglade2-devel mono-devel monodoc-core python-devel python-gdbm qt3-devel update-desktop-files zlib-devel
%if %suse_version > 1010
BuildRequires: libqt4-devel python-gtk-devel
%else
BuildRequires: python-gtk qt-devel
%endif
# WARNING: If you are editing avahi-mono.spec, STOP. Always edit
# avahi.spec and then run pre_checkin.sh which will create
# avahi-mono.spec based upon avahi.spec.
Version: 0.6.20
Release: 5
Release: 7
URL: http://www.avahi.org/
Group: System/Daemons
License: LGPL v2 or later
Summary: D-BUS Service for Zeroconf and Bonjour
Source: %{name}-%{version}.tar.bz2
Source: avahi-%{version}.tar.bz2
Source1: gnome-nettool2.png
Source2: avahi-bookmarks.init
Source3: avahi.firewall
Source4: pre_checkin.sh
Patch0: avahi-gacdir.patch
Patch1: avahi-desktop.patch
# See also http://www.avahi.org/wiki/DownloadAvahi#RequirementsTable
Requires: dbus-1
# Not really required, but many tools expect nss-mdns installed:
Requires: nss-mdns
Autoreqprov: on
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Provides: mDNSResponder
Obsoletes: mDNSResponder <= 107.5
%package glib
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version}
Autoreqprov: on
Group: Development/Libraries/Other
%package python
Summary: A set of Avahi utilities written in Python
Requires: %{name} = %{version} python-gdbm python-gtk dbus-1-python python-twisted python-twisted-web
Autoreqprov: on
Group: System/Daemons
%py_requires
%package mono
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version} gtk-sharp2
Autoreqprov: on
Group: Development/Libraries/Other
%package qt3
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version}
Autoreqprov: on
Group: Development/Libraries/Other
%package qt4
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version}
Autoreqprov: on
Group: Development/Libraries/Other
%package compat-mDNSResponder
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version}
Autoreqprov: on
%ifarch ia64 x86_64 ppc64 s390x
Provides: libdns_sd.so()(64bit)
%else
Provides: libdns_sd.so
%endif
Group: System/Daemons
Provides: mDNSResponder-lib
Obsoletes: mDNSResponder-lib <= 107.5
%package compat-mDNSResponder-devel
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version} %{name}-compat-mDNSResponder = %{version}
Requires: %{name}-devel = %{version}
Autoreqprov: on
Group: System/Daemons
Provides: mDNSResponder-devel
Obsoletes: mDNSResponder-devel <= 107.5
%package compat-howl
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version}
Autoreqprov: on
Group: System/Daemons
Provides: howl
Obsoletes: howl
%package compat-howl-devel
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version} %{name}-compat-howl = %{version}
Autoreqprov: on
Group: System/Daemons
Provides: howl-devel
Obsoletes: howl-devel
%package devel
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version} dbus-1-devel glibc-devel glib2-devel gtk2-devel
# NOTE: Adding these will cause large dependencies, 2/3 of the are not
# needed in most cases. Most users of bindings will already require is
# implicitly. So it's better not to be absolutely correct.
# skip-check-libtool-deps
#Requires: qt3-devel glib2-devel libqt4-devel
Autoreqprov: on
Group: Development/Libraries/Other
BuildRequires: dbus-1-devel doxygen gdbm-devel graphviz libdaemon-devel libglade2-devel update-desktop-files zlib-devel
%define build_mono 0
%description
Avahi is an implementation of the DNS Service Discovery and Multicast
@ -130,32 +53,27 @@ Authors:
Trent Lloyd <lathiat@freedesktop.org>
Sebastien Estienne <sebastien.estienne@gmail.com>
%if %build_mono
BuildRequires: gtk-sharp2 mono-devel monodoc-core
Requires: avahi = %{version} gtk-sharp2
%else
BuildRequires: dbus-1-python python-devel python-gdbm qt3-devel
%if %suse_version > 1010
BuildRequires: libqt4-devel python-gtk-devel
%else
BuildRequires: python-gtk qt-devel
%endif
Requires: dbus-1
Requires: nss-mdns
Provides: mDNSResponder = 107.5
Obsoletes: mDNSResponder <= 107.5
%package -n avahi-glib
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version}
Autoreqprov: on
Group: Development/Libraries/Other
%description mono
Mono 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>
%description glib
%description -n avahi-glib
GLib support for avahi.
Avahi is an Implementation the DNS Service Discovery and Multicast DNS
@ -178,6 +96,13 @@ Authors:
Trent Lloyd <lathiat@freedesktop.org>
Sebastien Estienne <sebastien.estienne@gmail.com>
%package -n avahi-python
Summary: A set of Avahi utilities written in Python
Requires: %{name} = %{version} python-gdbm python-gtk dbus-1-python python-twisted python-twisted-web
Autoreqprov: on
Group: System/Daemons
%py_requires
%description python
Avahi is an implementation of the DNS Service Discovery and Multicast
@ -200,8 +125,13 @@ Authors:
Trent Lloyd <lathiat@freedesktop.org>
Sebastien Estienne <sebastien.estienne@gmail.com>
%package -n avahi-qt3
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version}
Autoreqprov: on
Group: Development/Libraries/Other
%description qt3
%description -n avahi-qt3
Qt3 bindings for avahi.
Avahi is an Implementation the DNS Service Discovery and Multicast DNS
@ -224,8 +154,13 @@ Authors:
Trent Lloyd <lathiat@freedesktop.org>
Sebastien Estienne <sebastien.estienne@gmail.com>
%package -n avahi-qt4
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version}
Autoreqprov: on
Group: Development/Libraries/Other
%description qt4
%description -n avahi-qt4
Qt4 bindings for avahi.
Avahi is an Implementation the DNS Service Discovery and Multicast DNS
@ -248,8 +183,20 @@ Authors:
Trent Lloyd <lathiat@freedesktop.org>
Sebastien Estienne <sebastien.estienne@gmail.com>
%package -n avahi-compat-mDNSResponder
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version}
Autoreqprov: on
%ifarch ia64 x86_64 ppc64 s390x
Provides: libdns_sd.so()(64bit)
%else
Provides: libdns_sd.so
%endif
Group: System/Daemons
Provides: mDNSResponder-lib = 107.5
Obsoletes: mDNSResponder-lib <= 107.5
%description compat-mDNSResponder
%description -n avahi-compat-mDNSResponder
Apple mDNSResponder compatibility layer for avahi.
Avahi is an Implementation the DNS Service Discovery and Multicast DNS
@ -272,6 +219,14 @@ Authors:
Trent Lloyd <lathiat@freedesktop.org>
Sebastien Estienne <sebastien.estienne@gmail.com>
%package -n avahi-compat-mDNSResponder-devel
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version} %{name}-compat-mDNSResponder = %{version}
Requires: %{name}-devel = %{version}
Autoreqprov: on
Group: System/Daemons
Provides: mDNSResponder-devel = 107.5
Obsoletes: mDNSResponder-devel <= 107.5
%description compat-mDNSResponder-devel
Apple mDNSResponder compatibility layer for avahi.
@ -296,8 +251,13 @@ Authors:
Trent Lloyd <lathiat@freedesktop.org>
Sebastien Estienne <sebastien.estienne@gmail.com>
%package -n avahi-compat-howl
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version}
Autoreqprov: on
Group: System/Daemons
%description compat-howl
%description -n avahi-compat-howl
howl compatibility layer for avahi.
Avahi is an Implementation the DNS Service Discovery and Multicast DNS
@ -320,6 +280,11 @@ Authors:
Trent Lloyd <lathiat@freedesktop.org>
Sebastien Estienne <sebastien.estienne@gmail.com>
%package -n avahi-compat-howl-devel
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version} %{name}-compat-howl = %{version}
Autoreqprov: on
Group: System/Daemons
%description compat-howl-devel
howl compatibility layer for avahi.
@ -344,8 +309,18 @@ Authors:
Trent Lloyd <lathiat@freedesktop.org>
Sebastien Estienne <sebastien.estienne@gmail.com>
%package -n avahi-devel
Summary: D-BUS Service for Zeroconf/Bonjour
Requires: %{name} = %{version} dbus-1-devel glibc-devel glib2-devel gtk2-devel
# NOTE: Adding these will cause large dependencies, 2/3 of the are not
# needed in most cases. Most users of bindings will already require is
# implicitly. So it's better not to be absolutely correct.
# skip-check-libtool-deps
#Requires: qt3-devel glib2-devel libqt4-devel
Autoreqprov: on
Group: Development/Libraries/Other
%description devel
%description -n avahi-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
@ -366,8 +341,9 @@ Authors:
Trent Lloyd <lathiat@freedesktop.org>
Sebastien Estienne <sebastien.estienne@gmail.com>
%endif
%prep
%setup -q
%setup -q -n avahi-%{version}
%patch0
%patch1 -p1
@ -377,13 +353,23 @@ ACLOCAL="aclocal -I common" autoreconf -f -i
--libexecdir=%{_prefix}/lib\
--disable-static\
--with-distro=suse\
%if %build_mono
--enable-mono\
--disable-qt3\
--disable-qt4\
--disable-python\
--disable-pygtk\
--disable-compat-libdns_sd\
--disable-compat-howl\
%else
--disable-mono \
--enable-qt3\
--enable-qt4\
--enable-mono\
--enable-python\
--enable-pygtk\
--enable-compat-libdns_sd\
--enable-compat-howl\
%endif
--with-avahi-priv-access-group=avahi\
--with-autoipd-user=avahi\
--with-autoipd-group=avahi
@ -397,6 +383,7 @@ make DESTDIR=$RPM_BUILD_ROOT install
## 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
%if !%build_mono
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%{_localstatedir}/run/avahi-daemon
@ -415,9 +402,54 @@ ln -s %{_sysconfdir}/init.d/avahi-bookmarks $RPM_BUILD_ROOT%{_sbindir}/rcavahi-b
install -m 644 %{S:3} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/avahi
# 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
# Remove files if only building mono
%if %build_mono
rm -rf $RPM_BUILD_ROOT/%{_bindir}/avahi-discover-standalone
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-glib*.so.*
rm -rf $RPM_BUILD_ROOT/%{_bindir}/avahi-browse*
rm -rf $RPM_BUILD_ROOT/%{_bindir}/avahi-publish*
rm -rf $RPM_BUILD_ROOT/%{_bindir}/avahi-resolve*
rm -rf $RPM_BUILD_ROOT/%{_bindir}/avahi-set-host-name
rm -rf $RPM_BUILD_ROOT/%{_bindir}/bssh
rm -rf $RPM_BUILD_ROOT/%{_bindir}/bvnc
rm -rf $RPM_BUILD_ROOT/%{_datadir}/avahi
rm -rf $RPM_BUILD_ROOT/%{_datadir}/applications/bssh.desktop
rm -rf $RPM_BUILD_ROOT/%{_datadir}/applications/bvnc.desktop
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-client*.so.*
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-common*.so.*
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-core*.so.*
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-ui*.so.*
rm -rf $RPM_BUILD_ROOT/%{_mandir}/man1
rm -rf $RPM_BUILD_ROOT/%{_mandir}/man5
rm -rf $RPM_BUILD_ROOT/%{_mandir}/man8
rm -rf $RPM_BUILD_ROOT/%{_sbindir}/avahi-*
rm -rf $RPM_BUILD_ROOT/%{_sbindir}/rcavahi-daemon
rm -rf $RPM_BUILD_ROOT/%{_sbindir}/rcavahi-dnsconfd
rm -rf $RPM_BUILD_ROOT/%{_sysconfdir}/avahi
rm -rf $RPM_BUILD_ROOT/%{_sysconfdir}/dbus-1/system.d/*.conf
rm -rf $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/avahi-dnsconfd
rm -rf $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/avahi-daemon
rm -rf $RPM_BUILD_ROOT/%{_includedir}
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-client.*a
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-client*.so
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-core.*a
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-core*.so
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-common*.so
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-common*.*a
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-glib*.*a
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-glib*.so
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-ui*.*a
rm -rf $RPM_BUILD_ROOT/%{_libdir}/*avahi-ui*.*so
rm -rf $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/avahi-client.pc
rm -rf $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/avahi-core.pc
rm -rf $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/avahi-glib.pc
rm -rf $RPM_BUILD_ROOT/%{_libdir}/pkgconfig/avahi-ui.pc
%endif
%clean
rm -rf $RPM_BUILD_ROOT
%if !%build_mono
%pre
%{_sbindir}/groupadd -r avahi 2> /dev/null || :
@ -435,25 +467,39 @@ rm -rf $RPM_BUILD_ROOT
%{run_ldconfig}
%insserv_cleanup
%post qt3 -p /sbin/ldconfig
%post -n avahi-qt3 -p /sbin/ldconfig
%postun qt3 -p /sbin/ldconfig
%postun -n avahi-qt3 -p /sbin/ldconfig
%post qt4 -p /sbin/ldconfig
%post -n avahi-qt4 -p /sbin/ldconfig
%postun qt4 -p /sbin/ldconfig
%postun -n avahi-qt4 -p /sbin/ldconfig
%post glib -p /sbin/ldconfig
%post -n avahi-glib -p /sbin/ldconfig
%postun glib -p /sbin/ldconfig
%postun -n avahi-glib -p /sbin/ldconfig
%post compat-mDNSResponder -p /sbin/ldconfig
%post -n avahi-compat-mDNSResponder -p /sbin/ldconfig
%postun compat-mDNSResponder -p /sbin/ldconfig
%postun -n avahi-compat-mDNSResponder -p /sbin/ldconfig
%post compat-howl -p /sbin/ldconfig
%post -n avahi-compat-howl -p /sbin/ldconfig
%postun compat-howl -p /sbin/ldconfig
%postun -n avahi-compat-howl -p /sbin/ldconfig
# end !%build_mono
%endif
%if %build_mono
%files
%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
%else
%files
%defattr(-,root,root)
@ -495,12 +541,12 @@ rm -rf $RPM_BUILD_ROOT
%{_sysconfdir}/init.d/avahi-dnsconfd
%{_sysconfdir}/init.d/avahi-daemon
%files glib
%files -n avahi-glib
%defattr(-,root,root)
%{_bindir}/avahi-discover-standalone
%{_libdir}/*avahi-glib*.so.*
%files python
%files -n avahi-python
%defattr(-,root,root)
%{py_sitedir}/avahi
%{_bindir}/avahi-discover
@ -512,42 +558,32 @@ rm -rf $RPM_BUILD_ROOT
%{_sbindir}/rcavahi-bookmarks
%{_sysconfdir}/init.d/avahi-bookmarks
%files mono
%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
%files qt3
%files -n avahi-qt3
%defattr(-,root,root)
%{_libdir}/*avahi-qt3*.so.*
%files qt4
%files -n avahi-qt4
%defattr(-,root,root)
%{_libdir}/*avahi-qt4*.so.*
%files compat-mDNSResponder
%files -n avahi-compat-mDNSResponder
%defattr(-,root,root)
# mDNSResponder uses libdns_sd.so, we need .so in the main package.
%{_libdir}/libdns_sd.so
%{_libdir}/libdns_sd.so.*
%files compat-mDNSResponder-devel
%files -n avahi-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
%files -n avahi-compat-howl
%defattr(-,root,root)
%{_libdir}/libhowl.so.*
%files compat-howl-devel
%files -n avahi-compat-howl-devel
%defattr(-,root,root)
%{_includedir}/avahi-compat-howl
%{_libdir}/libhowl.so
@ -555,7 +591,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pkgconfig/avahi-compat-howl.pc
%{_libdir}/pkgconfig/howl.pc
%files devel
%files -n avahi-devel
%defattr(-,root,root)
# FIXME: Maybe split to particular subpackages.
#%doc doc/api/html
@ -588,8 +624,12 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/pkgconfig/avahi-qt3.pc
%{_libdir}/pkgconfig/avahi-qt4.pc
%{_libdir}/pkgconfig/avahi-ui.pc
%endif
%changelog
* Mon Jul 16 2007 - aj@suse.de
- Use extra spec file for avahi-mono to avoid build cycle
avahi->gnome->mono->avahi.
* Thu Jul 05 2007 - maw@suse.de
- Build require gtk2-devel.
* Thu Jul 05 2007 - maw@suse.de

18
pre_checkin.sh Normal file
View File

@ -0,0 +1,18 @@
#!/bin/sh
function fail {
echo Something failed. Too bad.
exit 1
}
rm -f avahi-mono.spec.tmp
cat avahi.spec \
| sed 's/^Name: *avahi/Name: avahi-mono/g' \
| sed 's/^%define *build_mono 0/%define build_mono 1/g' \
> avahi-mono.spec.tmp || fail
mv avahi-mono.spec.tmp avahi-mono.spec || fail
echo Fixed up avahi-mono.spec.