#
+# TODO:
+# - finish with_apidocs
+# - introspection files
+# - dbus files
+#
# 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
Summary: Free mDNS/DNS-SD/Zeroconf implementation
Summary(pl.UTF-8): Wolna implementacja mDNS/DNS-SD/Zeroconf
Name: avahi
-Version: 0.6.25
+Version: 0.6.28
Release: 7
License: LGPL v2.1+
Group: Applications
Source0: http://avahi.org/download/%{name}-%{version}.tar.gz
-# Source0-md5: a83155a6e29e3988f07e5eea3287b21e
+# Source0-md5: d0143a5aa3265019072e53ab497818d0
Source1: %{name}-daemon
Source2: %{name}-dnsconfd
Source3: %{name}.png
Patch5: %{name}-dhclient_hooks.patch
Patch6: %{name}-autoipd-sbin_ip.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.11
-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: 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: rpm-pythonprov
Requires(post,preun): /sbin/chkconfig
Requires: %{name}-libs = %{version}-%{release}
Requires: dbus >= 0.92
-Requires: libdaemon >= 0.11
+Requires: libdaemon >= 0.14
Requires: rc-scripts >= 0.4.3
Suggests: nss_mdns >= 0.10-2
Provides: group(avahi)
Summary(pl.UTF-8): Biblioteka Avahi UI
Group: X11/Libraries
Requires: %{name}-libs = %{version}-%{release}
-Requires: gtk+2 >= 2:2.10.2
+Requires: gtk+2 >= 2:2.14.0
%description ui
Common GTK+ UI support library for Avahi.
Group: X11/Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
Requires: %{name}-ui = %{version}-%{release}
-Requires: gtk+2-devel >= 2:2.10.2
+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-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
%package bookmarks
Summary: Miniature web server
-Summary(pl.UTF-8): Miniaturowy serwer web
+Summary(pl.UTF-8): Miniaturowy serwer WWW
Group: Applications
%description bookmarks
%{__autoheader}
%{__automake}
%configure \
+ --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} \
%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},bvnc}.1
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/{avahi-{browse-domains,publish-address,publish-service,resolve-address,resolve-host-name},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}
%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
%attr(755,root,root) %{_sbindir}/avahi-daemon
%attr(755,root,root) %{_sbindir}/avahi-dnsconfd
-
-%dir %{_datadir}/%{name}/introspection
-%{_datadir}/%{name}/introspection/*.introspect
-%{_datadir}/%{name}/avahi-service.dtd
-%{_datadir}/%{name}/service-types
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/service-types.db
+#%%dir %{_datadir}/%{name}/introspection
+#%%{_datadir}/%{name}/introspection/*.introspect
+%{_datadir}/%{name}/avahi-service.dtd
+%{_datadir}/%{name}/service-types
+%{_datadir}/dbus-1/interfaces/org.freedesktop.Avahi.*.xml
%{_mandir}/man1/avahi-set-host-name.1*
%{_mandir}/man5/avahi-daemon.conf.5*
%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
-%dir %{_sysconfdir}/dhclient-enter-hooks.d
%config(noreplace) %verify(not md5 mtime size) /etc/dhclient-enter-hooks.d/avahi-autoipd
-%dir %{_sysconfdir}/dhclient-exit-hooks.d
%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*
%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.6
+%attr(755,root,root) %ghost %{_libdir}/libavahi-core.so.7
# common for -discover*
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/interfaces
%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
-%attr(755,root,root) %{_libdir}/libavahi-ui.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavahi-ui.so.0
+%{_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
-%{_libdir}/libavahi-ui.la
-%{_includedir}/avahi-ui
%{_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)
%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-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 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)
%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
-%{_libdir}/libavahi-gobject.la
%{_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)
%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-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
%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
%{py_sitedir}/avahi_discover
-%{_datadir}/%{name}/interfaces/avahi-discover.glade
+%{_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
%{_datadir}/%{name}/interfaces/avahi-discover-standalone.glade
+%endif
%files utils
%defattr(644,root,root,755)