php / php/php-src

GNU Readline should be replaced with libedit

Open
#15,882 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

  • #13184 by @petk — closed without merging
Bug Extension: readline Status: Needs Triage
Dominant language
C
Stars
40.4k
Forks
8.1k
Avg merge
2d 13h
Merged PRs (30d)
96

Description

Description

The following when using Autotools build system:

./buildconf
./configure --with-readline
# or ./configure --with-readline --enable-phpdbg-readline
make

Results in successful build, but the linked library GNU Readline is licensed under the GNU GPL 3 license, which means that PHP then shouldn't be distributed to anyone. PHP provides linking with the libedit library (--with-libedit) as a replacement in this case. However, build system should not contain such issues. This is not that obvious for people just starting to build PHP and trying to provide it to other users.

There is https://github.com/php/php-src/pull/13184 where the GNU Readline is replaced with libedit only.

Should we target PHP 8.4?

PHP Version

any

Operating System

*nix

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Autotools path in buildconf and the configure options --with-readline, --with-libedit, and --enable-phpdbg-readline. Review closed PR 13184 and verify the relevant build commands no longer select GNU Readline while still completing successfully; the issue targets PHP 8.4 but does not specify a confirmed target.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
build-system
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.