tech-pkg archive

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

Re: Implement dash as bootstrap shell



* On 2015-12-05 at 06:41 GMT, Tobias Nygren wrote:

> 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.

Do we need ksh support?  We only ever define TOOLS_PLATFORM.ksh, I
don't see it actually used anywhere.

The platforms which currently require pdksh are AIX and OSF1.  AIX is
listed in the dash ChangeLog as being supported, but I have no idea
about OSF1.  Maybe Sevan can perform his magic and get us an OSF1 host
to test on? :)

-- 
Jonathan Perkin  -  Joyent, Inc.  -  www.joyent.com


Home | Main Index | Thread Index | Old Index