From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 6FB6315808A for ; Mon, 28 Jul 2025 15:23:41 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 5BE12340E06 for ; Mon, 28 Jul 2025 15:23:41 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id 549DD1102A2; Mon, 28 Jul 2025 15:23:40 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 4494D1102A2 for ; Mon, 28 Jul 2025 15:23:40 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id E5981341980 for ; Mon, 28 Jul 2025 15:23:39 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 270C23235 for ; Mon, 28 Jul 2025 15:23:38 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1753716132.7b03579fbb3d3844d9a3ed8d7f37d19744335f39.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: net-dns/avahi/files/, net-dns/avahi/ X-VCS-Repository: repo/gentoo X-VCS-Files: net-dns/avahi/avahi-0.9_rc2-r2.ebuild net-dns/avahi/files/avahi-0.9_rc2-glibc-2.42.patch X-VCS-Directories: net-dns/avahi/ net-dns/avahi/files/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 7b03579fbb3d3844d9a3ed8d7f37d19744335f39 X-VCS-Branch: master Date: Mon, 28 Jul 2025 15:23:38 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: a84650e7-e055-48b2-aa98-f408920e2cb0 X-Archives-Hash: 7348ac947cfae86fa890ca823e1e20a4 commit: 7b03579fbb3d3844d9a3ed8d7f37d19744335f39 Author: Sam James gentoo org> AuthorDate: Mon Jul 28 15:21:36 2025 +0000 Commit: Sam James gentoo org> CommitDate: Mon Jul 28 15:22:12 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7b03579f net-dns/avahi: fix tests w/ glibc-2.42 Signed-off-by: Sam James gentoo.org> net-dns/avahi/avahi-0.9_rc2-r2.ebuild | 205 +++++++++++++++++++++ net-dns/avahi/files/avahi-0.9_rc2-glibc-2.42.patch | 32 ++++ 2 files changed, 237 insertions(+) diff --git a/net-dns/avahi/avahi-0.9_rc2-r2.ebuild b/net-dns/avahi/avahi-0.9_rc2-r2.ebuild new file mode 100644 index 000000000000..a4527089f102 --- /dev/null +++ b/net-dns/avahi/avahi-0.9_rc2-r2.ebuild @@ -0,0 +1,205 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..13} ) +PYTHON_REQ_USE="gdbm" +inherit autotools multilib-minimal python-single-r1 systemd + +DESCRIPTION="System which facilitates service discovery on a local network" +HOMEPAGE="https://avahi.org/" +SRC_URI="https://github.com/lathiat/avahi/archive/v${PV/_/-}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${PN}-${PV/_/-}" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="autoipd bookmarks +dbus doc gdbm gtk howl-compat +introspection ipv6 mdnsresponder-compat nls python qt5 selinux systemd test" + +REQUIRED_USE=" + python? ( dbus gdbm ${PYTHON_REQUIRED_USE} ) + bookmarks? ( python ) + howl-compat? ( dbus ) + mdnsresponder-compat? ( dbus ) + systemd? ( dbus ) +" + +RESTRICT="!test? ( test )" + +DEPEND=" + dev-libs/libdaemon + dev-libs/libevent:=[${MULTILIB_USEDEP}] + dev-libs/expat + dev-libs/glib:2[${MULTILIB_USEDEP}] + gdbm? ( sys-libs/gdbm:=[${MULTILIB_USEDEP}] ) + qt5? ( dev-qt/qtcore:5 ) + gtk? ( x11-libs/gtk+:3[${MULTILIB_USEDEP}] ) + dbus? ( sys-apps/dbus[${MULTILIB_USEDEP}] ) + kernel_linux? ( sys-libs/libcap ) + introspection? ( dev-libs/gobject-introspection:= ) + systemd? ( sys-apps/systemd:=[${MULTILIB_USEDEP}] ) + python? ( + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + bookmarks? ( >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}] ) + dbus? ( dev-python/dbus-python[${PYTHON_USEDEP}] ) + introspection? ( dev-python/pygobject:3[${PYTHON_USEDEP}] ) + ') + ) +" +RDEPEND=" + acct-user/avahi + acct-group/avahi + acct-group/netdev + autoipd? ( + acct-user/avahi-autoipd + acct-group/avahi-autoipd + ) + ${DEPEND} + selinux? ( sec-policy/selinux-avahi ) +" +BDEPEND=" + dev-util/glib-utils + doc? ( app-text/doxygen ) + app-text/xmltoman + sys-devel/gettext + virtual/pkgconfig +" + +MULTILIB_WRAPPED_HEADERS=( /usr/include/avahi-qt5/qt-watch.h ) + +PATCHES=( + "${FILESDIR}/avahi-0.9_rc1-disable-avahi-ui-sharp.patch" # bug 769062 + "${FILESDIR}/avahi-0.9_rc2-CVE-2024-52615.patch" + "${FILESDIR}/avahi-0.9_rc2-glibc-2.42.patch" +) + +pkg_setup() { + use python && python-single-r1_pkg_setup +} + +src_prepare() { + default + + if ! use ipv6; then + sed -i \ + -e "s/use-ipv6=yes/use-ipv6=no/" \ + avahi-daemon/avahi-daemon.conf || die + fi + + sed -i \ + -e "s:\\.\\./\\.\\./\\.\\./doc/avahi-docs/html/:../../../doc/${PF}/html/:" \ + doxygen_to_devhelp.xsl || die + + eautoreconf + + # bundled manpages + multilib_copy_sources +} + +multilib_src_configure() { + local myconf=( + --disable-gtk + --disable-mono + --disable-monodoc + --disable-python-dbus + --disable-qt3 + --disable-qt4 + --disable-static + --enable-manpages + --enable-glib + --enable-gobject + --enable-xmltoman + --localstatedir="${EPREFIX}/var" + --runstatedir="${EPREFIX}/run" + --with-distro=gentoo + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" + $(use_enable dbus) + $(use_enable gdbm) + $(use_enable gtk gtk3) + $(use_enable howl-compat compat-howl) + $(use_enable mdnsresponder-compat compat-libdns_sd) + $(use_enable nls) + $(use_enable systemd libsystemd) + $(multilib_native_use_enable autoipd) + $(multilib_native_use_enable doc doxygen-doc) + $(multilib_native_use_enable introspection) + $(multilib_native_use_enable python) + $(multilib_native_use_enable test tests) + ) + + if use python; then + myconf+=( + $(multilib_native_use_enable dbus python-dbus) + $(multilib_native_use_enable introspection pygobject) + ) + fi + + if ! multilib_is_native_abi; then + myconf+=( + # used by daemons only + --disable-libdaemon + --with-xml=none + ) + fi + + myconf+=( $(multilib_native_use_enable qt5) ) + + econf "${myconf[@]}" +} + +multilib_src_compile() { + emake + + multilib_is_native_abi && use doc && emake avahi.devhelp +} + +multilib_src_install() { + emake install DESTDIR="${D}" + + if ! use bookmarks || ! use python || ! use dbus; then + rm -f "${ED}"/usr/bin/avahi-bookmarks || die + fi + + # https://github.com/lathiat/avahi/issues/28 + use howl-compat && dosym avahi-compat-howl.pc /usr/$(get_libdir)/pkgconfig/howl.pc + use mdnsresponder-compat && dosym avahi-compat-libdns_sd/dns_sd.h /usr/include/dns_sd.h + + if multilib_is_native_abi && use doc; then + docinto html + dodoc -r doxygen/html/. + insinto /usr/share/devhelp/books/avahi + doins avahi.devhelp + fi + + # The build system creates an empty "/run" directory, so we clean it up here + rmdir "${ED}"/run || die +} + +multilib_src_install_all() { + use python && python_optimize + + if use autoipd; then + insinto /lib/rcscripts/net + doins "${FILESDIR}"/autoipd.sh + + insinto /lib/netifrc/net + newins "${FILESDIR}"/autoipd-openrc.sh autoipd.sh + fi + + dodoc docs/{AUTHORS,NEWS,README,TODO} + + find "${ED}" -name '*.la' -type f -delete || die +} + +pkg_postinst() { + if use autoipd; then + elog + elog "To use avahi-autoipd to configure your interfaces with IPv4LL (RFC3927)" + elog "addresses, just set config_=( autoipd ) in /etc/conf.d/net!" + elog + fi + + systemd_reenable avahi-daemon.service +} diff --git a/net-dns/avahi/files/avahi-0.9_rc2-glibc-2.42.patch b/net-dns/avahi/files/avahi-0.9_rc2-glibc-2.42.patch new file mode 100644 index 000000000000..37c3e6326215 --- /dev/null +++ b/net-dns/avahi/files/avahi-0.9_rc2-glibc-2.42.patch @@ -0,0 +1,32 @@ +https://github.com/avahi/avahi/commit/358e5a3b0122b418614e2ac0fc71f6aad1de06f8 + +From 358e5a3b0122b418614e2ac0fc71f6aad1de06f8 Mon Sep 17 00:00:00 2001 +From: Michal Sekletar +Date: Mon, 23 Jun 2025 16:27:40 +0200 +Subject: [PATCH] Make data member as big as IPv6 address + +Unfortunately, recent FORTIFY_SOURCE hardening for inet_pton() can't +deal with our type independent "data[1]" union member trick. + +Fixes #699 +--- + avahi-common/address.h | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/avahi-common/address.h b/avahi-common/address.h +index a14104fad..013fa975e 100644 +--- a/avahi-common/address.h ++++ b/avahi-common/address.h +@@ -71,9 +71,9 @@ typedef struct AvahiAddress { + AvahiProtocol proto; /**< Address family */ + + union { +- AvahiIPv6Address ipv6; /**< Address when IPv6 */ +- AvahiIPv4Address ipv4; /**< Address when IPv4 */ +- uint8_t data[1]; /**< Type-independent data field */ ++ AvahiIPv6Address ipv6; /**< Address when IPv6 */ ++ AvahiIPv4Address ipv4; /**< Address when IPv4 */ ++ uint8_t data[sizeof(AvahiIPv6Address)]; /**< Type-independent data field */ + } data; + } AvahiAddress; +