From f9ebcf0d208c39e8e8d377516a76d073848f38d2 Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Thu, 20 Oct 2022 11:26:29 +0000 Subject: [PATCH] Try to avoid trouble with ABI changes of (lib)readline with only minor version update OBS-URL: https://build.opensuse.org/package/show/Base:System/bash?expand=0&rev=362 --- bash-rpmlintrc | 1 - bash.changes | 6 ++++++ bash.spec | 10 ++++++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/bash-rpmlintrc b/bash-rpmlintrc index dccf35e1..154660ea 100644 --- a/bash-rpmlintrc +++ b/bash-rpmlintrc @@ -1,6 +1,5 @@ addFilter(".*shared-library-without-dependency-information.*") addFilter(".*zero-length.*/etc/skel/\..*") addFilter(".*call-to-mktemp.*/usr/bin/bash.*") -addFilter(".*bash-loadables\..*:.*W:.*unstripped-binary-or-object.*/usr/lib.*/bash/.*") addFilter(".*W:.*patch-not-applied.*Patch.*:.*bash-4\.3-winch\.dif.*") addFilter(".*W:.*macro-in-comment.*%patch.*") diff --git a/bash.changes b/bash.changes index e2ea1dae..07676702 100644 --- a/bash.changes +++ b/bash.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Oct 20 11:14:16 UTC 2022 - Dr. Werner Fink + +- Explicit require versioned libreadline8 as we face new ABI + functions used by the bash (boo#1204336) + ------------------------------------------------------------------- Wed Oct 12 17:37:47 UTC 2022 - Andreas Schwab diff --git a/bash.spec b/bash.spec index 7bc645cc..8e626b2e 100644 --- a/bash.spec +++ b/bash.spec @@ -23,6 +23,8 @@ %endif # Unicode tests do alloc to much memory %bcond_with altarray +%define rl_major 8 +%define rl_version 8.2 %define bextend %{nil} %define bversion 5.2 @@ -105,8 +107,10 @@ BuildRequires: pkgconfig(ncurses) BuildRequires: pkgconfig(readline) = 8.2 %if %{with alternatives} Requires(post): update-alternatives +Requires(post): libreadline%{rl_major} = %{rl_version} Requires(preun):update-alternatives %endif +Requires: libreadline%{rl_major} = %{rl_version} Suggests: bash-doc = %{version} Suggests: command-not-found Provides: /bin/bash @@ -283,6 +287,12 @@ rl1=($(sed -rn '/RL_READLINE_VERSION/p' lib/readline/readline.h)) rl2=($(sed -rn '/RL_READLINE_VERSION/p' %{_includedir}/readline/readline.h)) test ${rl1[2]} = ${rl2[2]} || exit 1 +# Sometimes we face major ABI change(s) but only a minor version change +rl1=($(sed -rn '/RL_VERSION_MAJOR/p' lib/readline/readline.h)) +test ${rl1[2]} = %{rl_major} || exit 1 +rl2=($(sed -rn '/RL_VERSION_MINOR/p' lib/readline/readline.h)) +test ${rl1[2]}.${rl2[2]} = %{rl_version} || exit 1 + %if 0%{?qemu_user_space_build} # Something in qemu clobbers the signal mask to block SIGALRM during the # execution of this test, causing it to hang. Skip it.