Blob Blame History Raw
Name:           avahi
Version:        0.6.3
Release: 	1
Summary:        Local network service discovery 
Group:          System Environment/Base
License:        LGPL
URL:            http://avahi.org
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:  doxygen, gtk2-devel, qt-devel, libglade2-devel, libdaemon-devel, glib-devel, libcap-devel, dbus-devel, expat-devel, python, dbus-python
Requires:       dbus, libdaemon, expat, python, dbus-python, libcap
Obsoletes:	howl, howl-libs
Source0:        %{name}-%{version}.tar.gz
Patch1:		avahi-0.5.2-fedora.patch
Patch2:		avahi-0.5.2-start_after_dbus.patch
Patch3:         avahi-0.6-initscript_status.patch
Patch4:         avahi-0.6-dbus-0.6.patch

%description
Avahi is a system which facilitates service discovery on
a local network -- this means that you can plug your laptop or
computer into a network and instantly be able to view other people who
you can chat with, find printers to print to or find files being
shared. This kind of technology is already found in MacOS X (branded
'Rendezvous', 'Bonjour' and sometimes 'ZeroConf') and is very
convenient.

%package tools
Summary: Tools for mDNS browsing and publishing
Group: System Environment/Base
Requires: %{name} = %{version}, gtk2, pygtk2, libglade2, pygtk2-libglade

%description tools
Tools that use avahi to browse and publish mDNS services and hosts.

%package glib
Summary: Glib libraries for avahi
Group: System Environment/Base
Requires: %{name} = %{version}
Requires: glib2

%description glib
Libraries for easy use of avahi from glib applications.

%package glib-devel
Summary: Libraries and header files for avahi glib development
Group: Development/Libraries
Requires: %{name}-devel = %{version}
Requires: %{name}-glib = %{version}
Requires: glib2-devel

%description glib-devel
The avahi-devel package contains the header files and libraries
necessary for developing programs using avahi with glib.

%package qt3
Summary: Qt3 libraries for avahi
Group: System Environment/Base
Requires: %{name} = %{version}
Requires: qt

%description qt3
Libraries for easy use of avahi from Qt3 applications.

%package qt3-devel
Summary: Libraries and header files for avahi Qt3 development
Group: Development/Libraries
Requires: %{name}-devel = %{version}
Requires: %{name}-qt3 = %{version}
Requires: qt-devel

%description qt3-devel
The avahi-devel package contains the header files and libraries
necessary for developing programs using avahi with Qt3.

%package devel
Summary: Libraries and header files for avahi development
Group: Development/Libraries
Requires: %{name} = %{version}
Obsoletes: howl-devel

%description devel
The avahi-devel package contains the header files and libraries
necessary for developing programs using avahi.

%define avahi_user_uid 70

%prep
%setup -q
#%patch1 -p1 -b .fedora
#^- this patch now upstream
%patch2 -p1 -b .start_after_dbus
%patch3 -p1 -b .initscript_status
#%patch4 -p1 -b .dbus-0.6
#^- this patch now upstream

%build
# auto* update needed for avahi-0.5.2-fedora.patch
aclocal -I common
libtoolize --force
automake-1.9 --add-missing
autoconf

%configure --with-distro=fedora --disable-qt4 --disable-mono --disable-monodoc --without-python-twisted --with-avahi-user=avahi --with-avahi-group=avahi --enable-compat-howl --enable-compat-libdns_sd
make %{?_smp_mflags}


%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT

rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a

# remove example 
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/avahi/services/ssh.service

# remove desktop file for avahi-discover
rm -f $RPM_BUILD_ROOT%{_datadir}/applications/avahi-discover.desktop

# create /var/run/avahi-daemon to ensure correct selinux policy for it:
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/avahi-daemon

# remove the documentation directory - let \%doc handle it:
rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}

