readline 8.0-5 (x86_64;znver1) 2020-12461
9999

Submitter nobodydead [@T] gmail.com
Platform rolling
Repository main
URL https://abf.openmandriva.org/build_lists/825407
Packages
lib64history8-8.0-5.x86_64.binary
lib64history8-debuginfo-8.0-5.x86_64.debuginfo
lib64readline8-8.0-5.x86_64.binary
lib64readline8-debuginfo-8.0-5.x86_64.debuginfo
lib64readline-devel-8.0-5.x86_64.binary
libhistory8-8.0-5.x86_64.binary
libhistory8-debuginfo-8.0-5.x86_64.debuginfo
libreadline8-8.0-5.x86_64.binary
libreadline8-debuginfo-8.0-5.x86_64.debuginfo
libreadline-devel-8.0-5.x86_64.binary
readline-8.0-5.x86_64.source
readline-debugsource-8.0-5.x86_64.binary
readline-doc-8.0-5.x86_64.binary
lib64history8-8.0-5.znver1.binary
lib64history8-debuginfo-8.0-5.znver1.debuginfo
lib64readline8-8.0-5.znver1.binary
lib64readline8-debuginfo-8.0-5.znver1.debuginfo
lib64readline-devel-8.0-5.znver1.binary
libhistory8-8.0-5.znver1.binary
libhistory8-debuginfo-8.0-5.znver1.debuginfo
libreadline8-8.0-5.znver1.binary
libreadline8-debuginfo-8.0-5.znver1.debuginfo
libreadline-devel-8.0-5.znver1.binary
readline-8.0-5.znver1.source
readline-debugsource-8.0-5.znver1.binary
readline-doc-8.0-5.znver1.binary
Build Date 2020-09-15 15:03:38 +0000 UTC
Last Updated 2020-09-19 03:26:41.305381234 +0000 UTC
$ git diff --patch-with-stat --summary 8e7cd989e7228a37d7a8234acebbbd7e1531e4db..fc16f6334540e61ef181a03784b7b7a2ed01c8c9

 readline.spec                     | 138 ++++++++++++++++++++++++++++++++------
 readline8.0-001 => readline80-001 |   0
 readline80-002                    |  60 +++++++++++++++++
 readline80-003                    |  69 +++++++++++++++++++
 readline80-004                    |  47 +++++++++++++
 5 files changed, 294 insertions(+), 20 deletions(-)
 rename readline8.0-001 => readline80-001 (100%)
 create mode 100644 readline80-002
 create mode 100644 readline80-003
 create mode 100644 readline80-004

diff --git a/readline.spec b/readline.spec
index bb70878..43b4b42 100644
--- a/readline.spec
+++ b/readline.spec
@@ -1,3 +1,8 @@
+# Readline is used by various wine dependencies
+%ifarch %{x86_64}
+%bcond_without compat32
+%endif
+
 %define major 8
 %define libname %mklibname %{name} %{major}
 %define libhist %mklibname history %{major}
@@ -8,9 +13,18 @@
 %define libname7 %mklibname %{name} 7
 %define libhist7 %mklibname history 7
 %define devname %mklibname %{name} -d
-%define patchlevel 1
+%define lib32name %mklib32name %{name} %{major}
+%define lib32hist %mklib32name history %{major}
+%define lib32name6 %mklib32name %{name} 6
+%define lib32hist6 %mklib32name history 6
+%define lib32name7 %mklib32name %{name} 7
+%define lib32hist7 %mklib32name history 7
+%define dev32name %mklib32name %{name} -d
+%define patchlevel 4
 %define pre %{nil}
 
+%global optflags %{optflags} -Oz
+
 Summary:	Library for reading lines from a terminal
 Name:		readline
 Version:	8.0
@@ -18,7 +32,7 @@ Version:	8.0
 Release:	0.%{pre}.1
 Source0:	ftp://ftp.cwru.edu/pub/bash/%{name}-%{version}-%{pre}.tar.gz
 %else
-Release:	2
+Release:	5
 Source0:	ftp://ftp.gnu.org/gnu/readline/%{name}-%{version}.tar.gz
 %endif
 License:	GPLv2+
@@ -26,7 +40,7 @@ Group:		System/Libraries
 Url:		http://tiswww.case.edu/php/chet/readline/rltop.html
 # Upstream patches
 %if 0%{patchlevel}
