Date: Fri, 25 Jan 2019 14:21:58 -0800 From: Cy Schubert <Cy.Schubert@cschubert.com> To: Baptiste Daroussin <bapt@FreeBSD.org> Cc: freebsd-arch@freebsd.org,arch@freebsd.org Subject: Re: Importing mksh in base Message-ID: <5D1014CC-5CFB-435C-890D-33F9EB0B5245@cschubert.com> In-Reply-To: <42367007-C290-42C9-9F44-2A8F48665E7C@FreeBSD.org> References: <201901252129.x0PLTQAn008365@slippy.cwsent.com> <42367007-C290-42C9-9F44-2A8F48665E7C@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On January 25, 2019 1:39:47 PM PST, Baptiste Daroussin <bapt@FreeBSD=2Eorg>= wrote: > > >Le 25 janvier 2019 22:29:26 GMT+01:00, Cy Schubert ><Cy=2ESchubert@cschubert=2Ecom> a =C3=A9crit : >>In message <20190125210346=2Exzvrvuvr4rj3guov@ivaldir=2Enet>, Baptiste= =20 >>Daroussin wr >>ites: >>>=20 >>> >>> --l7d7rf235ll3lmav >>> Content-Type: text/plain; charset=3Diso-8859-1 >>> Content-Disposition: inline >>> Content-Transfer-Encoding: quoted-printable >>> >>> On Fri, Jan 25, 2019 at 11:24:26AM -0800, Cy Schubert wrote: >>> > First time I've tried replying inline on this newer phone=2E Bear >>with me a=3D >>> s this reply may not look like I intend it to=2E >>> >=3D20 >>> > On January 25, 2019 11:07:55 AM PST, Baptiste Daroussin >><bapt@FreeBSD=2Eorg=3D >>> > wrote: >>> > > >>> > > >>> > >Le 25 janvier 2019 18:12:58 GMT+01:00, Cy Schubert >>> > ><Cy=2ESchubert@cschubert=2Ecom> a =3DE9crit : >>> > >>On January 25, 2019 8:57:51 AM PST, Baptiste Daroussin >>> > >><bapt@FreeBSD=2Eorg> wrote: >>> > >>>Hi everyone, >>> > >>> >>> > >>>I would like to import mksh in base, >>https://www=2Emirbsd=2Eorg/mksh=2Ehtm >>> > >>>And make it the default root shell (not necessary in one step) >>> > >>> >>> > >>>Why: >>> > >>>1/ it is tiny 400k (in the packaged version) all other shells >>fitting >>> > >>>the >>> > >>>expectation are bigger >>> > >>>2/ it's default frontend in interactive mode is very close to >>what >>> > >>most >>> > >>>people >>> > >>>are used to with bash and shells as default root shell on other >>BSD >>> > >>and >>> > >>>most >>> > >>>linuxes >>> > >>>3/ from my narrow window csh as a default root shell is one of >>the >>> > >>>major >>> > >>>complaint (usually the first thing a user get faced to) from >new >>> > >>comers >>> > >>>and >>> > >>>also for some long timers who are reinstalling a machine and >>have not >>> > >>>yet >>> > >>>installed/configured a bourne compatible shell >>> > >>> >>> > >>>What this proposal is _NOT_ about: >>> > >>>1/ the removal of tcsh from base >>> > >>>2/ any kid of denial of the quality and interest or features of >>csh >>> > >>> >>> > >>>What do you think? >>> > >>>Best regards, >>> > >>>Bapt >>> > >> >>> > >>Why not ksh93 instead? It is the original and authoritative Korn >>> > >shell=2E >>> > >>EPL is compatible with the BSD license=2E Personally, I've been >>toying >>> > >>with the idea of importing ksh93 for a while now=2E >>> > >> >>> > > >>> > >The reason I chose mksh is because it is heavily maintained and >>from >>> > >the testing I have done it was the "nicer" interface >>> > > >>> >=3D20 >>> > Ksh93 is also heavily maintained=2E Look at their github activity= =2E >>My ksh9=3D >>> 3-devel port has been tracking updates (I consider important)=2E >>> >>> I gave a chance to ksh93-devel, my first impression are the >>following, as an >>> interactive shell, it looks nicer than I remembered (still prefer >>mksh thou=3D >>> gh) >> >>Interactively ksh93's command completion listing looks unconventional=20 >>but it functions the same=2E >> >>However programmatically it's the standard=2E Large commercial vendors,= =20 >>like Oracle, still require ksh for its array handling among other=20 >>things=2E >> >>> the completion looks "unexpected" but interesting I bet that can >>probably be >>> tuned (having a numbered list with fullpath of application I can do >>complet=3D >>> ion >>> on is not what I did expect) >> >>Completion is different=2E >> >>> >>> In emacs mode, the history search does not look great, (not it does >>not look >>> great as well in mksh, but less worse :)) >>> >>> In vi mode both seem to behave the same >>> >>> Manpages in both sides looks pretty complete >>> >>> mksh only depends on libc while ksh93 depends on libc, libexecinfo >>and libm >>> >>> on amd64: >>> ksh93 is 1=2E2M >>> mksh is 331k >> >>It has that advantage=2E For embedded this is an advantage=2E However if= =20 >>embedded is using ksh as a scripting language mksh and pdksh aren't=20 >>100% compatible=2E Just so we know, It's interactive only and people=20 >>would be well advised to install the port if doing any serious shell=20 >>scripting=2E >> >>I think the size difference doesn't make up for the differences in=20 >>scripting capability=2E (Yes, you can do arrays in bash but the syntax >is >> >>different=2E) It really depends on what we want here=2E A full featured= =20 >>shell that can be used for ksh93 scripts or strictly as an interactive > >>shell with incomplete support of the ksh88 standard=2E >> >>> >>> Overall I still think mksh is a better choice there >> >>Though I still disagree, a knob to disable it, WITHOUT_MKSH, would be >a >> >>must as those who symlink to /usr/bin/ksh or /bin/ksh would be=20 >>affected=2E And, > > >The goal of the import is not about providing a new scripting shell but >an interactive which closer to csh to what seems basic default >expectation of most (which still needs to be validated as such) > >I didn t intent to add it as /bin/ksh but as /bin/mksh > >Best regards >Bapt That's fine=2E Juxtaposed, one of the ports, pdksh, installs itself as ksh=2E A totally s= eparate issue, it should install as pdksh=2E Then either a metaport or a bi= t of logic in /usr/ports/Mk adds the symlink=2E Or, leave it to the user to= create manually=2E I haven't had the time to really look at this except to= acknowledge it's a problem=2E --=20 Pardon the typos and autocorrect, small keyboard in use=2E Cheers, Cy Schubert <Cy=2ESchubert@cschubert=2Ecom> FreeBSD UNIX: <cy@FreeBSD=2Eorg> Web: http://www=2EFreeBSD=2Eorg The need of the many outweighs the greed of the few=2E
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5D1014CC-5CFB-435C-890D-33F9EB0B5245>