* [PATCH] xfsprogs: remove libreadline support
@ 2020-04-27 7:26 Christoph Hellwig
2020-04-27 17:06 ` Darrick J. Wong
0 siblings, 1 reply; 2+ messages in thread
From: Christoph Hellwig @ 2020-04-27 7:26 UTC (permalink / raw)
To: sandeen; +Cc: linux-xfs
libreadline has been relicensed to GPLv3 and thus incompatible to
xfsprogs many years ago, and all the distros have dropped or are
in the stages of dropping the last GPLv2 version. As the BSD
licensed libeditline provides the same functionality there is no
need to keep the obsolete libreadline support around.
Signed-off-by: Christoph Hellwig <hch@lst.de>
---
configure.ac | 7 -------
db/Makefile | 5 -----
db/input.c | 26 ++------------------------
growfs/Makefile | 3 ---
include/builddefs.in | 2 --
io/Makefile | 4 ----
libxcmd/Makefile | 5 -----
libxcmd/input.c | 18 ++----------------
quota/Makefile | 5 -----
spaceman/Makefile | 4 ----
10 files changed, 4 insertions(+), 75 deletions(-)
diff --git a/configure.ac b/configure.ac
index c609ff6a..0d1ca43e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -42,13 +42,6 @@ AC_ARG_ENABLE(blkid,
enable_blkid=yes)
AC_SUBST(enable_blkid)
-AC_ARG_ENABLE(readline,
-[ --enable-readline=[yes/no] Enable readline command editing [default=no]],
- test $enable_readline = yes && libreadline="-lreadline",
- enable_readline=no)
-AC_SUBST(libreadline)
-AC_SUBST(enable_readline)
-
AC_ARG_ENABLE(editline,
[ --enable-editline=[yes/no] Enable editline command editing [default=no]],
test $enable_editline = yes && libeditline="-ledit",
diff --git a/db/Makefile b/db/Makefile
index ed9f56c2..9bd9bf51 100644
--- a/db/Makefile
+++ b/db/Makefile
@@ -21,11 +21,6 @@ LLDLIBS = $(LIBXFS) $(LIBXLOG) $(LIBFROG) $(LIBUUID) $(LIBRT) $(LIBPTHREAD)
LTDEPENDENCIES = $(LIBXFS) $(LIBXLOG) $(LIBFROG)
LLDFLAGS += -static-libtool-libs
-ifeq ($(ENABLE_READLINE),yes)
-LLDLIBS += $(LIBREADLINE) $(LIBTERMCAP)
-CFLAGS += -DENABLE_READLINE
-endif
-
ifeq ($(ENABLE_EDITLINE),yes)
LLDLIBS += $(LIBEDITLINE) $(LIBTERMCAP)
CFLAGS += -DENABLE_EDITLINE
diff --git a/db/input.c b/db/input.c
index 4d6c7376..553025bc 100644
--- a/db/input.c
+++ b/db/input.c
@@ -13,10 +13,7 @@
#include "malloc.h"
#include "init.h"
-#if defined(ENABLE_READLINE)
-# include <readline/history.h>
-# include <readline/readline.h>
-#elif defined(ENABLE_EDITLINE)
+#ifdef ENABLE_EDITLINE
# include <histedit.h>
#endif
@@ -211,26 +208,7 @@ fetchline_internal(void)
return rval;
}
-#ifdef ENABLE_READLINE
-char *
-fetchline(void)
-{
- char *line;
-
- if (inputstacksize == 1) {
- line = readline(get_prompt());
- if (!line)
- dbprintf("\n");
- else if (line && *line) {
- add_history(line);
- logprintf("%s", line);
- }
- } else {
- line = fetchline_internal();
- }
- return line;
-}
-#elif defined(ENABLE_EDITLINE)
+#ifdef ENABLE_EDITLINE
static char *el_get_prompt(EditLine *e) { return get_prompt(); }
char *
fetchline(void)
diff --git a/growfs/Makefile b/growfs/Makefile
index 4104cc0d..a107d348 100644
--- a/growfs/Makefile
+++ b/growfs/Makefile
@@ -10,9 +10,6 @@ LTCOMMAND = xfs_growfs
CFILES = xfs_growfs.c
LLDLIBS = $(LIBXFS) $(LIBXCMD) $(LIBFROG) $(LIBUUID) $(LIBRT) $(LIBPTHREAD)
-ifeq ($(ENABLE_READLINE),yes)
-LLDLIBS += $(LIBREADLINE) $(LIBTERMCAP)
-endif
ifeq ($(ENABLE_EDITLINE),yes)
LLDLIBS += $(LIBEDITLINE) $(LIBTERMCAP)
diff --git a/include/builddefs.in b/include/builddefs.in
index 6ed9d295..30b2727a 100644
--- a/include/builddefs.in
+++ b/include/builddefs.in
@@ -25,7 +25,6 @@ LIBUUID = @libuuid@
LIBPTHREAD = @libpthread@
LIBTERMCAP = @libtermcap@
LIBEDITLINE = @libeditline@
-LIBREADLINE = @libreadline@
LIBBLKID = @libblkid@
LIBDEVMAPPER = @libdevmapper@
LIBXFS = $(TOPDIR)/libxfs/libxfs.la
@@ -82,7 +81,6 @@ RPM_VERSION = @rpm_version@
ENABLE_SHARED = @enable_shared@
ENABLE_GETTEXT = @enable_gettext@
ENABLE_EDITLINE = @enable_editline@
-ENABLE_READLINE = @enable_readline@
ENABLE_BLKID = @enable_blkid@
ENABLE_SCRUB = @enable_scrub@
diff --git a/io/Makefile b/io/Makefile
index 1112605e..71741926 100644
--- a/io/Makefile
+++ b/io/Makefile
@@ -68,10 +68,6 @@ ifeq ($(HAVE_SYNCFS),yes)
LCFLAGS += -DHAVE_SYNCFS
endif
-ifeq ($(ENABLE_READLINE),yes)
-LLDLIBS += $(LIBREADLINE) $(LIBTERMCAP)
-endif
-
ifeq ($(ENABLE_EDITLINE),yes)
LLDLIBS += $(LIBEDITLINE) $(LIBTERMCAP)
endif
diff --git a/libxcmd/Makefile b/libxcmd/Makefile
index f9bc1c5c..70e54308 100644
--- a/libxcmd/Makefile
+++ b/libxcmd/Makefile
@@ -14,11 +14,6 @@ LTLDFLAGS += -static
CFILES = command.c input.c help.c quit.c
-ifeq ($(ENABLE_READLINE),yes)
-LCFLAGS += -DENABLE_READLINE
-LTLIBS += $(LIBREADLINE) $(LIBTERMCAP)
-endif
-
ifeq ($(ENABLE_EDITLINE),yes)
LCFLAGS += -DENABLE_EDITLINE
LTLIBS += $(LIBEDITLINE) $(LIBTERMCAP)
diff --git a/libxcmd/input.c b/libxcmd/input.c
index 137856e3..203110df 100644
--- a/libxcmd/input.c
+++ b/libxcmd/input.c
@@ -9,10 +9,7 @@
#include <ctype.h>
#include <stdbool.h>
-#if defined(ENABLE_READLINE)
-# include <readline/history.h>
-# include <readline/readline.h>
-#elif defined(ENABLE_EDITLINE)
+#ifdef ENABLE_EDITLINE
# include <histedit.h>
#endif
@@ -28,18 +25,7 @@ get_prompt(void)
return prompt;
}
-#if defined(ENABLE_READLINE)
-char *
-fetchline(void)
-{
- char *line;
-
- line = readline(get_prompt());
- if (line && *line)
- add_history(line);
- return line;
-}
-#elif defined(ENABLE_EDITLINE)
+#ifdef ENABLE_EDITLINE
static char *el_get_prompt(EditLine *e) { return get_prompt(); }
char *
fetchline(void)
diff --git a/quota/Makefile b/quota/Makefile
index 384f023a..da5a1489 100644
--- a/quota/Makefile
+++ b/quota/Makefile
@@ -14,11 +14,6 @@ LLDLIBS = $(LIBXCMD) $(LIBFROG)
LTDEPENDENCIES = $(LIBXCMD) $(LIBFROG)
LLDFLAGS = -static
-ifeq ($(ENABLE_READLINE),yes)
-LLDLIBS += $(LIBREADLINE) $(LIBTERMCAP)
-CFLAGS += -DENABLE_READLINE
-endif
-
ifeq ($(ENABLE_EDITLINE),yes)
LLDLIBS += $(LIBEDITLINE) $(LIBTERMCAP)
CFLAGS += -DENABLE_EDITLINE
diff --git a/spaceman/Makefile b/spaceman/Makefile
index d01aa74a..2a366918 100644
--- a/spaceman/Makefile
+++ b/spaceman/Makefile
@@ -14,10 +14,6 @@ LLDLIBS = $(LIBXCMD) $(LIBFROG)
LTDEPENDENCIES = $(LIBXCMD) $(LIBFROG)
LLDFLAGS = -static
-ifeq ($(ENABLE_READLINE),yes)
-LLDLIBS += $(LIBREADLINE) $(LIBTERMCAP)
-endif
-
ifeq ($(ENABLE_EDITLINE),yes)
LLDLIBS += $(LIBEDITLINE) $(LIBTERMCAP)
endif
--
2.26.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] xfsprogs: remove libreadline support
2020-04-27 7:26 [PATCH] xfsprogs: remove libreadline support Christoph Hellwig
@ 2020-04-27 17:06 ` Darrick J. Wong
0 siblings, 0 replies; 2+ messages in thread
From: Darrick J. Wong @ 2020-04-27 17:06 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: sandeen, linux-xfs
On Mon, Apr 27, 2020 at 09:26:03AM +0200, Christoph Hellwig wrote:
> libreadline has been relicensed to GPLv3 and thus incompatible to
> xfsprogs many years ago, and all the distros have dropped or are
> in the stages of dropping the last GPLv2 version. As the BSD
> licensed libeditline provides the same functionality there is no
> need to keep the obsolete libreadline support around.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
Seems reasonable, but did you notice that xfs_io segfaults if you build
with libedit and feed stdin garbage/EOF? :)
Anyway this is a straightforward removal, so:
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
--D
> ---
> configure.ac | 7 -------
> db/Makefile | 5 -----
> db/input.c | 26 ++------------------------
> growfs/Makefile | 3 ---
> include/builddefs.in | 2 --
> io/Makefile | 4 ----
> libxcmd/Makefile | 5 -----
> libxcmd/input.c | 18 ++----------------
> quota/Makefile | 5 -----
> spaceman/Makefile | 4 ----
> 10 files changed, 4 insertions(+), 75 deletions(-)
>
> diff --git a/configure.ac b/configure.ac
> index c609ff6a..0d1ca43e 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -42,13 +42,6 @@ AC_ARG_ENABLE(blkid,
> enable_blkid=yes)
> AC_SUBST(enable_blkid)
>
> -AC_ARG_ENABLE(readline,
> -[ --enable-readline=[yes/no] Enable readline command editing [default=no]],
> - test $enable_readline = yes && libreadline="-lreadline",
> - enable_readline=no)
> -AC_SUBST(libreadline)
> -AC_SUBST(enable_readline)
> -
> AC_ARG_ENABLE(editline,
> [ --enable-editline=[yes/no] Enable editline command editing [default=no]],
> test $enable_editline = yes && libeditline="-ledit",
> diff --git a/db/Makefile b/db/Makefile
> index ed9f56c2..9bd9bf51 100644
> --- a/db/Makefile
> +++ b/db/Makefile
> @@ -21,11 +21,6 @@ LLDLIBS = $(LIBXFS) $(LIBXLOG) $(LIBFROG) $(LIBUUID) $(LIBRT) $(LIBPTHREAD)
> LTDEPENDENCIES = $(LIBXFS) $(LIBXLOG) $(LIBFROG)
> LLDFLAGS += -static-libtool-libs
>
> -ifeq ($(ENABLE_READLINE),yes)
> -LLDLIBS += $(LIBREADLINE) $(LIBTERMCAP)
> -CFLAGS += -DENABLE_READLINE
> -endif
> -
> ifeq ($(ENABLE_EDITLINE),yes)
> LLDLIBS += $(LIBEDITLINE) $(LIBTERMCAP)
> CFLAGS += -DENABLE_EDITLINE
> diff --git a/db/input.c b/db/input.c
> index 4d6c7376..553025bc 100644
> --- a/db/input.c
> +++ b/db/input.c
> @@ -13,10 +13,7 @@
> #include "malloc.h"
> #include "init.h"
>
> -#if defined(ENABLE_READLINE)
> -# include <readline/history.h>
> -# include <readline/readline.h>
> -#elif defined(ENABLE_EDITLINE)
> +#ifdef ENABLE_EDITLINE
> # include <histedit.h>
> #endif
>
> @@ -211,26 +208,7 @@ fetchline_internal(void)
> return rval;
> }
>
> -#ifdef ENABLE_READLINE
> -char *
> -fetchline(void)
> -{
> - char *line;
> -
> - if (inputstacksize == 1) {
> - line = readline(get_prompt());
> - if (!line)
> - dbprintf("\n");
> - else if (line && *line) {
> - add_history(line);
> - logprintf("%s", line);
> - }
> - } else {
> - line = fetchline_internal();
> - }
> - return line;
> -}
> -#elif defined(ENABLE_EDITLINE)
> +#ifdef ENABLE_EDITLINE
> static char *el_get_prompt(EditLine *e) { return get_prompt(); }
> char *
> fetchline(void)
> diff --git a/growfs/Makefile b/growfs/Makefile
> index 4104cc0d..a107d348 100644
> --- a/growfs/Makefile
> +++ b/growfs/Makefile
> @@ -10,9 +10,6 @@ LTCOMMAND = xfs_growfs
> CFILES = xfs_growfs.c
>
> LLDLIBS = $(LIBXFS) $(LIBXCMD) $(LIBFROG) $(LIBUUID) $(LIBRT) $(LIBPTHREAD)
> -ifeq ($(ENABLE_READLINE),yes)
> -LLDLIBS += $(LIBREADLINE) $(LIBTERMCAP)
> -endif
>
> ifeq ($(ENABLE_EDITLINE),yes)
> LLDLIBS += $(LIBEDITLINE) $(LIBTERMCAP)
> diff --git a/include/builddefs.in b/include/builddefs.in
> index 6ed9d295..30b2727a 100644
> --- a/include/builddefs.in
> +++ b/include/builddefs.in
> @@ -25,7 +25,6 @@ LIBUUID = @libuuid@
> LIBPTHREAD = @libpthread@
> LIBTERMCAP = @libtermcap@
> LIBEDITLINE = @libeditline@
> -LIBREADLINE = @libreadline@
> LIBBLKID = @libblkid@
> LIBDEVMAPPER = @libdevmapper@
> LIBXFS = $(TOPDIR)/libxfs/libxfs.la
> @@ -82,7 +81,6 @@ RPM_VERSION = @rpm_version@
> ENABLE_SHARED = @enable_shared@
> ENABLE_GETTEXT = @enable_gettext@
> ENABLE_EDITLINE = @enable_editline@
> -ENABLE_READLINE = @enable_readline@
> ENABLE_BLKID = @enable_blkid@
> ENABLE_SCRUB = @enable_scrub@
>
> diff --git a/io/Makefile b/io/Makefile
> index 1112605e..71741926 100644
> --- a/io/Makefile
> +++ b/io/Makefile
> @@ -68,10 +68,6 @@ ifeq ($(HAVE_SYNCFS),yes)
> LCFLAGS += -DHAVE_SYNCFS
> endif
>
> -ifeq ($(ENABLE_READLINE),yes)
> -LLDLIBS += $(LIBREADLINE) $(LIBTERMCAP)
> -endif
> -
> ifeq ($(ENABLE_EDITLINE),yes)
> LLDLIBS += $(LIBEDITLINE) $(LIBTERMCAP)
> endif
> diff --git a/libxcmd/Makefile b/libxcmd/Makefile
> index f9bc1c5c..70e54308 100644
> --- a/libxcmd/Makefile
> +++ b/libxcmd/Makefile
> @@ -14,11 +14,6 @@ LTLDFLAGS += -static
>
> CFILES = command.c input.c help.c quit.c
>
> -ifeq ($(ENABLE_READLINE),yes)
> -LCFLAGS += -DENABLE_READLINE
> -LTLIBS += $(LIBREADLINE) $(LIBTERMCAP)
> -endif
> -
> ifeq ($(ENABLE_EDITLINE),yes)
> LCFLAGS += -DENABLE_EDITLINE
> LTLIBS += $(LIBEDITLINE) $(LIBTERMCAP)
> diff --git a/libxcmd/input.c b/libxcmd/input.c
> index 137856e3..203110df 100644
> --- a/libxcmd/input.c
> +++ b/libxcmd/input.c
> @@ -9,10 +9,7 @@
> #include <ctype.h>
> #include <stdbool.h>
>
> -#if defined(ENABLE_READLINE)
> -# include <readline/history.h>
> -# include <readline/readline.h>
> -#elif defined(ENABLE_EDITLINE)
> +#ifdef ENABLE_EDITLINE
> # include <histedit.h>
> #endif
>
> @@ -28,18 +25,7 @@ get_prompt(void)
> return prompt;
> }
>
> -#if defined(ENABLE_READLINE)
> -char *
> -fetchline(void)
> -{
> - char *line;
> -
> - line = readline(get_prompt());
> - if (line && *line)
> - add_history(line);
> - return line;
> -}
> -#elif defined(ENABLE_EDITLINE)
> +#ifdef ENABLE_EDITLINE
> static char *el_get_prompt(EditLine *e) { return get_prompt(); }
> char *
> fetchline(void)
> diff --git a/quota/Makefile b/quota/Makefile
> index 384f023a..da5a1489 100644
> --- a/quota/Makefile
> +++ b/quota/Makefile
> @@ -14,11 +14,6 @@ LLDLIBS = $(LIBXCMD) $(LIBFROG)
> LTDEPENDENCIES = $(LIBXCMD) $(LIBFROG)
> LLDFLAGS = -static
>
> -ifeq ($(ENABLE_READLINE),yes)
> -LLDLIBS += $(LIBREADLINE) $(LIBTERMCAP)
> -CFLAGS += -DENABLE_READLINE
> -endif
> -
> ifeq ($(ENABLE_EDITLINE),yes)
> LLDLIBS += $(LIBEDITLINE) $(LIBTERMCAP)
> CFLAGS += -DENABLE_EDITLINE
> diff --git a/spaceman/Makefile b/spaceman/Makefile
> index d01aa74a..2a366918 100644
> --- a/spaceman/Makefile
> +++ b/spaceman/Makefile
> @@ -14,10 +14,6 @@ LLDLIBS = $(LIBXCMD) $(LIBFROG)
> LTDEPENDENCIES = $(LIBXCMD) $(LIBFROG)
> LLDFLAGS = -static
>
> -ifeq ($(ENABLE_READLINE),yes)
> -LLDLIBS += $(LIBREADLINE) $(LIBTERMCAP)
> -endif
> -
> ifeq ($(ENABLE_EDITLINE),yes)
> LLDLIBS += $(LIBEDITLINE) $(LIBTERMCAP)
> endif
> --
> 2.26.1
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-04-27 17:06 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-04-27 7:26 [PATCH] xfsprogs: remove libreadline support Christoph Hellwig
2020-04-27 17:06 ` Darrick J. Wong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox