summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOmar Vega Ramos <ovruni@gnu.org.pe>2014-07-27 12:48:43 -0500
committerOmar Vega Ramos <ovruni@gnu.org.pe>2014-07-27 12:48:43 -0500
commitb676ed7f78d40ba7d94f7a8093f836747fd3adb5 (patch)
tree8ce2cc1b721d144af5707c6e003e5b839c0653e3
parent460c03c4195c86b0935e894c4b3d3cdba0775ecb (diff)
Updating bash and readline
-rw-r--r--core/bash/PKGBUILD161
-rw-r--r--core/bash/privmode-setuid-fail.patch29
-rw-r--r--core/bash/system.bashrc6
-rw-r--r--core/readline/PKGBUILD71
4 files changed, 125 insertions, 142 deletions
diff --git a/core/bash/PKGBUILD b/core/bash/PKGBUILD
index 5825ee0eb..5a45a84e8 100644
--- a/core/bash/PKGBUILD
+++ b/core/bash/PKGBUILD
@@ -1,19 +1,20 @@
-# $Id: PKGBUILD 193699 2013-08-28 09:22:56Z allan $
-# Maintainer: Allan McRae <allan@archlinux.org>
+# $Id: PKGBUILD 215305 2014-06-19 12:33:38Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Aaron Griffin <aaron@archlinux.org>
pkgname=bash
-_basever=4.2
-_patchlevel=045 #prepare for some patches
+_basever=4.3
+_patchlevel=018
pkgver=$_basever.$_patchlevel
-pkgrel=5
-pkgdesc="The GNU Bourne Again shell"
+pkgrel=3
+pkgdesc='The GNU Bourne Again shell'
arch=('i686' 'x86_64' 'mips64el')
license=('GPL')
-url="http://www.gnu.org/software/bash/bash.html"
+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.1' 'glibc')
+depends=('readline>=6.3' 'glibc')
provides=('sh')
install=bash.install
source=(http://ftp.gnu.org/gnu/bash/bash-$_basever.tar.gz{,.sig}
@@ -22,26 +23,28 @@ source=(http://ftp.gnu.org/gnu/bash/bash-$_basever.tar.gz{,.sig}
dot.bash_logout
system.bashrc
system.bash_logout
- bash-4.2-do-not-use-memcpy-on-overlapping-memory.patch)
-if [ $_patchlevel -gt 000 ]; 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})
+ 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 ${srcdir}/${pkgname}-$_basever
+ cd $pkgname-$_basever
- for (( p=1; p<=$((10#${_patchlevel})); p++ )); do
- msg "applying patch bash${_basever//./}-$(printf "%03d" $p)"
- patch -p0 -i $srcdir/bash${_basever//./}-$(printf "%03d" $p)
+ 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
-
- patch -p1 -i $srcdir/bash-4.2-do-not-use-memcpy-on-overlapping-memory.patch
+
+ # http://hmarco.org/bugs/bash_4.3-setuid-bug.html (FS#40663)
+ patch -p0 -i ../privmode-setuid-fail.patch
}
build() {
- cd ${srcdir}/${pkgname}-$_basever
+ cd $pkgname-$_basever
_bashconfig=(-DDEFAULT_PATH_VALUE=\'\"/usr/local/sbin:/usr/local/bin:/usr/bin\"\'
-DSTANDARD_UTILS_PATH=\'\"/usr/bin\"\'
@@ -55,123 +58,65 @@ build() {
}
check() {
- cd ${srcdir}/${pkgname}-$_basever
- make check
+ make -C $pkgname-$_basever check
}
package() {
- cd ${srcdir}/${pkgname}-$_basever
- make DESTDIR=${pkgdir} install
+ 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/
-
+ install -dm755 "$pkgdir"/etc/skel/
# system-wide configuration files
- install -m644 ${srcdir}/system.bashrc ${pkgdir}/etc/bash.bashrc
- install -m644 ${srcdir}/system.bash_logout ${pkgdir}/etc/bash.bash_logout
-
+ install -m644 system.bashrc $pkgdir/etc/bash.bashrc
+ install -m644 system.bash_logout "$pkgdir"/etc/bash.bash_logout
+
# user configuration file skeletons
- install -m644 ${srcdir}/dot.bashrc ${pkgdir}/etc/skel/.bashrc
- install -m644 ${srcdir}/dot.bash_profile ${pkgdir}/etc/skel/.bash_profile
- install -m644 ${srcdir}/dot.bash_logout ${pkgdir}/etc/skel/.bash_logout
+ 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=('3fb927c7c33022f1c327f14a81c0d4b0'
+md5sums=('81348932d5da294953e15d4814c74dd1'
'SKIP'
'027d6bd8f5f6a06b75bb7698cb478089'
'2902e0fee7a9168f3a4fd2ccd60ff047'
'42f4400ed2314bd7519c020d0187edc5'
- '3546099a1b2f667adc9794f52e78e35b'
+ '561949793177116b7be29a07c385ba8b'
'472f536d7c9e8250dc4568ec4cfaf294'
- '9e55d01f2d9dda4a0c96031b25d19f45'
- '1100bc1dda2cdc06ac44d7e5d17864a3'
- 'SKIP'
- '30e7948079921d3261efcc6a40722135'
- 'SKIP'
- '9ea06decec43a198f3d7cf29acc602f8'
- 'SKIP'
- 'fb48f6134d7b013135929476aa0c250c'
- 'SKIP'
- 'e70e45de33426b38153b390be0dbbcd4'
- 'SKIP'
- 'ce4e5c484993705b27daa151eca242c2'
- 'SKIP'
- '88d1f96db29461767602e2546803bda7'
- 'SKIP'
- '24c574bf6d6a581e300823d9c1276af6'
- 'SKIP'
- '4c5835f2fbab36c4292bb334977e5b6d'
- 'SKIP'
- '0a51602b535ef661ee707be6c8bdb373'
- 'SKIP'
- '58deacf3d57cbd75575444ff6a3b0806'
- 'SKIP'
- '72d5059820015231483bb7415d09e9db'
- 'SKIP'
- '608336ebe215984ef126e3c29d2d3409'
- 'SKIP'
- 'ed19da878e3f630834c62b9d9dcc6fce'
- 'SKIP'
- '2d07daba0b8ca8f876d2aa052ff594b4'
- 'SKIP'
- '53d246537e1fffd1aaa02ba5c056211c'
- 'SKIP'
- '304fd129a58fee2d8a34f8b4704db0aa'
- 'SKIP'
- '6921a0b4228fe89b6537a5c29f027c89'
- 'SKIP'
- '1195d85447f3d048d2c9bcd075fa765c'
- 'SKIP'
- 'b09000bba08da6ac753124593850cdf7'
- 'SKIP'
- '09d3f96a16b881334cfaee0cf320b47e'
- 'SKIP'
- '597bf71a2aac6feb510b7505cdd3d4f7'
- 'SKIP'
- '3fab459b4e09daea529cacad025b13b3'
- 'SKIP'
- '4ad8d11e72afc6090e701073ff034cf4'
- 'SKIP'
- 'c7d2493e44490f01dd20bdc8feb0a6a7'
- 'SKIP'
- '9f19c199dd8d1fa9254eebe738759272'
- 'SKIP'
- 'a6ed82daf034587aee2f2581ba5fe829'
- 'SKIP'
- 'da9265aa2527fd4a7481baa3e0550287'
+ 'a577d42e38249d298d6a8d4bf2823883'
+ '1ab682b4e36afa4cf1b426aa7ac81c0d'
'SKIP'
- 'ec444d229e8899fbaaf6fc7de2d82ae6'
+ '8fc22cf50ec85da00f6af3d66f7ddc1b'
'SKIP'
- 'b4bc1c4dc1b508ff9cdfc44f1a5039b5'
+ 'a41728eca78858758e26b5dea64ae506'
'SKIP'
- '89390ff6a3c2ef7e09dd4b8b097a8e56'
+ 'bf8d53d227829d67235927689a03cc7a'
'SKIP'
- 'eee08003395c417f677d1a4bf8c548ee'
+ 'c0c00935c8b8ffff76e8ab77e7be7d15'
'SKIP'
- '2fe070dd6d75d8ff16f269184a16e9c4'
+ '6f01e364cd092faa28dd7119f47ddb5f'
'SKIP'
- '4e610506c1711bf3483b965800ac3d5d'
+ 'dcf471d222bcd83283d3094e6ceeb6f8'
'SKIP'
- '7cd9bfdf7cbfd45274d07620ee94c8d9'
+ 'f7553416646dc26c266454c78a916d36'
'SKIP'
- '9c3142956064d175a880bcb186e51ef9'
+ '7e73d2151f4064b484a4ba2c4b09960e'
'SKIP'
- 'c10692f447d4966c879f8fb8d7c8ebc9'
+ 'a275463d21735bb6d7161f9fbd320d8f'
'SKIP'
- '9ef3c308cde413e95866c1266cfb4e98'
+ 'c17103ee20420d77e46b224c8d3fceda'
'SKIP'
- 'cd48f57a404498d4e5c73a3501c4b1a5'
+ '3e2a057a19d02b3f92a3a09eacbc03ae'
'SKIP'
- '00a2371b6c05acbfce6bc850c6d982f8'
+ 'fb377143a996d4ff087a2771bc8332f9'
'SKIP'
- '7bc4942a66ca4024ee964db7ede07896'
+ '1a1aaecc99a9d0cbc310e8e247dcc8b6'
'SKIP'
- '1cf7701017ebfc8e129de92c8f8b798c'
+ '4f04387458a3c1b4d460d199f49991a8'
'SKIP'
- '9e61168fca692d8d1a733c389a63712e'
+ '90e759709720c4f877525bebc9d5dc06'
'SKIP'
- 'b4b11d64b45ea9ec50dcc74c6c3861f6'
+ '11e4046e1b86070f6adbb7ffc89641be'
'SKIP'
- '1661bcc83c4715f54368877452ff2247'
+ 'cd5a9b46f5bea0dc0248c93c7dfac011'
'SKIP')
diff --git a/core/bash/privmode-setuid-fail.patch b/core/bash/privmode-setuid-fail.patch
new file mode 100644
index 000000000..059857d0b
--- /dev/null
+++ b/core/bash/privmode-setuid-fail.patch
@@ -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;
diff --git a/core/bash/system.bashrc b/core/bash/system.bashrc
index a2231e861..4d7a64344 100644
--- a/core/bash/system.bashrc
+++ b/core/bash/system.bashrc
@@ -12,11 +12,11 @@ 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/~}"'
-
+ 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/~}"'
+ PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"'
;;
esac
diff --git a/core/readline/PKGBUILD b/core/readline/PKGBUILD
index 4b62a61e6..9f5a7491f 100644
--- a/core/readline/PKGBUILD
+++ b/core/readline/PKGBUILD
@@ -1,15 +1,16 @@
-# $Id: PKGBUILD 197153 2013-10-23 13:04:18Z allan $
-# Maintainer: Allan McRae <allan@archlinux.org>
+# $Id: PKGBUILD 213862 2014-05-30 16:36:56Z bpiotrowski $
+# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgname=readline
-_basever=6.2
-_patchlevel=004 #prepare for some patches
+_basever=6.3
+_patchlevel=006
pkgver=$_basever.$_patchlevel
-pkgrel=2
-pkgdesc="GNU readline library"
+pkgrel=1
+pkgdesc='GNU readline library'
arch=('i686' 'x86_64' 'mips64el')
-url="http://tiswww.case.edu/php/chet/readline/rltop.html"
+url='http://tiswww.case.edu/php/chet/readline/rltop.html'
license=('GPL')
depends=('glibc' 'ncurses')
backup=('etc/inputrc')
@@ -17,32 +18,26 @@ options=('!emptydirs')
install=readline.install
source=(http://ftp.gnu.org/gnu/readline/readline-$_basever.tar.gz{,.sig}
inputrc)
-if [ $_patchlevel -gt 00 ]; then
- for (( p=1; p<=$((10#${_patchlevel})); p++ )); do
- source=(${source[@]} http://ftp.gnu.org/gnu/readline/readline-$_basever-patches/readline${_basever//./}-$(printf "%03d" $p){,.sig})
+
+if [[ $_patchlevel -gt 0 ]]; then
+ for (( _p=1; _p <= $((10#${_patchlevel})); _p++ )); do
+ source=(${source[@]} http://ftp.gnu.org/gnu/readline/readline-$_basever-patches/readline${_basever//.}-$(printf "%03d" $_p){,.sig})
done
fi
-md5sums=('67948acb2ca081f23359d0256e9a271c'
- '928f7d248320a65e43c2dc427e99582b'
- '58d54966c1191db45973cb3191ac621a'
- '83287d52a482f790dfb30ec0a8746669'
- '8e6a51e2e0e6e45a82752e3692c111ac'
- '0665020ea118e8434bd145fb71f452cc'
- '285361ca6d48c51ae2428157e174e812'
- 'c9d5d79718856e711667dede87cb7622'
- '4437205bb1462f5f32e4812b8292c675'
- 'c08e787f50579ce301075c523fa660a4'
- '7e39cad1d349b8ae789e4fc33dbb235f')
-build() {
- cd ${srcdir}/${pkgname}-$_basever
- for (( p=1; p<=$((10#${_patchlevel})); p++ )); do
- msg "applying patch readline${_basever//./}-$(printf "%03d" $p)"
- patch -p0 -i $srcdir/readline${_basever//./}-$(printf "%03d" $p)
+prepare() {
+ cd $pkgname-$_basever
+ for (( _p=1; _p <= $((10#${_patchlevel})); _p++ )); do
+ msg "applying patch readline${_basever//.}-$(printf "%03d" $_p)"
+ patch -p0 -i ../readline${_basever//.}-$(printf "%03d" $_p)
done
- # Remove RPATH from shared objects (FS#14366)
+ # remove RPATH from shared objects (FS#14366)
sed -i 's|-Wl,-rpath,$(libdir) ||g' support/shobj-conf
+}
+
+build() {
+ cd $pkgname-$_basever
# build with -fPIC for x86_64 (FS#15634)
[[ $CARCH == "x86_64" ]] && CFLAGS="$CFLAGS -fPIC"
@@ -52,8 +47,22 @@ build() {
}
package() {
- cd ${srcdir}/${pkgname}-$_basever
- make DESTDIR=${pkgdir} install
-
- install -Dm644 ${srcdir}/inputrc ${pkgdir}/etc/inputrc
+ make -C $pkgname-$_basever DESTDIR="$pkgdir" install
+ install -Dm644 inputrc "$pkgdir"/etc/inputrc
}
+
+md5sums=('33c8fb279e981274f485fd91da77e94a'
+ 'SKIP'
+ '58d54966c1191db45973cb3191ac621a'
+ '4343f5ea9b0f42447f102fb61576b398'
+ 'SKIP'
+ '700295212f7e2978577feaee584afddb'
+ 'SKIP'
+ 'af4963862f5156fbf9111c2c6fa86ed7'
+ 'SKIP'
+ '11f9def89803a5052db3ba72394ce14f'
+ 'SKIP'
+ '93721c31cd225393f80cb3aadb165544'
+ 'SKIP'
+ '71dc6ecce66d1489b96595f55d142a52'
+ 'SKIP')