pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/shells/bash bash: update to 5.2.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/3fb1488f0270
branches:  trunk
changeset: 386219:3fb1488f0270
user:      wiz <wiz%pkgsrc.org@localhost>
date:      Mon Oct 03 12:50:27 2022 +0000

description:
bash: update to 5.2.

This is a terse description of the new features added to bash-5.2 since
the release of bash-5.1.  As always, the manual page (doc/bash.1) is
the place to look for complete descriptions.

1. New Features in Bash

a. The bash malloc returns memory that is aligned on 16-byte boundaries.

b. There is a new internal timer framework used for read builtin timeouts.

c. Rewrote the command substitution parsing code to call the parser recursively
   and rebuild the command string from the parsed command. This allows better
   syntax checking and catches errors much earlier. Along with this, if
   command substitution parsing completes with here-documents remaining to be
   read, the shell prints a warning message and reads the here-document bodies
   from the current input stream.

d. The `ulimit' builtin now treats an operand remaining after all of the options
   and arguments are parsed as an argument to the last command specified by
   an option. This is for POSIX compatibility.

e. Here-document parsing now handles $'...' and $"..." quoting when reading the
   here-document body.

f. The `shell-expand-line' and `history-and-alias-expand-line' bindable readline
   commands now understand $'...' and $"..." quoting.

