From de687747380b9cc88f65500c1ccb5469eb46c57d1281d87d403f8903ff5dd05b Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Mon, 16 Jul 2007 08:17:26 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/avahi?expand=0&rev=21 --- avahi-mono.changes | 5 + avahi-mono.spec | 636 +++++++++++++++++++++++++++++++++++++++++++++ avahi.changes | 6 + avahi.spec | 332 ++++++++++++----------- pre_checkin.sh | 18 ++ 5 files changed, 851 insertions(+), 146 deletions(-) create mode 100644 avahi-mono.changes create mode 100644 avahi-mono.spec create mode 100644 pre_checkin.sh diff --git a/avahi-mono.changes b/avahi-mono.changes new file mode 100644 index 0000000..ccfd5a6 --- /dev/null +++ b/avahi-mono.changes @@ -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. + diff --git a/avahi-mono.spec b/avahi-mono.spec new file mode 100644 index 0000000..2b514c4 --- /dev/null +++ b/avahi-mono.spec @@ -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 + Trent Lloyd + Sebastien Estienne + +%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 + 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 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 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 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. diff --git a/avahi.changes b/avahi.changes index 0e899a8..fc8da94 100644 --- a/avahi.changes +++ b/avahi.changes @@ -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 diff --git a/avahi.spec b/avahi.spec index 6d97e2f..a78a672 100644 --- a/avahi.spec +++ b/avahi.spec @@ -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 Sebastien Estienne +%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 - Trent Lloyd - Sebastien Estienne - - -%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 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 python Avahi is an implementation of the DNS Service Discovery and Multicast @@ -200,8 +125,13 @@ Authors: 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 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 Sebastien Estienne +%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 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 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 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 compat-mDNSResponder-devel Apple mDNSResponder compatibility layer for avahi. @@ -296,8 +251,13 @@ Authors: 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 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 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 compat-howl-devel howl compatibility layer for avahi. @@ -344,8 +309,18 @@ Authors: 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 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 Sebastien Estienne +%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 diff --git a/pre_checkin.sh b/pre_checkin.sh new file mode 100644 index 0000000..518b912 --- /dev/null +++ b/pre_checkin.sh @@ -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. +