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
This commit is contained in:
Dr. Werner Fink 2022-10-20 11:26:29 +00:00 committed by Git OBS Bridge
parent f547224b00
commit f9ebcf0d20
3 changed files with 16 additions and 1 deletions

View File

@ -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.*")

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Thu Oct 20 11:14:16 UTC 2022 - Dr. Werner Fink <werner@suse.de>
- 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 <schwab@suse.de>

View File

@ -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.