0
0
mirror of https://github.com/openwrt/packages.git synced 2025-07-14 14:14:47 +00:00
Files
packages/net/aircrack-ng/patches/104-build-add-option-to-disable-bsd-library-inclusion.patch
Christian Marangi bd21652b79 aircrack-ng: fix wrong inclusion of libbsd if detected
Currently aircrack-ng try to link with libbsd if it does detect the
library in staging_dir. This is the case with buildbot where every
package is selected and compiled.

Fix this by adding a pending patch that permits to disable libbsd
inclusion even if detected and set the related config flag.

aircrack-ng use 2 function of libbsd and it's not worth to include the
entire library for 2 simple function for string manipulation.

Also add an additional patch that permits to use musl or glibc version
of these string functions.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-10-30 13:28:50 -07:00

59 lines
2.0 KiB
Diff

From 0265e79f3c9a27a3ffd186e7d3bcd2f744052605 Mon Sep 17 00:00:00 2001
From: Christian Marangi <ansuelsmth@gmail.com>
Date: Sat, 28 Oct 2023 17:30:09 +0200
Subject: [PATCH] build: add option to disable bsd library inclusion
It might be needed to disable bsd inclusion and fallback to the compat
functions even if bsd headers are detected.
This is the case when multiple library are cross-compiled and someone
wants to explicitly compile aircrack-ng without linking to bsd library.
With the current implementation, if a bsd header is detected, the bsd
library is always linked even if unwanted. Add option to configure this
with the combo --with-libbsd=yes|no|auto with auto set by default.
Also add an extra featurw with introducing the possibility of requiring
the bsd library and fail the configure phase.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
build/m4/aircrack_ng_compat.m4 | 24 +++++++++++++++++++++---
1 file changed, 21 insertions(+), 3 deletions(-)
--- a/build/m4/aircrack_ng_compat.m4
+++ b/build/m4/aircrack_ng_compat.m4
@@ -38,11 +38,29 @@ dnl If you delete this exception stateme
dnl program, then also delete it here.
AC_DEFUN([AIRCRACK_NG_COMPAT], [
+AC_ARG_WITH(libbsd,
+ [AS_HELP_STRING([--with-libbsd[[=auto|yes|no]]], [use BSD library, [default=auto]])])
+
+case $with_libbsd in
+ yes | "" | auto)
+ AC_CHECK_HEADERS([bsd/string.h], [HAVE_BSD_STRING_H=yes])
+ AC_CHECK_LIB([bsd], [strlcpy], [:])
+ AC_CHECK_FUNCS([strlcpy strlcat], [:])
+ ;;
+esac
-AC_CHECK_HEADERS([bsd/string.h], [HAVE_BSD_STRING_H=yes], [HAVE_BSD_STRING_H=no])
AM_CONDITIONAL([HAVE_BSD_STRING_H], [test "$HAVE_BSD_STRING_H" = yes])
-AC_CHECK_LIB([bsd], [strlcpy], [ LIBS="$LIBS -lbsd" ], [:])
-AC_CHECK_FUNCS([strlcpy strlcat], [:])
+
+if test $with_libbsd != no
+then
+ if test $ac_cv_lib_bsd_strlcpy = yes
+ then
+ LIBS="$LIBS -lbsd"
+ elif test $with_libbsd = yes
+ then
+ AC_MSG_ERROR([cannot configure required bsd library])
+ fi
+fi
have_bsd=no
if test "$cross_compiling" != yes