[OpenIndiana-discuss] OI ksh 93t+ needs an update to 93u+

cpforum cpforum at orange.fr
Wed May 25 16:53:51 UTC 2016



> Message du 25/05/16 15:41
> De : "Bob Friesenhahn" 
> A : "Discussion list for OpenIndiana" 
> Copie à : 
> Objet : Re: [OpenIndiana-discuss] OI ksh 93t+ needs an update to 93u+
> 

> 
> ksh93 has many library dependencies (especially libast):

> % ldd /sbin/sh
> libshell.so.1 => /usr/lib/libshell.so.1
> libc.so.1 => /lib/libc.so.1
> libcmd.so.1 => /usr/lib/libcmd.so.1
> libdll.so.1 => /usr/lib/libdll.so.1
> libast.so.1 => /usr/lib/libast.so.1
> libsocket.so.1 => /lib/libsocket.so.1
> libm.so.2 => /lib/libm.so.2
> libsum.so.1 => /usr/lib/libsum.so.1
> libnsl.so.1 => /lib/libnsl.so.1
> libmd.so.1 => /lib/libmd.so.1
> libmp.so.2 => /lib/libmp.so.2
>


/bin/sh and /sbin/sh are symlinks to the 32 bit shell /usr/bin/i86/ksh. So sh is a 32 bit shell.

I think that /bin/ksh, /bin/ksh93, /bin/pfksh, /bin/rksh execution depend on 32 / 64 bits arch. If the result of the command
# isainfo -n 
amd64
is amd64 the /bin/ksh shell lauched is /usr/bin/amd64/ksh


ldd /usr/bin/ksh
libc.so.1 => /lib/libc.so.1
libm.so.2 => /lib/libm.so.2




> It is my understanding that these dependencies impact implementing 
> split off /usr (see "Split-root installations" discussion thread at 
> "http://openindiana.org/pipermail/openindiana-discuss/2013-November/thread.html#14418"), 
> single-user mode, and some administrative activities. Historically 
> some systems provided a statically linked (or close to it) sh for use 
> while booting and in single-user mode in order to limit filesystem 
> dependencies.
> 
> Replacing the shell is a big deal and requires considerable testing.

I agree but ksh has some regression tests.

> A bug with the current Illumos version is that 'rm -f' with no 
> arguments returns an error status to the invoker. This impacts 
> Automake-generated Makefiles.

for me :

$ type rm 
rm is a tracked alias for /usr/gnu/bin/rm
$ rm -f 
$ echo $? 
0

$ /bin/rm -f 
$ echo $? 
0

$ /usr/xpg4/bin/rm -f 
$ echo $? 
0


If I load the builtin rm of ast I have 2

$ builtin rm
$ type rm 
rm is a shell builtin
$ rm -f 
Usage: rm [-cFdfirRuv] file ...
$ echo $? 
2

did you load and use the builtin rm command ?


PS.

/lib/svc/method/svc-system-config startup script load the following one's

svc-system-config:# load builtin commands
svc-system-config:builtin chmod
svc-system-config:builtin chown
svc-system-config:builtin cp
svc-system-config:builtin grep
svc-system-config:builtin rm
svc-system-config:builtin rmdir


> 
> Bob
> -- 
> Bob Friesenhahn
> bfriesen at simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
> GraphicsMagick Maintainer, http://www.GraphicsMagick.org/
> 
> _______________________________________________
> openindiana-discuss mailing list
> openindiana-discuss at openindiana.org
> http://openindiana.org/mailman/listinfo/openindiana-discuss
>



More information about the openindiana-discuss mailing list