Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Aug 2023 15:31:32 GMT
From:      Cy Schubert <cy@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-branches@FreeBSD.org
Subject:   git: 07dc31ec0710 - 2023Q3 - security/krb5: Support libedit in base
Message-ID:  <202308161531.37GFVW06018989@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch 2023Q3 has been updated by cy:

URL: https://cgit.FreeBSD.org/ports/commit/?id=07dc31ec0710a7ab1e031b0423e73518c2b4d0db

commit 07dc31ec0710a7ab1e031b0423e73518c2b4d0db
Author:     Cy Schubert <cy@FreeBSD.org>
AuthorDate: 2023-08-09 23:15:50 +0000
Commit:     Cy Schubert <cy@FreeBSD.org>
CommitDate: 2023-08-16 15:31:23 +0000

    security/krb5: Support libedit in base
    
    Even though libedit is in base FreeBSD, the krb5 ports still depend
    on devel/libedit when the LIBEDIT option is selected. This is because
    ./configure uses pkgconf to determine if libedit exists, ignoring
    libedit in FreeBSD base. This patch adds a new LIBEDIT_BASE option
    which enables LIBEDIT (LIBEDIT_BASE) without installing the
    devel/libedit port.
    
    The GNU READLINE option will remain the default for now but it is
    planned to switch the default to LIBEDIT_BASE at some point. This is
    to reduce the dependency on GNU software and to bring it more into
    line with the planned MIT KRB5 import into FreeBSD base.
    
    (cherry picked from commit e89f84156a8fcb2f81c1f962845f4456b2f62f63)
---
 security/krb5-119/Makefile                       |  6 ++++--
 security/krb5-119/files/patch-configure.ac       | 17 +++++++++++++++++
 security/krb5-119/files/patch-util_ss_listen.c   | 14 ++++++++++++++
 security/krb5-120/Makefile                       |  6 ++++--
 security/krb5-120/files/patch-configure.ac       | 17 +++++++++++++++++
 security/krb5-120/files/patch-util_ss_listen.c   | 14 ++++++++++++++
 security/krb5-121/Makefile                       |  6 ++++--
 security/krb5-121/files/patch-configure.ac       | 17 +++++++++++++++++
 security/krb5-121/files/patch-util_ss_listen.c   | 14 ++++++++++++++
 security/krb5-devel/Makefile                     |  4 +++-
 security/krb5-devel/files/patch-configure.ac     | 17 +++++++++++++++++
 security/krb5-devel/files/patch-util_ss_listen.c | 14 ++++++++++++++
 12 files changed, 139 insertions(+), 7 deletions(-)

diff --git a/security/krb5-119/Makefile b/security/krb5-119/Makefile
index 0cd71c5fdfa6..c4abab6469aa 100644
--- a/security/krb5-119/Makefile
+++ b/security/krb5-119/Makefile
@@ -22,7 +22,7 @@ CONFLICTS=		heimdal krb5 krb5-118 krb5-12*
 CONFLICTS_BUILD=	boringssl
 
 KERBEROSV_URL=		http://web.mit.edu/kerberos/
-USES=			compiler:c++11-lang cpe gmake gettext-runtime \
+USES=			autoreconf compiler:c++11-lang cpe gmake gettext-runtime \
 			gssapi:bootstrap,mit libtool:build localbase \
 			perl5 pkgconfig ssl
 BROKEN_SSL=	openssl30 openssl31
@@ -45,7 +45,7 @@ CPE_PRODUCT=		kerberos
 OPTIONS_DEFINE=		EXAMPLES NLS KRB5_PDF KRB5_HTML DNS_FOR_REALM LDAP LMDB
 OPTIONS_DEFAULT=	KRB5_PDF KRB5_HTML READLINE
 OPTIONS_RADIO=		CMD_LINE_EDITING
