Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Probe fails for libncurses5-dev #521

Merged
merged 1 commit into from
May 5, 2024

Conversation

03juan
Copy link
Contributor

@03juan 03juan commented May 5, 2024

Description

Relax the probe for libncurses package in Debian-based distros.

Closes #518.

Local testing

All commands run with up-to-date apt sources.

Debian 12 (bookworm) with libncurses5-dev installed
$ dpkg-query -l 'libncurses[^w]*dev'
...header...
ii  libncurses-dev:amd64  6.4-4        amd64        developer\'s libraries for ncurses
ii  libncurses5-dev:amd64 6.4-4        amd64        transitional package for libncurses-dev

$ dpkg-query -Wf='${db:Status-abbrev}' "libncurses[^w]*dev"
ii ii

$ ./kerl build 26.2.5
Downloading (from GitHub) Erlang/OTP 26.2.5 to /home/juan/.kerl/archives...
Extracting source code for normal build...
Building (normal) Erlang/OTP 26.2.5 (26.2.5); please wait...
Initializing (build) log file at /home/juan/.kerl/builds/26.2.5/otp_build_26.2.5.log.
^C

$ head -13 /home/juan/.kerl/builds/26.2.5/otp_build_26.2.5.log
*** Sun May  5 03:41:26 PM SAST 2024 - kerl build 26.2.5 ***
Build options:
*
[packages] Found Debian GNU/Linux 12 (bookworm) with ID debian
[packages] Release ID found in /etc/os-release: debian
[packages] Found package declarations for your Linux distro: debian
[packages] Probe success for automake (distro: debian)!
[packages] Probe success for autoconf (distro: debian)!
[packages] Probe success for gcc (distro: debian)!
[packages] Probe success for make (distro: debian)!
[packages] Probe success for libssl-dev (distro: debian)!
[packages] Probe success for libncurses[^w]*dev (distro: debian)!
[packages] Probe success for g++ (distro: debian)!
Ubuntu 22.04 (jammy) with libncurses5-dev installed
$ dpkg-query -l 'libncurses[^w]*dev'
...header...
ii  libncurses-dev:amd64  6.3-2ubuntu0.1 amd64        developer\'s libraries for ncurses
ii  libncurses5-dev:amd64 6.3-2ubuntu0.1 amd64        transitional package for libncurses-dev

$ dpkg-query -Wf='${db:Status-abbrev}' "libncurses[^w]*dev"
ii ii

$ ./kerl build 26.2.5
Downloading (from GitHub) Erlang/OTP 26.2.5 to /home/juan/.kerl/archives...
Extracting source code for normal build...
Building (normal) Erlang/OTP 26.2.5 (26.2.5); please wait...
Initializing (build) log file at /home/juan/.kerl/builds/26.2.5/otp_build_26.2.5.log.
^C

$ head -13 /home/juan/.kerl/builds/26.2.5/otp_build_26.2.5.log
*** Sun May  5 15:49:00 SAST 2024 - kerl build 26.2.5 ***
Build options:
*
[packages] Found Ubuntu 22.04.4 LTS with ID ubuntu
[packages] Release ID found in /etc/os-release: ubuntu
[packages] Found package declarations for your Linux distro: ubuntu
[packages] Probe success for automake (distro: ubuntu)!
[packages] Probe success for autoconf (distro: ubuntu)!
[packages] Probe success for gcc (distro: ubuntu)!
[packages] Probe success for make (distro: ubuntu)!
[packages] Probe success for libssl-dev (distro: ubuntu)!
[packages] Probe success for libncurses[^w]*dev (distro: ubuntu)!
[packages] Probe success for g++ (distro: ubuntu)!
Ubuntu 24.04 (noble) with libncurses-dev installed
$ dpkg-query -l 'libncurses[^w]*dev'
...header...
ii  libncurses-dev:amd64 6.4+20240113-1ubuntu2 amd64        developer\'s libraries for ncurses
un  libncurses5-dev      <none>                <none>       (no description available)