-%(for i in $(seq 1 %{patchlevel}); do echo Patch$i: ftp://ftp.gnu.org/pub/gnu/readline/readline-%{version}-patches/readline$(echo %{version} |sed -e 's,\\.,,g')-$(echo 000$i |rev |cut -b1-3 |rev); done)
+%(for i in $(seq 1 %{patchlevel}); do echo Patch$i: ftp://ftp.gnu.org/pub/gnu/readline/readline-%{version}-patches/readline$(echo %{version} |sed -e 's,\.,,g')-$(echo 000$i |rev |cut -b1-3 |rev); done)
 %endif
 Patch1000:	readline-4.3-no_rpath.patch
 Patch1003:	readline-4.1-outdated.patch
@@ -34,6 +48,9 @@ Patch1004:	rl-header.patch
 Patch1005:	rl-attribute.patch
 Patch1008:	readline-6.2-fix-missing-linkage.patch
 BuildRequires:	ncurses-devel
+%if %{with compat32}
+BuildRequires:	devel(libncurses)
+%endif
 
 %description
 The "readline" library will read a line from the terminal and return it,
@@ -47,8 +64,8 @@ Group:		System/Libraries
 Provides:	%{name} = %{EVRD}
 Conflicts:	%{_lib}history < 6.2-13
 Obsoletes:	%{_lib}history < 6.2-13
-%rename %{libname6}
-%rename %{libname7}
+%rename		%{libname6}
+%rename		%{libname7}
 %if "%{_lib}" == "lib64"
 Provides:	libreadline.so.6()(64bit)
 Provides:	libreadline.so.7()(64bit)
@@ -68,8 +85,8 @@ Summary:	Shared libhistory library for readline
 Group:		System/Libraries
 Conflicts:	%{_lib}readline6 < 6.2-13
 Obsoletes:	%{_lib}readline6 < 6.2-13
-%rename %{libhist6}
-%rename %{libhist7}
+%rename		%{libhist6}
+%rename		%{libhist7}
 %if "%{_lib}" == "lib64"
 Provides:	libhistory.so.6()(64bit)
 Provides:	libhistory.so.7()(64bit)
@@ -107,6 +124,45 @@ line returned is allocated with malloc(3), so the caller must free it when
 finished.  The line returned has the final newline removed, so only the
 text of the line remains.
 
+%if %{with compat32}
+%package -n %{lib32name}
+Summary:	Shared libreadline library for readline (32-bit)
+Group:		System/Libraries
+%rename		%{lib32name6}
+%rename		%{lib32name7}
+Provides:	libreadline.so.6
+Provides:	libreadline.so.7
+
+%description -n %{lib32name}
+This package contains the library needed to run programs dynamically
+linked to readline.
+
+%package -n %{lib32hist}
+Summary:	Shared libhistory library for readline (32-bit)
+Group:		System/Libraries
+%rename		%{lib32hist6}
+%rename		%{lib32hist7}
+Provides:	libhistory.so.6
+Provides:	libhistory.so.7
+
+%description -n %{lib32hist}
+This package contains the libhistory library from readline.
+
+%package -n %{dev32name}
+Summary:	Files for developing programs that use the readline library (32-bit)
+Group:		Development/C
+Requires:	%{devname} = %{EVRD}
+Requires:	%{lib32name} = %{EVRD}
+Requires:	%{lib32hist} = %{EVRD}
+
+%description -n %{dev32name}
+The "readline" library will read a line from the terminal and return it,
+using prompt as a prompt.  If prompt is null, no prompt is issued.  The
+line returned is allocated with malloc(3), so the caller must free it when
+finished.  The line returned has the final newline removed, so only the
+text of the line remains.
+%endif
+
 %prep
 %if "%{pre}" != ""
 %setup -qn %{name}-%{version}-%{pre}
@@ -129,35 +185,60 @@ find . -name "*.orig" |xargs rm
 sed -e 's#/usr/local#%{_prefix}#g' -i doc/texi2html
 libtoolize --copy --force
 
-%build
+export CONFIGURE_TOP="$(pwd)"
+
+%if %{with compat32}
+mkdir build32
+cd build32
+%configure32 \
+    --enable-static=no \
+    --with-curses \
+    --enable-multibyte
+cd ..
+%endif
+
+mkdir build
+cd build
 %configure \
     --enable-static=no \
     --with-curses \
     --enable-multibyte
 
-%make_build
+%build
+%if %{with compat32}
+%make_build -C build32
+%endif
+%make_build -C build
 
 %install
 mkdir -p %{buildroot}%{_libdir}/pkgconfig
-%make_install
+%if %{with compat32}
+mkdir -p %{buildroot}%{_prefix}/lib/pkgconfig
+%make_install -C build32
+%endif
+%make_install -C build
 if [ -e %{buildroot}%{_includedir}/readline/rlmbutil.h ]; then
-	echo "rlmbutil.h is installed now -- please remove the workaround from the spec"
-	exit 1
+    printf '%ss\n' "rlmbutil.h is installed now -- please remove the workaround from the spec"
+    exit 1
 else
-	cp rlmbutil.h %{buildroot}%{_includedir}/readline/
+    cp rlmbutil.h %{buildroot}%{_includedir}/readline/
 fi
 
 # put all libs in /lib because some package needs it
 # before /usr is mounted
 install -d %{buildroot}/%{_lib}
 for l in libhistory.so libreadline.so; do
-	rm %{buildroot}%{_libdir}/${l}
-	mv %{buildroot}%{_libdir}/${l}.%{major}* %{buildroot}/%{_lib}
-	ln -sr %{buildroot}/%{_lib}/${l}.%{major}.* %{buildroot}%{_libdir}/${l}
-	# Unfortunately, readline uses version numbers as sonames,
-	# even if the ABI remains stable...
-	ln -s ${l}.%{major} %{buildroot}/%{_lib}/${l}.6
-	ln -s ${l}.%{major} %{buildroot}/%{_lib}/${l}.7
+    rm %{buildroot}%{_libdir}/${l}
+    mv %{buildroot}%{_libdir}/${l}.%{major}* %{buildroot}/%{_lib}
+    ln -sr %{buildroot}/%{_lib}/${l}.%{major}.* %{buildroot}%{_libdir}/${l}
+# Unfortunately, readline uses version numbers as sonames,
+# even if the ABI remains stable...
+    ln -s ${l}.%{major} %{buildroot}/%{_lib}/${l}.6
+    ln -s ${l}.%{major} %{buildroot}/%{_lib}/${l}.7
+%if %{with compat32}
+    ln -s ${l}.%{major} %{buildroot}%{_prefix}/lib/${l}.6
+    ln -s ${l}.%{major} %{buildroot}%{_prefix}/lib/${l}.7
+%endif
 done
 
 rm -rf %{buildroot}%{_docdir}/readline/{CHANGES,INSTALL,README}
@@ -185,3 +266,20 @@ rm -rf %{buildroot}%{_docdir}/readline/{CHANGES,INSTALL,README}
 %{_libdir}/libhistory.so
 %{_libdir}/libreadline.so
 %{_libdir}/pkgconfig/readline.pc
+
+%if %{with compat32}
+%files -n %{lib32hist}
+%{_prefix}/lib/libhistory.so.%{major}*
+%{_prefix}/lib/libhistory.so.7
+%{_prefix}/lib/libhistory.so.6
+
+%files -n %{lib32name}
+%{_prefix}/lib/libreadline.so.%{major}*
+%{_prefix}/lib/libreadline.so.7
+%{_prefix}/lib/libreadline.so.6
+
+%files -n %{dev32name}
+%{_prefix}/lib/libhistory.so
+%{_prefix}/lib/libreadline.so
+%{_prefix}/lib/pkgconfig/readline.pc
+%endif
diff --git a/readline8.0-001 b/readline80-001
similarity index 100%
rename from readline8.0-001
rename to readline80-001
diff --git a/readline80-002 b/readline80-002
new file mode 100644
index 0000000..7923d9d
--- /dev/null
+++ b/readline80-002
@@ -0,0 +1,60 @@
+			   READLINE PATCH REPORT
+			   =====================
+
+Readline-Release: 8.0
+Patch-ID: readline80-002
+
+Bug-Reported-by:	lessbug@qq.com
+Bug-Reference-ID:	<tencent_6AA531D9A5CC4121D86BD5CDA2E0DA98C605@qq.com>
+Bug-Reference-URL:
+
+Bug-Description:
+
+When using previous-history to go back beyond the beginning of the history list,
+it's possible to move to an incorrect partial line.
+
+Patch (apply with `patch -p0'):
+
+*** ../readline-8.0-patched/misc.c	2017-07-07 17:30:12.000000000 -0400
+--- misc.c	2019-05-16 11:43:46.000000000 -0400
+***************
+*** 577,580 ****
+--- 590,594 ----
+  {
+    HIST_ENTRY *old_temp, *temp;
++   int had_saved_line;
+  
+    if (count < 0)
+***************
+*** 589,592 ****
+--- 603,607 ----
+  
+    /* If we don't have a line saved, then save this one. */
++   had_saved_line = _rl_saved_line_for_history != 0;
+    rl_maybe_save_line ();
+  
+***************
+*** 612,616 ****
+    if (temp == 0)
+      {
+!       rl_maybe_unsave_line ();
+        rl_ding ();
+      }
+--- 627,632 ----
+    if (temp == 0)
+      {
+!       if (had_saved_line == 0)
+!         _rl_free_saved_history_line ();
+        rl_ding ();
+      }
+*** ../readline-8.0/patchlevel	2013-11-15 08:11:11.000000000 -0500
+--- patchlevel	2014-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 1
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 2
diff --git a/readline80-003 b/readline80-003
new file mode 100644
index 0000000..b371458
--- /dev/null
+++ b/readline80-003
@@ -0,0 +1,69 @@
+			   READLINE PATCH REPORT
+			   =====================
+
+Readline-Release: 8.0
+Patch-ID: readline80-003
+
+Bug-Reported-by:	HIROSE Masaaki <hirose31@gmail.com>
+Bug-Reference-ID:	<CAGSOfA-RqiTe=+GsXsDKyZrrMWH4bDbXgMVVegMa6OjqC5xbnQ@mail.gmail.com>
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00038.html
+
+Bug-Description:
+
+Reading history entries with timestamps can result in history entries joined
+by linefeeds.
+
+Patch (apply with `patch -p0'):
+
+*** ../readline-8.0-patched/histfile.c	2018-06-11 09:14:52.000000000 -0400
+--- histfile.c	2019-05-16 15:55:57.000000000 -0400
+***************
+*** 370,376 ****
+  
+    has_timestamps = HIST_TIMESTAMP_START (buffer);
+!   history_multiline_entries += has_timestamps && history_write_timestamps;  
+  
+    /* Skip lines until we are at FROM. */
+    for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
+      if (*line_end == '\n')
+--- 370,378 ----
+  
+    has_timestamps = HIST_TIMESTAMP_START (buffer);
+!   history_multiline_entries += has_timestamps && history_write_timestamps;
+  
+    /* Skip lines until we are at FROM. */
++   if (has_timestamps)
++     last_ts = buffer;
+    for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
+      if (*line_end == '\n')
+***************
+*** 381,385 ****
+--- 383,398 ----
+  	if (HIST_TIMESTAMP_START(p) == 0)
+  	  current_line++;
++ 	else
++ 	  last_ts = p;
+  	line_start = p;
++ 	/* If we are at the last line (current_line == from) but we have
++ 	   timestamps (has_timestamps), then line_start points to the
++ 	   text of the last command, and we need to skip to its end. */
++ 	if (current_line >= from && has_timestamps)
++ 	  {
++ 	    for (line_end = p; line_end < bufend && *line_end != '\n'; line_end++)
++ 	      ;
++ 	    line_start = (*line_end == '\n') ? line_end + 1 : line_end;
++ 	  }
+        }
+  
+
+*** ../readline-8.0/patchlevel	2013-11-15 08:11:11.000000000 -0500
+--- patchlevel	2014-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 2
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 3
diff --git a/readline80-004 b/readline80-004
new file mode 100644
index 0000000..8a40ebe
--- /dev/null
+++ b/readline80-004
@@ -0,0 +1,47 @@
+			   READLINE PATCH REPORT
+			   =====================
+
+Readline-Release: 8.0
+Patch-ID: readline80-004
+
+Bug-Reported-by:	auroralanes@protonmail.ch
+Bug-Reference-ID:	<WikEDKluAyoha9IDLp83rbN7_Uinr2rrpvSV_z4wmt9qur9piN-FNOn17P0cAizEVah1Fvc9d641vIIWX_7SC6EUTz0CatnOH-C-UK3rPYc=@protonmail.ch>
+Bug-Reference-URL:	https://lists.gnu.org/archive/html/bug-readline/2020-01/msg00008.html
+
+Bug-Description:
+
+If writing the history file fails, and renaming the backup history file fails,
+it's possible for readline's history code to return the wrong error to its
+caller.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-20200124/lib/readline/histfile.c	2019-11-19 10:31:58.000000000 -0500
+--- histfile.c	2020-02-01 16:28:29.000000000 -0500
+***************
+*** 621,624 ****
+--- 621,625 ----
+    if (rv != 0)
+      {
++       rv = errno;
+        if (tempname)
+  	unlink (tempname);
+***************
+*** 768,771 ****
+--- 769,773 ----
+    if (rv != 0)
+      {
++       rv = errno;
+        if (tempname)
+  	unlink (tempname);
+*** ../readline-8.0/patchlevel	2013-11-15 08:11:11.000000000 -0500
+--- patchlevel	2014-03-21 08:28:40.000000000 -0400
+***************
+*** 1,3 ****
+  # Do not edit -- exists only for use by patch
+  
+! 3
+--- 1,3 ----
+  # Do not edit -- exists only for use by patch
+  
+! 4
Not Available
benbullard79 [@T] cox.netPerfect packages, no one ever says a word!6d 18hrs
benbullard79 [@T] cox.netFantastic!6d 18hrs