-OPTIONS_RADIO_CMD_LINE_EDITING=	READLINE LIBEDIT
+OPTIONS_RADIO_CMD_LINE_EDITING=	READLINE LIBEDIT LIBEDIT_BASE
 CMD_LINE_EDITING_DESC=	Command line editing for kadmin and ktutil
 KRB5_PDF_DESC=		Install krb5 PDF documentation
 KRB5_HTML_DESC=		Install krb5 HTML documentation
@@ -64,6 +64,8 @@ READLINE_USES=		readline
 READLINE_CONFIGURE_WITH=readline
 LIBEDIT_USES=		libedit
 LIBEDIT_CONFIGURE_WITH=	libedit
+LIBEDIT_BASE_CONFIGURE_WITH=	libedit
+LIBEDIT_BASE_DESC=	Use libedit in FreeBSD base
 
 .if defined(KRB5_HOME)
 PREFIX=			${KRB5_HOME}
diff --git a/security/krb5-119/files/patch-configure.ac b/security/krb5-119/files/patch-configure.ac
new file mode 100644
index 000000000000..abbae0e771b3
--- /dev/null
+++ b/security/krb5-119/files/patch-configure.ac
@@ -0,0 +1,17 @@
+--- configure.ac.orig	2023-08-07 11:38:21.000000000 -0700
++++ configure.ac	2023-08-09 14:49:19.833149000 -0700
+@@ -1356,8 +1356,12 @@
+     AC_DEFINE([HAVE_LIBEDIT], 1, [Define if building with libedit.])
+     AC_MSG_NOTICE([Using libedit for readline support])
+   elif test "x$with_libedit" = xyes; then
+-    # We were explicitly asked for libedit and couldn't find it.
+-    AC_MSG_ERROR([Could not detect libedit with pkg-config])
++    AC_MSG_NOTICE([Using libedit in FreeBSD base])
++    AC_CHECK_LIB([edit], [main], :,
++               AC_MSG_ERROR([Could not detect libedit]))
++    AC_DEFINE([HAVE_LIBEDIT], 1, [Define if building with libedit.])
++    RL_CFLAGS=-DFreeBSD_BASE_EDITLINE
++    RL_LIBS='-ledit'
+   else
+     AC_MSG_NOTICE([Not using any readline support])
+   fi
diff --git a/security/krb5-119/files/patch-util_ss_listen.c b/security/krb5-119/files/patch-util_ss_listen.c
new file mode 100644
index 000000000000..127784b0e2c0
--- /dev/null
+++ b/security/krb5-119/files/patch-util_ss_listen.c
@@ -0,0 +1,14 @@
+--- util/ss/listen.c.orig	2023-08-07 11:38:21.000000000 -0700
++++ util/ss/listen.c	2023-08-09 13:09:30.816661000 -0700
+@@ -15,7 +15,11 @@
+ #include <sys/param.h>
+ 
+ #if defined(HAVE_LIBEDIT)
++#if defined(FreeBSD_BASE_EDITLINE)
++#include <edit/readline/readline.h>
++#else
+ #include <editline/readline.h>
++#endif
+ #elif defined(HAVE_READLINE)
+ #include <readline/readline.h>
+ #include <readline/history.h>
diff --git a/security/krb5-120/Makefile b/security/krb5-120/Makefile
index d2557352ae56..dd175bf24bd6 100644
--- a/security/krb5-120/Makefile
+++ b/security/krb5-120/Makefile
@@ -19,7 +19,7 @@ CONFLICTS=		heimdal krb5 krb5-11* krb5-121
 CONFLICTS_BUILD=	boringssl
 
 KERBEROSV_URL=		http://web.mit.edu/kerberos/
-USES=			compiler:c++11-lang cpe gmake gettext-runtime \
+USES=			autoreconf compiler:c++11-lang cpe gmake gettext-runtime \
 			gssapi:bootstrap,mit libtool:build localbase \
 			perl5 pkgconfig ssl
 USE_CSTD=		gnu99
