summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--abs/core/bash/PKGBUILD138
-rw-r--r--abs/core/bash/bash-4.3-old-memleak.patch24
-rw-r--r--abs/core/bash/bash.install16
-rw-r--r--abs/core/bash/privmode-setuid-fail.patch29
-rw-r--r--abs/core/bash/system.bashrc7
5 files changed, 44 insertions, 170 deletions
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