diff options
-rw-r--r-- | abs/core/bash/PKGBUILD | 122 | ||||
-rw-r--r-- | abs/core/bash/bash-4.2-do-not-use-memcpy-on-overlapping-memory.patch | 12 | ||||
-rw-r--r-- | abs/core/bash/bash.install | 6 |
3 files changed, 77 insertions, 63 deletions
diff --git a/abs/core/bash/PKGBUILD b/abs/core/bash/PKGBUILD index 09a93e9..c6f692a 100644 --- a/abs/core/bash/PKGBUILD +++ b/abs/core/bash/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 163854 2012-07-21 11:22:49Z allan $ +# $Id: PKGBUILD 193699 2013-08-28 09:22:56Z allan $ # Maintainer: Allan McRae <allan@archlinux.org> # Contributor: Aaron Griffin <aaron@archlinux.org> @@ -6,7 +6,7 @@ pkgname=bash _basever=4.2 _patchlevel=045 #prepare for some patches pkgver=$_basever.$_patchlevel -pkgrel=2 +pkgrel=5 pkgdesc="The GNU Bourne Again shell" arch=('i686' 'x86_64') license=('GPL') @@ -21,29 +21,36 @@ source=(http://ftp.gnu.org/gnu/bash/bash-$_basever.tar.gz{,.sig} dot.bash_profile dot.bash_logout system.bashrc - system.bash_logout) + 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}) done fi -build() { +prepare() { cd ${srcdir}/${pkgname}-$_basever + for (( p=1; p<=$((10#${_patchlevel})); p++ )); do msg "applying patch bash${_basever//./}-$(printf "%03d" $p)" - patch -Np0 -i $srcdir/bash${_basever//./}-$(printf "%03d" $p) + patch -p0 -i $srcdir/bash${_basever//./}-$(printf "%03d" $p) done + + patch -p1 -i $srcdir/bash-4.2-do-not-use-memcpy-on-overlapping-memory.patch +} + +build() { + cd ${srcdir}/${pkgname}-$_basever - _bashconfig=(-DDEFAULT_PATH_VALUE=\'\"/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin\"\' - -DSTANDARD_UTILS_PATH=\'\"/usr/bin:/bin:/usr/sbin:/sbin\"\' + _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 \ - --bindir=/bin --mandir=/usr/share/man --infodir=/usr/share/info + --without-bash-malloc --with-installed-readline make } @@ -56,9 +63,7 @@ package() { cd ${srcdir}/${pkgname}-$_basever make DESTDIR=${pkgdir} install - # for now, bash is our default /bin/sh - cd ${pkgdir}/bin - ln -s bash sh + ln -s bash ${pkgdir}/usr/bin/sh install -dm755 ${pkgdir}/etc/skel/ @@ -73,99 +78,100 @@ package() { } md5sums=('3fb927c7c33022f1c327f14a81c0d4b0' - '8d37a3f97a48c1e56e1a4ded877ed944' + 'SKIP' '027d6bd8f5f6a06b75bb7698cb478089' '2902e0fee7a9168f3a4fd2ccd60ff047' '42f4400ed2314bd7519c020d0187edc5' '3546099a1b2f667adc9794f52e78e35b' '472f536d7c9e8250dc4568ec4cfaf294' + '9e55d01f2d9dda4a0c96031b25d19f45' '1100bc1dda2cdc06ac44d7e5d17864a3' - 'a7184b76eb4a079f10174a0a8f574819' + 'SKIP' '30e7948079921d3261efcc6a40722135' - 'c4d45307f7e69fe508ce347c4cec1955' + 'SKIP' '9ea06decec43a198f3d7cf29acc602f8' - '74bddae6eeb9227a04a467d42597a34d' + 'SKIP' 'fb48f6134d7b013135929476aa0c250c' - '3e6a18226b16c773229246abd07a1f5e' + 'SKIP' 'e70e45de33426b38153b390be0dbbcd4' - 'e667dc9348ebc3e0e14bfdd87f4b6ff2' + 'SKIP' 'ce4e5c484993705b27daa151eca242c2' - '41cbd8e57589bc081a546a014ddb12f8' + 'SKIP' '88d1f96db29461767602e2546803bda7' - 'b8b781520f4c7493a2a1ac3010a44a44' + 'SKIP' '24c574bf6d6a581e300823d9c1276af6' - '354a0899a7c4b446454c52546562b55b' + 'SKIP' '4c5835f2fbab36c4292bb334977e5b6d' - 'ff4547ca7b508d52101729d61f5b77b6' + 'SKIP' '0a51602b535ef661ee707be6c8bdb373' - 'cec7c92a4d8052ea4b29216365d16566' + 'SKIP' '58deacf3d57cbd75575444ff6a3b0806' - '9ed2a08e549c3c17745f19e8413cfb31' + 'SKIP' '72d5059820015231483bb7415d09e9db' - '45b04b41a4230f469d3e47ab9952c2df' + 'SKIP' '608336ebe215984ef126e3c29d2d3409' - '623f63025d155a84977b62531e260ee2' + 'SKIP' 'ed19da878e3f630834c62b9d9dcc6fce' - 'eef2dd4a0e4505dc8f8e664b40c6cd66' + 'SKIP' '2d07daba0b8ca8f876d2aa052ff594b4' - '0cb823a44e6dc1cde7ac97ae5c8163c9' + 'SKIP' '53d246537e1fffd1aaa02ba5c056211c' - '60f983a1dded5f0b28040ff4b3f1e9b5' + 'SKIP' '304fd129a58fee2d8a34f8b4704db0aa' - '9df4bf4f46aaadc436f430187741f815' + 'SKIP' '6921a0b4228fe89b6537a5c29f027c89' - '4ef0e2a2cbfbdd53346f927000b7e112' + 'SKIP' '1195d85447f3d048d2c9bcd075fa765c' - 'b0f3a651ce29a1feee687d93177870f1' + 'SKIP' 'b09000bba08da6ac753124593850cdf7' - '204bb5054d1f8bafe2b446d4e5d0d99a' + 'SKIP' '09d3f96a16b881334cfaee0cf320b47e' - 'aab415350bcc2bb0c29943b413499d96' + 'SKIP' '597bf71a2aac6feb510b7505cdd3d4f7' - 'b0db384bdedecafbdd70c8d22c56af5f' + 'SKIP' '3fab459b4e09daea529cacad025b13b3' - 'bab99835ad6198cb1109fac89a085262' + 'SKIP' '4ad8d11e72afc6090e701073ff034cf4' - '5658ef10c9d0d804126ec1ce700e4e2c' + 'SKIP' 'c7d2493e44490f01dd20bdc8feb0a6a7' - 'e4855dbc4b743618b54d408bd5878637' + 'SKIP' '9f19c199dd8d1fa9254eebe738759272' - '600c8e90c2fb13cdbc7aa3f18566df03' + 'SKIP' 'a6ed82daf034587aee2f2581ba5fe829' - '821620a0389df723644911c56796ca8c' + 'SKIP' 'da9265aa2527fd4a7481baa3e0550287' - '0043f8b75f46f43608a67b863e300fe8' + 'SKIP' 'ec444d229e8899fbaaf6fc7de2d82ae6' - 'b632fca3a4943825bfaf3bd29df6b27d' + 'SKIP' 'b4bc1c4dc1b508ff9cdfc44f1a5039b5' - '2ffa9a802bbd57540021715f84cc76f4' + 'SKIP' '89390ff6a3c2ef7e09dd4b8b097a8e56' - '3e9b529ef3726b75d125d678de76977f' + 'SKIP' 'eee08003395c417f677d1a4bf8c548ee' - 'f670f7672b11d0df8c31885dbf15f390' + 'SKIP' '2fe070dd6d75d8ff16f269184a16e9c4' - '5018b6b7737808141043b57cf4eb842d' + 'SKIP' '4e610506c1711bf3483b965800ac3d5d' - 'cb65e541f9b60a8cb1fe58404f264b73' + 'SKIP' '7cd9bfdf7cbfd45274d07620ee94c8d9' - 'a7d2eace0da5fd236c93dbfd93458838' + 'SKIP' '9c3142956064d175a880bcb186e51ef9' - 'a1a87649853f20fe99572ddc02b0c67f' + 'SKIP' 'c10692f447d4966c879f8fb8d7c8ebc9' - '1bf5e34ad46566bc2d0eb7560ff8968e' + 'SKIP' '9ef3c308cde413e95866c1266cfb4e98' - 'afbb94e04dab29bd4ce92199892f2b5e' + 'SKIP' 'cd48f57a404498d4e5c73a3501c4b1a5' - 'd2693a2728b5a0448947d23ce47cb4b3' + 'SKIP' '00a2371b6c05acbfce6bc850c6d982f8' - '72744ac844a1dfd15dddbba7f73ec45c' + 'SKIP' '7bc4942a66ca4024ee964db7ede07896' - '7e97f02d9dd1436eed278f2732542ecf' + 'SKIP' '1cf7701017ebfc8e129de92c8f8b798c' - '4ef8b5af440bf7b939b7955ce68b4dc7' + 'SKIP' '9e61168fca692d8d1a733c389a63712e' - '665861582049ba270cc726b7a6e0324d' + 'SKIP' 'b4b11d64b45ea9ec50dcc74c6c3861f6' - '233031ccf9cbb1265be30753e0fa41f4' + 'SKIP' '1661bcc83c4715f54368877452ff2247' - '302c5516e469171b5187118024fca2a7') + 'SKIP') diff --git a/abs/core/bash/bash-4.2-do-not-use-memcpy-on-overlapping-memory.patch b/abs/core/bash/bash-4.2-do-not-use-memcpy-on-overlapping-memory.patch new file mode 100644 index 0000000..c621f0a --- /dev/null +++ b/abs/core/bash/bash-4.2-do-not-use-memcpy-on-overlapping-memory.patch @@ -0,0 +1,12 @@ +diff -Naur bash-4.2-orig/general.c bash-4.2/general.c +--- bash-4.2-orig/general.c 2010-12-13 06:06:27.000000000 +1000 ++++ bash-4.2/general.c 2013-08-25 21:52:36.681484302 +1000 +@@ -766,7 +766,7 @@ + *nbeg++ = '.'; + + nlen = nend - ntail; +- memcpy (nbeg, ntail, nlen); ++ memmove (nbeg, ntail, nlen); + nbeg[nlen] = '\0'; + + return name; diff --git a/abs/core/bash/bash.install b/abs/core/bash/bash.install index bc75e9b..a10e6e9 100644 --- a/abs/core/bash/bash.install +++ b/abs/core/bash/bash.install @@ -1,17 +1,13 @@ info_dir=usr/share/info info_files=(bash.info) -post_install() { +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 } -post_upgrade() { - post_install $1 -} - pre_remove() { [ -x usr/bin/install-info ] || return 0 for f in ${info_files[@]}; do |