# # 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 %define build_mono 1 # 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: 11 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 %if %build_mono BuildRequires: gtk-sharp2 mono-devel monodoc-core %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 %endif %if %build_mono Requires: avahi = %{version} gtk-sharp2 %else Requires: dbus-1 Requires: nss-mdns Provides: mDNSResponder = 107.5 Obsoletes: mDNSResponder <= 107.5 %endif %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 Trent Lloyd Sebastien Estienne %if !%build_mono %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 Trent Lloyd Sebastien Estienne %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 -n avahi-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 Trent Lloyd Sebastien Estienne %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 Trent Lloyd Sebastien Estienne %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 Trent Lloyd Sebastien Estienne %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 Trent Lloyd Sebastien Estienne %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 -n avahi-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 Trent Lloyd Sebastien Estienne %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 Trent Lloyd Sebastien Estienne %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 -n avahi-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 Trent Lloyd Sebastien Estienne %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 Trent Lloyd Sebastien Estienne %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.