tech-pkg archive

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

Re: TOOLS_PLATFORM.bash required version



Jonathan Perkin <jperkin%pkgsrc.org@localhost> writes:

> * On 2026-06-30 at 23:18 BST, Greg Troxel wrote:
>
>>I have proposed that TOOLS_PLATFORM.bash must be >= 5.  That means
>>systems with bash 4 can't set it, and bash will be built from pkgsrc on
>>those platforms.  A little cpu time, and taking lots of potential
>>trouble off the table.
>>
>>So:
>>
>>  Do you know of any actual systems that have a builtin bash that is 4?
>>  (Yesterday, macOS had builtin bash 3, and today it has no builtin
>>  bash.)
>
> We still ship 4.3.30 on SmartOS.  Given the massive potential for
> breakage as it's used by all scripts in our product, as well as the
> primary shell for pkgsrc so used for everything there too, we've
> always been wary of upgrading unless absolutely required.

Surprising news to me and good you spoke up.

(It's hard to believe bash 4 is maintained from a vulnerability or
bugfix viewpoint, and by 2029 you'll be 10 years behind -- but that's
not about pkgsrc.)

I therefore amend my previous proposal to say:

  Evidence from SmartOS (which uses bash 4) is that pkgsrc use of bash4
  TOOLS_PLATFORM.bash does not cause problems.

  I propose to document that TOOLS_PLATFORM.bash must be >= 4.

    Index: defaults.mk
    ===================================================================
    RCS file: /cvsroot/pkgsrc/mk/tools/defaults.mk,v
    retrieving revision 1.66
    diff -u -p -r1.66 defaults.mk
    --- defaults.mk 3 Jul 2024 13:27:16 -0000       1.66
    +++ defaults.mk 1 Jul 2026 11:52:07 -0000
    @@ -53,6 +53,7 @@ TOOLS_DEFAULTS_MK=    defined

     _TOOLS_VARNAME.awk=            AWK
     _TOOLS_VARNAME.basename=       BASENAME
    +# TOOLS_PLATFORM.bash must be >= 4.0.
     _TOOLS_VARNAME.bash=           BASH
     _TOOLS_VARNAME.bison-yacc=     YACC
     _TOOLS_VARNAME.byacc=          YACC

and I'm going to go ahead and commit it.


Home | Main Index | Thread Index | Old Index