+# $Revision: 1.25 $, x$Date: 2006-03-19 18:41:47 $
#
# Conditional build:
-%bcond_with dotnet # build with dotnet bindings
+%bcond_without dotnet # build with dotnet bindings
+%bcond_without qt # build with qt bindings
+#
+%include /usr/lib/rpm/macros.mono
#
Summary: Free mDNS/DNS-SD implementation
Summary(pl): Wolna implementacja mDNS/DNS-SD
Name: avahi
-Version: 0.6.4
-Release: 0.1
+Version: 0.6.9
+Release: 2
License: GPL v.2/LGPL
Group: Applications
Source0: http://avahi.org/download/%{name}-%{version}.tar.gz
-# Source0-md5: 12eb941043f26f82c51e99821ac52c44
+# Source0-md5: 2652910f0e52c373d7a15b6851750517
+Source1: %{name}-daemon
+Source2: %{name}-dnsconfd
+Source3: %{name}.png
+Patch0: %{name}-desktop.patch
+Patch1: %{name}-glade.patch
URL: http://avahi.org/
BuildRequires: autoconf
BuildRequires: automake
%endif
BuildRequires: python-dbus
BuildRequires: python-pygtk-devel
-BuildRequires: qt-devel
+%if %{with qt}
+BuildRequires: qt-devel >= 3.0
+%endif
BuildRequires: rpmbuild(macros) >= 1.228
Requires(post,preun): /sbin/chkconfig
+Requires: dbus >= 0.60-2
Requires: %{name}-libs = %{version}-%{release}
+Provides: group(avahi)
+Provides: user(avahi)
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
-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.
+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.
%description -l pl
-Avahi jest implementacj± specyfikacji DNS Service Discovery
-i Multicast DNS dla Zeroconf Computing. U¿ywa D-BUSa dla komunikacji
+Avahi jest implementacj± specyfikacji DNS Service Discovery i
+Multicast DNS dla Zeroconf Computing. U¿ywa D-BUSa dla komunikacji
pomiêdzy programami u¿ytkownika a demonem systemowym.
%package libs
%description static -l pl
Statyczna biblioteka Avahi.
+%package compat-libdns_sd
+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.
+
+%description compat-libdns_sd -l pl
+Biblioteka Avahi zgodna z Bonjour.
+
+%package compat-libdns_sd-devel
+Summary: Header files for 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}
+Provides: mdns-bonjour-devel
+Obsoletes: mDNSResponder-devel
+
+%description compat-libdns_sd-devel
+Header files for Avahi Bonjour compat library.
+
+%description compat-libdns_sd-devel -l pl
+Pliki nag³ówkowe wi±zañ Avahi dla biblioteki zgodnej z Bonjour.
+
+%package compat-libdns_sd-static
+Summary: Static Avahi Bonjour compat library
+Summary(pl): Statyczna biblioteka Avahi zgodna z Bonjour
+Group: Development/Libraries
+Requires: %{name}-libdns_sd-devel = %{version}-%{release}
+Provides: mdns-bonjour-static
+
+%description compat-libdns_sd-static
+Static Avahi Bonjour compat library.
+
+%description compat-libdns_sd-static -l pl
+Statyczna biblioteka Avahi zgodna z Bonjour.
+
+%package compat-howl
+Summary: Avahi Howl compat library
+Summary(pl): Biblioteka Avahi zgodna z Howl
+Group: Libraries
+Provides: mdns-howl-libs
+Obsoletes: howl-libs
+
+%description compat-howl
+Avahi Howl compat library.
+
+%description compat-howl -l pl
+Biblioteka Avahi zgodna z Howl.
+
+%package compat-howl-devel
+Summary: Header files for Avahi Howl compat library
+Summary(pl): Pliki nag³ówkowe wi±zañ Avahi dla biblioteki zgodnej z Howl
+Group: Development/Libraries
+Requires: %{name}-compat-howl = %{version}-%{release}
+Provides: mdns-howl-devel
+Obsoletes: howl-devel
+
+%description compat-howl-devel
+Header files for Avahi Howl compat library.
+
+%description compat-howl-devel -l pl
+Pliki nag³ówkowe wi±zañ Avahi dla biblioteki zgodnej z Howl.
+
+%package compat-howl-static
+Summary: Static Avahi Howl compat library
+Summary(pl): Statyczna biblioteka Avahi zgodna z Howl
+Group: Development/Libraries
+Requires: %{name}-howl-devel = %{version}-%{release}
+Provides: mdns-howl-static
+Obsoletes: howl-static
+
+%description compat-howl-static
+Static Avahi Howl compat library.
+
+%description compat-howl-static -l pl
+Statyczna biblioteka Avahi zgodna z Howl.
+
%package glib
Summary: Avahi GLib library bindings
Summary(pl): Wi±zania Avahi dla bibioteki GLib
Summary: Header files for Avahi GLib library bindings
Summary(pl): Pliki nag³ówkowe wi±zañ Avahi dla biblioteki GLib
Group: Development/Libraries
-Requires: %{name}-libs = %{version}-%{release}
+Requires: %{name}-devel = %{version}-%{release}
+Requires: %{name}-glib = %{version}-%{release}
Requires: glib2-devel >= 1:2.4.0
%description glib-devel
-This is the package containing the header files for Avahi-glib library.
+This is the package containing the header files for Avahi-glib
+library.
%description glib-devel -l pl
Ten pakiet zawiera pliki nag³ówkowe biblioteki Avahi-glib.
%package qt3-devel
Summary: Header files for Avahi Qt 3 library bindings
-Summary(pl): Pliki nag³ówkowe wi±zañ Avahi dla biblioteki Qt 3
+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: qt-devel >= 3.0
%description qt3-devel
Header files for Avahi Qt 3 library bindings.
Summary: Development files for MONO Avahi bindings
Summary(pl): Pliki rozwojowe wi±zañ Avahi dla MONO
Group: Development/Libraries
-Requires: %{name}-libs = %{version}-%{release}
+Requires: dotnet-avahi = %{version}-%{release}
+Requires: monodoc
%description -n dotnet-avahi-devel
Development files for MONO Avahi bindings.
%package bookmarks
Summary: Miniature web server
Summary(pl): Miniaturowy serwer web
-Group: Application
+Group: Applications
%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 nap
-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: Application
+Group: Applications
%description discover
-A tool for enumerating all available services on the
-local LAN (python-pygtk implementation).
+A tool for enumerating all available services on the local LAN
+(python-pygtk implementation).
%description discover -l pl
-Narzêdzie wymieniaj±ce wszystkie dostêpne us³ugi w sieci
-lokalnej LAN (implementacja w python-pygtk).
+Narzêdzie wymieniaj±ce wszystkie dostêpne us³ugi w sieci lokalnej LAN
+(implementacja w python-pygtk).
%package discover-standalone
Summary: Avahi Zeroconf browser
Summary(pl): Przegl±darka Zeroconf Avahi
-Group: Application
+Group: Applications
%description discover-standalone
GTK+ tool for enumerating all available services on the local LAN.
%description discover-standalone -l pl
-Narzêdzie GTK+ wymieniaj±ce wszystkie dostêpne us³ugi w sieci
-lokalnej LAN.
+Narzêdzie GTK+ wymieniaj±ce wszystkie dostêpne us³ugi w sieci lokalnej
+LAN.
%package utils
Summary: Avahi CLI utilities
Summary(pl): Narzêdzia CLI Avahi
-Group: Application
+Group: Applications
%description utils
Command line utilities using avahi-client.
%prep
%setup -q
+%patch0 -p1
+%patch1 -p1
%build
%{__libtoolize}
%{__autoheader}
%{__automake}
%configure \
+ --enable-compat-libdns_sd \
--enable-compat-howl \
--with-distro=none \
--disable-qt4 \
+ %{!?with_qt:--disable-qt3} \
%{!?with_dotnet:--disable-mono} \
%{!?with_dotnet:--disable-monodoc}
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_pixmapsdir},/etc/rc.d/init.d}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT \
pythondir=%{py_sitedir}
-
-#rm -f $RPM_BUILD_ROOT%{py_sitedir}/avahi/*.py
+
+install %{SOURCE1} %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d
+install %{SOURCE3} $RPM_BUILD_ROOT%{_pixmapsdir}
+
+ln -sf %{_includedir}/avahi-compat-libdns_sd/dns_sd.h \
+ $RPM_BUILD_ROOT%{_includedir}/dns_sd.h
+
+ln -sf %{_pkgconfigdir}/avahi-compat-howl.pc \
+ $RPM_BUILD_ROOT%{_pkgconfigdir}/howl.pc
+
+rm -f $RPM_BUILD_ROOT%{py_sitedir}/avahi/{__init__,SimpleGladeApp}.py
%clean
rm -rf $RPM_BUILD_ROOT
-# finish init
-%if 0
+%pre
+%groupadd -g 165 -r -f avahi
+%useradd -u 165 -r -d /usr/share/empty -s /bin/false -c "Avahi daemon" -g avahi avahi
+
%post
-/sbin/chkconfig --add %{name}
-%service %{name} restart
+/sbin/chkconfig --add %{name}-daemon
+%service %{name}-daemon restart
+/sbin/chkconfig --add %{name}-dnsconfd
+%service %{name}-dnsconfd restart
%preun
if [ "$1" = "0" ]; then
- %service -q %{name} stop
- /sbin/chkconfig --del %{name}
+ %service -q %{name}-dnsconfd stop
+ /sbin/chkconfig --del %{name}-dnsconfd
+ %service -q %{name}-daemon stop
+ /sbin/chkconfig --del %{name}-daemon
+fi
+
+%postun
+if [ "$1" = "0" ]; then
+ %userremove avahi
+ %groupremove avahi
fi
-%endif
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
+%post compat-libdns_sd -p /sbin/ldconfig
+%postun compat-libdns_sd -p /sbin/ldconfig
+
+%post compat-howl -p /sbin/ldconfig
+%postun compat-howl -p /sbin/ldconfig
+
%post glib -p /sbin/ldconfig
%postun glib -p /sbin/ldconfig
%dir %{_sysconfdir}/avahi/services
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/avahi/avahi-daemon.conf
%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}/dbus-1/system.d/*
%attr(755,root,root) %{_sbindir}/avahi-dnsconfd
%dir %{_datadir}/%{name}
-%dir
%dir %{_datadir}/%{name}/introspection
%{_datadir}/%{name}/introspection/*.introspect
%{_datadir}/%{name}/avahi-service.dtd
%{_mandir}/man*/*
-# finish init
-%if 0
-%attr(754,root,root) /etc/rc.d/init.d/%{name}
-%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
-%endif
+%attr(754,root,root) /etc/rc.d/init.d/%{name}-daemon
+%attr(754,root,root) /etc/rc.d/init.d/%{name}-dnsconfd
%files libs
%defattr(644,root,root,755)
%{_libdir}/libavahi-common.a
%{_libdir}/libavahi-core.a
-#%files -n dotnet-avahi
-#%defattr(644,root,root,755)
+%files compat-libdns_sd
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libdns_sd.so.*.*.*
+
+%files compat-libdns_sd-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libdns_sd.so
+%{_libdir}/libdns_sd.la
+%{_includedir}/avahi-compat-libdns_sd
+%{_includedir}/dns_sd.h
+%{_pkgconfigdir}/avahi-compat-libdns_sd.pc
+
+%files compat-libdns_sd-static
+%defattr(644,root,root,755)
+%{_libdir}/libdns_sd.a
+
+%files compat-howl
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libhowl.so.*.*.*
+
+%files compat-howl-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libhowl.so
+%{_libdir}/libhowl.la
+%{_includedir}/avahi-compat-howl
+%{_pkgconfigdir}/avahi-compat-howl.pc
+%{_pkgconfigdir}/howl.pc
+
+%files compat-howl-static
+%defattr(644,root,root,755)
+%{_libdir}/libhowl.a
+
+%if %{with dotnet}
+%files -n dotnet-avahi
+%defattr(644,root,root,755)
+%{_prefix}/lib/mono/gac/avahi-sharp
-#%files -n dotnet-avahi-devel
-#%defattr(644,root,root,755)
+%files -n dotnet-avahi-devel
+%defattr(644,root,root,755)
+%{_prefix}/lib/monodoc/sources/avahi-*
+%{_pkgconfigdir}/*.pc
+%endif
%files glib
%defattr(644,root,root,755)
%defattr(644,root,root,755)
%{_libdir}/libavahi-glib.a
+%if %{with qt}
%files qt3
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libavahi-qt3.so.*.*.*
%files qt3-static
%defattr(644,root,root,755)
%{_libdir}/libavahi-qt3.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
+%{_pixmapsdir}/avahi.png
%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
%defattr(644,root,root,755)