-#
-# TODO:
-# - autoip subpackage ?
-# - autoip start script ?
+# TODO
+# - finish with_apidocs
+# - qt and Qt packages make file collisions on case insensitive filesystems,
+# consider adding version suffix to either of the pckages
#
# Conditional build:
+%bcond_with apidocs # build API documentation
%bcond_without dotnet # build without dotnet bindings
+%bcond_without gtk # build without GTK+
+%bcond_without gtk3 # build without GTK+3
+%bcond_without pygtk # build without PyGTK
%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}
+
+%ifnarch %{ix86} %{x8664} alpha arm hppa ia64 mips ppc s390 s390x sparc sparcv9
+%undefine with_dotnet
+%endif
+%ifarch i386
+%undefine with_dotnet
+%endif
+
+%if %{without qt}
%undefine with_qt3
%undefine with_qt4
%endif
-%include /usr/lib/rpm/macros.mono
-#
-Summary: Free mDNS/DNS-SD implementation
-Summary(pl.UTF-8): Wolna implementacja mDNS/DNS-SD
+
+# see http://lists.pld-linux.org/mailman/pipermail/pld-devel-pl/2012-October/155984.html
+%undefine _ssp_cflags
+
+%{?with_dotnet:%include /usr/lib/rpm/macros.mono}
+Summary: Free mDNS/DNS-SD/Zeroconf implementation
+Summary(pl.UTF-8): Wolna implementacja mDNS/DNS-SD/Zeroconf
Name: avahi
-Version: 0.6.17
-Release: 2
-License: GPL v.2/LGPL
+Version: 0.6.31
+Release: 7
+License: LGPL v2.1+
Group: Applications
Source0: http://avahi.org/download/%{name}-%{version}.tar.gz
-# Source0-md5: 29ebb2181958d5721ee5fc45f035a77c
+# Source0-md5: 2f22745b8f7368ad5a0a3fddac343f2d
Source1: %{name}-daemon
Source2: %{name}-dnsconfd
Source3: %{name}.png
+Source4: %{name}-daemon.upstart
+Source5: %{name}-dnsconfd.upstart
Patch0: %{name}-desktop.patch
Patch1: %{name}-glade.patch
Patch2: %{name}-destdir.patch
+Patch3: %{name}-mono-dir.patch
+Patch4: nss-mdns-package.patch
+Patch5: %{name}-dhclient_hooks.patch
+Patch6: %{name}-autoipd-sbin_ip.patch
+Patch7: 01_%{name}-daemon.conf.patch
+Patch8: %{name}-core-reserve-space-for-record-data-when-size-estimate.patch
URL: http://avahi.org/
-BuildRequires: autoconf
-BuildRequires: automake
+BuildRequires: autoconf >= 2.63
+BuildRequires: automake >= 1:1.11
BuildRequires: dbus-devel >= 0.92
+%if %{with apidocs}
BuildRequires: doxygen
+# for the 'dot' tool used by doxygen
+BuildRequires: graphviz
+%endif
BuildRequires: expat-devel
BuildRequires: gdbm-devel
+BuildRequires: gettext-devel
+BuildRequires: gobject-introspection-devel >= 0.9.5
+%if %{with gtk}
BuildRequires: glib2-devel >= 1:2.12.2
-BuildRequires: graphviz
-BuildRequires: gtk+2-devel >= 2:2.10.2
+BuildRequires: gtk+2-devel >= 2:2.14.0
+%endif
+%if %{with gtk3}
+BuildRequires: glib2-devel >= 1:2.28.0
+BuildRequires: gtk+3-devel >= 3.0.0
+%endif
+BuildRequires: intltool >= 0.35
BuildRequires: libcap-devel
-BuildRequires: libdaemon-devel >= 0.5
-BuildRequires: libglade2-devel >= 1:2.6.0
+BuildRequires: libdaemon-devel >= 0.14
BuildRequires: libtool
%if %{with dotnet}
+BuildRequires: dotnet-gtk-sharp2-devel >= 2.10
BuildRequires: mono-csharp
-BuildRequires: monodoc
+BuildRequires: monodoc >= 2.6
%endif
BuildRequires: pkgconfig
BuildRequires: python >= 1:2.4
BuildRequires: python-dbus >= 0.71
-BuildRequires: python-pygtk-devel >= 2:2.9.6
+%{?with_pygtk:BuildRequires: python-pygtk-devel >= 2:2.9.6}
%if %{with qt3}
BuildRequires: qt-devel >= 1:3.0
%endif
%if %{with qt4}
-BuildRequires: QtCore-devel
+BuildRequires: QtCore-devel >= 4.0.0
BuildRequires: qt4-build
%endif
-BuildRequires: rpmbuild(macros) >= 1.228
+BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.626
Requires(post,preun): /sbin/chkconfig
-Requires: dbus >= 0.92
+Requires(post,preun,postun): systemd-units >= 38
Requires: %{name}-libs = %{version}-%{release}
+Requires: dbus >= 0.92
+Requires: libdaemon >= 0.14
+Requires: rc-scripts >= 0.4.3
+Requires: systemd-units >= 38
+Suggests: nss_mdns >= 0.10-2
Provides: group(avahi)
Provides: user(avahi)
+Obsoletes: avahi-systemd
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Multicast DNS dla Zeroconf Computing. Używa D-BUSa dla komunikacji
pomiędzy programami użytkownika a demonem systemowym.
+%package upstart
+Summary: Upstart jobs description for Avahi daemons
+Summary(pl.UTF-8): Opis zadań Upstart dla demonów Avahi
+Group: Daemons
+Requires: %{name} = %{version}-%{release}
+Requires: upstart >= 0.6
+Conflicts: syslog-ng-upstart < 3.2.4-1
+
+%description upstart
+Upstart jobs description for Avahi daemons.
+
+%description upstart -l pl.UTF-8
+Opis zadań Upstart dla demonów Avahi.
+
+%package autoipd
+Summary: IPv4LL network address configuration daemon
+Summary(pl.UTF-8): Demon configurujący adresy IPv4LL
+Group: Networking/Daemons
+Requires(postun): /usr/sbin/groupdel
+Requires(postun): /usr/sbin/userdel
+Requires(pre): /bin/id
+Requires(pre): /usr/bin/getgid
+Requires(pre): /usr/sbin/groupadd
+Requires(pre): /usr/sbin/useradd
+Provides: group(avahi)
+Provides: user(avahi)
+
+%description autoipd
+avahi-autoipd implements IPv4LL, "Dynamic Configuration of IPv4 Link-
+Local Addresses" (IETF RFC3927), a protocol for automatic IP address
+configuration from the link-local 169.254.0.0/16 range without the
+need for a central server. It is primarily intended to be used in
+ad-hoc networks which lack a DHCP server.
+
+IPv4LL is part of the Zeroconf stack.
+
+%description autoipd -l pl.UTF-8
+avahi-autoipd jest implementacją IPv4LL, protokołu umożliwiającego
+automatyczną konfigurację adresu z zakresu 169.254.0.0/16 bez potrzeby
+użycia centralnego serwera. Jego głównym zastosowaniem są sieci
+ad-hoc, w których brakuje serwera DHCP.
+
+IPv4LL jest częścią stosu Zeroconf.
+
%package libs
Summary: Avahi client, common and core libraries
Summary(pl.UTF-8): Biblioteki Avahi: klienta, wspólna i główna
Requires: %{name}-libs = %{version}-%{release}
Requires: dbus-devel >= 0.92
Requires: expat-devel
-Requires: libdaemon-devel >= 0.5
%description devel
This is the package containing the header files for Avahi library.
%description static -l pl.UTF-8
Statyczna biblioteka Avahi.
+%package ui
+Summary: Avahi UI library
+Summary(pl.UTF-8): Biblioteka Avahi UI
+Group: X11/Libraries
+Requires: %{name}-libs = %{version}-%{release}
+Requires: gtk+2 >= 2:2.14.0
+
+%description ui
+Common GTK+ UI support library for Avahi.
+
+%description ui -l pl.UTF-8
+Biblioteka wspólnego interfejsu użytkownika GTK+ dla Avahi.
+
+%package ui-devel
+Summary: Header files for Avahi UI library
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki Avahi UI
+Group: X11/Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+Requires: %{name}-ui = %{version}-%{release}
+Requires: %{name}-ui-devel-common = %{version}-%{release}
+Requires: gtk+2-devel >= 2:2.14.0
+
+%description ui-devel
+Header files for Avahi UI library.
+
+%description ui-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki Avahi UI.
+
+%package ui-static
+Summary: Static Avahi UI library
+Summary(pl.UTF-8): Statyczna biblioteka Avahi UI
+Group: X11/Development/Libraries
+Requires: %{name}-ui-devel = %{version}-%{release}
+
+%description ui-static
+Static Avahi UI library.
+
+%description ui-static -l pl.UTF-8
+Statyczna biblioteka Avahi UI.
+
+%package ui-devel-common
+Summary: Header files for Avahi UI library
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki Avahi UI
+Group: X11/Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+
+%description ui-devel-common
+Header files for Avahi UI library.
+
+%description ui-devel-common -l pl.UTF-8
+Pliki nagłówkowe biblioteki Avahi GTK+ UI.
+
+%package ui-gtk3
+Summary: Avahi UI library - GTK+ 3.x version
+Summary(pl.UTF-8): Biblioteka Avahi UI - wersja dla GTK+ 3.x
+Group: X11/Libraries
+Requires: %{name}-libs = %{version}-%{release}
+
+%description ui-gtk3
+Common GTK+ 3.x UI support library for Avahi.
+
+%description ui-gtk3 -l pl.UTF-8
+Biblioteka wspólnego interfejsu użytkownika GTK+ 3.x dla Avahi.
+
+%package ui-gtk3-devel
+Summary: Header files for Avahi UI library - GTK+ 3.x version
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki Avahi UI - wersja dla GTK+ 3.x
+Group: X11/Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+Requires: %{name}-ui-devel-common = %{version}-%{release}
+Requires: %{name}-ui-gtk3 = %{version}-%{release}
+
+%description ui-gtk3-devel
+Header files for Avahi GTK+ 3.x UI library.
+
+%description ui-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki Avahi GTK+ 3.x UI.
+
+%package ui-gtk3-static
+Summary: Static Avahi UI library - GTK+ 3.x version
+Summary(pl.UTF-8): Statyczna biblioteka Avahi UI - wersja GTK+ 3.x
+Group: X11/Development/Libraries
+Requires: %{name}-ui-gtk3-devel = %{version}-%{release}
+
+%description ui-gtk3-static
+Static Avahi GTK+ 3.x UI library.
+
+%description ui-gtk3-static -l pl.UTF-8
+Statyczna biblioteka Avahi GTK+ 3.x UI.
+
%package compat-libdns_sd
Summary: Avahi Bonjour compat library
Summary(pl.UTF-8): Biblioteka Avahi zgodna z Bonjour
Group: Libraries
+Requires: %{name}-libs = %{version}-%{release}
Provides: mdns-bonjour
Obsoletes: mDNSResponder-libs
%description glib-static -l pl.UTF-8
Statyczna biblioteka Avahi GLib.
+%package gobject
+Summary: Avahi GObject interface
+Summary(pl.UTF-8): Interfejs GObject do Avahi
+Group: Libraries
+
+%description gobject
+Avahi GObject interface.
+
+%description gobject -l pl.UTF-8
+Interfejs GObject do Avahi.
+
+%package gobject-devel
+Summary: Header files for Avahi GObject interface
+Summary(pl.UTF-8): Pliki nagłówkowe interfejsu GObject do Avahi
+Group: Development/Libraries
+Requires: %{name}-devel = %{version}-%{release}
+Requires: %{name}-gobject = %{version}-%{release}
+Requires: glib2-devel >= 1:2.12.2
+
+%description gobject-devel
+This is the package containing the header files for Avahi GObject
+interface.
+
+%description gobject-devel -l pl.UTF-8
+Ten pakiet zawiera pliki nagłówkowe interfejsu GObject do Avahi.
+
+%package gobject-static
+Summary: Static Avahi GObject library
+Summary(pl.UTF-8): Statyczna biblioteka Avahi GObject
+Group: Development/Libraries
+Requires: %{name}-gobject-devel = %{version}-%{release}
+
+%description gobject-static
+Static Avahi GObject library.
+
+%description gobject-static -l pl.UTF-8
+Statyczna biblioteka Avahi GObject.
+
%package qt
Summary: Avahi Qt 3 library bindings
Summary(pl.UTF-8): Wiązania Avahi dla biblioteki Qt 3
Summary: Header files for Avahi Qt 4 library bindings
Summary(pl.UTF-8): Pliki nagłówkowe wiązań Avahi dla biblioteki Qt 4
Group: Development/Libraries
-Requires: %{name}-devel = %{version}-%{release}
Requires: %{name}-Qt = %{version}-%{release}
+Requires: %{name}-devel = %{version}-%{release}
%description Qt-devel
Header files for Avahi Qt 4 library bindings.
Summary: Avahi Python bindings
Summary(pl.UTF-8): Wiązania Avahi dla Pythona
Group: Development/Languages/Python
-Requires: %{name} = %{version}-%{release}
+Requires: %{name}-libs = %{version}-%{release}
Requires: python-dbus >= 0.71
%description -n python-avahi
Summary: Avahi MONO bindings
Summary(pl.UTF-8): Wiązania Avahi dla MONO
Group: Libraries
+Requires: %{name}-libs = %{version}-%{release}
%description -n dotnet-avahi
Avahi MONO bindings.
Summary(pl.UTF-8): Pliki rozwojowe wiązań Avahi dla MONO
Group: Development/Libraries
Requires: dotnet-avahi = %{version}-%{release}
-Requires: monodoc
+Requires: monodoc >= 2.6
%description -n dotnet-avahi-devel
Development files for MONO Avahi bindings.
%description -n dotnet-avahi-devel -l pl.UTF-8
Pliki rozwojowe wiązań Avahi dla MONO.
+%package -n dotnet-avahi-ui
+Summary: Avahi UI MONO bindings
+Summary(pl.UTF-8): Wiązania Avahi UI dla MONO
+Group: X11/Libraries
+Requires: %{name}-ui = %{version}-%{release}
+Requires: dotnet-avahi = %{version}-%{release}
+
+%description -n dotnet-avahi-ui
+Avahi UI MONO bindings.
+
+%description -n dotnet-avahi-ui -l pl.UTF-8
+Wiązania Avahi UI dla MONO.
+
+%package -n dotnet-avahi-ui-devel
+Summary: Development files for MONO Avahi UI bindings
+Summary(pl.UTF-8): Pliki rozwojowe wiązań Avahi UI dla MONO
+Group: X11/Development/Libraries
+Requires: dotnet-avahi-ui = %{version}-%{release}
+Requires: monodoc >= 2.6
+
+%description -n dotnet-avahi-ui-devel
+Development files for MONO Avahi UI bindings.
+
+%description -n dotnet-avahi-ui-devel -l pl.UTF-8
+Pliki rozwojowe wiązań Avahi UI dla MONO.
+
%package bookmarks
Summary: Miniature web server
-Summary(pl.UTF-8): Miniaturowy serwer web
+Summary(pl.UTF-8): Miniaturowy serwer WWW
Group: Applications
%description bookmarks
Summary: Avahi Zeroconf browser
Summary(pl.UTF-8): Przeglądarka Zeroconf Avahi
Group: Applications
-Requires: %{name} = %{version}-%{release}
Requires: python-avahi = %{version}-%{release}
Requires: python-pygtk-glade >= 2:2.9.6
Summary: Avahi Zeroconf browser
Summary(pl.UTF-8): Przeglądarka Zeroconf Avahi
Group: Applications
-Requires: %{name} = %{version}-%{release}
-Requires: python-dbus >= 0.71
-Requires: python-pygtk-glade >= 2:2.9.6
+Requires: %{name}-glib = %{version}-%{release}
%description discover-standalone
GTK+ tool for enumerating all available services on the local LAN.
%patch0 -p1
%patch1 -p1
%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
%build
+%{__intltoolize}
%{__libtoolize}
%{__aclocal} -I common
%{__autoconf}
%{__autoheader}
%{__automake}
%configure \
+ --disable-stack-protector \
+ --disable-silent-rules \
--enable-compat-libdns_sd \
--enable-compat-howl \
--with-distro=none \
+ %{!?with_apidocs:--disable-doxygen-doc} \
+ %{!?with_gtk:--disable-gtk} \
+ %{!?with_gtk3:--disable-gtk3} \
+ %{!?with_pygtk:--disable-pygtk} \
%{!?with_qt3:--disable-qt3} \
%{!?with_qt4:--disable-qt4} \
%{!?with_dotnet:--disable-mono} \
- %{!?with_dotnet:--disable-monodoc}
+ %{!?with_dotnet:--disable-monodoc} \
+ --with-systemdsystemunitdir=%{systemdunitdir} \
+ --with-avahi-priv-access-group=adm \
+ --with-autoipd-user=avahi \
+ --with-autoipd-group=avahi
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_pixmapsdir},/etc/rc.d/init.d}
+install -d $RPM_BUILD_ROOT{%{_pixmapsdir},/etc/rc.d/init.d,/etc/init}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT \
pythondir=%{py_sitedir}
-install %{SOURCE1} %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d
-install %{SOURCE3} $RPM_BUILD_ROOT%{_pixmapsdir}
+install -p %{SOURCE1} %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d
+cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_pixmapsdir}
+
+cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/init/avahi-daemon.conf
+cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/init/avahi-dnsconfd.conf
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
+%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
+%py_comp $RPM_BUILD_ROOT%{py_sitedir}
+%py_postclean
-rm -f $RPM_BUILD_ROOT%{_mandir}/man1/avahi-{browse-domains,publish-address,publish-service,resolve-address,resolve-host-name}.1
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/avahi-{browse-domains,publish-address,publish-service,resolve-address,resolve-host-name}.1
+%{?with_gtk:%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/bvnc.1}
echo '.so avahi-browse.1' > $RPM_BUILD_ROOT%{_mandir}/man1/avahi-browse-domains.1
echo '.so avahi-publish.1' > $RPM_BUILD_ROOT%{_mandir}/man1/avahi-publish-address.1
echo '.so avahi-publish.1' > $RPM_BUILD_ROOT%{_mandir}/man1/avahi-publish-service.1
echo '.so avahi-resolve.1' > $RPM_BUILD_ROOT%{_mandir}/man1/avahi-resolve-address.1
echo '.so avahi-resolve.1' > $RPM_BUILD_ROOT%{_mandir}/man1/avahi-resolve-host-name.1
+echo '.so bssh.1' > $RPM_BUILD_ROOT%{_mandir}/man1/bvnc.1
+echo '.so bssh.1' > $RPM_BUILD_ROOT%{_mandir}/man1/bshell.1
+
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
+
+%find_lang %{name}
%clean
rm -rf $RPM_BUILD_ROOT
%groupadd -g 165 -r -f avahi
%useradd -u 165 -r -d /usr/share/empty -s /bin/false -c "Avahi daemon" -g avahi avahi
+%pre autoipd
+%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}-daemon
%service %{name}-daemon restart
/sbin/chkconfig --add %{name}-dnsconfd
%service %{name}-dnsconfd restart
+%systemd_post avahi-daemon.service avahi-dnsconfd.service avahi-daemon.socket
%preun
if [ "$1" = "0" ]; then
%service -q %{name}-daemon stop
/sbin/chkconfig --del %{name}-daemon
fi
+%systemd_preun avahi-daemon.service avahi-dnsconfd.service avahi-daemon.socket
%postun
if [ "$1" = "0" ]; then
- %userremove avahi
+ %userremove avahi
%groupremove avahi
fi
+%systemd_reload
+
+%triggerpostun -- avahi < 0.6.30-7
+%systemd_trigger avahi-daemon.service avahi-dnsconfd.service avahi-daemon.socket
+
+%postun autoipd
+if [ "$1" = "0" ]; then
+ %userremove avahi
+ %groupremove avahi
+fi
+
+%post upstart
+%upstart_post avahi-daemon
+%upstart_post avahi-dnsconfd
+
+%postun upstart
+%upstart_postun avahi-daemon
+%upstart_postun avahi-dnsconfd
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
+%post ui -p /sbin/ldconfig
+%postun ui -p /sbin/ldconfig
+
+%post ui-gtk3 -p /sbin/ldconfig
+%postun ui-gtk3 -p /sbin/ldconfig
+
%post compat-libdns_sd -p /sbin/ldconfig
%postun compat-libdns_sd -p /sbin/ldconfig
%post glib -p /sbin/ldconfig
%postun glib -p /sbin/ldconfig
+%post gobject -p /sbin/ldconfig
+%postun gobject -p /sbin/ldconfig
+
%post qt -p /sbin/ldconfig
%postun qt -p /sbin/ldconfig
%dir %{_sysconfdir}/avahi
%dir %{_sysconfdir}/avahi/services
+%attr(755,root,root) %{_sysconfdir}/avahi/avahi-dnsconfd.action
%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}/avahi/services/sftp-ssh.service
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dbus-1/system.d/*
+%config(noreplace) %verify(not md5 mtime size) /etc/dbus-1/system.d/avahi-dbus.conf
+
+%{systemdunitdir}/avahi-daemon.service
+%{systemdunitdir}/avahi-daemon.socket
+%{systemdunitdir}/avahi-dnsconfd.service
+%{_datadir}/dbus-1/system-services/org.freedesktop.Avahi.service
%attr(755,root,root) %{_bindir}/avahi-set-host-name
%attr(755,root,root) %{_sbindir}/avahi-daemon
%attr(755,root,root) %{_sbindir}/avahi-dnsconfd
-
-%dir %{_datadir}/%{name}
-%dir %{_datadir}/%{name}/introspection
-%{_datadir}/%{name}/introspection/*.introspect
+%dir %{_libdir}/%{name}
+%{_libdir}/%{name}/service-types.db
%{_datadir}/%{name}/avahi-service.dtd
%{_datadir}/%{name}/service-types
-%{_datadir}/%{name}/service-types.db
+%{_datadir}/dbus-1/interfaces/org.freedesktop.Avahi.*.xml
-%{_mandir}/man*/*
+%{_mandir}/man1/avahi-set-host-name.1*
+%{_mandir}/man5/avahi-daemon.conf.5*
+%{_mandir}/man5/avahi.hosts.5*
+%{_mandir}/man5/avahi.service.5*
+%{_mandir}/man8/avahi-daemon.8*
+%{_mandir}/man8/avahi-dnsconfd.8*
+%{_mandir}/man8/avahi-dnsconfd.action.8*
%attr(754,root,root) /etc/rc.d/init.d/%{name}-daemon
%attr(754,root,root) /etc/rc.d/init.d/%{name}-dnsconfd
+%if "%{pld_release}" != "ti"
+%files upstart
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) /etc/init/*.conf
+%endif
+
+%files autoipd
+%defattr(644,root,root,755)
+%dir %{_sysconfdir}/avahi
%attr(755,root,root) %{_sysconfdir}/%{name}/avahi-autoipd.action
+%config(noreplace) %verify(not md5 mtime size) /etc/dhclient-enter-hooks.d/avahi-autoipd
+%config(noreplace) %verify(not md5 mtime size) /etc/dhclient-exit-hooks.d/avahi-autoipd
%attr(755,root,root) %{_sbindir}/avahi-autoipd
+%{_mandir}/man8/avahi-autoipd.8*
+%{_mandir}/man8/avahi-autoipd.action.8*
-%files libs
+%files libs -f %{name}.lang
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libavahi-client.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavahi-client.so.3
%attr(755,root,root) %{_libdir}/libavahi-common.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavahi-common.so.3
%attr(755,root,root) %{_libdir}/libavahi-core.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavahi-core.so.7
+# common for -discover*
+%dir %{_datadir}/%{name}
+%dir %{_datadir}/%{name}/interfaces
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libavahi-client.so
%attr(755,root,root) %{_libdir}/libavahi-common.so
%attr(755,root,root) %{_libdir}/libavahi-core.so
-%{_libdir}/libavahi-client.la
-%{_libdir}/libavahi-common.la
-%{_libdir}/libavahi-core.la
%{_includedir}/avahi-client
%{_includedir}/avahi-common
%{_includedir}/avahi-core
%{_libdir}/libavahi-common.a
%{_libdir}/libavahi-core.a
+%if %{with gtk}
+%files ui
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libavahi-ui.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavahi-ui.so.0
+%if %{without gtk3}
+%attr(755,root,root) %{_bindir}/bshell
+%attr(755,root,root) %{_bindir}/bssh
+%attr(755,root,root) %{_bindir}/bvnc
+%{_mandir}/man1/bshell.1*
+%{_mandir}/man1/bssh.1*
+%{_mandir}/man1/bvnc.1*
+%{_desktopdir}/bssh.desktop
+%{_desktopdir}/bvnc.desktop
+%endif
+
+%files ui-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libavahi-ui.so
+%{_pkgconfigdir}/avahi-ui.pc
+
+%files ui-static
+%defattr(644,root,root,755)
+%{_libdir}/libavahi-ui.a
+%endif
+
+%if %{with gtk} || %{with gtk3}
+%files ui-devel-common
+%defattr(644,root,root,755)
+%{_includedir}/avahi-ui
+%endif
+
+%if %{with gtk3}
+%files ui-gtk3
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/bshell
+%attr(755,root,root) %{_bindir}/bssh
+%attr(755,root,root) %{_bindir}/bvnc
+%attr(755,root,root) %{_libdir}/libavahi-ui-gtk3.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavahi-ui-gtk3.so.0
+%{_mandir}/man1/bshell.1*
+%{_mandir}/man1/bssh.1*
+%{_mandir}/man1/bvnc.1*
+%{_desktopdir}/bssh.desktop
+%{_desktopdir}/bvnc.desktop
+
+%files ui-gtk3-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libavahi-ui-gtk3.so
+%{_pkgconfigdir}/avahi-ui-gtk3.pc
+
+%files ui-gtk3-static
+%defattr(644,root,root,755)
+%{_libdir}/libavahi-ui-gtk3.a
+%endif
+
%files compat-libdns_sd
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libdns_sd.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdns_sd.so.1
%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-howl
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libhowl.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libhowl.so.0
%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 -n dotnet-avahi-devel
%defattr(644,root,root,755)
-%{_libdir}/monodoc/sources/avahi-*
%{_prefix}/lib/mono/avahi-sharp
+%{_prefix}/lib/monodoc/sources/avahi-sharp-docs.*
%{_pkgconfigdir}/avahi-sharp.pc
+
+%files -n dotnet-avahi-ui
+%defattr(644,root,root,755)
+%{_prefix}/lib/mono/gac/avahi-ui-sharp
+
+%files -n dotnet-avahi-ui-devel
+%defattr(644,root,root,755)
+%{_prefix}/lib/mono/avahi-ui-sharp
+%{_prefix}/lib/monodoc/sources/avahi-ui-sharp-docs.*
+%{_pkgconfigdir}/avahi-ui-sharp.pc
%endif
%files glib
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libavahi-glib.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavahi-glib.so.1
%files glib-devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libavahi-glib.so
-%{_libdir}/libavahi-glib.la
%{_includedir}/avahi-glib
%{_pkgconfigdir}/avahi-glib.pc
%defattr(644,root,root,755)
%{_libdir}/libavahi-glib.a
+%files gobject
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libavahi-gobject.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavahi-gobject.so.0
+%{_libdir}/girepository-1.0/Avahi-0.6.typelib
+%{_libdir}/girepository-1.0/AvahiCore-0.6.typelib
+
+%files gobject-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libavahi-gobject.so
+%{_includedir}/avahi-gobject
+%{_pkgconfigdir}/avahi-gobject.pc
+%{_datadir}/gir-1.0/Avahi-0.6.gir
+%{_datadir}/gir-1.0/AvahiCore-0.6.gir
+
+%files gobject-static
+%defattr(644,root,root,755)
+%{_libdir}/libavahi-gobject.a
+
%if %{with qt3}
%files qt
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libavahi-qt3.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavahi-qt3.so.1
%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 Qt
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libavahi-qt4.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libavahi-qt4.so.1
%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 bookmarks
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/avahi-bookmarks
+%{_mandir}/man1/avahi-bookmarks.1*
+%if %{with pygtk}
%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
-%{_desktopdir}/*.desktop
+%{py_sitedir}/avahi_discover
+%{_datadir}/%{name}/interfaces/avahi-discover.ui
+%{_desktopdir}/avahi-discover.desktop
%{_pixmapsdir}/avahi.png
+%{_mandir}/man1/avahi-discover.1*
+%endif
+%if %{with gtk}
%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
+%endif
%files utils
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/avahi-browse
+%attr(755,root,root) %{_bindir}/avahi-browse-domains
%attr(755,root,root) %{_bindir}/avahi-publish
+%attr(755,root,root) %{_bindir}/avahi-publish-address
+%attr(755,root,root) %{_bindir}/avahi-publish-service
%attr(755,root,root) %{_bindir}/avahi-resolve
+%attr(755,root,root) %{_bindir}/avahi-resolve-address
+%attr(755,root,root) %{_bindir}/avahi-resolve-host-name
+%{_mandir}/man1/avahi-browse.1*
+%{_mandir}/man1/avahi-browse-domains.1*
+%{_mandir}/man1/avahi-publish.1*
+%{_mandir}/man1/avahi-publish-address.1*
+%{_mandir}/man1/avahi-publish-service.1*
+%{_mandir}/man1/avahi-resolve.1*
+%{_mandir}/man1/avahi-resolve-address.1*
+%{_mandir}/man1/avahi-resolve-host-name.1*