@@ -39,7 +39,7 @@ CPE_PRODUCT=		kerberos
 OPTIONS_DEFINE=		EXAMPLES NLS KRB5_PDF KRB5_HTML DNS_FOR_REALM LDAP LMDB
 OPTIONS_DEFAULT=	KRB5_PDF KRB5_HTML READLINE
 OPTIONS_RADIO=		CMD_LINE_EDITING
-OPTIONS_RADIO_CMD_LINE_EDITING=	READLINE LIBEDIT
+OPTIONS_RADIO_CMD_LINE_EDITING=	READLINE LIBEDIT LIBEDIT_BASE
 CMD_LINE_EDITING_DESC=	Command line editing for kadmin and ktutil
 KRB5_PDF_DESC=		Install krb5 PDF documentation
 KRB5_HTML_DESC=		Install krb5 HTML documentation
@@ -58,6 +58,8 @@ READLINE_USES=		readline
 READLINE_CONFIGURE_WITH=readline
 LIBEDIT_USES=		libedit
 LIBEDIT_CONFIGURE_WITH=	libedit
+LIBEDIT_BASE_CONFIGURE_WITH=	libedit
+LIBEDIT_BASE_DESC=	Use libedit in FreeBSD base
 
 .if defined(KRB5_HOME)
 PREFIX=			${KRB5_HOME}
diff --git a/security/krb5-120/files/patch-configure.ac b/security/krb5-120/files/patch-configure.ac
new file mode 100644
index 000000000000..abbae0e771b3
--- /dev/null
+++ b/security/krb5-120/files/patch-configure.ac
@@ -0,0 +1,17 @@
+--- configure.ac.orig	2023-08-07 11:38:21.000000000 -0700
++++ configure.ac	2023-08-09 14:49:19.833149000 -0700
+@@ -1356,8 +1356,12 @@
+     AC_DEFINE([HAVE_LIBEDIT], 1, [Define if building with libedit.])
+     AC_MSG_NOTICE([Using libedit for readline support])
+   elif test "x$with_libedit" = xyes; then
+-    # We were explicitly asked for libedit and couldn't find it.
+-    AC_MSG_ERROR([Could not detect libedit with pkg-config])
++    AC_MSG_NOTICE([Using libedit in FreeBSD base])
++    AC_CHECK_LIB([edit], [main], :,
++               AC_MSG_ERROR([Could not detect libedit]))
++    AC_DEFINE([HAVE_LIBEDIT], 1, [Define if building with libedit.])
++    RL_CFLAGS=-DFreeBSD_BASE_EDITLINE
++    RL_LIBS='-ledit'
+   else
+     AC_MSG_NOTICE([Not using any readline support])
+   fi
diff --git a/security/krb5-120/files/patch-util_ss_listen.c b/security/krb5-120/files/patch-util_ss_listen.c
new file mode 100644
index 000000000000..127784b0e2c0
--- /dev/null
+++ b/security/krb5-120/files/patch-util_ss_listen.c
@@ -0,0 +1,14 @@
+--- util/ss/listen.c.orig	2023-08-07 11:38:21.000000000 -0700
++++ util/ss/listen.c	2023-08-09 13:09:30.816661000 -0700
+@@ -15,7 +15,11 @@
+ #include <sys/param.h>
+ 
+ #if defined(HAVE_LIBEDIT)
++#if defined(FreeBSD_BASE_EDITLINE)
++#include <edit/readline/readline.h>
++#else
+ #include <editline/readline.h>
++#endif
+ #elif defined(HAVE_READLINE)
+ #include <readline/readline.h>
+ #include <readline/history.h>
diff --git a/security/krb5-121/Makefile b/security/krb5-121/Makefile
index 3338cd4fbe6f..4ba2b5aa5cea 100644
--- a/security/krb5-121/Makefile
+++ b/security/krb5-121/Makefile
@@ -19,7 +19,7 @@ CONFLICTS=		heimdal krb5 krb5-11* krb5-120
 CONFLICTS_BUILD=	boringssl
 
 KERBEROSV_URL=		http://web.mit.edu/kerberos/
