diff --git a/avahi-0.6.31-no_Werror.patch b/avahi-0.6.31-no_Werror.patch new file mode 100644 index 0000000..24904c8 --- /dev/null +++ b/avahi-0.6.31-no_Werror.patch @@ -0,0 +1,13 @@ +diff -up avahi-0.6.31/configure.ac.no_Werror avahi-0.6.31/configure.ac +--- avahi-0.6.31/configure.ac.no_Werror 2012-02-14 15:44:25.484742099 -0600 ++++ avahi-0.6.31/configure.ac 2013-09-20 22:12:40.021968172 -0500 +@@ -92,7 +92,7 @@ if test x"$enable_ssp" = x"yes"; then + AC_MSG_CHECKING([whether stack-smashing protection is available]) + ssp_old_cflags="$CFLAGS" + ssp_old_ldflags="$LDFLAGS" +- CFLAGS="$CFLAGS -Werror -fstack-protector-all -fPIC" ++ CFLAGS="$CFLAGS -fstack-protector-all -fPIC" + LDFLAGS="$LDFLAGS -Wl,-z,defs" + cat confdefs.h > conftest.c + cat >>conftest.c <<_ACEOF +diff -up avahi-0.6.31/configure.no_Werror avahi-0.6.31/configure diff --git a/avahi.spec b/avahi.spec index de02c8c..4d590d2 100644 --- a/avahi.spec +++ b/avahi.spec @@ -11,9 +11,12 @@ # http://bugzilla.redhat.com/1008395 - no hardened build %global _hardened_build 1 +# trim changelog included in binary rpms +%global _changelog_trimtime %(date +%s -d "1 year ago") + Name: avahi Version: 0.6.31 -Release: 16%{?dist} +Release: 17%{?dist} Summary: Local network service discovery License: LGPLv2+ URL: http://avahi.org @@ -26,7 +29,7 @@ Requires(pre): shadow-utils Requires(pre): coreutils Requires(pre): /usr/bin/getent Requires(pre): /usr/sbin/groupadd -Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} BuildRequires: automake BuildRequires: libtool BuildRequires: dbus-devel >= 0.90 @@ -64,6 +67,8 @@ Patch0: avahi-0.6.30-mono-libdir.patch # Fix/workaround gtkstock.h deprecation Patch1: avahi-0.6.31-gtkstock_deprecated.patch +# drop -Werror +Patch2: avahi-0.6.31-no_Werror.patch %description Avahi is a system which facilitates service discovery on @@ -77,7 +82,7 @@ convenient. %package tools Summary: Command line tools for mDNS browsing and publishing Requires: %{name} = %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description tools Command line tools that use avahi to browse and publish mDNS services. @@ -85,9 +90,9 @@ Command line tools that use avahi to browse and publish mDNS services. %package ui-tools Summary: UI tools for mDNS browsing Requires: %{name} = %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} -Requires: %{name}-glib = %{version}-%{release} -Requires: %{name}-ui-gtk3 = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-glib%{?_isa} = %{version}-%{release} +Requires: %{name}-ui-gtk3%{?_isa} = %{version}-%{release} Requires: vnc Requires: openssh-clients Requires: pygtk2 @@ -101,18 +106,15 @@ Graphical user interface tools that use Avahi to browse for mDNS services. %package glib Summary: Glib libraries for avahi -Conflicts: %{name} < %{version}-%{release} -Conflicts: %{name} > %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description glib Libraries for easy use of avahi from glib applications. %package glib-devel Summary: Libraries and header files for avahi glib development -Requires: %{name}-libs = %{version}-%{release} -Requires: %{name}-devel = %{version}-%{release} -Requires: %{name}-glib = %{version}-%{release} +Requires: %{name}-glib%{?_isa} = %{version}-%{release} +#Requires: %{name}-devel = %{version}-%{release} Requires: glib2-devel %description glib-devel @@ -121,21 +123,16 @@ necessary for developing programs using avahi with glib. %package gobject Summary: GObject wrapper library for Avahi -Conflicts: %{name} < %{version}-%{release} -Conflicts: %{name} > %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} -Requires: %{name}-glib = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-glib%{?_isa} = %{version}-%{release} %description gobject This library contains a GObject wrapper for the Avahi API %package gobject-devel Summary: Libraries and header files for Avahi GObject development -Requires: %{name}-libs = %{version}-%{release} -Requires: %{name}-devel = %{version}-%{release} -Requires: %{name}-glib = %{version}-%{release} -Requires: %{name}-glib-devel = %{version}-%{release} -Requires: %{name}-gobject = %{version}-%{release} +Requires: %{name}-gobject%{?_isa} = %{version}-%{release} +#Requires: %{name}-glib-devel = %{version}-%{release} %description gobject-devel The avahi-gobject-devel package contains the header files and libraries @@ -143,10 +140,8 @@ necessary for developing programs using avahi-gobject. %package ui Summary: Gtk user interface library for Avahi (Gtk+ 2 version) -Conflicts: %{name} < %{version}-%{release} -Conflicts: %{name} > %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} -Requires: %{name}-glib = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-glib%{?_isa} = %{version}-%{release} Requires: gtk2 %description ui @@ -154,10 +149,8 @@ This library contains a Gtk 2.x widget for browsing services. %package ui-gtk3 Summary: Gtk user interface library for Avahi (Gtk+ 3 version) -Conflicts: %{name} < %{version}-%{release} -Conflicts: %{name} > %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} -Requires: %{name}-glib = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-glib%{?_isa} = %{version}-%{release} Requires: gtk3 %description ui-gtk3 @@ -165,12 +158,9 @@ This library contains a Gtk 3.x widget for browsing services. %package ui-devel Summary: Libraries and header files for Avahi UI development -Requires: %{name}-libs = %{version}-%{release} -Requires: %{name}-devel = %{version}-%{release} -Requires: %{name}-glib = %{version}-%{release} -Requires: %{name}-glib-devel = %{version}-%{release} -Requires: %{name}-ui = %{version}-%{release} -Requires: %{name}-ui-gtk3 = %{version}-%{release} +Requires: %{name}-ui%{?_isa} = %{version}-%{release} +Requires: %{name}-ui-gtk3%{?_isa} = %{version}-%{release} +#Requires: %{name}-glib-devel = %{version}-%{release} %description ui-devel The avahi-ui-devel package contains the header files and libraries @@ -178,19 +168,15 @@ necessary for developing programs using avahi-ui. %package qt3 Summary: Qt3 libraries for avahi -Conflicts: %{name} < %{version}-%{release} -Conflicts: %{name} > %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description qt3 Libraries for easy use of avahi from Qt3 applications. %package qt3-devel Summary: Libraries and header files for avahi Qt3 development -Requires: %{name}-libs = %{version}-%{release} -Requires: %{name}-devel = %{version}-%{release} -Requires: %{name}-qt3 = %{version}-%{release} -Requires: qt3-devel +Requires: %{name}-qt3%{?_isa} = %{version}-%{release} +#Requires: %{name}-devel = %{version}-%{release} %description qt3-devel The avahi-qt3-devel package contains the header files and libraries @@ -198,19 +184,15 @@ necessary for developing programs using avahi with Qt3. %package qt4 Summary: Qt4 libraries for avahi -Conflicts: %{name} < %{version}-%{release} -Conflicts: %{name} > %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description qt4 Libraries for easy use of avahi from Qt4 applications. %package qt4-devel Summary: Libraries and header files for avahi Qt4 development -Requires: %{name}-libs = %{version}-%{release} -Requires: %{name}-devel = %{version}-%{release} -Requires: %{name}-qt4 = %{version}-%{release} -Requires: qt4-devel +Requires: %{name}-qt4%{?_isa} = %{version}-%{release} +#Requires: %{name}-devel = %{version}-%{release} %description qt4-devel Th avahi-qt4-devel package contains the header files and libraries @@ -220,9 +202,7 @@ necessary for developing programs using avahi with Qt4. %package sharp Summary: Mono language bindings for avahi mono development Requires: mono-core >= 1.1.13 -Conflicts: %{name} < %{version}-%{release} -Conflicts: %{name} > %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description sharp The avahi-sharp package contains the files needed to develop @@ -230,11 +210,9 @@ mono programs that use avahi. %package ui-sharp Summary: Mono language bindings for avahi-ui -Conflicts: %{name} < %{version}-%{release} -Conflicts: %{name} > %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} -Requires: %{name}-ui = %{version}-%{release} -Requires: %{name}-sharp = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-ui%{?_isa} = %{version}-%{release} +Requires: %{name}-sharp%{?_isa} = %{version}-%{release} Requires: mono-core >= 1.1.13 Requires: gtk-sharp2 BuildRequires: gtk-sharp2-devel @@ -245,8 +223,7 @@ Mono programs that use avahi-ui. %package ui-sharp-devel Summary: Mono language bindings for developing with avahi-ui -Requires: %{name}-libs = %{version}-%{release} -Requires: %{name}-ui-sharp = %{version}-%{release} +Requires: %{name}-ui-sharp%{?_isa} = %{version}-%{release} %description ui-sharp-devel The avahi-sharp-ui-devel package contains the files needed to develop @@ -255,9 +232,10 @@ Mono programs that use avahi-ui. %package libs Summary: Libraries for avahi run-time use +# http://bugzilla.redhat.com/913168 +%if 0%{?fedora} < 21 Requires: %{name} = %{version}-%{release} -Conflicts: %{name} < %{version}-%{release} -Conflicts: %{name} > %{version}-%{release} +%endif %description libs The avahi-libs package contains the libraries needed @@ -265,8 +243,7 @@ to run programs that use avahi. %package devel Summary: Libraries and header files for avahi development -Requires: %{name}-libs = %{version}-%{release} -Requires: pkgconfig +Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description devel The avahi-devel package contains the header files and libraries @@ -275,9 +252,7 @@ necessary for developing programs using avahi. %if %{WITH_COMPAT_HOWL} %package compat-howl Summary: Libraries for howl compatibility -Conflicts: %{name} < %{version}-%{release} -Conflicts: %{name} > %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} Obsoletes: howl-libs Provides: howl-libs @@ -286,9 +261,8 @@ Libraries that are compatible with those provided by the howl package. %package compat-howl-devel Summary: Header files for development with the howl compatibility libraries -Requires: %{name}-libs = %{version}-%{release} -Requires: %{name}-devel = %{version}-%{release} -Requires: %{name}-compat-howl = %{version}-%{release} +Requires: %{name}-compat-howl%{?_isa} = %{version}-%{release} +#Requires: %{name}-devel = %{version}-%{release} Obsoletes: howl-devel Provides: howl-devel @@ -299,18 +273,15 @@ Header files for development with the howl compatibility libraries. %if %{WITH_COMPAT_DNSSD} %package compat-libdns_sd Summary: Libraries for Apple Bonjour mDNSResponder compatibility -Conflicts: %{name} < %{version}-%{release} -Conflicts: %{name} > %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description compat-libdns_sd Libraries for Apple Bonjour mDNSResponder compatibility. %package compat-libdns_sd-devel Summary: Header files for the Apple Bonjour mDNSResponder compatibility libraries -Requires: %{name}-libs = %{version}-%{release} -Requires: %{name}-devel = %{version}-%{release} -Requires: %{name}-compat-libdns_sd = %{version}-%{release} +Requires: %{name}-compat-libdns_sd%{?_isa} = %{version}-%{release} +#Requires: %{name}-devel = %{version}-%{release} %description compat-libdns_sd-devel Header files for development with the Apple Bonjour mDNSResponder compatibility @@ -320,9 +291,7 @@ libraries. %package autoipd Summary: Link-local IPv4 address automatic configuration daemon (IPv4LL) Requires(pre): shadow-utils -Conflicts: %{name} < %{version}-%{release} -Conflicts: %{name} > %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description autoipd avahi-autoipd implements IPv4LL, "Dynamic Configuration of IPv4 @@ -334,7 +303,7 @@ lack a DHCP server. %package dnsconfd Summary: Configure local unicast DNS settings based on information published in mDNS Requires: %{name} = %{version}-%{release} -Requires: %{name}-libs = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description dnsconfd avahi-dnsconfd connects to a running avahi-daemon and runs the script @@ -345,7 +314,13 @@ fashion with mDNS. %prep %setup -q %patch0 -p1 -b .mono-libdir +%if 0%{?fedora} > 20 %patch1 -p1 -b .gtkstock_deprecated +%endif +%patch2 -p1 -b .no_Werror + +# patch2 requires autogen +NOCONFIGURE=1 ./autogen.sh %build %configure \ @@ -372,43 +347,43 @@ make %{?_smp_mflags} V=1 %install %make_install -/usr/bin/find %{buildroot} \( -name '*.a' -o -name '*.la' \) -exec rm {} \; +find %{buildroot} \( -name '*.a' -o -name '*.la' \) -exec rm {} \; # remove example -/usr/bin/rm -f %{buildroot}%{_sysconfdir}/avahi/services/ssh.service -/usr/bin/rm -f %{buildroot}%{_sysconfdir}/avahi/services/sftp-ssh.service +rm -fv %{buildroot}%{_sysconfdir}/avahi/services/ssh.service +rm -fv %{buildroot}%{_sysconfdir}/avahi/services/sftp-ssh.service # create /var/run/avahi-daemon to ensure correct selinux policy for it: -/usr/bin/mkdir -p %{buildroot}%{_localstatedir}/run/avahi-daemon -/usr/bin/mkdir -p %{buildroot}%{_localstatedir}/lib/avahi-autoipd +mkdir -p %{buildroot}%{_localstatedir}/run/avahi-daemon +mkdir -p %{buildroot}%{_localstatedir}/lib/avahi-autoipd # remove the documentation directory - let % doc handle it: -/usr/bin/rm -rf %{buildroot}%{_datadir}/%{name}-%{version} +rm -rfv %{buildroot}%{_datadir}/%{name}-%{version} # Make /etc/avahi/etc/localtime owned by avahi: -/usr/bin/mkdir -p %{buildroot}/etc/avahi/etc -/usr/bin/touch %{buildroot}/etc/avahi/etc/localtime +mkdir -p %{buildroot}/etc/avahi/etc +touch %{buildroot}/etc/avahi/etc/localtime # fix bug 197414 - add missing symlinks for avahi-compat-howl and avahi-compat-dns-sd %if %{WITH_COMPAT_HOWL} -/usr/bin/ln -s avahi-compat-howl.pc %{buildroot}/%{_libdir}/pkgconfig/howl.pc +ln -s avahi-compat-howl.pc %{buildroot}/%{_libdir}/pkgconfig/howl.pc %endif %if %{WITH_COMPAT_DNSSD} -/usr/bin/ln -s avahi-compat-libdns_sd.pc %{buildroot}/%{_libdir}/pkgconfig/libdns_sd.pc -/usr/bin/ln -s avahi-compat-libdns_sd/dns_sd.h %{buildroot}/%{_includedir}/ +ln -s avahi-compat-libdns_sd.pc %{buildroot}/%{_libdir}/pkgconfig/libdns_sd.pc +ln -s avahi-compat-libdns_sd/dns_sd.h %{buildroot}/%{_includedir}/ %endif -/usr/bin/rm -f %{buildroot}%{_sysconfdir}/rc.d/init.d/avahi-daemon -/usr/bin/rm -f %{buildroot}%{_sysconfdir}/rc.d/init.d/avahi-dnsconfd +rm -fv %{buildroot}%{_sysconfdir}/rc.d/init.d/avahi-daemon +rm -fv %{buildroot}%{_sysconfdir}/rc.d/init.d/avahi-dnsconfd %find_lang %{name} %pre -/usr/bin/getent group avahi >/dev/null 2>&1 || /usr/sbin/groupadd \ +getent group avahi >/dev/null 2>&1 || groupadd \ -r \ -g 70 \ avahi >/dev/null 2>&1 || : -/usr/bin/getent passwd avahi >/dev/null 2>&1 || /usr/sbin/useradd \ +getent passwd avahi >/dev/null 2>&1 || useradd \ -r -l \ -u 70 \ -g avahi \ @@ -438,11 +413,11 @@ fi /usr/bin/systemctl try-restart avahi-daemon.service >/dev/null 2>&1 || : %pre autoipd -/usr/bin/getent group avahi-autoipd >/dev/null 2>&1 || /usr/sbin/groupadd \ +getent group avahi-autoipd >/dev/null 2>&1 || groupadd \ -r \ -g 170 \ avahi-autoipd >/dev/null 2>&1 || : -/usr/bin/getent passwd avahi-autoipd >/dev/null 2>&1 || /usr/sbin/useradd \ +getent passwd avahi-autoipd >/dev/null 2>&1 || useradd \ -r -l \ -u 170 \ -g avahi-autoipd \ @@ -563,6 +538,7 @@ fi %{_libdir}/pkgconfig/avahi-client.pc %files libs +%doc README LICENSE %{_libdir}/libavahi-common.so.* %{_libdir}/libavahi-client.so.* @@ -653,6 +629,14 @@ fi %endif %changelog +* Fri Sep 20 2013 Rex Dieter - 0.6.31-17 +- -libs: %%doc README LICENSE +- drop some explicit -devel deps, rely on automatic pkgconfig deps +- drop -Werror compiler flag +- cleanup/tighten subpkg deps +- trim changelog +- avahi-libs should not require avahi, f21+ (#913168) + * Thu Sep 19 2013 Rex Dieter 0.6.31-16 - no hardened build (#1008395)