From nobody Mon Jan 1 19:40:14 2024 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4T3mXv1s9Mz55Psf; Mon, 1 Jan 2024 19:40:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (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 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4T3mXv14fTz3Z1Q; Mon, 1 Jan 2024 19:40:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704138015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=162cRIhAG8+O6yZ1RtqtZjStiSlbV6fLpiWV3LKIyNw=; b=HoIGWB4CSEHIo5CDVQaIkJyCtUXjXcF5M+hThB7bAJiej0e/GjQ10pEYzVxv/euwS8EPb4 Am7o3TWck7ZwRoNzq3l5zgIzA0SMGmqQAth480njgU2DhuMY8ddJpror8P3aconOwZx/p+ bd4LwVvC9p0C5zSnQhtloDoICv8uzwh7HUN1zTaIYPNYyrAVtC3TW/K/VYgAoq2mcIcL8I 16JBWkm54y8HvDdVljfrmM+LYHXfAjd8S7HekMGddV9I8tq60N9xr1p66TtncVlRoR8FOv ycvh6kb49aJqjSVmUcsaOGVLG0akcchrraWGglZIj/MZe0vABnWla/tSQvsrRg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1704138015; a=rsa-sha256; cv=none; b=oX+anTJNDpU60VbWlVkeDsKI9P4Gs+9hsz+ECAhND1TPu+uqTHjOS6dR1aGLO638NQqwXc DeLSD9WSOVy3WC3XU8ll1VquWc7NbeFy3/dydhBGGNeqe4fZ/nRBpiMCMzxfgm0mSPJAmV Qnq+fDd7YA1BXWFoXozAVD3no/l16IbRXD/hookIVus4/ZrbclKylNhUGft3KAvGbb2d3c X/byMgmTKEs8oUe7NoZP+sspMR9+a8cVGigIQzlSzG6Xz4P3ACBtb5EFX04MTnnYyDwCbn n3dLg5Appn/1tXU4LeYHaUbBwr8EYgAnW78yBybrjcD+LNUCcDZl5M247IbNtw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1704138015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=162cRIhAG8+O6yZ1RtqtZjStiSlbV6fLpiWV3LKIyNw=; b=HlPcOT/PY4Ne3+m7LvbdsszB0Kp3i9TGHMjukbGGn31jb4NfZBLIOG2ev+Dm6qnqMHizka TVseuA5sO1Gs/umlXcuH3ZjzSNlo4QuriqNv2tDk8xvs/mwHMTbdgqOT/HsnxiJOKY5A2S U1rRbirFyAz2ly6yqw5EtOc3iA6VLgfQyC8TGmNrGPTOt2afXlKU1NviW2uGHfxlDotjFZ kLtfPrjyHSelVis0cASFhkS9xsxi3I7+uCtzWG/zOEuABVcZtoxgYcxNxSnnX+Hv226ECq vzHul4JDhvlQbweR+zS4JrGikKu60h4mL3cmKubjG0PdrFbE1fh0i1OIfBaJaA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4T3mXt73nlzVgw; Mon, 1 Jan 2024 19:40:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 401JeEn8085489; Mon, 1 Jan 2024 19:40:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 401JeEbU085485; Mon, 1 Jan 2024 19:40:14 GMT (envelope-from git) Date: Mon, 1 Jan 2024 19:40:14 GMT Message-Id: <202401011940.401JeEbU085485@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Gleb Popov Subject: git: 54ceee079e36 - main - devel/dbus: Pull in a patch that uses closefrom(2) List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: arrowd X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 54ceee079e36b05345e715d8eb3139960ff0a325 Auto-Submitted: auto-generated The branch main has been updated by arrowd: URL: https://cgit.FreeBSD.org/ports/commit/?id=54ceee079e36b05345e715d8eb3139960ff0a325 commit 54ceee079e36b05345e715d8eb3139960ff0a325 Author: Gleb Popov AuthorDate: 2024-01-01 19:33:47 +0000 Commit: Gleb Popov CommitDate: 2024-01-01 19:40:07 +0000 devel/dbus: Pull in a patch that uses closefrom(2) PR: 240549 --- devel/dbus/Makefile | 2 +- devel/dbus/files/patch-cmake_ConfigureChecks.cmake | 26 ++++--- devel/dbus/files/patch-cmake_config.h.cmake | 7 +- devel/dbus/files/patch-configure | 25 ++++++ devel/dbus/files/patch-dbus_dbus-sysdeps-unix.c | 89 ++++++++++++++++++++++ 5 files changed, 137 insertions(+), 12 deletions(-) diff --git a/devel/dbus/Makefile b/devel/dbus/Makefile index d30abdb42873..7f03dd260e9b 100644 --- a/devel/dbus/Makefile +++ b/devel/dbus/Makefile @@ -1,6 +1,6 @@ PORTNAME= dbus DISTVERSION= 1.14.10 -PORTREVISION= 1 +PORTREVISION= 2 PORTEPOCH= 1 CATEGORIES= devel gnome MASTER_SITES= https://dbus.freedesktop.org/releases/dbus/ diff --git a/devel/dbus/files/patch-cmake_ConfigureChecks.cmake b/devel/dbus/files/patch-cmake_ConfigureChecks.cmake index 41503ee27792..eb301120f17e 100644 --- a/devel/dbus/files/patch-cmake_ConfigureChecks.cmake +++ b/devel/dbus/files/patch-cmake_ConfigureChecks.cmake @@ -1,10 +1,18 @@ ---- cmake/ConfigureChecks.cmake.orig 2022-09-14 12:12:21 UTC +--- cmake/ConfigureChecks.cmake.orig 2024-01-01 18:36:58 UTC +++ cmake/ConfigureChecks.cmake -@@ -51,6 +51,7 @@ check_symbol_exists(clearenv "stdlib.h" HA - check_symbol_exists(setenv "stdlib.h" HAVE_SETENV) # dbus-sysdeps.c - check_symbol_exists(unsetenv "stdlib.h" HAVE_UNSETENV) # dbus-sysdeps.c - check_symbol_exists(clearenv "stdlib.h" HAVE_CLEARENV) # dbus-sysdeps.c -+check_symbol_exists(closefrom "unistd.h" HAVE_CLOSEFROM) # dbus-sysdeps-unix.c - check_symbol_exists(writev "sys/uio.h" HAVE_WRITEV) # dbus-sysdeps.c, dbus-sysdeps-win.c - check_symbol_exists(setrlimit "sys/resource.h" HAVE_SETRLIMIT) # dbus-sysdeps.c, dbus-sysdeps-win.c, test/test-segfault.c - check_symbol_exists(socketpair "sys/socket.h" HAVE_SOCKETPAIR) # dbus-sysdeps.c +@@ -17,6 +17,7 @@ check_include_file(io.h HAVE_IO_H) # inte + check_include_file(grp.h HAVE_GRP_H) # dbus-sysdeps-util-win.c + check_include_file(inttypes.h HAVE_INTTYPES_H) # dbus-pipe.h + check_include_file(io.h HAVE_IO_H) # internal ++check_include_file(linux/close_range.h HAVE_LINUX_CLOSE_RANGE_H) + check_include_file(locale.h HAVE_LOCALE_H) + check_include_file(memory.h HAVE_MEMORY_H) + check_include_file(signal.h HAVE_SIGNAL_H) +@@ -31,6 +32,7 @@ check_include_file(sys/stat.h HAVE_SYS_STAT_H) + check_include_file(sys/random.h HAVE_SYS_RANDOM_H) + check_include_file(sys/resource.h HAVE_SYS_RESOURCE_H) + check_include_file(sys/stat.h HAVE_SYS_STAT_H) ++check_include_file(sys/syscall.h HAVE_SYS_SYSCALL_H) + check_include_file(sys/types.h HAVE_SYS_TYPES_H) + check_include_file(sys/uio.h HAVE_SYS_UIO_H) + check_include_file(sys/prctl.h HAVE_SYS_PRCTL_H) diff --git a/devel/dbus/files/patch-cmake_config.h.cmake b/devel/dbus/files/patch-cmake_config.h.cmake index c3dc5e5b989a..c256ee2c6fbd 100644 --- a/devel/dbus/files/patch-cmake_config.h.cmake +++ b/devel/dbus/files/patch-cmake_config.h.cmake @@ -1,11 +1,14 @@ ---- cmake/config.h.cmake.orig 2022-09-14 12:12:21 UTC +--- cmake/config.h.cmake.orig 2022-10-02 14:06:53 UTC +++ cmake/config.h.cmake -@@ -198,6 +198,9 @@ +@@ -198,6 +198,12 @@ /* Define to 1 if you have clearenv */ #cmakedefine HAVE_CLEARENV 1 +/* Define to 1 if you have closefrom */ +#cmakedefine HAVE_CLOSEFROM 1 ++ ++/* Define to 1 if you have close_range */ ++#cmakedefine HAVE_CLOSE_RANGE 1 + /* Define to 1 if you have writev */ #cmakedefine HAVE_WRITEV 1 diff --git a/devel/dbus/files/patch-configure b/devel/dbus/files/patch-configure new file mode 100644 index 000000000000..8b8b5d8d13b9 --- /dev/null +++ b/devel/dbus/files/patch-configure @@ -0,0 +1,25 @@ +--- configure.orig 2023-09-01 14:31:27 UTC ++++ configure +@@ -3419,6 +3419,8 @@ as_fn_append ac_func_c_list " clearenv HAVE_CLEARENV" + as_fn_append ac_header_c_list " minix/config.h minix_config_h HAVE_MINIX_CONFIG_H" + as_fn_append ac_func_c_list " accept4 HAVE_ACCEPT4" + as_fn_append ac_func_c_list " clearenv HAVE_CLEARENV" ++as_fn_append ac_func_c_list " close_range HAVE_CLOSE_RANGE" ++as_fn_append ac_func_c_list " closefrom HAVE_CLOSEFROM" + as_fn_append ac_func_c_list " fpathconf HAVE_FPATHCONF" + as_fn_append ac_func_c_list " getgrouplist HAVE_GETGROUPLIST" + as_fn_append ac_func_c_list " getpeereid HAVE_GETPEEREID" +@@ -3449,11 +3451,13 @@ as_fn_append ac_header_c_list " errno.h errno_h HAVE_E + as_fn_append ac_header_c_list " crt_externs.h crt_externs_h HAVE_CRT_EXTERNS_H" + as_fn_append ac_header_c_list " dirent.h dirent_h HAVE_DIRENT_H" + as_fn_append ac_header_c_list " errno.h errno_h HAVE_ERRNO_H" ++as_fn_append ac_header_c_list " linux/close_range.h linux_close_range_h HAVE_LINUX_CLOSE_RANGE_H" + as_fn_append ac_header_c_list " locale.h locale_h HAVE_LOCALE_H" + as_fn_append ac_header_c_list " signal.h signal_h HAVE_SIGNAL_H" + as_fn_append ac_header_c_list " sys/prctl.h sys_prctl_h HAVE_SYS_PRCTL_H" + as_fn_append ac_header_c_list " sys/random.h sys_random_h HAVE_SYS_RANDOM_H" + as_fn_append ac_header_c_list " sys/resource.h sys_resource_h HAVE_SYS_RESOURCE_H" ++as_fn_append ac_header_c_list " sys/syscall.h sys_syscall_h HAVE_SYS_SYSCALL_H" + as_fn_append ac_header_c_list " sys/time.h sys_time_h HAVE_SYS_TIME_H" + as_fn_append ac_header_c_list " ws2tcpip.h ws2tcpip_h HAVE_WS2TCPIP_H" + as_fn_append ac_func_c_list " getpwnam_r HAVE_GETPWNAM_R" diff --git a/devel/dbus/files/patch-dbus_dbus-sysdeps-unix.c b/devel/dbus/files/patch-dbus_dbus-sysdeps-unix.c new file mode 100644 index 000000000000..9a1e8badbaa7 --- /dev/null +++ b/devel/dbus/files/patch-dbus_dbus-sysdeps-unix.c @@ -0,0 +1,89 @@ +--- dbus/dbus-sysdeps-unix.c.orig 2023-08-16 10:29:50 UTC ++++ dbus/dbus-sysdeps-unix.c +@@ -37,6 +37,7 @@ + #include "dbus-credentials.h" + #include "dbus-nonce.h" + ++#include + #include + #include + #include +@@ -62,6 +63,9 @@ + #ifdef HAVE_ERRNO_H + #include + #endif ++#ifdef HAVE_LINUX_CLOSE_RANGE_H ++#include ++#endif + #ifdef HAVE_SYSLOG_H + #include + #endif +@@ -80,6 +84,9 @@ + #ifdef HAVE_SYS_RANDOM_H + #include + #endif ++#ifdef HAVE_SYS_SYSCALL_H ++#include ++#endif + + #ifdef HAVE_ADT + #include +@@ -137,6 +144,21 @@ + + #endif /* Solaris */ + ++#if defined(__linux__) && defined(__NR_close_range) && !defined(HAVE_CLOSE_RANGE) ++/* The kernel headers are new enough to have the close_range syscall, ++ * but glibc isn't new enough to have the syscall wrapper, so call the ++ * syscall directly. */ ++static inline int ++close_range (unsigned int first, ++ unsigned int last, ++ unsigned int flags) ++{ ++ return syscall (__NR_close_range, first, last, flags); ++} ++/* Now we can call that inline wrapper as though it was provided by glibc. */ ++#define HAVE_CLOSE_RANGE ++#endif ++ + /** + * Ensure that the standard file descriptors stdin, stdout and stderr + * are open, by opening /dev/null if necessary. +@@ -4791,7 +4813,24 @@ _dbus_close_all (void) + void + _dbus_close_all (void) + { ++#ifdef HAVE_CLOSE_RANGE ++ if (close_range (3, INT_MAX, 0) == 0) ++ return; ++#endif ++ ++ /* Some library implementations of closefrom() are not async-signal-safe, ++ * and we call _dbus_close_all() after forking, so we only do this on ++ * operating systems where we know that closefrom() is a system call */ ++#if defined(HAVE_CLOSEFROM) && ( \ ++ defined(__FreeBSD__) || \ ++ defined(__NetBSD__) || \ ++ defined(__OpenBSD__) || \ ++ defined(__sun__) && defined(F_CLOSEFROM) \ ++) ++ closefrom (3); ++#else + act_on_fds_3_and_up (close_ignore_error); ++#endif + } + + /** +@@ -4801,6 +4840,11 @@ _dbus_fd_set_all_close_on_exec (void) + void + _dbus_fd_set_all_close_on_exec (void) + { ++#if defined(HAVE_CLOSE_RANGE) && defined(CLOSE_RANGE_CLOEXEC) ++ if (close_range (3, INT_MAX, CLOSE_RANGE_CLOEXEC) == 0) ++ return; ++#endif ++ + act_on_fds_3_and_up (_dbus_fd_set_close_on_exec); + } +