SHA256
3
0
forked from pool/bash

Accepting request 585952 from home:Andreas_Schwab:Factory

- Split readline off into its own package

OBS-URL: https://build.opensuse.org/request/show/585952
OBS-URL: https://build.opensuse.org/package/show/Base:System/bash?expand=0&rev=256
This commit is contained in:
Dr. Werner Fink 2018-03-12 15:23:59 +00:00 committed by Git OBS Bridge
parent cc8ffb6455
commit cca87aed76
13 changed files with 46 additions and 949 deletions

View File

@ -1,12 +1,4 @@
libreadline7
obsoletes "readline-<targettype> <= <version>"
provides "readline-<targettype> = <version>"
targettype x86 package bash
+^/bin/bash$
+^/bin/sh$
prereq -glibc-x86
readline-devel
requires -readline-<targettype>
requires "libreadline7-<targettype> = <version>"
conflicts "readline5-devel-<targettype>"
conflicts "readline6-devel-<targettype>"

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Mon Mar 12 14:12:52 UTC 2018 - schwab@suse.de
- Split readline off into its own package
-------------------------------------------------------------------
Tue Feb 27 14:26:53 UTC 2018 - werner@suse.de

311
bash.spec
View File

@ -29,29 +29,25 @@ BuildRequires: makeinfo
BuildRequires: ncurses-devel
BuildRequires: patchutils
BuildRequires: pkg-config
BuildRequires: readline7-devel
BuildRequires: screen
BuildRequires: sed
%define bash_vers 4.4
%define rl_vers 7.0
%define bextend %nil
%define rextend %nil
Recommends: bash-lang = %bash_vers
# The package bash-completion is a source of
# bugs which will hit at most this package
#Recommends: bash-completion
Suggests: command-not-found
Recommends: bash-doc = %bash_vers
Version: 4.4
Release: 0
Summary: The GNU Bourne-Again Shell
License: GPL-3.0-or-later
Group: System/Shells
Recommends: bash-lang = %version
# The package bash-completion is a source of
# bugs which will hit at most this package
#Recommends: bash-completion
Suggests: command-not-found
Recommends: bash-doc = %version
Url: http://www.gnu.org/software/bash/bash.html
# Git: http://git.savannah.gnu.org/cgit/bash.git
Source0: ftp://ftp.gnu.org/gnu/bash/bash-%{bash_vers}%{bextend}.tar.gz
Source1: ftp://ftp.gnu.org/gnu/readline/readline-%{rl_vers}%{rextend}.tar.gz
Source2: bash-%{bash_vers}-patches.tar.bz2
Source3: readline-%{rl_vers}-patches.tar.bz2
Source0: ftp://ftp.gnu.org/gnu/bash/bash-%{version}%{bextend}.tar.gz
Source1: bash-%{version}-patches.tar.bz2
Source4: run-tests
Source5: dot.bashrc
Source6: dot.profile
@ -62,7 +58,7 @@ Source8: baselibs.conf
# http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00071.html
# http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00073.html
Source9: bash-4.2-history-myown.dif.bz2
Patch0: bash-%{bash_vers}.dif
Patch0: bash-%{version}.dif
Patch1: bash-2.03-manual.patch
Patch2: bash-4.0-security.patch
Patch3: bash-4.3-2.4.4.patch
@ -81,14 +77,6 @@ Patch14: bash-4.3-sigrestart.patch
Patch16: bash-4.0-setlocale.dif
# PATCH-EXTEND-SUSE bnc#828877 -- xterm resizing does not pass to all sub clients
Patch18: bash-4.3-winch.dif
Patch20: readline-%{rl_vers}.dif
Patch21: readline-6.3-input.dif
Patch23: readline-5.2-conf.patch
Patch24: readline-6.2-metamode.patch
Patch25: readline-6.2-endpw.dif
Patch27: readline-6.2-xmalloc.dif
Patch30: readline-6.3-destdir.patch
Patch31: readline-6.3-rltrace.patch
Patch40: bash-4.1-bash.bashrc.dif
Patch46: man2html-no-timestamp.patch
Patch47: bash-4.3-perl522.patch
@ -100,7 +88,6 @@ Patch49: bash-4.3-pathtemp.patch
%global _incdir %{_includedir}
%global _ldldir /%{_lib}/bash
%global _minsh 0
%{expand: %%global rl_major %(echo %{rl_vers} | sed -r 's/.[0-9]+//g')}
%description
Bash is an sh-compatible command interpreter that executes commands
@ -109,16 +96,14 @@ features from the Korn and C shells (ksh and csh). Bash is intended to
be a conformant implementation of the IEEE Posix Shell and Tools
specification (IEEE Working Group 1003.2).
%package -n bash-doc
%package doc
Summary: Documentation how to Use the GNU Bourne-Again Shell
Group: Documentation/Man
Provides: bash:%{_infodir}/bash.info.gz
PreReq: %install_info_prereq
Version: %{bash_vers}
Release: 0
BuildArch: noarch
%description -n bash-doc
%description doc
This package contains the documentation for using the bourne shell
interpreter Bash.
@ -126,34 +111,29 @@ interpreter Bash.
%lang_package(bash)
%else
%package -n bash-lang
%package lang
Summary: Languages for package bash
Group: System/Localization
Provides: bash-lang = %{bash_vers}
Requires: bash = %{bash_vers}
Requires: bash = %{version}
%description -n bash-lang
%description lang
Provides translations to the package bash
%endif
%package -n bash-devel
%package devel
Summary: Include Files mandatory for Development of bash loadable builtins
Group: Development/Languages/C and C++
Version: %{bash_vers}
Release: 0
%description -n bash-devel
%description devel
This package contains the C header files for writing loadable new
builtins for the interpreter Bash. Use -I /usr/include/bash/<version>
on the compilers command line.
%package -n bash-loadables
%package loadables
Summary: Loadable bash builtins
Group: System/Shells
Version: %{bash_vers}
Release: 0
%description -n bash-loadables
%description loadables
This package contains the examples for the ready-to-dynamic-load
builtins found in the source tar ball of the bash:
@ -207,75 +187,10 @@ unlink Remove a directory entry.
whoami Print out username of current user.
%package -n libreadline7
Summary: The Readline Library
Group: System/Libraries
Provides: bash:/%{_lib}/libreadline.so.%{rl_major}
Version: %{rl_vers}
Release: 0
Recommends: readline-doc = %{version}
# bug437293
%ifarch ppc64
Obsoletes: readline-64bit
%endif
#
Provides: readline = %{rl_vers}
Obsoletes: readline <= 6.3
%description -n libreadline7
The readline library is used by the Bourne Again Shell (bash, the
standard command interpreter) for easy editing of command lines. This
includes history and search functionality.
%package -n readline-devel
Summary: Include Files and Libraries mandatory for Development
Group: Development/Libraries/C and C++
Version: %{rl_vers}
Release: 0
Requires: libreadline7 = %{rl_vers}
Requires: ncurses-devel
Recommends: readline-doc = %{rl_vers}
# bug437293
%ifarch ppc64
Obsoletes: readline-devel-64bit
%endif
#
%description -n readline-devel
This package contains all necessary include files and libraries needed
to develop applications that require these.
%package -n readline-devel-static
Summary: Static library for Development
Group: Development/Libraries/C and C++
Version: %{rl_vers}
Release: 0
Requires: ncurses-devel
Requires: readline-devel = %{rl_vers}
Recommends: readline-doc = %{rl_vers}
#
%description -n readline-devel-static
This package contains the static library needed
to develop applications that require these.
%package -n readline-doc
Summary: Documentation how to Use and Program with the Readline Library
Group: System/Libraries
Provides: readline:%{_infodir}/readline.info.gz
PreReq: %install_info_prereq
Version: %{rl_vers}
Release: 0
BuildArch: noarch
%description -n readline-doc
This package contains the documentation for using the readline library
as well as programming with the interface of the readline library.
%prep
%setup -q -n bash-%{bash_vers}%{bextend} -b1 -b2 -b3
%setup -q -n bash-%{version}%{bextend} -b1
typeset -i level
for patch in ../bash-%{bash_vers}-patches/*; do
for patch in ../bash-%{version}-patches/*; do
test -e $patch || break
let level=0 || true
file=$(lsdiff --files=1 $patch)
@ -284,7 +199,7 @@ for patch in ../bash-%{bash_vers}-patches/*; do
let level++ || true
fi
test -e $file || exit 1
sed -ri '/^\*\*\* \.\./{ s@\.\./bash-%{bash_vers}[^/]*/@@ }' $patch
sed -ri '/^\*\*\* \.\./{ s@\.\./bash-%{version}[^/]*/@@ }' $patch
echo Patch $patch
patch -s -p$level < $patch
done
@ -303,11 +218,6 @@ done
%patch14 -p0 -b .sigrestart
%patch16 -p0 -b .setlocale
%patch18 -p0 -b .winch
%patch21 -p0 -b .zerotty
%patch23 -p0 -b .conf
%patch24 -p0 -b .metamode
#%patch25 -p0 -b .endpw
%patch31 -p0 -b .tmp
%patch40 -p0 -b .bashrc
%patch46 -p0 -b .notimestamp
%patch47 -p0 -b .perl522
@ -316,27 +226,6 @@ done
%endif
%patch49 -p0 -b .pthtmp
%patch0 -p0 -b .0
pushd ../readline-%{rl_vers}%{rextend}
for patch in ../readline-%{rl_vers}-patches/*; do
test -e $patch || break
let level=0 || true
file=$(lsdiff --files=1 $patch)
if test ! -e $file ; then
file=${file#*/}
let level++ || true
fi
sed -ri '/^\*\*\* \.\./{ s@\.\./readline-%{rl_vers}[^/]*/@@ }' $patch
echo Patch $patch
patch -s -p$level < $patch
done
%patch21 -p2 -b .zerotty
%patch23 -p2 -b .conf
%patch24 -p2 -b .metamode
#%patch25 -p2 -b .endpw
%patch31 -p2 -b .tmp
%patch27 -p0 -b .xm
%patch30 -p0 -b .destdir
%patch20 -p0 -b .0
%build
LANG=POSIX
@ -363,8 +252,6 @@ done
HOSTTYPE=${CPU}
MACHTYPE=${CPU}-suse-linux
export LANG LC_ALL HOSTTYPE MACHTYPE
pushd ../readline-%{rl_vers}%{rextend}
autoconf
cflags ()
{
local flag=$1; shift
@ -392,26 +279,6 @@ pushd ../readline-%{rl_vers}%{rextend}
set +o noclobber
}
LARGEFILE="$(getconf LFS_CFLAGS)"
(cat > dyn.map)<<-'EOF'
{
*;
!rl_*stream;
};
EOF
(cat > rl.map)<<-'EOF'
READLINE_6.3 {
rl_change_environment;
rl_clear_history;
rl_executing_key;
rl_executing_keyseq;
rl_filename_stat_hook;
rl_history_substr_search_backward;
rl_history_substr_search_forward;
rl_input_available_hook;
rl_print_last_kbd_macro;
rl_signal_event_hook;
};
EOF
CFLAGS="$RPM_OPT_FLAGS $LARGEFILE -D_GNU_SOURCE -DRECYCLES_PIDS -Wall -g"
LDFLAGS=""
#
@ -431,39 +298,9 @@ pushd ../readline-%{rl_vers}%{rextend}
cflags -Wl,--as-needed LDFLAGS
cflags -Wl,-O2 LDFLAGS
cflags -Wl,-rpath,%{_ldldir} LDFLAGS
cflags -Wl,--version-script=${PWD}/rl.map LDFLAGS
cflags -Wl,--dynamic-list=${PWD}/dyn.map LDFLAGS
CC=gcc
CC_FOR_BUILD="$CC"
CFLAGS_FOR_BUILD="$CFLAGS"
LDFLAGS_FOR_BUILD="$LDFLAGS"
export CC_FOR_BUILD CFLAGS_FOR_BUILD LDFLAGS_FOR_BUILD CFLAGS LDFLAGS CC
./configure --build=%{_target_cpu}-suse-linux \
--enable-static \
--enable-shared \
--enable-multibyte \
--prefix=%{_prefix} \
--with-curses \
--mandir=%{_mandir} \
--infodir=%{_infodir} \
--docdir=%{_defaultdocdir}/readline \
--libdir=%{_libdir}
make
make documentation
ln -sf shlib/libreadline.so.%{rl_vers} libreadline.so
ln -sf shlib/libreadline.so.%{rl_vers} libreadline.so.%{rl_major}
ln -sf shlib/libhistory.so.%{rl_vers} libhistory.so
ln -sf shlib/libhistory.so.%{rl_vers} libhistory.so.%{rl_major}
LDFLAGS=${LDFLAGS/-Wl,--version-script=*rl.map/}
LDFLAGS=${LDFLAGS/-Wl,--dynamic-list=*dyn.map/}
LDFLAGS_FOR_BUILD="$LDFLAGS"
popd
# /proc is required for correct configuration
test -d /dev/fd || { echo "/proc is not mounted!" >&2; exit 1; }
ln -sf ../readline-%{rl_vers} readline
LD_RUN_PATH=$PWD/../readline-%{rl_vers}
export LD_RUN_PATH
CC="gcc -I$PWD -L$PWD/../readline-%{rl_vers}"
CC=gcc
%if %_minsh
cflags -Os CFLAGS
# cflags -U_FORTIFY_SOURCE CFLAGS
@ -529,7 +366,7 @@ popd
--mandir=%{_mandir} \
--infodir=%{_infodir} \
--libdir=%{_libdir} \
--docdir=%{_defaultdocdir}/bash \
--docdir=%{_docdir} \
--with-curses \
--with-afs \
$SYSMALLOC \
@ -575,24 +412,6 @@ popd
make documentation
%install
pushd ../readline-%{rl_vers}%{rextend}
%make_install htmldir=%{_defaultdocdir}/readline \
installdir=%{_defaultdocdir}/readline/examples
%make_install install libdir=/%{_lib} linkagedir=%{_libdir}
rm -rf %{buildroot}%{_defaultdocdir}/bash
mkdir -p %{buildroot}%{_defaultdocdir}/bash
chmod 0755 %{buildroot}/%{_lib}/libhistory.so.%{rl_vers}
chmod 0755 %{buildroot}/%{_lib}/libreadline.so.%{rl_vers}
rm -vf %{buildroot}/%{_lib}/libhistory.so.%{rl_vers}*old
rm -vf %{buildroot}/%{_lib}/libreadline.so.%{rl_vers}*old
rm -vf %{buildroot}/%{_lib}/libhistory.so
rm -vf %{buildroot}/%{_lib}/libreadline.so
ln -sf /%{_lib}/libhistory.so.%{rl_vers} %{buildroot}/%{_libdir}/libhistory.so
ln -sf /%{_lib}/libreadline.so.%{rl_vers} %{buildroot}/%{_libdir}/libreadline.so
mv -vf %{buildroot}/%{_lib}/libhistory.a %{buildroot}/%{_libdir}/libhistory.a
mv -vf %{buildroot}/%{_lib}/libreadline.a %{buildroot}/%{_libdir}/libreadline.a
rm -vrf %{buildroot}%{_datadir}/readline/
popd
%make_install
make -C examples/loadables/ install-supported DESTDIR=%{buildroot} libdir=/%{_lib}
rm -rf %{buildroot}%{_libdir}/bash
@ -608,16 +427,16 @@ popd
ln -sf ../../bin/bash %{buildroot}%{_bindir}/sh
%endif
ln -sf ../../bin/bash %{buildroot}%{_bindir}/rbash
install -m 644 COMPAT NEWS %{buildroot}%{_defaultdocdir}/bash/
install -m 644 COPYING %{buildroot}%{_defaultdocdir}/bash/
install -m 644 doc/FAQ %{buildroot}%{_defaultdocdir}/bash/
install -m 644 doc/INTRO %{buildroot}%{_defaultdocdir}/bash/
install -m 644 doc/*.html %{buildroot}%{_defaultdocdir}/bash/
install -m 644 COMPAT NEWS %{buildroot}%{_docdir}/
install -m 644 COPYING %{buildroot}%{_docdir}/
install -m 644 doc/FAQ %{buildroot}%{_docdir}/
install -m 644 doc/INTRO %{buildroot}%{_docdir}/
install -m 644 doc/*.html %{buildroot}%{_docdir}/
install -m 644 doc/builtins.1 %{buildroot}%{_mandir}/man1/bashbuiltins.1
install -m 644 doc/rbash.1 %{buildroot}%{_mandir}/man1/rbash.1
gzip -9f %{buildroot}%{_infodir}/*.inf*[^z] || true
mkdir -p %{buildroot}%{_sysconfdir}/bash_completion.d
sed 's/^|//' > %{buildroot}%{_defaultdocdir}/bash/BUGS <<\EOF
sed 's/^|//' > %{buildroot}%{_docdir}/BUGS <<\EOF
Known problems
--------------
|
@ -626,9 +445,9 @@ that is e.g. wide character support for UTF-8. This causes
problems in geting the current cursor position within the
readline runtime library:
|
bash-%{bash_vers}> LANG=ja_JP
bash-%{bash_vers}> echo -n "Hello"
bash-%{bash_vers}>
bash-%{version}> LANG=ja_JP
bash-%{version}> echo -n "Hello"
bash-%{version}>
|
In other words the prompt overwrites the output of the
echo comand. The boolean variable byte-oriented
@ -636,9 +455,6 @@ set in %{_sysconfdir}/inputrc or $HOME/.inputrc avoids this
but disables multi byte handling.
EOF
# remove unpackaged files
rm -fv %{buildroot}%{_libdir}/libhistory.so.*
rm -fv %{buildroot}%{_libdir}/libreadline.so.*
rm -fv %{buildroot}%{_defaultdocdir}/readline/INSTALL
mkdir -p %{buildroot}%{_sysconfdir}/skel
install -m 644 %{S:5} %{buildroot}%{_sysconfdir}/skel/.bashrc
install -m 644 %{S:6} %{buildroot}%{_sysconfdir}/skel/.profile
@ -647,30 +463,15 @@ EOF
%find_lang bash
%fdupes -s %{buildroot}%{_datadir}/bash/helpfiles
%post -n bash-doc
%post doc
%install_info --info-dir=%{_infodir} %{_infodir}/bash.info.gz
%preun -n bash-doc
%preun doc
%install_info_delete --info-dir=%{_infodir} %{_infodir}/bash.info.gz
%post -n libreadline7 -p /sbin/ldconfig
%postun -n libreadline7 -p /sbin/ldconfig
%post -n readline-doc
%install_info --info-dir=%{_infodir} %{_infodir}/history.info.gz
%install_info --info-dir=%{_infodir} %{_infodir}/readline.info.gz
%install_info --info-dir=%{_infodir} %{_infodir}/rluserman.info.gz
%preun -n readline-doc
%install_info_delete --info-dir=%{_infodir} %{_infodir}/history.info.gz
%install_info_delete --info-dir=%{_infodir} %{_infodir}/readline.info.gz
%install_info_delete --info-dir=%{_infodir} %{_infodir}/rluserman.info.gz
%clean
LD_LIBRARY_PATH=%{buildroot}/%{_lib} \
ldd -u -r %{buildroot}/bin/bash || true
ldd -u -r %{buildroot}/%{_lib}/libreadline.so.* || true
%{?buildroot: %{__rm} -rf %{buildroot}}
%files
@ -689,20 +490,20 @@ ldd -u -r %{buildroot}/%{_lib}/libreadline.so.* || true
%dir %{_datadir}/bash/helpfiles
%{_datadir}/bash/helpfiles/*
%files -n bash-lang -f bash.lang
%files lang -f bash.lang
%defattr(-,root,root)
%files -n bash-doc
%files doc
%defattr(-,root,root)
%doc %{_infodir}/bash.info*
%doc %{_mandir}/man1/bash.1*
%doc %{_mandir}/man1/bashbuiltins.1*
%doc %{_mandir}/man1/bashbug.1*
%doc %{_mandir}/man1/rbash.1*
%doc %{_defaultdocdir}/bash/
%doc %{_docdir}/
%if 0%suse_version >= 1020
%files -n bash-devel
%files devel
%defattr(-,root,root)
%dir /%{_includedir}/bash/
%dir /%{_includedir}/bash/
@ -714,38 +515,8 @@ ldd -u -r %{buildroot}/%{_lib}/libreadline.so.* || true
%{_libdir}/pkgconfig/bash.pc
%endif
%files -n bash-loadables
%files loadables
%defattr(-,root,root)
%dir %{_ldldir}/
%dir %{_ldldir}/
%{_ldldir}/*
%files -n libreadline7
%defattr(-,root,root)
%license COPYING
/%{_lib}/libhistory.so.%{rl_major}
/%{_lib}/libhistory.so.%{rl_vers}
/%{_lib}/libreadline.so.%{rl_major}
/%{_lib}/libreadline.so.%{rl_vers}
%files -n readline-devel
%defattr(-,root,root)
%{_incdir}/readline/
%{_libdir}/libhistory.so
%{_libdir}/libreadline.so
%files -n readline-devel-static
%defattr(-,root,root)
%{_libdir}/libhistory.a
%{_libdir}/libreadline.a
%files -n readline-doc
%defattr(-,root,root)
%doc %{_infodir}/history.info*
%doc %{_infodir}/readline.info*
%doc %{_infodir}/rluserman.info*
%doc %{_mandir}/man3/history.3*
%doc %{_mandir}/man3/readline.3*
%doc %{_defaultdocdir}/readline/
%{_ldldir}
%changelog

View File

@ -1,129 +0,0 @@
---
lib/readline/bind.c | 55 ++++++++++++++++++++++++++++++++++---------
lib/readline/doc/rluser.texi | 3 +-
lib/readline/rlconf.h | 2 -
3 files changed, 47 insertions(+), 13 deletions(-)
--- lib/readline/bind.c
+++ lib/readline/bind.c 2017-04-26 13:07:22.115249970 +0000
@@ -826,6 +826,9 @@ rl_function_of_keyseq (keyseq, map, type
/* The last key bindings file read. */
static char *last_readline_init_file = (char *)NULL;
+/* Flag to read system init file */
+static int read_system_init_file = 0;
+
/* The file we're currently reading key bindings from. */
static const char *current_readline_init_file;
static int current_readline_init_include_level;
@@ -891,11 +894,14 @@ rl_re_read_init_file (count, ignore)
return r;
}
+/* Forward declarations */
+static int sv_bell_style PARAMS((const char *));
+
/* Do key bindings from a file. If FILENAME is NULL it defaults
to the first non-null filename from this list:
1. the filename used for the previous call
2. the value of the shell variable `INPUTRC'
- 3. ~/.inputrc
+ 3. /etc/inputrc and ~/.inputrc
4. /etc/inputrc
If the file existed and could be opened and read, 0 is returned,
otherwise errno is returned. */
@@ -905,18 +911,39 @@ rl_read_init_file (filename)
{
/* Default the filename. */
if (filename == 0)
- filename = last_readline_init_file;
- if (filename == 0)
- filename = sh_get_env_value ("INPUTRC");
- if (filename == 0 || *filename == 0)
+ {
+ filename = last_readline_init_file;
+ if (filename == 0)
+ {
+ filename = sh_get_env_value ("INPUTRC");
+ read_system_init_file = 0;
+ }
+ if (filename == 0)
+ {
+ filename = DEFAULT_INPUTRC;
+ read_system_init_file = 1;
+ }
+ }
+
+ if (*filename == 0)
{
filename = DEFAULT_INPUTRC;
- /* Try to read DEFAULT_INPUTRC; fall back to SYS_INPUTRC on failure */
- if (_rl_read_init_file (filename, 0) == 0)
- return 0;
- filename = SYS_INPUTRC;
+ read_system_init_file = 1;
}
+ sv_bell_style(sh_get_env_value("DEFAULT_BELL_STYLE"));
+
+ if (read_system_init_file)
+ if (filename == last_readline_init_file)
+ {
+ filename = savestring (filename);
+ _rl_read_init_file (SYS_INPUTRC, 0);
+ free (last_readline_init_file);
+ last_readline_init_file = filename;
+ }
+ else
+ _rl_read_init_file (SYS_INPUTRC, 0);
+
#if defined (__MSDOS__)
if (_rl_read_init_file (filename, 0) == 0)
return 0;
@@ -1467,7 +1494,14 @@ remove_trailing:
rl_macro_bind (seq, &funname[1], _rl_keymap);
}
else
- rl_bind_keyseq (seq, rl_named_function (funname));
+ {
+#if defined (PREFIX_META_HACK)
+ if (_rl_stricmp (funname, "prefix-meta") == 0)
+ rl_generic_bind (ISKMAP, seq, (char *)emacs_meta_keymap, _rl_keymap);
+ else
+#endif
+ rl_bind_keyseq (seq, rl_named_function (funname));
+ }
xfree (seq);
return 0;
@@ -1632,7 +1666,6 @@ typedef int _rl_sv_func_t PARAMS((const
#define V_INT 2
/* Forward declarations */
-static int sv_bell_style PARAMS((const char *));
static int sv_combegin PARAMS((const char *));
static int sv_dispprefix PARAMS((const char *));
static int sv_compquery PARAMS((const char *));
--- lib/readline/doc/rluser.texi
+++ lib/readline/doc/rluser.texi 2017-04-26 12:57:24.590906421 +0000
@@ -349,7 +349,8 @@ file is taken from the value of the envi
@end ifclear
that variable is unset, the default is @file{~/.inputrc}. If that
file does not exist or cannot be read, the ultimate default is
-@file{/etc/inputrc}.
+@file{/etc/inputrc}. If both @file{~/.inputrc} and @file{/etc/inputrc}
+exist Readline will read first @file{/etc/inputrc} and then @file{~/.inputrc}.
When a program which uses the Readline library starts up, the
init file is read, and the key bindings are set.
--- lib/readline/rlconf.h
+++ lib/readline/rlconf.h 2017-04-26 12:57:24.586906499 +0000
@@ -37,7 +37,7 @@
#define HANDLE_SIGNALS
/* Ugly but working hack for binding prefix meta. */
-#define PREFIX_META_HACK
+#undef PREFIX_META_HACK
/* The next-to-last-ditch effort file name for a user-specific init file. */
#define DEFAULT_INPUTRC "~/.inputrc"

View File

@ -1,24 +0,0 @@
---
lib/readline/complete.c | 4 ++++
1 file changed, 4 insertions(+)
--- lib/readline/complete.c
+++ lib/readline/complete.c 2011-11-21 12:51:35.695646715 +0000
@@ -89,6 +89,7 @@ typedef int QSFUNC ();
defined. */
#if defined (HAVE_GETPWENT) && (!defined (HAVE_GETPW_DECLS) || defined (_POSIX_SOURCE))
extern struct passwd *getpwent PARAMS((void));
+extern void endpwent ();
#endif /* HAVE_GETPWENT && (!HAVE_GETPW_DECLS || _POSIX_SOURCE) */
/* If non-zero, then this is the address of a function to call when
@@ -2316,6 +2317,9 @@ rl_username_completion_function (text, s
if (first_char == '~')
rl_filename_completion_desired = 1;
+#if defined (HAVE_GETPWENT)
+ /* endpwent (); */
+#endif
return (value);
}
#endif /* !__WIN32__ && !__OPENNT */

View File

@ -1,14 +0,0 @@
---
lib/readline/bind.c | 1 +
1 file changed, 1 insertion(+)
--- lib/readline/bind.c
+++ lib/readline/bind.c 2011-03-04 15:00:17.332426313 +0000
@@ -1613,6 +1613,7 @@ static const struct {
#if defined (VISIBLE_STATS)
{ "visible-stats", &rl_visible_stats, 0 },
#endif /* VISIBLE_STATS */
+ { "meta-mode", &_rl_enable_meta, 0 },
{ (char *)NULL, (int *)NULL, 0 }
};

View File

@ -1,43 +0,0 @@
---
xfree.c | 3 +++
xmalloc.c | 5 +++++
xmalloc.h | 8 ++++++++
3 files changed, 16 insertions(+)
--- xfree.c
+++ xfree.c 2012-10-17 12:48:37.862344784 +0000
@@ -48,3 +48,6 @@ xfree (string)
if (string)
free (string);
}
+
+#undef xfree
+extern void xfree PARAMS((void *)) __attribute__ ((weak, alias ("_rl_xfree")));
--- xmalloc.c
+++ xmalloc.c 2012-10-17 12:48:28.430844890 +0000
@@ -77,3 +77,8 @@ xrealloc (pointer, bytes)
memory_error_and_abort ("xrealloc");
return (temp);
}
+
+#undef xmalloc
+#undef xrealloc
+extern PTR_T xmalloc PARAMS((size_t)) __attribute__ ((weak, alias ("_rl_xmalloc")));
+extern PTR_T xrealloc PARAMS((void *, size_t)) __attribute__ ((weak, alias ("_rl_xrealloc")));
--- xmalloc.h
+++ xmalloc.h 2012-10-17 12:27:20.325156790 +0000
@@ -38,6 +38,14 @@
#endif /* !PTR_T */
+#undef xmalloc
+#undef xrealloc
+#undef xfree
+
+#define xmalloc _rl_xmalloc
+#define xrealloc _rl_xrealloc
+#define xfree _rl_xfree
+
extern PTR_T xmalloc PARAMS((size_t));
extern PTR_T xrealloc PARAMS((void *, size_t));
extern void xfree PARAMS((void *));