# remove avahi-bookmarks - unusable without python-twisted,
# which has been judged dangerous and is removed from the 
# Fedora Core distribution:
rm -f $RPM_BUILD_ROOT/%{_bindir}/avahi-bookmarks $RPM_BUILD_ROOT/%{_mandir}/man1/avahi-bookmarks*
#
# move initscripts into /etc/rc.d/init.d :
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/rc.d/init.d
mv $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/* $RPM_BUILD_ROOT/%{_sysconfdir}/rc.d/init.d
rm -rf $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/*
:;

%clean
rm -rf $RPM_BUILD_ROOT

%pre
# Add the "avahi" user
/usr/sbin/useradd -c 'Avahi daemon' -u %{avahi_user_uid} \
	-s /sbin/nologin -r -d '/' avahi 2> /dev/null || :

%post
/sbin/ldconfig
if [ "$1" -eq 1 ]; then
   if ! /sbin/chkconfig --list avahi-daemon >/dev/null 2>&1 ; then
   # if user has not configured avahi service at all 
	/sbin/chkconfig --add avahi-daemon >/dev/null 2>&1
   fi;
#  We should realy make dbus reload the system.d config here. Dunno how though.
#  kill -HUP `cat /var/run/messagebus.pid` ?   
elif [ "$1" -gt 1 ]; then
   if ! /sbin/chkconfig --list avahi-daemon >/dev/null 2>&1 ; then
   # if user has not configured avahi service at all 
   # reset initscript run order:
	LC_ALL=C /sbin/chkconfig --levels=0123456 avahi-daemon reset >/dev/null 2>&1
   fi;
#  pre 0.5.2-3, avahi-daemon initscript had 'chkconfig: 345 34 66', 
#  so it got started AFTER messagebus ( 97 ) and was unable to start.
#  It now has 'chkconfig: 345 98 02'.
   /sbin/service avahi-daemon condrestart >/dev/null 2>&1
fi;

%postun -p /sbin/ldconfig

%preun
if [ "$1" -eq 0 ]; then
    service avahi-daemon stop > /dev/null 2>&1
    /sbin/chkconfig --del avahi-daemon
fi

%post glib -p /sbin/ldconfig

%postun glib -p /sbin/ldconfig

%post qt3 -p /sbin/ldconfig

%postun qt3 -p /sbin/ldconfig

%files
%defattr(0644,root,root,0755)
%doc docs/* avahi-daemon/example.service avahi-daemon/ssh.service
%attr(755,root,root) %{_sysconfdir}/rc.d/init.d/*
%dir %{_sysconfdir}/avahi
%dir %{_sysconfdir}/avahi/services
%dir %{_localstatedir}/run/avahi-daemon
%config %{_sysconfdir}/avahi/avahi-daemon.conf
%config %{_sysconfdir}/avahi/avahi-dnsconfd.action
%config %{_sysconfdir}/dbus-1/system.d/avahi-dbus.conf
%attr(755,root,root) %{_sbindir}/*
%attr(755,root,root) %{_libdir}/libavahi-common.so.*
%attr(755,root,root) %{_libdir}/libavahi-core.so.*
%attr(755,root,root) %{_libdir}/libavahi-client.so.*
%attr(755,root,root) %{_libdir}/libhowl.so.*
%attr(755,root,root) %{_libdir}/libdns_sd.so.*
%attr(755,root,root) %{_datadir}/avahi
%exclude %{_datadir}/avahi/interfaces
%{_mandir}/man5/*
%{_mandir}/man8/*

%files tools
%defattr(0755, root, root, 0755)
%{_bindir}/*
# These are .py files only, so they don't go in lib64
%{_prefix}/lib/python2.4/site-packages/*
%attr(0644,root,root) %{_mandir}/man1/*
%{_datadir}/avahi/interfaces/

%files devel
%defattr(0644, root, root, 0755)
%attr(755,root,root) %{_libdir}/libavahi-common.so
%attr(755,root,root) %{_libdir}/libavahi-core.so
%attr(755,root,root) %{_libdir}/libavahi-client.so
%attr(755,root,root) %{_libdir}/libhowl.so
%attr(755,root,root) %{_libdir}/libdns_sd.so
%{_includedir}/avahi-client
%{_includedir}/avahi-common
%{_includedir}/avahi-core
%{_includedir}/avahi-compat-howl
%{_includedir}/avahi-compat-libdns_sd
%{_libdir}/pkgconfig/avahi-core.pc
%{_libdir}/pkgconfig/avahi-client.pc
%{_libdir}/pkgconfig/avahi-compat-howl.pc
%{_libdir}/pkgconfig/avahi-compat-libdns_sd.pc

%files glib
%defattr(0755, root, root, 0755)
%{_libdir}/libavahi-glib.so.*

%files glib-devel
%defattr(0644, root, root, 0755)
%attr(755,root,root) %{_libdir}/libavahi-glib.so
%{_includedir}/avahi-glib
%{_libdir}/pkgconfig/avahi-glib.pc

%files qt3
%defattr(0644, root, root, 0755)
%attr(755,root,root) %{_libdir}/libavahi-qt3.so.*
%{_libdir}/pkgconfig/avahi-qt3.pc

%files qt3-devel
%defattr(0644, root, root, 0755)
%attr(755,root,root) %{_libdir}/libavahi-qt3.so
%{_includedir}/avahi-qt3

%changelog
* Mon Jan 09 2006 Jason Vas Dias <jvdias@redhat.com> - 0.6.3-1
- Upgrade to upstream version 0.6.3

* Thu Dec 22 2005 Jason Vas Dias <jvdias@redhat.com> - 0.6.1-3
- move initscripts from /etc/init.d to /etc/rc.d/init.d

* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
- rebuilt

* Fri Dec 09 2005 Jason Vas Dias<jvdias@redhat.com> - 0.6.1-2
- fix bug 175352: Do not chkconfig --add avahi-daemon 
  if user has already configured it

* Wed Dec 07 2005 Jason Vas Dias<jvdias@redhat.com> - 0.6.1-1
- Upgrade to 0.6.1

* Mon Dec 05 2005 Jason Vas Dias<jvdias@redhat.com> - 0.6-6
- fix bug 174799 - fix .spec file \%files permissions

* Fri Dec 02 2005 Jason Vas Dias<jvdias@redhat.com> - 0.6-5
- python-twisted has been removed from the FC-5 distribution - disable its use

* Thu Dec 01 2005 Jason Vas Dias<jvdias@redhat.com> - 0.6-4
- Rebuild for dbus-0.6 - remove use of DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT

* Wed Nov 30 2005 Jason Vas Dias<jvdias@redhat.com> - 0.6-3
- fix bug 172047 - tools should require python-twisted
- fix bug 173985 - docs directory permissions

* Mon Nov 21 2005 Jason Vas Dias<jvdias@redhat.com> - 0.6-1
- Upgrade to upstream version 0.6 - now provides 'avahi-howl-compat'
  libraries / includes.

* Mon Nov 14 2005 Jason Vas Dias<jvdias@redhat.com> - 0.5.2-7
- fix bug 172034: fix ownership of /var/run/avahi-daemon/
- fix bug 172772: .spec file improvements from matthias@rpmforge.net
 
* Mon Oct 31 2005 Jason Vas Dias<jvdias@redhat.com> - 0.5.2-6
- put back avahi-devel Obsoletes: howl-devel

* Mon Oct 31 2005 Alexander Larsson <alexl@redhat.com> - 0.5.2-5
- Obsoletes howl, howl-libs, as we want to get rid of them on updates
- No provides yet, as the howl compat library is in Avahi 0.6.0.

* Sun Oct 30 2005 Florian La Roche <laroche@redhat.com>
- disable the Obsoletes: howl until the transition is complete

* Fri Oct 28 2005 Jason Vas Dias<jvdias@redhat.com> - 0.5.2-3
- change initscript to start avahi-daemon AFTER messagebus

* Wed Oct 26 2005 Karsten Hopp <karsten@redhat.de> 0.5.2-2
- add buildrequires dbus-python

* Fri Oct 21 2005 Alexander Larsson <alexl@redhat.com> - 0.5.2-1
- Initial package