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