-USES=			compiler:c++11-lang cpe gmake gettext-runtime \
+USES=			autoreconf compiler:c++11-lang cpe gmake gettext-runtime \
 			gssapi:bootstrap,mit libtool:build localbase \
 			perl5 pkgconfig ssl
 USE_CSTD=		gnu99
@@ -39,7 +39,7 @@ CPE_PRODUCT=		kerberos
 OPTIONS_DEFINE=		EXAMPLES NLS KRB5_PDF KRB5_HTML DNS_FOR_REALM LDAP LMDB
 OPTIONS_DEFAULT=	KRB5_PDF KRB5_HTML READLINE
 OPTIONS_RADIO=		CMD_LINE_EDITING
-OPTIONS_RADIO_CMD_LINE_EDITING=	READLINE LIBEDIT
+OPTIONS_RADIO_CMD_LINE_EDITING=	READLINE LIBEDIT LIBEDIT_BASE
 CMD_LINE_EDITING_DESC=	Command line editing for kadmin and ktutil
 KRB5_PDF_DESC=		Install krb5 PDF documentation
 KRB5_HTML_DESC=		Install krb5 HTML documentation
@@ -58,6 +58,8 @@ READLINE_USES=		readline
 READLINE_CONFIGURE_WITH=readline
 LIBEDIT_USES=		libedit
 LIBEDIT_CONFIGURE_WITH=	libedit
+LIBEDIT_BASE_CONFIGURE_WITH=	libedit
+LIBEDIT_BASE_DESC=	Use libedit in FreeBSD base
 
 .if defined(KRB5_HOME)
 PREFIX=			${KRB5_HOME}
diff --git a/security/krb5-121/files/patch-configure.ac b/security/krb5-121/files/patch-configure.ac
new file mode 100644
index 000000000000..abbae0e771b3
--- /dev/null
+++ b/security/krb5-121/files/patch-configure.ac
@@ -0,0 +1,17 @@
+--- configure.ac.orig	2023-08-07 11:38:21.000000000 -0700
++++ configure.ac	2023-08-09 14:49:19.833149000 -0700
+@@ -1356,8 +1356,12 @@
+     AC_DEFINE([HAVE_LIBEDIT], 1, [Define if building with libedit.])
+     AC_MSG_NOTICE([Using libedit for readline support])
+   elif test "x$with_libedit" = xyes; then
+-    # We were explicitly asked for libedit and couldn't find it.
+-    AC_MSG_ERROR([Could not detect libedit with pkg-config])
++    AC_MSG_NOTICE([Using libedit in FreeBSD base])
++    AC_CHECK_LIB([edit], [main], :,
++               AC_MSG_ERROR([Could not detect libedit]))
++    AC_DEFINE([HAVE_LIBEDIT], 1, [Define if building with libedit.])
++    RL_CFLAGS=-DFreeBSD_BASE_EDITLINE
++    RL_LIBS='-ledit'
+   else
+     AC_MSG_NOTICE([Not using any readline support])
+   fi
diff --git a/security/krb5-121/files/patch-util_ss_listen.c b/security/krb5-121/files/patch-util_ss_listen.c
new file mode 100644
index 000000000000..127784b0e2c0
--- /dev/null
+++ b/security/krb5-121/files/patch-util_ss_listen.c
@@ -0,0 +1,14 @@
+--- util/ss/listen.c.orig	2023-08-07 11:38:21.000000000 -0700
++++ util/ss/listen.c	2023-08-09 13:09:30.816661000 -0700
+@@ -15,7 +15,11 @@
+ #include <sys/param.h>
+ 
+ #if defined(HAVE_LIBEDIT)
++#if defined(FreeBSD_BASE_EDITLINE)
++#include <edit/readline/readline.h>
++#else
+ #include <editline/readline.h>
++#endif
+ #elif defined(HAVE_READLINE)
+ #include <readline/readline.h>
+ #include <readline/history.h>
diff --git a/security/krb5-devel/Makefile b/security/krb5-devel/Makefile
index 3e1a1babb7a6..db1b204935ce 100644
--- a/security/krb5-devel/Makefile
+++ b/security/krb5-devel/Makefile
@@ -40,7 +40,7 @@ CPE_PRODUCT=		kerberos
 OPTIONS_DEFINE=		EXAMPLES NLS DNS_FOR_REALM LDAP LMDB
 OPTIONS_DEFAULT=	KRB5_PDF KRB5_HTML READLINE
 OPTIONS_RADIO=		CMD_LINE_EDITING
