.
OBS-URL: https://build.opensuse.org/package/show/Base:System/bash?expand=0&rev=185
This commit is contained in:
parent
1dbc189e2d
commit
939fe3d337
107
audit-patch
107
audit-patch
@ -1,107 +0,0 @@
|
|||||||
diff -up bash-4.0/config.h.in.audit bash-4.0/config.h.in
|
|
||||||
--- bash-4.0/config.h.in.audit 2009-01-21 11:34:34.000000000 -0500
|
|
||||||
+++ bash-4.0/config.h.in 2009-01-21 11:34:35.000000000 -0500
|
|
||||||
@@ -1077,6 +1077,14 @@
|
|
||||||
|
|
||||||
/* End additions for lib/intl */
|
|
||||||
|
|
||||||
+
|
|
||||||
+/* Additions for lib/readline */
|
|
||||||
+
|
|
||||||
+/* Define if you have <linux/audit.h> and it defines AUDIT_USER_TTY */
|
|
||||||
+#undef HAVE_DECL_AUDIT_USER_TTY
|
|
||||||
+
|
|
||||||
+/* End additions for lib/readline */
|
|
||||||
+
|
|
||||||
#include "config-bot.h"
|
|
||||||
|
|
||||||
#endif /* _CONFIG_H_ */
|
|
||||||
diff -up bash-4.0/configure.in.audit bash-4.0/configure.in
|
|
||||||
--- bash-4.0/configure.in.audit 2009-01-21 11:34:34.000000000 -0500
|
|
||||||
+++ bash-4.0/configure.in 2009-01-21 11:34:35.000000000 -0500
|
|
||||||
@@ -875,6 +875,8 @@ BASH_FUNC_DUP2_CLOEXEC_CHECK
|
|
||||||
BASH_SYS_PGRP_SYNC
|
|
||||||
BASH_SYS_SIGNAL_VINTAGE
|
|
||||||
|
|
||||||
+AC_CHECK_DECLS([AUDIT_USER_TTY],,, [[#include <linux/audit.h>]])
|
|
||||||
+
|
|
||||||
dnl checking for the presence of certain library symbols
|
|
||||||
BASH_SYS_ERRLIST
|
|
||||||
BASH_SYS_SIGLIST
|
|
||||||
diff -up bash-4.0/lib/readline/readline.c.audit bash-4.0/lib/readline/readline.c
|
|
||||||
--- bash-4.0/lib/readline/readline.c.audit 2009-01-21 11:34:34.000000000 -0500
|
|
||||||
+++ bash-4.0/lib/readline/readline.c 2009-01-21 11:40:12.000000000 -0500
|
|
||||||
@@ -55,6 +55,12 @@
|
|
||||||
extern int errno;
|
|
||||||
#endif /* !errno */
|
|
||||||
|
|
||||||
+#if defined (HAVE_DECL_AUDIT_USER_TTY)
|
|
||||||
+# include <sys/socket.h>
|
|
||||||
+# include <linux/audit.h>
|
|
||||||
+# include <linux/netlink.h>
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
/* System-specific feature definitions and include files. */
|
|
||||||
#include "rldefs.h"
|
|
||||||
#include "rlmbutil.h"
|
|
||||||
@@ -297,7 +303,47 @@ rl_set_prompt (prompt)
|
|
||||||
rl_visible_prompt_length = rl_expand_prompt (rl_prompt);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
-
|
|
||||||
+
|
|
||||||
+#if defined (HAVE_DECL_AUDIT_USER_TTY)
|
|
||||||
+/* Report STRING to the audit system. */
|
|
||||||
+static void
|
|
||||||
+audit_tty (char *string)
|
|
||||||
+{
|
|
||||||
+ struct sockaddr_nl addr;
|
|
||||||
+ struct msghdr msg;
|
|
||||||
+ struct nlmsghdr nlm;
|
|
||||||
+ struct iovec iov[2];
|
|
||||||
+ size_t size;
|
|
||||||
+ int fd;
|
|
||||||
+
|
|
||||||
+ size = strlen (string) + 1;
|
|
||||||
+ fd = socket (AF_NETLINK, SOCK_RAW, NETLINK_AUDIT);
|
|
||||||
+ if (fd < 0)
|
|
||||||
+ return;
|
|
||||||
+ nlm.nlmsg_len = NLMSG_LENGTH (size);
|
|
||||||
+ nlm.nlmsg_type = AUDIT_USER_TTY;
|
|
||||||
+ nlm.nlmsg_flags = NLM_F_REQUEST;
|
|
||||||
+ nlm.nlmsg_seq = 0;
|
|
||||||
+ nlm.nlmsg_pid = 0;
|
|
||||||
+ iov[0].iov_base = &nlm;
|
|
||||||
+ iov[0].iov_len = sizeof (nlm);
|
|
||||||
+ iov[1].iov_base = string;
|
|
||||||
+ iov[1].iov_len = size;
|
|
||||||
+ addr.nl_family = AF_NETLINK;
|
|
||||||
+ addr.nl_pid = 0;
|
|
||||||
+ addr.nl_groups = 0;
|
|
||||||
+ msg.msg_name = &addr;
|
|
||||||
+ msg.msg_namelen = sizeof (addr);
|
|
||||||
+ msg.msg_iov = iov;
|
|
||||||
+ msg.msg_iovlen = 2;
|
|
||||||
+ msg.msg_control = NULL;
|
|
||||||
+ msg.msg_controllen = 0;
|
|
||||||
+ msg.msg_flags = 0;
|
|
||||||
+ (void)sendmsg (fd, &msg, 0);
|
|
||||||
+ close (fd);
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
/* Read a line of input. Prompt with PROMPT. An empty PROMPT means
|
|
||||||
none. A return value of NULL means that EOF was encountered. */
|
|
||||||
char *
|
|
||||||
@@ -348,6 +394,11 @@ readline (prompt)
|
|
||||||
RL_SETSTATE (RL_STATE_CALLBACK);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if defined (HAVE_DECL_AUDIT_USER_TTY)
|
|
||||||
+ if (value != NULL)
|
|
||||||
+ audit_tty (value);
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
return (value);
|
|
||||||
}
|
|
||||||
|
|
@ -1,99 +0,0 @@
|
|||||||
--- readline-6.2/config.h.in
|
|
||||||
+++ readline-6.2/config.h.in 2013-01-09 09:31:06.833952652 +0000
|
|
||||||
@@ -251,6 +251,9 @@
|
|
||||||
|
|
||||||
#undef CTYPE_NON_ASCII
|
|
||||||
|
|
||||||
+/* Define if you have <linux/audit.h> and it defines AUDIT_USER_TTY */
|
|
||||||
+#undef HAVE_DECL_AUDIT_USER_TTY
|
|
||||||
+
|
|
||||||
/* modify settings or make new ones based on what autoconf tells us. */
|
|
||||||
|
|
||||||
/* Ultrix botches type-ahead when switching from canonical to
|
|
||||||
--- readline-6.2/configure.in
|
|
||||||
+++ readline-6.2/configure.in 2013-01-09 09:33:09.125452625 +0000
|
|
||||||
@@ -159,6 +159,8 @@ AC_CHECK_HEADERS(sys/ptem.h,,,
|
|
||||||
|
|
||||||
AC_SYS_LARGEFILE
|
|
||||||
|
|
||||||
+AC_CHECK_DECLS([AUDIT_USER_TTY],,, [[#include <linux/audit.h>]])
|
|
||||||
+
|
|
||||||
BASH_SYS_SIGNAL_VINTAGE
|
|
||||||
BASH_SYS_REINSTALL_SIGHANDLERS
|
|
||||||
|
|
||||||
--- readline-6.2/readline.c
|
|
||||||
+++ readline-6.2/readline.c 2009-01-21 16:40:12.000000000 +0000
|
|
||||||
@@ -55,6 +55,12 @@
|
|
||||||
extern int errno;
|
|
||||||
#endif /* !errno */
|
|
||||||
|
|
||||||
+#if defined (HAVE_DECL_AUDIT_USER_TTY)
|
|
||||||
+# include <sys/socket.h>
|
|
||||||
+# include <linux/audit.h>
|
|
||||||
+# include <linux/netlink.h>
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
/* System-specific feature definitions and include files. */
|
|
||||||
#include "rldefs.h"
|
|
||||||
#include "rlmbutil.h"
|
|
||||||
@@ -297,7 +303,47 @@ rl_set_prompt (prompt)
|
|
||||||
rl_visible_prompt_length = rl_expand_prompt (rl_prompt);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
-
|
|
||||||
+
|
|
||||||
+#if defined (HAVE_DECL_AUDIT_USER_TTY)
|
|
||||||
+/* Report STRING to the audit system. */
|
|
||||||
+static void
|
|
||||||
+audit_tty (char *string)
|
|
||||||
+{
|
|
||||||
+ struct sockaddr_nl addr;
|
|
||||||
+ struct msghdr msg;
|
|
||||||
+ struct nlmsghdr nlm;
|
|
||||||
+ struct iovec iov[2];
|
|
||||||
+ size_t size;
|
|
||||||
+ int fd;
|
|
||||||
+
|
|
||||||
+ size = strlen (string) + 1;
|
|
||||||
+ fd = socket (AF_NETLINK, SOCK_RAW, NETLINK_AUDIT);
|
|
||||||
+ if (fd < 0)
|
|
||||||
+ return;
|
|
||||||
+ nlm.nlmsg_len = NLMSG_LENGTH (size);
|
|
||||||
+ nlm.nlmsg_type = AUDIT_USER_TTY;
|
|
||||||
+ nlm.nlmsg_flags = NLM_F_REQUEST;
|
|
||||||
+ nlm.nlmsg_seq = 0;
|
|
||||||
+ nlm.nlmsg_pid = 0;
|
|
||||||
+ iov[0].iov_base = &nlm;
|
|
||||||
+ iov[0].iov_len = sizeof (nlm);
|
|
||||||
+ iov[1].iov_base = string;
|
|
||||||
+ iov[1].iov_len = size;
|
|
||||||
+ addr.nl_family = AF_NETLINK;
|
|
||||||
+ addr.nl_pid = 0;
|
|
||||||
+ addr.nl_groups = 0;
|
|
||||||
+ msg.msg_name = &addr;
|
|
||||||
+ msg.msg_namelen = sizeof (addr);
|
|
||||||
+ msg.msg_iov = iov;
|
|
||||||
+ msg.msg_iovlen = 2;
|
|
||||||
+ msg.msg_control = NULL;
|
|
||||||
+ msg.msg_controllen = 0;
|
|
||||||
+ msg.msg_flags = 0;
|
|
||||||
+ (void)sendmsg (fd, &msg, 0);
|
|
||||||
+ close (fd);
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
/* Read a line of input. Prompt with PROMPT. An empty PROMPT means
|
|
||||||
none. A return value of NULL means that EOF was encountered. */
|
|
||||||
char *
|
|
||||||
@@ -348,6 +394,11 @@ readline (prompt)
|
|
||||||
RL_SETSTATE (RL_STATE_CALLBACK);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if defined (HAVE_DECL_AUDIT_USER_TTY)
|
|
||||||
+ if (value != NULL)
|
|
||||||
+ audit_tty (value);
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
return (value);
|
|
||||||
}
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
|||||||
--- support/printenv.c
|
|
||||||
+++ support/printenv.c 2005-09-19 13:09:08.000000000 +0000
|
|
||||||
@@ -30,6 +30,7 @@
|
|
||||||
|
|
||||||
#include "bashansi.h"
|
|
||||||
|
|
||||||
+#include <string.h>
|
|
||||||
extern char **environ;
|
|
||||||
|
|
||||||
int
|
|
@ -1,16 +0,0 @@
|
|||||||
Backport of the corrected error message for a failing getpwd (bnc#895475)
|
|
||||||
---
|
|
||||||
po/de.po | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
--- po/de.po
|
|
||||||
+++ po/de.po 2014-09-15 08:46:03.482235134 +0000
|
|
||||||
@@ -267,7 +267,7 @@ msgstr "Fehler beim Ermitteln der Termin
|
|
||||||
#: builtins/common.c:563
|
|
||||||
#, c-format
|
|
||||||
msgid "%s: error retrieving current directory: %s: %s\n"
|
|
||||||
-msgstr "%s: Kann das nicht aktuelle Verzeichnis wiederfinden: %s: %s\n"
|
|
||||||
+msgstr "%s: Kann das aktuelle Verzeichnis nicht wiederfinden: %s: %s\n"
|
|
||||||
|
|
||||||
#: builtins/common.c:629 builtins/common.c:631
|
|
||||||
#, c-format
|
|
@ -1,20 +0,0 @@
|
|||||||
--- test.c
|
|
||||||
+++ test.c 2012-03-06 11:14:00.149934027 +0000
|
|
||||||
@@ -309,8 +309,17 @@ filecomp (s, t, op)
|
|
||||||
|
|
||||||
switch (op)
|
|
||||||
{
|
|
||||||
+#if defined(_BSD_SOURCE) || defined(_SVID_SOURCE) || (defined(_XOPEN_SOURCE) && ((_XOPEN_SOURCE - 0) >= 700)) || (defined(_POSIX_C_SOURCE) && ((_POSIX_C_SOURCE - 0) >= 200809L))
|
|
||||||
+# define st_mtimcmp(t1, t2, CMP) \
|
|
||||||
+ (((t1).st_mtim.tv_sec == (t2).st_mtim.tv_sec) ? \
|
|
||||||
+ ((t1).st_mtim.tv_nsec CMP (t2).st_mtim.tv_nsec) : \
|
|
||||||
+ ((t1).st_mtim.tv_sec CMP (t2).st_mtim.tv_sec))
|
|
||||||
+ case OT: return (r1 < r2 || (r2 == 0 && st_mtimcmp(st1, st2, <)));
|
|
||||||
+ case NT: return (r1 > r2 || (r1 == 0 && st_mtimcmp(st1, st2, >)));
|
|
||||||
+#else
|
|
||||||
case OT: return (r1 < r2 || (r2 == 0 && st1.st_mtime < st2.st_mtime));
|
|
||||||
case NT: return (r1 > r2 || (r1 == 0 && st1.st_mtime > st2.st_mtime));
|
|
||||||
+#endif
|
|
||||||
case EF: return (same_file (s, t, &st1, &st2));
|
|
||||||
}
|
|
||||||
return (FALSE);
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:951cdc3d800ad2d4ef928250ffeeae7bd6b4c40993c9063c339cfeac45dc30fc
|
|
||||||
size 32638
|
|
@ -1,25 +0,0 @@
|
|||||||
--- jobs.c
|
|
||||||
+++ jobs.c 2013-07-12 12:19:03.000000000 +0000
|
|
||||||
@@ -219,7 +219,7 @@ int already_making_children = 0;
|
|
||||||
|
|
||||||
/* If this is non-zero, $LINES and $COLUMNS are reset after every process
|
|
||||||
exits from get_tty_state(). */
|
|
||||||
-int check_window_size;
|
|
||||||
+int check_window_size = 1;
|
|
||||||
|
|
||||||
/* Functions local to this file. */
|
|
||||||
|
|
||||||
--- builtins/shopt.def
|
|
||||||
+++ builtins/shopt.def 2006-03-27 12:15:25.000000000 +0000
|
|
||||||
@@ -279,9 +279,9 @@ reset_shopt_options ()
|
|
||||||
allow_null_glob_expansion = glob_dot_filenames = 0;
|
|
||||||
cdable_vars = mail_warning = 0;
|
|
||||||
no_exit_on_failed_exec = print_shift_error = 0;
|
|
||||||
- check_hashed_filenames = cdspelling = expand_aliases = check_window_size = 0;
|
|
||||||
+ check_hashed_filenames = cdspelling = expand_aliases = 0;
|
|
||||||
|
|
||||||
- source_uses_path = promptvars = 1;
|
|
||||||
+ check_window_size = source_uses_path = promptvars = 1;
|
|
||||||
|
|
||||||
#if defined (EXTENDED_GLOB)
|
|
||||||
extended_glob = 0;
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:a27a1179ec9c0830c65c6aa5d7dab60f7ce1a2a608618570f96bfa72e95ab3d8
|
|
||||||
size 7009201
|
|
@ -1,6 +1,6 @@
|
|||||||
--- array.c
|
--- array.c
|
||||||
+++ array.c 2006-11-14 09:54:22.000000000 +0000
|
+++ array.c 2006-11-14 09:54:22.000000000 +0000
|
||||||
@@ -922,7 +922,7 @@ char *s, *sep;
|
@@ -940,7 +940,7 @@ char *s, *sep;
|
||||||
* To make a running version, compile -DTEST_ARRAY and link with:
|
* To make a running version, compile -DTEST_ARRAY and link with:
|
||||||
* xmalloc.o syntax.o lib/malloc/libmalloc.a lib/sh/libsh.a
|
* xmalloc.o syntax.o lib/malloc/libmalloc.a lib/sh/libsh.a
|
||||||
*/
|
*/
|
||||||
@ -41,7 +41,7 @@
|
|||||||
signal_is_trapped (s)
|
signal_is_trapped (s)
|
||||||
--- jobs.c
|
--- jobs.c
|
||||||
+++ jobs.c 2001-05-02 16:20:31.000000000 +0000
|
+++ jobs.c 2001-05-02 16:20:31.000000000 +0000
|
||||||
@@ -1769,6 +1769,15 @@ make_child (command, async_p)
|
@@ -1783,6 +1783,15 @@ make_child (command, async_p)
|
||||||
pid_t mypid;
|
pid_t mypid;
|
||||||
|
|
||||||
mypid = getpid ();
|
mypid = getpid ();
|
||||||
@ -57,44 +57,9 @@
|
|||||||
#if defined (BUFFERED_INPUT)
|
#if defined (BUFFERED_INPUT)
|
||||||
/* Close default_buffered_input if it's > 0. We don't close it if it's
|
/* Close default_buffered_input if it's > 0. We don't close it if it's
|
||||||
0 because that's the file descriptor used when redirecting input,
|
0 because that's the file descriptor used when redirecting input,
|
||||||
--- quit.h
|
|
||||||
+++ quit.h 2006-11-14 09:43:18.000000000 +0000
|
|
||||||
@@ -21,9 +21,13 @@
|
|
||||||
#if !defined (_QUIT_H_)
|
|
||||||
#define _QUIT_H_
|
|
||||||
|
|
||||||
+#define __need_sig_atomic_t
|
|
||||||
+#include <signal.h>
|
|
||||||
+#undef __need_sig_atomic_t
|
|
||||||
+
|
|
||||||
/* Non-zero means SIGINT has already ocurred. */
|
|
||||||
-extern volatile int interrupt_state;
|
|
||||||
-extern volatile int terminating_signal;
|
|
||||||
+extern volatile sig_atomic_t interrupt_state;
|
|
||||||
+extern volatile sig_atomic_t terminating_signal;
|
|
||||||
|
|
||||||
/* Macro to call a great deal. SIGINT just sets the interrupt_state variable.
|
|
||||||
When it is safe, put QUIT in the code, and the "interrupt" will take
|
|
||||||
--- sig.c
|
--- sig.c
|
||||||
+++ sig.c 2006-11-14 09:53:51.000000000 +0000
|
+++ sig.c 2006-11-14 09:53:51.000000000 +0000
|
||||||
@@ -66,13 +66,13 @@ extern int history_lines_this_session;
|
@@ -92,10 +92,10 @@ sigset_t top_level_mask;
|
||||||
extern void initialize_siglist ();
|
|
||||||
|
|
||||||
/* Non-zero after SIGINT. */
|
|
||||||
-volatile int interrupt_state = 0;
|
|
||||||
+volatile sig_atomic_t interrupt_state = 0;
|
|
||||||
|
|
||||||
/* Non-zero after SIGWINCH */
|
|
||||||
-volatile int sigwinch_received = 0;
|
|
||||||
+volatile sig_atomic_t sigwinch_received = 0;
|
|
||||||
|
|
||||||
/* Set to the value of any terminating signal received. */
|
|
||||||
-volatile int terminating_signal = 0;
|
|
||||||
+volatile sig_atomic_t terminating_signal = 0;
|
|
||||||
|
|
||||||
/* The environment at the top-level R-E loop. We use this in
|
|
||||||
the case of error return. */
|
|
||||||
@@ -84,10 +84,10 @@ sigset_t top_level_mask;
|
|
||||||
#endif /* JOB_CONTROL */
|
#endif /* JOB_CONTROL */
|
||||||
|
|
||||||
/* When non-zero, we throw_to_top_level (). */
|
/* When non-zero, we throw_to_top_level (). */
|
||||||
@ -108,22 +73,14 @@
|
|||||||
#if defined (SIGWINCH)
|
#if defined (SIGWINCH)
|
||||||
static SigHandler *old_winch = (SigHandler *)SIG_DFL;
|
static SigHandler *old_winch = (SigHandler *)SIG_DFL;
|
||||||
--- sig.h
|
--- sig.h
|
||||||
+++ sig.h 2006-11-14 09:49:32.000000000 +0000
|
+++ sig.h 2014-04-17 09:42:15.030235662 +0000
|
||||||
@@ -108,11 +108,15 @@ do { \
|
@@ -111,8 +111,8 @@ do { \
|
||||||
|
extern volatile sig_atomic_t sigwinch_received;
|
||||||
|
extern volatile sig_atomic_t sigterm_received;
|
||||||
|
|
||||||
#endif /* JOB_CONTROL */
|
-extern int interrupt_immediately; /* no longer used */
|
||||||
|
|
||||||
+#define __need_sig_atomic_t
|
|
||||||
+#include <signal.h>
|
|
||||||
+#undef __need_sig_atomic_t
|
|
||||||
+
|
|
||||||
/* Extern variables */
|
|
||||||
-extern volatile int sigwinch_received;
|
|
||||||
+extern volatile sig_atomic_t sigwinch_received;
|
|
||||||
|
|
||||||
-extern int interrupt_immediately;
|
|
||||||
-extern int terminate_immediately;
|
-extern int terminate_immediately;
|
||||||
+extern volatile sig_atomic_t interrupt_immediately;
|
+extern volatile sig_atomic_t interrupt_immediately; /* no longer used */
|
||||||
+extern volatile sig_atomic_t terminate_immediately;
|
+extern volatile sig_atomic_t terminate_immediately;
|
||||||
|
|
||||||
/* Functions from sig.c. */
|
/* Functions from sig.c. */
|
10
bash-4.3-decl.patch
Normal file
10
bash-4.3-decl.patch
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
--- support/printenv.c
|
||||||
|
+++ support/printenv.c 2014-04-17 09:46:25.874236036 +0000
|
||||||
|
@@ -31,6 +31,7 @@
|
||||||
|
#include "bashansi.h"
|
||||||
|
#include <stdio.h> /* puts */
|
||||||
|
|
||||||
|
+#include <string.h>
|
||||||
|
extern char **environ;
|
||||||
|
|
||||||
|
int
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
--- shell.c
|
--- shell.c
|
||||||
+++ shell.c 2014-09-25 20:11:51.000000000 +0000
|
+++ shell.c 2014-09-25 20:11:51.000000000 +0000
|
||||||
@@ -225,6 +225,7 @@ int posixly_correct = 1; /* Non-zero mea
|
@@ -230,6 +230,7 @@ int posixly_correct = 1; /* Non-zero mea
|
||||||
#else
|
#else
|
||||||
int posixly_correct = 0; /* Non-zero means posix.2 superset. */
|
int posixly_correct = 0; /* Non-zero means posix.2 superset. */
|
||||||
#endif
|
#endif
|
||||||
@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
/* Some long-winded argument names. These are obviously new. */
|
/* Some long-winded argument names. These are obviously new. */
|
||||||
#define Int 1
|
#define Int 1
|
||||||
@@ -244,6 +245,7 @@ static const struct {
|
@@ -249,6 +250,7 @@ static const struct {
|
||||||
{ "help", Int, &want_initial_help, (char **)0x0 },
|
{ "help", Int, &want_initial_help, (char **)0x0 },
|
||||||
{ "init-file", Charp, (int *)0x0, &bashrc_file },
|
{ "init-file", Charp, (int *)0x0, &bashrc_file },
|
||||||
{ "login", Int, &make_login_shell, (char **)0x0 },
|
{ "login", Int, &make_login_shell, (char **)0x0 },
|
||||||
@ -24,8 +24,8 @@
|
|||||||
{ "noprofile", Int, &no_profile, (char **)0x0 },
|
{ "noprofile", Int, &no_profile, (char **)0x0 },
|
||||||
{ "norc", Int, &no_rc, (char **)0x0 },
|
{ "norc", Int, &no_rc, (char **)0x0 },
|
||||||
--- variables.c
|
--- variables.c
|
||||||
+++ variables.c 2014-09-30 11:54:58.994735738 +0000
|
+++ variables.c 2014-10-06 08:36:41.299837915 +0000
|
||||||
@@ -105,6 +105,7 @@ extern time_t shell_start_time;
|
@@ -110,6 +110,7 @@ extern time_t shell_start_time;
|
||||||
extern int assigning_in_environment;
|
extern int assigning_in_environment;
|
||||||
extern int executing_builtin;
|
extern int executing_builtin;
|
||||||
extern int funcnest_max;
|
extern int funcnest_max;
|
||||||
@ -33,15 +33,15 @@
|
|||||||
|
|
||||||
#if defined (READLINE)
|
#if defined (READLINE)
|
||||||
extern int no_line_editing;
|
extern int no_line_editing;
|
||||||
@@ -317,6 +318,7 @@ initialize_shell_variables (env, privmod
|
@@ -328,6 +329,7 @@ initialize_shell_variables (env, privmod
|
||||||
char *name, *string, *temp_string;
|
char *name, *string, *temp_string;
|
||||||
int c, char_index, string_index, string_length;
|
int c, char_index, string_index, string_length, ro;
|
||||||
SHELL_VAR *temp_var;
|
SHELL_VAR *temp_var;
|
||||||
+ int skipped_import;
|
+ int skipped_import;
|
||||||
|
|
||||||
create_variable_tables ();
|
create_variable_tables ();
|
||||||
|
|
||||||
@@ -341,9 +343,12 @@ initialize_shell_variables (env, privmod
|
@@ -352,9 +354,12 @@ initialize_shell_variables (env, privmod
|
||||||
|
|
||||||
temp_var = (SHELL_VAR *)NULL;
|
temp_var = (SHELL_VAR *)NULL;
|
||||||
|
|
||||||
@ -52,10 +52,10 @@
|
|||||||
the environment in privileged mode. */
|
the environment in privileged mode. */
|
||||||
- if (privmode == 0 && read_but_dont_execute == 0 &&
|
- if (privmode == 0 && read_but_dont_execute == 0 &&
|
||||||
+ if (skipped_import == 0 && privmode == 0 && read_but_dont_execute == 0 &&
|
+ if (skipped_import == 0 && privmode == 0 && read_but_dont_execute == 0 &&
|
||||||
STREQN (BASHFUNC_PREFIX, name, BASHFUNC_PREFLEN) &&
|
STREQN (BASHFUNC_PREFIX, name, BASHFUNC_PREFLEN) &&
|
||||||
STREQ (BASHFUNC_SUFFIX, name + char_index - BASHFUNC_SUFFLEN) &&
|
STREQ (BASHFUNC_SUFFIX, name + char_index - BASHFUNC_SUFFLEN) &&
|
||||||
STREQN ("() {", string, 4))
|
STREQN ("() {", string, 4))
|
||||||
@@ -356,6 +361,12 @@ initialize_shell_variables (env, privmod
|
@@ -367,6 +372,12 @@ initialize_shell_variables (env, privmod
|
||||||
tname = name + BASHFUNC_PREFLEN; /* start of func name */
|
tname = name + BASHFUNC_PREFLEN; /* start of func name */
|
||||||
tname[namelen] = '\0'; /* now tname == func name */
|
tname[namelen] = '\0'; /* now tname == func name */
|
||||||
|
|
||||||
@ -69,16 +69,16 @@
|
|||||||
temp_string = (char *)xmalloc (namelen + string_length + 2);
|
temp_string = (char *)xmalloc (namelen + string_length + 2);
|
||||||
|
|
||||||
--- builtins/shopt.def
|
--- builtins/shopt.def
|
||||||
+++ builtins/shopt.def 2014-09-30 11:58:13.714235365 +0000
|
+++ builtins/shopt.def 2014-09-30 11:58:14.000000000 +0000
|
||||||
@@ -89,6 +89,7 @@ extern int check_jobs_at_exit;
|
@@ -90,6 +90,7 @@ extern int autocd;
|
||||||
extern int autocd;
|
|
||||||
extern int glob_star;
|
extern int glob_star;
|
||||||
|
extern int glob_asciirange;
|
||||||
extern int lastpipe_opt;
|
extern int lastpipe_opt;
|
||||||
+extern int import_functions;
|
+extern int import_functions;
|
||||||
|
|
||||||
#if defined (EXTENDED_GLOB)
|
#if defined (EXTENDED_GLOB)
|
||||||
extern int extended_glob;
|
extern int extended_glob;
|
||||||
@@ -186,6 +187,7 @@ static struct {
|
@@ -192,6 +193,7 @@ static struct {
|
||||||
{ "hostcomplete", &perform_hostname_completion, shopt_enable_hostname_completion },
|
{ "hostcomplete", &perform_hostname_completion, shopt_enable_hostname_completion },
|
||||||
#endif
|
#endif
|
||||||
{ "huponexit", &hup_on_exit, (shopt_set_func_t *)NULL },
|
{ "huponexit", &hup_on_exit, (shopt_set_func_t *)NULL },
|
||||||
@ -87,8 +87,8 @@
|
|||||||
{ "lastpipe", &lastpipe_opt, (shopt_set_func_t *)NULL },
|
{ "lastpipe", &lastpipe_opt, (shopt_set_func_t *)NULL },
|
||||||
#if defined (HISTORY)
|
#if defined (HISTORY)
|
||||||
--- doc/bash.1
|
--- doc/bash.1
|
||||||
+++ doc/bash.1 2014-09-30 12:09:39.698234623 +0000
|
+++ doc/bash.1 2014-09-30 12:09:40.000000000 +0000
|
||||||
@@ -235,6 +235,13 @@ The shell becomes restricted (see
|
@@ -240,6 +240,13 @@ The shell becomes restricted (see
|
||||||
.B "RESTRICTED SHELL"
|
.B "RESTRICTED SHELL"
|
||||||
below).
|
below).
|
||||||
.TP
|
.TP
|
@ -1,5 +1,5 @@
|
|||||||
--- examples/loadables/Makefile.in
|
--- examples/loadables/Makefile.in
|
||||||
+++ examples/loadables/Makefile.in 2009-06-09 16:16:25.000000000 +0000
|
+++ examples/loadables/Makefile.in 2014-04-17 10:10:12.450235258 +0000
|
||||||
@@ -28,6 +28,9 @@ includedir = @includedir@
|
@@ -28,6 +28,9 @@ includedir = @includedir@
|
||||||
|
|
||||||
datarootdir = @datarootdir@
|
datarootdir = @datarootdir@
|
||||||
@ -27,7 +27,7 @@
|
|||||||
#
|
#
|
||||||
# These values are generated for configure by ${topdir}/support/shobj-conf.
|
# These values are generated for configure by ${topdir}/support/shobj-conf.
|
||||||
# If your system is not supported by that script, but includes facilities for
|
# If your system is not supported by that script, but includes facilities for
|
||||||
@@ -79,20 +92,45 @@ INC = -I. -I.. -I$(topdir) -I$(topdir)/l
|
@@ -79,20 +92,46 @@ INC = -I. -I.. -I$(topdir) -I$(topdir)/l
|
||||||
-I$(BASHINCDIR) -I$(BUILD_DIR) -I$(LIBBUILD) \
|
-I$(BASHINCDIR) -I$(BUILD_DIR) -I$(LIBBUILD) \
|
||||||
-I$(BUILD_DIR)/builtins $(INTL_INC)
|
-I$(BUILD_DIR)/builtins $(INTL_INC)
|
||||||
|
|
||||||
@ -40,9 +40,9 @@
|
|||||||
|
|
||||||
+SUPPORT_SRC = $(topdir)/support/
|
+SUPPORT_SRC = $(topdir)/support/
|
||||||
|
|
||||||
ALLPROG = print sleep finfo logname basename dirname \
|
ALLPROG = print truefalse sleep pushd finfo logname basename dirname \
|
||||||
tty pathchk tee head mkdir rmdir printenv id whoami \
|
tty pathchk tee head mkdir rmdir printenv id whoami \
|
||||||
uname sync push ln unlink cut realpath getconf strftime mypid
|
uname sync push ln unlink realpath strftime mypid
|
||||||
OTHERPROG = necho hello cat
|
OTHERPROG = necho hello cat
|
||||||
+HEADERS =
|
+HEADERS =
|
||||||
|
|
||||||
@ -53,6 +53,7 @@
|
|||||||
|
|
||||||
+dependlist: template.d
|
+dependlist: template.d
|
||||||
+-include template.d
|
+-include template.d
|
||||||
|
+
|
||||||
+install-headers: HEADERS = $(sort $(filter %.h,$(realpath $^)))
|
+install-headers: HEADERS = $(sort $(filter %.h,$(realpath $^)))
|
||||||
+install-headers:
|
+install-headers:
|
||||||
+ @${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(includedir)/$(Name)/$(Version)/builtins
|
+ @${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(includedir)/$(Name)/$(Version)/builtins
|
@ -1,17 +1,6 @@
|
|||||||
--- examples/loadables/Makefile.in
|
|
||||||
+++ examples/loadables/Makefile.in 2006-09-25 11:31:55.000000000 +0000
|
|
||||||
@@ -83,7 +83,7 @@ INC = -I. -I.. -I$(topdir) -I$(topdir)/l
|
|
||||||
$(SHOBJ_CC) $(SHOBJ_CFLAGS) $(CCFLAGS) $(INC) -c -o $@ $<
|
|
||||||
|
|
||||||
|
|
||||||
-ALLPROG = print truefalse sleep pushd finfo logname basename dirname \
|
|
||||||
+ALLPROG = print sleep finfo logname basename dirname \
|
|
||||||
tty pathchk tee head mkdir rmdir printenv id whoami \
|
|
||||||
uname sync push ln unlink cut realpath getconf strftime mypid
|
|
||||||
OTHERPROG = necho hello cat
|
|
||||||
--- examples/loadables/basename.c
|
--- examples/loadables/basename.c
|
||||||
+++ examples/loadables/basename.c 2006-09-25 11:49:31.000000000 +0000
|
+++ examples/loadables/basename.c 2006-09-25 11:49:31.000000000 +0000
|
||||||
@@ -9,10 +9,13 @@
|
@@ -27,10 +27,13 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@ -40,29 +29,6 @@
|
|||||||
|
|
||||||
#ifndef errno
|
#ifndef errno
|
||||||
extern int errno;
|
extern int errno;
|
||||||
--- examples/loadables/cut.c
|
|
||||||
+++ examples/loadables/cut.c 2006-09-25 12:00:21.000000000 +0000
|
|
||||||
@@ -60,8 +60,10 @@ static const char sccsid[] = "@(#)cut.c
|
|
||||||
# include <unistd.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#include "builtins.h"
|
|
||||||
#include "shell.h"
|
|
||||||
+#include "builtins.h"
|
|
||||||
+#include "builtins/builtext.h"
|
|
||||||
+#include "builtins/common.h"
|
|
||||||
#include "bashgetopt.h"
|
|
||||||
#include "common.h"
|
|
||||||
|
|
||||||
@@ -244,7 +246,7 @@ c_cut(fp, fname)
|
|
||||||
pos = positions + 1;
|
|
||||||
for (col = maxval; col; --col) {
|
|
||||||
if ((ch = getc(fp)) == EOF)
|
|
||||||
- return;
|
|
||||||
+ return (0);
|
|
||||||
if (ch == '\n')
|
|
||||||
break;
|
|
||||||
if (*pos++)
|
|
||||||
--- examples/loadables/dirname.c
|
--- examples/loadables/dirname.c
|
||||||
+++ examples/loadables/dirname.c 2006-09-25 11:49:38.000000000 +0000
|
+++ examples/loadables/dirname.c 2006-09-25 11:49:38.000000000 +0000
|
||||||
@@ -27,10 +27,13 @@
|
@@ -27,10 +27,13 @@
|
||||||
@ -82,7 +48,7 @@
|
|||||||
{
|
{
|
||||||
--- examples/loadables/finfo.c
|
--- examples/loadables/finfo.c
|
||||||
+++ examples/loadables/finfo.c 2006-09-25 11:48:52.000000000 +0000
|
+++ examples/loadables/finfo.c 2006-09-25 11:48:52.000000000 +0000
|
||||||
@@ -20,6 +20,8 @@
|
@@ -38,6 +38,8 @@
|
||||||
#include "bashansi.h"
|
#include "bashansi.h"
|
||||||
#include "shell.h"
|
#include "shell.h"
|
||||||
#include "builtins.h"
|
#include "builtins.h"
|
||||||
@ -91,7 +57,7 @@
|
|||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
|
||||||
#ifndef errno
|
#ifndef errno
|
||||||
@@ -81,7 +83,7 @@ int argc;
|
@@ -99,7 +101,7 @@ int argc;
|
||||||
char **argv;
|
char **argv;
|
||||||
{
|
{
|
||||||
register int i;
|
register int i;
|
||||||
@ -100,7 +66,7 @@
|
|||||||
|
|
||||||
sh_optind = 0; /* XXX */
|
sh_optind = 0; /* XXX */
|
||||||
prog = base_pathname(argv[0]);
|
prog = base_pathname(argv[0]);
|
||||||
@@ -174,7 +176,7 @@ int m;
|
@@ -192,7 +194,7 @@ int m;
|
||||||
return (m & (S_IRWXU|S_IRWXG|S_IRWXO|S_ISUID|S_ISGID));
|
return (m & (S_IRWXU|S_IRWXG|S_IRWXO|S_ISUID|S_ISGID));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -109,7 +75,7 @@
|
|||||||
perms(m)
|
perms(m)
|
||||||
int m;
|
int m;
|
||||||
{
|
{
|
||||||
@@ -218,7 +220,7 @@ int m;
|
@@ -236,7 +238,7 @@ int m;
|
||||||
printf ("u=%s,g=%s,o=%s", ubits, gbits, obits);
|
printf ("u=%s,g=%s,o=%s", ubits, gbits, obits);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -118,7 +84,7 @@
|
|||||||
printmode(mode)
|
printmode(mode)
|
||||||
int mode;
|
int mode;
|
||||||
{
|
{
|
||||||
@@ -313,13 +315,13 @@ int flags;
|
@@ -331,13 +333,13 @@ int flags;
|
||||||
else
|
else
|
||||||
printf("%ld\n", st->st_ctime);
|
printf("%ld\n", st->st_ctime);
|
||||||
} else if (flags & OPT_DEV)
|
} else if (flags & OPT_DEV)
|
||||||
@ -136,7 +102,7 @@
|
|||||||
else if (flags & OPT_LNKNAM) {
|
else if (flags & OPT_LNKNAM) {
|
||||||
#ifdef S_ISLNK
|
#ifdef S_ISLNK
|
||||||
b = xmalloc(4096);
|
b = xmalloc(4096);
|
||||||
@@ -369,7 +371,6 @@ finfo_builtin(list)
|
@@ -387,7 +389,6 @@ finfo_builtin(list)
|
||||||
{
|
{
|
||||||
int c, r;
|
int c, r;
|
||||||
char **v;
|
char **v;
|
||||||
@ -144,44 +110,6 @@
|
|||||||
|
|
||||||
v = make_builtin_argv (list, &c);
|
v = make_builtin_argv (list, &c);
|
||||||
r = finfo_main (c, v);
|
r = finfo_main (c, v);
|
||||||
--- examples/loadables/getconf.c
|
|
||||||
+++ examples/loadables/getconf.c 2006-09-25 12:02:33.000000000 +0000
|
|
||||||
@@ -65,6 +65,8 @@
|
|
||||||
#include "bashansi.h"
|
|
||||||
#include "shell.h"
|
|
||||||
#include "builtins.h"
|
|
||||||
+#include "builtins/builtext.h"
|
|
||||||
+#include "builtins/common.h"
|
|
||||||
#include "stdc.h"
|
|
||||||
#include "common.h"
|
|
||||||
#include "bashgetopt.h"
|
|
||||||
@@ -1119,8 +1121,6 @@ static const struct conf_variable conf_t
|
|
||||||
{ NULL }
|
|
||||||
};
|
|
||||||
|
|
||||||
-static int num_getconf_variables = sizeof(conf_table) / sizeof(struct conf_variable) - 1;
|
|
||||||
-
|
|
||||||
extern char *this_command_name;
|
|
||||||
extern char **make_builtin_argv ();
|
|
||||||
|
|
||||||
@@ -1133,8 +1133,7 @@ int
|
|
||||||
getconf_builtin (list)
|
|
||||||
WORD_LIST *list;
|
|
||||||
{
|
|
||||||
- int c, r, opt, aflag;
|
|
||||||
- char **v;
|
|
||||||
+ int r, opt, aflag;
|
|
||||||
|
|
||||||
aflag = 0;
|
|
||||||
reset_internal_getopt();
|
|
||||||
@@ -1169,7 +1168,6 @@ static void
|
|
||||||
getconf_help()
|
|
||||||
{
|
|
||||||
const struct conf_variable *cp;
|
|
||||||
- register int i, column;
|
|
||||||
|
|
||||||
builtin_usage();
|
|
||||||
printf("Acceptable variable names are:\n");
|
|
||||||
--- examples/loadables/head.c
|
--- examples/loadables/head.c
|
||||||
+++ examples/loadables/head.c 2006-09-25 11:55:24.000000000 +0000
|
+++ examples/loadables/head.c 2006-09-25 11:55:24.000000000 +0000
|
||||||
@@ -38,6 +38,8 @@
|
@@ -38,6 +38,8 @@
|
||||||
@ -215,7 +143,7 @@
|
|||||||
reset_internal_getopt ();
|
reset_internal_getopt ();
|
||||||
--- examples/loadables/hello.c
|
--- examples/loadables/hello.c
|
||||||
+++ examples/loadables/hello.c 2006-09-25 11:38:25.000000000 +0000
|
+++ examples/loadables/hello.c 2006-09-25 11:38:25.000000000 +0000
|
||||||
@@ -11,8 +11,10 @@
|
@@ -29,8 +29,10 @@
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
@ -565,7 +493,7 @@
|
|||||||
#if !defined (errno)
|
#if !defined (errno)
|
||||||
--- examples/loadables/truefalse.c
|
--- examples/loadables/truefalse.c
|
||||||
+++ examples/loadables/truefalse.c 2006-09-25 11:40:42.000000000 +0000
|
+++ examples/loadables/truefalse.c 2006-09-25 11:40:42.000000000 +0000
|
||||||
@@ -20,18 +20,24 @@
|
@@ -20,31 +20,37 @@
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
|
||||||
@ -592,6 +520,21 @@
|
|||||||
WORD_LIST *list;
|
WORD_LIST *list;
|
||||||
{
|
{
|
||||||
return EXECUTION_FAILURE;
|
return EXECUTION_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static char *true_doc[] = {
|
||||||
|
+char * const true_doc[] = {
|
||||||
|
"Exit successfully.",
|
||||||
|
"",
|
||||||
|
"Return a successful result.",
|
||||||
|
(char *)NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
-static char *false_doc[] = {
|
||||||
|
+char * const false_doc[] = {
|
||||||
|
"Exit unsuccessfully.",
|
||||||
|
"",
|
||||||
|
"Return an unsuccessful result.",
|
||||||
--- examples/loadables/tty.c
|
--- examples/loadables/tty.c
|
||||||
+++ examples/loadables/tty.c 2006-09-25 11:49:53.000000000 +0000
|
+++ examples/loadables/tty.c 2006-09-25 11:49:53.000000000 +0000
|
||||||
@@ -23,13 +23,16 @@
|
@@ -23,13 +23,16 @@
|
3
bash-4.3-patches.tar.bz2
Normal file
3
bash-4.3-patches.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:49ddb97d874d4d969a4f7dcefb239d472a18d75f42f7f72104a0dab87a305fad
|
||||||
|
size 24452
|
21
bash-4.3-sigrestart.patch
Normal file
21
bash-4.3-sigrestart.patch
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
--- sig.c
|
||||||
|
+++ sig.c 2014-04-17 10:02:57.078235890 +0000
|
||||||
|
@@ -722,10 +722,18 @@ set_signal_handler (sig, handler)
|
||||||
|
if (sig == SIGCHLD)
|
||||||
|
act.sa_flags |= SA_RESTART; /* XXX */
|
||||||
|
#endif
|
||||||
|
+ if (sig != SIGALRM && handler != (termsig_sighandler))
|
||||||
|
+ act.sa_flags |= SA_RESTART; /* XXX */
|
||||||
|
+ if (handler == (trap_handler))
|
||||||
|
+ act.sa_flags |= SA_NODEFER; /* XXX */
|
||||||
|
/* If we're installing a SIGTERM handler for interactive shells, we want
|
||||||
|
it to be as close to SIG_IGN as possible. */
|
||||||
|
if (sig == SIGTERM && handler == sigterm_sighandler)
|
||||||
|
act.sa_flags |= SA_RESTART; /* XXX */
|
||||||
|
+ else if (handler == (termsig_sighandler))
|
||||||
|
+ act.sa_flags |= SA_NODEFER; /* XXX */
|
||||||
|
+ if (sig == SIGTSTP || sig == SIGTTOU || sig == SIGTTIN || sig == SIGCONT)
|
||||||
|
+ act.sa_flags |= SA_NODEFER; /* XXX */
|
||||||
|
|
||||||
|
sigemptyset (&act.sa_mask);
|
||||||
|
sigemptyset (&oact.sa_mask);
|
11
bash-4.3-winch.dif
Normal file
11
bash-4.3-winch.dif
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- config-top.h
|
||||||
|
+++ config-top.h 2014-04-17 10:19:39.698805960 +0000
|
||||||
|
@@ -122,7 +122,7 @@
|
||||||
|
|
||||||
|
/* Define to 0 if you want the checkwinsize option off by default, 1 if you
|
||||||
|
want it on. */
|
||||||
|
-#define CHECKWINSIZE_DEFAULT 0
|
||||||
|
+#define CHECKWINSIZE_DEFAULT 1
|
||||||
|
|
||||||
|
/* Define to 1 if you want to optimize for sequential array assignment when
|
||||||
|
using indexed arrays, 0 if you want bash-4.2 behavior, which favors
|
@ -1,11 +1,18 @@
|
|||||||
--- config-top.h
|
--- config-top.h
|
||||||
+++ config-top.h 2007-12-04 14:44:39.314025629 +0000
|
+++ config-top.h 2014-04-17 10:41:21.918735368 +0000
|
||||||
@@ -54,14 +54,14 @@
|
@@ -56,17 +56,21 @@
|
||||||
|
due to EPIPE. */
|
||||||
|
/* #define DONT_REPORT_BROKEN_PIPE_WRITE_ERRORS */
|
||||||
|
|
||||||
|
+#ifndef _PATH_DEFPATH
|
||||||
|
+# include <paths.h>
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
/* The default value of the PATH variable. */
|
/* The default value of the PATH variable. */
|
||||||
#ifndef DEFAULT_PATH_VALUE
|
#ifndef DEFAULT_PATH_VALUE
|
||||||
#define DEFAULT_PATH_VALUE \
|
#define DEFAULT_PATH_VALUE \
|
||||||
- "/usr/gnu/bin:/usr/local/bin:/bin:/usr/bin:."
|
- "/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:."
|
||||||
+ "/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:."
|
+ "/usr/local/bin:" _PATH_DEFPATH ":."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* The value for PATH when invoking `command -p'. This is only used when
|
/* The value for PATH when invoking `command -p'. This is only used when
|
||||||
@ -13,11 +20,11 @@
|
|||||||
#ifndef STANDARD_UTILS_PATH
|
#ifndef STANDARD_UTILS_PATH
|
||||||
#define STANDARD_UTILS_PATH \
|
#define STANDARD_UTILS_PATH \
|
||||||
- "/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc"
|
- "/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc"
|
||||||
+ "/bin:/usr/bin:/sbin:/usr/sbin"
|
+ _PATH_STDPATH
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Default primary and secondary prompt strings. */
|
/* Default primary and secondary prompt strings. */
|
||||||
@@ -75,20 +75,20 @@
|
@@ -80,20 +84,20 @@
|
||||||
#define KSH_COMPATIBLE_SELECT
|
#define KSH_COMPATIBLE_SELECT
|
||||||
|
|
||||||
/* System-wide .bashrc file for interactive shells. */
|
/* System-wide .bashrc file for interactive shells. */
|
||||||
@ -42,6 +49,40 @@
|
|||||||
|
|
||||||
/* Define if you want the case-capitalizing operators (~[~]) and the
|
/* Define if you want the case-capitalizing operators (~[~]) and the
|
||||||
`capcase' variable attribute (declare -c). */
|
`capcase' variable attribute (declare -c). */
|
||||||
|
--- doc/Makefile.in
|
||||||
|
+++ doc/Makefile.in 2006-03-27 12:15:25.000000000 +0000
|
||||||
|
@@ -146,7 +146,7 @@ BASHREF_FILES = $(srcdir)/bashref.texi $
|
||||||
|
${RM} $@
|
||||||
|
-${DVIPS} $<
|
||||||
|
|
||||||
|
-all: ps info dvi text html
|
||||||
|
+all: info html
|
||||||
|
nodvi: ps info text html
|
||||||
|
everything: all pdf
|
||||||
|
|
||||||
|
--- doc/bash.1
|
||||||
|
+++ doc/bash.1 2006-03-27 12:15:25.000000000 +0000
|
||||||
|
@@ -5080,8 +5080,8 @@ file (the \fIinputrc\fP file).
|
||||||
|
The name of this file is taken from the value of the
|
||||||
|
.SM
|
||||||
|
.B INPUTRC
|
||||||
|
-variable. If that variable is unset, the default is
|
||||||
|
-.IR ~/.inputrc .
|
||||||
|
+environment variable. If that variable is unset, readline will read both
|
||||||
|
+.IR /etc/inputrc " and " ~/.inputrc .
|
||||||
|
When a program which uses the readline library starts up, the
|
||||||
|
initialization file is read, and the key bindings and variables
|
||||||
|
are set.
|
||||||
|
@@ -10266,6 +10266,9 @@ The individual login shell cleanup file,
|
||||||
|
.TP
|
||||||
|
.FN ~/.inputrc
|
||||||
|
Individual \fIreadline\fP initialization file
|
||||||
|
+.TP
|
||||||
|
+.FN /etc/inputrc
|
||||||
|
+System \fBreadline\fP initialization file
|
||||||
|
.PD
|
||||||
|
.SH AUTHORS
|
||||||
|
Brian Fox, Free Software Foundation
|
||||||
--- general.h
|
--- general.h
|
||||||
+++ general.h 2006-03-27 12:15:25.000000000 +0000
|
+++ general.h 2006-03-27 12:15:25.000000000 +0000
|
||||||
@@ -21,10 +21,13 @@
|
@@ -21,10 +21,13 @@
|
||||||
@ -58,35 +99,9 @@
|
|||||||
|
|
||||||
#if defined (HAVE_SYS_RESOURCE_H) && defined (RLIMTYPE)
|
#if defined (HAVE_SYS_RESOURCE_H) && defined (RLIMTYPE)
|
||||||
# if defined (HAVE_SYS_TIME_H)
|
# if defined (HAVE_SYS_TIME_H)
|
||||||
--- jobs.c
|
|
||||||
+++ jobs.c 2006-03-27 12:15:25.000000000 +0000
|
|
||||||
@@ -199,10 +199,10 @@ int previous_job = NO_JOB;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Last child made by the shell. */
|
|
||||||
-pid_t last_made_pid = NO_PID;
|
|
||||||
+volatile pid_t last_made_pid = NO_PID;
|
|
||||||
|
|
||||||
/* Pid of the last asynchronous child. */
|
|
||||||
-pid_t last_asynchronous_pid = NO_PID;
|
|
||||||
+volatile pid_t last_asynchronous_pid = NO_PID;
|
|
||||||
|
|
||||||
/* The pipeline currently being built. */
|
|
||||||
PROCESS *the_pipeline = (PROCESS *)NULL;
|
|
||||||
--- jobs.h
|
|
||||||
+++ jobs.h 2006-03-27 12:15:25.000000000 +0000
|
|
||||||
@@ -165,7 +165,7 @@ extern pid_t fork (), getpid (), getpgrp
|
|
||||||
extern struct jobstats js;
|
|
||||||
|
|
||||||
extern pid_t original_pgrp, shell_pgrp, pipeline_pgrp;
|
|
||||||
-extern pid_t last_made_pid, last_asynchronous_pid;
|
|
||||||
+extern volatile pid_t last_made_pid, last_asynchronous_pid;
|
|
||||||
extern int asynchronous_notification;
|
|
||||||
|
|
||||||
extern JOB **jobs;
|
|
||||||
--- parse.y
|
--- parse.y
|
||||||
+++ parse.y 2006-03-27 12:15:25.000000000 +0000
|
+++ parse.y 2006-03-27 12:15:25.000000000 +0000
|
||||||
@@ -1283,7 +1283,7 @@ input_file_descriptor ()
|
@@ -1413,7 +1413,7 @@ input_file_descriptor ()
|
||||||
|
|
||||||
#if defined (READLINE)
|
#if defined (READLINE)
|
||||||
char *current_readline_prompt = (char *)NULL;
|
char *current_readline_prompt = (char *)NULL;
|
||||||
@ -95,18 +110,9 @@
|
|||||||
int current_readline_line_index = 0;
|
int current_readline_line_index = 0;
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@@ -5983,6 +5983,8 @@ save_input_line_state (ls)
|
|
||||||
/* force reallocation */
|
|
||||||
shell_input_line = 0;
|
|
||||||
shell_input_line_size = shell_input_line_len = shell_input_line_index = 0;
|
|
||||||
+
|
|
||||||
+ return ls;
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
--- shell.c
|
--- shell.c
|
||||||
+++ shell.c 2006-03-27 12:15:25.000000000 +0000
|
+++ shell.c 2006-03-27 12:15:25.000000000 +0000
|
||||||
@@ -479,7 +479,7 @@ main (argc, argv, env)
|
@@ -492,7 +492,7 @@ main (argc, argv, env)
|
||||||
if (dump_translatable_strings)
|
if (dump_translatable_strings)
|
||||||
read_but_dont_execute = 1;
|
read_but_dont_execute = 1;
|
||||||
|
|
||||||
@ -115,53 +121,9 @@
|
|||||||
disable_priv_mode ();
|
disable_priv_mode ();
|
||||||
|
|
||||||
/* Need to get the argument to a -c option processed in the
|
/* Need to get the argument to a -c option processed in the
|
||||||
--- subst.c
|
|
||||||
+++ subst.c 2006-03-27 12:15:25.000000000 +0000
|
|
||||||
@@ -2962,6 +2962,7 @@ call_expand_word_internal (w, q, i, c, e
|
|
||||||
last_command_exit_value = EXECUTION_FAILURE;
|
|
||||||
exp_jump_to_top_level ((result == &expand_word_error) ? DISCARD : FORCE_EOF);
|
|
||||||
/* NOTREACHED */
|
|
||||||
+ return NULL; /* make stupid compiler happy */
|
|
||||||
}
|
|
||||||
else
|
|
||||||
return (result);
|
|
||||||
--- doc/Makefile.in
|
|
||||||
+++ doc/Makefile.in 2006-03-27 12:15:25.000000000 +0000
|
|
||||||
@@ -142,7 +142,7 @@ BASHREF_FILES = $(srcdir)/bashref.texi $
|
|
||||||
${RM} $@
|
|
||||||
-${DVIPS} $<
|
|
||||||
|
|
||||||
-all: ps info dvi text html
|
|
||||||
+all: info html
|
|
||||||
nodvi: ps info text html
|
|
||||||
everything: all pdf
|
|
||||||
|
|
||||||
--- doc/bash.1
|
|
||||||
+++ doc/bash.1 2006-03-27 12:15:25.000000000 +0000
|
|
||||||
@@ -4620,8 +4620,8 @@ file (the \fIinputrc\fP file).
|
|
||||||
The name of this file is taken from the value of the
|
|
||||||
.SM
|
|
||||||
.B INPUTRC
|
|
||||||
-variable. If that variable is unset, the default is
|
|
||||||
-.IR ~/.inputrc .
|
|
||||||
+environment variable. If that variable is unset, readline will read both
|
|
||||||
+.IR /etc/inputrc " and " ~/.inputrc .
|
|
||||||
When a program which uses the readline library starts up, the
|
|
||||||
initialization file is read, and the key bindings and variables
|
|
||||||
are set.
|
|
||||||
@@ -9340,6 +9340,9 @@ The individual login shell cleanup file,
|
|
||||||
.TP
|
|
||||||
.FN ~/.inputrc
|
|
||||||
Individual \fIreadline\fP initialization file
|
|
||||||
+.TP
|
|
||||||
+.FN /etc/inputrc
|
|
||||||
+System \fBreadline\fP initialization file
|
|
||||||
.PD
|
|
||||||
.SH AUTHORS
|
|
||||||
Brian Fox, Free Software Foundation
|
|
||||||
--- support/man2html.c
|
--- support/man2html.c
|
||||||
+++ support/man2html.c 2011-11-25 17:07:28.895646776 +0000
|
+++ support/man2html.c 2011-11-25 17:07:29.000000000 +0000
|
||||||
@@ -77,6 +77,7 @@
|
@@ -78,6 +78,7 @@
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
@ -169,16 +131,6 @@
|
|||||||
|
|
||||||
#define NULL_TERMINATED(n) ((n) + 1)
|
#define NULL_TERMINATED(n) ((n) + 1)
|
||||||
|
|
||||||
--- support/printenv.c
|
|
||||||
+++ support/printenv.c 2007-12-06 15:33:46.899561365 +0000
|
|
||||||
@@ -27,6 +27,7 @@
|
|
||||||
#if defined (HAVE_CONFIG_H)
|
|
||||||
# include <config.h>
|
|
||||||
#endif
|
|
||||||
+#include <stdio.h>
|
|
||||||
|
|
||||||
#include "bashansi.h"
|
|
||||||
|
|
||||||
--- support/rlvers.sh
|
--- support/rlvers.sh
|
||||||
+++ support/rlvers.sh 2006-03-27 12:15:25.000000000 +0000
|
+++ support/rlvers.sh 2006-03-27 12:15:25.000000000 +0000
|
||||||
@@ -27,10 +27,10 @@ TDIR=$TMPDIR/rlvers
|
@@ -27,10 +27,10 @@ TDIR=$TMPDIR/rlvers
|
||||||
@ -197,7 +149,7 @@
|
|||||||
while [ $# -gt 0 ]; do
|
while [ $# -gt 0 ]; do
|
||||||
--- support/shobj-conf
|
--- support/shobj-conf
|
||||||
+++ support/shobj-conf 2006-09-22 14:11:58.000000000 +0000
|
+++ support/shobj-conf 2006-09-22 14:11:58.000000000 +0000
|
||||||
@@ -112,10 +112,11 @@ sunos5*|solaris2*)
|
@@ -126,10 +126,11 @@ sunos5*|solaris2*)
|
||||||
linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo)
|
linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo)
|
||||||
SHOBJ_CFLAGS=-fPIC
|
SHOBJ_CFLAGS=-fPIC
|
||||||
SHOBJ_LD='${CC}'
|
SHOBJ_LD='${CC}'
|
||||||
@ -227,3 +179,41 @@
|
|||||||
${THIS_SH} ./read.tests > /tmp/xx 2>&1
|
${THIS_SH} ./read.tests > /tmp/xx 2>&1
|
||||||
-diff /tmp/xx read.right && rm -f /tmp/xx
|
-diff /tmp/xx read.right && rm -f /tmp/xx
|
||||||
+diff -w /tmp/xx read.right && rm -f /tmp/xx
|
+diff -w /tmp/xx read.right && rm -f /tmp/xx
|
||||||
|
--- execute_cmd.c
|
||||||
|
+++ execute_cmd.c 2014-04-17 11:56:03.742234753 +0000
|
||||||
|
@@ -5225,7 +5225,8 @@ shell_execve (command, args, env)
|
||||||
|
run it for some reason. See why. */
|
||||||
|
#if defined (HAVE_HASH_BANG_EXEC)
|
||||||
|
READ_SAMPLE_BUF (command, sample, sample_len);
|
||||||
|
- sample[sample_len - 1] = '\0';
|
||||||
|
+ if (sample_len > 0)
|
||||||
|
+ sample[sample_len - 1] = '\0';
|
||||||
|
if (sample_len > 2 && sample[0] == '#' && sample[1] == '!')
|
||||||
|
{
|
||||||
|
char *interp;
|
||||||
|
--- support/bashbug.sh
|
||||||
|
+++ support/bashbug.sh 2014-04-17 12:01:05.678235918 +0000
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-#!/bin/sh -
|
||||||
|
+#!/bin/bash -
|
||||||
|
#
|
||||||
|
# bashbug - create a bug report and mail it to the bug address
|
||||||
|
#
|
||||||
|
--- shell.c
|
||||||
|
+++ shell.c 2014-04-17 12:19:01.758235040 +0000
|
||||||
|
@@ -42,6 +42,7 @@
|
||||||
|
#if defined (HAVE_UNISTD_H)
|
||||||
|
# include <sys/types.h>
|
||||||
|
# include <unistd.h>
|
||||||
|
+# include <grp.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "bashintl.h"
|
||||||
|
@@ -1226,6 +1227,7 @@ uidget ()
|
||||||
|
void
|
||||||
|
disable_priv_mode ()
|
||||||
|
{
|
||||||
|
+ setgroups(0, NULL);
|
||||||
|
setuid (current_user.uid);
|
||||||
|
setgid (current_user.gid);
|
||||||
|
current_user.euid = current_user.uid;
|
3
bash-4.3.tar.gz
Normal file
3
bash-4.3.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:afc687a28e0e24dc21b988fa159ff9dbcf6b7caa92ade8645cc6d5605cd024d4
|
||||||
|
size 7955839
|
272
bash.changes
272
bash.changes
@ -1,79 +1,251 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Oct 22 12:53:11 UTC 2014 - werner@suse.de
|
||||||
|
|
||||||
|
- Bump bash version to 4.3
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Oct 21 21:18:20 UTC 2014 - brian@aljex.com
|
Tue Oct 21 21:18:20 UTC 2014 - brian@aljex.com
|
||||||
|
|
||||||
- Allow building on targets from SL 10.1 to current since it's free
|
- Allow building on targets from SL 10.1 to current since it's free
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Oct 6 08:07:48 UTC 2014 - werner@suse.de
|
Mon Oct 6 08:38:54 UTC 2014 - werner@suse.de
|
||||||
|
|
||||||
- Replace patches bash-4.2-heredoc-eof-delim.patch and
|
- Add upstream patches
|
||||||
bash-4.2-parse-exportfunc.patch with the official upstream
|
bash43-030 which fixes CVE-2014-6278
|
||||||
patch levels bash42-052 and bash42-053
|
bash43-029 which fixes CVE-2014-6277
|
||||||
|
bash43-028 which fixes CVE-2014-7186/CVE-2014-7187
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Oct 2 13:11:50 UTC 2014 - werner@suse.de
|
Mon Sep 29 12:19:29 UTC 2014 - werner@suse.de
|
||||||
|
|
||||||
- Replace patch bash-4.2-CVE-2014-7187.patch with upstream patch
|
- Add upstream patches
|
||||||
level bash42-051
|
bash43-027 which fixed bsc#898604
|
||||||
|
bash43-026 which fixes CVE-2014-7169 and bsc#898346
|
||||||
-------------------------------------------------------------------
|
bash43-025 which replaces bash-4.3-CVE-2014-6271.patch and
|
||||||
Wed Oct 1 12:12:55 UTC 2014 - werner@suse.de
|
fixes bnc#896776
|
||||||
|
- Remove patch bash-4.3-CVE-2014-6271.patch due patch bash43-027
|
||||||
- Add patches
|
- Add patch bash-4.2-CVE-2014-7187.patch for bsc#898603, CVE-2014-7186,
|
||||||
bash-4.2-heredoc-eof-delim.patch for bsc#898812, CVE-2014-6277:
|
|
||||||
more troubles with functions
|
|
||||||
bash-4.2-parse-exportfunc.patch for bsc#898884, CVE-2014-6278:
|
|
||||||
code execution after original 6271 fix
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Tue Sep 30 13:49:12 UTC 2014 - werner@suse.de
|
|
||||||
|
|
||||||
- Make bash-4.2-extra-import-func.patch an optional patch due
|
|
||||||
instruction
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Tue Sep 30 11:45:52 UTC 2014 - werner@suse.de
|
|
||||||
|
|
||||||
- Remove and replace patches
|
|
||||||
bash-4.2-CVE-2014-6271.patch
|
|
||||||
bash-4.2-BSC898604.patch
|
|
||||||
bash-4.2-CVE-2014-7169.patch
|
|
||||||
with bash upstream patch 48, patch 49, and patch 50
|
|
||||||
- Add patch bash-4.2-extra-import-func.patch which is based on the
|
|
||||||
BSD patch of Christos. As further enhancements the option
|
|
||||||
import-functions is mentioned in the manual page and a shopt
|
|
||||||
switch is added to enable and disable import-functions on the fly
|
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
|
||||||
Fri Sep 26 11:07:24 UTC 2014 - werner@suse.de
|
|
||||||
|
|
||||||
- Add patches
|
|
||||||
bash-4.2-BSC898604.patch for bsc#898604: functions via environment
|
|
||||||
hardening
|
|
||||||
bash-4.2-CVE-2014-7169.patch for bsc#898346, CVE-2014-7169:
|
|
||||||
incremental parsing fix for function environment issue
|
|
||||||
bash-4.2-CVE-2014-7187.patch for bsc#898603, CVE-2014-7186,
|
|
||||||
CVE-2014-7187: bad handling of HERE documents and for loop issue
|
CVE-2014-7187: bad handling of HERE documents and for loop issue
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 26 08:07:16 UTC 2014 - werner@suse.de
|
||||||
|
|
||||||
|
- Use a version linker script for libreadline 6.3 as there are new
|
||||||
|
symbols in this 6.3 version like the rl_executing_keyseq and those
|
||||||
|
are used by the new bash 4.3
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Sep 18 12:10:17 UTC 2014 - werner@suse.de
|
Thu Sep 18 12:10:17 UTC 2014 - werner@suse.de
|
||||||
|
|
||||||
- Add bash-4.2-CVE-2014-6271.patch
|
- Add bash-4.3-CVE-2014-6271.patch
|
||||||
to fix CVE-2014-6271, the unexpected code execution with
|
to fix CVE-2014-6271, the unexpected code execution with
|
||||||
environment variables (bnc#896776)
|
environment variables (bnc#896776)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Sep 15 08:52:13 UTC 2014 - werner@suse.de
|
Tue Aug 19 13:49:46 UTC 2014 - werner@suse.de
|
||||||
|
|
||||||
- Add patch bash-4.2-error-getpwd.patch
|
- Update to bash 4.3 with patch level 24
|
||||||
which is the backport of the corrected german error message for
|
* The -t timeout option to `read' does not work when the -e option is used
|
||||||
a failing getpwd (bnc#895475)
|
* When PS2 contains a command substitution, here-documents entered in an
|
||||||
|
interactive shell can sometimes cause a segmentation fault.
|
||||||
|
* When the readline `revert-all-at-newline' option is set, pressing newline
|
||||||
|
when the current line is one retrieved from history results in a double free
|
||||||
|
and a segmentation fault.
|
||||||
|
* Using nested pipelines within loops with the `lastpipe' option set can result
|
||||||
|
in a segmentation fault.
|
||||||
|
* Bash does not correctly parse process substitution constructs that contain
|
||||||
|
unbalanced parentheses as part of the contained command.
|
||||||
|
* Indirect variable references do not work correctly if the reference
|
||||||
|
variable expands to an array reference using a subscript other than 0
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sun Jun 29 13:24:47 UTC 2014 - schwab@linux-m68k.org
|
Sun Jun 29 13:24:47 UTC 2014 - schwab@linux-m68k.org
|
||||||
|
|
||||||
- Don't use outdated C standard
|
- Don't use outdated C standard
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue May 20 16:35:55 UTC 2014 - werner@suse.de
|
||||||
|
|
||||||
|
- Update to bash 4.3 with patch level 18
|
||||||
|
*When a SIGCHLD trap runs a command containing a shell builtin while
|
||||||
|
a script is running `wait' to wait for all running children to complete,
|
||||||
|
the SIGCHLD trap will not be run once for each child that terminates.
|
||||||
|
* Using reverse-i-search when horizontal scrolling is enabled doe
|
||||||
|
not redisplay the entire line containing the successful search results.
|
||||||
|
* Under certain circumstances, $@ is expanded incorrectly in contexts where
|
||||||
|
word splitting is not performed.
|
||||||
|
* When completing directory names, the directory name is dequoted twice.
|
||||||
|
This causes problems for directories with single and double quotes in
|
||||||
|
their names.
|
||||||
|
* An extended glob pattern containing a slash (`/') causes the globbing code
|
||||||
|
to misinterpret it as a directory separator.
|
||||||
|
* The code that creates local variables should not clear the `invisible'
|
||||||
|
attribute when returning an existing local variable. Let the code that
|
||||||
|
actually assigns a value clear it.
|
||||||
|
* When assigning an array variable using the compound assignment syntax,
|
||||||
|
but using `declare' with the rhs of the compound assignment quoted, the
|
||||||
|
shell did not mark the variable as visible after successfully performing
|
||||||
|
the assignment.
|
||||||
|
- Update to readline library 6.3 with patch level 6
|
||||||
|
* Using reverse-i-search when horizontal scrolling is enabled does
|
||||||
|
not redisplay the entire line containing the successful search results.
|
||||||
|
- Remove readline-horizontal-redisplay.patch as now upstream
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 30 11:51:24 UTC 2014 - werner@suse.de
|
||||||
|
|
||||||
|
- Add readline-horizontal-redisplay.patch from upstream as a temporary
|
||||||
|
fix for failing incremental search in horizontal-scroll-mode
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 17 12:56:56 UTC 2014 - werner@suse.de
|
||||||
|
|
||||||
|
- Make patch command work on older products
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 17 11:09:35 UTC 2014 - werner@suse.de
|
||||||
|
|
||||||
|
- Update to bash 4.3 with patch level 11
|
||||||
|
* The `helptopic' completion action now maps to all the help topics, not just
|
||||||
|
the shell builtins.
|
||||||
|
* The `help' builtin no longer does prefix substring matching first, so
|
||||||
|
`help read' does not match `readonly', but will do it if exact string
|
||||||
|
matching fails.
|
||||||
|
* The shell can be compiled to not display a message about processes that
|
||||||
|
terminate due to SIGTERM.
|
||||||
|
* Non-interactive shells now react to the setting of checkwinsize and set
|
||||||
|
LINES and COLUMNS after a foreground job exits.
|
||||||
|
* There is a new shell option, `globasciiranges', which, when set to on,
|
||||||
|
forces globbing range comparisons to use character ordering as if they
|
||||||
|
were run in the C locale.
|
||||||
|
* There is a new shell option, `direxpand', which makes filename completion
|
||||||
|
expand variables in directory names in the way bash-4.1 did.
|
||||||
|
* In Posix mode, the `command' builtin does not change whether or not a
|
||||||
|
builtin it shadows is treated as an assignment builtin.
|
||||||
|
* The `return' and `exit' builtins accept negative exit status arguments.
|
||||||
|
* The word completion code checks whether or not a filename containing a
|
||||||
|
shell variable expands to a directory name and appends `/' to the word
|
||||||
|
as appropriate. The same code expands shell variables in command names
|
||||||
|
when performing command completion.
|
||||||
|
* In Posix mode, it is now an error to attempt to define a shell function
|
||||||
|
with the same name as a Posix special builtin.
|
||||||
|
* When compiled for strict Posix conformance, history expansion is disabled
|
||||||
|
by default.
|
||||||
|
* The history expansion character (!) does not cause history expansion when
|
||||||
|
followed by the closing quote in a double-quoted string.
|
||||||
|
* `complete' and its siblings compgen/compopt now takes a new `-o noquote'
|
||||||
|
option to inhibit quoting of the completions.
|
||||||
|
* Setting HISTSIZE to a value less than zero causes the history list to be
|
||||||
|
unlimited (setting it 0 zero disables the history list).
|
||||||
|
* Setting HISTFILESIZE to a value less than zero causes the history file size
|
||||||
|
to be unlimited (setting it to 0 causes the history file to be truncated
|
||||||
|
to zero size).
|
||||||
|
* The `read' builtin now skips NUL bytes in the input.
|
||||||
|
* There is a new `bind -X' option to print all key sequences bound to Unix
|
||||||
|
commands.
|
||||||
|
* When in Posix mode, `read' is interruptible by a trapped signal. After
|
||||||
|
running the trap handler, read returns 128+signal and throws away any
|
||||||
|
partially-read input.
|
||||||
|
* The command completion code skips whitespace and assignment statements
|
||||||
|
before looking for the command name word to be completed.
|
||||||
|
* The build process has a new mechanism for constructing separate help files
|
||||||
|
that better reflects the current set of compilation options.
|
||||||
|
* The -nt and -ot options to test now work with files with nanosecond
|
||||||
|
timestamp resolution.
|
||||||
|
* The shell saves the command history in any shell for which history is
|
||||||
|
enabled and HISTFILE is set, not just interactive shells.
|
||||||
|
* The shell has `nameref' variables and new -n(/+n) options to declare and
|
||||||
|
unset to use them, and a `test -R' option to test for them.
|
||||||
|
* The shell now allows assigning, referencing, and unsetting elements of
|
||||||
|
indexed arrays using negative subscripts (a[-1]=2, echo ${a[-1]}) which
|
||||||
|
count back from the last element of the array.
|
||||||
|
* The {x}<word redirection feature now allows words like {array[ind]} and
|
||||||
|
can use variables with special meanings to the shell (e.g., BASH_XTRACEFD).
|
||||||
|
* There is a new CHILD_MAX special shell variable; its value controls the
|
||||||
|
number of exited child statues the shell remembers.
|
||||||
|
* There is a new configuration option (--enable-direxpand-default) that
|
||||||
|
causes the `direxpand' shell option to be enabled by default.
|
||||||
|
* Bash does not do anything special to ensure that the file descriptor
|
||||||
|
assigned to X in {x}<foo remains open after the block containing it
|
||||||
|
completes.
|
||||||
|
* The `wait' builtin has a new `-n' option to wait for the next child to
|
||||||
|
change status.
|
||||||
|
* The `printf' %(...)T format specifier now uses the current time if no
|
||||||
|
argument is supplied.
|
||||||
|
* There is a new variable, BASH_COMPAT, that controls the current shell
|
||||||
|
compatibility level.
|
||||||
|
* The `popd' builtin now treats additional arguments as errors.
|
||||||
|
* The brace expansion code now treats a failed sequence expansion as a
|
||||||
|
simple string and will continue to expand brace terms in the remainder
|
||||||
|
of the word.
|
||||||
|
* Shells started to run process substitutions now run any trap set on EXIT.
|
||||||
|
* The fc builtin now interprets -0 as the current command line.
|
||||||
|
* Completing directory names containing shell variables now adds a trailing
|
||||||
|
slash if the expanded result is a directory.
|
||||||
|
* `cd' has a new `-@' option to browse a file's extended attributes on
|
||||||
|
systems that support O_XATTR.
|
||||||
|
* The test/[/[[ `-v variable' binary operator now understands array
|
||||||
|
references.
|
||||||
|
- Update to readline library 6.3 with patch level 5
|
||||||
|
* Readline is now more responsive to SIGHUP and other fatal signals when
|
||||||
|
reading input from the terminal or performing word completion but no
|
||||||
|
longer attempts to run any not-allowable functions from a signal handler
|
||||||
|
context.
|
||||||
|
* There are new bindable commands to search the history for the string of
|
||||||
|
characters between the beginning of the line and the point
|
||||||
|
(history-substring-search-forward, history-substring-search-backward)
|
||||||
|
* Readline allows quoted strings as the values of variables when setting
|
||||||
|
them with `set'. As a side effect, trailing spaces and tabs are ignored
|
||||||
|
when setting a string variable's value.
|
||||||
|
* The history library creates a backup of the history file when writing it
|
||||||
|
and restores the backup on a write error.
|
||||||
|
* New application-settable variable: rl_filename_stat_hook: a function called
|
||||||
|
with a filename before using it in a call to stat(2). Bash uses it to
|
||||||
|
expand shell variables so things like $HOME/Downloads have a slash
|
||||||
|
appended.
|
||||||
|
* New bindable function `print-last-kbd-macro', prints the most-recently-
|
||||||
|
defined keyboard macro in a reusable format.
|
||||||
|
* New user-settable variable `colored-stats', enables use of colored text
|
||||||
|
to denote file types when displaying possible completions (colored analog
|
||||||
|
of visible-stats).
|
||||||
|
* New user-settable variable `keyseq-timout', acts as an inter-character
|
||||||
|
timeout when reading input or incremental search strings.
|
||||||
|
* New application-callable function: rl_clear_history. Clears the history list
|
||||||
|
and frees all readline-associated private data.
|
||||||
|
* New user-settable variable, show-mode-in-prompt, adds a characters to the
|
||||||
|
beginning of the prompt indicating the current editing mode.
|
||||||
|
* New application-settable variable: rl_input_available_hook; function to be
|
||||||
|
called when readline detects there is data available on its input file
|
||||||
|
descriptor.
|
||||||
|
* Readline calls an application-set event hook (rl_event_hook) after it gets
|
||||||
|
a signal while reading input (read returns -1/EINTR but readline does not
|
||||||
|
handle the signal immediately) to allow the application to handle or
|
||||||
|
otherwise note it.
|
||||||
|
* If the user-settable variable `history-size' is set to a value less than
|
||||||
|
0, the history list size is unlimited.
|
||||||
|
* New application-settable variable: rl_signal_event_hook; function that is
|
||||||
|
called when readline is reading terminal input and read(2) is interrupted
|
||||||
|
by a signal. Currently not called for SIGHUP or SIGTERM.
|
||||||
|
* rl_change_environment: new application-settable variable that controls
|
||||||
|
whether or not Readline modifies the environment (currently readline
|
||||||
|
modifies only LINES and COLUMNS).
|
||||||
|
- Removed patches
|
||||||
|
audit-rl-patch and audit-patch which are now upstream
|
||||||
|
readline-6.2-msgdynamic.patch which is upstream
|
||||||
|
bash-4.2-nsec.dif which is upstream
|
||||||
|
config-guess-sub-update.patch which is upstream
|
||||||
|
- Modify patches
|
||||||
|
bash-4.2-2.4.4.patch becomes bash-4.3-2.4.4.patch
|
||||||
|
bash-3.0-decl.patch becomes bash-4.3-decl.patch
|
||||||
|
bash-4.0-loadables.dif becomes bash-4.3-loadables.dif
|
||||||
|
bash-4.2-sigrestart.patch becomes bash-4.3-sigrestart.patch
|
||||||
|
bash-4.0-headers.dif becomes bash-4.3-headers.dif
|
||||||
|
bash-4.2-winch.dif becomes bash-4.3-winch.dif
|
||||||
|
readline-4.3-input.dif becomes readline-6.3-input.dif
|
||||||
|
readline-6.2-destdir.patch becomes readline-6.3-destdir.patch
|
||||||
|
readline-6.2-rltrace.patch becomes readline-6.3-rltrace.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Apr 15 15:25:55 UTC 2014 - werner@suse.de
|
Tue Apr 15 15:25:55 UTC 2014 - werner@suse.de
|
||||||
|
|
||||||
|
102
bash.spec
102
bash.spec
@ -31,8 +31,9 @@ BuildRequires: makeinfo
|
|||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
BuildRequires: patchutils
|
BuildRequires: patchutils
|
||||||
BuildRequires: screen
|
BuildRequires: screen
|
||||||
%define bash_vers 4.2
|
BuildRequires: sed
|
||||||
%define rl_vers 6.2
|
%define bash_vers 4.3
|
||||||
|
%define rl_vers 6.3
|
||||||
%define extend ""
|
%define extend ""
|
||||||
%if %suse_version > 1020
|
%if %suse_version > 1020
|
||||||
Recommends: bash-lang = %bash_vers
|
Recommends: bash-lang = %bash_vers
|
||||||
@ -42,7 +43,7 @@ Recommends: bash-lang = %bash_vers
|
|||||||
Suggests: command-not-found
|
Suggests: command-not-found
|
||||||
Recommends: bash-doc = %bash_vers
|
Recommends: bash-doc = %bash_vers
|
||||||
%endif
|
%endif
|
||||||
Version: 4.2
|
Version: %{bash_vers}
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: The GNU Bourne-Again Shell
|
Summary: The GNU Bourne-Again Shell
|
||||||
License: GPL-3.0+
|
License: GPL-3.0+
|
||||||
@ -66,43 +67,36 @@ Source9: bash-4.2-history-myown.dif.bz2
|
|||||||
Patch0: bash-%{bash_vers}.dif
|
Patch0: bash-%{bash_vers}.dif
|
||||||
Patch1: bash-2.03-manual.patch
|
Patch1: bash-2.03-manual.patch
|
||||||
Patch2: bash-4.0-security.patch
|
Patch2: bash-4.0-security.patch
|
||||||
Patch3: bash-4.2-2.4.4.patch
|
Patch3: bash-4.3-2.4.4.patch
|
||||||
Patch4: bash-3.0-evalexp.patch
|
Patch4: bash-3.0-evalexp.patch
|
||||||
Patch5: bash-3.0-warn-locale.patch
|
Patch5: bash-3.0-warn-locale.patch
|
||||||
Patch6: bash-4.2-endpw.dif
|
Patch6: bash-4.2-endpw.dif
|
||||||
Patch7: bash-3.0-decl.patch
|
Patch7: bash-4.3-decl.patch
|
||||||
Patch8: bash-4.0-async-bnc523667.dif
|
Patch8: bash-4.0-async-bnc523667.dif
|
||||||
Patch10: bash-3.2-printf.patch
|
Patch10: bash-3.2-printf.patch
|
||||||
Patch11: bash-4.0-loadables.dif
|
Patch11: bash-4.3-loadables.dif
|
||||||
Patch12: bash-4.1-completion.dif
|
Patch12: bash-4.1-completion.dif
|
||||||
Patch13: bash-4.2-nscdunmap.dif
|
Patch13: bash-4.2-nscdunmap.dif
|
||||||
Patch14: bash-4.2-sigrestart.patch
|
Patch14: bash-4.3-sigrestart.patch
|
||||||
# PATCH-FIX-UPSTREAM bnc#382214 -- disabled due bnc#806628 by -DBNC382214=0
|
# PATCH-FIX-UPSTREAM bnc#382214 -- disabled due bnc#806628 by -DBNC382214=0
|
||||||
Patch15: bash-3.2-longjmp.dif
|
Patch15: bash-3.2-longjmp.dif
|
||||||
Patch16: bash-4.0-setlocale.dif
|
Patch16: bash-4.0-setlocale.dif
|
||||||
Patch17: bash-4.0-headers.dif
|
Patch17: bash-4.3-headers.dif
|
||||||
Patch18: bash-4.2-nsec.dif
|
|
||||||
# PATCH-EXTEND-SUSE bnc#828877 -- xterm resizing does not pass to all sub clients
|
# PATCH-EXTEND-SUSE bnc#828877 -- xterm resizing does not pass to all sub clients
|
||||||
Patch19: bash-4.2-winch.dif
|
Patch18: bash-4.3-winch.dif
|
||||||
Patch20: readline-%{rl_vers}.dif
|
Patch20: readline-%{rl_vers}.dif
|
||||||
Patch21: readline-4.3-input.dif
|
Patch21: readline-6.3-input.dif
|
||||||
Patch22: readline-6.1-wrap.patch
|
Patch22: readline-6.1-wrap.patch
|
||||||
Patch23: readline-5.2-conf.patch
|
Patch23: readline-5.2-conf.patch
|
||||||
Patch24: readline-6.2-metamode.patch
|
Patch24: readline-6.2-metamode.patch
|
||||||
Patch25: readline-6.2-endpw.dif
|
Patch25: readline-6.2-endpw.dif
|
||||||
Patch26: readline-6.2-msgdynamic.patch
|
|
||||||
Patch27: readline-6.2-xmalloc.dif
|
Patch27: readline-6.2-xmalloc.dif
|
||||||
Patch30: readline-6.2-destdir.patch
|
Patch30: readline-6.3-destdir.patch
|
||||||
Patch31: readline-6.2-rltrace.patch
|
Patch31: readline-6.3-rltrace.patch
|
||||||
Patch40: bash-4.1-bash.bashrc.dif
|
Patch40: bash-4.1-bash.bashrc.dif
|
||||||
# PATCH-FIX-UPSTREAM bnc#895475 -- locale de_DE.utf8 has wrong translations
|
|
||||||
Patch41: bash-4.2-error-getpwd.patch
|
|
||||||
Patch42: audit-patch
|
|
||||||
Patch43: audit-rl-patch
|
|
||||||
Patch46: man2html-no-timestamp.patch
|
Patch46: man2html-no-timestamp.patch
|
||||||
Patch47: config-guess-sub-update.patch
|
# PATCH-FIX-SUSE
|
||||||
# PATCH-FIX-SUSE CVE-2014-6271
|
Patch48: bash-4.3-extra-import-func.patch
|
||||||
Patch48: bash-4.2-extra-import-func.patch
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
%global _sysconfdir /etc
|
%global _sysconfdir /etc
|
||||||
%global _incdir %{_includedir}
|
%global _incdir %{_includedir}
|
||||||
@ -122,7 +116,7 @@ Summary: Documentation how to Use the GNU Bourne-Again Shell
|
|||||||
Group: Documentation/Man
|
Group: Documentation/Man
|
||||||
Provides: bash:%{_infodir}/bash.info.gz
|
Provides: bash:%{_infodir}/bash.info.gz
|
||||||
PreReq: %install_info_prereq
|
PreReq: %install_info_prereq
|
||||||
Version: 4.2
|
Version: %{bash_vers}
|
||||||
Release: 0
|
Release: 0
|
||||||
%if %suse_version > 1120
|
%if %suse_version > 1120
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
@ -139,8 +133,8 @@ interpreter Bash.
|
|||||||
%package -n bash-lang
|
%package -n bash-lang
|
||||||
Summary: Languages for package bash
|
Summary: Languages for package bash
|
||||||
Group: System/Localization
|
Group: System/Localization
|
||||||
Provides: bash-lang = %{version}
|
Provides: bash-lang = %{bash_vers}
|
||||||
Requires: bash = %{version}
|
Requires: bash = %{bash_vers}
|
||||||
|
|
||||||
%description -n bash-lang
|
%description -n bash-lang
|
||||||
Provides translations to the package bash
|
Provides translations to the package bash
|
||||||
@ -150,7 +144,7 @@ Provides translations to the package bash
|
|||||||
%package -n bash-devel
|
%package -n bash-devel
|
||||||
Summary: Include Files mandatory for Development of bash loadable builtins
|
Summary: Include Files mandatory for Development of bash loadable builtins
|
||||||
Group: Development/Languages/C and C++
|
Group: Development/Languages/C and C++
|
||||||
Version: 4.2
|
Version: %{bash_vers}
|
||||||
Release: 0
|
Release: 0
|
||||||
|
|
||||||
%description -n bash-devel
|
%description -n bash-devel
|
||||||
@ -162,7 +156,7 @@ on the compilers command line.
|
|||||||
%package -n bash-loadables
|
%package -n bash-loadables
|
||||||
Summary: Loadable bash builtins
|
Summary: Loadable bash builtins
|
||||||
Group: System/Shells
|
Group: System/Shells
|
||||||
Version: 4.2
|
Version: %{bash_vers}
|
||||||
Release: 0
|
Release: 0
|
||||||
|
|
||||||
%description -n bash-loadables
|
%description -n bash-loadables
|
||||||
@ -223,7 +217,7 @@ whoami Print out username of current user.
|
|||||||
Summary: The Readline Library
|
Summary: The Readline Library
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
Provides: bash:/%{_lib}/libreadline.so.%{rl_major}
|
Provides: bash:/%{_lib}/libreadline.so.%{rl_major}
|
||||||
Version: 6.2
|
Version: %{rl_vers}
|
||||||
Release: 0
|
Release: 0
|
||||||
%if 0%suse_version > 1020
|
%if 0%suse_version > 1020
|
||||||
Recommends: readline-doc = %{version}
|
Recommends: readline-doc = %{version}
|
||||||
@ -233,8 +227,8 @@ Recommends: readline-doc = %{version}
|
|||||||
Obsoletes: readline-64bit
|
Obsoletes: readline-64bit
|
||||||
%endif
|
%endif
|
||||||
#
|
#
|
||||||
Provides: readline = 6.2
|
Provides: readline = %{rl_vers}
|
||||||
Obsoletes: readline <= 6.1
|
Obsoletes: readline <= 6.2
|
||||||
|
|
||||||
%description -n libreadline6
|
%description -n libreadline6
|
||||||
The readline library is used by the Bourne Again Shell (bash, the
|
The readline library is used by the Bourne Again Shell (bash, the
|
||||||
@ -245,12 +239,12 @@ includes history and search functionality.
|
|||||||
Summary: Include Files and Libraries mandatory for Development
|
Summary: Include Files and Libraries mandatory for Development
|
||||||
Group: Development/Libraries/C and C++
|
Group: Development/Libraries/C and C++
|
||||||
Provides: bash:%{_libdir}/libreadline.a
|
Provides: bash:%{_libdir}/libreadline.a
|
||||||
Version: 6.2
|
Version: %{rl_vers}
|
||||||
Release: 0
|
Release: 0
|
||||||
Requires: libreadline6 = %{version}
|
Requires: libreadline6 = %{rl_vers}
|
||||||
Requires: ncurses-devel
|
Requires: ncurses-devel
|
||||||
%if 0%suse_version > 1020
|
%if 0%suse_version > 1020
|
||||||
Recommends: readline-doc = %{version}
|
Recommends: readline-doc = %{rl_vers}
|
||||||
%endif
|
%endif
|
||||||
# bug437293
|
# bug437293
|
||||||
%ifarch ppc64
|
%ifarch ppc64
|
||||||
@ -267,7 +261,7 @@ Summary: Documentation how to Use and Program with the Readline Library
|
|||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
Provides: readline:%{_infodir}/readline.info.gz
|
Provides: readline:%{_infodir}/readline.info.gz
|
||||||
PreReq: %install_info_prereq
|
PreReq: %install_info_prereq
|
||||||
Version: 6.2
|
Version: %{rl_vers}
|
||||||
Release: 0
|
Release: 0
|
||||||
%if 0%suse_version > 1120
|
%if 0%suse_version > 1120
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
@ -289,6 +283,7 @@ for patch in ../bash-%{bash_vers}-patches/*; do
|
|||||||
let level++ || true
|
let level++ || true
|
||||||
fi
|
fi
|
||||||
test -e $file || exit 1
|
test -e $file || exit 1
|
||||||
|
sed -ri '/^\*\*\* \.\./{ s@\.\./bash-%{bash_vers}[^/]*/@@p }' $patch
|
||||||
echo Patch $patch
|
echo Patch $patch
|
||||||
patch -s -p$level < $patch
|
patch -s -p$level < $patch
|
||||||
done
|
done
|
||||||
@ -308,24 +303,17 @@ done
|
|||||||
%patch15 -p0 -b .longjmp
|
%patch15 -p0 -b .longjmp
|
||||||
%patch16 -p0 -b .setlocale
|
%patch16 -p0 -b .setlocale
|
||||||
%patch17 -p0 -b .headers
|
%patch17 -p0 -b .headers
|
||||||
%patch18 -p0 -b .nsec
|
%patch18 -p0 -b .winch
|
||||||
%patch19 -p0 -b .winch
|
|
||||||
%patch21 -p0 -b .zerotty
|
%patch21 -p0 -b .zerotty
|
||||||
%patch22 -p0 -b .wrap
|
%patch22 -p0 -b .wrap
|
||||||
%patch23 -p0 -b .conf
|
%patch23 -p0 -b .conf
|
||||||
%patch24 -p0 -b .metamode
|
%patch24 -p0 -b .metamode
|
||||||
#%patch25 -p0 -b .endpw
|
#%patch25 -p0 -b .endpw
|
||||||
%patch26 -p0 -b .msgdy
|
|
||||||
%patch31 -p0 -b .tmp
|
%patch31 -p0 -b .tmp
|
||||||
%patch40 -p0 -b .bashrc
|
%patch40 -p0 -b .bashrc
|
||||||
%patch41 -p0 -b .errgetpwd
|
|
||||||
%if 0%suse_version >= 1100
|
|
||||||
%patch42 -p1 -b .audit
|
|
||||||
%endif
|
|
||||||
%patch46 -p0 -b .notimestamp
|
%patch46 -p0 -b .notimestamp
|
||||||
%patch47 -p0
|
|
||||||
%if %{with import_function}
|
%if %{with import_function}
|
||||||
%patch48 -p0
|
%patch48
|
||||||
%endif
|
%endif
|
||||||
%patch0 -p0 -b .0
|
%patch0 -p0 -b .0
|
||||||
pushd ../readline-%{rl_vers}%{extend}
|
pushd ../readline-%{rl_vers}%{extend}
|
||||||
@ -337,6 +325,7 @@ for patch in ../readline-%{rl_vers}-patches/*; do
|
|||||||
file=${file#*/}
|
file=${file#*/}
|
||||||
let level++ || true
|
let level++ || true
|
||||||
fi
|
fi
|
||||||
|
sed -ri '/^\*\*\* \.\./{ s@\.\./readline-%{rl_vers}[^/]*/@@p }' $patch
|
||||||
echo Patch $patch
|
echo Patch $patch
|
||||||
patch -s -p$level < $patch
|
patch -s -p$level < $patch
|
||||||
done
|
done
|
||||||
@ -345,15 +334,10 @@ done
|
|||||||
%patch23 -p2 -b .conf
|
%patch23 -p2 -b .conf
|
||||||
%patch24 -p2 -b .metamode
|
%patch24 -p2 -b .metamode
|
||||||
#%patch25 -p2 -b .endpw
|
#%patch25 -p2 -b .endpw
|
||||||
%patch26 -p2 -b .msgdy
|
|
||||||
%patch31 -p2 -b .tmp
|
%patch31 -p2 -b .tmp
|
||||||
%patch27 -p0 -b .xm
|
%patch27 -p0 -b .xm
|
||||||
%patch30 -p0 -b .destdir
|
%patch30 -p0 -b .destdir
|
||||||
%if 0%suse_version >= 1100
|
|
||||||
%patch43 -p1 -b .audit
|
|
||||||
%endif
|
|
||||||
%patch20 -p0 -b .0
|
%patch20 -p0 -b .0
|
||||||
%patch47
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
LANG=POSIX
|
LANG=POSIX
|
||||||
@ -420,7 +404,21 @@ pushd ../readline-%{rl_vers}%{extend}
|
|||||||
{
|
{
|
||||||
*;
|
*;
|
||||||
!rl_*stream;
|
!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
|
EOF
|
||||||
CFLAGS="$RPM_OPT_FLAGS $LARGEFILE -D_GNU_SOURCE -DRECYCLES_PIDS -Wall -g"
|
CFLAGS="$RPM_OPT_FLAGS $LARGEFILE -D_GNU_SOURCE -DRECYCLES_PIDS -Wall -g"
|
||||||
LDFLAGS=""
|
LDFLAGS=""
|
||||||
@ -430,14 +428,17 @@ pushd ../readline-%{rl_vers}%{extend}
|
|||||||
cflags -Wno-switch-enum CFLAGS
|
cflags -Wno-switch-enum CFLAGS
|
||||||
cflags -Wno-unused-variable CFLAGS
|
cflags -Wno-unused-variable CFLAGS
|
||||||
cflags -Wno-unused-parameter CFLAGS
|
cflags -Wno-unused-parameter CFLAGS
|
||||||
|
cflags -Wno-parentheses CFLAGS
|
||||||
cflags -ftree-loop-linear CFLAGS
|
cflags -ftree-loop-linear CFLAGS
|
||||||
cflags -pipe CFLAGS
|
cflags -pipe CFLAGS
|
||||||
cflags -DBNC382214=0 CFLAGS
|
cflags -DBNC382214=0 CFLAGS
|
||||||
|
cflags -DMUST_UNBLOCK_CHLD=1 CFLAGS
|
||||||
cflags -DIMPORT_FUNCTIONS_DEF=0 CFLAGS
|
cflags -DIMPORT_FUNCTIONS_DEF=0 CFLAGS
|
||||||
cflags -Wl,--as-needed LDFLAGS
|
cflags -Wl,--as-needed LDFLAGS
|
||||||
cflags -Wl,-O2 LDFLAGS
|
cflags -Wl,-O2 LDFLAGS
|
||||||
cflags -Wl,--hash-size=8599 LDFLAGS
|
cflags -Wl,--hash-size=8599 LDFLAGS
|
||||||
cflags -Wl,-rpath,%{_ldldir}/%{bash_vers} LDFLAGS
|
cflags -Wl,-rpath,%{_ldldir}/%{bash_vers} LDFLAGS
|
||||||
|
cflags -Wl,--version-script=${PWD}/rl.map LDFLAGS
|
||||||
cflags -Wl,--dynamic-list=${PWD}/dyn.map LDFLAGS
|
cflags -Wl,--dynamic-list=${PWD}/dyn.map LDFLAGS
|
||||||
CC=gcc
|
CC=gcc
|
||||||
CC_FOR_BUILD="$CC"
|
CC_FOR_BUILD="$CC"
|
||||||
@ -450,6 +451,7 @@ pushd ../readline-%{rl_vers}%{extend}
|
|||||||
--with-curses \
|
--with-curses \
|
||||||
--mandir=%{_mandir} \
|
--mandir=%{_mandir} \
|
||||||
--infodir=%{_infodir} \
|
--infodir=%{_infodir} \
|
||||||
|
--docdir=%{_defaultdocdir}/readline \
|
||||||
--libdir=%{_libdir}
|
--libdir=%{_libdir}
|
||||||
make
|
make
|
||||||
make documentation
|
make documentation
|
||||||
@ -535,6 +537,7 @@ popd
|
|||||||
--mandir=%{_mandir} \
|
--mandir=%{_mandir} \
|
||||||
--infodir=%{_infodir} \
|
--infodir=%{_infodir} \
|
||||||
--libdir=%{_libdir} \
|
--libdir=%{_libdir} \
|
||||||
|
--docdir=%{_defaultdocdir}/bash \
|
||||||
--with-curses \
|
--with-curses \
|
||||||
--with-afs \
|
--with-afs \
|
||||||
$SYSMALLOC \
|
$SYSMALLOC \
|
||||||
@ -559,10 +562,10 @@ popd
|
|||||||
all printenv recho zecho xcase
|
all printenv recho zecho xcase
|
||||||
TMPDIR=$(mktemp -d /tmp/bash.XXXXXXXXXX) || exit 1
|
TMPDIR=$(mktemp -d /tmp/bash.XXXXXXXXXX) || exit 1
|
||||||
> $SCREENLOG
|
> $SCREENLOG
|
||||||
tail -q -s 0.5 -f $SCREENLOG & pid=$!
|
|
||||||
env -i HOME=$PWD TERM=$TERM LD_LIBRARY_PATH=$LD_LIBRARY_PATH TMPDIR=$TMPDIR \
|
env -i HOME=$PWD TERM=$TERM LD_LIBRARY_PATH=$LD_LIBRARY_PATH TMPDIR=$TMPDIR \
|
||||||
SCREENRC=$SCREENRC SCREENDIR=$SCREENDIR \
|
SCREENRC=$SCREENRC SCREENDIR=$SCREENDIR \
|
||||||
screen -L -D -m make TESTSCRIPT=%{SOURCE4} check
|
screen -L -D -m make TESTSCRIPT=%{SOURCE4} check
|
||||||
|
cat $SCREENLOG
|
||||||
make %{?do_profiling:CFLAGS="$CFLAGS %cflags_profile_feedback" clean} all
|
make %{?do_profiling:CFLAGS="$CFLAGS %cflags_profile_feedback" clean} all
|
||||||
make -C examples/loadables/
|
make -C examples/loadables/
|
||||||
make documentation
|
make documentation
|
||||||
@ -628,6 +631,7 @@ EOF
|
|||||||
rm -fv %{buildroot}%{_libdir}/libreadline.so.*
|
rm -fv %{buildroot}%{_libdir}/libreadline.so.*
|
||||||
rm -fv %{buildroot}%{_infodir}/rluserman.info.gz
|
rm -fv %{buildroot}%{_infodir}/rluserman.info.gz
|
||||||
rm -fv %{buildroot}%{_mandir}/man3/history.3*
|
rm -fv %{buildroot}%{_mandir}/man3/history.3*
|
||||||
|
rm -fv %{buildroot}%{_defaultdocdir}/readline/INSTALL
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/skel
|
mkdir -p %{buildroot}%{_sysconfdir}/skel
|
||||||
install -m 644 %{S:5} %{buildroot}%{_sysconfdir}/skel/.bashrc
|
install -m 644 %{S:5} %{buildroot}%{_sysconfdir}/skel/.bashrc
|
||||||
install -m 644 %{S:6} %{buildroot}%{_sysconfdir}/skel/.profile
|
install -m 644 %{S:6} %{buildroot}%{_sysconfdir}/skel/.profile
|
||||||
|
@ -1,71 +0,0 @@
|
|||||||
--- 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)
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:646e52eef0944ffac4440410a0e55d1db9c98243266098271523124acb7924e0
|
|
||||||
size 3126
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:79a696070a058c233c72dd6ac697021cc64abd5ed51e59db867d66d196a89381
|
|
||||||
size 2277926
|
|
@ -1,5 +1,5 @@
|
|||||||
--- shlib/Makefile.in
|
--- shlib/Makefile.in
|
||||||
+++ shlib/Makefile.in 2010-02-15 16:02:33.000000000 +0000
|
+++ shlib/Makefile.in 2014-04-17 10:51:05.898235056 +0000
|
||||||
@@ -59,6 +59,7 @@ bindir = @bindir@
|
@@ -59,6 +59,7 @@ bindir = @bindir@
|
||||||
libdir = @libdir@
|
libdir = @libdir@
|
||||||
datadir = @datadir@
|
datadir = @datadir@
|
||||||
@ -8,26 +8,30 @@
|
|||||||
|
|
||||||
# Support an alternate destination root directory for package building
|
# Support an alternate destination root directory for package building
|
||||||
DESTDIR =
|
DESTDIR =
|
||||||
@@ -184,13 +185,13 @@ installdirs: $(topdir)/support/mkdirs
|
@@ -192,8 +193,8 @@ installdirs: $(topdir)/support/mkdirs
|
||||||
-$(SHELL) $(topdir)/support/mkdirs $(DESTDIR)$(bindir)
|
-$(SHELL) $(topdir)/support/mkdirs $(DESTDIR)$(bindir)
|
||||||
|
|
||||||
install: installdirs $(SHLIB_STATUS)
|
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_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) -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_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)
|
+ $(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
|
@echo install: you may need to run ldconfig
|
||||||
|
|
||||||
uninstall:
|
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_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) -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_HISTORY)
|
||||||
+ $(SHELL) $(topdir)/support/shlib-install -O $(host_os) -V $(host_vendor) -dd $(DESTDIR) -d $(libdir) -l $(linkagedir) -b $(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_READLINE)
|
||||||
@echo uninstall: you may need to run ldconfig
|
@echo uninstall: you may need to run ldconfig
|
||||||
|
|
||||||
clean mostlyclean: force
|
uninstall-unsupported:
|
||||||
--- support/shlib-install
|
--- support/shlib-install
|
||||||
+++ support/shlib-install 2010-02-15 15:59:38.000000000 +0000
|
+++ support/shlib-install 2014-04-17 10:54:11.938235782 +0000
|
||||||
@@ -3,7 +3,7 @@
|
@@ -3,7 +3,7 @@
|
||||||
# shlib-install - install a shared library and do any necessary host-specific
|
# shlib-install - install a shared library and do any necessary host-specific
|
||||||
# post-installation configuration (like ldconfig)
|
# post-installation configuration (like ldconfig)
|
||||||
@ -95,16 +99,16 @@
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# post-install/uninstall
|
# post-install/uninstall
|
||||||
@@ -72,7 +79,7 @@ fi
|
@@ -73,7 +80,7 @@ fi
|
||||||
case "$host_os" in
|
case "$host_os" in
|
||||||
hpux*|darwin*|macosx*|linux*)
|
hpux*|darwin*|macosx*|linux*|solaris2*)
|
||||||
if [ -z "$uninstall" ]; then
|
if [ -z "$uninstall" ]; then
|
||||||
- chmod 555 ${INSTALLDIR}/${LIBNAME}
|
- chmod 555 ${INSTALLDIR}/${LIBNAME}
|
||||||
+ chmod 555 ${DESTDIR}${INSTALLDIR}/${LIBNAME}
|
+ chmod 555 ${DESTDIR}${INSTALLDIR}/${LIBNAME}
|
||||||
fi ;;
|
fi ;;
|
||||||
cygwin*|mingw*)
|
cygwin*|mingw*)
|
||||||
IMPLIBNAME=`echo ${LIBNAME} \
|
IMPLIBNAME=`echo ${LIBNAME} \
|
||||||
@@ -110,8 +117,8 @@ case "$LIBNAME" in
|
@@ -111,8 +118,8 @@ case "$LIBNAME" in
|
||||||
LINK1=`echo $LIBNAME | sed 's:\(.*\)\.[0-9]\.[0-9]:\1:'` # libname.dylib
|
LINK1=`echo $LIBNAME | sed 's:\(.*\)\.[0-9]\.[0-9]:\1:'` # libname.dylib
|
||||||
esac
|
esac
|
||||||
|
|
||||||
@ -115,40 +119,40 @@
|
|||||||
|
|
||||||
#
|
#
|
||||||
# Create symlinks to the installed library. This section is incomplete.
|
# Create symlinks to the installed library. This section is incomplete.
|
||||||
@@ -119,27 +126,27 @@ INSTALL_LINK2='${echo} cd $INSTALLDIR &&
|
@@ -120,27 +127,27 @@ INSTALL_LINK2='${echo} cd $INSTALLDIR &&
|
||||||
case "$host_os-$host_vendor" in
|
case "$host_os-$host_vendor" in
|
||||||
*linux*|freebsd*-gentoo)
|
*linux*|freebsd*-gentoo)
|
||||||
# libname.so.M -> libname.so.M.N
|
# libname.so.M -> libname.so.M.N
|
||||||
- ${echo} ${RM} ${INSTALLDIR}/$LINK2
|
- ${echo} ${RM} ${INSTALLDIR}/$LINK2
|
||||||
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK2
|
+ ${echo} ${RM} {DESTDIR}${INSTALLDIR}/$LINK2
|
||||||
if [ -z "$uninstall" ]; then
|
if [ -z "$uninstall" ]; then
|
||||||
eval $INSTALL_LINK2
|
eval $INSTALL_LINK2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# libname.so -> libname.so.M
|
# libname.so -> libname.so.M
|
||||||
- ${echo} ${RM} ${INSTALLDIR}/$LINK1
|
- ${echo} ${RM} ${INSTALLDIR}/$LINK1
|
||||||
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK1
|
+ ${echo} ${RM} {DESTDIR}${INSTALLDIR}/$LINK1
|
||||||
if [ -z "$uninstall" ]; then
|
if [ -z "$uninstall" ]; then
|
||||||
- ${echo} cd $INSTALLDIR && ${echo} ${LN} $LINK2 $LINK1
|
- ${echo} cd $INSTALLDIR && ${echo} ${LN} $LINK2 $LINK1
|
||||||
+ ${echo} cd ${DESTDIR}$INSTALLDIR && ${echo} ${LN} $LINK2 $LINK1
|
+ ${echo} cd {DESTDIR}$INSTALLDIR && ${echo} ${LN} $LINK2 $LINK1
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
bsdi4*|*gnu*|darwin*|macosx*|netbsd*)
|
bsdi4*|*gnu*|darwin*|macosx*|netbsd*|mirbsd*)
|
||||||
# libname.so.M -> libname.so.M.N
|
# libname.so.M -> libname.so.M.N
|
||||||
- ${echo} ${RM} ${INSTALLDIR}/$LINK2
|
- ${echo} ${RM} ${INSTALLDIR}/$LINK2
|
||||||
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK2
|
+ ${echo} ${RM} {DESTDIR}${INSTALLDIR}/$LINK2
|
||||||
if [ -z "$uninstall" ]; then
|
if [ -z "$uninstall" ]; then
|
||||||
eval $INSTALL_LINK2
|
eval $INSTALL_LINK2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# libname.so -> libname.so.M.N
|
# libname.so -> libname.so.M.N
|
||||||
- ${echo} ${RM} ${INSTALLDIR}/$LINK1
|
- ${echo} ${RM} ${INSTALLDIR}/$LINK1
|
||||||
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK1
|
+ ${echo} ${RM} {DESTDIR}${INSTALLDIR}/$LINK1
|
||||||
if [ -z "$uninstall" ]; then
|
if [ -z "$uninstall" ]; then
|
||||||
eval $INSTALL_LINK1
|
eval $INSTALL_LINK1
|
||||||
fi
|
fi
|
||||||
@@ -147,7 +154,7 @@ bsdi4*|*gnu*|darwin*|macosx*|netbsd*)
|
@@ -148,7 +155,7 @@ bsdi4*|*gnu*|darwin*|macosx*|netbsd*|mir
|
||||||
|
|
||||||
solaris2*|aix4.[2-9]*|aix[5-9]*|osf*|irix[56]*|sysv[45]*|dgux*|interix*)
|
solaris2*|aix4.[2-9]*|aix[5-9]*|osf*|irix[56]*|sysv[45]*|dgux*|interix*)
|
||||||
# libname.so -> libname.so.M
|
# libname.so -> libname.so.M
|
||||||
@ -157,7 +161,7 @@
|
|||||||
if [ -z "$uninstall" ]; then
|
if [ -z "$uninstall" ]; then
|
||||||
eval $INSTALL_LINK1
|
eval $INSTALL_LINK1
|
||||||
fi
|
fi
|
||||||
@@ -158,19 +165,19 @@ solaris2*|aix4.[2-9]*|aix[5-9]*|osf*|iri
|
@@ -159,19 +166,19 @@ solaris2*|aix4.[2-9]*|aix[5-9]*|osf*|iri
|
||||||
freebsd3*|freebsdaout*)
|
freebsd3*|freebsdaout*)
|
||||||
if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then
|
if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then
|
||||||
# libname.so -> libname.so.M
|
# libname.so -> libname.so.M
|
||||||
@ -180,7 +184,7 @@
|
|||||||
if [ -z "$uninstall" ]; then
|
if [ -z "$uninstall" ]; then
|
||||||
eval $INSTALL_LINK1
|
eval $INSTALL_LINK1
|
||||||
fi
|
fi
|
||||||
@@ -187,7 +194,7 @@ freebsd[4-9]*|freebsdelf*|dragonfly*)
|
@@ -188,7 +195,7 @@ freebsd[4-9]*|freebsd1[0-9]*|freebsdelf*
|
||||||
|
|
||||||
hpux1*)
|
hpux1*)
|
||||||
# libname.sl -> libname.M
|
# libname.sl -> libname.M
|
@ -1,6 +1,6 @@
|
|||||||
--- lib/readline/input.c
|
--- lib/readline/input.c
|
||||||
+++ lib/readline/input.c 2003-03-17 19:03:51.000000000 +0000
|
+++ lib/readline/input.c 2003-03-17 19:03:51.000000000 +0000
|
||||||
@@ -459,6 +459,8 @@ rl_read_key ()
|
@@ -468,6 +468,8 @@ rl_read_key ()
|
||||||
return (c);
|
return (c);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -9,7 +9,7 @@
|
|||||||
int
|
int
|
||||||
rl_getc (stream)
|
rl_getc (stream)
|
||||||
FILE *stream;
|
FILE *stream;
|
||||||
@@ -482,7 +484,10 @@ rl_getc (stream)
|
@@ -493,7 +495,10 @@ rl_getc (stream)
|
||||||
/* If zero characters are returned, then the file that we are
|
/* If zero characters are returned, then the file that we are
|
||||||
reading from is empty! Return EOF in that case. */
|
reading from is empty! Return EOF in that case. */
|
||||||
if (result == 0)
|
if (result == 0)
|
||||||
@ -22,8 +22,8 @@
|
|||||||
#if defined (__BEOS__)
|
#if defined (__BEOS__)
|
||||||
if (errno == EINTR)
|
if (errno == EINTR)
|
||||||
--- lib/readline/readline.c
|
--- lib/readline/readline.c
|
||||||
+++ lib/readline/readline.c 2003-03-17 19:02:52.000000000 +0000
|
+++ lib/readline/readline.c 2014-04-17 10:24:16.302236347 +0000
|
||||||
@@ -469,6 +469,9 @@ _rl_internal_char_cleanup ()
|
@@ -515,6 +515,9 @@ _rl_internal_char_cleanup ()
|
||||||
_rl_erase_entire_line ();
|
_rl_erase_entire_line ();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -33,14 +33,14 @@
|
|||||||
STATIC_CALLBACK int
|
STATIC_CALLBACK int
|
||||||
#if defined (READLINE_CALLBACKS)
|
#if defined (READLINE_CALLBACKS)
|
||||||
readline_internal_char ()
|
readline_internal_char ()
|
||||||
@@ -513,6 +516,10 @@ readline_internal_charloop ()
|
@@ -564,6 +567,10 @@ readline_internal_charloop ()
|
||||||
c = rl_read_key ();
|
c = rl_read_key ();
|
||||||
RL_UNSETSTATE(RL_STATE_READCMD);
|
RL_UNSETSTATE(RL_STATE_READCMD);
|
||||||
|
|
||||||
+ /* Return here if terminal is closed */
|
+ /* Return here if terminal is closed */
|
||||||
+ if (c == EOF && _rl_read_zero_char_from_tty)
|
+ if (c == EOF && _rl_read_zero_char_from_tty)
|
||||||
+ return (rl_done = 1);
|
+ return (rl_done = 1);
|
||||||
+
|
+
|
||||||
/* look at input.c:rl_getc() for the circumstances under which this will
|
/* look at input.c:rl_getc() for the circumstances under which this will
|
||||||
be returned; punt immediately on read error without converting it to
|
be returned; punt immediately on read error without converting it to
|
||||||
a newline. */
|
a newline; assume that rl_read_key has already called the signal
|
3
readline-6.3-patches.tar.bz2
Normal file
3
readline-6.3-patches.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:85d1dde68eee9436479947f9c9c75dda2eafe80682a642c1f64f1f18551539b5
|
||||||
|
size 3812
|
@ -2,12 +2,12 @@ Even if used only by developers to debug readline library do not open
|
|||||||
temporary files from public location without O_EXCL (bcn#868822).
|
temporary files from public location without O_EXCL (bcn#868822).
|
||||||
|
|
||||||
---
|
---
|
||||||
util.c | 10 ++++++----
|
lib/readline/util.c | 10 ++++++----
|
||||||
1 file changed, 6 insertions(+), 4 deletions(-)
|
1 file changed, 6 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
--- lib/readline/util.c
|
--- lib/readline/util.c
|
||||||
+++ lib/readline/util.c 2014-03-18 11:18:25.774735305 +0000
|
+++ lib/readline/util.c 2014-04-17 10:29:43.157274616 +0000
|
||||||
@@ -493,10 +493,12 @@ _rl_trace (va_alist)
|
@@ -501,10 +501,12 @@ _rl_trace (va_alist)
|
||||||
|
|
||||||
if (_rl_tracefp == 0)
|
if (_rl_tracefp == 0)
|
||||||
_rl_tropen ();
|
_rl_tropen ();
|
||||||
@ -21,16 +21,16 @@ temporary files from public location without O_EXCL (bcn#868822).
|
|||||||
va_end (args);
|
va_end (args);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -509,7 +511,7 @@ _rl_tropen ()
|
@@ -517,7 +519,7 @@ _rl_tropen ()
|
||||||
fclose (_rl_tracefp);
|
fclose (_rl_tracefp);
|
||||||
sprintf (fnbuf, "/var/tmp/rltrace.%ld", getpid());
|
sprintf (fnbuf, "/var/tmp/rltrace.%ld", (long)getpid());
|
||||||
unlink(fnbuf);
|
unlink(fnbuf);
|
||||||
- _rl_tracefp = fopen (fnbuf, "w+");
|
- _rl_tracefp = fopen (fnbuf, "w+");
|
||||||
+ _rl_tracefp = fopen (fnbuf, "w+xe");
|
+ _rl_tracefp = fopen (fnbuf, "w+xe");
|
||||||
return _rl_tracefp != 0;
|
return _rl_tracefp != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -517,8 +519,8 @@ int
|
@@ -525,8 +527,8 @@ int
|
||||||
_rl_trclose ()
|
_rl_trclose ()
|
||||||
{
|
{
|
||||||
int r;
|
int r;
|
@ -1,6 +1,6 @@
|
|||||||
--- Makefile.in
|
--- Makefile.in
|
||||||
+++ Makefile.in 2009-02-27 17:25:01.076001005 +0100
|
+++ Makefile.in 2014-04-17 10:57:38.386235678 +0000
|
||||||
@@ -222,10 +222,8 @@ uninstall-headers:
|
@@ -235,10 +235,8 @@ uninstall-headers:
|
||||||
maybe-uninstall-headers: uninstall-headers
|
maybe-uninstall-headers: uninstall-headers
|
||||||
|
|
||||||
install-static: installdirs $(STATIC_LIBS) install-headers install-doc install-examples
|
install-static: installdirs $(STATIC_LIBS) install-headers install-doc install-examples
|
||||||
@ -11,8 +11,8 @@
|
|||||||
$(INSTALL_DATA) libhistory.a $(DESTDIR)$(libdir)/libhistory.a
|
$(INSTALL_DATA) libhistory.a $(DESTDIR)$(libdir)/libhistory.a
|
||||||
-test -n "$(RANLIB)" && $(RANLIB) $(DESTDIR)$(libdir)/libhistory.a
|
-test -n "$(RANLIB)" && $(RANLIB) $(DESTDIR)$(libdir)/libhistory.a
|
||||||
|
|
||||||
@@ -254,7 +252,7 @@ uninstall-examples: maybe-uninstall-head
|
@@ -268,7 +266,7 @@ install-doc: installdirs
|
||||||
install-doc: installdirs
|
$(INSTALL_DATA) $(OTHER_DOCS) $(DESTDIR)$(docdir)
|
||||||
-( if test -d doc ; then \
|
-( if test -d doc ; then \
|
||||||
cd doc && \
|
cd doc && \
|
||||||
- ${MAKE} ${MFLAGS} infodir=$(infodir) DESTDIR=${DESTDIR} install; \
|
- ${MAKE} ${MFLAGS} infodir=$(infodir) DESTDIR=${DESTDIR} install; \
|
||||||
@ -21,8 +21,8 @@
|
|||||||
|
|
||||||
uninstall-doc:
|
uninstall-doc:
|
||||||
--- complete.c
|
--- complete.c
|
||||||
+++ complete.c 2009-02-27 17:25:26.616935393 +0100
|
+++ complete.c 2014-04-17 10:58:11.042235308 +0000
|
||||||
@@ -942,7 +942,7 @@ _rl_find_completion_word (fp, dp)
|
@@ -1082,7 +1082,7 @@ _rl_find_completion_word (fp, dp)
|
||||||
/* We didn't find an unclosed quoted substring upon which to do
|
/* We didn't find an unclosed quoted substring upon which to do
|
||||||
completion, so use the word break characters to find the
|
completion, so use the word break characters to find the
|
||||||
substring on which to complete. */
|
substring on which to complete. */
|
||||||
@ -31,16 +31,16 @@
|
|||||||
{
|
{
|
||||||
scan = rl_line_buffer[rl_point];
|
scan = rl_line_buffer[rl_point];
|
||||||
|
|
||||||
@@ -1884,7 +1884,7 @@ rl_completion_matches (text, entry_funct
|
@@ -2116,7 +2116,7 @@ rl_completion_matches (text, entry_funct
|
||||||
|
match_list = (char **)xmalloc ((match_list_size + 1) * sizeof (char *));
|
||||||
match_list[1] = (char *)NULL;
|
match_list[1] = (char *)NULL;
|
||||||
|
|
||||||
_rl_interrupt_immediately++;
|
|
||||||
- while (string = (*entry_function) (text, matches))
|
- while (string = (*entry_function) (text, matches))
|
||||||
+ while ((string = (*entry_function) (text, matches)))
|
+ while ((string = (*entry_function) (text, matches)))
|
||||||
{
|
{
|
||||||
if (matches + 1 == match_list_size)
|
if (RL_SIG_RECEIVED ())
|
||||||
match_list = (char **)xrealloc
|
{
|
||||||
@@ -1936,7 +1936,7 @@ rl_username_completion_function (text, s
|
@@ -2190,7 +2190,7 @@ rl_username_completion_function (text, s
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined (HAVE_GETPWENT)
|
#if defined (HAVE_GETPWENT)
|
||||||
@ -49,53 +49,9 @@
|
|||||||
{
|
{
|
||||||
/* Null usernames should result in all users as possible completions. */
|
/* Null usernames should result in all users as possible completions. */
|
||||||
if (namelen == 0 || (STREQN (username, entry->pw_name, namelen)))
|
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 <stdio.h>
|
|
||||||
# include <readline/rlstdc.h>
|
|
||||||
# include <readline/rltypedefs.h>
|
|
||||||
#endif
|
|
||||||
--- readline.c
|
|
||||||
+++ readline.c 2005-12-09 17:09:26.000000000 +0100
|
|
||||||
@@ -767,7 +767,11 @@ _rl_dispatch_subseq (key, map, got_subse
|
|
||||||
{
|
|
||||||
/* Special case rl_do_lowercase_version (). */
|
|
||||||
if (func == rl_do_lowercase_version)
|
|
||||||
- return (_rl_dispatch (_rl_to_lower (key), map));
|
|
||||||
+ {
|
|
||||||
+ if (key == ANYOTHERKEY)
|
|
||||||
+ return -1;
|
|
||||||
+ return (_rl_dispatch (_rl_to_lower (key), map));
|
|
||||||
+ }
|
|
||||||
|
|
||||||
rl_executing_keymap = map;
|
|
||||||
|
|
||||||
--- readline.h
|
|
||||||
+++ readline.h 2012-07-18 08:07:11.560009784 +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>
|
|
||||||
@@ -448,7 +449,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));
|
|
||||||
--- doc/Makefile.in
|
--- doc/Makefile.in
|
||||||
+++ doc/Makefile.in 2009-02-27 17:27:31.104001597 +0100
|
+++ doc/Makefile.in 2009-02-27 16:27:31.000000000 +0000
|
||||||
@@ -98,7 +98,7 @@ DIST_DOCS = $(DVIOBJ) $(PSOBJ) $(HTMLOBJ
|
@@ -101,7 +101,7 @@ DIST_DOCS = $(DVIOBJ) $(PSOBJ) $(HTMLOBJ
|
||||||
$(RM) $@
|
$(RM) $@
|
||||||
-${DVIPDF} $<
|
-${DVIPDF} $<
|
||||||
|
|
||||||
@ -105,7 +61,7 @@
|
|||||||
|
|
||||||
xdist: $(DIST_DOCS)
|
xdist: $(DIST_DOCS)
|
||||||
--- doc/readline.3
|
--- doc/readline.3
|
||||||
+++ doc/readline.3 2006-11-13 17:33:27.000000000 +0100
|
+++ doc/readline.3 2006-11-13 16:33:27.000000000 +0000
|
||||||
@@ -118,6 +118,14 @@ environment variable. If that variable
|
@@ -118,6 +118,14 @@ environment variable. If that variable
|
||||||
.IR ~/.inputrc .
|
.IR ~/.inputrc .
|
||||||
If that file does not exist or cannot be read, the ultimate default is
|
If that file does not exist or cannot be read, the ultimate default is
|
||||||
@ -121,7 +77,7 @@
|
|||||||
When a program which uses the readline library starts up, the
|
When a program which uses the readline library starts up, the
|
||||||
init file is read, and the key bindings and variables are set.
|
init file is read, and the key bindings and variables are set.
|
||||||
There are only a few basic constructs allowed in the
|
There are only a few basic constructs allowed in the
|
||||||
@@ -1286,6 +1294,9 @@ VI Command Mode functions
|
@@ -1402,6 +1410,9 @@ VI Command Mode functions
|
||||||
.TP
|
.TP
|
||||||
.FN ~/.inputrc
|
.FN ~/.inputrc
|
||||||
Individual \fBreadline\fP initialization file
|
Individual \fBreadline\fP initialization file
|
||||||
@ -131,9 +87,54 @@
|
|||||||
.PD
|
.PD
|
||||||
.SH AUTHORS
|
.SH AUTHORS
|
||||||
Brian Fox, Free Software Foundation
|
Brian Fox, Free Software Foundation
|
||||||
|
--- history.h
|
||||||
|
+++ history.h 2012-07-18 08:06:56.000000000 +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 2014-04-17 10:59:21.258235067 +0000
|
||||||
|
@@ -824,8 +824,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 (key), map));
|
||||||
|
+ {
|
||||||
|
+ if (key == ANYOTHERKEY)
|
||||||
|
+ return -1;
|
||||||
|
+ return (_rl_dispatch (_rl_to_lower (key), map));
|
||||||
|
+ }
|
||||||
|
|
||||||
|
rl_executing_keymap = map;
|
||||||
|
rl_executing_key = key;
|
||||||
|
--- readline.h
|
||||||
|
+++ readline.h 2012-07-18 08:07:12.000000000 +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>
|
||||||
|
@@ -459,7 +460,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
|
||||||
+++ support/shobj-conf 2006-09-22 16:17:48.000000000 +0200
|
+++ support/shobj-conf 2006-09-22 14:17:48.000000000 +0000
|
||||||
@@ -112,10 +112,11 @@ sunos5*|solaris2*)
|
@@ -126,10 +126,11 @@ sunos5*|solaris2*)
|
||||||
linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo)
|
linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo)
|
||||||
SHOBJ_CFLAGS=-fPIC
|
SHOBJ_CFLAGS=-fPIC
|
||||||
SHOBJ_LD='${CC}'
|
SHOBJ_LD='${CC}'
|
BIN
readline-6.3.tar.gz
(Stored with Git LFS)
Normal file
BIN
readline-6.3.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user