tech-pkg archive

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

Re: Implement dash as bootstrap shell



On Fri, 4 Dec 2015 22:04:04 +0000
Jonathan Perkin <jperkin%joyent.com@localhost> wrote:

> I'd like to make shells/dash a bootstrap shell, with the aim of
> eventually replacing shells/pdksh.  This commit adds initial support,
> adding a --with-dash bootstrap argument to enable it.
> 
>   https://github.com/joyent/pkgsrc/commit/6173446
> 
> The primary motivation is twofold:
> 
>  - shells/pdksh is horribly broken, with intermittent failures on at
>    least SunOS.
> 
>  - shells/dash is significantly faster than bash, the default shell on
>    a number of platforms.
> 
> I've been running variations of this diff in bulk builds for a while
> now, and dash is only a few packages behind the bash-based builds due
> to some non-POSIX constructs.  It has been tested on illumos, Solaris
> 9, and OSX with and without --with-dash.  Some older bulk build
> results that I performed with various shells are here:
> 
>   https://gist.github.com/jperkin/992c375d067c8960541d
> 
> The only change that could possibly affect users will be the addition
> of:
> 
>   CONFIGURE_ARGS+= --with-defshell=${TOOLS_PLATFORM.sh}
> 
> to the default set in devel/bmake, to accommodate the selection of a
> bootstrap shell.  In theory this shouldn't cause any problems, and any
> issues that do occur due to it are likely to be real bugs that need
> fixing anyway.
> 
> I'd like to get this in before the freeze to give users the chance to
> test it, and I'd certainly like to use it for our 2015Q4 package sets.
> 
> Opinions?

I'm in favor of this change. But personally I'd also remove the pdksh
bootstrap shell support. If we do want to permit ksh as an option we
should switch it from pdksh to mksh and build it like your patch does
for dash. So it might be a good idea to not hardcode dash in that code
but instead parametrize the package path and shell name.

-Tobias


Home | Main Index | Thread Index | Old Index