Source: libedit Severity: wishlist Tags: patch Hi,
This is a proposal to introduce one additional development library to libedit. It is the go-to package to compile readline-enabled software that cannot use readline since its license change to GPL-3. With #737301, the last GPL-2 readline version was orphaned and is not maintained for 4.5 years. Only two packages still depend on it: lvm2 and xfsprogs.
However, there are a lot of packages which have patches on them to link with libedit instead of readline. Also, there is software in the archive that depends on libreadline8 even though their licenses are incompatible, e.g., see bible-kjv issue #977639.
For both the existing patched software and the license incompatible software, a development library that provides the libreadline-dev file names but resolves them to libedit-dev files would reduce (for some packages even eliminate) the effort that is involved in porting a package to use libedit over readline.
A patch with such a shim package called libeditreadline-dev is included. It only contains symbolic links. I tested it with bible-kjv, lvm2, and xfsprogs. The only change that was needed to build them with libedit instead of readline was replacing libreadline-dev with libeditreadline-dev in their Build-Dependencies.
Regards, Bastian
From: Bastian Germann <bastiangerm...@fishpost.de> Date: Fri, 18 Dec 2020 13:15:25 +0100 Subject: Add a shim readline development library With DEB_HOST_MULTIARCH in the .links file, debhelper-compat 13 is needed. This implies ignoring the libedit.la file. --- debian/compat | 1 - debian/control | 18 +++++++++++++++++- debian/libeditreadline-dev.links | 5 +++++ debian/not-installed | 1 + 4 files changed, 23 insertions(+), 2 deletions(-) delete mode 100644 debian/compat create mode 100644 debian/libeditreadline-dev.links create mode 100644 debian/not-installed diff --git a/debian/compat b/debian/compat deleted file mode 100644 index b4de394..0000000 --- a/debian/compat +++ /dev/null @@ -1 +0,0 @@ -11 diff --git a/debian/control b/debian/control index cdce9cc..ca8232c 100644 --- a/debian/control +++ b/debian/control @@ -7,7 +7,7 @@ Uploaders: Sylvestre Ledru <sylves...@debian.org>, Rules-Requires-Root: no Build-Depends: - debhelper (>= 11), + debhelper-compat (= 13), pkg-config, groff-base, libbsd-dev (>= 0.1.3), @@ -50,3 +50,19 @@ Description: BSD editline and history libraries (development files) history, and tokenization functions. . It slightly resembles GNU readline. + +Package: libeditreadline-dev +Section: libdevel +Architecture: any +Multi-Arch: same +Depends: + ${misc:Depends}, + libedit-dev +Conflicts: libreadline-dev, libreadline5-dev, libreadline-gplv2-dev +Description: BSD editline and history libraries (shim development files) + GNU readline changed its license from GPL-2 to GPL-3 with version 6, + which excludes GPL-2-only programs from using current readline versions. + editline resembles readline functionally and with regards to its API. + . + This is a development shim library that can be used to link a GPL-2-only + program that depends on readline with editline. diff --git a/debian/libeditreadline-dev.links b/debian/libeditreadline-dev.links new file mode 100644 index 0000000..ebb9fb7 --- /dev/null +++ b/debian/libeditreadline-dev.links @@ -0,0 +1,5 @@ +usr/include/editline usr/include/readline +usr/lib/${DEB_HOST_MULTIARCH}/libedit.a usr/lib/${DEB_HOST_MULTIARCH}/libhistory.a +usr/lib/${DEB_HOST_MULTIARCH}/libedit.so usr/lib/${DEB_HOST_MULTIARCH}/libhistory.so +usr/lib/${DEB_HOST_MULTIARCH}/libedit.a usr/lib/${DEB_HOST_MULTIARCH}/libreadline.a +usr/lib/${DEB_HOST_MULTIARCH}/libedit.so usr/lib/${DEB_HOST_MULTIARCH}/libreadline.so diff --git a/debian/not-installed b/debian/not-installed new file mode 100644 index 0000000..1737e93 --- /dev/null +++ b/debian/not-installed @@ -0,0 +1 @@ +usr/lib/*/libedit.la