tech-pkg archive

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

Re: bootstrap_sh=shells/dash (pkgsrc-upstream-bulktest SunOS 5.11/i386 2014-09-26 21:18)

* On 2014-09-27 at 10:51 BST, Richard PALO wrote:

> Le 27/09/14 08:10, Jonathan Perkin a écrit :
> > This may be of interest to people.  It is using shells/dash as the 
> > bootstrap shell, with Debian patches (except for LINENO removal)
> > and the Gentoo patch to fix octal sequences, as well as patches to
> > enable it as a bootstrap package.
> > 
> > I haven't compared this with an identical build but there appear to
> > be no obvious regressions, and switching from bash has reduced the
> > build time from a previous average of 5hr24m for a cwrappers build
> > down to 5hrs precisely.
> > 
> > -- jperkin
> This is good news... bash is a pig for anything but interactive shells.
> Have you tried pkgsrc pdksh?  If you bootstrap with '--full' you'll
> get it automatically.

Yes, it used to be the default.  I've also tested it as part of this
work in a couple of bulk builds.

> I've been using it for months now with actually very few problems
> (patches already pushed either fixing the scripts or, in some cases
> like perl changing the CONFIG_SHELL) and greatly enhanced performance.

It's a pile of garbage.  I see a lot of failures compared with either
bash or dash, and as you say it even breaks with perl!

As it is unable to complete a bulk build as far as bash/dash I do not
yet have any performance comparison, as obviously it is building fewer
packages so will complete sooner.

Initial results are:

  - ksh93 is useless (can't even bootstrap due to heredoc bugs!)
  - pdksh is unreliable (even the perl failure is intermittent)
  - dash is faster than bash, but there are a couple of additional
    package failures, e.g. lacking brace expansion (non-POSIX).
  - bash is able to build the most packages but is slightly slower
    than dash.

I'll post fuller results when I have them.

Jonathan Perkin  -  Joyent, Inc.  -

Home | Main Index | Thread Index | Old Index