-OPTIONS_RADIO_CMD_LINE_EDITING=	READLINE LIBEDIT
+OPTIONS_RADIO_CMD_LINE_EDITING=	READLINE LIBEDIT LIBEDIT_BASE
 CMD_LINE_EDITING_DESC=	Command line editing for kadmin and ktutil
 DNS_FOR_REALM_DESC=	Enable DNS lookups for Kerberos realm names
 DNS_FOR_REALM_CONFIGURE_ENABLE=	dns-for-realm
@@ -57,6 +57,8 @@ READLINE_USES=		readline
 READLINE_CONFIGURE_WITH=readline
 LIBEDIT_USES=		libedit
 LIBEDIT_CONFIGURE_WITH=	libedit
+LIBEDIT_BASE_CONFIGURE_WITH=	libedit
+LIBEDIT_BASE_DESC=	Use libedit in FreeBSD base
 
 .if defined(KRB5_HOME)
 PREFIX=			${KRB5_HOME}
diff --git a/security/krb5-devel/files/patch-configure.ac b/security/krb5-devel/files/patch-configure.ac
new file mode 100644
index 000000000000..abbae0e771b3
--- /dev/null
+++ b/security/krb5-devel/files/patch-configure.ac
@@ -0,0 +1,17 @@
+--- configure.ac.orig	2023-08-07 11:38:21.000000000 -0700
++++ configure.ac	2023-08-09 14:49:19.833149000 -0700
+@@ -1356,8 +1356,12 @@
+     AC_DEFINE([HAVE_LIBEDIT], 1, [Define if building with libedit.])
+     AC_MSG_NOTICE([Using libedit for readline support])
+   elif test "x$with_libedit" = xyes; then
+-    # We were explicitly asked for libedit and couldn't find it.
+-    AC_MSG_ERROR([Could not detect libedit with pkg-config])
++    AC_MSG_NOTICE([Using libedit in FreeBSD base])
++    AC_CHECK_LIB([edit], [main], :,
++               AC_MSG_ERROR([Could not detect libedit]))
++    AC_DEFINE([HAVE_LIBEDIT], 1, [Define if building with libedit.])
++    RL_CFLAGS=-DFreeBSD_BASE_EDITLINE
++    RL_LIBS='-ledit'
+   else
+     AC_MSG_NOTICE([Not using any readline support])
+   fi
diff --git a/security/krb5-devel/files/patch-util_ss_listen.c b/security/krb5-devel/files/patch-util_ss_listen.c
new file mode 100644
index 000000000000..127784b0e2c0
--- /dev/null
+++ b/security/krb5-devel/files/patch-util_ss_listen.c
@@ -0,0 +1,14 @@
+--- util/ss/listen.c.orig	2023-08-07 11:38:21.000000000 -0700
++++ util/ss/listen.c	2023-08-09 13:09:30.816661000 -0700
+@@ -15,7 +15,11 @@
+ #include <sys/param.h>
+ 
+ #if defined(HAVE_LIBEDIT)
++#if defined(FreeBSD_BASE_EDITLINE)
++#include <edit/readline/readline.h>
++#else
+ #include <editline/readline.h>
++#endif
+ #elif defined(HAVE_READLINE)
+ #include <readline/readline.h>
+ #include <readline/history.h>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202308161531.37GFVW06018989>