From f7602bbf3f4c272c64e8ea7e12ea84744a3b6d7f Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Tue, 13 Feb 2018 17:32:27 +0000
Subject: bash: update to 4.4.019

---
 abs/core/bash/PKGBUILD                   | 138 +++++++++----------------------
 abs/core/bash/bash-4.3-old-memleak.patch |  24 ------
 abs/core/bash/bash.install               |  16 ----
 abs/core/bash/privmode-setuid-fail.patch |  29 -------
 abs/core/bash/system.bashrc              |   7 +-
 5 files changed, 44 insertions(+), 170 deletions(-)
 delete mode 100644 abs/core/bash/bash-4.3-old-memleak.patch
 delete mode 100644 abs/core/bash/bash.install
 delete mode 100644 abs/core/bash/privmode-setuid-fail.patch

diff --git a/abs/core/bash/PKGBUILD b/abs/core/bash/PKGBUILD
index cb6847e..553a6ad 100644
--- a/abs/core/bash/PKGBUILD
+++ b/abs/core/bash/PKGBUILD
@@ -4,33 +4,30 @@
 # Contributor: Aaron Griffin <aaron@archlinux.org>
 
 pkgname=bash
-_basever=4.3
-_patchlevel=042
-pkgver=$_basever.$_patchlevel
-pkgrel=4
+_basever=4.4
+_patchlevel=019
+pkgver=${_basever}.${_patchlevel}
+pkgrel=1
 pkgdesc='The GNU Bourne Again shell'
-arch=('i686' 'x86_64')
-license=('GPL')
+arch=(x86_64)
+license=(GPL)
 url='http://www.gnu.org/software/bash/bash.html'
-groups=('base')
+groups=(base)
 backup=(etc/bash.bash{rc,_logout} etc/skel/.bash{rc,_profile,_logout})
-depends=('readline>=6.3' 'glibc' 'ncurses' 'libncursesw.so')
+depends=('readline>=7.0' glibc ncurses)
 optdepends=('bash-completion: for tab completion')
 provides=('sh')