View File

@ -1,200 +0,0 @@
---
shlib/Makefile.in | 9 +++++----
support/shlib-install | 47 +++++++++++++++++++++++++++--------------------
2 files changed, 32 insertions(+), 24 deletions(-)
--- shlib/Makefile.in
+++ shlib/Makefile.in 2014-04-17 10:51:05.898235056 +0000
@@ -59,6 +59,7 @@ bindir = @bindir@
libdir = @libdir@
datadir = @datadir@
localedir = @localedir@
+linkagedir = $(libdir)
# Support an alternate destination root directory for package building
DESTDIR =
@@ -192,8 +193,8 @@ installdirs: $(topdir)/support/mkdirs
-$(SHELL) $(topdir)/support/mkdirs $(DESTDIR)$(bindir)
install-supported: installdirs $(SHLIB_STATUS)
- $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -i "$(INSTALL_DATA)" $(SHARED_HISTORY)
- $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -i "$(INSTALL_DATA)" $(SHARED_READLINE)
+ $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -dd $(DESTDIR) -d $(libdir) -l $(linkagedir) -b $(bindir) -i "$(INSTALL_DATA)" $(SHARED_HISTORY)
+ $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -dd $(DESTDIR) -d $(libdir) -l $(linkagedir) -b $(bindir) -i "$(INSTALL_DATA)" $(SHARED_READLINE)
@echo install: you may need to run ldconfig
install-unsupported:
@@ -202,8 +203,8 @@ install-unsupported:
install: install-$(SHLIB_STATUS)
uninstall-supported:
- $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -U $(SHARED_HISTORY)
- $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -d $(DESTDIR)$(libdir) -b $(DESTDIR)$(bindir) -U $(SHARED_READLINE)
+ $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -dd $(DESTDIR) -d $(libdir) -l $(linkagedir) -b $(bindir) -U $(SHARED_HISTORY)
+ $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -dd $(DESTDIR) -d $(libdir) -l $(linkagedir) -b $(bindir) -U $(SHARED_READLINE)
@echo uninstall: you may need to run ldconfig
uninstall-unsupported:
--- support/shlib-install
+++ support/shlib-install 2014-04-17 10:54:11.938235782 +0000
@@ -3,7 +3,7 @@
# shlib-install - install a shared library and do any necessary host-specific
# post-installation configuration (like ldconfig)
#
-# usage: shlib-install [-D] -O host_os [-V host_vendor] -d installation-dir [-b bin-dir] -i install-prog [-U] library
+# usage: shlib-install [-D] -O host_os [-V host_vendor] -d installation-dir [-l linkage-dir] [-b bin-dir] -i install-prog [-U] library
#
# Chet Ramey
# chet@po.cwru.edu
@@ -12,10 +12,12 @@
# defaults
#
INSTALLDIR=/usr/local/lib
+LINKAGEDIR=
LDCONFIG=ldconfig
+DESTDIR=
PROGNAME=`basename $0`
-USAGE="$PROGNAME [-D] -O host_os [-V host_vendor] -d installation-dir [-b bin-dir] -i install-prog [-U] library"
+USAGE="$PROGNAME [-D] -O host_os [-V host_vendor] [-l linkage-dir] -d installation-dir [-b bin-dir] -i install-prog [-U] library"
# process options
@@ -24,14 +26,19 @@ while [ $# -gt 0 ]; do
-O) shift; host_os="$1"; shift ;;
-V) shift; host_vendor="$1"; shift ;;
-d) shift; INSTALLDIR="$1"; shift ;;
+ -dd) shift; DESTDIR=$1; shift ;;
-b) shift; BINDIR="$1" ; shift ;;
-i) shift; INSTALLPROG="$1" ; shift ;;
+ -l) shift; LINKAGEDIR="$1" ; shift ;;
-D) echo=echo ; shift ;;
-U) uninstall=true ; shift ;;
-*) echo "$USAGE" >&2 ; exit 2;;
*) break ;;
esac
done
+if [ -z "$LINKAGEDIR" ]; then
+ LINKAGEDIR="$INSTALLDIR"
+fi
# set install target name
LIBNAME="$1"
@@ -49,18 +56,18 @@ LN="ln -s"
# pre-install
if [ -z "$uninstall" ]; then
- ${echo} $RM ${INSTALLDIR}/${LIBNAME}.${OLDSUFF}
- if [ -f "$INSTALLDIR/$LIBNAME" ]; then
- ${echo} $MV $INSTALLDIR/$LIBNAME ${INSTALLDIR}/${LIBNAME}.${OLDSUFF}
+ ${echo} $RM ${DESTDIR}${INSTALLDIR}/${LIBNAME}.${OLDSUFF}
+ if [ -f "${DESTDIR}$INSTALLDIR/$LIBNAME" ]; then
+ ${echo} $MV ${DESTDIR}$INSTALLDIR/$LIBNAME ${DESTDIR}${INSTALLDIR}/${LIBNAME}.${OLDSUFF}
fi
fi
# install/uninstall
if [ -z "$uninstall" ] ; then
- ${echo} eval ${INSTALLPROG} $LIBNAME ${INSTALLDIR}/${LIBNAME}
+ ${echo} eval ${INSTALLPROG} $LIBNAME ${DESTDIR}${INSTALLDIR}/${LIBNAME}
else
- ${echo} ${RM} ${INSTALLDIR}/${LIBNAME}
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/${LIBNAME}
fi
# post-install/uninstall
@@ -73,7 +80,7 @@ fi
case "$host_os" in
hpux*|darwin*|macosx*|linux*|solaris2*)
if [ -z "$uninstall" ]; then
- chmod 555 ${INSTALLDIR}/${LIBNAME}
+ chmod 555 ${DESTDIR}${INSTALLDIR}/${LIBNAME}
fi ;;
cygwin*|mingw*)
IMPLIBNAME=`echo ${LIBNAME} \
@@ -111,8 +118,8 @@ case "$LIBNAME" in
LINK1=`echo $LIBNAME | sed 's:\(.*\)\.[0-9]\.[0-9]:\1:'` # libname.dylib
esac
-INSTALL_LINK1='${echo} cd $INSTALLDIR && ${echo} ${LN} $LIBNAME $LINK1'
-INSTALL_LINK2='${echo} cd $INSTALLDIR && ${echo} ${LN} $LIBNAME $LINK2'
+INSTALL_LINK1='${echo} cd ${DESTDIR}$INSTALLDIR && ${echo} ${LN} $LIBNAME $LINK1'
+INSTALL_LINK2='${echo} cd ${DESTDIR}$INSTALLDIR && ${echo} ${LN} $LIBNAME $LINK2'
#
# Create symlinks to the installed library. This section is incomplete.
@@ -120,27 +127,27 @@ INSTALL_LINK2='${echo} cd $INSTALLDIR &&
case "$host_os-$host_vendor" in
*linux*|freebsd*-gentoo)
# libname.so.M -> libname.so.M.N
- ${echo} ${RM} ${INSTALLDIR}/$LINK2
+ ${echo} ${RM} {DESTDIR}${INSTALLDIR}/$LINK2
if [ -z "$uninstall" ]; then
eval $INSTALL_LINK2
fi
# libname.so -> libname.so.M
- ${echo} ${RM} ${INSTALLDIR}/$LINK1
+ ${echo} ${RM} {DESTDIR}${INSTALLDIR}/$LINK1
if [ -z "$uninstall" ]; then
- ${echo} cd $INSTALLDIR && ${echo} ${LN} $LINK2 $LINK1
+ ${echo} cd {DESTDIR}$INSTALLDIR && ${echo} ${LN} $LINK2 $LINK1
fi
;;
bsdi4*|*gnu*|darwin*|macosx*|netbsd*|mirbsd*)
# libname.so.M -> libname.so.M.N
- ${echo} ${RM} ${INSTALLDIR}/$LINK2
+ ${echo} ${RM} {DESTDIR}${INSTALLDIR}/$LINK2
if [ -z "$uninstall" ]; then
eval $INSTALL_LINK2
fi
# libname.so -> libname.so.M.N
- ${echo} ${RM} ${INSTALLDIR}/$LINK1
+ ${echo} ${RM} {DESTDIR}${INSTALLDIR}/$LINK1
if [ -z "$uninstall" ]; then
eval $INSTALL_LINK1
fi
@@ -148,7 +155,7 @@ bsdi4*|*gnu*|darwin*|macosx*|netbsd*|mir
solaris2*|aix4.[2-9]*|aix[5-9]*|osf*|irix[56]*|sysv[45]*|dgux*|interix*)
# libname.so -> libname.so.M
- ${echo} ${RM} ${INSTALLDIR}/$LINK1
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK1
if [ -z "$uninstall" ]; then
eval $INSTALL_LINK1
fi
@@ -159,19 +166,19 @@ solaris2*|aix4.[2-9]*|aix[5-9]*|osf*|iri
freebsd3*|freebsdaout*)
if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then
# libname.so -> libname.so.M
- ${echo} ${RM} ${INSTALLDIR}/$LINK1
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK1
if [ -z "$uninstall" ]; then
eval $INSTALL_LINK1
fi
else
# libname.so.M -> libname.so.M.N
- ${echo} ${RM} ${INSTALLDIR}/$LINK2
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK2
if [ -z "$uninstall" ]; then
eval $INSTALL_LINK2
fi
# libname.so -> libname.so.M.N
- ${echo} ${RM} ${INSTALLDIR}/$LINK1
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK1
if [ -z "$uninstall" ]; then
eval $INSTALL_LINK1
fi
@@ -188,7 +195,7 @@ freebsd[4-9]*|freebsd1[0-9]*|freebsdelf*
hpux1*)
# libname.sl -> libname.M
- ${echo} ${RM} ${INSTALLDIR}/$LINK1.sl
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK1.sl
if [ -z "$uninstall" ]; then
eval $INSTALL_LINK1
fi

View File

@ -1,51 +0,0 @@
---
lib/readline/input.c | 7 ++++++-
lib/readline/readline.c | 7 +++++++
2 files changed, 13 insertions(+), 1 deletion(-)
--- lib/readline/input.c
+++ lib/readline/input.c 2003-03-17 19:03:51.000000000 +0000
@@ -489,6 +489,8 @@ rl_read_key ()
return (c);
}
+extern int _rl_read_zero_char_from_tty;
+
int
rl_getc (stream)
FILE *stream;
@@ -526,7 +528,10 @@ rl_getc (stream)
/* If zero characters are returned, then the file that we are
reading from is empty! Return EOF in that case. */
if (result == 0)
- return (EOF);
+ {
+ _rl_read_zero_char_from_tty = 1;
+ return (EOF);
+ }
#if defined (__BEOS__)
if (errno == EINTR)
--- lib/readline/readline.c
+++ lib/readline/readline.c 2014-04-17 10:24:16.302236347 +0000
@@ -522,6 +522,9 @@ _rl_internal_char_cleanup ()
_rl_erase_entire_line ();
}
+/* Catch EOF from tty, do not return command line */
+int _rl_read_zero_char_from_tty = 0;
+
STATIC_CALLBACK int
#if defined (READLINE_CALLBACKS)
readline_internal_char ()
@@ -570,6 +573,10 @@ readline_internal_charloop ()
c = rl_read_key ();
RL_UNSETSTATE(RL_STATE_READCMD);
+ /* Return here if terminal is closed */
+ if (c == EOF && _rl_read_zero_char_from_tty)
+ return (rl_done = 1);
+
/* look at input.c:rl_getc() for the circumstances under which this will
be returned; punt immediately on read error without converting it to
a newline; assume that rl_read_key has already called the signal

View File

@ -1,43 +0,0 @@
Even if used only by developers to debug readline library do not open
temporary files from public location without O_EXCL (bcn#868822).
---
lib/readline/util.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
--- lib/readline/util.c
+++ lib/readline/util.c 2014-04-17 10:29:43.157274616 +0000
@@ -504,10 +504,12 @@ _rl_trace (va_alist)
if (_rl_tracefp == 0)
_rl_tropen ();
+ if (!_rl_tracefp)
+ goto out;
vfprintf (_rl_tracefp, format, args);
fprintf (_rl_tracefp, "\n");
fflush (_rl_tracefp);
-
+out:
va_end (args);
}
@@ -527,7 +529,7 @@ _rl_tropen ()
#endif
sprintf (fnbuf, "%s/rltrace.%ld", x, (long)getpid());
unlink(fnbuf);
- _rl_tracefp = fopen (fnbuf, "w+");
+ _rl_tracefp = fopen (fnbuf, "w+xe");
return _rl_tracefp != 0;
}
@@ -535,8 +537,8 @@ int
_rl_trclose ()
{
int r;
-
- r = fclose (_rl_tracefp);
+ if (_rl_tracefp)
+ r = fclose (_rl_tracefp);
_rl_tracefp = 0;
return r;
}

BIN
readline-7.0-patches.tar.bz2 (Stored with Git LFS)

Binary file not shown.

View File

@ -1,161 +0,0 @@
---
Makefile.in | 4 +---
complete.c | 6 +++---
doc/Makefile.in | 2 +-
doc/readline.3 | 11 +++++++++++
history.h | 1 +
readline.c | 7 +++++--
readline.h | 3 ++-
support/shobj-conf | 5 +++--
8 files changed, 27 insertions(+), 12 deletions(-)
--- Makefile.in
+++ Makefile.in 2016-09-14 08:59:09.830092311 +0000
@@ -233,10 +233,8 @@ uninstall-headers:
maybe-uninstall-headers: uninstall-headers
install-static: installdirs $(STATIC_LIBS) install-headers install-doc install-examples
- -$(MV) $(DESTDIR)$(libdir)/libreadline.a $(DESTDIR)$(libdir)/libreadline.old
$(INSTALL_DATA) libreadline.a $(DESTDIR)$(libdir)/libreadline.a
-test -n "$(RANLIB)" && $(RANLIB) $(DESTDIR)$(libdir)/libreadline.a
- -$(MV) $(DESTDIR)$(libdir)/libhistory.a $(DESTDIR)$(libdir)/libhistory.old
$(INSTALL_DATA) libhistory.a $(DESTDIR)$(libdir)/libhistory.a
-test -n "$(RANLIB)" && $(RANLIB) $(DESTDIR)$(libdir)/libhistory.a
@@ -266,7 +264,7 @@ install-doc: installdirs
$(INSTALL_DATA) $(OTHER_DOCS) $(DESTDIR)$(docdir)
-( if test -d doc ; then \
cd doc && \
- ${MAKE} ${MFLAGS} infodir=$(infodir) DESTDIR=${DESTDIR} install; \
+ ${MAKE} infodir=$(infodir) DESTDIR=${DESTDIR} install; \
fi )
uninstall-doc:
--- complete.c
+++ complete.c 2016-09-14 08:59:09.830092311 +0000
@@ -1152,7 +1152,7 @@ _rl_find_completion_word (fp, dp)
/* We didn't find an unclosed quoted substring upon which to do
completion, so use the word break characters to find the
substring on which to complete. */
- while (rl_point = MB_PREVCHAR (rl_line_buffer, rl_point, MB_FIND_ANY))
+ while ((rl_point = MB_PREVCHAR (rl_line_buffer, rl_point, MB_FIND_ANY)))
{
scan = rl_line_buffer[rl_point];
@@ -2229,7 +2229,7 @@ rl_completion_matches (text, entry_funct
match_list = (char **)xmalloc ((match_list_size + 1) * sizeof (char *));
match_list[1] = (char *)NULL;
- while (string = (*entry_function) (text, matches))
+ while ((string = (*entry_function) (text, matches)))
{
if (RL_SIG_RECEIVED ())
{
@@ -2303,7 +2303,7 @@ rl_username_completion_function (text, s
}
#if defined (HAVE_GETPWENT)
- while (entry = getpwent ())
+ while ((entry = getpwent ()))
{
/* Null usernames should result in all users as possible completions. */
if (namelen == 0 || (STREQN (username, entry->pw_name, namelen)))
--- doc/Makefile.in
+++ doc/Makefile.in 2016-09-14 08:59:09.830092311 +0000
@@ -107,7 +107,7 @@ DIST_DOCS = $(DVIOBJ) $(PSOBJ) $(HTMLOBJ
# $(RM) $@
# -${TEXI2PDF} $<
-all: info dvi html ps text pdf
+all: info html
nodvi: info html text
xdist: $(DIST_DOCS)
--- doc/readline.3
+++ doc/readline.3 2016-09-14 08:59:09.830092311 +0000
@@ -119,6 +119,14 @@ environment variable. If that variable
.IR ~/.inputrc .
If that file does not exist or cannot be read, the ultimate default is
.IR /etc/inputrc .
+If both files
+.I ~/.inputrc
+and
+.I /etc/inputrc
+exist readline will read first
+.I /etc/inputrc
+and then
+.IR ~/.inputrc .
When a program which uses the readline library starts up, the
init file is read, and the key bindings and variables are set.
There are only a few basic constructs allowed in the
@@ -1457,6 +1465,9 @@ VI Command Mode functions
.TP
.FN ~/.inputrc
Individual \fBreadline\fP initialization file
+.TP
+.FN /etc/inputrc
+System \fBreadline\fP initialization file
.PD
.SH AUTHORS
Brian Fox, Free Software Foundation
--- history.h
+++ history.h 2016-09-14 08:59:09.830092311 +0000
@@ -32,6 +32,7 @@ extern "C" {
# include "rlstdc.h"
# include "rltypedefs.h"
#else
+# include <stdio.h>
# include <readline/rlstdc.h>
# include <readline/rltypedefs.h>
#endif
--- readline.c
+++ readline.c 2016-09-14 08:59:09.830092311 +0000
@@ -851,8 +851,11 @@ _rl_dispatch_subseq (key, map, got_subse
{
/* Special case rl_do_lowercase_version (). */
if (func == rl_do_lowercase_version)
- /* Should we do anything special if key == ANYOTHERKEY? */
- return (_rl_dispatch (_rl_to_lower ((unsigned char)key), map));
+ {
+ if (key == ANYOTHERKEY)
+ return -1;
+ return (_rl_dispatch (_rl_to_lower ((unsigned char)key), map));
+ }
rl_executing_keymap = map;
rl_executing_key = key;
--- readline.h
+++ readline.h 2016-09-14 08:59:09.830092311 +0000
@@ -32,6 +32,7 @@ extern "C" {
# include "keymaps.h"
# include "tilde.h"
#else
+# include <stdio.h>
# include <readline/rlstdc.h>
# include <readline/rltypedefs.h>
# include <readline/keymaps.h>
@@ -467,7 +468,7 @@ extern char *rl_filename_completion_func
extern int rl_completion_mode PARAMS((rl_command_func_t *));
-#if 0
+#ifdef OLD_READLINE
/* Backwards compatibility (compat.c). These will go away sometime. */
extern void free_undo_list PARAMS((void));
extern int maybe_save_line PARAMS((void));
--- support/shobj-conf
+++ support/shobj-conf 2016-09-14 08:59:09.830092311 +0000
@@ -126,10 +126,11 @@ sunos5*|solaris2*)
linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo)
SHOBJ_CFLAGS=-fPIC
SHOBJ_LD='${CC}'
- SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
+ SHOBJ_LDFLAGS='-shared'
- SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
+ SHLIB_XLDFLAGS='-Wl,-rpath-link,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
+ echo 'int main () { return 0; }' | gcc -ltinfo -o /dev/null -xc - > /dev/null 2>&1 && SHLIB_LIBS=-ltinfo || SHLIB_LIBS=-lncurses
;;
freebsd2*)

BIN
readline-7.0.tar.gz (Stored with Git LFS)

Binary file not shown.