#
# TODO:
# - finish with_apidocs
-# - check BRs for gtk+3
-# - make gtk3 bcond enabled by default when gtk+3 will be stable
# - 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_with gtk3 # build without GTK+3
+%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
Summary: Free mDNS/DNS-SD/Zeroconf implementation
Summary(pl.UTF-8): Wolna implementacja mDNS/DNS-SD/Zeroconf
Name: avahi
-Version: 0.6.26
+Version: 0.6.30
Release: 1
License: LGPL v2.1+
Group: Applications
Source0: http://avahi.org/download/%{name}-%{version}.tar.gz
-# Source0-md5: 2b2b1899fcec5ae74e92f111598913a1
+# Source0-md5: e4db89a2a403ff4c47d66ac66fad1f43
Source1: %{name}-daemon
Source2: %{name}-dnsconfd
Source3: %{name}.png
Patch4: nss-mdns-package.patch
Patch5: %{name}-dhclient_hooks.patch
Patch6: %{name}-autoipd-sbin_ip.patch
-Patch7: %{name}-gtk_detect.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
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: gtk+2-devel >= 2:2.10.2
-BuildRequires: libglade2-devel >= 1:2.6.0
+BuildRequires: gtk+2-devel >= 2:2.14.0
%endif
%if %{with gtk3}
-BuildRequires: glib2-devel
-BuildRequires: gtk+3-devel
-BuildRequires: libglade2-devel
+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: libdaemon-devel >= 0.14
BuildRequires: libtool
%if %{with dotnet}
BuildRequires: dotnet-gtk-sharp2-devel >= 2.10
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
%patch4 -p1
%patch5 -p1
%patch6 -p1
-%patch7 -p1
%build
%{__intltoolize}
%{__autoheader}
%{__automake}
%configure \
+ --disable-silent-rules \
--enable-compat-libdns_sd \
--enable-compat-howl \
--with-distro=none \
%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}.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}
%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 %{_libdir}/%{name}
+%{_libdir}/%{name}/service-types.db
#%%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
+%{_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-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
%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
%{_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.*.*.*
%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