-install=bash.install
-source=(http://ftp.gnu.org/gnu/bash/bash-$_basever.tar.gz{,.sig}
+source=(https://ftp.gnu.org/gnu/bash/bash-$_basever.tar.gz{,.sig}
         dot.bashrc
         dot.bash_profile
         dot.bash_logout
         system.bashrc
-        system.bash_logout
-        privmode-setuid-fail.patch
-        bash-4.3-old-memleak.patch)
+        system.bash_logout)
 validpgpkeys=('7C0135FB088AAF6C66C650B9BB5869F064EA74AB') # Chet Ramey
 
 if [[ $((10#${_patchlevel})) -gt 0 ]]; then
   for (( _p=1; _p<=$((10#${_patchlevel})); _p++ )); do
-    source=(${source[@]} http://ftp.gnu.org/gnu/bash/bash-$_basever-patches/bash${_basever//.}-$(printf "%03d" $_p){,.sig})
+    source=(${source[@]} https://ftp.gnu.org/gnu/bash/bash-$_basever-patches/bash${_basever//.}-$(printf "%03d" $_p){,.sig})
   done
 fi
 
@@ -41,12 +38,6 @@ prepare() {
     msg "applying patch bash${_basever//.}-$(printf "%03d" $_p)"
     patch -p0 -i ../bash${_basever//.}-$(printf "%03d" $_p)
   done
-
-  # http://hmarco.org/bugs/bash_4.3-setuid-bug.html (FS#40663)
-  patch -p0 -i ../privmode-setuid-fail.patch
-
-  # https://bugs.archlinux.org/task/45891
-  patch -p1 -i ../bash-4.3-old-memleak.patch
 }
 
 build() {
@@ -55,7 +46,8 @@ build() {
   _bashconfig=(-DDEFAULT_PATH_VALUE=\'\"/usr/local/sbin:/usr/local/bin:/usr/bin\"\'
                -DSTANDARD_UTILS_PATH=\'\"/usr/bin\"\'
                -DSYS_BASHRC=\'\"/etc/bash.bashrc\"\'
-               -DSYS_BASH_LOGOUT=\'\"/etc/bash.bash_logout\"\')
+               -DSYS_BASH_LOGOUT=\'\"/etc/bash.bash_logout\"\'
+               -DNON_INTERACTIVE_LOGIN_SHELLS)
   export CFLAGS="${CFLAGS} ${_bashconfig[@]}"
 
   ./configure --prefix=/usr --with-curses --enable-readline \
@@ -69,109 +61,61 @@ check() {
 
 package() {
   make -C $pkgname-$_basever DESTDIR="$pkgdir" install
-  ln -s bash "$pkgdir"/usr/bin/sh
+  ln -s bash "$pkgdir/usr/bin/sh"
 
-  install -dm755 "$pkgdir"/etc/skel/
   # system-wide configuration files
-  install -m644 system.bashrc $pkgdir/etc/bash.bashrc
-  install -m644 system.bash_logout "$pkgdir"/etc/bash.bash_logout
+  install -Dm644 system.bashrc "$pkgdir/etc/bash.bashrc"
+  install -Dm644 system.bash_logout "$pkgdir/etc/bash.bash_logout"
 
   # user configuration file skeletons
-  install -m644 dot.bashrc "$pkgdir"/etc/skel/.bashrc
-  install -m644 dot.bash_profile "$pkgdir"/etc/skel/.bash_profile
-  install -m644 dot.bash_logout "$pkgdir"/etc/skel/.bash_logout
+  install -dm755 "$pkgdir/etc/skel/"
+  install -m644 dot.bashrc "$pkgdir/etc/skel/.bashrc"
+  install -m644 dot.bash_profile "$pkgdir/etc/skel/.bash_profile"
+  install -m644 dot.bash_logout "$pkgdir/etc/skel/.bash_logout"
 }
 
-md5sums=('81348932d5da294953e15d4814c74dd1'
+md5sums=('148888a7c95ac23705559b6f477dfe25'
          'SKIP'
          '027d6bd8f5f6a06b75bb7698cb478089'
          '2902e0fee7a9168f3a4fd2ccd60ff047'
          '42f4400ed2314bd7519c020d0187edc5'
-         '561949793177116b7be29a07c385ba8b'
+         'd8f3f334e72c0e30032eae1a1229aef1'
          '472f536d7c9e8250dc4568ec4cfaf294'
-         'a577d42e38249d298d6a8d4bf2823883'
-         '5bb46160bba51ff904922c6ccfd9c49e'
-         '1ab682b4e36afa4cf1b426aa7ac81c0d'
-         'SKIP'
-         '8fc22cf50ec85da00f6af3d66f7ddc1b'
-         'SKIP'
-         'a41728eca78858758e26b5dea64ae506'
-         'SKIP'
-         'bf8d53d227829d67235927689a03cc7a'
-         'SKIP'
-         'c0c00935c8b8ffff76e8ab77e7be7d15'
-         'SKIP'
-         '6f01e364cd092faa28dd7119f47ddb5f'
-         'SKIP'
-         'dcf471d222bcd83283d3094e6ceeb6f8'
-         'SKIP'
-         'f7553416646dc26c266454c78a916d36'
-         'SKIP'
-         '7e73d2151f4064b484a4ba2c4b09960e'
-         'SKIP'
-         'a275463d21735bb6d7161f9fbd320d8f'
-         'SKIP'
-         'c17103ee20420d77e46b224c8d3fceda'
-         'SKIP'
-         '3e2a057a19d02b3f92a3a09eacbc03ae'
-         'SKIP'
-         'fb377143a996d4ff087a2771bc8332f9'
-         'SKIP'
-         '1a1aaecc99a9d0cbc310e8e247dcc8b6'
-         'SKIP'
-         '4f04387458a3c1b4d460d199f49991a8'
-         'SKIP'
-         '90e759709720c4f877525bebc9d5dc06'
-         'SKIP'
-         '11e4046e1b86070f6adbb7ffc89641be'
-         'SKIP'
-         'cd5a9b46f5bea0dc0248c93c7dfac011'
-         'SKIP'
-         'cff4dc024d9d3456888aaaf8a36ca774'
-         'SKIP'
-         '167839c5f147347f4a03d88ab97ff787'
-         'SKIP'
-         '1d350671c48dec30b34d8b81f09cd79d'
-         'SKIP'
-         '11c349af66a55481a3215ef2520bec36'
-         'SKIP'
-         'b3cb0d80fd0c47728264405cbb3b23c7'
-         'SKIP'
-         'b5ea5600942acceb4b6f07313d2de74e'
+         '817d01a6c0af6f79308a8b7b649e53d8'
          'SKIP'
-         '193c06f578d38ffdbaebae9c51a7551f'
+         '765e14cff12c7284009772e8e24f2fe0'
          'SKIP'
-         '922578e2be7ed03729454e92ee8d3f3a'
+         '49e7da93bf07f510a2eb6bb43ac3e5a2'
          'SKIP'
-         '8ff6948b16f2db5c29b1b9ae1085bbe7'
+         '4557d674ab5831a5fa98052ab19edaf4'
          'SKIP'
-         'dd51fa67913b5dca45a702b672b3323f'
+         'cce96dd77cdd1d293beec10848f6cbb5'
          'SKIP'
-         '0729364c977ef4271e9f8dfafadacf67'
+         'd3379f8d8abce5c6ee338f931ad008d5'
          'SKIP'
-         'efb709fdb1368945513de23ccbfae053'
+         'ec38c76ca439ca7f9c178e9baede84fc'
          'SKIP'
-         '236df1ac1130a033ed0dbe2d2115f28f'
+         'e0ba18c1e3b94f905da9b5bf9d38b58b'
          'SKIP'
-         '2360f7e79cfb28526f80021025ea5909'
+         'e952d4f44e612048930c559d90eb99bb'
          'SKIP'
-         'b551c4ee7b8713759e4143499d0bbd48'
+         '57b5b35955d68f9a09dbef6b86d2c782'
          'SKIP'
-         'c9a56fbe0348e05a886dff97f2872b74'
+         'cc896e1fa696b93ded568e557e2392d5'
          'SKIP'
-         'e564e8ab44ed1ca3a4e315a9f6cabdc9'
+         'fa47fbfa56fb7e9e5367f19a9df5fc9e'
          'SKIP'
-         'b00ff66c41a7c0f06e191200981980b0'
+         '5e6a20166efe166267972cc78025417b'
          'SKIP'
-         'be2a7b05f6ae560313f3c9d5f7127bda'
+         '00a8877a8787dbd78d97767db1115b0a'
          'SKIP'
-         '61e0522830b24fbe8c0d1b010f132470'
+         '2409586fd19e3104197ead86ce549eca'
          'SKIP'
-         'a4775487abe958536751c8ce53cdf6f9'
+         '4b31183db086daf8be8943d7f7ea7526'
          'SKIP'
-         '80d3587c58854e226055ef099ffeb535'
+         'c15c8844f1eb87bdbcde71417c9bd342'
          'SKIP'
-         '20bf63eef7cb441c0b1cc49ef3191d03'
+         'b25e3373fc8de00523116dfe151ac4e0'
          'SKIP'
-         '70790646ae61e207c995e44931390e50'
+         '8f43e1d277b02f3319a34c1cd4a4ff3e'
          'SKIP')
diff --git a/abs/core/bash/bash-4.3-old-memleak.patch b/abs/core/bash/bash-4.3-old-memleak.patch
deleted file mode 100644
index ff2b665..0000000
--- a/abs/core/bash/bash-4.3-old-memleak.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -up bash-4.3/subst.c.old bash-4.3/subst.c
---- bash-4.3/subst.c.old	2015-08-03 10:32:37.353490080 +0200
-+++ bash-4.3/subst.c	2015-08-03 10:33:34.818533408 +0200
-@@ -9492,7 +9492,7 @@ make_internal_declare (word, option)
-      char *word;
-      char *option;
- {
--  int t;
-+  int t, r;
-   WORD_LIST *wl;
-   WORD_DESC *w;
- 
-@@ -9504,7 +9504,10 @@ make_internal_declare (word, option)
-   wl = make_word_list (w, (WORD_LIST *)NULL);
-   wl = make_word_list (make_word (option), wl);
- 
--  return (declare_builtin (wl));  
-+  r = declare_builtin (wl);  
-+
-+  dispose_words (wl);
-+  return r;
- }  
- #endif
- 
diff --git a/abs/core/bash/bash.install b/abs/core/bash/bash.install
deleted file mode 100644
index a10e6e9..0000000
--- a/abs/core/bash/bash.install
+++ /dev/null
@@ -1,16 +0,0 @@
-info_dir=usr/share/info
-info_files=(bash.info)
-
-post_upgrade() {
-  [ -x usr/bin/install-info ] || return 0
-  for f in ${info_files[@]}; do
-    usr/bin/install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
-  done
-}
-
-pre_remove() {
-  [ -x usr/bin/install-info ] || return 0
-  for f in ${info_files[@]}; do
-    usr/bin/install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
-  done
-}
diff --git a/abs/core/bash/privmode-setuid-fail.patch b/abs/core/bash/privmode-setuid-fail.patch
deleted file mode 100644
index 059857d..0000000
--- a/abs/core/bash/privmode-setuid-fail.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-*** ../bash-4.3-patched/shell.c	2014-01-14 08:04:32.000000000 -0500
---- shell.c	2014-06-06 16:29:01.000000000 -0400
-***************
-*** 1227,1232 ****
-  disable_priv_mode ()
-  {
-!   setuid (current_user.uid);
-!   setgid (current_user.gid);
-    current_user.euid = current_user.uid;
-    current_user.egid = current_user.gid;
---- 1229,1246 ----
-  disable_priv_mode ()
-  {
-!   int e;
-! 
-!   if (setuid (current_user.uid) < 0)
-!     {
-!       e = errno;
-!       sys_error (_("cannot set uid to %d: effective uid %d"), current_user.uid, current_user.euid);
-! #if defined (EXIT_ON_SETUID_FAILURE)
-!       if (e == EAGAIN)
-!	exit (e);
-! #endif
-!     }
-!   if (setgid (current_user.gid) < 0)
-!     sys_error (_("cannot set gid to %d: effective gid %d"), current_user.gid, current_user.egid);
-! 
-    current_user.euid = current_user.uid;
-    current_user.egid = current_user.gid;
diff --git a/abs/core/bash/system.bashrc b/abs/core/bash/system.bashrc
index 4d7a643..c484b2b 100644
--- a/abs/core/bash/system.bashrc
+++ b/abs/core/bash/system.bashrc
@@ -5,17 +5,16 @@
 # If not running interactively, don't do anything
 [[ $- != *i* ]] && return
 
+[[ $DISPLAY ]] && shopt -s checkwinsize
+
 PS1='[\u@\h \W]\$ '
-PS2='> '
-PS3='> '
-PS4='+ '
 
 case ${TERM} in
   xterm*|rxvt*|Eterm|aterm|kterm|gnome*)
     PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
 
     ;;
-  screen)
+  screen*)
     PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
     ;;
 esac
-- 
cgit v0.12