g. There is a new `spell-correct-word' bindable readline command to perform
   spelling correction on the current word.

h. The `unset' builtin now attempts to treat arguments as array subscripts
   without parsing or expanding the subscript, even when `assoc_expand_once'
   is not set.

i. There is a default value for $BASH_LOADABLES_PATH in config-top.h.

j. Associative array assignment and certain instances of referencing (e.g.,
   `test -v' now allow `@' and `*' to be used as keys.

k. Bash attempts to expand indexed array subscripts only once when executing
   shell constructs and word expansions.

l. The `unset' builtin allows a subscript of `@' or `*' to unset a key with
   that value for associative arrays instead of unsetting the entire array
   (which you can still do with `unset arrayname'). For indexed arrays, it
   removes all elements of the array without unsetting it (like `A=()').

m. Additional builtins (printf/test/read/wait) do a better job of not
   parsing array subscripts if array_expand_once is set.

n. New READLINE_ARGUMENT variable set to numeric argument for readline commands
   defined using `bind -x'.

o. The new `varredir_close' shell option causes bash to automatically close
   file descriptors opened with {var}<fn and other styles of varassign
   redirection unless they're arguments to the `exec' builtin.

p. The `$0' special parameter is now set to the name of the script when running
   any (non-interactive) startup files such as $BASH_ENV.

q. The `enable' builtin tries to load a loadable builtin using the default
   search path if `enable name' (without any options) attempts to enable a
   non-existent builtin.

r. The `printf' builtin has a new format specifier: %Q. This acts like %q but
   applies any specified precision to the original unquoted argument, then
   quotes and outputs the result.

s. The new `noexpand_translations' option controls whether or not the translated
   output of $"..." is single-quoted.

t. There is a new parameter transformation operator: @k. This is like @K, but
   expands the result to separate words after word splitting.

u. There is an alternate array implementation, selectable at `configure' time,
   that optimizes access speed over memory use (use the new configure
    --enable-alt-array-implementation option).

v. If an [N]<&WORD- or [N]>&WORD- redirection has WORD expand to the empty
   string, treat the redirection as [N]<&- or [N]>&- and close file descriptor
   N (default 0).

w. Invalid parameter transformation operators are now invalid word expansions,
   and so cause fatal errors in non-interactive shells.

x. New shell option: patsub_replacement. When enabled, a `&' in the replacement
   string of the pattern substitution expansion is replaced by the portion of
   the string that matched the pattern. Backslash will escape the `&' and
   insert a literal `&'.

y. `command -p' no longer looks in the hash table for the specified command.

z. The new `--enable-translatable-strings' option to `configure' allows $"..."
   support to be compiled in or out.

aa. The new `globskipdots' shell option forces pathname expansion never to
    return `.' or `..' unless explicitly matched. It is enabled by default.

bb. Array references using `@' and `*' that are the value of nameref variables
    (declare -n ref='v[@]' ; echo $ref) no longer cause the shell to exit if
    set -u is enabled and the array (v) is unset.

cc. There is a new bindable readline command name:
    `vi-edit-and-execute-command'.

dd. In posix mode, the `printf' builtin checks for the `L' length modifier and
    uses long double for floating point conversion specifiers if it's present,
    double otherwise.

ee. The `globbing' completion code now takes the `globstar' option into account.

ff. `suspend -f' now forces the shell to suspend even if job control is not
   currently enabled.

gg. Since there is no `declare -' equivalent of `local -', make sure to use
    `local -' in the output of `local -p'.

diffstat:

 shells/bash/Makefile                          |  17 +++----
 shells/bash/PLIST                             |   7 ++-
 shells/bash/distinfo                          |  60 ++------------------------
 shells/bash/patches/patch-lib_malloc_malloc.c |  12 ++--
 shells/bash/patches/patch-support_shobj-conf  |  14 +-----
 5 files changed, 27 insertions(+), 83 deletions(-)

diffs (197 lines):

diff -r 3d644c6f8cfd -r 3fb1488f0270 shells/bash/Makefile
--- a/shells/bash/Makefile      Mon Oct 03 12:45:43 2022 +0000
+++ b/shells/bash/Makefile      Mon Oct 03 12:50:27 2022 +0000
@@ -1,18 +1,17 @@
-# $NetBSD: Makefile,v 1.103 2022/01/05 20:50:16 wiz Exp $
+# $NetBSD: Makefile,v 1.104 2022/10/03 12:50:27 wiz Exp $
 
-BASH_VERSION=          5.1
-BASH_PATCHLEVEL=       16
+BASH_VERSION=          5.2
 
 DISTNAME=      bash-${BASH_VERSION}
-PKGNAME=       bash-${BASH_VERSION}.${BASH_PATCHLEVEL}
+#PKGNAME=      bash-${BASH_VERSION}.${BASH_PATCHLEVEL}
 CATEGORIES=    shells
 MASTER_SITES=  ${MASTER_SITE_GNU:=bash/}
 
-PATCH_SITES=   ${MASTER_SITES:=bash-5.1-patches/}
-PATCHFILES+=   bash51-001 bash51-002 bash51-003 bash51-004
-PATCHFILES+=   bash51-005 bash51-006 bash51-007 bash51-008
-PATCHFILES+=   bash51-009 bash51-010 bash51-011 bash51-012
-PATCHFILES+=   bash51-013 bash51-014 bash51-015 bash51-016
+#PATCH_SITES=  ${MASTER_SITES:=bash-5.1-patches/}
+#PATCHFILES+=  bash51-001 bash51-002 bash51-003 bash51-004
+#PATCHFILES+=  bash51-005 bash51-006 bash51-007 bash51-008
+#PATCHFILES+=  bash51-009 bash51-010 bash51-011 bash51-012
+#PATCHFILES+=  bash51-013 bash51-014 bash51-015 bash51-016
 
 MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
 HOMEPAGE=      https://www.gnu.org/software/bash/bash.html
diff -r 3d644c6f8cfd -r 3fb1488f0270 shells/bash/PLIST
--- a/shells/bash/PLIST Mon Oct 03 12:45:43 2022 +0000
+++ b/shells/bash/PLIST Mon Oct 03 12:50:27 2022 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.11 2021/01/04 10:39:23 wiz Exp $
+@comment $NetBSD: PLIST,v 1.12 2022/10/03 12:50:27 wiz Exp $
 bin/bash
 bin/bashbug
 include/bash/alias.h
@@ -21,6 +21,7 @@
 include/bash/conftypes.h
 include/bash/dispose_cmd.h
 include/bash/error.h
+include/bash/execute_cmd.h
 include/bash/externs.h
 include/bash/general.h
 include/bash/hashlib.h
@@ -61,13 +62,16 @@
 include/bash/y.tab.h
 info/bash.info
 lib/bash/Makefile.inc
+lib/bash/Makefile.sample
 lib/bash/accept
 lib/bash/basename
 lib/bash/csv
 lib/bash/cut
 lib/bash/dirname
+lib/bash/dsv
 lib/bash/fdflags
 lib/bash/finfo
+lib/bash/getconf
 lib/bash/head
 lib/bash/id
 lib/bash/ln
@@ -87,6 +91,7 @@
 lib/bash/seq
 lib/bash/setpgid
 lib/bash/sleep
+lib/bash/stat
 lib/bash/strftime
 lib/bash/sync
 lib/bash/tee
diff -r 3d644c6f8cfd -r 3fb1488f0270 shells/bash/distinfo
--- a/shells/bash/distinfo      Mon Oct 03 12:45:43 2022 +0000
+++ b/shells/bash/distinfo      Mon Oct 03 12:50:27 2022 +0000
@@ -1,61 +1,13 @@
-$NetBSD: distinfo,v 1.70 2022/01/28 20:39:20 schmonz Exp $
+$NetBSD: distinfo,v 1.71 2022/10/03 12:50:27 wiz Exp $
 
-BLAKE2s (bash-5.1.tar.gz) = 9053924a9a02eb9e6d9aed99e945c23ddd98481234a50c5897f124dc3f02dd33
-SHA512 (bash-5.1.tar.gz) = c44a0ce381469219548a3a27589af3fea4f22eda1ca4e9434b59fc16da81b471c29ce18e31590e0860a6a251a664b68c2b45e3a17d22cfc02799ffd9a208390c
-Size (bash-5.1.tar.gz) = 10458638 bytes
-BLAKE2s (bash51-001) = 05cd8526b6ee953e7a2e0cc46f31bae9685cd5932bd88d05993f9ef931dbc73c
-SHA512 (bash51-001) = 1cd86805a2639614372aec29a710bc456e330abcbbaa0867820c94f714a1fa5fb5c1b18aa2c10263ae0bce9dad7579c7af2f732282315c1c34bfd6a90777bfd2
-Size (bash51-001) = 2894 bytes
-BLAKE2s (bash51-002) = e37105b3e04e2199f825bcdd5b781fafc0ee5d33287844f517d53f6eb48f15b2
-SHA512 (bash51-002) = 923e7822a9629645347d3aea0058fb5e2d52223507159a62369309f264612df44a84931c19e0ccb3852e98ce672dfbd454477090b4041b5a0de477c94eb61088
-Size (bash51-002) = 1575 bytes
-BLAKE2s (bash51-003) = 1dd7be948a67531121d936c61b7ad4e3e188ed88196731b42f9dcc8df2b360f9
-SHA512 (bash51-003) = 01e952dcfdae58624723d64912ea3444eed2fdcd266ba1a929b95ec3abd70f914bf400607c3f7bb7a94ac2925f794f91f37c1929d5bb987de2ba7f60a19cb8bd
-Size (bash51-003) = 1800 bytes
-BLAKE2s (bash51-004) = 4dcff8770cdb5e294fbfeee6ecbc5a9b8fbc553c44fe2c2f47c0b759479d15e6
-SHA512 (bash51-004) = 10ff24cd91a2cd88818bfa7218050843af6b409e43fcca89f5ec70d8266020c6c2a55132426271f165cd0f154f49eb0f8ec2761b80fc066c921b83120bb543ce
-Size (bash51-004) = 3745 bytes
-BLAKE2s (bash51-005) = 6da53a092dda69ec9a2e604b5f06357a4794ce24354d12677de8f59e3506fdf0
-SHA512 (bash51-005) = fa83d894fe874a05b9a7d47b8bca8e5b7f4067221d82e8b1af616d17725592c3737c621f2a8ad3c917b29846012c37c85acd34dcbb43eb6b05065ccce89b260c
-Size (bash51-005) = 2577 bytes
-BLAKE2s (bash51-006) = 73b5065e11a84d68835c0db4977d2c603d23af19d447000a2f2c16f06342f50e
-SHA512 (bash51-006) = b9b6e3d71f7b7718e2e8598ec8e337dcc675571fb233c29e5230ebf14eab2249204531f2fe8c4d1459c5fed10acb679048588d1e457e98dbc00ffc4d2cd227e3
-Size (bash51-006) = 1412 bytes
-BLAKE2s (bash51-007) = 3b7f3bf31e9e2bcd4aade7127d61c4c0be37393bd615a2e7c7c7f3d0b63c6c69
-SHA512 (bash51-007) = e4ebdc47e780ddc2588ecdfcfe00cb618039c7044e250ab2b836b0735c461ebacd15beaf2145e277c70b7f51cded55bd8dde7757df810f33f8dae306ee5ba571
-Size (bash51-007) = 2621 bytes
-BLAKE2s (bash51-008) = 54137de0baaaa419a53b91538821ff45c87f439bde9359be0ebef31b094711b5
-SHA512 (bash51-008) = 97f9558a08a66cc9da62c285bf9118b39328e25ed3b9277728e0539b1ac0adef176a090e39cd96dc03d6fd900d8155bd58040cb3390a09f637bab1de8af3faf6
-Size (bash51-008) = 1821 bytes
-BLAKE2s (bash51-009) = e549836133bf60d8f052e6ca5861821c8cb4d756f42a54acac4bbad584008580
-SHA512 (bash51-009) = 2d3c65162ec4e5c3dfeb439891950ef2c43973a84122fcdf6b56c388466c7e671dbc9b236d2253f01411b668c365855263995dbacb8e6f9e9dbcb7e6c2cc518c
-Size (bash51-009) = 1627 bytes
-BLAKE2s (bash51-010) = bf16355b68342d8bf495259608873121ecc621925e63ca8906ef454ba35d2f4d
-SHA512 (bash51-010) = aac4a0b72b559566334f1029c52754f4c98185af99e09436e401d83ab81bab7882d0d8050674b30f171733f3628157777a264566e927e93db2ea5a18d26630f1
-Size (bash51-010) = 1700 bytes
-BLAKE2s (bash51-011) = dcb9dd45b7652372456f28f74e8fa5cce03bf88318f127cd2d10af766937feeb
-SHA512 (bash51-011) = bb9e47a570bb9758c365831f9650b9379b60862b8cef572edc3cd833df96ebb8b9612de474bdc2a03ff4efc2275f871d55962295385e38f3658874488e974b81
-Size (bash51-011) = 2229 bytes
-BLAKE2s (bash51-012) = d9e0cbc34d1ead557dca3a467043c10756d32d13af64aa30eb8d025876c2ccb5
-SHA512 (bash51-012) = 59819914b6821d9f4af0aade7b9b7ea92368c2b8eb8407cea11dfeee7208905dd06bdef7a049d7b1c4fac41c44d9a130b95a061957a9649050b37471b3044cf1
-Size (bash51-012) = 6372 bytes
-BLAKE2s (bash51-013) = 121f6c877b2f1afc5aaacad40e1a79079d0efe48cbc2eee261a0680288c2e9d1
-SHA512 (bash51-013) = 67535155f49a7f54f151e62aba9274f82d01f33a1a1a7e5efd1aa0d63ba2d078765f0b5e22cb24db7132eff2d8c5852a3688298baa5217b8b6e159aae065d748
-Size (bash51-013) = 1277 bytes
-BLAKE2s (bash51-014) = 476c2c957ec7f8bcc4ea8e3c4e4c36957ffcc9841fc8ac2d6a7d6859613ef4a0
-SHA512 (bash51-014) = f658ab7ef01ba1d26f735e24b23bf35687e15b0d5d20f90da233d000745a55bdba142c11e9fba52e3b84470ec625fab60cc74cd6be533d990496a3795c658e88
-Size (bash51-014) = 1456 bytes
-BLAKE2s (bash51-015) = 3f7d50d8a376f952742acbcc119b464b07e35337170f2cd37f1e129691b323c2
-SHA512 (bash51-015) = fd4bc85f942a3a16c545f7e951a24f620ff2d884640dea6e05f305aaf88ed41862bfb05eea2258881608de696f9dc7a0fe3bebb51a011f50b720ea7a66699184
-Size (bash51-015) = 1409 bytes
-BLAKE2s (bash51-016) = dc335fd01741128eac6dd2f9dabb41ff3933b88467538f89e39f95262f87b48b
-SHA512 (bash51-016) = 020b3f3db77ca603a27a3423323538db5c9844be17ee428cf7cda80bebdcc715d30eab6c95773541cb8d14f3ad9e6142bf0adcda0e745ee638242508cc0ab05f
-Size (bash51-016) = 2122 bytes
+BLAKE2s (bash-5.2.tar.gz) = 430755ea2af4903dba2bdbeffd4d861edb9f54c248071362f0d14f15171764cd
+SHA512 (bash-5.2.tar.gz) = 5647636223ba336bf33e0c65e516d8ebcf6932de8b44f37bc468eedb87579c628ad44213f78534beb10f47aebb9c6fa670cb0bed3b4e7717e5faf7e9a1ef81ae
+Size (bash-5.2.tar.gz) = 10950833 bytes
 SHA1 (patch-af) = e26e3209902247263884cfebc11a2f7e43245062
 SHA1 (patch-ag) = cd3b151e3bb045d2bb609c0a03d7d3df2c871f47
 SHA1 (patch-aj) = 2e4c15afd9b50d44967ee8e1f85bdc908c0eeeb0
 SHA1 (patch-builtins_ulimit.def) = 1390069344607204eb3abbd6ddeb148ff590c55e
 SHA1 (patch-configure) = c4e1ab53a1ee85f3e6121047f0aca8ceb85e6e5d
 SHA1 (patch-examples_loadables_fdflags.c) = dce409c76b7d6c838eb25c3ccc7a89ee57ca69b8
-SHA1 (patch-lib_malloc_malloc.c) = fc22c2bb45490c57782d34d62336d168875c3609
-SHA1 (patch-support_shobj-conf) = f5d484920243588bfa4f869add2534e99aae9595
+SHA1 (patch-lib_malloc_malloc.c) = 6e500228972eac0cb4d4defb02e9cf573b7fa207
+SHA1 (patch-support_shobj-conf) = 010d5058262a23add420deed6c44a605bb16aa26
diff -r 3d644c6f8cfd -r 3fb1488f0270 shells/bash/patches/patch-lib_malloc_malloc.c
--- a/shells/bash/patches/patch-lib_malloc_malloc.c     Mon Oct 03 12:45:43 2022 +0000
+++ b/shells/bash/patches/patch-lib_malloc_malloc.c     Mon Oct 03 12:50:27 2022 +0000
@@ -1,17 +1,17 @@
-$NetBSD: patch-lib_malloc_malloc.c,v 1.2 2020/03/17 21:59:48 rillig Exp $
+$NetBSD: patch-lib_malloc_malloc.c,v 1.3 2022/10/03 12:50:27 wiz Exp $
 
 Fix array subscript with char index.
 
 https://lists.gnu.org/archive/html/bug-bash/2020-03/msg00056.html
 
---- lib/malloc/malloc.c.orig   2018-06-20 13:55:09.000000000 +0000
+--- lib/malloc/malloc.c.orig   2022-04-18 16:37:56.000000000 +0000
 +++ lib/malloc/malloc.c
-@@ -266,7 +266,7 @@ static const unsigned long binsizes[NBUC
+@@ -299,7 +299,7 @@ static const unsigned long binsizes[NBUC
  };
  
- /* binsizes[x] == (1 << ((x) + 3)) */
+ /* binsizes[x] == (1 << ((x) + 5)) */
 -#define binsize(x)    binsizes[(x)]
 +#define binsize(x)    binsizes[(size_t) (x)]
  
- #if !defined (errno)
- extern int errno;
+ #define MAXALLOC_SIZE binsizes[NBUCKETS-1]
+ 
diff -r 3d644c6f8cfd -r 3fb1488f0270 shells/bash/patches/patch-support_shobj-conf
--- a/shells/bash/patches/patch-support_shobj-conf      Mon Oct 03 12:45:43 2022 +0000
+++ b/shells/bash/patches/patch-support_shobj-conf      Mon Oct 03 12:50:27 2022 +0000
@@ -1,9 +1,6 @@
-$NetBSD: patch-support_shobj-conf,v 1.2 2022/01/28 20:39:20 schmonz Exp $
+$NetBSD: patch-support_shobj-conf,v 1.3 2022/10/03 12:50:27 wiz Exp $
 
 Spell -fPIC correctly.
-Omit the special -arch_only treatment for old Darwin; it's not supported
-by external compilers (e.g., lang/gcc10) and it's not needed by the
-native compiler (at least, not on Snow Leopard gcc 4.2.1).
 
 --- support/shobj-conf.orig    2019-12-13 14:51:17.000000000 +0000
 +++ support/shobj-conf
@@ -16,12 +13,3 @@
        SHOBJ_LD=/usr/ccs/bin/ld
        SHOBJ_LDFLAGS='-G -dy -z text -i -h $@'
  
-@@ -157,7 +157,7 @@ darwin*)
-       *)
-               case "${host_os}" in
-               darwin[89]*|darwin1[012]*)
--                      SHOBJ_ARCHFLAGS='-arch_only `/usr/bin/arch`'
-+                      SHOBJ_ARCHFLAGS=
-                       ;;
-                *)     # Mac OS X 10.9 (Mavericks) and later
-                       SHOBJ_ARCHFLAGS=



Home | Main Index | Thread Index | Old Index