From nobody Wed Oct 2 13:37:07 2024 X-Original-To: dev-commits-ports-branches@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 4XJbSz2wMfz5YXF6; Wed, 02 Oct 2024 13:37:07 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XJbSz2DjJz4hLr; Wed, 2 Oct 2024 13:37:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727876227; 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=otqgipUVUnU/zJo9BoMw9Ai5QBHFGG05DOSZfxtc+v4=; b=GLSSYPtI6Jxxx1YRw6eLuXOR+Wkw8Jy3oV5nTVfpOU2gX17/4OzIO8WZnw8Kq3PnQmhI5D dlFFom1E6VCbukqyP5FRfL9Mj2BeDePQQ/2IsXFHlyRQ111U9DTMorfXs6O389hKByOIxr w8oGBvL81X5WrZ6SeKx0sgSTd3i1jJfhrPoPVluKXleql23Il12HVseoJyakOjZLPITYbQ 3N8SzA0AmAb8Wksputr0Yukz4LeJXy+Mr/akcbyawc5C8J+11R2VbQDkRCvZTT49nE1Owc 6YIXAaS7qPnUflh3D5pf1VBx+6mb9FfxaW1Cjx6qtG7Rjfb1dcPeBywKY42hKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727876227; 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=otqgipUVUnU/zJo9BoMw9Ai5QBHFGG05DOSZfxtc+v4=; b=w2mMncEBanfubWmCwB2SlYivBgrnjyIagodDpRFoXB3Gg/T4GtKjA9Ny+4Iw+Jd2ywE7yF wnIEJ1hmkeyMWx6vSZRcGHP+htMNSNAIvzM1BucsD1KVVqIXtUDw4gUcVqh6zGMIWDOFPi VaLyMz36xY/CSai4YtpOnKSFH9KE+5pDFEAKf9dG8PimJRusaO8OFAAf6rf2kDBKn4roZ4 0FDnYVN5b6agnESSTfIDwWsruEC+XllNkCkKsu61ALvi6p1l/knSvTmLUGrUQwj8O/RYXk gg8EGTTcKcDyWEIf4ZF17mTs21lBhawyJupJVVZUVqSfCuxB5NLclBu3PQwcEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727876227; a=rsa-sha256; cv=none; b=Jn2x8aZR+L+Z8FmZI0Q0LWorc78MRfltp8HeJpzJTJnSXaDJ9Cb2bI6YoprG4HpVKd1F7/ 688tny42cLa1g7FRUCxocZQRtMZzmTqG+EI6voLtA9boyYwTV8GEIgKFVfI1lfXe8x/DSj TBcLz1YfZ/+sUmlxBxgplVHr5ywzw/NAWARihcl6b9t2DeWy0QDcH17PQEgFmYmv2+yGm4 0LLg8kqE/23FVy6nGVinXLgxaiPBNFjc6A2LvRD7pBh3JMXeCl03n/8DFb7a/unqhSU/NI QPCfwv26ReL4bXBcsb5h1qWf5k0kVxX98U2zPcSqIY50rRnZ6k5WmAwnLBDBmw== 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 4XJbSz1pz8z1N2B; Wed, 2 Oct 2024 13:37:07 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 492Db7qh013726; Wed, 2 Oct 2024 13:37:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 492Db7sN013723; Wed, 2 Oct 2024 13:37:07 GMT (envelope-from git) Date: Wed, 2 Oct 2024 13:37:07 GMT Message-Id: <202410021337.492Db7sN013723@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-branches@FreeBSD.org From: Dimitry Andric Subject: git: 53d5fc24e4df - 2024Q3 - net/samba419: fix rl_completion_func_t detection and usage List-Id: Commits to the quarterly branches of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-branches@freebsd.org Sender: owner-dev-commits-ports-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dim X-Git-Repository: ports X-Git-Refname: refs/heads/2024Q3 X-Git-Reftype: branch X-Git-Commit: 53d5fc24e4dff740815f56ffa712785c8f79acce Auto-Submitted: auto-generated The branch 2024Q3 has been updated by dim: URL: https://cgit.FreeBSD.org/ports/commit/?id=53d5fc24e4dff740815f56ffa712785c8f79acce commit 53d5fc24e4dff740815f56ffa712785c8f79acce Author: Dimitry Andric AuthorDate: 2024-10-02 12:38:03 +0000 Commit: Dimitry Andric CommitDate: 2024-10-02 13:36:18 +0000 net/samba419: fix rl_completion_func_t detection and usage After a recent devel/readline update, net/samba419 fails to compile with clang 19, resulting in errors similar to: ../../libcli/smbreadline/smbreadline.c:139:38: warning: 'CPPFunction' is deprecated [-Wdeprecated-declarations] 139 | rl_attempted_completion_function = RL_COMPLETION_CAST completion_fn; | ^ ../../lib/replace/system/readline.h:50:31: note: expanded from macro 'RL_COMPLETION_CAST' 50 | # define RL_COMPLETION_CAST (CPPFunction *) | ^ /usr/local/include/readline/rltypedefs.h:38:50: note: 'CPPFunction' has been explicitly marked deprecated here 38 | typedef char **CPPFunction (void) __attribute__((deprecated)); | ^ ../../libcli/smbreadline/smbreadline.c:139:36: error: incompatible function pointer types assigning to 'rl_completion_func_t *' (aka 'char **(*)(const char *, int, int)') from 'CPPFunction *' (aka 'char **(*)(void)') [-Wincompatible-function-pointer-types] 139 | rl_attempted_completion_function = RL_COMPLETION_CAST completion_fn; | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ There are two reasons: samba checks for `rl_completion_t`, while the actual readline type is `rl_completion_func_t`, and samba's wrapper `readline.h` header prefers the `CPPFunction` type which is deprecated, while it should use `rl_completion_func_t` instead. Fix the `wscript_configure` check to detect `rl_completion_func_t`, and reverse the `HAVE_RL_COMPLETION_T` and `HAVE_CPPFUNCTION` checks in the wrapper header. PR: 281818 Reviewed by: 0mp Approved by: samba (0mp) MFH: 2024Q3 (cherry picked from commit c81f658808ee608f60198584a870087946cefc98) --- net/samba419/Makefile | 1 + .../files/0028-Fix-rl_completion_func_t.patch | 32 ++++++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/net/samba419/Makefile b/net/samba419/Makefile index 5186a7366219..115bc3b56bb4 100644 --- a/net/samba419/Makefile +++ b/net/samba419/Makefile @@ -43,6 +43,7 @@ EXTRA_PATCHES= \ ${PATCHDIR}/0025-From-d9b748869a8f4018ebee302aae8246bf29f60309-Mon-Se.patch:-p1 \ ${PATCHDIR}/0026-vfs-add-a-compatibility-option-to-the-vfs_streams_xa.patch:-p1 \ ${PATCHDIR}/0027-Add-VFS-module-vfs_freebsd-that-implements-FreeBSD-s.patch:-p1 \ + ${PATCHDIR}/0028-Fix-rl_completion_func_t.patch:-p1 \ ${PATCHDIR}/0100-Fix-pathref-handling-for-FreeBSD-13plus.patch SAMBA4_BASENAME= samba diff --git a/net/samba419/files/0028-Fix-rl_completion_func_t.patch b/net/samba419/files/0028-Fix-rl_completion_func_t.patch new file mode 100644 index 000000000000..33debfab76bc --- /dev/null +++ b/net/samba419/files/0028-Fix-rl_completion_func_t.patch @@ -0,0 +1,32 @@ +--- a/samba-4.19.8/lib/replace/system/readline.h 2023-07-18 10:14:54.478091000 +0200 ++++ b/lib/replace/system/readline.h 2024-10-02 13:47:48.773606000 +0200 +@@ -46,10 +46,10 @@ + #endif + + #ifdef HAVE_NEW_LIBREADLINE +-#ifdef HAVE_CPPFUNCTION ++#if defined(HAVE_RL_COMPLETION_FUNC_T) ++# define RL_COMPLETION_CAST (rl_completion_func_t *) ++#elif defined(HAVE_CPPFUNCTION) + # define RL_COMPLETION_CAST (CPPFunction *) +-#elif defined(HAVE_RL_COMPLETION_T) +-# define RL_COMPLETION_CAST (rl_completion_t *) + #else + # define RL_COMPLETION_CAST + #endif +diff -upr a/samba-4.19.8/libcli/smbreadline/wscript_configure b/libcli/smbreadline/wscript_configure +--- a/samba-4.19.8/libcli/smbreadline/wscript_configure 2023-07-18 10:14:54.558091600 +0200 ++++ b/libcli/smbreadline/wscript_configure 2024-10-02 13:47:48.774008000 +0200 +@@ -51,10 +51,10 @@ conf.CHECK_CODE(''' + # endif + # endif + #endif +-int main(void) {rl_completion_t f; return 0;} ++int main(void) {rl_completion_func_t f; return 0;} + ''', + 'HAVE_RL_COMPLETION_FUNC_T', execute=False, addmain=False, +-msg='Checking for rl_completion_t') ++msg='Checking for rl_completion_func_t') + + conf.CHECK_CODE(''' + #ifdef HAVE_READLINE_READLINE_H