From ced14eb59e27f03c4bcb4735fcd1d558349d6305 Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Mon, 5 Nov 2012 13:27:32 +0000 Subject: [PATCH 1/5] . OBS-URL: https://build.opensuse.org/package/show/Base:System/bash?expand=0&rev=139 --- bash.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bash.spec b/bash.spec index 887779e4..5e159ab5 100644 --- a/bash.spec +++ b/bash.spec @@ -323,7 +323,9 @@ done MACHTYPE=${CPU}-suse-linux export LANG LC_ALL HOSTTYPE MACHTYPE pushd ../readline-%{rl_vers}%{extend} +%if %suse_version >= 1100 autoconf +%endif cflags () { local flag=$1; shift From a1ac342b1f25f91ca99c5eee680d279e4482b195 Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Tue, 8 Jan 2013 15:01:04 +0000 Subject: [PATCH 2/5] . OBS-URL: https://build.opensuse.org/package/show/Base:System/bash?expand=0&rev=141 --- bash-4.2-patches.tar.bz2 | 4 ++-- bash.changes | 11 +++++++++++ bash.spec | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/bash-4.2-patches.tar.bz2 b/bash-4.2-patches.tar.bz2 index 3d94edad..4dbdc5bb 100644 --- a/bash-4.2-patches.tar.bz2 +++ b/bash-4.2-patches.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e2cc87f25782c7d7eb5e24bdea053a4c063b0d3f296b2142862b6ca9100d6415 -size 24539 +oid sha256:251f7aa87048b2ad274e6006e234a1d6270bc074cc779308c2117dcf17f73723 +size 25471 diff --git a/bash.changes b/bash.changes index 20a2c267..92cc3935 100644 --- a/bash.changes +++ b/bash.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Tue Jan 8 14:57:17 UTC 2013 - werner@suse.de + +- Update bash 4.2 to patch level 42 + * Missing I/O errors if output redirection applied to builtin + commands when the file descriptor was closed + * Process substitution incorrectly inherited a flag that + inhibited using the temporary environment for variable lookups + if it was providing the filename to a redirection. + * Compilation failed after specifying the `minimal config' option + ------------------------------------------------------------------- Mon Nov 5 12:41:57 UTC 2012 - werner@suse.de diff --git a/bash.spec b/bash.spec index 5e159ab5..5fbfb6dc 100644 --- a/bash.spec +++ b/bash.spec @@ -1,7 +1,7 @@ # # spec file for package bash # -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed From 94748ed57a643d46f67db6db4ca71b33f1a1c649 Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Tue, 8 Jan 2013 17:44:55 +0000 Subject: [PATCH 3/5] . OBS-URL: https://build.opensuse.org/package/show/Base:System/bash?expand=0&rev=142 --- bash-4.2.dif | 9 --------- bash.changes | 6 ++++++ 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/bash-4.2.dif b/bash-4.2.dif index 3623d971..e3d71b3f 100644 --- a/bash-4.2.dif +++ b/bash-4.2.dif @@ -73,15 +73,6 @@ /* The pipeline currently being built. */ PROCESS *the_pipeline = (PROCESS *)NULL; -@@ -215,7 +215,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. */ - --- jobs.h +++ jobs.h 2006-03-27 12:15:25.000000000 +0000 @@ -165,7 +165,7 @@ extern pid_t fork (), getpid (), getpgrp diff --git a/bash.changes b/bash.changes index 92cc3935..afaafb52 100644 --- a/bash.changes +++ b/bash.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Jan 8 17:43:01 UTC 2013 - werner@suse.de + +- Do not trigger the export of COLUMNS or LINES due enforced + checkwinsize (bnc#793536) + ------------------------------------------------------------------- Tue Jan 8 14:57:17 UTC 2013 - werner@suse.de From 698d383e0724c8adbfcdb84b736de0d3d97dce0f Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Wed, 9 Jan 2013 08:55:43 +0000 Subject: [PATCH 4/5] . OBS-URL: https://build.opensuse.org/package/show/Base:System/bash?expand=0&rev=143 --- bash.changes | 5 +++++ bash.spec | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/bash.changes b/bash.changes index afaafb52..92702388 100644 --- a/bash.changes +++ b/bash.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Jan 9 08:55:09 UTC 2013 - werner@suse.de + +- Avoid autoconf on older products + ------------------------------------------------------------------- Tue Jan 8 17:43:01 UTC 2013 - werner@suse.de diff --git a/bash.spec b/bash.spec index 5fbfb6dc..1e7d1623 100644 --- a/bash.spec +++ b/bash.spec @@ -323,7 +323,7 @@ done MACHTYPE=${CPU}-suse-linux export LANG LC_ALL HOSTTYPE MACHTYPE pushd ../readline-%{rl_vers}%{extend} -%if %suse_version >= 1100 +%if 0%suse_version >= 1100 autoconf %endif cflags () @@ -424,7 +424,9 @@ popd CC_FOR_BUILD="$CC" CFLAGS_FOR_BUILD="$CFLAGS" export CC_FOR_BUILD CFLAGS_FOR_BUILD CFLAGS LDFLAGS CC +%if 0%suse_version >= 1100 autoconf +%endif # # We have a malloc with our glibc # From d081b5ec0c0873a9e00025ccdbb10268d809ad18 Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Wed, 9 Jan 2013 10:03:33 +0000 Subject: [PATCH 5/5] . OBS-URL: https://build.opensuse.org/package/show/Base:System/bash?expand=0&rev=144 --- audit-rl-patch | 99 ++++++++++++++++++++++++++++++++++++++++++++++++++ bash.changes | 4 ++ bash.spec | 16 ++++++-- 3 files changed, 116 insertions(+), 3 deletions(-) create mode 100644 audit-rl-patch diff --git a/audit-rl-patch b/audit-rl-patch new file mode 100644 index 00000000..259a55e6 --- /dev/null +++ b/audit-rl-patch @@ -0,0 +1,99 @@ +--- 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 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 ]]) ++ + 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 ++# include ++# include ++#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); + } + diff --git a/bash.changes b/bash.changes index 92702388..8b19cecb 100644 --- a/bash.changes +++ b/bash.changes @@ -2,6 +2,10 @@ Wed Jan 9 08:55:09 UTC 2013 - werner@suse.de - Avoid autoconf on older products +- Apply audit patch variant to readline as well as we use a shared + libreadline +- Avoid bash-devel on older products as older GNU make do not have + a realpath builtin ------------------------------------------------------------------- Tue Jan 8 17:43:01 UTC 2013 - werner@suse.de diff --git a/bash.spec b/bash.spec index 1e7d1623..ddd01a40 100644 --- a/bash.spec +++ b/bash.spec @@ -88,6 +88,7 @@ Patch27: readline-6.2-xmalloc.dif Patch30: readline-6.2-destdir.patch Patch40: bash-4.1-bash.bashrc.dif Patch42: audit-patch +Patch43: audit-rl-patch Patch46: man2html-no-timestamp.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %global _sysconfdir /etc @@ -132,6 +133,7 @@ Requires: bash = %{version} Provides translations to the package bash %endif +%if 0%suse_version >= 1100 %package -n bash-devel Summary: Include Files mandatory for Development of bash loadable builtins Group: Development/Languages/C and C++ @@ -142,6 +144,7 @@ Release: 0 This package contains the C header files for writing loadable new builtins for the interpreter Bash. Use -I /usr/include/bash/ on the compilers command line. +%endif %package -n bash-loadables Summary: Loadable bash builtins @@ -209,7 +212,7 @@ Group: System/Libraries Provides: bash:/%{_lib}/libreadline.so.%{rl_major} Version: 6.2 Release: 0 -%if %suse_version > 1020 +%if 0%suse_version > 1020 Recommends: readline-doc = %{version} %endif # bug437293 @@ -233,7 +236,7 @@ Version: 6.2 Release: 0 Requires: libreadline6 = %{version} Requires: ncurses-devel -%if %suse_version > 1020 +%if 0%suse_version > 1020 Recommends: readline-doc = %{version} %endif # bug437293 @@ -253,7 +256,7 @@ Provides: readline:%{_infodir}/readline.info.gz PreReq: %install_info_prereq Version: 6.2 Release: 0 -%if %suse_version > 1120 +%if 0%suse_version > 1120 BuildArch: noarch %endif @@ -295,7 +298,9 @@ unset p #%patch25 -p0 -b .endpw %patch26 -p0 -b .msgdy %patch40 -p0 -b .bashrc +%if 0%suse_version >= 1100 %patch42 -p1 -b .audit +%endif %patch46 -p0 -b .notimestamp %patch0 -p0 -b .0 pushd ../readline-%{rl_vers}%{extend} @@ -312,6 +317,9 @@ done %patch26 -p2 -b .msgdy %patch27 -p0 -b .xm %patch30 -p0 -b .destdir +%if 0%suse_version >= 1100 +%patch43 -p1 -b .audit +%endif %patch20 -p0 -b .0 %build @@ -627,6 +635,7 @@ ldd -u -r %{buildroot}/%{_lib}/libreadline.so.* || true %doc %{_mandir}/man1/rbash.1.gz %doc %{_defaultdocdir}/bash/ +%if 0%suse_version >= 1100 %files -n bash-devel %defattr(-,root,root) %dir /%{_includedir}/bash/ @@ -634,6 +643,7 @@ ldd -u -r %{buildroot}/%{_lib}/libreadline.so.* || true %dir /%{_includedir}/bash/%{bash_vers}/builtins/ /%{_incdir}/bash/%{bash_vers}/*.h /%{_incdir}/bash/%{bash_vers}/builtins/*.h +%endif %files -n bash-loadables %defattr(-,root,root)