blob: 579f8834c53e67619ac44640001a7180127005e5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: TBK <alpine@jjtc.eu>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=bash
pkgver=5.0.0
_patchlevel=${pkgver##*.}
_myver=${pkgver%.*}
_patchbase=${_myver/./}
pkgrel=0
pkgdesc="The GNU Bourne Again shell"
url="https://www.gnu.org/software/bash/bash.html"
arch="all"
license="GPL-3.0-or-later"
makedepends_build="bison flex"
makedepends_host="readline-dev>8 ncurses-dev"
depends=""
install="$pkgname.post-install $pkgname.post-upgrade $pkgname.pre-deinstall"
subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc"
options="!checkroot"
source="https://ftp.gnu.org/gnu/bash/bash-${_myver}.tar.gz
bash-noinfo.patch
fix-jobs.patch
"
# generate url's to patches. note: no forks allowed!
_i=1
_pad="00"
while [ $_i -le $_patchlevel ]; do
[ $_i -ge 10 ] && _pad="0"
[ $_i -ge 100 ] && _pad=
source="$source https://ftp.gnu.org/gnu/bash/bash-$_myver-patches/bash$_patchbase-$_pad$_i"
_i=$(( $_i + 1))
done
# secfixes:
# 4.4.12-r1:
# - CVE-2016-0634
builddir="$srcdir/$pkgname-$_myver"
prepare() {
cd "$builddir"
# NOTE: This section is for applying the vendor patches, which are required to fix
# security holes. `default_prepare` does *not* apply vendor patches in the format
# shipped with bash. We also need to make sure vendor patches are applied before
# our own.
# If you disagree, please request an experimental rebuild with bash as /bin/sh,
# before removing this section.
for p in $source; do
case $p in
*/bash[0-9][0-9]-[0-9]*)
msg "$p (vendor)"
patch -p0 -i "$srcdir"/${p##*/} || return 1
;;
esac
done
default_prepare
}
build() {
cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--bindir=/bin \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--with-curses \
--disable-nls \
--enable-readline \
--without-bash-malloc \
--with-installed-readline
# parallel build workarounds
make y.tab.c && make builtins/libbuiltins.a && make
}
check() {
cd "$builddir"
make test
}
package() {
cd "$builddir"
make DESTDIR="$pkgdir" install
rm -rf "$pkgdir"/usr/share/locale
}
dev() {
default_dev
mkdir -p "$subpkgdir"/bin "$subpkgdir"/usr/lib/$pkgname
mv "$pkgdir"/bin/${pkgname}bug "$subpkgdir"/bin
mv "$pkgdir"/usr/lib/$pkgname/Makefile* "$subpkgdir"/usr/lib/$pkgname
}
sha512sums="bb4519f06e278f271d08722b531e49d2e842cc3e0b02a6b3eee422e2efcb5b6226111af43f5e5eae56beb85ac8bfebcd6a4aacbabb8f609e529aa4d571890864 bash-5.0.tar.gz
9d8845491d0fe335bdd8e9a2bd98bda54bfed2ae3c35b2196c6d5a38bdf96c4d97572ba7d6b19ab605ef4e8f001f64cf3312f87dedebb9e37a95ad2c44e33cdb bash-noinfo.patch
79473c41e620d78d25139b56c37d18adac5c03dc28939f218729dfcd3558d8cbac5e83db814ffd27aa833cd3e55f81aad26aaf62af3688c927d8ac2a4172eaa4 fix-jobs.patch"
|