#
+# TODO:
+# - autoip subpackage ?
+# - autoip start script ?
+#
# Conditional build:
-%bcond_with dotnet # build with dotnet bindings
+%bcond_without dotnet # build without dotnet bindings
+%bcond_without qt # build without (any) qt bindings
+%bcond_without qt3 # build without qt3 bindings
+%bcond_without qt4 # build without qt4 bindings
+#
+%if !%{with qt}
+%undefine with_qt3
+%undefine with_qt4
+%endif
+%include /usr/lib/rpm/macros.mono
#
Summary: Free mDNS/DNS-SD implementation
Summary(pl): Wolna implementacja mDNS/DNS-SD
Name: avahi
-Version: 0.6.7
+Version: 0.6.15
Release: 2
License: GPL v.2/LGPL
Group: Applications
-Source0: http://avahi.org/download/%{name}-%{version}.tar.gz
-# Source0-md5: 4cfb24b5c9063180f9eee2ef30beac53
+Source0: http://lathiat.net/%{name}-%{version}.tar.gz
+# Source0-md5: 94dbd41336d18c47fc8213735a3fbf8e
Source1: %{name}-daemon
Source2: %{name}-dnsconfd
Source3: %{name}.png
Patch0: %{name}-desktop.patch
Patch1: %{name}-glade.patch
+Patch2: %{name}-destdir.patch
+Patch3: %{name}-dbus.patch
URL: http://avahi.org/
BuildRequires: autoconf
BuildRequires: automake
-BuildRequires: dbus-devel >= 0.34
+BuildRequires: dbus-devel >= 0.92
BuildRequires: doxygen
BuildRequires: expat-devel
BuildRequires: gdbm-devel
-BuildRequires: glib2-devel >= 1:2.4.0
+BuildRequires: glib2-devel >= 1:2.12.2
BuildRequires: graphviz
-BuildRequires: gtk+2-devel >= 2:2.4.0
+BuildRequires: gtk+2-devel >= 2:2.10.2
BuildRequires: libdaemon-devel >= 0.5
-BuildRequires: libglade2-devel >= 2.4.0
+BuildRequires: libglade2-devel >= 1:2.6.0
BuildRequires: libtool
%if %{with dotnet}
-BuildRequires: mono
+BuildRequires: mono-csharp
BuildRequires: monodoc
%endif
-BuildRequires: python-dbus
-BuildRequires: python-pygtk-devel
-BuildRequires: qt-devel
+BuildRequires: pkgconfig
+BuildRequires: python >= 1:2.4
+BuildRequires: python-dbus >= 0.71
+BuildRequires: python-pygtk-devel >= 2:2.9.6
+%if %{with qt3}
+BuildRequires: qt-devel >= 3.0
+%endif
+%if %{with qt4}
+BuildRequires: QtCore-devel
+BuildRequires: qt4-build
+%endif
BuildRequires: rpmbuild(macros) >= 1.228
Requires(post,preun): /sbin/chkconfig
-Requires: dbus >= 0.60-2
+Requires: dbus >= 0.92
Requires: %{name}-libs = %{version}-%{release}
Provides: group(avahi)
Provides: user(avahi)
Summary(pl): Pliki nag³ówkowe biblioteki Avahi
Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
+Requires: dbus-devel >= 0.92
Requires: expat-devel
Requires: libdaemon-devel >= 0.5
Summary: Avahi Bonjour compat library
Summary(pl): Biblioteka Avahi zgodna z Bonjour
Group: Libraries
+Provides: mdns-bonjour
+Obsoletes: mDNSResponder-libs
%description compat-libdns_sd
Avahi Bonjour compat library.
Summary(pl): Pliki nag³ówkowe wi±zañ Avahi dla biblioteki zgodnej z Bonjour
Group: Development/Libraries
Requires: %{name}-compat-libdns_sd = %{version}-%{release}
+Requires: %{name}-devel = %{version}-%{release}
+Provides: mdns-bonjour-devel
+Obsoletes: mDNSResponder-devel
%description compat-libdns_sd-devel
Header files for Avahi Bonjour compat library.
Summary: Static Avahi Bonjour compat library
Summary(pl): Statyczna biblioteka Avahi zgodna z Bonjour
Group: Development/Libraries
-Requires: %{name}-libdns_sd-devel = %{version}-%{release}
+Requires: %{name}-compat-libdns_sd-devel = %{version}-%{release}
+Provides: mdns-bonjour-static
%description compat-libdns_sd-static
Static Avahi Bonjour compat library.
Summary: Avahi Howl compat library
Summary(pl): Biblioteka Avahi zgodna z Howl
Group: Libraries
+Provides: mdns-howl-libs
Obsoletes: howl-libs
%description compat-howl
Summary(pl): Pliki nag³ówkowe wi±zañ Avahi dla biblioteki zgodnej z Howl
Group: Development/Libraries
Requires: %{name}-compat-howl = %{version}-%{release}
+Requires: %{name}-devel = %{version}-%{release}
+Provides: mdns-howl-devel
Obsoletes: howl-devel
%description compat-howl-devel
Summary: Static Avahi Howl compat library
Summary(pl): Statyczna biblioteka Avahi zgodna z Howl
Group: Development/Libraries
-Requires: %{name}-howl-devel = %{version}-%{release}
+Requires: %{name}-compat-howl-devel = %{version}-%{release}
+Provides: mdns-howl-static
Obsoletes: howl-static
%description compat-howl-static
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
Requires: %{name}-glib = %{version}-%{release}
-Requires: glib2-devel >= 1:2.4.0
+Requires: glib2-devel >= 1:2.12.2
%description glib-devel
This is the package containing the header files for Avahi-glib
%description glib-static -l pl
Statyczna biblioteka Avahi GLib.
-%package qt3
+%package qt
Summary: Avahi Qt 3 library bindings
Summary(pl): Wi±zania Avahi dla biblioteki Qt 3
Group: Libraries
Requires: %{name}-libs = %{version}-%{release}
+Obsoletes: avahi-qt3
-%description qt3
+%description qt
Avahi Qt 3 library bindings.
-%description qt3 -l pl
+%description qt -l pl
Wi±zania Avahi dla biblioteki Qt 3.
-%package qt3-devel
+%package qt-devel
Summary: Header files for Avahi Qt 3 library bindings
Summary(pl): Pliki nag³ówkowe wi±zañ Avahi dla biblioteki Qt 3
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
-Requires: %{name}-qt3 = %{version}-%{release}
-Requires: qt-devel
+Requires: %{name}-qt = %{version}-%{release}
+Requires: qt-devel >= 3.0
+Obsoletes: avahi-qt3-devel
-%description qt3-devel
+%description qt-devel
Header files for Avahi Qt 3 library bindings.
-%description qt3-devel -l pl
+%description qt-devel -l pl
Pliki nag³ówkowe wi±zañ Avahi dla biblioteki Qt 3.
-%package qt3-static
+%package qt-static
Summary: Static Avahi Qt 3 library
Summary(pl): Statyczna biblioteka Avahi Qt 3
Group: Development/Libraries
-Requires: %{name}-qt3-devel = %{version}-%{release}
+Requires: %{name}-qt-devel = %{version}-%{release}
+Obsoletes: avahi-qt3-static
-%description qt3-static
+%description qt-static
Static Avahi Qt 3 library.
-%description qt3-static -l pl
+%description qt-static -l pl
Statyczna biblioteka Avahi Qt 3.
+%package Qt
+Summary: Avahi Qt 4 library bindings
+Summary(pl): Wi±zania Avahi dla biblioteki Qt 4
+Group: Libraries
+Requires: %{name}-libs = %{version}-%{release}
+
+%description Qt
+Avahi Qt 4 library bindings.
+
+%description Qt -l pl
+Wi±zania Avahi dla biblioteki Qt 4.
+
+%package Qt-devel
+Summary: Header files for Avahi Qt 3 library bindings
+Summary(pl): Pliki nag³ówkowe wi±zañ Avahi dla biblioteki Qt 3
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+Requires: %{name}-Qt = %{version}-%{release}
+
+%description Qt-devel
+Header files for Avahi Qt 4 library bindings.
+
+%description Qt-devel -l pl
+Pliki nag³ówkowe wi±zañ Avahi dla biblioteki Qt 4.
+
+%package Qt-static
+Summary: Static Avahi Qt 4 library
+Summary(pl): Statyczna biblioteka Avahi Qt 4
+Group: Development/Libraries
+Requires: %{name}-Qt-devel = %{version}-%{release}
+
+%description Qt-static
+Static Avahi Qt 4 library.
+
+%description Qt-static -l pl
+Statyczna biblioteka Avahi Qt 4.
+
%package -n dotnet-avahi
Summary: Avahi MONO bindings
Summary(pl): Wi±zania Avahi dla MONO
%description bookmarks
A Python based miniature web server that browses for mDNS/DNS-SD
services of type '_http._tcp' (i.e. web sites) and makes them
-available as HTML links on http://localhost:8080.
+available as HTML links on http://localhost:8080/.
%description bookmarks -l pl
-Napisany w Pythonie miniaturowy serwer web, pozwalaj±cy na
-przegl±danie us³ug typu '_http._tcp' (np. stron web) i udostêpniaj±cy
-je jako linki HTML na http://localhost:8080.
+Napisany w Pythonie miniaturowy serwer WWW, pozwalaj±cy na
+przegl±danie us³ug typu '_http._tcp' (np. stron WWW) i udostêpniaj±cy
+je jako odno¶niki HTML na http://localhost:8080/.
%package discover
Summary: Avahi Zeroconf browser
Summary(pl): Przegl±darka Zeroconf Avahi
Group: Applications
+Requires: %{name} = %{version}-%{release}
+Requires: python-dbus >= 0.71
+Requires: python-pygtk-glade >= 2:2.9.6
%description discover
A tool for enumerating all available services on the local LAN
Summary: Avahi Zeroconf browser
Summary(pl): Przegl±darka Zeroconf Avahi
Group: Applications
+Requires: %{name} = %{version}-%{release}
+Requires: python-dbus >= 0.71
+Requires: python-pygtk-glade >= 2:2.9.6
%description discover-standalone
GTK+ tool for enumerating all available services on the local LAN.
%setup -q
%patch0 -p1
%patch1 -p1
+%patch2 -p1
+%patch3 -p1
%build
%{__libtoolize}
--enable-compat-libdns_sd \
--enable-compat-howl \
--with-distro=none \
- --disable-qt4 \
+ %{!?with_qt3:--disable-qt3} \
+ %{!?with_qt4:--disable-qt4} \
%{!?with_dotnet:--disable-mono} \
%{!?with_dotnet:--disable-monodoc}
%{__make}
%post glib -p /sbin/ldconfig
%postun glib -p /sbin/ldconfig
-%post qt3 -p /sbin/ldconfig
-%postun qt3 -p /sbin/ldconfig
+%post qt -p /sbin/ldconfig
+%postun qt -p /sbin/ldconfig
+
+%post Qt -p /sbin/ldconfig
+%postun Qt -p /sbin/ldconfig
%files
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/avahi/avahi-dnsconfd.action
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/avahi/hosts
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/avahi/services/ssh.service
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/avahi/services/sftp-ssh.service
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dbus-1/system.d/*
-%attr(755,root,root) %{_bindir}/avahi-browse
-%attr(755,root,root) %{_bindir}/avahi-publish
-%attr(755,root,root) %{_bindir}/avahi-resolve
+%attr(755,root,root) %{_bindir}/avahi-set-host-name
%attr(755,root,root) %{_sbindir}/avahi-daemon
%attr(755,root,root) %{_sbindir}/avahi-dnsconfd
%attr(754,root,root) /etc/rc.d/init.d/%{name}-daemon
%attr(754,root,root) /etc/rc.d/init.d/%{name}-dnsconfd
+%attr(755,root,root) %{_sysconfdir}/%{name}/avahi-autoipd.action
+%attr(755,root,root) %{_sbindir}/avahi-autoipd
+
%files libs
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libavahi-client.so.*.*.*
%files -n dotnet-avahi-devel
%defattr(644,root,root,755)
-%{_prefix}/lib/monodoc/sources/avahi-*
-%{_pkgconfigdir}/*.pc
+%{_libdir}/monodoc/sources/avahi-*
+%{_prefix}/lib/mono/avahi-sharp
+%{_pkgconfigdir}/avahi-sharp.pc
%endif
%files glib
%defattr(644,root,root,755)
%{_libdir}/libavahi-glib.a
-%files qt3
+%if %{with qt3}
+%files qt
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libavahi-qt3.so.*.*.*
-%files qt3-devel
+%files qt-devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libavahi-qt3.so
%{_libdir}/libavahi-qt3.la
%{_includedir}/avahi-qt3
%{_pkgconfigdir}/avahi-qt3.pc
-%files qt3-static
+%files qt-static
%defattr(644,root,root,755)
%{_libdir}/libavahi-qt3.a
+%endif
+
+%if %{with qt4}
+%files Qt
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libavahi-qt4.so.*.*.*
+
+%files Qt-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libavahi-qt4.so
+%{_libdir}/libavahi-qt4.la
+%{_includedir}/avahi-qt4
+%{_pkgconfigdir}/avahi-qt4.pc
+
+%files Qt-static
+%defattr(644,root,root,755)
+%{_libdir}/libavahi-qt4.a
+%endif
%files bookmarks
%defattr(644,root,root,755)
%files discover
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/avahi-discover
+# XXX: possibly missing %{_datadir}/%{name} dir, shared subdir
+%dir %{_datadir}/%{name}/interfaces
%{_datadir}/%{name}/interfaces/avahi-discover.glade
%{py_sitedir}/avahi
%{_desktopdir}/*.desktop
%files discover-standalone
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/avahi-discover-standalone
+# XXX: possibly missing %{_datadir}/%{name} dir, shared subdir
+%dir %{_datadir}/%{name}/interfaces
%{_datadir}/%{name}/interfaces/avahi-discover-standalone.glade
%files utils