$ dpkg-query -Wf='${db:Status-abbrev}' "libncurses[^w]*dev" 
ii un

$ ./kerl build 26.2.5       
Downloading (from GitHub) Erlang/OTP 26.2.5 to /home/juan/.kerl/archives...
Extracting source code for normal build...
Building (normal) Erlang/OTP 26.2.5 (26.2.5); please wait...
Initializing (build) log file at /home/juan/.kerl/builds/26.2.5/otp_build_26.2.5.log.
^C

$ head -13 /home/juan/.kerl/builds/26.2.5/otp_build_26.2.5.log 
*** Sun May  5 15:34:23 SAST 2024 - kerl build 26.2.5 ***
Build options:
* 
[packages] Found Ubuntu 24.04 LTS with ID ubuntu
[packages] Release ID found in /etc/os-release: ubuntu
[packages] Found package declarations for your Linux distro: ubuntu
[packages] Probe success for automake (distro: ubuntu)!
[packages] Probe success for autoconf (distro: ubuntu)!
[packages] Probe success for gcc (distro: ubuntu)!
[packages] Probe success for make (distro: ubuntu)!
[packages] Probe success for libssl-dev (distro: ubuntu)!
[packages] Probe success for libncurses[^w]*dev (distro: ubuntu)!
[packages] Probe success for g++ (distro: ubuntu)!

@03juan
Copy link
Contributor Author

03juan commented May 5, 2024

By the way, what is the philosophy around preferring the wildcard probe instead of outright requiring libncurses-dev?

According to the ncurses_6.4+20240113-1ubuntu2 changelog libncurses5-dev has been a transitional package since 2018

ncurses (6.1+20180210-1) experimental; urgency=low

  • Switch to the ncurses 6 ABI (Closes: #230990), but continue to ship
    ABI 5 shared library packages for now.
  • Change the section of the ABI 5 library packages to oldlibs and update
    their descriptions accordingly.
  • Merge lib{tinfo,ncurses5,ncursesw5}-dev into a new libncurses-dev
    package and turn them into transitional packages (Closes: #840429).
    Add a lintian override for the resulting duplicate-short-description
    notices.
  • Merge the multilib -dev packages into single lib{32,64}ncurses-dev
    packages which have Conflicts/Replaces/Provides on the old ones.

-- Sven Joachim svenjoac@gmx.de Thu, 22 Feb 2018 20:23:16 +0100

and going forward it's no longer being built.

ncurses (6.4+20230603-1) experimental; urgency=low

  • Stop building the empty transitional packages libtinfo-dev
    and libncurses{,w}5-dev (Closes: #1032708, #1032740, #1032741).

-- Sven Joachim svenjoac@gmx.de Thu, 15 Jun 2023 18:34:20 +0200

@paulo-ferraz-oliveira
Copy link
Contributor

what is the philosophy

I don't think there's a philosophy 😄. I didn't invest much time understanding how that lib was renamed/deprecated/updated.

I'd say, though, that if the name is gonna change we can adapt to the new one, even if that means that older installations might complain about it (if I'm not mistaken installation doesn't stop, this is just a warning).

@03juan
Copy link
Contributor Author

03juan commented May 5, 2024

Haha fair enough. Well this works well enough so up to you if you want to leave as is. Maybe at least we can note the OS package change in the readme?

@paulo-ferraz-oliveira
Copy link
Contributor

I'm Ok to keep as-is (your current pr), in any case (i.e. if tests pass I'm merging). And no need to change the README; this probe stuff is a best-effort, not a strong rule 😄. More info in the README, here.

@paulo-ferraz-oliveira paulo-ferraz-oliveira merged commit d2a466f into kerl:master May 5, 2024
9 checks passed
@paulo-ferraz-oliveira
Copy link
Contributor

Merged. Thanks for the pr.

@paulo-ferraz-oliveira paulo-ferraz-oliveira changed the title fix: Probe failed for libncurses5-dev Probe fails for libncurses5-dev May 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Ubuntu 24.04: kerl generates a warning for non-existing libncurses5-dev package
2 participants