Hello community,
here is the log from the commit of package bash for openSUSE:Factory checked in at 2012-07-18 17:12:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/bash (Old)
and /work/SRC/openSUSE:Factory/.bash.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bash", Maintainer is "werner@suse.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/bash/bash.changes 2012-07-12 10:40:11.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.bash.new/bash.changes 2012-07-18 17:12:09.000000000 +0200
@@ -1,0 +2,14 @@
+Wed Jul 18 11:17:00 UTC 2012 - werner@suse.de
+
+- libreadlib: try to avoid to bind references of the symbols
+ rl_instream and rl_outstream
+- libreadlib: make private symbols really private
+
+-------------------------------------------------------------------
+Wed Jul 18 09:20:55 UTC 2012 - werner@suse.de
+
+- Increase buffer for libreadline messsages if required
+- Include stdio.h in libreadline header files to get the declaration
+ of FILES correct.
+
+-------------------------------------------------------------------
New:
----
readline-6.2-msgdynamic.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ bash.spec ++++++
--- /var/tmp/diff_new_pack.yyaxuF/_old 2012-07-18 17:12:13.000000000 +0200
+++ /var/tmp/diff_new_pack.yyaxuF/_new 2012-07-18 17:12:13.000000000 +0200
@@ -20,10 +20,11 @@
BuildRequires: audit-devel
BuildRequires: autoconf
BuildRequires: bison
-BuildRequires: ncurses-devel
%if %suse_version > 1020
BuildRequires: fdupes
%endif
+BuildRequires: makeinfo
+BuildRequires: ncurses-devel
%define bash_vers 4.2
%define rl_vers 6.2
%define extend ""
@@ -80,6 +81,7 @@
Patch23: readline-5.2-conf.patch
Patch24: readline-6.2-metamode.patch
Patch25: readline-6.2-endpw.dif
+Patch26: readline-6.2-msgdynamic.patch
Patch30: readline-6.2-destdir.patch
Patch40: bash-4.1-bash.bashrc.dif
Patch42: audit-patch
@@ -288,6 +290,7 @@
%patch23 -p0 -b .conf
%patch24 -p0 -b .metamode
#%patch25 -p0 -b .endpw
+%patch26 -p0 -b .msgdy
%patch40 -p0 -b .bashrc
%patch42 -p1 -b .audit
%patch46 -p0 -b .notimestamp
@@ -303,6 +306,7 @@
%patch23 -p2 -b .conf
%patch24 -p2 -b .metamode
#%patch25 -p2 -b .endpw
+%patch26 -p2 -b .msgdy
%patch30 -p0 -b .destdir
%patch20 -p0 -b .0
@@ -349,6 +353,21 @@
LARGEFILE="-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
fi
rm -f ./test64
+ (cat > rl.map)<<-'EOF'
+ {
+ local:
+ _rl*;
+ xfree;
+ xmalloc;
+ xrealloc;
+ };
+ EOF
+ (cat > dyn.map)<<-'EOF'
+ {
+ *;
+ !rl_*stream;
+ }
+ EOF
CFLAGS="$RPM_OPT_FLAGS $LARGEFILE -D_GNU_SOURCE -DRECYCLES_PIDS -Wall -g"
LDFLAGS=""
cflags -std=gnu89 CFLAGS
@@ -363,8 +382,9 @@
cflags -Wl,--as-needed LDFLAGS
cflags -Wl,-O2 LDFLAGS
cflags -Wl,--hash-size=8599 LDFLAGS
- cflags -Wl,-Bsymbolic-functions LDFLAGS
cflags -Wl,-rpath,%{_ldldir}/%{bash_vers} 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"
@@ -383,6 +403,9 @@
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; }
++++++ readline-6.2-msgdynamic.patch ++++++
--- lib/readline/display.c
+++ lib/readline/display.c 2012-07-18 08:04:36.456009352 +0000
@@ -176,7 +176,8 @@ int _rl_vis_botlin = 0;
static int last_lmargin;
/* A buffer for `modeline' messages. */
-static char msg_buf[128];
+static char *msg_buf;
+static size_t msg_buf_sz = 128;
/* Non-zero forces the redisplay even if we thought it was unnecessary. */
static int forced_display;
@@ -2139,6 +2140,32 @@ rl_message (va_alist)
#if defined (PREFER_VARARGS)
char *format;
#endif
+#if defined (HAVE_VSNPRINTF)
+ int vsnprbytes;
+#endif
+
+ if (!msg_buf)
+ msg_buf = xmalloc(msg_buf_sz);
+
+#if defined (HAVE_VSNPRINTF)
+ do
+ {
+ va_end (args);
+#if defined (PREFER_STDARG)
+ va_start (args, format);
+#else
+ va_start (args);
+ format = va_arg (args, char *);
+#endif
+ vsnprbytes = vsnprintf (msg_buf, msg_buf_sz - 1, format, args);
+ if (vsnprbytes < msg_buf_sz - 1)
+ break;
+
+ msg_buf_sz += 64;
+ msg_buf = xrealloc (msg_buf, msg_buf_sz);
+ }
+ while (1);
+#else
#if defined (PREFER_STDARG)
va_start (args, format);
@@ -2147,11 +2174,8 @@ rl_message (va_alist)
format = va_arg (args, char *);
#endif
-#if defined (HAVE_VSNPRINTF)
- vsnprintf (msg_buf, sizeof (msg_buf) - 1, format, args);
-#else
vsprintf (msg_buf, format, args);
- msg_buf[sizeof(msg_buf) - 1] = '\0'; /* overflow? */
+ msg_buf[msg_buf_sz - 1] = '\0'; /* overflow? */
#endif
va_end (args);
@@ -2176,8 +2200,11 @@ int
rl_message (format, arg1, arg2)
char *format;
{
+ if (!msg_buf)
+ msg_buf = xmalloc(msg_buf_sz);
+
sprintf (msg_buf, format, arg1, arg2);
- msg_buf[sizeof(msg_buf) - 1] = '\0'; /* overflow? */
+ msg_buf[msg_buf_sz - 1] = '\0'; /* overflow? */
rl_display_prompt = msg_buf;
if (saved_local_prompt == 0)
++++++ readline-6.2.dif ++++++
--- /var/tmp/diff_new_pack.yyaxuF/_old 2012-07-18 17:12:13.000000000 +0200
+++ /var/tmp/diff_new_pack.yyaxuF/_new 2012-07-18 17:12:13.000000000 +0200
@@ -49,6 +49,16 @@
{
/* Null usernames should result in all users as possible completions. */
if (namelen == 0 || (STREQN (username, entry->pw_name, namelen)))
+--- history.h
++++ history.h 2012-07-18 08:06:55.693903477 +0000
+@@ -32,6 +32,7 @@ extern "C" {
+ # include "rlstdc.h"
+ # include "rltypedefs.h"
+ #else
++# include