diff options
-rw-r--r-- | abs/core/bash/PKGBUILD | 138 | ||||
-rw-r--r-- | abs/core/bash/bash-4.3-old-memleak.patch | 24 | ||||
-rw-r--r-- | abs/core/bash/bash.install | 16 | ||||
-rw-r--r-- | abs/core/bash/privmode-setuid-fail.patch | 29 | ||||
-rw-r--r-- | abs/core/bash/system.bashrc | 7 |
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 |