diff mbox series

[meta-networking,2/5] ncftp: Replace references to ACLOCALEXTRAPATH

Message ID 20250124004825.3525640-2-raj.khem@gmail.com
State New
Headers show
Series [meta-oe,1/5] syslog-ng: Remove references to ACLOCALEXTRAPATH | expand

Commit Message

Khem Raj Jan. 24, 2025, 12:48 a.m. UTC
- ACLOCALEXTRAPATH is gone in core with commit 878e1517d4890b31332a506ce903d57e1d7dff87
- Add patches to fix build with latest clang and gcc
- Drop disabling warnings as the fixes above take care of the problem

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../ncftp/0001-ncftp-3.2.7-fix-gcc14.patch    | 20 +++++
 .../ncftp/0002-ncftp-3.2.7-fix-clang.patch    | 73 +++++++++++++++++++
 .../recipes-daemons/ncftp/ncftp_3.2.7.bb      |  8 +-
 3 files changed, 96 insertions(+), 5 deletions(-)
 create mode 100644 meta-networking/recipes-daemons/ncftp/ncftp/0001-ncftp-3.2.7-fix-gcc14.patch
 create mode 100644 meta-networking/recipes-daemons/ncftp/ncftp/0002-ncftp-3.2.7-fix-clang.patch
diff mbox series

Patch

