Date: Wednesday, June 11, 2014 @ 11:27:26 Author: bpiotrowski Revision: 214977
archrelease: copy trunk to testing-i686, testing-x86_64 Added: bash/repos/testing-i686/PKGBUILD (from rev 214976, bash/trunk/PKGBUILD) bash/repos/testing-i686/bash.install (from rev 214976, bash/trunk/bash.install) bash/repos/testing-i686/dot.bash_logout (from rev 214976, bash/trunk/dot.bash_logout) bash/repos/testing-i686/dot.bash_profile (from rev 214976, bash/trunk/dot.bash_profile) bash/repos/testing-i686/dot.bashrc (from rev 214976, bash/trunk/dot.bashrc) bash/repos/testing-i686/privmode-setuid-fail.patch (from rev 214976, bash/trunk/privmode-setuid-fail.patch) bash/repos/testing-i686/system.bash_logout (from rev 214976, bash/trunk/system.bash_logout) bash/repos/testing-i686/system.bashrc (from rev 214976, bash/trunk/system.bashrc) bash/repos/testing-x86_64/PKGBUILD (from rev 214976, bash/trunk/PKGBUILD) bash/repos/testing-x86_64/bash.install (from rev 214976, bash/trunk/bash.install) bash/repos/testing-x86_64/dot.bash_logout (from rev 214976, bash/trunk/dot.bash_logout) bash/repos/testing-x86_64/dot.bash_profile (from rev 214976, bash/trunk/dot.bash_profile) bash/repos/testing-x86_64/dot.bashrc (from rev 214976, bash/trunk/dot.bashrc) bash/repos/testing-x86_64/privmode-setuid-fail.patch (from rev 214976, bash/trunk/privmode-setuid-fail.patch) bash/repos/testing-x86_64/system.bash_logout (from rev 214976, bash/trunk/system.bash_logout) bash/repos/testing-x86_64/system.bashrc (from rev 214976, bash/trunk/system.bashrc) Deleted: bash/repos/testing-i686/PKGBUILD bash/repos/testing-i686/bash-4.3-fix-setuid.patch bash/repos/testing-i686/bash.install bash/repos/testing-i686/dot.bash_logout bash/repos/testing-i686/dot.bash_profile bash/repos/testing-i686/dot.bashrc bash/repos/testing-i686/system.bash_logout bash/repos/testing-i686/system.bashrc bash/repos/testing-x86_64/PKGBUILD bash/repos/testing-x86_64/bash-4.3-fix-setuid.patch bash/repos/testing-x86_64/bash.install bash/repos/testing-x86_64/dot.bash_logout bash/repos/testing-x86_64/dot.bash_profile bash/repos/testing-x86_64/dot.bashrc bash/repos/testing-x86_64/system.bash_logout bash/repos/testing-x86_64/system.bashrc -------------------------------------------+ /PKGBUILD | 244 ++++++++++++++++++++++++++++ /bash.install | 32 +++ /dot.bash_logout | 6 /dot.bash_profile | 10 + /dot.bashrc | 18 ++ /system.bash_logout | 6 /system.bashrc | 46 +++++ testing-i686/PKGBUILD | 122 -------------- testing-i686/bash-4.3-fix-setuid.patch | 31 --- testing-i686/bash.install | 16 - testing-i686/dot.bash_logout | 3 testing-i686/dot.bash_profile | 5 testing-i686/dot.bashrc | 9 - testing-i686/privmode-setuid-fail.patch | 29 +++ testing-i686/system.bash_logout | 3 testing-i686/system.bashrc | 23 -- testing-x86_64/PKGBUILD | 122 -------------- testing-x86_64/bash-4.3-fix-setuid.patch | 31 --- testing-x86_64/bash.install | 16 - testing-x86_64/dot.bash_logout | 3 testing-x86_64/dot.bash_profile | 5 testing-x86_64/dot.bashrc | 9 - testing-x86_64/privmode-setuid-fail.patch | 29 +++ testing-x86_64/system.bash_logout | 3 testing-x86_64/system.bashrc | 23 -- 25 files changed, 420 insertions(+), 424 deletions(-) Deleted: testing-i686/PKGBUILD =================================================================== --- testing-i686/PKGBUILD 2014-06-11 09:27:17 UTC (rev 214976) +++ testing-i686/PKGBUILD 2014-06-11 09:27:26 UTC (rev 214977) @@ -1,122 +0,0 @@ -# $Id$ -# Maintainer: Bartłomiej Piotrowski <bpiotrow...@archlinux.org> -# Contributor: Allan McRae <al...@archlinux.org> -# Contributor: Aaron Griffin <aa...@archlinux.org> - -pkgname=bash -_basever=4.3 -_patchlevel=018 -pkgver=$_basever.$_patchlevel -pkgrel=2 -pkgdesc='The GNU Bourne Again shell' -arch=('i686' 'x86_64') -license=('GPL') -url='http://www.gnu.org/software/bash/bash.html' -groups=('base') -backup=(etc/bash.bash{rc,_logout} etc/skel/.bash{rc,_profile,_logout}) -depends=('readline>=6.3' 'glibc') -provides=('sh') -install=bash.install -source=(http://ftp.gnu.org/gnu/bash/bash-$_basever.tar.gz{,.sig} - dot.bashrc - dot.bash_profile - dot.bash_logout - system.bashrc - system.bash_logout - bash-4.3-fix-setuid.patch) - -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}) - done -fi - -prepare() { - cd $pkgname-$_basever - - for (( _p=1; _p<=$((10#${_patchlevel})); _p++ )); do - 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 ../bash-4.3-fix-setuid.patch -} - -build() { - cd $pkgname-$_basever - - _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\"\') - export CFLAGS="${CFLAGS} ${_bashconfig[@]}" - - ./configure --prefix=/usr --with-curses --enable-readline \ - --without-bash-malloc --with-installed-readline - make -} - -check() { - make -C $pkgname-$_basever check -} - -package() { - make -C $pkgname-$_basever DESTDIR="$pkgdir" install - 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 - - # 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 -} - -md5sums=('81348932d5da294953e15d4814c74dd1' - 'SKIP' - '027d6bd8f5f6a06b75bb7698cb478089' - '2902e0fee7a9168f3a4fd2ccd60ff047' - '42f4400ed2314bd7519c020d0187edc5' - '561949793177116b7be29a07c385ba8b' - '472f536d7c9e8250dc4568ec4cfaf294' - 'c87b8d9e12d628eac829dc08f4607a20' - '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') Copied: bash/repos/testing-i686/PKGBUILD (from rev 214976, bash/trunk/PKGBUILD) =================================================================== --- testing-i686/PKGBUILD (rev 0) +++ testing-i686/PKGBUILD 2014-06-11 09:27:26 UTC (rev 214977) @@ -0,0 +1,122 @@ +# $Id$ +# Maintainer: Bartłomiej Piotrowski <bpiotrow...@archlinux.org> +# Contributor: Allan McRae <al...@archlinux.org> +# Contributor: Aaron Griffin <aa...@archlinux.org> + +pkgname=bash +_basever=4.3 +_patchlevel=018 +pkgver=$_basever.$_patchlevel +pkgrel=3 +pkgdesc='The GNU Bourne Again shell' +arch=('i686' 'x86_64') +license=('GPL') +url='http://www.gnu.org/software/bash/bash.html' +groups=('base') +backup=(etc/bash.bash{rc,_logout} etc/skel/.bash{rc,_profile,_logout}) +depends=('readline>=6.3' 'glibc') +provides=('sh') +install=bash.install +source=(http://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) + +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}) + done +fi + +prepare() { + cd $pkgname-$_basever + + for (( _p=1; _p<=$((10#${_patchlevel})); _p++ )); do + 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 +} + +build() { + cd $pkgname-$_basever + + _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\"\') + export CFLAGS="${CFLAGS} ${_bashconfig[@]}" + + ./configure --prefix=/usr --with-curses --enable-readline \ + --without-bash-malloc --with-installed-readline + make +} + +check() { + make -C $pkgname-$_basever check +} + +package() { + make -C $pkgname-$_basever DESTDIR="$pkgdir" install + 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 + + # 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 +} + +md5sums=('81348932d5da294953e15d4814c74dd1' + 'SKIP' + '027d6bd8f5f6a06b75bb7698cb478089' + '2902e0fee7a9168f3a4fd2ccd60ff047' + '42f4400ed2314bd7519c020d0187edc5' + '561949793177116b7be29a07c385ba8b' + '472f536d7c9e8250dc4568ec4cfaf294' + 'a577d42e38249d298d6a8d4bf2823883' + '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') Deleted: testing-i686/bash-4.3-fix-setuid.patch =================================================================== --- testing-i686/bash-4.3-fix-setuid.patch 2014-06-11 09:27:17 UTC (rev 214976) +++ testing-i686/bash-4.3-fix-setuid.patch 2014-06-11 09:27:26 UTC (rev 214977) @@ -1,31 +0,0 @@ -diff --git shell.c shell.c -index bbc8a66..5bfd466 100644 ---- shell.c -+++ shell.c -@@ -1226,8 +1226,12 @@ uidget () - void - disable_priv_mode () - { -- setuid (current_user.uid); -- setgid (current_user.gid); -+ -+ if( (setuid (current_user.uid) !=0) || (setgid (current_user.gid) != 0) ){ -+ report_error("Drop privileges failed!!\n"); -+ exit(EX_DROPFAIL); -+ } -+ - current_user.euid = current_user.uid; - current_user.egid = current_user.gid; - } -diff --git shell.h shell.h -index 243e467..c3625be 100644 ---- shell.h -+++ shell.h -@@ -72,6 +72,7 @@ extern int EOF_Reached; - #define EX_REDIRFAIL 259 /* redirection failed */ - #define EX_BADASSIGN 260 /* variable assignment error */ - #define EX_EXPFAIL 261 /* word expansion failed */ -+#define EX_DROPFAIL 262 /* Drop privileges failed */ - - /* Flag values that control parameter pattern substitution. */ - #define MATCH_ANY 0x000 Deleted: testing-i686/bash.install =================================================================== --- testing-i686/bash.install 2014-06-11 09:27:17 UTC (rev 214976) +++ testing-i686/bash.install 2014-06-11 09:27:26 UTC (rev 214977) @@ -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 -} Copied: bash/repos/testing-i686/bash.install (from rev 214976, bash/trunk/bash.install) =================================================================== --- testing-i686/bash.install (rev 0) +++ testing-i686/bash.install 2014-06-11 09:27:26 UTC (rev 214977) @@ -0,0 +1,16 @@ +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 +} Deleted: testing-i686/dot.bash_logout =================================================================== --- testing-i686/dot.bash_logout 2014-06-11 09:27:17 UTC (rev 214976) +++ testing-i686/dot.bash_logout 2014-06-11 09:27:26 UTC (rev 214977) @@ -1,3 +0,0 @@ -# -# ~/.bash_logout -# Copied: bash/repos/testing-i686/dot.bash_logout (from rev 214976, bash/trunk/dot.bash_logout) =================================================================== --- testing-i686/dot.bash_logout (rev 0) +++ testing-i686/dot.bash_logout 2014-06-11 09:27:26 UTC (rev 214977) @@ -0,0 +1,3 @@ +# +# ~/.bash_logout +# Deleted: testing-i686/dot.bash_profile =================================================================== --- testing-i686/dot.bash_profile 2014-06-11 09:27:17 UTC (rev 214976) +++ testing-i686/dot.bash_profile 2014-06-11 09:27:26 UTC (rev 214977) @@ -1,5 +0,0 @@ -# -# ~/.bash_profile -# - -[[ -f ~/.bashrc ]] && . ~/.bashrc Copied: bash/repos/testing-i686/dot.bash_profile (from rev 214976, bash/trunk/dot.bash_profile) =================================================================== --- testing-i686/dot.bash_profile (rev 0) +++ testing-i686/dot.bash_profile 2014-06-11 09:27:26 UTC (rev 214977) @@ -0,0 +1,5 @@ +# +# ~/.bash_profile +# + +[[ -f ~/.bashrc ]] && . ~/.bashrc Deleted: testing-i686/dot.bashrc =================================================================== --- testing-i686/dot.bashrc 2014-06-11 09:27:17 UTC (rev 214976) +++ testing-i686/dot.bashrc 2014-06-11 09:27:26 UTC (rev 214977) @@ -1,9 +0,0 @@ -# -# ~/.bashrc -# - -# If not running interactively, don't do anything -[[ $- != *i* ]] && return - -alias ls='ls --color=auto' -PS1='[\u@\h \W]\$ ' Copied: bash/repos/testing-i686/dot.bashrc (from rev 214976, bash/trunk/dot.bashrc) =================================================================== --- testing-i686/dot.bashrc (rev 0) +++ testing-i686/dot.bashrc 2014-06-11 09:27:26 UTC (rev 214977) @@ -0,0 +1,9 @@ +# +# ~/.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +alias ls='ls --color=auto' +PS1='[\u@\h \W]\$ ' Copied: bash/repos/testing-i686/privmode-setuid-fail.patch (from rev 214976, bash/trunk/privmode-setuid-fail.patch) =================================================================== --- testing-i686/privmode-setuid-fail.patch (rev 0) +++ testing-i686/privmode-setuid-fail.patch 2014-06-11 09:27:26 UTC (rev 214977) @@ -0,0 +1,29 @@ +*** ../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; Deleted: testing-i686/system.bash_logout =================================================================== --- testing-i686/system.bash_logout 2014-06-11 09:27:17 UTC (rev 214976) +++ testing-i686/system.bash_logout 2014-06-11 09:27:26 UTC (rev 214977) @@ -1,3 +0,0 @@ -# -# /etc/bash.bash_logout -# Copied: bash/repos/testing-i686/system.bash_logout (from rev 214976, bash/trunk/system.bash_logout) =================================================================== --- testing-i686/system.bash_logout (rev 0) +++ testing-i686/system.bash_logout 2014-06-11 09:27:26 UTC (rev 214977) @@ -0,0 +1,3 @@ +# +# /etc/bash.bash_logout +# Deleted: testing-i686/system.bashrc =================================================================== --- testing-i686/system.bashrc 2014-06-11 09:27:17 UTC (rev 214976) +++ testing-i686/system.bashrc 2014-06-11 09:27:26 UTC (rev 214977) @@ -1,23 +0,0 @@ -# -# /etc/bash.bashrc -# - -# If not running interactively, don't do anything -[[ $- != *i* ]] && return - -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) - PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"' - ;; -esac - -[ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion Copied: bash/repos/testing-i686/system.bashrc (from rev 214976, bash/trunk/system.bashrc) =================================================================== --- testing-i686/system.bashrc (rev 0) +++ testing-i686/system.bashrc 2014-06-11 09:27:26 UTC (rev 214977) @@ -0,0 +1,23 @@ +# +# /etc/bash.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +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) + PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"' + ;; +esac + +[ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion Deleted: testing-x86_64/PKGBUILD =================================================================== --- testing-x86_64/PKGBUILD 2014-06-11 09:27:17 UTC (rev 214976) +++ testing-x86_64/PKGBUILD 2014-06-11 09:27:26 UTC (rev 214977) @@ -1,122 +0,0 @@ -# $Id$ -# Maintainer: Bartłomiej Piotrowski <bpiotrow...@archlinux.org> -# Contributor: Allan McRae <al...@archlinux.org> -# Contributor: Aaron Griffin <aa...@archlinux.org> - -pkgname=bash -_basever=4.3 -_patchlevel=018 -pkgver=$_basever.$_patchlevel -pkgrel=2 -pkgdesc='The GNU Bourne Again shell' -arch=('i686' 'x86_64') -license=('GPL') -url='http://www.gnu.org/software/bash/bash.html' -groups=('base') -backup=(etc/bash.bash{rc,_logout} etc/skel/.bash{rc,_profile,_logout}) -depends=('readline>=6.3' 'glibc') -provides=('sh') -install=bash.install -source=(http://ftp.gnu.org/gnu/bash/bash-$_basever.tar.gz{,.sig} - dot.bashrc - dot.bash_profile - dot.bash_logout - system.bashrc - system.bash_logout - bash-4.3-fix-setuid.patch) - -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}) - done -fi - -prepare() { - cd $pkgname-$_basever - - for (( _p=1; _p<=$((10#${_patchlevel})); _p++ )); do - 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 ../bash-4.3-fix-setuid.patch -} - -build() { - cd $pkgname-$_basever - - _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\"\') - export CFLAGS="${CFLAGS} ${_bashconfig[@]}" - - ./configure --prefix=/usr --with-curses --enable-readline \ - --without-bash-malloc --with-installed-readline - make -} - -check() { - make -C $pkgname-$_basever check -} - -package() { - make -C $pkgname-$_basever DESTDIR="$pkgdir" install - 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 - - # 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 -} - -md5sums=('81348932d5da294953e15d4814c74dd1' - 'SKIP' - '027d6bd8f5f6a06b75bb7698cb478089' - '2902e0fee7a9168f3a4fd2ccd60ff047' - '42f4400ed2314bd7519c020d0187edc5' - '561949793177116b7be29a07c385ba8b' - '472f536d7c9e8250dc4568ec4cfaf294' - 'c87b8d9e12d628eac829dc08f4607a20' - '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') Copied: bash/repos/testing-x86_64/PKGBUILD (from rev 214976, bash/trunk/PKGBUILD) =================================================================== --- testing-x86_64/PKGBUILD (rev 0) +++ testing-x86_64/PKGBUILD 2014-06-11 09:27:26 UTC (rev 214977) @@ -0,0 +1,122 @@ +# $Id$ +# Maintainer: Bartłomiej Piotrowski <bpiotrow...@archlinux.org> +# Contributor: Allan McRae <al...@archlinux.org> +# Contributor: Aaron Griffin <aa...@archlinux.org> + +pkgname=bash +_basever=4.3 +_patchlevel=018 +pkgver=$_basever.$_patchlevel +pkgrel=3 +pkgdesc='The GNU Bourne Again shell' +arch=('i686' 'x86_64') +license=('GPL') +url='http://www.gnu.org/software/bash/bash.html' +groups=('base') +backup=(etc/bash.bash{rc,_logout} etc/skel/.bash{rc,_profile,_logout}) +depends=('readline>=6.3' 'glibc') +provides=('sh') +install=bash.install +source=(http://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) + +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}) + done +fi + +prepare() { + cd $pkgname-$_basever + + for (( _p=1; _p<=$((10#${_patchlevel})); _p++ )); do + 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 +} + +build() { + cd $pkgname-$_basever + + _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\"\') + export CFLAGS="${CFLAGS} ${_bashconfig[@]}" + + ./configure --prefix=/usr --with-curses --enable-readline \ + --without-bash-malloc --with-installed-readline + make +} + +check() { + make -C $pkgname-$_basever check +} + +package() { + make -C $pkgname-$_basever DESTDIR="$pkgdir" install + 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 + + # 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 +} + +md5sums=('81348932d5da294953e15d4814c74dd1' + 'SKIP' + '027d6bd8f5f6a06b75bb7698cb478089' + '2902e0fee7a9168f3a4fd2ccd60ff047' + '42f4400ed2314bd7519c020d0187edc5' + '561949793177116b7be29a07c385ba8b' + '472f536d7c9e8250dc4568ec4cfaf294' + 'a577d42e38249d298d6a8d4bf2823883' + '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') Deleted: testing-x86_64/bash-4.3-fix-setuid.patch =================================================================== --- testing-x86_64/bash-4.3-fix-setuid.patch 2014-06-11 09:27:17 UTC (rev 214976) +++ testing-x86_64/bash-4.3-fix-setuid.patch 2014-06-11 09:27:26 UTC (rev 214977) @@ -1,31 +0,0 @@ -diff --git shell.c shell.c -index bbc8a66..5bfd466 100644 ---- shell.c -+++ shell.c -@@ -1226,8 +1226,12 @@ uidget () - void - disable_priv_mode () - { -- setuid (current_user.uid); -- setgid (current_user.gid); -+ -+ if( (setuid (current_user.uid) !=0) || (setgid (current_user.gid) != 0) ){ -+ report_error("Drop privileges failed!!\n"); -+ exit(EX_DROPFAIL); -+ } -+ - current_user.euid = current_user.uid; - current_user.egid = current_user.gid; - } -diff --git shell.h shell.h -index 243e467..c3625be 100644 ---- shell.h -+++ shell.h -@@ -72,6 +72,7 @@ extern int EOF_Reached; - #define EX_REDIRFAIL 259 /* redirection failed */ - #define EX_BADASSIGN 260 /* variable assignment error */ - #define EX_EXPFAIL 261 /* word expansion failed */ -+#define EX_DROPFAIL 262 /* Drop privileges failed */ - - /* Flag values that control parameter pattern substitution. */ - #define MATCH_ANY 0x000 Deleted: testing-x86_64/bash.install =================================================================== --- testing-x86_64/bash.install 2014-06-11 09:27:17 UTC (rev 214976) +++ testing-x86_64/bash.install 2014-06-11 09:27:26 UTC (rev 214977) @@ -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 -} Copied: bash/repos/testing-x86_64/bash.install (from rev 214976, bash/trunk/bash.install) =================================================================== --- testing-x86_64/bash.install (rev 0) +++ testing-x86_64/bash.install 2014-06-11 09:27:26 UTC (rev 214977) @@ -0,0 +1,16 @@ +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 +} Deleted: testing-x86_64/dot.bash_logout =================================================================== --- testing-x86_64/dot.bash_logout 2014-06-11 09:27:17 UTC (rev 214976) +++ testing-x86_64/dot.bash_logout 2014-06-11 09:27:26 UTC (rev 214977) @@ -1,3 +0,0 @@ -# -# ~/.bash_logout -# Copied: bash/repos/testing-x86_64/dot.bash_logout (from rev 214976, bash/trunk/dot.bash_logout) =================================================================== --- testing-x86_64/dot.bash_logout (rev 0) +++ testing-x86_64/dot.bash_logout 2014-06-11 09:27:26 UTC (rev 214977) @@ -0,0 +1,3 @@ +# +# ~/.bash_logout +# Deleted: testing-x86_64/dot.bash_profile =================================================================== --- testing-x86_64/dot.bash_profile 2014-06-11 09:27:17 UTC (rev 214976) +++ testing-x86_64/dot.bash_profile 2014-06-11 09:27:26 UTC (rev 214977) @@ -1,5 +0,0 @@ -# -# ~/.bash_profile -# - -[[ -f ~/.bashrc ]] && . ~/.bashrc Copied: bash/repos/testing-x86_64/dot.bash_profile (from rev 214976, bash/trunk/dot.bash_profile) =================================================================== --- testing-x86_64/dot.bash_profile (rev 0) +++ testing-x86_64/dot.bash_profile 2014-06-11 09:27:26 UTC (rev 214977) @@ -0,0 +1,5 @@ +# +# ~/.bash_profile +# + +[[ -f ~/.bashrc ]] && . ~/.bashrc Deleted: testing-x86_64/dot.bashrc =================================================================== --- testing-x86_64/dot.bashrc 2014-06-11 09:27:17 UTC (rev 214976) +++ testing-x86_64/dot.bashrc 2014-06-11 09:27:26 UTC (rev 214977) @@ -1,9 +0,0 @@ -# -# ~/.bashrc -# - -# If not running interactively, don't do anything -[[ $- != *i* ]] && return - -alias ls='ls --color=auto' -PS1='[\u@\h \W]\$ ' Copied: bash/repos/testing-x86_64/dot.bashrc (from rev 214976, bash/trunk/dot.bashrc) =================================================================== --- testing-x86_64/dot.bashrc (rev 0) +++ testing-x86_64/dot.bashrc 2014-06-11 09:27:26 UTC (rev 214977) @@ -0,0 +1,9 @@ +# +# ~/.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +alias ls='ls --color=auto' +PS1='[\u@\h \W]\$ ' Copied: bash/repos/testing-x86_64/privmode-setuid-fail.patch (from rev 214976, bash/trunk/privmode-setuid-fail.patch) =================================================================== --- testing-x86_64/privmode-setuid-fail.patch (rev 0) +++ testing-x86_64/privmode-setuid-fail.patch 2014-06-11 09:27:26 UTC (rev 214977) @@ -0,0 +1,29 @@ +*** ../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; Deleted: testing-x86_64/system.bash_logout =================================================================== --- testing-x86_64/system.bash_logout 2014-06-11 09:27:17 UTC (rev 214976) +++ testing-x86_64/system.bash_logout 2014-06-11 09:27:26 UTC (rev 214977) @@ -1,3 +0,0 @@ -# -# /etc/bash.bash_logout -# Copied: bash/repos/testing-x86_64/system.bash_logout (from rev 214976, bash/trunk/system.bash_logout) =================================================================== --- testing-x86_64/system.bash_logout (rev 0) +++ testing-x86_64/system.bash_logout 2014-06-11 09:27:26 UTC (rev 214977) @@ -0,0 +1,3 @@ +# +# /etc/bash.bash_logout +# Deleted: testing-x86_64/system.bashrc =================================================================== --- testing-x86_64/system.bashrc 2014-06-11 09:27:17 UTC (rev 214976) +++ testing-x86_64/system.bashrc 2014-06-11 09:27:26 UTC (rev 214977) @@ -1,23 +0,0 @@ -# -# /etc/bash.bashrc -# - -# If not running interactively, don't do anything -[[ $- != *i* ]] && return - -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) - PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"' - ;; -esac - -[ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion Copied: bash/repos/testing-x86_64/system.bashrc (from rev 214976, bash/trunk/system.bashrc) =================================================================== --- testing-x86_64/system.bashrc (rev 0) +++ testing-x86_64/system.bashrc 2014-06-11 09:27:26 UTC (rev 214977) @@ -0,0 +1,23 @@ +# +# /etc/bash.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +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) + PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"' + ;; +esac + +[ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion