Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package avahi for openSUSE:Factory checked in at 2025-07-26 13:40:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/avahi (Old) and /work/SRC/openSUSE:Factory/.avahi.new.13279 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "avahi" Sat Jul 26 13:40:04 2025 rev:173 rq:1295695 version:0.8 Changes: -------- --- /work/SRC/openSUSE:Factory/avahi/avahi.changes 2025-05-27 18:51:40.172497061 +0200 +++ /work/SRC/openSUSE:Factory/.avahi.new.13279/avahi.changes 2025-07-26 13:40:19.682790453 +0200 @@ -1,0 +2,8 @@ +Fri May 30 09:51:51 UTC 2025 - Antonio Larrosa <alarr...@suse.com> + +- Add patch submitted to upstream at + to enable building with Qt6 and add that flavor: + 0001-Enable-building-with-Qt6.patch +- Disable building the Qt5 flavor in SLE16. + +------------------------------------------------------------------- New: ---- 0001-Enable-building-with-Qt6.patch ----------(New B)---------- New: to enable building with Qt6 and add that flavor: 0001-Enable-building-with-Qt6.patch - Disable building the Qt5 flavor in SLE16. ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ avahi.spec ++++++ --- /var/tmp/diff_new_pack.jyESBn/_old 2025-07-26 13:40:20.646830070 +0200 +++ /var/tmp/diff_new_pack.jyESBn/_new 2025-07-26 13:40:20.646830070 +0200 @@ -19,25 +19,39 @@ %define _name avahi %global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "qt6" +%global psuffix -qt6 +%global build_qt6 1 +%global build_qt5 0 +%global build_glib2 0 +%global build_core 0 +%else %if "%{flavor}" == "qt5" %global psuffix -qt5 +%global build_qt6 0 %global build_qt5 1 %global build_glib2 0 %global build_core 0 +%if 0%{suse_version} == 1600 && ! 0%{?is_openSUSE} +ExclusiveArch: donotbuild +%endif %else %if "%{flavor}" == "glib2" %global psuffix -glib2 # NOTE: build_glib2 also controls build of gobject, gtk3 and pygobject code. +%global build_qt6 0 %global build_qt5 0 %global build_glib2 1 %global build_core 0 %else %global psuffix %{nil} +%global build_qt6 0 %global build_qt5 0 %global build_glib2 0 %global build_core 1 %endif %endif +%endif %define avahi_client_sover 3 %define avahi_common_sover 3 %define avahi_core_sover 7 @@ -48,6 +62,7 @@ %define avahi_gobject_sover 0 %define avahi_gtk3_sover 0 %define avahi_qt5_sover 1 +%define avahi_qt6_sover 1 %if %{build_glib2} %define debug_package_requires libavahi-ui%{avahi_ui_sover} = %{version}-%{release} %endif @@ -116,6 +131,8 @@ Patch36: avahi-filter-bogus-services.patch # PATCH-FIX-UPSTREAM avahi-CVE-2024-52616.patch CVE-2024-52616 bsc#1233420 qz...@suse.com -- Properly randomize query id of DNS packets. Patch37: avahi-CVE-2024-52616.patch +# PATCH-FIX-UPSTREAM 0001-Enable-building-with-Qt6.patch alarr...@suse.com -- Port to build with qt6 (https://github.com/avahi/avahi/pull/704) +Patch38: 0001-Enable-building-with-Qt6.patch BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: gdbm-devel @@ -158,6 +175,12 @@ BuildRequires: pkgconfig(Qt5Core) Requires: libavahi-client%{avahi_client_sover} >= %{version} %endif +%if %{build_qt6} +BuildRequires: dbus-1-devel +BuildRequires: libavahi-devel = %{version} +BuildRequires: pkgconfig(Qt6Core) +Requires: libavahi-client%{avahi_client_sover} >= %{version} +%endif BuildRequires: python-rpm-macros %if %{build_core} BuildRequires: %{python_module dbm} @@ -424,8 +447,13 @@ Avahi is an implementation of the DNS Service Discovery and Multicast DNS specifications for Zeroconf Computing. -# This is the avahi-discover command, only provided for the primary python3 flavor + + + + + +# This is the avahi-discover command, only provided for the primary python3 flavor %package -n python3-avahi-gtk Summary: A set of Avahi utilities written in Python Using python-gtk Group: Development/Languages/Python @@ -498,6 +526,30 @@ specifications for Zeroconf Computing. %endif +%if %{build_qt6} +%package -n libavahi-qt6-%{avahi_qt6_sover} +Summary: Qt6 Bindings for avahi, the D-Bus Service for Zeroconf and Bonjour +Group: System/Libraries + +%description -n libavahi-qt6-%{avahi_qt6_sover} +Qt6 support for Avahi. + +Avahi is an implementation of the DNS Service Discovery and Multicast DNS +specifications for Zeroconf Computing. + +%package -n libavahi-qt6-devel +Summary: Header files for Avahi's Qt6 bindings +Group: Development/Libraries/C and C++ +Requires: libavahi-devel = %{version} +Requires: libavahi-qt6-%{avahi_qt6_sover} = %{version} + +%description -n libavahi-qt6-devel +Development files for the Qt6 support for Avahi. + +Avahi is an implementation of the DNS Service Discovery and Multicast DNS +specifications for Zeroconf Computing. +%endif + %prep %setup -q -n %{_name}-%{version} cp -a %{SOURCE5} sysconfig.avahi @@ -562,6 +614,11 @@ %else --disable-qt5\ %endif +%if %{build_qt6} + --enable-qt6\ +%else + --disable-qt6\ +%endif %ifarch ppc64 ppc64le s390x --disable-monodoc\ %endif @@ -597,7 +654,7 @@ done cd - %endif -%if %{build_qt5} && !%{build_core} +%if (%{build_qt5} || %{build_qt6}) && !%{build_core} cd avahi-qt %endif %make_install @@ -717,6 +774,9 @@ %if %{build_qt5} %ldconfig_scriptlets -n libavahi-qt5-%{avahi_qt5_sover} %endif +%if %{build_qt6} +%ldconfig_scriptlets -n libavahi-qt6-%{avahi_qt6_sover} +%endif %post -n python3-avahi-gtk %desktop_database_post @@ -923,3 +983,14 @@ %{_libdir}/pkgconfig/avahi-qt5.pc %endif +%if %{build_qt6} +%files -n libavahi-qt6-%{avahi_qt6_sover} +%{_libdir}/libavahi-qt6.so.* + +%files -n libavahi-qt6-devel +%{_includedir}/avahi-qt6 +%{_libdir}/libavahi-qt6.*a +%{_libdir}/libavahi-qt6.so +%{_libdir}/pkgconfig/avahi-qt6.pc +%endif + ++++++ 0001-Enable-building-with-Qt6.patch ++++++ >From fdc30aff1e72ba22aff11e2d9c0ab486ba63d1a6 Mon Sep 17 00:00:00 2001 From: Antonio Larrosa <antonio.larr...@gmail.com> Date: Fri, 30 May 2025 11:42:02 +0200 Subject: [PATCH] Enable building with Qt6 --- Makefile.am | 10 ++++++++ acinclude.m4 | 2 +- avahi-qt/Makefile.am | 22 +++++++++++++++++ avahi-qt/qt-watch.cpp | 10 ++++---- avahi-qt6.pc.in | 11 +++++++++ common/qt-pie.m4 | 55 +++++++++++++++++++++++++++++++++++++++++++ common/qt5-pie.m4 | 27 --------------------- configure.ac | 31 +++++++++++++++++++++++- 8 files changed, 135 insertions(+), 33 deletions(-) create mode 100644 avahi-qt6.pc.in create mode 100644 common/qt-pie.m4 delete mode 100644 common/qt5-pie.m4 diff --git a/Makefile.am b/Makefile.am index 352cdcf25..3df371ad3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -45,6 +45,7 @@ EXTRA_DIST = \ avahi-qt3.pc.in \ avahi-qt4.pc.in \ avahi-qt5.pc.in \ + avahi-qt6.pc.in \ avahi-sharp.pc.in \ avahi-ui-sharp.pc.in \ avahi-compat-libdns_sd.pc.in \ @@ -108,6 +109,10 @@ if HAVE_QT5 DX_INPUT += \ $(srcdir)/avahi-qt/qt-watch.h endif +if HAVE_QT6 +DX_INPUT += \ + $(srcdir)/avahi-qt/qt-watch.h +endif endif if HAVE_GLIB @@ -236,6 +241,11 @@ pkgconfig_DATA += avahi-qt5.pc CLEANFILES += avahi-qt5.pc endif +if HAVE_QT6 +pkgconfig_DATA += avahi-qt6.pc +CLEANFILES += avahi-qt6.pc +endif + if HAVE_LIBEVENT pkgconfig_DATA += avahi-libevent.pc CLEANFILES += avahi-libevent.pc diff --git a/acinclude.m4 b/acinclude.m4 index ccf2ac616..ac922456e 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1,2 +1,2 @@ sinclude(common/doxygen.m4) -sincldue(common/qt5-pie.m4) +sincldue(common/qt-pie.m4) diff --git a/avahi-qt/Makefile.am b/avahi-qt/Makefile.am index b404810f7..78069b56c 100644 --- a/avahi-qt/Makefile.am +++ b/avahi-qt/Makefile.am @@ -87,4 +87,26 @@ libavahi_qt5_la_LIBADD = $(AM_LDADD) ../avahi-common/libavahi-common.la $(QT5_LI libavahi_qt5_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LIBAVAHI_QT5_VERSION_INFO) endif +if HAVE_QT6 + +avahiqt6includedir=$(includedir)/avahi-qt6 +avahiqt6include_HEADERS = \ + qt-watch.h + +lib_LTLIBRARIES += \ + libavahi-qt6.la + +BUILT_SOURCES += qt-watch.moc6 + +libavahi_qt6_la_SOURCES = \ + qt-watch.cpp + +qt-watch.moc6: qt-watch.cpp + $(AM_V_GEN)$(MOC_QT6) $^ > $@ + +libavahi_qt6_la_CPPFLAGS = $(AM_CFLAGS) --std=gnu++17 $(QT6_CFLAGS) -DQT6 $(VISIBILITY_HIDDEN_CFLAGS) +libavahi_qt6_la_LIBADD = $(AM_LDADD) ../avahi-common/libavahi-common.la $(QT6_LIBS) +libavahi_qt6_la_LDFLAGS = $(AM_LDFLAGS) -version-info $(LIBAVAHI_QT6_VERSION_INFO) +endif + CLEANFILES = $(BUILT_SOURCES) diff --git a/avahi-qt/qt-watch.cpp b/avahi-qt/qt-watch.cpp index 14e0c6e6a..cd18bee3d 100644 --- a/avahi-qt/qt-watch.cpp +++ b/avahi-qt/qt-watch.cpp @@ -18,7 +18,7 @@ ***/ #include <sys/time.h> -#if defined(QT5) || defined(QT4) +#if defined(QT6) || defined(QT5) || defined(QT4) #include <QSocketNotifier> #include <QObject> #include <QTimer> @@ -114,7 +114,7 @@ AvahiTimeout::AvahiTimeout(const struct timeval* tv, AvahiTimeoutCallback callba m_callback(callback), m_userdata(userdata) { connect(&m_timer, SIGNAL(timeout()), this, SLOT(timeout())); -#if defined(QT5) || defined(QT4) +#if defined(QT6) || defined(QT5) || defined(QT4) m_timer.setSingleShot(true); #endif update(tv); @@ -125,7 +125,7 @@ void AvahiTimeout::update(const struct timeval *tv) m_timer.stop(); if (tv) { AvahiUsec u = avahi_age(tv)/1000; -#if defined(QT5) || defined(QT4) +#if defined(QT6) || defined(QT5) || defined(QT4) m_timer.start( (u>0) ? 0 : -u); #else m_timer.start( (u>0) ? 0 : -u,true); @@ -191,7 +191,9 @@ const AvahiPoll* avahi_qt_poll_get(void) return &qt_poll; } -#if defined(QT5) +#if defined(QT6) +#include "qt-watch.moc6" +#elif defined(QT5) #include "qt-watch.moc5" #elif defined(QT4) #include "qt-watch.moc4" diff --git a/avahi-qt6.pc.in b/avahi-qt6.pc.in new file mode 100644 index 000000000..ce9f13758 --- /dev/null +++ b/avahi-qt6.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=${prefix} +libdir=@libdir@ +includedir=${prefix}/include + +Name: avahi-qt6 +Description: Avahi Multicast DNS Responder (QT6 Support) +Version: @PACKAGE_VERSION@ +Requires: Qt6Core >= 6.0.0 +Libs: -L${libdir} -lavahi-qt6 +Cflags: -D_REENTRANT -I${includedir} diff --git a/common/qt-pie.m4 b/common/qt-pie.m4 new file mode 100644 index 000000000..8f35e548b --- /dev/null +++ b/common/qt-pie.m4 @@ -0,0 +1,55 @@ +AC_DEFUN([AC_AVAHI_QT5_ADD_PIC_IF_NEEDED], +[ + AC_LANG_PUSH([C++]) + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $QT5_CFLAGS" + AC_MSG_CHECKING([whether Qt works without -fPIC]) + AC_PREPROC_IFELSE( + [AC_LANG_SOURCE([[#include <QtCore>]])], + [AC_MSG_RESULT(yes)], + [ + AC_MSG_RESULT(no) + AC_MSG_CHECKING([whether Qt works with -fPIC]) + CPPFLAGS="$CPPFLAGS -fPIC" + AC_PREPROC_IFELSE( + [AC_LANG_SOURCE([[#include <QtCore>]])], + [ + AC_MSG_RESULT(yes) + QT5_CFLAGS="$QT5_CFLAGS -fPIC" + ], + [ + AC_MSG_RESULT(no) + AC_MSG_ERROR(Couldn't compile Qt without -fPIC nor with -fPIC) + ]) + ]) + CPPFLAGS="$save_CPPFLAGS" + AC_LANG_POP([C++]) +]) + +AC_DEFUN([AC_AVAHI_QT6_ADD_PIC_IF_NEEDED], +[ + AC_LANG_PUSH([C++]) + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $QT6_CFLAGS" + AC_MSG_CHECKING([whether Qt works without -fPIC]) + AC_PREPROC_IFELSE( + [AC_LANG_SOURCE([[#include <QtCore>]])], + [AC_MSG_RESULT(yes)], + [ + AC_MSG_RESULT(no) + AC_MSG_CHECKING([whether Qt works with -fPIC]) + CPPFLAGS="$CPPFLAGS -fPIC" + AC_PREPROC_IFELSE( + [AC_LANG_SOURCE([[#include <QtCore>]])], + [ + AC_MSG_RESULT(yes) + QT6_CFLAGS="$QT6_CFLAGS -fPIC" + ], + [ + AC_MSG_RESULT(no) + AC_MSG_ERROR(Couldn't compile Qt without -fPIC nor with -fPIC) + ]) + ]) + CPPFLAGS="$save_CPPFLAGS" + AC_LANG_POP([C++]) +]) diff --git a/common/qt5-pie.m4 b/common/qt5-pie.m4 deleted file mode 100644 index 10d564c8f..000000000 --- a/common/qt5-pie.m4 +++ /dev/null @@ -1,27 +0,0 @@ -AC_DEFUN([AC_AVAHI_QT_ADD_PIC_IF_NEEDED], -[ - AC_LANG_PUSH([C++]) - save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $QT5_CFLAGS" - AC_MSG_CHECKING([whether Qt works without -fPIC]) - AC_PREPROC_IFELSE( - [AC_LANG_SOURCE([[#include <QtCore>]])], - [AC_MSG_RESULT(yes)], - [ - AC_MSG_RESULT(no) - AC_MSG_CHECKING([whether Qt works with -fPIC]) - CPPFLAGS="$CPPFLAGS -fPIC" - AC_PREPROC_IFELSE( - [AC_LANG_SOURCE([[#include <QtCore>]])], - [ - AC_MSG_RESULT(yes) - QT5_CFLAGS="$QT5_CFLAGS -fPIC" - ], - [ - AC_MSG_RESULT(no) - AC_MSG_ERROR(Couldn't compile Qt without -fPIC nor with -fPIC) - ]) - ]) - CPPFLAGS="$save_CPPFLAGS" - AC_LANG_POP([C++]) -]) diff --git a/configure.ac b/configure.ac index 31bce3d76..5959df14e 100644 --- a/configure.ac +++ b/configure.ac @@ -36,6 +36,7 @@ AC_SUBST(LIBAVAHI_GOBJECT_VERSION_INFO, [0:5:0]) AC_SUBST(LIBAVAHI_QT3_VERSION_INFO, [1:2:0]) AC_SUBST(LIBAVAHI_QT4_VERSION_INFO, [1:2:0]) AC_SUBST(LIBAVAHI_QT5_VERSION_INFO, [1:2:0]) +AC_SUBST(LIBAVAHI_QT6_VERSION_INFO, [1:2:0]) AC_SUBST(LIBAVAHI_UI_VERSION_INFO, [1:4:1]) # Do not touch these, since they we took this version-info from upstream HOWL/Bonjour @@ -557,7 +558,7 @@ AC_ARG_ENABLE(qt5, if test "x$HAVE_QT5" = "xyes" ; then PKG_CHECK_MODULES( QT5, [ Qt5Core >= 5.0.0 ]) - AC_AVAHI_QT_ADD_PIC_IF_NEEDED + AC_AVAHI_QT5_ADD_PIC_IF_NEEDED AC_SUBST(QT5_CFLAGS) AC_SUBST(QT5_LIBS) QT5_PREFIX="`$PKG_CONFIG --variable=host_bins Qt5Core`" @@ -569,6 +570,32 @@ if test "x$HAVE_QT5" = "xyes" ; then fi AM_CONDITIONAL(HAVE_QT5, test "x$HAVE_QT5" = "xyes") +# +# Check for Qt 6 +# +AC_ARG_ENABLE(qt6, + AS_HELP_STRING([--disable-qt6],[Disable building of Qt6Core mainloop integration]), + [case "${enableval}" in + yes) HAVE_QT6=yes ;; + no) HAVE_QT6=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --enable-qt6) ;; + esac], + [HAVE_QT6=yes]) + +if test "x$HAVE_QT6" = "xyes" ; then + PKG_CHECK_MODULES( QT6, [ Qt6Core >= 6.0.0 ]) + AC_AVAHI_QT6_ADD_PIC_IF_NEEDED + AC_SUBST(QT6_CFLAGS) + AC_SUBST(QT6_LIBS) + QT6_PREFIX="`$PKG_CONFIG --variable=libexecdir Qt6Core`" + AC_PATH_PROGS(MOC_QT6, [moc-qt6 moc], no, [$QT6_PREFIX]) + if test "$MOC_QT6" = no; then + AC_MSG_ERROR([Could not find QT6 moc]) + fi + AC_SUBST(MOC_QT6) +fi +AM_CONDITIONAL(HAVE_QT6, test "x$HAVE_QT6" = "xyes") + # # Check for GTK+ 2.0 # @@ -1222,6 +1249,7 @@ echo " Enable QT3: ${HAVE_QT3} Enable QT4: ${HAVE_QT4} Enable QT5: ${HAVE_QT5} + Enable QT6: ${HAVE_QT6} Enable Mono: ${HAVE_MONO} Enable Monodoc: ${HAVE_MONODOC} Distribution/OS: ${with_distro} @@ -1292,6 +1320,7 @@ echo "\ Building libavahi-qt3: ${HAVE_QT3} Building libavahi-qt4: ${HAVE_QT4} Building libavahi-qt5: ${HAVE_QT5} + Building libavahi-qt6: ${HAVE_QT6} Building avahi-sharp: ${HAVE_MONO} Building avahi-compat-libdns_sd: ${ENABLE_COMPAT_LIBDNS_SD} Building avahi-compat-howl: ${ENABLE_COMPAT_HOWL} ++++++ _multibuild ++++++ --- /var/tmp/diff_new_pack.jyESBn/_old 2025-07-26 13:40:20.706832536 +0200 +++ /var/tmp/diff_new_pack.jyESBn/_new 2025-07-26 13:40:20.710832700 +0200 @@ -1,4 +1,5 @@ <multibuild> + <package>qt6</package> <package>qt5</package> <package>glib2</package> </multibuild>