diff --git a/meta-networking/recipes-daemons/ncftp/ncftp/0001-ncftp-3.2.7-fix-gcc14.patch b/meta-networking/recipes-daemons/ncftp/ncftp/0001-ncftp-3.2.7-fix-gcc14.patch
new file mode 100644
index 0000000000..9b8a0c778b
--- /dev/null
+++ b/meta-networking/recipes-daemons/ncftp/ncftp/0001-ncftp-3.2.7-fix-gcc14.patch
@@ -0,0 +1,20 @@ 
+fix select arg detection
+
+Reference:
+ https://bugs.gentoo.org/921487
+
+Upstream-Status: Inappropriate [unresponsive contact email address]
+
+Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/autoconf_local/aclocal.m4
++++ b/autoconf_local/aclocal.m4
+@@ -4196,7 +4196,7 @@ AC_MSG_CHECKING([types of arguments for
+ #include <sys/select.h>
+ #endif
+ #include <sys/socket.h>	/* MG: always incl */
+-extern select ($ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_select_arg234,$ac_cv_func_select_arg234,$ac_cv_func_select_arg5);],,dnl
++extern int select ($ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_select_arg234,$ac_cv_func_select_arg234,$ac_cv_func_select_arg5);],,dnl
+         [ac_not_found=no ; break 3],ac_not_found=yes)
+       done
+      done
diff --git a/meta-networking/recipes-daemons/ncftp/ncftp/0002-ncftp-3.2.7-fix-clang.patch b/meta-networking/recipes-daemons/ncftp/ncftp/0002-ncftp-3.2.7-fix-clang.patch
new file mode 100644
index 0000000000..a8de816e62
--- /dev/null
+++ b/meta-networking/recipes-daemons/ncftp/ncftp/0002-ncftp-3.2.7-fix-clang.patch
@@ -0,0 +1,73 @@ 
+Fix compilation with clang-16
+
+aclocal.m4 contains code that no longer compiles: missing headers and missing
+return types.
+
+Reference:
+ https://gitweb.gentoo.org/repo/gentoo.git/tree/net-ftp/ncftp/files/ncftp-3.2.7-fix-clang.patch
+
+Upstream-Status: Inappropriate [unresponsive contact email address]
+
+Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+--- a/autoconf_local/aclocal.m4
++++ b/autoconf_local/aclocal.m4
+@@ -3057,6 +3057,7 @@ AC_TRY_LINK([
+ #include <sys/uio.h>
+ #include <sys/socket.h>
+ #include <sys/un.h>
++#include <string.h>
+ ],[
+ struct sockaddr_un uaddr;
+ 
+@@ -3285,6 +3286,7 @@ AC_TRY_LINK([
+ #ifdef HAVE_RESOLV_H
+ #	include <resolv.h>
+ #endif
++#include <string.h>
+ ],[
+ 	/* function-body */
+ 	int len;
+@@ -3363,6 +3365,7 @@ else
+ #include <stdio.h>
+ #include <stdlib.h>
+ 		 
++			int
+ 			main(int argc, char **argv)
+ 			{
+ 				/* Note:  don't actually call readline,
+@@ -5144,6 +5147,7 @@ do
+ #ifdef HAVE_STDLIB_H
+ #	include <stdlib.h>
+ #endif
++#include <string.h>
+ 
+ #ifdef HAVE_NCURSES_H
+ #	define NCURSES_OPAQUE 0
+@@ -5175,6 +5179,7 @@ do
+ #endif
+ 
+  
++int
+ main(int argc, char **argv)
+ {
+ 	/* Note:  don't actually call curses, since it may block;
+@@ -6509,7 +6514,6 @@ char *malloc();
+ #endif
+ #endif			/* MG */
+ 
+-int
+ int  main(void)
+ {
+ 	char *data, *data2, *data3;
+@@ -6606,8 +6610,9 @@ else
+ 	AC_CACHE_CHECK(whether setvbuf arguments are reversed,
+ 	  ac_cv_func_setvbuf_reversed,
+ 	[AC_TRY_RUN([#include <stdio.h>
++	$include <stdlib.h>
+ 	/* If setvbuf has the reversed format, exit 0. */
+-	main () {
++	int main (void) {
+ 	  /* This call has the arguments reversed.
+ 	     A reversed system may check and see that the address of main
+ 	     is not _IOLBF, _IONBF, or _IOFBF, and return nonzero.  */
diff --git a/meta-networking/recipes-daemons/ncftp/ncftp_3.2.7.bb b/meta-networking/recipes-daemons/ncftp/ncftp_3.2.7.bb
index de111cac05..b27bf86154 100644
--- a/meta-networking/recipes-daemons/ncftp/ncftp_3.2.7.bb
+++ b/meta-networking/recipes-daemons/ncftp/ncftp_3.2.7.bb
@@ -9,6 +9,8 @@  SRC_URI = "https://www.ncftp.com/public_ftp/ncftp/${BP}-src.tar.xz \
            file://ncftp-configure-use-BUILD_CC-for-ccdv.patch \
            file://unistd.patch \
            file://0001-Forward-port-defining-PREFIX_BINDIR-to-use-new-autoc.patch \
+           file://0001-ncftp-3.2.7-fix-gcc14.patch \
+           file://0002-ncftp-3.2.7-fix-clang.patch \
            "
 SRC_URI[sha256sum] = "d41c5c4d6614a8eae2ed4e4d7ada6b6d3afcc9fb65a4ed9b8711344bef24f7e8"
 
@@ -20,7 +22,7 @@  PACKAGECONFIG ??= ""
 PACKAGECONFIG[ccdv] = "--enable-ccdv,--disable-ccdv,,"
 
 EXTRA_OECONF = "--disable-precomp --disable-universal ac_cv_path_TAR=tar"
-ACLOCALEXTRAPATH:append = " -I ${S}/autoconf_local"
+EXTRA_AUTORECONF += "-I ${S}/autoconf_local"
 
 do_install () {
     install -d ${D}${bindir} ${D}${sysconfdir} ${D}${mandir}
@@ -28,7 +30,3 @@  do_install () {
         'SYSCONFDIR=${D}${sysconfdir}' 'mandir=${D}${mandir}' \
         install
 }
-
-# http://errors.yoctoproject.org/Errors/Details/766888/
-# ncftp/3.2.7/ncftp-3.2.7/config.h:358:28: error: passing argument 2 of 'select' from incompatible pointer type [-Wincompatible-pointer-types]
-CFLAGS += "-Wno-error=incompatible-pointer-types"