summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Severance2024-05-16 14:41:37 -0400
committerChris Severance2024-05-16 14:41:37 -0400
commit88088ef34107722b82dce6326cbc9858cef07c71 (patch)
treebbbb4841581db4444de36b06a057704d2ad8b4ec
parent09a51439e0b37fe84c8ce4e407e246aca4edeef1 (diff)
downloadaur-88088ef34107722b82dce6326cbc9858cef07c71.tar.gz
autu: Update to 4.4.023-1
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD35
2 files changed, 36 insertions, 3 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ca6bc606f9be..e6f4d294f6ee 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,5 +1,3 @@
-# Generated by mksrcinfo v8
-# Thu Feb 7 00:51:38 UTC 2019
pkgbase = bash4
pkgdesc = The GNU Bourne Again shell
pkgver = 4.4.023
@@ -37,6 +35,7 @@ pkgbase = bash4
source = https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-021
source = https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-022
source = https://ftp.gnu.org/gnu/bash/bash-4.4-patches/bash44-023
+ validpgpkeys = 7C0135FB088AAF6C66C650B9BB5869F064EA74AB
md5sums = 148888a7c95ac23705559b6f477dfe25
md5sums = 817d01a6c0af6f79308a8b7b649e53d8
md5sums = 765e14cff12c7284009772e8e24f2fe0
@@ -87,4 +86,3 @@ pkgbase = bash4
sha256sums = 4fec236f3fbd3d0c47b893fdfa9122142a474f6ef66c20ffb6c0f4864dd591b6
pkgname = bash4
-
diff --git a/PKGBUILD b/PKGBUILD
index 1fe0699c93be..0ebc8af2fa55 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,8 +3,14 @@
# Contributor: Allan McRae <allan@archlinux.org>
# Contributor: Aaron Griffin <aaron@archlinux.org>
+# We DO NOT add bash4 to /etc/shells
+# As the primary shell /usr/bin/bash it's already there.
+# As the alternate shell it uses readline and will break on EVERY upgrade.
+# Use dash if you want a shell that doesn't depend on curses or readline.
+
_opt_sig=0 # 1 to check sigs and check()
_opt_alt=1 # 1 to install as alternate version (bash4), 0 to replace bash
+_opt_32bit=0 # 0 to build default (probably 64 bit), 1 to build 32 bit
set -u
_pkgname='bash'
@@ -28,9 +34,17 @@ source=("https://ftp.gnu.org/gnu/bash/bash-${_basever}.tar.gz")
if [ "${_opt_sig}" -ne 0 ]; then
source+=("${source[0]}.sig")
fi
+if [ "${_opt_32bit}" -ne 0 ]; then
+ depends_x86_64+=("${depends[@]/#/lib32-}")
+ depends_+=("${depends_x86_64[@]}")
+ makedepends_x86_64+=('lib32-gcc-libs')
+fi
if [ "${_opt_alt}" -ne 0 ]; then
provides=("${pkgname}=${pkgver}")
depends+=('bash' 'readline>=8.0')
+ if [ "${_opt_32bit}" -ne 0 ]; then
+ depends_x86_64+=("lib32-readline>=8.0")
+ fi
else
backup=(etc/bash.bash{rc,_logout} etc/skel/.bash{rc,_profile,_logout})
provides=("${_pkgname}=${pkgver}" 'sh')
@@ -117,6 +131,21 @@ prepare() {
set +u; msg2 "applying patch ${_p}"; set -u
patch -Ncp0 -i "${srcdir}/${_p}"
done
+
+ # Branding
+ sed -e 's:\bMACHTYPE\b:"Arch Linux":g' -i 'version.c' 'shell.c'
+
+ # Name conflict with glibc function
+ sed -e 's:exp2:bash_&:g' -i 'expr.c'
+
+ if [ "${_opt_32bit}" -ne 0 ]; then
+ # Doesn't work. printf '%x' is sign extended to 64 bit
+ true sed -e '# Switch back to 32 bit integers' \
+ -e 's:intmax_t:int_fast32_t:g' \
+ -e 's:INTMAX_MIN:INT_FAST32_MIN:g' \
+ -i 'expr.c'
+ true sed -e '/evalexp/ s:intmax_t:int_fast32_t:g' -i 'externs.h'
+ fi
set +u
}
@@ -132,6 +161,12 @@ build() {
-DSYS_BASH_LOGOUT="'\"/etc/bash.bash_logout\"'"
-DNON_INTERACTIVE_LOGIN_SHELLS
)
+ if [ "${_opt_32bit}" -ne 0 ]; then
+ _bashconfig+=(-m32)
+ CFLAGS="${CFLAGS//-march=x86-64/-march=i686}"
+ LDFLAGS+=' -m32'
+ fi
+ CFLAGS+=' -Wno-implicit-function-declaration'
local _cfg=(
--prefix='/usr'
--with-curses