OpenSolaris

Discussions Communities Projects Download Source Browser

Home » OpenSolaris Forums » ksh93-integration » discuss

Thread: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]

Welcome, Guest Help
Login Login
Guest Settings Guest Settings
Reply to this Thread Reply to this Thread Search Forum Search Forum Back to Thread List Back to Thread List

Permlink Replies: 150 - Last Post: Oct 3, 2006 5:42 PM by: Don Cragun
Don Cragun
don.cragun@sun.com
Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 9:41 AM

  Click to reply to this thread Reply

Subject: PSARC-EXT FastTrack [09/27/2006]: Korn Shell 93 Integration

Note that this is an open case and the e-mail discussion is being
distributed to addresses outside of Sun...

I am submitting the fast-track case for Roland Mainz (OpenSolaris
contributor) and April Chin (Sun engineer). This case seeks a patch
binding. (The current plan is to integrate into ONNV, but patches to a
Solaris 10 Update and Solaris 9 are possible if there is sufficient
demand.)

This case times out Wednesday, September 27, 2006. Note that if there
is any significant discussion on this case, I will ask for a short
discussion on this case after the ARC business discussion on September
27th. This will allow Roland and the Open Solaris community to
participate in the discussion.

Sincerely,
Don

Template Version: @(#)sac_nextcase %I% %G% SMI
1. Introduction
1.1. Project/Component Working Name:
Korn Shell 93 Integration
1.2. Name of Document Author/Supplier:
Author: April Chin
1.3 Date of This Document:
20 September, 2006
4. Technical Description

1. Introduction

1.1 Project/Component Working Name
Korn Shell 93 Integration

1.2 Name of Document Author/Supplier:
April Chin (april dot chin at sun dot com)

1.3 Date of this Document:
20 September, 2006

1.4 Name of Major Document Customer(s)/Consumer(s)

1.4.1. The community this proposal comes from
ksh93-integration-discussion at opensolaris dot org

1.4.2. The ARC(s) you expect to review your project:
PSARC

1.5. Email Aliases:

1.5.1. Responsible Manager:
tim dot sparlin at sun dot com

1.5.2. Responsible Engineers:
roland dot mainz at nrubsig dot org
april dot chin at sun dot com

1.5.3. Marketing Manager:
jeff dot mcmeekin at sun dot com

1.5.4. Interest List:
ksh93-integration-discussion at opensolaris dot org

2. Project Summary

2.1 Project Description

This project seeks approval to introduce the latest version of
the open source ksh93, maintained by korn shell creator David Korn
and others at AT&T, into the Solaris system as a new set of binaries.
Supporting AT&T libraries will also be introduced as private shared libraries.

2.2 Risks and Assumptions:

This project is based on an external open source product and may
have dependencies on the development of or the inclusion of
required fixes by the korn shell owners at AT&T.

It is the goal of the project team to keep ksh93 in the Solaris operating
system updated with AT&T's latest version of ksh93 and its supporting
libraries. Thus it will be important to keep Solaris ksh93 source in sync,
including contributing Solaris-specific changes back to the
AT&T source.

There are cases of Solaris-specific functionality, covered under
the CDDL (Common Development and Distribution License), which should
be merged upstream to AT&T source for Solaris-specific builds.
AT&T allows contributions under the condition that only a copyright
may be added to AT&T source. At this time it is unknown if a blanket
licensing agreement will be reached which allows contribution of such
source to AT&T without requiring the addition of the CDDL.

Although this project will introduce ksh93 as binaries separate from
the existing /usr/bin/ksh and /usr/xpg4/bin/sh (the standard shell),
which are both based on ksh88, the eventual goal in one or more future
projects will be to replace both /usr/bin/ksh and the
standard-compliant /usr/xpg4/bin/sh with ksh93. Thus this project
needs to be aware of potential compatibility problems. See COMPAT file
for a list of known incompatibilities between ksh93 and Solaris ksh.

This project will also introduce built-in commands in ksh93, which have
a superset of the functionality of the corresponding Solaris /usr/bin
commands (see Section 4.3 Description). These ksh93 built-in commands
may lead to the future replacement of the source of some existing /usr/bin
commands with the corresponding AT&T code used by the ksh93 built-ins.

Some functionality available in the current Solaris /usr/bin/ksh
or /usr/xpg4/bin/sh is either not fully verified or not fully
implemented in ksh93, including standards conformance.

Although the intention is for ksh93 to be POSIX compliant, it does
not yet meet UNIX98 or UNIX03 standards conformance, that is, ksh93
does not pass the latest OpenGroup Shell and Utilities Verification
Suite, VSC version 5.2.8. This issue will be revisited before
ksh93 replaces /usr/xpg4/bin/sh.

3. Business Summary

3.1 Problem Area

Since at least 1998 (CR 4113420), and especially after AT&T's ksh93 was
open sourced, circa 2000, users have been requesting that Solaris
systems include the latest version of the Korn shell, ksh93, as a
replacement for or alternative to the existing /usr/bin/ksh and
/usr/xpg4/bin/sh, which are both derived from ksh88i.

ksh93s- is under the Common Public License which allows Sun to
freely redistribute a derived verison of ksh93, provided Sun includes
the license terms and does not encumber it with any proprietary changes.
The derived ksh88 we currently ship in /usr/bin/ksh and /usr/xpg4/bin/sh
is encumbered by copyrights which do not allow us to ship
the source through the Open Source Solaris product.


3.2 Market Requester

In addition to Open Solaris users, there have been multiple Change Requests
(CRs):

4113420 *ksh* request for ksh93 integration
many CRs have been closed as duplicates of this CR.
4113420 has many Customer Call records, including those from
Nokia, Lockheed Martin, Lexis Nexis, Bell South, and AT&T.

6332421 Solaris Kornshell outdated
involves a customer trying to port their application from
SUSE Linux to Solaris 10 and running into problems with
existing ksh93 scripts.

3.3 Justification

ksh88 is out dated and considered obsolete by many. The current version
of the Solaris ksh is not even considered ksh88 compatible, since its
behavior has diverged significantly from the original AT&T ksh88.

ksh88 source is closed on the Open Solaris source tree, but ksh93 will
be open source, allowing community members to contribute fixes,
resulting in a better quality Solaris korn shell.

Users with existing ksh93 scripts on other platforms are reluctant to migrate
to the Solaris OS without ksh93 functionality (see CR 6332421, above).

Users on Open Solaris discussion groups and other media, such as
news:comp.unix.solaris, have requested that Sun replace /usr/bin/ksh
with ksh93, to allow default login shells to take advantage of the many
features of ksh93 and to allow interoperability with other operating
systems (see 3.4).

In addition to many new features (see 4.2), many bugs
in the existing /usr/bin/ksh are fixed in ksh93, including:

4500743 *ksh* 'test -w' should exit with zero exit status
4703213 *ksh* ksh can't handle [[ "$s" ]] as manpage claims
4771050 *ksh* test -z "=" should not produce an error
4869545 *ksh* ksh should print error message for "trap - YABBA_DABBA_DOO"
6359008 *ksh* dumps core running command builtin with large argument list
6417347 *ksh* test -nt/-ot doesn't compare all of the timestamp
6435815 *ksh* sometimes chokes when piping output to a shell function
6442036 *ksh* ksh: "export -p" doesn't work as documented

Presumably, a majority of the remaining currently-open ksh RFEs and
defects would be resolved by the use of ksh93 in place of Solaris
/usr/bin/ksh.

3.4 Competitive Analysis

Sun is one of the only major vendors which does not include ksh93.
/usr/dt/bin/dtksh on the Solaris OS is not a viable login shell and is
based on ksh93d alpha, a very early, out-of-date version of ksh93.

ksh93 is included with IBM AIX, HP-UX, Debian, Redhat/Fedora, MacOSX,
Darwin, and SUSE Linux distributions. The absence of ksh93 on the
Solaris OS has been a major complaint by users [5].

HP-UX 11i Version 2, released September 2004 still keeps /usr/bin/ksh
as ksh88 and ksh93 as the binary dtksh.

On Debian, ksh93 is available as /usr/bin/ksh93, and does not
include the AT&T libraries libast and libshell [6].

IBM AIX 5L (released in 2004) introduced ksh93 as /usr/bin/ksh93
/usr/bin/ksh is still an enhanced POSIX-compliant version of ksh88. [7]


4. Technical Description

4.1. Bug/RFE Number

6437624 RFE: Add ksh93 (as /usr/bin/ksh93) and libshell.so to OS/Net

4.2 Features

ksh93 has many enhancements over the Solaris ksh utility, which is based
upon ksh88i, including:

- key binding (trap on KEYBD, to intercept all interactive user input)
- floating point arithmetic
- associative arrays
- complete ANSI-C printf formatting
- name reference variables (variables referring to other variables)
- new parameter expansion operators
- dynamic loading of built-in commands, including
the ability to add user-defined built-in commands
- active variables, allowing users to trap on variable assignments
and references by associating intercept functions
- compound variables
- increased performance, due to the addition of many built-in
commands for AT&T versions of common UNIX commands
- read with timeouts
- command and variable completion, in addition to filename completion
- Various pattern matching facilities, including normal shell pattern,
regular expressions, extended regular expressions and user-defined
expression systems

4.3. Description

The latest version, ksh93r, is available
from AT&T Resarch at http://www.research.att.com/~gsf/download
and was released on 1/24/06, with an updated alpha version (ksh93s-)
on 9/12/06.
See http://www.opensolaris.org/os/project/ksh93-integration/announcements/

ksh93 is available from AT&T under Common Public License [3].

This proposal will introduce a new set of binaries for ksh93.
For the ksh93, pfksh93, and rksh93 binaries, the stability
levels are as follows:

The scripting interface is Uncommitted. The environment
variables, .paths feature, editing modes, and pathname
bindings are Volatile.


Interface Description
--------- -----------
/usr/bin/ksh93 the korn shell
/usr/bin/pfksh93 profile shell
/usr/bin/rksh93 restricted shell

which will be hard links to /usr/lib/isaexec; isaexec will execute
the corresponding 32-bit binary in /usr/bin/{sparcv7,i86} or
the 64-bit binary/usr/bin/{sparcv9,amd64}, depending on the architecture.
The isaexec links will allow the 64-bit version of ksh93
to be executed by default on 64-bit platforms.

Note below that there will also be duplicate 32-bit versions of the
binaries residing in /sbin, on the root filesystem. The necessary
libraries (libshell, libast, libcmd, libdll) will reside on root,
in /lib. Thus the 32-bit version of ksh93 will be available
early in the boot process and during filesystem repair.
This is a desirable feature requested by community users.
isaexec will not be used by ksh93 on the root filesystem.

The 64-bit versions will be available on the /usr filesystem only.

Interface Description
--------- -----------
/usr/bin/sparcv7/ksh93 32-bit sparc korn shell
/usr/bin/sparcv7/pfksh93 hard link to /usr/bin/sparcv7/ksh93
/usr/bin/sparcv7/rksh93 hard link to /usr/bin/sparcv7/ksh93

/usr/bin/sparcv9/ksh93 64-bit sparc korn shell
/usr/bin/sparcv9/pfksh93 hard link to /usr/bin/sparcv9/ksh93
/usr/bin/sparcv9/rksh93 hard link to /usr/bin/sparcv9/ksh93

/usr/bin/i86/ksh93 32-bit x86 korn shell
/usr/bin/i86/pfksh93 hard link to /usr/bin/i86/ksh93
/usr/bin/i86/rksh93 hard link to /usr/bin/i86/ksh93

/usr/bin/amd64/ksh93 64-bit x86 korn shell
/usr/bin/amd64/pfksh93 hard link to /usr/bin/amd64/ksh93
/usr/bin/amd64/rksh93 hard link to /usr/bin/amd64/ksh93

/sbin/ksh93 32-bit korn shell (2nd copy)
/sbin/pfksh93 hard link to /sbin/ksh93
/sbin/rksh93 hard link to /sbin/ksh93


Four new shared libraries from AT&T will be introduced,
and one Sun private shared library (libcmd) will be appended with new
interfaces from AT&T. The new libraries and the new interfaces to
libcmd will initially be used only by ksh93. Although these libraries
and libcmd interfaces will be introduced with the Project Private
stability level, they could have potential use by Solaris applications
and external users if upgraded to public libraries in a future project.
See Section 4.5 Interfaces.

libshell - contains functions used for writing extensions
to ksh93 or for potentially embedding shell command
processing into other commands, such as dbx.
Most of ksh93 is contained in this library; the ksh93
binary itself is primarily a set of calls to libshell interfaces.

libast - AT&T's AST (Advanced Software Technology) library which
contains major components used by ksh93, including
implementations of interfaces for I/O (sfio), memory, strings,
stacks, and queue and list management. It also contains an OS
abstraction layer for portabilty, such as a stdio-compatible
wrapper over sfio for the benefit of plug-in modules (which
need to have sfio underneath for proper integration with ksh93).

libdll - portable runtime plug-in interface; allows "builtin -f foo"
to use high-level dll/so names which are mapped and searched using
local conventions.

libcmd - the AT&T library contains built-in commands and will be merged
with the existing Solaris libcmd Sun private shared library.
The new interfaces are AT&T implementations of common commands
which the Solaris OS implements as binaries under /usr/bin,
/usr/xpg4/bin, and /usr/xpg6/bin. A subset of these AT&T
implementations will be introduced as built-in commands in ksh93
(see below). The existing three Solaris libcmd interfaces (defopen,
defread, and defcntl) which are used by many Sun applications,
including many outside of the ON consolidation, will be left
untouched.

Since they are project private interfaces, for the new
AT&T libraries--libshell, libast, and libdll--the compilation environment
names (libshell.so, libast.so, libdll.so) will not be exposed.

New Ksh93 Built-ins

Below is the set of eight built-in commands in ksh93 which
are not built-ins in Solaris /usr/bin/ksh and which will have
"pathname binding" to /bin (and implicitly to /usr/bin).
These built-ins will also have pathname binding to /usr/ast/bin,
as described below.

cat
chown
head
mkdir
rmdir
tee
uniq
wc

With pathname binding to /bin, if, for example, "cat" is executed in
ksh93 without a pathname prefix, and a $PATH search first finds an
executable cat file on /bin or /usr/bin, the built-in cat
command is executed, not the Solaris /bin/cat binary.
The advantages of using these built-ins are increased performance and
additional functionality provided by the AT&T versions of these
commands (see manpages in case materials).

In addition, the below two upwardly-compatible ksh93 built-ins, which
are not built-ins in Solaris /usr/bin/ksh, will always be invoked when
called without a pathname prefix, instead of the corresponding Solaris
binary in /usr/bin:

sleep
printf

The above ten ksh93 built-ins are designed to conform to the POSIX
standard. They are also expected to be compatible with the Solaris
/usr/bin utilities. Incompatibilities between the above ksh93
built-ins and the Solaris /usr/bin versions shall be fixed or the
built-ins shall be disabled by default or removed from ksh93. See
builtin.bugs in the materials directory for a list of incompatible
behaviors in ksh93 built-ins which are known bugs to be fixed in
ksh93.

Although the above built-ins will be documented in manpages (see case
materials), a number of additional built-in commands, with pathname
binding to /usr/ast/bin, will be made available as an undocumented
feature of ksh93. Note that almost all ksh93 built-ins will print an
internal manpage when invoked with the --man option.

/usr/ast/bin/basename
/usr/ast/bin/cat
/usr/ast/bin/chgrp
/usr/ast/bin/chmod
/usr/ast/bin/chown
/usr/ast/bin/cmp
/usr/ast/bin/comm
/usr/ast/bin/cp
/usr/ast/bin/cut
/usr/ast/bin/date
/usr/ast/bin/dirname
/usr/ast/bin/expr
/usr/ast/bin/fds
/usr/ast/bin/fmt
/usr/ast/bin/fold
/usr/ast/bin/head
/usr/ast/bin/id
/usr/ast/bin/join
/usr/ast/bin/ln
/usr/ast/bin/logname
/usr/ast/bin/mkdir
/usr/ast/bin/mkfifo
/usr/ast/bin/mv
/usr/ast/bin/paste
/usr/ast/bin/pathchk
/usr/ast/bin/rev
/usr/ast/bin/rm
/usr/ast/bin/rmdir
/usr/ast/bin/stty
/usr/ast/bin/tail
/usr/ast/bin/tee
/usr/ast/bin/tty
/usr/ast/bin/uname
/usr/ast/bin/uniq
/usr/ast/bin/wc

Since most of these undocumented built-ins are not currently compatible
with the corresponding Solaris commands in /usr/bin, these built-ins
will be bound to the new pathname /usr/ast/bin. Unlike the /bin
pathname binding, the /usr/ast/bin pathname binding does not require
that the /usr/ast/bin directory exists.

These built-ins are being included to give ksh93 users easy access to
the AT&T implementations of these commands by adding /usr/ast/bin in
the front of their path, without affecting default Solaris commands
behavior for other ksh93 users. The stability of these undocumented
built-in commands is Volatile.

4.4. Interfaces:

See section 4.3 above for ksh93 binary interfaces.

The following new interfaces are introduced from AT&T:

Interface Stability Description
--------- --------- -----------
/lib/libshell.so.1 Project Private versioned 32-bit library
/usr/lib/libshell.so.1 Project Private symlink to /lib/libshell.so.1
/lib/amd64/libshell.so.1 Project Private versioned 64-bit x86 library
/usr/lib/amd64/libshell.so.1 Project Private symlink to
/lib/amd64/libshell.so.1
/lib/sparcv9/libshell.so.1 Project Private versioned 64-bit sparc library
/usr/lib/sparcv9/libshell.so.1 Project Private symlink to
/lib/sparcv9/libshell.so.1

/lib/libast.so.1 Project private versioned 32-bit library
/usr/lib/libast.so.1 Project Private symlink to /lib/libast.so.1
/lib/amd64/libast.so.1 Project Private versioned 64-bit x86 library
/usr/lib/amd64/libast.so.1 Project Private symlink to
/lib/amd64/libast.so.1
/lib/sparcv9/libast.so.1 Project Private versioned 64-bit sparc library
/usr/lib/sparcv9/libast.so.1 Project Private symlink to
/lib/sparcv9/libast.so.1

/lib/libdll.so.1 Project private versioned 32-bit library
/usr/lib/libdll.so.1 Project Private symlink to /lib/libdll.so.1
/lib/amd64/libdll.so.1 Project Private versioned 64-bit x86 library
/usr/lib/amd64/libdll.so.1 Project Private symlink to
/lib/amd64/libdll.so.1
/lib/sparcv9/libdll.so.1 Project Private versioned 64-bit sparc library
/usr/lib/sparcv9/libdll.so.1 Project Private symlink to
/lib/sparcv9/libdll.so.1

Existing libcmd library and its existing interfaces
(listed here for completeness, since they have not been listed in a
previous case):

Interface Stability Description
--------- ------------ ---------------------
/lib/libcmd.so.1 Sun Private versioned 32-bit library
/lib/libcmd.so Sun Private compilation environment name,
symlink to libcmd.so.1
/usr/lib/libcmd.so.1 Sun Private symlink to /lib/libcmd.so.1
/usr/lib/libcmd.so Sun Private symlink to /lib/libcmd.so.1
/lib/amd64/libcmd.so.1 Sun Private versioned 64-bit x86 binary
/lib/amd64/libcmd.so Sun Private compilation environment name,
symlink to libcmd.so.1
/usr/lib/amd64/libcmd.so.1 Sun Private symlink to
/lib/amd64/libcmd.so.1
/usr/lib/amd64/libcmd.so Sun Private symlink to
/lib/amd64/libcmd.so.1
/lib/sparcv9/libcmd.so.1 Sun Private versioned 64-bit sparc binary
/lib/sparcv9/libcmd.so Sun Private compilation environment name,
symlink to libcmd.so.1
/usr/lib/sparcv9/libcmd.so.1 Sun Private symlink to
/lib/sparcv9/libcmd.so.1
/usr/lib/sparcv9/libcmd.so Sun Private symlink to
/lib/sparcv9/libcmd.so.1
defopen Sun Private libcmd interface to files in
/etc/default
defread Sun Private "
defcntl Sun Private "

New interfaces will be added to the existing Sun Private Solaris
library libcmd.so.1:

Interface Stability Description
--------- --------------------- ------------
b_basename Project private AT&T built-in for basename command
b_cat Project private AT&T built-in for cat command
b_chgrp Project private AT&T built-in for chgrp command
b_chmod Project private AT&T built-in for chmod command
b_chown Project private AT&T built-in for chown command
b_cmp Project private AT&T built-in for cmp command
b_comm Project private AT&T built-in for cmp command
b_cp Project private AT&T built-in for cmp command
b_cut Project private AT&T built-in for cmp command
b_date Project private AT&T built-in for date command
b_dirname Project private AT&T built-in for dirname command
b_expr Project private AT&T built-in for expr command
b_fds Project private AT&T built-in for fds command
b_fmt Project private AT&T built-in for fmt command
b_fold Project private AT&T built-in for fold command
b_getconf Project private AT&T built-in for getconf command
b_head Project private AT&T built-in for head command
b_id Project private AT&T built-in for id command
b_join Project private AT&T built-in for join command
b_ln Project private AT&T built-in for ln command
b_logname Project private AT&T built-in for logname command
b_mkdir Project private AT&T built-in for mkdir command
b_mkfifo Project private AT&T built-in for mkfifo command
b_mv Project private AT&T built-in for mv command
b_paste Project private AT&T built-in for paste command
b_pathchk Project private AT&T built-in for pathchk command
b_rev Project private AT&T built-in for rev command
b_rmdir Project private AT&T built-in for rmdir command
b_rm Project private AT&T built-in for rm command
b_stty Project private AT&T built-in for ssty command
b_tail Project private AT&T built-in for tail command
b_tee Project private AT&T built-in for tee command
b_tty Project private AT&T built-in for tty command
b_uname Project private AT&T built-in for uname command
b_uniq Project private AT&T built-in for uniq command
b_wc Project private AT&T built-in for wc command


New directories:

Interface Stability Description
--------- ---------- ----------------------------
/usr/demo/ksh Uncommitted ksh93 function definitions, test suite,
miscellaneous
/usr/include/ast Project private AT&T header files

5. Reference Documents

1. Home page for the KornShell Command and Programming Language
http://www.kornshell.com

2. The Official AT&T release of ksh93
http://www.research.att.com/sw/download/

3. Common Public License
http://www.opensource.org/licenses/cpl
Also, see cpl1.0 file in case materials.

4. The Open Solaris Korn Shell 93 Integration Project
http://www.opensolaris.org/os/project/ksh93-integration/

5. User comments on the absence of ksh93 in Solaris systems
See user.comments file in case materials.

6. Debian ksh packages
http://packages.debian.org/unstable/shells/ksh

7. IBM AIX 5L documentation in Section 2.9.1 ksh93 from 2004:
http://www.redbooks.ibm.com/redbooks/SG245765/wwhelp/wwhimpl/java/html/wwhelp.htm


6. Resources and Schedule

6.1 Projected Availability

A prototype of ksh93 and its libraries has been built on
Open Solaris build 37.
See http://www.opensolaris.org/os/project/ksh93-integration/
for downloads of tarballs of the latest OpenSolaris ksh93.


6. Resources and Schedule
6.4. Steering Committee requested information
6.4.1. Consolidation C-team Name:
ON
6.5. ARC review type: FastTrack
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



Don Cragun
don.cragun@Sun.COM
Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 10:20 AM   in response to: Don Cragun

  Click to reply to this thread Reply

>Date: Wed, 20 Sep 2006 10:09:21 -0700 (PDT)
>From: Glenn Skinner <glenn at ivrel dot SFBay dot Sun dot COM>
>Subject: Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout:
09/27/2006]
>
>Where is the case directory for this case? Does it live outside of the
>normal directory structure because it's community-visible?

Just like the tag on the name of the case is PSARC-EXT/2006/550 rather
than PSARC/2006/550, the case directory is PSARC-EXT/2006/550 rather
than PSARC/2006/550.

I believe John will be joining us during our 4PM PDT PSARC business
meeting this afternoon to enlighten us on details...

- Don

>
> -- Glenn

_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



Joseph Kowalski
Joseph.Kowalski@eng....
Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 11:32 AM   in response to: Don Cragun

  Click to reply to this thread Reply


Whoot, Whoot! Its about time (even if this isn't currently called ksh).

One minor comment:

/sbin/ksh93 32-bit korn shell (2nd copy)
/sbin/pfksh93 hard link to /sbin/ksh93
/sbin/rksh93 hard link to /sbin/ksh93

Do we need these any more than /sbin/bash, /sbin/zsh, ... ?

I'd rather not get into shell wars (my favorite shell is better than your
favorite shell becasue I'm on root).

I'd like to see a fairly strong justification for these or have them removed
from the proposal.

- thanks,

- jek3

_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



casper

Posts: 3,398
From:

Registered: 3/9/05
Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 2:16 PM   in response to: Joseph Kowalski

  Click to reply to this thread Reply


>
>Whoot, Whoot! Its about time (even if this isn't currently called ksh).
>
>One minor comment:
>
> /sbin/ksh93 32-bit korn shell (2nd copy)
> /sbin/pfksh93 hard link to /sbin/ksh93
> /sbin/rksh93 hard link to /sbin/ksh93
>
>Do we need these any more than /sbin/bash, /sbin/zsh, ... ?
>
>I'd rather not get into shell wars (my favorite shell is better than your
>favorite shell becasue I'm on root).
>
>I'd like to see a fairly strong justification for these or have them removed
>from the proposal.

Seconded.

Casper
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



gisburn

Posts: 3,657
From: DE

Registered: 6/16/05
Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 2:44 PM   in response to: Joseph Kowalski

  Click to reply to this thread Reply

Joseph Kowalski wrote:
>
> Whoot, Whoot! Its about time (even if this isn't currently called ksh).
>
> One minor comment:
>
> /sbin/ksh93 32-bit korn shell (2nd copy)
> /sbin/pfksh93 hard link to /sbin/ksh93
> /sbin/rksh93 hard link to /sbin/ksh93
>
> Do we need these any more than /sbin/bash, /sbin/zsh, ... ?
>
> I'd rather not get into shell wars (my favorite shell is better than your
> favorite shell becasue I'm on root).
>
> I'd like to see a fairly strong justification for these or have them removed
> from the proposal.

AFAIK there isn't opne strong justification but lots of smaller ones:
- The term "copy" doesn't really apply to "/sbin/ksh93". The "ksh93"
binary is actually only a ~~5k frontend which immediately calls into
libshell (which is ksh93 made available as shared library).
The actual code looks like this (see
http://polaris.blastwave.org/browser/on/branches/ksh93/gisburn/prototype002/m1_ast_ast_imported/usr/src/lib/libshell/common/sh/pmain.c): -- snip -- 22 #include <shell.h> 23 24 typedef int (*Shnote_f)(int, long, int); 25 26 int main(int argc, char *argv[]) 27 { 28 sh_waitnotify((Shnote_f)0); 29 return(sh_main(argc, argv, 0)); 30 } -- snip -- That's all - and this source didn't change for a couple of years. - "libshell" and all other required libraries already live in /lib (that applications like SMF etc. can use them in the future) and IMO it is not very usefull to obmit the frontend in the root filesystem when the majority of the code already lives in '/' anyway (as I said: we're talking about a ~~5k penaltity to make things MUCH easier for script writers, admins and users (see below)). - Right now Solaris has no POSIX-conformant shell in the root filesystem - which means applications who need to be started before /usr gets mounted are stuck with the /sbin/sh monstrosity which means any scripts which need POSIX features need to be ported first due lack of a POSIX-conformant shell. - /sbin/pfksh93 and /sbin/rksh93 are just hardlinks to /sbin/ksh93 (they are included for completeness reasons) - Finally: Imagine the picture: The main server of your department fails and cannot mount /usr anymore. The phone starts to ring (angry users!), the door operns and your manager/professor appears in front of your desk and starts yelling around. In this situation you have to deal with a shell called "/sbin/sh" which treats things like "working editor mode" and other things as "optional" features (e.g. each typo forces you to rewrite the line unless you figure out how the editor mode for /sbin/sh works - and usually you do not have that much time before the person in front of your desk gets rabies...). /sbin/sh has a VERY bad reputation of being the worst imagineable (s)hell in such a case and there is more than one large thread on news:comp.unix.solaris whether "... /sbin/sh can be replaced by something less "horrible" ...". We do not want to replace /sbin/sh right now but I think the extra 5k (compared to 1200kb needed by bash (and I won't comment here about "bash"'s non-existant POSIX conformance)) may please many users in such an emergency because they can quickly type <k><h><9><3> and then get working emacs/gamcs/vi editor modes, a history and other goodies. ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) roland dot mainz at nrubsig dot org \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 7950090 (;O/ \/ \O;) _______________________________________________ ksh93-integration-discuss mailing list ksh93-integration-discuss at opensolaris dot org http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



dp

Posts: 807
From: US

Registered: 3/9/05
Re: Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 3:20 PM   in response to: gisburn

  Click to reply to this thread Reply

On Wed 20 Sep 2006 at 11:44PM, Roland Mainz wrote:
> Joseph Kowalski wrote:
> >
> > Whoot, Whoot! Its about time (even if this isn't currently called ksh).
> >
> > One minor comment:
> >
> > /sbin/ksh93 32-bit korn shell (2nd copy)
> > /sbin/pfksh93 hard link to /sbin/ksh93
> > /sbin/rksh93 hard link to /sbin/ksh93
> >
> > Do we need these any more than /sbin/bash, /sbin/zsh, ... ?
> >
> > I'd rather not get into shell wars (my favorite shell is better than your
> > favorite shell becasue I'm on root).
> >
> > I'd like to see a fairly strong justification for these or have them removed
> > from the proposal.
>
> AFAIK there isn't opne strong justification but lots of smaller ones:

In casual conversation, Stephen Hahn mentioned what is to me a more
architecturally compelling reason to have this in /sbin: we're going to
need to have a transition period where we clean up all of the scripts
delivered into the product by OS/Net (and by other consolidations) which
don't work right in ksh93 if we're ever going to have ksh93 be the default
version of ksh.

This will benefit OpenSolaris distros as well, presumably. If any of
those scripts currently use /sbin/ksh, then it'll be a lot easier to
verify the transition if we can set them to use /sbin/ksh93, and
this provides (to me) a more persuasive rationale about "why ksh93
and not {bash|zsh|tcsh}" than their POSIX-ness.

Maybe such scripts don't exist; if they do, that would be a good
reason to have /sbin/ksh93.

-dp

--
Daniel Price - Solaris Kernel Engineering - dp at eng dot sun dot com - blogs.sun.com/dp
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



dp

Posts: 807
From: US

Registered: 3/9/05
Re: Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 3:25 PM   in response to: dp

  Click to reply to this thread Reply

On Wed 20 Sep 2006 at 03:20PM, Dan Price wrote:
> On Wed 20 Sep 2006 at 11:44PM, Roland Mainz wrote:
> > Joseph Kowalski wrote:
> > >
> > > Whoot, Whoot! Its about time (even if this isn't currently called ksh).
> > >
> > > One minor comment:
> > >
> > > /sbin/ksh93 32-bit korn shell (2nd copy)
> > > /sbin/pfksh93 hard link to /sbin/ksh93
> > > /sbin/rksh93 hard link to /sbin/ksh93
> > >
> > > Do we need these any more than /sbin/bash, /sbin/zsh, ... ?
> > >
> > > I'd rather not get into shell wars (my favorite shell is better than your
> > > favorite shell becasue I'm on root).
> > >
> > > I'd like to see a fairly strong justification for these or have them removed
> > > from the proposal.
> >
> > AFAIK there isn't opne strong justification but lots of smaller ones:
>
> In casual conversation, Stephen Hahn mentioned what is to me a more
> architecturally compelling reason to have this in /sbin: we're going to

Please excuse me for being a turkey: there is no /sbin/ksh. I'm
clearly losing my mind.

-dp

--
Daniel Price - Solaris Kernel Engineering - dp at eng dot sun dot com - blogs.sun.com/dp
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



casper

Posts: 3,398
From:

Registered: 3/9/05
Re: Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 3:34 PM   in response to: dp

  Click to reply to this thread Reply


>In casual conversation, Stephen Hahn mentioned what is to me a more
>architecturally compelling reason to have this in /sbin: we're going to
>need to have a transition period where we clean up all of the scripts
>delivered into the product by OS/Net (and by other consolidations) which
>don't work right in ksh93 if we're ever going to have ksh93 be the default
>version of ksh.
>
>This will benefit OpenSolaris distros as well, presumably. If any of
>those scripts currently use /sbin/ksh, then it'll be a lot easier to
>verify the transition if we can set them to use /sbin/ksh93, and
>this provides (to me) a more persuasive rationale about "why ksh93
>and not {bash|zsh|tcsh}" than their POSIX-ness.

There is no /sbin/ksh. If the need for /sbin/ksh93 follows from
the existance of /sbin/ksh then clearly this is not the case.

Is the intention to replace /sbin/sh with ksh93?

Casper
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



gisburn

Posts: 3,657
From: DE

Registered: 6/16/05
Re: Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 4:48 PM   in response to: casper

  Click to reply to this thread Reply

Casper.***@sun.com wrote:
[snip]
> Is the intention to replace /sbin/sh with ksh93?

It has been requested some time ago and it may make sense to replace the
non-standard /sbin/sh with a POSIX-conformant shell.
However any such project would be started after the /usr/bin/ksh
migration to ksh93 is done, e.g. we don't plan this for Solaris
11/Nevada (mainly due lack of resources (time, engineers)).

----

Bye,
Roland

--
__ . . __
(o.\ \/ /.o) roland dot mainz at nrubsig dot org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 7950090
(;O/ \/ \O;)
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



Joerg Schilling
Joerg.Schilling@foku...
Re: Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 3:51 AM   in response to: gisburn

  Click to reply to this thread Reply

Roland Mainz <roland dot mainz at nrubsig dot org> wrote:

> Casper.***@sun.com wrote:
> [snip]
> > Is the intention to replace /sbin/sh with ksh93?
>
> It has been requested some time ago and it may make sense to replace the
> non-standard /sbin/sh with a POSIX-conformant shell.

If you ever do this, what name would you like to use for the old sh then?

Jörg

--
EMail:joerg at schily dot isdn dot cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
js@cs.tu-berlin.de (uni)
schilling at fokus dot fraunhofer dot de (work) Blog: http://schily.blogspot.com/
URL: http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



David Korn
dgk@research.att.com
Re: Re: Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 6:11 AM   in response to: Joerg Schilling

  Click to reply to this thread Reply


> The item numbers in the COMPAT file that are part of the PSARC case
> are slightly different than those in the ksh88 vs. ksh93 COMPATIBILITY file
> from AT&T that David may be referencing. The COMPAT file in the case
> is based on the AT&T one but is specific to Solaris ksh (based
> on ksh88 but has diverged) versus ksh93.
>
> I've attached the COMPAT file from the ARC case with item #1 corrected
> per Mike Oliver's comments; I had reversed the description of
> the POSIX and non-POSIX function behavior.
>
> Sorry for the confusion.
>
> Thanks,
> April
>

Most of the compatibilities that you list could at least by flagged
with warning messages with ksh -n which could make it easy to
fix non-conforming scripts.

Another option would be a ksh88 conformance mode. However, it is unlikely
that ksh93 would ever be 100% ksh88 compatible but it would eliminate
most of the items on your list.

There has been recent discussion about item 13, octal constants in
arithmetic expressions. Currently ksh93 only recognizes explicit
octal constants in scripts; not those that originate from either
using the variable name or $varname.

This appears to be a conformance issue. On the other hand,
in the past a number of scripts broke with this change.
I was considering modifying the behavior so that leading zeros
would get dropped only for fields defined as zero-filled and
those that have a .get discipline function. This would then
eliminte the conformance problem. Is this likely to resolve
most of the ksh88 backward compatibily issues?

David Korn
dgk at research dot att dot com
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



gisburn

Posts: 3,657
From: DE

Registered: 6/16/05
ksh88 compatibility mode in ksh93 ? / was: Re: Re: Korn Shell 93 Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 4:51 PM   in response to: David Korn

  Click to reply to this thread Reply

David Korn wrote:
[snip]
> Most of the compatibilities that you list could at least by flagged
> with warning messages with ksh -n which could make it easy to
> fix non-conforming scripts.
>
> Another option would be a ksh88 conformance mode. However, it is unlikely
> that ksh93 would ever be 100% ksh88 compatible but it would eliminate
> most of the items on your list.

I don't think such a compatibility mode would make sense. ksh93 was
explicitly designed that way to get rid of some old design issues (and I
am very happy with this decision :-) ) and "turning the time back" with
such a compatibilty option (which can never be fully compatible) is IMO
just wasted engineering time.

----

Bye,
Roland

--
__ . . __
(o.\ \/ /.o) roland dot mainz at nrubsig dot org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 7950090
(;O/ \/ \O;)
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



gisburn

Posts: 3,657
From: DE

Registered: 6/16/05
New name for /sbin/sh ?! / was: Re: [osol-arc] Re: Re: Korn Shell 93Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 6:45 PM   in response to: Joerg Schilling

  Click to reply to this thread Reply

Joerg Schilling wrote:
> Roland Mainz <roland dot mainz at nrubsig dot org> wrote:
> > Casper.***@sun.com wrote:
> > [snip]
> > > Is the intention to replace /sbin/sh with ksh93?
> >
> > It has been requested some time ago and it may make sense to replace the
> > non-standard /sbin/sh with a POSIX-conformant shell.
>
> If you ever do this, what name would you like to use for the old sh then?

What about following the AIX example and name it either "osh" (old
shell) or "bsh" (bourne shell) ?

----

Bye,
Roland

--
__ . . __
(o.\ \/ /.o) roland dot mainz at nrubsig dot org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 7950090
(;O/ \/ \O;)
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



Joerg Schilling
Joerg.Schilling@foku...
Re: New name for /sbin/sh ?! / was: Re: [osol-arc] Re: Re: Korn Shell 93Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 6:48 PM   in response to: gisburn

  Click to reply to this thread Reply

Roland Mainz <roland dot mainz at nrubsig dot org> wrote:

> Joerg Schilling wrote:
> > Roland Mainz <roland dot mainz at nrubsig dot org> wrote:
> > > Casper.***@sun.com wrote:
> > > [snip]
> > > > Is the intention to replace /sbin/sh with ksh93?
> > >
> > > It has been requested some time ago and it may make sense to replace the
> > > non-standard /sbin/sh with a POSIX-conformant shell.
> >
> > If you ever do this, what name would you like to use for the old sh then?
>
> What about following the AIX example and name it either "osh" (old
> shell) or "bsh" (bourne shell) ?

The name "bsh" is used by my shell for a long time.... "osh" would be OK.

*) Developed when I was working at Berthold AG (the second largest Sun OEM in
the 1980s).


Jörg

--
EMail:joerg at schily dot isdn dot cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
js@cs.tu-berlin.de (uni)
schilling at fokus dot fraunhofer dot de (work) Blog: http://schily.blogspot.com/
URL: http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



carlsonj

Posts: 6,810
From: US

Registered: 3/9/05
Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 1:21 PM   in response to: Don Cragun

  Click to reply to this thread Reply

Don Cragun writes:
> It is the goal of the project team to keep ksh93 in the Solaris operating
> system updated with AT&T's latest version of ksh93 and its supporting
> libraries. Thus it will be important to keep Solaris ksh93 source in sync,
> including contributing Solaris-specific changes back to the
> AT&T source.

With an Uncommitted stability level, you won't be able to make
incompatible patches for the ksh93 scripting interface once Nevada
ships. Is that the intended solution? Is a snapshot once per minor
release enough of an update frequency?

Will at least some parts of the scripting interface eventually be
Committed? It seems that they will need to be, if ksh replacement is
one of the goals.

> standard-compliant /usr/xpg4/bin/sh with ksh93. Thus this project
> needs to be aware of potential compatibility problems. See COMPAT file
> for a list of known incompatibilities between ksh93 and Solaris ksh.

What's the plan here? Some of those incompatibilities seem rather
stark to me. Will incompatible changes be made to the open source
version in order to keep compatibility with the old ksh? Or will the
Solaris-integrated ksh93 be made incompatible with the open source
version? Or do we intend to break compatibility in our own
/usr/bin/ksh in the future?

I realize that the complete set of answers might not yet be known, but
is there a plan of some sort?

> This project will also introduce built-in commands in ksh93, which have
> a superset of the functionality of the corresponding Solaris /usr/bin
> commands (see Section 4.3 Description). These ksh93 built-in commands
> may lead to the future replacement of the source of some existing /usr/bin
> commands with the corresponding AT&T code used by the ksh93 built-ins.

When does this happen? The duplication of code here seems rather
extensive. Unless there's a good plan to eliminate that duplication,
I think this might be a reason to have a written opinion.

> ksh93s- is under the Common Public License which allows Sun to
> freely redistribute a derived verison of ksh93, provided Sun includes
> the license terms and does not encumber it with any proprietary changes.

What does that mean? Does it mean that we're not able to maintain our
own code, or is it a licensing issue?

(I would have expected to see "any additional licensing terms" or some
such. Seeing the word "changes" here is jarring, and seems to imply
that we're not able to maintain our own code because the changes would
be "proprietary.")

> /sbin/ksh93 32-bit korn shell (2nd copy)
> /sbin/pfksh93 hard link to /sbin/ksh93
> /sbin/rksh93 hard link to /sbin/ksh93

Why is ksh93 needed before /usr is mounted?

This seems wasteful to me. If anything, we should be doing away with
cases where /usr isn't mounted rather than engorging the root file
system.

> libshell - contains functions used for writing extensions
> to ksh93 or for potentially embedding shell command
> processing into other commands, such as dbx.
> Most of ksh93 is contained in this library; the ksh93
> binary itself is primarily a set of calls to libshell interfaces.

How does this square with the existing libtecla? Should we remove
libtecla?

> Since most of these undocumented built-ins are not currently compatible
> with the corresponding Solaris commands in /usr/bin, these built-ins
> will be bound to the new pathname /usr/ast/bin. Unlike the /bin
> pathname binding, the /usr/ast/bin pathname binding does not require
> that the /usr/ast/bin directory exists.

It looks like we're building a parallel universe under /usr/ast.

Is there any chance that this goes away in a future version, or are we
stuck carrying the /usr/ast baggage forever? (In other words: is this
part of the intentional design here, or is it just a temporary
work-around?)

--
James Carlson, KISS Network <james dot d dot carlson at sun dot com>
Sun Microsystems / 1 Network Drive 71.232W Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



nico

Posts: 3,422
From: Austin, TX, USA

Registered: 6/15/05
Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 1:56 PM   in response to: carlsonj

  Click to reply to this thread Reply

On Wed, Sep 20, 2006 at 04:23:57PM -0400, James Carlson wrote:
> Don Cragun writes:
> > standard-compliant /usr/xpg4/bin/sh with ksh93. Thus this project
> > needs to be aware of potential compatibility problems. See COMPAT file
> > for a list of known incompatibilities between ksh93 and Solaris ksh.
>
> What's the plan here? Some of those incompatibilities seem rather
> stark to me. Will incompatible changes be made to the open source
> version in order to keep compatibility with the old ksh? Or will the
> Solaris-integrated ksh93 be made incompatible with the open source
> version? Or do we intend to break compatibility in our own
> /usr/bin/ksh in the future?
>
> I realize that the complete set of answers might not yet be known, but
> is there a plan of some sort?

Incompatibility (1) seems likely to break a lot of scripts (I am fond of
function() function-declaration syntax, so my scripts would break).

Incompatibility (9)... Does this mean pattern matching in the same
statement/command? Or subsequently for the rest of the script? Sounds
like a bug.

I don't understand (6).

(10) will almost certainly break scripts.

(12) could be finnessed (one signal per-line if stdout is a pipe, say).

I'm guessing most of these could be finessed so that when invoked as
"ksh" they go away.

Nico
--
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



Mike Oliver
Mike.Oliver@Sun.COM
Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 2:15 PM   in response to: carlsonj

  Click to reply to this thread Reply

James Carlson wrote:
> Don Cragun writes:
>> [...] the eventual goal in one or more future
>> projects will be to replace both /usr/bin/ksh and the
>> standard-compliant /usr/xpg4/bin/sh with ksh93. Thus this project
>> needs to be aware of potential compatibility problems. See COMPAT file
>> for a list of known incompatibilities between ksh93 and Solaris ksh.
>
> What's the plan here? Some of those incompatibilities seem rather
> stark to me. Will incompatible changes be made to the open source
> version in order to keep compatibility with the old ksh? Or will the
> Solaris-integrated ksh93 be made incompatible with the open source
> version? Or do we intend to break compatibility in our own
> /usr/bin/ksh in the future?

If we do intend to break backwards compatibility then will we rename
the existing 'ksh' to, say, 'ksh88' or move it to some other pathname
so that scripts that break when 'ksh' becomes ksh93 can have their
interpreter (#!) line rewritten to invoke 'ksh88'? If we're going to
do that then the sooner we do it, the better.

BTW, the second paragraph in item 1 of the COMPAT summary:

In ksh93, local variables only exist for POSIX-style
(func()) functions. In non-POSIX-style functions, variables
declared with "typeset var" remain global in scope, and are shared
between the calling program and the function.

is incorrect. It's the POSIX-style functions that always operate on
global variables. Non-POSIX functions retain the ability to create
local variables via 'typedef'.
<http://
gets this right, although it's wrong about non-POSIX functions
maintaining backwards compatibility. For one thing, the behaviour
of a local variable in ksh93 is incompatible with the existing
Solaris ksh because the semantics of a variable's "readonly"
('typeset -r') attribute are very different.

Mike.
--
mike dot oliver at sun dot com
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



Gary Winiger
gww@tundra.sfbay.sun...
Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 1:32 PM   in response to: Don Cragun

  Click to reply to this thread Reply

> Interface Description
> --------- -----------
> /usr/bin/ksh93 the korn shell
> /usr/bin/pfksh93 profile shell
> /usr/bin/rksh93 restricted shell

Will these be added to getusershell(3C) or will an /etc/shells
be delivered with these and the other "legal user shell"s?

Gary..
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



casper

Posts: 3,398
From:

Registered: 3/9/05
Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 2:21 PM   in response to: Gary Winiger

  Click to reply to this thread Reply


>> Interface Description
>> --------- -----------
>> /usr/bin/ksh93 the korn shell
>> /usr/bin/pfksh93 profile shell
>> /usr/bin/rksh93 restricted shell
>
> Will these be added to getusershell(3C) or will an /etc/shells
> be delivered with these and the other "legal user shell"s?


Not rksh :-)

Casper
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



April Chin
April.Chin@eng.sun.com
Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 2:08 PM   in response to: Don Cragun

  Click to reply to this thread Reply


> Date: Wed, 20 Sep 2006 08:32:07 -1000 (HST)
> From: Joseph Kowalski <Joseph dot Kowalski at eng dot sun dot com>
> Subject: Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout:
09/27/2006]
> To: PSARC-EXT at sac dot sfbay dot sun dot com, don dot cragun at sun dot com
> Cc: April dot Chin at eng dot sun dot com, ksh93-integration-discuss at opensolaris dot org,
roland dot mainz at nrubsig dot org
> MIME-Version: 1.0
> Content-MD5: PtcfOtDUrTE/dLldF5Pl9A==
>
>
> Whoot, Whoot! Its about time (even if this isn't currently called ksh).
>
> One minor comment:
>
> /sbin/ksh93 32-bit korn shell (2nd copy)
> /sbin/pfksh93 hard link to /sbin/ksh93
> /sbin/rksh93 hard link to /sbin/ksh93
>
> Do we need these any more than /sbin/bash, /sbin/zsh, ... ?

I don't know that I can argue for ksh93 versus any other shell,
but adding /sbin/ksh93 at least gives us one modern, more feature-rich
alternative to the bourne shell (/sbin/sh), for use as the root shell,
in JumpStart scripts, or in single-user mode, when dealing with filesystem
problems.

I'm sure Roland will be able to elaborate more on this.

April

>
> I'd rather not get into shell wars (my favorite shell is better than your
> favorite shell becasue I'm on root).
>
> I'd like to see a fairly strong justification for these or have them removed
> from the proposal.
>
> - thanks,
>
> - jek3
>

_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



casper

Posts: 3,398
From:

Registered: 3/9/05
Re: Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 2:26 PM   in response to: April Chin

  Click to reply to this thread Reply


>I don't know that I can argue for ksh93 versus any other shell,
>but adding /sbin/ksh93 at least gives us one modern, more feature-rich
>alternative to the bourne shell (/sbin/sh), for use as the root shell,
>in JumpStart scripts, or in single-user mode, when dealing with filesystem
>problems.

I don't think that's a strong enough reason:

- you can already use any shell as root shell; is /usr isn't
mounted /sbin/sh is used instead.

By this reasoning, we should add bash/zsh/tcsh/csh there too.

If you have a separate /usr, well, you pretty much deserve the
barebones system you get.

And I also suggest we move all ksh93 libaries to /usr/lib with
the needed exception of libcmd.

Casper
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



nico

Posts: 3,422
From: Austin, TX, USA

Registered: 6/15/05
Re: Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 2:35 PM   in response to: casper

  Click to reply to this thread Reply

On Wed, Sep 20, 2006 at 11:27:55PM +0200, Casper.***@Sun.COM wrote:
> And I also suggest we move all ksh93 libaries to /usr/lib with
> the needed exception of libcmd.

Why are those functions being thrown into libcmd anyways?
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



gisburn

Posts: 3,657
From: DE

Registered: 6/16/05
Re: Re: Korn Shell 93 Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 3:06 PM   in response to: casper

  Click to reply to this thread Reply

Casper.***@sun.com wrote:
>
> >I don't know that I can argue for ksh93 versus any other shell,
> >but adding /sbin/ksh93 at least gives us one modern, more feature-rich
> >alternative to the bourne shell (/sbin/sh), for use as the root shell,
> >in JumpStart scripts, or in single-user mode, when dealing with filesystem
> >problems.
>
> I don't think that's a strong enough reason:
>
> - you can already use any shell as root shell; is /usr isn't
> mounted /sbin/sh is used instead.

Do you mean replacing "root"'s login shell in /etc/passwd with any shell
? Where is this documented (AFAIK the recommentation over all the years
was "... don't do that. Never. Don't touch it or your system will
explode (sooner or later) ...") ?

> By this reasoning, we should add bash/zsh/tcsh/csh there too.

Is any of { bash, zsh, tcsh, csh } POSIX-conformant by default (ksh93
isn't perfect in this case either but at least it is one of the choices
which is very close to the specs) ?

> If you have a separate /usr, well, you pretty much deserve the
> barebones system you get.

It is still the default configuration in the installer to create a
seperate "/usr" filesystem (and still needed for diskless client setups
or when /usr should live on ZFS/QFS or simply another physical disk).
And you forgot the jumpstart case (like I did... and I usually try to
forget this immediately again because it is usually a pain to deal with
/sbin/sh when you write POSIX-like shell scripts most of the time) ...

> And I also suggest we move all ksh93 libaries to /usr/lib with
> the needed exception of libcmd.

<blink><marquee>DEFINATELY NO</marquee></blink>. At some point we will
have followup projects and many of them (like SMF) simply need libshell
in the root filesystem because the consumers live there, too. Moving
libshell or any of the libraries needed by it to /usr/lib would kill
most of the follow-up projects. And this would neither help programmers,
users, admins or writers of jumpstart/startup scripts.

----

Bye,
Roland

--
__ . . __
(o.\ \/ /.o) roland dot mainz at nrubsig dot org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 7950090
(;O/ \/ \O;)
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



dp

Posts: 807
From: US

Registered: 3/9/05
Re: Re: Korn Shell 93 Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 3:18 PM   in response to: gisburn

  Click to reply to this thread Reply

On Thu 21 Sep 2006 at 12:07AM, Roland Mainz wrote:
> Casper.***@sun.com wrote:
> >
> > >I don't know that I can argue for ksh93 versus any other shell,
> > >but adding /sbin/ksh93 at least gives us one modern, more feature-rich
> > >alternative to the bourne shell (/sbin/sh), for use as the root shell,
> > >in JumpStart scripts, or in single-user mode, when dealing with filesystem
> > >problems.
> >
> > I don't think that's a strong enough reason:
> >
> > - you can already use any shell as root shell; is /usr isn't
> > mounted /sbin/sh is used instead.
>
> Do you mean replacing "root"'s login shell in /etc/passwd with any shell
> ? Where is this documented (AFAIK the recommentation over all the years
> was "... don't do that. Never. Don't touch it or your system will
> explode (sooner or later) ...") ?

I improved this in Solaris 9. Here's a reference:

http://groups.google.com/group/comp.unix.solaris/browse_thread/thread/9665233a4976c7fb/dcabfd29073e5795#dcabfd29073e5795

This is PSARC/2001/723 "Fallback Root Login for su(1M)"

-dp

--
Daniel Price - Solaris Kernel Engineering - dp at eng dot sun dot com - blogs.sun.com/dp
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



casper

Posts: 3,398
From:

Registered: 3/9/05
Re: Re: Korn Shell 93 Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 3:29 PM   in response to: gisburn

  Click to reply to this thread Reply


>Do you mean replacing "root"'s login shell in /etc/passwd with any shell
>? Where is this documented (AFAIK the recommentation over all the years
>was "... don't do that. Never. Don't touch it or your system will
>explode (sooner or later) ...") ?

No, there was no documentation stipulating that fact.

The only potential problem was for those people stupid enough to
split / & /usr; well, the *real* problem was people changing
/sbin/sh to /sbin/csh which, of course, does not work.

But we've addressed that issue.

This is somewhat of a rehash of the argument against no longer
shipping a statically linked "/sbin/sh", which the external folks
may have missed.

In the end, having /sbin/sh dynamically linked adds about 10 files
to the list of 100s of files needed to successfully boot to single
user mode so the whole statically linked issue was declared moot.

*Nothing* happens when you change root's shell.

>Is any of { bash, zsh, tcsh, csh } POSIX-conformant by default (ksh93
>isn't perfect in this case either but at least it is one of the choices
>which is very close to the specs) ?

This is relevant, how?

Root's shell needs to be POSIX compliant because?

>It is still the default configuration in the installer to create a
>seperate "/usr" filesystem (and still needed for diskless client setups
>or when /usr should live on ZFS/QFS or simply another physical disk).
>And you forgot the jumpstart case (like I did... and I usually try to
>forget this immediately again because it is usually a pain to deal with
>/sbin/sh when you write POSIX-like shell scripts most of the time) ...

If that's the case the installer is broken (and it probably is, I
don't doubt that).

><blink><marquee>DEFINATELY NO</marquee></blink>. At some point we will
>have followup projects and many of them (like SMF) simply need libshell
>in the root filesystem because the consumers live there, too. Moving
>libshell or any of the libraries needed by it to /usr/lib would kill
>most of the follow-up projects. And this would neither help programmers,
>users, admins or writers of jumpstart/startup scripts.

Why? Why do we want to burden these programs with libshell?

All the tools which currently use command line editing use
libtecla; it is installed in /usr/lib so it is clear that replacing
such functionality does not require a library in /lib.

I see no follow-on projects listed in the ARC case so I would
like to know what these are.

The ARC has traditionally resisted "frameworks" which did not
have consumers; I see no concrete examples of such consumers.

And what is preventing these followon projects to move the library?

What is the relevance of jumpstart here?

It's a crying shame that the miniroot is now 155MB and climbing; but
/usr is part of it and putting ksh93 in /sbin is not relevant.

Casper
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



gisburn

Posts: 3,657
From: DE

Registered: 6/16/05
Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 5:23 PM   in response to: casper

  Click to reply to this thread Reply

Casper.***@sun.com wrote:
> >Do you mean replacing "root"'s login shell in /etc/passwd with any shell
> >? Where is this documented (AFAIK the recommentation over all the years
> >was "... don't do that. Never. Don't touch it or your system will
> >explode (sooner or later) ...") ?
>
> No, there was no documentation stipulating that fact.

I think you will still get that answer when you ask in
news:comp.unix.solaris (e.g. this knowledge doesn't seem to be
well-known outside Sun...) ... ;-(

> The only potential problem was for those people stupid enough to
> split / & /usr; well, the *real* problem was people changing
> /sbin/sh to /sbin/csh which, of course, does not work.

Uhm... I do not think it is "stupid" to split "/" and "/usr" - sometimes
it is usefull to do it for performance or other reasons (like using
seperate physical disks for "/" and "/usr") ...

> But we've addressed that issue.
>
> This is somewhat of a rehash of the argument against no longer
> shipping a statically linked "/sbin/sh", which the external folks
> may have missed.
>
> In the end, having /sbin/sh dynamically linked adds about 10 files
> to the list of 100s of files needed to successfully boot to single
> user mode so the whole statically linked issue was declared moot.

Why doesn't apply the same argumentation to "libshell in the root
filesystem", too ?

[snip]
> This is relevant, how?
> Root's shell needs to be POSIX compliant because?

I was thinking more about having a (near-) POSIX-conformant shell around
at startup time and single-user mode, something which is easy to use,
doesn't have the habit to turn the life of admins into a living hell in
emergencies, can be used in jumpstart, pkgadd/pkgrm
preinstall/postinstall/precheck/preremove/postremove scripts, boot time
scripts and allow a high amount of "portability" between operating
systems.

> >It is still the default configuration in the installer to create a
> >seperate "/usr" filesystem (and still needed for diskless client setups
> >or when /usr should live on ZFS/QFS or simply another physical disk).
> >And you forgot the jumpstart case (like I did... and I usually try to
> >forget this immediately again because it is usually a pain to deal with
> >/sbin/sh when you write POSIX-like shell scripts most of the time) ...
>
> If that's the case the installer is broken (and it probably is, I
> don't doubt that).

Why should the installer be "broken" when it uses this choice by default
? It is a valid choice in Unix to have "/" and "/usr" on seperate
filesystems and it is AFAIK still needed for diskless client support and
zones (please correct me if I am wrong).

> ><blink><marquee>DEFINATELY NO</marquee></blink>. At some point we will
> >have followup projects and many of them (like SMF) simply need libshell
> >in the root filesystem because the consumers live there, too. Moving
> >libshell or any of the libraries needed by it to /usr/lib would kill
> >most of the follow-up projects. And this would neither help programmers,
> >users, admins or writers of jumpstart/startup scripts.
>
> Why? Why do we want to burden these programs with libshell?

Why not ?

> All the tools which currently use command line editing use
> libtecla; it is installed in /usr/lib so it is clear that replacing
> such functionality does not require a library in /lib.

I wasn't only thinking about "command line editing". For zones and SMF I
have some nice ideas in the queue to add features like event-driven
scripting (for example send SMS to the admin when a service goes down)
or simply "conditional execution" (e.g. the usual if...else...fi
machinery would be very usefull, including keeping the current status of
a SMF service in variables maintained by discipline functions (for
example $ echo ${SMF.service.status["svc:/network/telnet:default"]} #
could return "online" (the "trick" is to define a "get" discipline
function for "SMF.service.status"))).

> I see no follow-on projects listed in the ARC case so I would
> like to know what these are.

They are not listed because we have only rougth drafts and some
prototype code for some of them - but it doesn't make sense to spend
more time on such items unless we're sure that the basis - this ARC case
and putback - has a chanche to succeed (and the current resistance makes
me think there isn't much a chanche it will succeed without being
crippled to death).
To satisfy your curiosiy a little bit:
- |libc::wordexp()| currently uses the old Solaris /usr/bin/ksh but
should use "ksh93" in the future. Since libc sits in "/lib" it may be
nice to have a copy of ksh93 in the root filesystem, too - otherwise
|libc::wordexp()| will only work when "/usr" is mounted
- Replace some of the standalone commands with the libshell builtins
(low-hanging fruits include "sleep", "pwd", "test" etc.)
- Think about { SMF, zone adminstration tool } which can be scripted
(and do event-driven+conditional tasks) using shell functions and
scripts (similar how dtksh/tksh can run shell functions as callback
hooks)

> The ARC has traditionally resisted "frameworks" which did not
> have consumers; I see no concrete examples of such consumers.

ksh93 has no "concrete consumers" either right now, too - using this
kind of argumentation we could cancel this effort completely.

> And what is preventing these followon projects to move the library?

It needs to be ARC'ed - again. Based on the current resistance we will
either get libshell in /lib now or simply forget such projects
completely because in a second/third/etc. attempt we will face the same
argumentation+resistance. It's IMO useless to start projects or even
consider them when there is little chanche of success.

> What is the relevance of jumpstart here?

Think about pkg preinstall/postinstall/precheck/preremove/postremove
scripts or custom install scripts which need to be run before "/usr"
gets mounted...

----

Bye,
Roland

--
__ . . __
(o.\ \/ /.o) roland dot mainz at nrubsig dot org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 7950090
(;O/ \/ \O;)
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



dp

Posts: 807
From: US

Registered: 3/9/05
Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 5:34 PM   in response to: gisburn

  Click to reply to this thread Reply

On Thu 21 Sep 2006 at 02:23AM, Roland Mainz wrote:
> > All the tools which currently use command line editing use
> > libtecla; it is installed in /usr/lib so it is clear that replacing
> > such functionality does not require a library in /lib.
>
> I wasn't only thinking about "command line editing". For zones and SMF I
> have some nice ideas in the queue to add features like event-driven
> scripting (for example send SMS to the admin when a service goes down)
> or simply "conditional execution" (e.g. the usual if...else...fi
> machinery would be very usefull, including keeping the current status of
> a SMF service in variables maintained by discipline functions (for
> example $ echo ${SMF.service.status["svc:/network/telnet:default"]} #
> could return "online" (the "trick" is to define a "get" discipline
> function for "SMF.service.status"))).

As a representative of the Zones team, I'm not aware of these plans.
Since zonecfg(1m) is just basically a document editor, I don't believe
we need anything beyond the kind of tab completion that libtecla gives
us (and indeed we were the team responsible for adding it in the first
place).

As for notifications at state transitions, the team's long term plan is
to rework our service model such that each zone is an SMF service
instance (there are additional reasons for this which are out of the
scope of this discussion), and then to piggyback on planned SMF
functionality in that space, which Liane has called "the transitions
project." It is possible that we will also expose such state
transitions to the command line (i.e. via zoneadm) but I don't need
any new libraries to do so.

-dp

--
Daniel Price - Solaris Kernel Engineering - dp at eng dot sun dot com - blogs.sun.com/dp
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



kupfer

Posts: 824
From: US

Registered: 3/9/05
Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 5:51 PM   in response to: gisburn

  Click to reply to this thread Reply

>>>>> "Roland" == Roland Mainz <roland dot mainz at nrubsig dot org> writes:

Casper> Root's shell needs to be POSIX compliant because?

Roland> I was thinking more about having a (near-) POSIX-conformant
Roland> shell around at startup time and single-user mode

This is already available on most (all?) Linux distros, yes?

>> And what is preventing these followon projects to move the library?

Roland> It needs to be ARC'ed - again. Based on the current resistance
Roland> we will either get libshell in /lib now or simply forget such
Roland> projects completely because in a second/third/etc. attempt we
Roland> will face the same argumentation+resistance.

Well, you'll get the same question, but I wouldn't take that as
"resistance". If the follow-on project truly needs the library in /,
you explain why it can't work with the library in /usr, and the ARC says
"oh, okay".

mike

_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



gisburn

Posts: 3,657
From: DE

Registered: 6/16/05
Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 6:29 PM   in response to: kupfer

  Click to reply to this thread Reply

Mike Kupfer wrote:
>
> >>>>> "Roland" == Roland Mainz <roland dot mainz at nrubsig dot org> writes:
>
> Casper> Root's shell needs to be POSIX compliant because?
>
> Roland> I was thinking more about having a (near-) POSIX-conformant
> Roland> shell around at startup time and single-user mode
>
> This is already available on most (all?) Linux distros, yes?

Yes, on Linux bash is used in "posix" mode and AFAIK on *BSD

> >> And what is preventing these followon projects to move the library?
>
> Roland> It needs to be ARC'ed - again. Based on the current resistance
> Roland> we will either get libshell in /lib now or simply forget such
> Roland> projects completely because in a second/third/etc. attempt we
> Roland> will face the same argumentation+resistance.
>
> Well, you'll get the same question, but I wouldn't take that as
> "resistance". If the follow-on project truly needs the library in /,
> you explain why it can't work with the library in /usr, and the ARC says
> "oh, okay".

The detail that libshell is being used should be an implementation
detail and not something which needs to be explicitly ARC'ed.
IMO most people who want to write a new project which has dependicies to
the boot process would look at the issue, read this discussion and then
would simply avoid the usage of libshell at all costs because it is
restricted to /usr.
Somehow this is really not what we wanted to archive - we wanted a shell
which is feature-rich, (more or less) POSIX-conformant, user-friendly,
i18n/l10n-capable and doesn't have any artificial restrictions on it's
usage. Putting libshell in /usr/lib instead of /lib simply kills the
last item and dramatically reduces the benefits of introducing
ksh93/libshell in Solaris.

----

Bye,
Roland

--
__ . . __
(o.\ \/ /.o) roland dot mainz at nrubsig dot org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 7950090
(;O/ \/ \O;)
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



gisburn

Posts: 3,657
From: DE

Registered: 6/16/05
Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 6:31 PM   in response to: gisburn

  Click to reply to this thread Reply

Roland Mainz wrote:
> Mike Kupfer wrote:
> > >>>>> "Roland" == Roland Mainz <roland dot mainz at nrubsig dot org> writes:
> >
> > Casper> Root's shell needs to be POSIX compliant because?
> >
> > Roland> I was thinking more about having a (near-) POSIX-conformant
> > Roland> shell around at startup time and single-user mode
> >
> > This is already available on most (all?) Linux distros, yes?
>
> Yes, on Linux bash is used in "posix" mode and AFAIK on *BSD
[that line wasn't finished, I hit "Send" instead "Store email in
drafts"... sorry... ]
... AFAIK on *BSD a POSIX-like shell is used, too.

----

Bye,
Roland

--
__ . . __
(o.\ \/ /.o) roland dot mainz at nrubsig dot org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 7950090
(;O/ \/ \O;)
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



carlsonj

Posts: 6,810
From: US

Registered: 3/9/05
Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 5:01 AM   in response to: gisburn

  Click to reply to this thread Reply

Roland Mainz writes:
> > Well, you'll get the same question, but I wouldn't take that as
> > "resistance". If the follow-on project truly needs the library in /,
> > you explain why it can't work with the library in /usr, and the ARC says
> > "oh, okay".
>
> The detail that libshell is being used should be an implementation
> detail and not something which needs to be explicitly ARC'ed.

I agree with that in part, but the architecturally relevant parts here
are:

- whether this belongs in the root file system, and

- whether this is intended to end up being used in other projects.

If it were purely an internal implementation detail and following all
of the usual standards (such as those in filesystem(5)), then it
wouldn't be an issue here.

> IMO most people who want to write a new project which has dependicies to
> the boot process would look at the issue, read this discussion and then
> would simply avoid the usage of libshell at all costs because it is
> restricted to /usr.

That's just broken.

We don't move things to root on speculation that someone may someday
like to have it there. There must be a _need_.

Furthermore, if it's really the case that people treat the rest of the
system as immutable, then that it's a real shame that they're led into
poor design as a result of that practice, but that's not a
consideration here.

If it is in fact the case that someone wants to use this shell or one
of its libraries before /usr is mounted, then we can easily move those
libraries to root at that time. The work involved is trivial.

> Somehow this is really not what we wanted to archive - we wanted a shell
> which is feature-rich, (more or less) POSIX-conformant, user-friendly,
> i18n/l10n-capable and doesn't have any artificial restrictions on it's
> usage. Putting libshell in /usr/lib instead of /lib simply kills the
> last item and dramatically reduces the benefits of introducing
> ksh93/libshell in Solaris.

I don't see it at all. No such special shell is needed before /usr is
mounted, so the shell isn't needed in root.

If you still must insist, then I think it's time to derail this case
and have a full review. Placing a new shell (plus a pile of attendant
libraries) into the root file system isn't an "obvious" change, and
thus this case no longer fits the definition of a fast-track.

--
James Carlson, KISS Network <james dot d dot carlson at sun dot com>
Sun Microsystems / 1 Network Drive 71.232W Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



mschafft

Posts: 20
From:

Registered: 7/22/06
Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 6:21 AM   in response to: carlsonj

  Click to reply to this thread Reply

On 9/21/06, James Carlson <james dot d dot carlson at sun dot com> wrote:
> Roland Mainz writes:
> > > Well, you'll get the same question, but I wouldn't take that as
> > > "resistance". If the follow-on project truly needs the library in /,
> > > you explain why it can't work with the library in /usr, and the ARC says
> > > "oh, okay".
> >
> > The detail that libshell is being used should be an implementation
> > detail and not something which needs to be explicitly ARC'ed.
>
> I agree with that in part, but the architecturally relevant parts here
> are:
>
> - whether this belongs in the root file system, and
>
> - whether this is intended to end up being used in other projects.
>
> If it were purely an internal implementation detail and following all
> of the usual standards (such as those in filesystem(5)), then it
> wouldn't be an issue here.
>
> > IMO most people who want to write a new project which has dependicies to
> > the boot process would look at the issue, read this discussion and then
> > would simply avoid the usage of libshell at all costs because it is
> > restricted to /usr.
>
> That's just broken.
>
> We don't move things to root on speculation that someone may someday
> like to have it there. There must be a _need_.
>
> Furthermore, if it's really the case that people treat the rest of the
> system as immutable, then that it's a real shame that they're led into
> poor design as a result of that practice, but that's not a
> consideration here.
>
> If it is in fact the case that someone wants to use this shell or one
> of its libraries before /usr is mounted, then we can easily move those
> libraries to root at that time. The work involved is trivial.
>
> > Somehow this is really not what we wanted to archive - we wanted a shell
> > which is feature-rich, (more or less) POSIX-conformant, user-friendly,
> > i18n/l10n-capable and doesn't have any artificial restrictions on it's
> > usage. Putting libshell in /usr/lib instead of /lib simply kills the
> > last item and dramatically reduces the benefits of introducing
> > ksh93/libshell in Solaris.
>
> I don't see it at all. No such special shell is needed before /usr is
> mounted, so the shell isn't needed in root.
>
> If you still must insist, then I think it's time to derail this case
> and have a full review. Placing a new shell (plus a pile of attendant
> libraries) into the root file system isn't an "obvious" change, and
> thus this case no longer fits the definition of a fast-track.

Roland,
I think it is time to face the truth that Sun doesn't want ksh93 in
Solaris. Please cancel this project. It is no longer worth wasting
time here
--
// Martin Schaffstall
// EMail: martin dot schaffstall at googlemail dot com
\\ //
\X/
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



casper

Posts: 3,398
From:

Registered: 3/9/05
Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 6:39 AM   in response to: mschafft

  Click to reply to this thread Reply



>I think it is time to face the truth that Sun doesn't want ksh93 in
>Solaris. Please cancel this project. It is no longer worth wasting
>time here


Martin, if you have nothing useful to add, then please butt out.

If you think we're being harsh on the ksh93 project's ARC case, then
that can only be because you've never seen any other ARC cases.

This bickering over details like this in cases of this size is the
norm and not an exception.

In the absence of previous experience, I can see how you can misconstrue
this as "resistance against ksh93" or perhaps even "personal attack
on Roland". And if you've worked long and hard on a project then you
sometimes "become" the project.

The ARC is here to look from a bigger distance at projects and examine
the overall picture.

And the bigger picture is simply this: all shells in Solaris live in
/usr except for /sbin/sh which is used for the very early bootstrap
process. Ergo, we see no reason to make ksh93 live in /sbin.

None of the arguments have swayed us so far and James explained that
arguments prefixed with "in the future we may" are best dealt with
in future ARC cases when things may be moved around if the need arises.

If not, then this case would open the doors for "but his ksh93 is in /sbin,
I want my bash/zsh/tcsh there too".

Casper

_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



alanc

Posts: 5,504
From: US

Registered: 3/9/05
Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 7:49 AM   in response to: mschafft

  Click to reply to this thread Reply

Martin Schaffstall wrote:
> Roland,
> I think it is time to face the truth that Sun doesn't want ksh93 in
> Solaris. Please cancel this project. It is no longer worth wasting
> time here

Once again, as in several previous threads, your only contribution
is to attack and discourage the people doing the work - I agree it
is no longer worth your wasting time contributing to this mailing
list and will be happy to see you leave so that we can work with
Roland to get ksh93 in Solaris, which everyone except you still wants
to happen.

--
-Alan Coopersmith- alan dot coopersmith at sun dot com
Sun Microsystems, Inc. - X Window System Engineering
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



gisburn

Posts: 3,657
From: DE

Registered: 6/16/05
Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 5:09 PM   in response to: mschafft

  Click to reply to this thread Reply

Martin Schaffstall wrote:
[snip]
> Roland,
> I think it is time to face the truth that Sun doesn't want ksh93 in
> Solaris. Please cancel this project. It is no longer worth wasting
> time here

Erm, no.
I think you are misunderstaning the ARC process here: It is part of ARC
member's job to ask questions (even unpleasant ones) and to a full
review of the proposal and the design decisions. Almost all projects and
larger companies have such a process (for example mozilla.org has their
reviewers, super-reviewers and module maintainers for similar
purposes).

----

Bye,
Roland

--
__ . . __
(o.\ \/ /.o) roland dot mainz at nrubsig dot org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 7950090
(;O/ \/ \O;)
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



casper

Posts: 3,398
From:

Registered: 3/9/05
Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 1:30 AM   in response to: gisburn

  Click to reply to this thread Reply


>I think you will still get that answer when you ask in
>news:comp.unix.solaris (e.g. this knowledge doesn't seem to be
>well-known outside Sun...) ... ;-(


Yes, but that doesn't mean that the answer is basically "wrong" in
the sense that the answer usually includes arguments like:

- root's shell is used during boot (false)
- root's shell is used for certain scripts (false)
- root's shell should be statically linked (false, very much
so in Solaris 10)

Only the last answer was ever appropriate for earlier releases;
the second argument was partially appropriate when our /etc/rc?.d scripts
did not all start with #!.

>Uhm... I do not think it is "stupid" to split "/" and "/usr" - sometimes
>it is usefull to do it for performance or other reasons (like using
>seperate physical disks for "/" and "/usr") ...

For performance reasons? C'mon.

The reason a split "/" and "/usr" is *stupid* is fairly simple; there
are precious few scenarios which you can recover without /usr.

(E.g., you can *always* mount "/" because the kernel boots from it and
knows the boot device; but there are many scenarios where the /usr cannot
be mounted and where recovery is not possible, e.g., when the devices
pointing to the disk are not in the filesystem)


>Why doesn't apply the same argumentation to "libshell in the root
>filesystem", too ?

Because we need one shell and /sbin/sh suffices for now.


>I was thinking more about having a (near-) POSIX-conformant shell around
>at startup time and single-user mode, something which is easy to use,
>doesn't have the habit to turn the life of admins into a living hell in
>emergencies, can be used in jumpstart, pkgadd/pkgrm
>preinstall/postinstall/precheck/preremove/postremove scripts, boot time
>scripts and allow a high amount of "portability" between operating
>systems.

All of these need /usr present.


Also, you won't be able to use ksh93 for pkg* install scripts for a while
to come. At least not for scripts which are shipped as part of Solaris.

The reason is "liveupgrade" and other modes of operation where packages
are added while the tools are running on older revisions of the OS
(upto two or three releases back). So when ksh93 comes a standard item
in S11, you can not depend on it in pkg* tools until Solaris 13.

>Why should the installer be "broken" when it uses this choice by default
>? It is a valid choice in Unix to have "/" and "/usr" on seperate
>filesystems and it is AFAIK still needed for diskless client support and
>zones (please correct me if I am wrong).

Because the default is not helpful and leads to all sorts of issues
when space crunch happens.

There is NO good reason for a separate /usr on the root of a non-diskless
system.

There is NO good reason to grow "/" as opposed to "/usr" because there's
nothing you can do with just "/" mounted anyway.


>> Why? Why do we want to burden these programs with libshell?
>
>Why not ?

The onus is on the project team to provide arguments. As Dave said
"this is news to the SMF team".

I'm not saying that we should avoid using libshell in SMF at all costs,
but I have yet to see a reason, let alone a compelling reason, for it
to use libshell.


>- |libc::wordexp()| currently uses the old Solaris /usr/bin/ksh but
>should use "ksh93" in the future. Since libc sits in "/lib" it may be
>nice to have a copy of ksh93 in the root filesystem, too - otherwise
>|libc::wordexp()| will only work when "/usr" is mounted

So this currently doesn't work when /usr isn't mounted.

>- Replace some of the standalone commands with the libshell builtins
>(low-hanging fruits include "sleep", "pwd", "test" etc.)

All programs living in /usr

>- Think about { SMF, zone adminstration tool } which can be scripted
>(and do event-driven+conditional tasks) using shell functions and
>scripts (similar how dtksh/tksh can run shell functions as callback
>hooks)

All tools living in /usr.

>> The ARC has traditionally resisted "frameworks" which did not
>> have consumers; I see no concrete examples of such consumers.
>
>ksh93 has no "concrete consumers" either right now, too - using this
>kind of argumentation we could cancel this effort completely.

No, that's not true. "ksh93" is the project in itself and it is
clearly a usable and long-overdue addition to Solaris.

It is not a "framework" so it does not need consumers; but all the other
bits of ksh which are dumped all over the place are a framework
and I am still wondering why they need to be in /lib and /sbin.

>> And what is preventing these followon projects to move the library?
>
>It needs to be ARC'ed - again. Based on the current resistance we will
>either get libshell in /lib now or simply forget such projects
>completely because in a second/third/etc. attempt we will face the same
>argumentation+resistance. It's IMO useless to start projects or even
>consider them when there is little chanche of success.

I think you are taking the resistance entirely too personal; the
resistance against stuff in "/" is simply because there are no
arguments to do so. Once a project is submitted which requires
libshell to be moved to /lib then approval is a no-brainer.

>Think about pkg preinstall/postinstall/precheck/preremove/postremove
>scripts or custom install scripts which need to be run before "/usr"
>gets mounted...

There is no such situation. In the install situation, "/usr" is always
present. (And none of the install tools work when /usr is absent)

Casper

_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



Joerg Schilling
Joerg.Schilling@foku...
Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 4:35 AM   in response to: casper

  Click to reply to this thread Reply

Casper.***@sun.com wrote:

> The reason a split "/" and "/usr" is *stupid* is fairly simple; there
> are precious few scenarios which you can recover without /usr.
>
> (E.g., you can *always* mount "/" because the kernel boots from it and
> knows the boot device; but there are many scenarios where the /usr cannot
> be mounted and where recovery is not possible, e.g., when the devices
> pointing to the disk are not in the filesystem)

This has been true in former times. Since we have the devfs on /devices, this
is most unlikely and would lead to a broken kernel.

> >Why doesn't apply the same argumentation to "libshell in the root
> >filesystem", too ?
>
> Because we need one shell and /sbin/sh suffices for now.

This is my impression too:

Let us have the smalles possible shell as /usr/bin/sh & /sbin/sh

> >- |libc::wordexp()| currently uses the old Solaris /usr/bin/ksh but
> >should use "ksh93" in the future. Since libc sits in "/lib" it may be
> >nice to have a copy of ksh93 in the root filesystem, too - otherwise
> >|libc::wordexp()| will only work when "/usr" is mounted
>
> So this currently doesn't work when /usr isn't mounted.

Correct.


> >- Replace some of the standalone commands with the libshell builtins
> >(low-hanging fruits include "sleep", "pwd", "test" etc.)
>
> All programs living in /usr

If we talk about thiese functions, I still do not understand why ksh still
not includes "sync" as builtin while my "bsh" (where I did start with
a cursor editable history between 1982 and 1984) includes the sync command
as builtin since 1982.

This did save me a lot of trouble in the 1980s with SunOS when the machine
was unresponsive but my login shell did still work. I did type sync; sync
and then powercled.


Jörg

--
EMail:joerg at schily dot isdn dot cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
js@cs.tu-berlin.de (uni)
schilling at fokus dot fraunhofer dot de (work) Blog: http://schily.blogspot.com/
URL: http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



casper

Posts: 3,398
From:

Registered: 3/9/05
Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 4:41 AM   in response to: Joerg Schilling

  Click to reply to this thread Reply



>This has been true in former times. Since we have the devfs on /devices, this
>is most unlikely and would lead to a broken kernel.

"devfs" isn't really relevant; I think that it may now work since b48.


Casper

_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



Joerg Schilling
Joerg.Schilling@foku...
Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 4:49 AM   in response to: casper

  Click to reply to this thread Reply

Casper.***@sun.com wrote:

>
>
> >This has been true in former times. Since we have the devfs on /devices, this
> >is most unlikely and would lead to a broken kernel.
>
> "devfs" isn't really relevant; I think that it may now work since b48.

What should this mean?

Does Solaris now correctly show /devices/ramdisk instead of /ramdisk
after the kernel has come up?

If defvs would be unusable for mounting existing devices; I would not be
able to mount the CD-ROM from Schillix since 16 months.


Jörg

--
EMail:joerg at schily dot isdn dot cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
js@cs.tu-berlin.de (uni)
schilling at fokus dot fraunhofer dot de (work) Blog: http://schily.blogspot.com/
URL: http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



gisburn

Posts: 3,657
From: DE

Registered: 6/16/05
"sync" builtin in ksh93 ? / was: Re: [osol-arc] Re: Re: Korn Shell93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 6:44 PM   in response to: Joerg Schilling

  Click to reply to this thread Reply

Joerg Schilling wrote:
[snip]
> If we talk about thiese functions, I still do not understand why ksh still
> not includes "sync" as builtin while my "bsh" (where I did start with
> a cursor editable history between 1982 and 1984) includes the sync command
> as builtin since 1982.
>
> This did save me a lot of trouble in the 1980s with SunOS when the machine
> was unresponsive but my login shell did still work. I did type sync; sync
> and then powercled.

That's easy... :-)
... feel free to file an RFE at
http://bugs.grommit.com/enter_bug.cgi?product=ksh93-integration ... :-)

----

Bye,
Roland

--
__ . . __
(o.\ \/ /.o) roland dot mainz at nrubsig dot org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 7950090
(;O/ \/ \O;)
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



mschafft

Posts: 20
From:

Registered: 7/22/06
Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 6:20 AM   in response to: casper

  Click to reply to this thread Reply

On 9/21/06, Casper.***@sun.com <Casper.***@sun.com> wrote:
>
> >I think you will still get that answer when you ask in
> >news:comp.unix.solaris (e.g. this knowledge doesn't seem to be
> >well-known outside Sun...) ... ;-(
>
>
> Yes, but that doesn't mean that the answer is basically "wrong" in
> the sense that the answer usually includes arguments like:
>
> - root's shell is used during boot (false)
> - root's shell is used for certain scripts (false)
> - root's shell should be statically linked (false, very much
> so in Solaris 10)
>
> Only the last answer was ever appropriate for earlier releases;
> the second argument was partially appropriate when our /etc/rc?.d scripts
> did not all start with #!.
>
> >Uhm... I do not think it is "stupid" to split "/" and "/usr" - sometimes
> >it is usefull to do it for performance or other reasons (like using
> >seperate physical disks for "/" and "/usr") ...
>
> For performance reasons? C'mon.
>
> The reason a split "/" and "/usr" is *stupid* is fairly simple; there
> are precious few scenarios which you can recover without /usr.
>
> (E.g., you can *always* mount "/" because the kernel boots from it and
> knows the boot device; but there are many scenarios where the /usr cannot
> be mounted and where recovery is not possible, e.g., when the devices
> pointing to the disk are not in the filesystem)
>
>
> >Why doesn't apply the same argumentation to "libshell in the root
> >filesystem", too ?
>
> Because we need one shell and /sbin/sh suffices for now.

Sounds you like being a little sadist and punish users with /sbin/sh.
Casper, could you elaborate why Sun is not willing to address the
problems with /sbin/sh and isn't even willing to support an
alternative, pls?
--
// Martin Schaffstall
// EMail: martin dot schaffstall at googlemail dot com
\\ //
\X/
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



casper

Posts: 3,398
From:

Registered: 3/9/05
Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 6:24 AM   in response to: mschafft

  Click to reply to this thread Reply



>Sounds you like being a little sadist and punish users with /sbin/sh.
>Casper, could you elaborate why Sun is not willing to address the
>problems with /sbin/sh and isn't even willing to support an
>alternative, pls?

The current ARC case is about ksh93 integration; it is not about
replacing /sbin/sh with ksh93 or changing root's default shell.

In the context of the ARC case, your question does not make sense.

Casper

_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



mschafft

Posts: 20
From:

Registered: 7/22/06
Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 6:55 AM   in response to: casper

  Click to reply to this thread Reply

On 9/21/06, Casper.***@sun.com <Casper.***@sun.com> wrote:
>
>
> >Sounds you like being a little sadist and punish users with /sbin/sh.
> >Casper, could you elaborate why Sun is not willing to address the
> >problems with /sbin/sh and isn't even willing to sup***t an
> >alternative, pls?
>
> The current ARC case is about ksh93 integration; it is not about
> replacing /sbin/sh with ksh93 or changing root's default shell.
>
> In the context of the ARC case, your question does not make sense.

No, it makes sense in the context of this ARC case. /sbin/ksh93 would
be an alternative for boot scripts. /sbin/sh is a pain in the *** and
I am wondering why an alternative is not even considered
--
// Martin Schaffstall
// EMail: martin dot schaffstall at googlemail dot com
\\ //
\X/
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



carlsonj

Posts: 6,810
From: US

Registered: 3/9/05
Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 7:46 AM   in response to: mschafft

  Click to reply to this thread Reply

Martin Schaffstall w***es:
> On 9/21/06, Casper.***@sun.com <Casper.***@sun.com> wrote:
> >
> >
> > >Sounds you like being a little sadist and punish users with /sbin/sh.
> > >Casper, could you elaborate why Sun is not willing to address the
> > >problems with /sbin/sh and isn't even willing to support an
> > >alternative, pls?
> >
> > The current ARC case is about ksh93 integration; it is not about
> > replacing /sbin/sh with ksh93 or changing root's default shell.
> >
> > In the context of the ARC case, your question does not make sense.
>
> No, it makes sense in the context of this ARC case. /sbin/ksh93 would
> be an alternative for boot scripts. /sbin/sh is a pain in the *** and
> I am wondering why an alternative is not even considered

Note that we're talking here _only_ about boot scripts that execute
before /usr is mounted read-only. That's really not very many.

--
James Carlson, KISS Network <james dot d dot carlson at sun dot com>
Sun Microsystems / 1 Network Drive 71.232W Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



darrenm

Posts: 3,793
From: GB

Registered: 3/9/05
Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 8:24 AM   in response to: mschafft

  Click to reply to this thread Reply

Martin Schaffstall w***e:
> On 9/21/06, Casper.***@sun.com <Casper.***@sun.com> wrote:
>>
>>
>> >Sounds you like being a little sadist and punish users with /sbin/sh.
>> >Casper, could you elaborate why Sun is not willing to address the
>> >problems with /sbin/sh and isn't even willing to support an
>> >alternative, pls?
>>
>> The current ARC case is about ksh93 integration; it is not about
>> replacing /sbin/sh with ksh93 or changing root's default shell.
>>
>> In the context of the ARC case, your question does not make sense.
>
> No, it makes sense in the context of this ARC case. /sbin/ksh93 would
> be an alternative for boot scripts. /sbin/sh is a pain in the *** and
> I am wondering why an alternative is not even considered

They *YOU* should convince the *project team* that they should add this
to the scope of *this* project. There are ARC members who have already
said they don't see it necessary for *this* case and it is better
addressed in the future. I don't see that anyone has said never, it is
more that we are trying to *help* get ksh93 into OpenSolaris and Solaris
as soon as possible - and that often means keeping the scope smaller
that some people might like.

--
Darren J Moffat
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



darrenm

Posts: 3,793
From: GB

Registered: 3/9/05
Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 6:30 AM   in response to: mschafft

  Click to reply to this thread Reply

Martin Schaffstall wrote:

>> Because we need one shell and /sbin/sh suffices for now.
^^^^^^^^^^^^^^^^^

> Sounds you like being a little sadist and punish users with /sbin/sh.
> Casper, could you elaborate why Sun is not willing to address the
> problems with /sbin/sh and isn't even willing to support an
> alternative, pls?

Well I'm not Casper but here is my take on this.

*This* ARC case is just about adding ksh93 under that basename, it is
*NOT* addressing the replacement of the current /usr/bin/ksh or the
/usr/xpg4/bin/ksh (but does imply that it will happen at some time in
the future). When the project team brings that case forward then is the
time to talk about /sbin/sh being the ksh93 code (and I hope the project
team will actually propose that). At this time lets not burden the
project team with more work they have enough to do.

--
Darren J Moffat
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



gisburn

Posts: 3,657
From: DE

Registered: 6/16/05
Re: Re: Korn Shell93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 4:56 PM   in response to: mschafft

  Click to reply to this thread Reply

Martin Schaffstall w***e:
> On 9/21/06, Casper.***@sun.com <Casper.***@sun.com> wrote:
[snip]
> > >Why doesn't apply the same argumentation to "libshell in the root
> > >filesystem", too ?
> >
> > Because we need one shell and /sbin/sh suffices for now.
>
> Sounds you like being a little sadist and punish users with /sbin/sh.

It would be nice to avoid attacking people at the personal level.
I agree with the opinion that /sbin/sh is a pain and we may be able to
address this issue somewhere in the future but this is not the subject
of this ARC case - and for now /sbin/sh is more or less sufficient to
get the system up and running. After this point it is no longer really
needed (except in emergencies in which case I was hoping for a
/sbin/ksh93 as an alternative - but the current objections from ARC made
this idea simply impossible).

----

Bye,
Roland

--
__ . . __
(o.\ \/ /.o) roland dot mainz at nrubsig dot org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 7950090
(;O/ \/ \O;)
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



plocher

Posts: 1,495
From:

Registered: 5/18/05
Re: [osol-arc] Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 8:17 PM   in response to: mschafft

  Click to reply to this thread Reply

Martin Schaffstall w***e:
> On 9/21/06, Casper.***@sun.com <Casper.***@sun.com> wrote:
>> Because we need one shell and /sbin/sh suffices for now.
>
>
> Sounds you like being a little sadist and punish users with /sbin/sh.
> Casper, could you elaborate why Sun is not willing to address the
> problems with /sbin/sh and isn't even willing to support an
> alternative, pls?

Martin and others,

Please try and make a distinction between the various roles that
people are playing in this conversation, and don't jump to misinformed
conclusions about conspiracies...

Casper is involved in this discussion in his roles as a PSARC
Licensee, a Sun employed engineer, and as a member of the
opensolaris-arc community. In particular, he is not participating in
his role as a CAB member, nor does he even *have* a role as "policy
maker and spokesperson for Sun".

You should read his (and mine, and others) email as being one person's
opinion. Granted, Casper has considerable experience, but, like
anyone of us, he can be wrong, misinformed or even outvoted.

ARC Review is a discussion among senior engineers about the impact of
a project on OpenSolaris. The views expressed by the participants
certainly aren't set by Sun management, don't necessarily reflect
those of our sponsors, and probably won't even be understood by them.
In general, they are opinions based on past experience, and many
times reflect deep understandings of problems in areas that others
didn't even realize existed. As the ARC Review discussion progresses,
the participants on all sides are expected to learn and adapt so that,
over time, they converge on a mutually agreeable outcome. That
outcome isn't set in stone, and certainly isn't set by any single person.

Rest assured that everyone I know who is involved in this ksh93
discussion wants the project to succeed. They just want it to succeed
in a way that does the least damage to the existing Open- and
Closed-Solaris systems, and in a way that best provides for the future
evolution of both ksh93 *and* OpenSolaris with the minimum of disruption.

We now return to your regularly scheduled debate...

-John
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



gisburn

Posts: 3,657
From: DE

Registered: 6/16/05
Re: [osol-arc] Re: Re: Korn Shell93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 24, 2006 5:08 PM   in response to: plocher

  Click to reply to this thread Reply

John Plocher wrote:
[snip]
> Rest assured that everyone I know who is involved in this ksh93
> discussion wants the project to succeed. They just want it to succeed
> in a way that does the least damage to the existing Open- and
> Closed-Solaris systems, and in a way that best provides for the future
> evolution of both ksh93 *and* OpenSolaris with the minimum of disruption.

What exactly is the problem with the idea to ship a merged libcmd with
Solaris Nevada ? The design is compatible to BOTH existing versions of
libcmd and in the not so distant future - maybe even before the Nevada
gates closes - all consumers of the |def*()| functions have been
switched over to the new API and then libcmd would be for AST (which
includes ksh93) and the Solaris commands only again.

----

Bye,
Roland

--
__ . . __
(o.\ \/ /.o) roland dot mainz at nrubsig dot org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 7950090
(;O/ \/ \O;)
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



alanc

Posts: 5,504
From: US

Registered: 3/9/05
Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 8:09 AM   in response to: casper

  Click to reply to this thread Reply

Casper.***@Sun.COM wrote:
> The reason a split "/" and "/usr" is *stupid* is fairly simple; there
> are precious few scenarios which you can recover without /usr.

I've tried to do this before, on an x86 machine which had a hardware
failure so we moved the disk to another machine, but the device paths
changed so only / could mount. It would have been very nice to have
a shell with builtins for the commands from /usr/bin working - while
"echo *" works for ls, it's not the same.

Having learned from that, I rarely make /usr a separate partition anymore,
though I also have the advantage of not having as high a security burden
as when I was setting up internet-exposed machines and making /usr read-only
for a small bit of protection against script kiddies with canned exploits
that tried to write there.

--
-Alan Coopersmith- alan dot coopersmith at sun dot com
Sun Microsystems, Inc. - X Window System Engineering
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



Joerg Schilling
Joerg.Schilling@foku...
Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 9:03 AM   in response to: alanc

  Click to reply to this thread Reply

Alan Coopersmith <alan dot coopersmith at sun dot com> wrote:

> Casper.***@Sun.COM wrote:
> > The reason a split "/" and "/usr" is *stupid* is fairly simple; there
> > are precious few scenarios which you can recover without /usr.
>
> I've tried to do this before, on an x86 machine which had a hardware
> failure so we moved the disk to another machine, but the device paths
> changed so only / could mount. It would have been very nice to have
> a shell with builtins for the commands from /usr/bin working - while
> "echo *" works for ls, it's not the same.

Which OS release was this?

BTW: I would like to see find in /sbin as it helps to find nodes in /devices ;-)

Jörg

--
EMail:joerg at schily dot isdn dot cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
js@cs.tu-berlin.de (uni)
schilling at fokus dot fraunhofer dot de (work) Blog: http://schily.blogspot.com/
URL: http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



plocher

Posts: 1,495
From:

Registered: 5/18/05
Re: [osol-arc] Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 10:23 AM   in response to: casper

  Click to reply to this thread Reply

Casper.***@Sun.COM wrote:

> I'm not saying that we should avoid using libshell in SMF at all costs,
> but I have yet to see a reason, let alone a compelling reason, for it
> to use libshell.


[Intentionally not stepping into the / -vs /usr debate here...]

[The whole issue of SMF/libshell is out of scope for this project:
2006/550 - ksh93 integration]

Roland has given (IMHO) a very valid reason to do so - the SMF
community (which includes Roland and other non-"Sun internal SMF team"
people as well) is considering some interesting ways to innovate with
SMF and libshell. Now, it may be that the community isn't of one mind
in this particular issue or it may be that this discussion is more
about alternative visions of potential futures, but those are problems
that the community gets to deal with, not the ARCs

In the "governance" conversation, if a community wishes to go down a
path of discovery and experimentation to see if they can come up with
interesting features, they are free to do so; nobody outside that
community is empowered to make the "do we want to do this?" decisions
for them.

Even the ARC process can't counteract that resolve; all it can do as
it addresses the related question of "is this the best way to do it?"
is to require the community to better articulate its desires (NEED
SPEC or "REJECTED - go back and start over") or have it change the
architecture/design of their proposed implementation (TCR/TCA).

Just because Sun engineers aren't playing in that particular part of
the sandbox doesn't mean that nobody else will; nor does it imply that
those other parts of the sandbox are inherently bad (always excepting
cats, of course :-)

-John
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



dep

Posts: 370
From:

Registered: 3/9/05
Re: Re: Korn Shell 93 Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 3:40 PM   in response to: gisburn

  Click to reply to this thread Reply

On Thu, Sep 21, 2006 at 12:07:36AM +0200, Roland Mainz wrote:
> > And I also suggest we move all ksh93 libaries to /usr/lib with
> > the needed exception of libcmd.
>
> <blink><marquee>DEFINATELY NO</marquee></blink>. At some point we will
> have followup projects and many of them (like SMF) simply need libshell
> in the root filesystem because the consumers live there, too.

That's an interesting assertion. Could you elaborate?

I know little about libshell, but I'll admit the possibility that it
offers truly compelling functionality. That said, as a member of the
SMF team, the fact that SMF "simply needs" libshell is news to me.

Dave

_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



gisburn

Posts: 3,657
From: DE

Registered: 6/16/05
libshell&&SMF / was: Re: Re: Korn Shell 93 Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 6:01 PM   in response to: dep

  Click to reply to this thread Reply

David Powell wrote:
> On Thu, Sep 21, 2006 at 12:07:36AM +0200, Roland Mainz wrote:
> > > And I also suggest we move all ksh93 libaries to /usr/lib with
> > > the needed exception of libcmd.
> >
> > <blink><marquee>DEFINATELY NO</marquee></blink>. At some point we will
> > have followup projects and many of them (like SMF) simply need libshell
> > in the root filesystem because the consumers live there, too.
>
> That's an interesting assertion. Could you elaborate?

Yes, but it would be nice to start a seperate thread for this because
this is IMO hightly offtopic for this ARC case...

> I know little about libshell, but I'll admit the possibility that it
> offers truly compelling functionality. That said, as a member of the
> SMF team, the fact that SMF "simply needs" libshell is news to me.

We've been experimenting with some ideas to add things like event-driven
actions and scripting functionlity to SMF. The idea is to have a
dbx/dtksh/tksh-like "shell" interface which contains a couple of
additional things on top of ksh93/libshell, including:
- New builtin commands to control SMF services (like "enable",
"disable", "restart", "refresh", "mark", "clear", "milestone",
"setcurrentservice", "getcurrentservice", "catch", "commit" etc.) and
it's processes (including a way to set the process "projectid", "renice"
all processes belonging to a service (AFAIK these features are missing
in SMF) etc.)
- New variables (maintained by discipline functions) which can be used
to get/set the status (and other attributes) of services (where setting
a variable can either have an immediate effect or execute the changes
when the "commit" command is used)
- The ability to register "callback" functions for specific events (for
example: service started/start completed/terminated/failed (or better:
pre-,poststart/pre-,postshutdown/pre-,postenable/pre-,postdisable/pre-,postma rk/failed/error/manifest_loaded/DOM-events
for manifest changes etc.) etc.)
- The ability to read/modify/write+override SMF manifests (somewhere we
have a SAX+DOM implementation for ksh93 floating around which may be
usefull)

----

Bye,
Roland

--
__ . . __
(o.\ \/ /.o) roland dot mainz at nrubsig dot org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 7950090
(;O/ \/ \O;)
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



dep

Posts: 370
From:

Registered: 3/9/05
Re: libshell&&SMF / was: Re: Re: Korn Shell 93 Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 1:00 PM   in response to: gisburn

  Click to reply to this thread Reply

On Thu, Sep 21, 2006 at 03:02:35AM +0200, Roland Mainz wrote:
> David Powell wrote:
> > On Thu, Sep 21, 2006 at 12:07:36AM +0200, Roland Mainz wrote:
> > > > And I also suggest we move all ksh93 libaries to /usr/lib with
> > > > the needed exception of libcmd.
> > >
> > > <blink><marquee>DEFINATELY NO</marquee></blink>. At some point we will
> > > have followup projects and many of them (like SMF) simply need libshell
> > > in the root filesystem because the consumers live there, too.
> >
> > That's an interesting assertion. Could you elaborate?
>
> Yes, but it would be nice to start a seperate thread for this because
> this is IMO hightly offtopic for this ARC case...

Quite the contrary: this appears to be an important part of your
justification for including libshell in /lib, and your justification
for including libshell in /lib is an important part of an ARC case
that proposes putting it there.

> > I know little about libshell, but I'll admit the possibility that it
> > offers truly compelling functionality. That said, as a member of the
> > SMF team, the fact that SMF "simply needs" libshell is news to me.
>
> We've been experimenting with some ideas to add things like event-driven
> actions and scripting functionlity to SMF. The idea is to have a
> dbx/dtksh/tksh-like "shell" interface which contains a couple of
> additional things on top of ksh93/libshell, including:

This all sounds fascinating, but these projects don't exist yet.
They are neither defined by this proposal, nor any other formal
proposal submitted to the ARC. We don't know when such changes will
happen, or if they will happen at all.

There might be good reasons for shipping libshell in /lib (to
millions of OpenSolaris users), but the anticipation of possible
projects that might someday happen isn't one.

Dave

_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



Joerg Schilling
Joerg.Schilling@foku...
Re: Re: Korn Shell 93 Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 3:42 AM   in response to: gisburn

  Click to reply to this thread Reply

Roland Mainz <roland dot mainz at nrubsig dot org> wrote:

> Casper.***@sun.com wrote:
> >
> > >I don't know that I can argue for ksh93 versus any other shell,
> > >but adding /sbin/ksh93 at least gives us one modern, more feature-rich
> > >alternative to the bourne shell (/sbin/sh), for use as the root shell,
> > >in JumpStart scripts, or in single-user mode, when dealing with filesystem
> > >problems.
> >
> > I don't think that's a strong enough reason:
> >
> > - you can already use any shell as root shell; is /usr isn't
> > mounted /sbin/sh is used instead.
>
> Do you mean replacing "root"'s login shell in /etc/passwd with any shell
> ? Where is this documented (AFAIK the recommentation over all the years
> was "... don't do that. Never. Don't touch it or your system will
> explode (sooner or later) ...") ?

If you really like to put ksh93 into / you would need to have extra hooks for
all needed shared libs in /lib. Dou you really like to do this?

Jörg

--
EMail:joerg at schily dot isdn dot cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
js@cs.tu-berlin.de (uni)
schilling at fokus dot fraunhofer dot de (work) Blog: http://schily.blogspot.com/
URL: http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



gisburn

Posts: 3,657
From: DE

Registered: 6/16/05
Extra hooks for ksh93 libraries ? / was: Re: [osol-arc] Re: Re: Korn Shell 93Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 6:46 PM   in response to: Joerg Schilling

  Click to reply to this thread Reply

Joerg Schilling wrote:
> Roland Mainz <roland dot mainz at nrubsig dot org> wrote:
> > Casper.***@sun.com wrote:
> > >
> > > >I don't know that I can argue for ksh93 versus any other shell,
> > > >but adding /sbin/ksh93 at least gives us one modern, more feature-rich
> > > >alternative to the bourne shell (/sbin/sh), for use as the root shell,
> > > >in JumpStart scripts, or in single-user mode, when dealing with filesystem
> > > >problems.
> > >
> > > I don't think that's a strong enough reason:
> > >
> > > - you can already use any shell as root shell; is /usr isn't
> > > mounted /sbin/sh is used instead.
> >
> > Do you mean replacing "root"'s login shell in /etc/passwd with any shell
> > ? Where is this documented (AFAIK the recommentation over all the years
> > was "... don't do that. Never. Don't touch it or your system will
> > explode (sooner or later) ...") ?
>
> If you really like to put ksh93 into / you would need to have extra hooks for
> all needed shared libs in /lib. Dou you really like to do this?

What do you mean with "extra hooks" ?

----

Bye,
Roland

--
__ . . __
(o.\ \/ /.o) roland dot mainz at nrubsig dot org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 7950090
(;O/ \/ \O;)
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



darrenm

Posts: 3,793
From: GB

Registered: 3/9/05
Re: Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 5:21 AM   in response to: casper

  Click to reply to this thread Reply

Casper.***@Sun.COM wrote:
>> I don't know that I can argue for ksh93 versus any other shell,
>> but adding /sbin/ksh93 at least gives us one modern, more feature-rich
>> alternative to the bourne shell (/sbin/sh), for use as the root shell,
>> in JumpStart scripts, or in single-user mode, when dealing with filesystem
>> problems.
>
> I don't think that's a strong enough reason:
>
> - you can already use any shell as root shell; is /usr isn't
> mounted /sbin/sh is used instead.
>
> By this reasoning, we should add bash/zsh/tcsh/csh there too.
>
> If you have a separate /usr, well, you pretty much deserve the
> barebones system you get.

... and when we have ZFS boot it is very unlikely that you would be able
to have a / and /usr out of the same pool where / is available but /usr
is not.

IMO /usr as a separate file system is a dead concept and is no longer
relevant, however the / /usr packaging split is not (it is an important
distinction).

--
Darren J Moffat
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



gisburn

Posts: 3,657
From: DE

Registered: 6/16/05
ZFS and '/'+'/usr' split / was: Re: Re: Korn Shell 93 Integration[PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 4:23 PM   in response to: darrenm

  Click to reply to this thread Reply

Darren J Moffat wrote:
> Casper.***@Sun.COM wrote:
> >> I don't know that I can argue for ksh93 versus any other shell,
> >> but adding /sbin/ksh93 at least gives us one modern, more feature-rich
> >> alternative to the bourne shell (/sbin/sh), for use as the root shell,
> >> in JumpStart scripts, or in single-user mode, when dealing with filesystem
> >> problems.
> >
> > I don't think that's a strong enough reason:
> >
> > - you can already use any shell as root shell; is /usr isn't
> > mounted /sbin/sh is used instead.
> >
> > By this reasoning, we should add bash/zsh/tcsh/csh there too.
> >
> > If you have a separate /usr, well, you pretty much deserve the
> > barebones system you get.
>
> .. and when we have ZFS boot it is very unlikely that you would be able
> to have a / and /usr out of the same pool where / is available but /usr
> is not.
>
> IMO /usr as a separate file system is a dead concept and is no longer
> relevant, however the / /usr packaging split is not (it is an important
> distinction).

I do not agree. ZFS is really not the solution for all problems.

ZFS has great problems with performace, resource usage (the memory usage
is excessive compared to both QFS and UFS) and lacks even basic features
needed for HPC applications (like guranteed bandwith or moving the inode
data on a seperate physical disk (for example QFS can do that)) - and
baased on the discussions on zfs-discuss I think we will not see such
features in the forseeable future. AFAIK Holger Berger and his team
evaluated ZFS a while ago and their results were not promising (compared
to XFS, QFS, VxFS, ReiserFS and a bunch of other filesystems on various
operating systems).

IMO the design and requirements should not depend on a specific
filesystem.

----

Bye,
Roland

--
__ . . __
(o.\ \/ /.o) roland dot mainz at nrubsig dot org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 7950090
(;O/ \/ \O;)
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



gisburn

Posts: 3,657
From: DE

Registered: 6/16/05
Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 2:48 PM   in response to: April Chin

  Click to reply to this thread Reply

April Chin wrote:
> > Whoot, Whoot! Its about time (even if this isn't currently called ksh).
> >
> > One minor comment:
> >
> > /sbin/ksh93 32-bit korn shell (2nd copy)
> > /sbin/pfksh93 hard link to /sbin/ksh93
> > /sbin/rksh93 hard link to /sbin/ksh93
> >
> > Do we need these any more than /sbin/bash, /sbin/zsh, ... ?
>
> I don't know that I can argue for ksh93 versus any other shell,
> but adding /sbin/ksh93 at least gives us one modern, more feature-rich
> alternative to the bourne shell (/sbin/sh), for use as the root shell,
> in JumpStart scripts, or in single-user mode, when dealing with filesystem
> problems.

And I forgot about the "jumpstart" thing. The lack of a decent shell
during jumpstart runtime is annoying, too.

----

Bye,
Roland

--
__ . . __
(o.\ \/ /.o) roland dot mainz at nrubsig dot org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 7950090
(;O/ \/ \O;)
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



casper

Posts: 3,398
From:

Registered: 3/9/05
Re: Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 3:16 PM   in response to: gisburn

  Click to reply to this thread Reply


>And I forgot about the "jumpstart" thing. The lack of a decent shell
>during jumpstart runtime is annoying, too.

/usr is there during jumpstart.

Casper
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



April Chin
April.Chin@eng.sun.com
Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 2:23 PM   in response to: Don Cragun

  Click to reply to this thread Reply

Yes, ksh93 and pfksh93 will be added to getusershell(3c).
The manpage changes in the case include getusershell.3c changes,
including the addition of /usr/bin/{ksh93,pfksh93}, /bin/{ksh93,pfksh93},
and /sbin/{ksh93,pfksh93), but not rksh93, as Casper points out.
The restricted shells should not be included.

April

> Date: Wed, 20 Sep 2006 13:32:11 -0700 (PDT)
> From: Gary Winiger <gww at tundra dot sfbay dot sun dot com>
> To: PSARC-EXT at sac dot sfbay dot sun dot com, don dot cragun at sun dot com
> Cc: April dot Chin at eng dot sun dot com, ksh93-integration-discuss at opensolaris dot org,
roland dot mainz at nrubsig dot org
> Subject: Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout:
09/27/2006]
>
> > Interface Description
> > --------- -----------
> > /usr/bin/ksh93 the korn shell
> > /usr/bin/pfksh93 profile shell
> > /usr/bin/rksh93 restricted shell
>
> Will these be added to getusershell(3C) or will an /etc/shells
> be delivered with these and the other "legal user shell"s?
>
> Gary..

_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



Tim Marsland
tpm@eng.sun.com
Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 3:57 PM   in response to: April Chin

  Click to reply to this thread Reply

Though I don't think this is part of this proposal ... as for
changing the default root shell (which we should, because the existing
choice is awful) wouldn't we change it to bash so as to be finger
compatible with the rest of the world?

As for the compatibility issues in this case, I'd prefer to see a
proposal that splits what we'd do "looking backwards" to S9 and S10
where compatibility expectations are extremely high, and what
we'd do "looking forwards" in Nevada, where minor-release compatibility
expectations (and the resulting complexity) are intrinsically lower.

tim
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



April Chin
April.Chin@eng.sun.com
Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 4:36 PM   in response to: Don Cragun

  Click to reply to this thread Reply


> Date: Wed, 20 Sep 2006 14:15:02 -0700
> From: Mike Oliver <Mike dot Oliver at Sun dot COM>
>
> BTW, the second paragraph in item 1 of the COMPAT summary:
>
> In ksh93, local variables only exist for POSIX-style
> (func()) functions. In non-POSIX-style functions, variables
> declared with "typeset var" remain global in scope, and are shared
> between the calling program and the function.
>
> is incorrect. It's the POSIX-style functions that always operate on
> global variables. Non-POSIX functions retain the ability to create
> local variables via 'typedef'.

Thanks for the correction. Yes, what it should say is:

In ksh93, local variables only exist for non-POSIX-style
(function func) functions. In POSIX-style functions (func()),
variables declared with "typeset var" remain global in scope,
and are shared between the calling program and the function.

Sorry about that.
>
<http://
> gets this right, although it's wrong about non-POSIX functions
> maintaining backwards compatibility. For one thing, the behaviour
> of a local variable in ksh93 is incompatible with the existing
> Solaris ksh because the semantics of a variable's "readonly"
> ('typeset -r') attribute are very different.

Can you elaborate, please? It sounds like something else to be
added to the compatibility list.

Thanks,
April

>
> Mike.
> --
> mike dot oliver at sun dot com

_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



David Korn
dgk@research.att.com
Re: Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 7:29 PM   in response to: April Chin

  Click to reply to this thread Reply


> On Wed, Sep 20, 2006 at 04:23:57PM -0400, James Carlson wrote:
> > Don Cragun writes:
> > > standard-compliant /usr/xpg4/bin/sh with ksh93. Thus this project
> > > needs to be aware of potential compatibility problems. See COMPAT file
> > > for a list of known incompatibilities between ksh93 and Solaris ksh.
> >
> > What's the plan here? Some of those incompatibilities seem rather
> > stark to me. Will incompatible changes be made to the open source
> > version in order to keep compatibility with the old ksh? Or will the
> > Solaris-integrated ksh93 be made incompatible with the open source
> > version? Or do we intend to break compatibility in our own
> > /usr/bin/ksh in the future?
> >
> > I realize that the complete set of answers might not yet be known, but
> > is there a plan of some sort?
>
> Incompatibility (1) seems likely to break a lot of scripts (I am fond of
> function() function-declaration syntax, so my scripts would break).
This is the imcompatibility that is most likely to effect existing
scripts. There are a few ways to minimize this.
1. Add local variables to name() functions.
2. Detect name() functions with local variables when reading the script
and treat these as if the user had entered function name.
3. Detect name() functions with local variables when reading the script
and exec ksh88
on this script.
It would be easy to implement #2 but it could break some existing ksh93
scripts that assume that you can use typeset to declare global
variables with attributes.
>
> Incompatibility (9)... Does this mean pattern matching in the same
> statement/command? Or subsequently for the rest of the script? Sounds
> like a bug.
I don't get what your concern is? Some changes were consequenses
of the posix standard. For example, the 126 and 127 exit codes
are not compatible with earlier shells. I can't say that I have ever
gotten an e-mail about a script that broke becasue of (9).
>
> I don't understand (6).
In earlier version of ksh.
echo $'foo'
would output
$foo
not the value will be
foo
Also echo $'foo\nbar'
will not output
foo
bar
not
$foo\nbar
>

> (10) will almost certainly break scripts.
This is not accurate. This only applies to new builtins. Builtins that were
builtins in earlier versions are still executed first. Only new builtins
not necessarily executed first.
>
> (12) could be finnessed (one signal per-line if stdout is a pipe, say).
I don't know what this ahs to do with (12).
>
> I'm guessing most of these could be finessed so that when invoked as
> "ksh" they go away.
>
> Nico
> --
> _______________________________________________
> ksh93-integration-discuss mailing list
> ksh93-integration-discuss at opensolaris dot org
> http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss
>

David Korn
dgk at research dot att dot com
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



nico

Posts: 3,422
From: Austin, TX, USA

Registered: 6/15/05
Re: Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 7:05 AM   in response to: David Korn

  Click to reply to this thread Reply

On Wed, Sep 20, 2006 at 10:29:17PM -0400, David Korn wrote:
> > Incompatibility (1) seems likely to break a lot of scripts (I am fond of
> > function() function-declaration syntax, so my scripts would break).
> This is the imcompatibility that is most likely to effect existing
> scripts. There are a few ways to minimize this.
> 1. Add local variables to name() functions.
> 2. Detect name() functions with local variables when reading the script
> and treat these as if the user had entered function name.
> 3. Detect name() functions with local variables when reading the script
> and exec ksh88
> on this script.
> It would be easy to implement #2 but it could break some existing ksh93
> scripts that assume that you can use typeset to declare global
> variables with attributes.

#1 sounds like the way to go.

#3... needs to deal with source of scripts as well.

> > I don't understand (6).
> In earlier version of ksh.

As April replied, we're not looking at the same list!

Nico
--
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



April Chin
April.Chin@eng.sun.com
Re: Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 20, 2006 11:12 PM   in response to: April Chin

  Click to reply to this thread Reply

The item numbers in the COMPAT file that are part of the PSARC case
are slightly different than those in the ksh88 vs. ksh93 COMPATIBILITY file
from AT&T that David may be referencing. The COMPAT file in the case
is based on the AT&T one but is specific to Solaris ksh (based
on ksh88 but has diverged) versus ksh93.

I've attached the COMPAT file from the ARC case with item #1 corrected
per Mike Oliver's comments; I had reversed the description of
the POSIX and non-POSIX function behavior.

Sorry for the confusion.

Thanks,
April

> X-Original-To: ksh93-integration-discuss at opensolaris dot org
> Delivered-To: ksh93-integration-discuss at opensolaris dot org
> Date: Wed, 20 Sep 2006 22:29:17 -0400 (EDT)
> From: David Korn <dgk at research dot att dot com>
> Mime-Version: 1.0
> Content-Transfer-Encoding: 7bit
> To: ksh93-integration-discuss at opensolaris dot org
> Subject: Re: [ksh93-integration-discuss] Re: Korn Shell 93 Integration
[PSARC-EXT/2006/550 Timeout: 09/27/2006]
> Cc: don dot cragun at Sun dot COM, PSARC-EXT at sac dot sfbay dot sun dot com, Nicolas dot Williams at Sun dot COM
> X-BeenThere: ksh93-integration-discuss at opensolaris dot org
> X-Mailman-Version: 2.1.4
> List-Id: Korn Shell 93 integration/migration project discussion
<ksh93-integration-discuss.opensolaris.org>
> List-Unsubscribe:
<http://,
<mailto:ksh93-integration-discuss-request at opensolaris dot org?subject=unsubscribe>
> List-Archive:
<http://
> List-Post: <mailto:ksh93-integration-discuss at opensolaris dot org>
> List-Help:
<mailto:ksh93-integration-discuss-request at opensolaris dot org?subject=help>
> List-Subscribe:
<http://,
<mailto:ksh93-integration-discuss-request at opensolaris dot org?subject=subscribe>
>
>
> > On Wed, Sep 20, 2006 at 04:23:57PM -0400, James Carlson wrote:
> > > Don Cragun writes:
> > > > standard-compliant /usr/xpg4/bin/sh with ksh93. Thus this project
> > > > needs to be aware of potential compatibility problems. See COMPAT file
> > > > for a list of known incompatibilities between ksh93 and Solaris ksh.
> > >
> > > What's the plan here? Some of those incompatibilities seem rather
> > > stark to me. Will incompatible changes be made to the open source
> > > version in order to keep compatibility with the old ksh? Or will the
> > > Solaris-integrated ksh93 be made incompatible with the open source
> > > version? Or do we intend to break compatibility in our own
> > > /usr/bin/ksh in the future?
> > >
> > > I realize that the complete set of answers might not yet be known, but
> > > is there a plan of some sort?
> >
> > Incompatibility (1) seems likely to break a lot of scripts (I am fond of
> > function() function-declaration syntax, so my scripts would break).
> This is the imcompatibility that is most likely to effect existing
> scripts. There are a few ways to minimize this.
> 1. Add local variables to name() functions.
> 2. Detect name() functions with local variables when reading the script
> and treat these as if the user had entered function name.
> 3. Detect name() functions with local variables when reading the script
> and exec ksh88
> on this script.
> It would be easy to implement #2 but it could break some existing ksh93
> scripts that assume that you can use typeset to declare global
> variables with attributes.
> >
> > Incompatibility (9)... Does this mean pattern matching in the same
> > statement/command? Or subsequently for the rest of the script? Sounds
> > like a bug.
> I don't get what your concern is? Some changes were consequenses
> of the posix standard. For example, the 126 and 127 exit codes
> are not compatible with earlier shells. I can't say that I have ever
> gotten an e-mail about a script that broke becasue of (9).
> >
> > I don't understand (6).
> In earlier version of ksh.
> echo $'foo'
> would output
> $foo
> not the value will be
> foo
> Also echo $'foo\nbar'
> will not output
> foo
> bar
> not
> $foo\nbar
> >
>
> > (10) will almost certainly break scripts.
> This is not accurate. This only applies to new builtins. Builtins that were
> builtins in earlier versions are still executed first. Only new builtins
> not necessarily executed first.
> >
> > (12) could be finnessed (one signal per-line if stdout is a pipe, say).
> I don't know what this ahs to do with (12).
> >
> > I'm guessing most of these could be finessed so that when invoked as
> > "ksh" they go away.
> >
> > Nico
> > --
> > _______________________________________________
> > ksh93-integration-discuss mailing list
> > ksh93-integration-discuss at opensolaris dot org
> > http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss
> >
>
> David Korn
> dgk at research dot att dot com
> _______________________________________________
> ksh93-integration-discuss mailing list
> ksh93-integration-discuss at opensolaris dot org
> http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss
INCOMPATIBLITIES BETWEEN ksh93s- and Solaris /usr/bin/ksh

Of these incompatibilities, the more serious are:
#1, #4, #5, #8, #9, #10, #13, and possibly #6.

1) In Solaris ksh, in both POSIX-style functions, declared as "func()"
and in non-POSIX-style functions, declared as "function func",
variables can be declared local to that function and all functions
it calls using the typeset special command, e.g., "typeset var".

In ksh93, local variables only exist for non-POSIX-style
(function func) functions. In POSIX-style functions (func()),
variables declared with "typeset var" remain global in scope,
and are shared between the calling program and the function.

2) In Solaris ksh, "alias -x" lists the exported aliases. In ksh93,
alias -x exits 0 and outputs nothing. However in Solaris ksh, exported
aliases do not work any differently than non-exported aliases.

3) In Solaris ksh, a dollar sign ($') followed by a single quote
is interpreted literally. In ksh93, you must escape the dollar
sign to get the previous behavior. Similarly, the dollar
sign ($") preceding a double quote in Solaris ksh must be escaped.
In ksh93, a $"..." string indicates a string to be translated
for locales other than C or POSIX.

Example:
In Solaris ksh: In ksh93:
% echo $'foo' % echo $'foo'
$foo foo
% echo $"foo" % echo $"foo"
$foo foo
% echo \$'foo' % echo \$'foo'
$foo $foo
% echo \$"foo" % echo \$"foo"
$foo $foo

4) In Solaris ksh, the exit status of a command that terminated because
it received a signal is 128+<signal #>. In ksh93, it is 256+<signal #>.
Users should therefore not be relying on specific exit values,
other than 0 for success or non-zero otherwise.

5) New built-ins in ksh93.

ksh93 will include several built-ins which are not built-ins in Solaris ksh,
and, if executed without a pathname prefix, may be run in place of the
corresponding Solaris /usr/bin binaries on the path:

printf
sleep

and these built-ins, which are executed if the corresponding /bin executable
is found on the path before any other:

cat
chown
head
mkdir
rmdir
tee
uniq
wc

Three known incompatibilities exist in the printf, mkdir, and uniq
built-ins ksh93, which are based upon POSIX requirements.
They are considered bugs, and it is expected that AT&T will
fix these shortly before or after ksh93 integrates into Solaris.
See builtin.bugs file for details.

6) Some built-ins don't allow options to be passed in any order as they
did previously. One known case is "typeset -8i <variable>", which
no longer works the same as "typeset -i8 <variable>" to set
an integer variable that is base 8.

7) The ENV variable in ksh93 is now evaluated for arithmetic expansions
$((<arithmetic value>)) and command substitution `<command>`
In Solaris ksh, it is not. Previous uses of ` and $( as
literal values in the ENV variable must be escaped with \.
This won't be an issue for scripts, which do not execute the
file pointed to by ENV. No problems are anticipated for this case.

8) The ERRNO variable has been dropped in ksh93.

9) In ksh93, pattern matching following a redirection symbol works only
in interactive shell, not in scripts.

10) In ksh93, the original arguments ($1, $2, $3, etc.) to a script
are restored after a dot script (. <script> <arg1> <arg2> ...)
is executed. In Solaris ksh, the original arguments are cleared
and replaced by any dot script arguments.

11) In ksh93, tracked aliases are only listed with "alias -t", not
with "alias" alone. Solaris ksh lists tracked aliases with both
"alias" and "alias -t".

12) "kill -l" in Solaris ksh lists all the signal names on a single line
"kill -l" in ksh93 lists each signal name on a separate line.

13) In arithmetic expansions, e.g., $((<arithmetic expr>)),
Solaris /usr/bin/ksh will interpret numbers starting with 0 (and not
starting with 0x or 0X) as decimal, not octal.
For example: $((010)) is a decimal 10, not an 8.
In /usr/xpg4/bin/sh and ksh93, $((010)) is interpreted as an octal,
so it is 8.
This behavior is the one difference between Solaris /usr/bin/ksh
and /usr/xpg4/bin/sh.

ksh93 additionally differs from the standard Solaris ksh (/usr/xpg4/bin/sh)
in one other way with respect to this feature, in that, although ksh93
recognizes octal *constants* in an arithmetic expansion, it does not
interpret *variables* containing numbers starting with 0, as octal
in an arithmetic expansion.

That is:

a=010
$(($a)) or $((a)) in ksh93 is a decimal 10
$(($a)) or $((a)) in /usr/xpg4/bin/sh is an octal number, so it is 8
For UNIX03 standards conformance, the above needs to be interpreted
as an octal.

14) In ksh93, the behavior of Ctrl-T in emacs mode is slightly different
than in Solaris ksh. In ksh93, in emacs mode, Ctrl-T transposes
the current and one previous character and moves the cursor
to the next character. In Solaris ksh, in emacs mode, Ctrl-T
transposes the current and *next* character and moves
the cursor position over one (to the old current character).
This is feature is only available for interactive korn shell.

15) In Solaris ksh, if /usr/ucb/echo is found first on the path,
the built-in echo command will try to emulate /usr/ucb/echo:
it supports the -n option to eliminate the newline at the
end of the string, and it will NOT understand the backslash escapes,
such as \t, \n, \a, etc.
ksh93 built-in echo does not try to emulate /usr/ucb/echo.

16) In emacs mode, Ctrl-V no longer prints the shell version number.
Instead, Ctrl-V is now a general escape character, which allows
one to enter any character using Ctrl-V<character>.

17) In ksh93, for all interactive shells, if there exists an
/etc/ksh.kshrc file, it will be executed before the file named by
the ENV environment variable ($HOME/.kshrc, by default).
Solaris ksh does not execute /etc/ksh.kshrc.
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss


carlsonj

Posts: 6,810
From: US

Registered: 3/9/05
Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 3:56 AM   in response to: April Chin

  Click to reply to this thread Reply

April Chin writes:
> Thanks for the correction. Yes, what it should say is:
>
> In ksh93, local variables only exist for non-POSIX-style
> (function func) functions. In POSIX-style functions (func()),
> variables declared with "typeset var" remain global in scope,
> and are shared between the calling program and the function.

I've updated the 'COMPAT' file.

--
James Carlson, KISS Network <james dot d dot carlson at sun dot com>
Sun Microsystems / 1 Network Drive 71.232W Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



April Chin
April.Chin@eng.sun.com
Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 1:37 AM   in response to: Don Cragun

  Click to reply to this thread Reply


> MIME-Version: 1.0
> Content-Transfer-Encoding: 7bit
> Date: Wed, 20 Sep 2006 16:23:57 -0400
> From: James Carlson <james dot d dot carlson at sun dot com>
> To: Don Cragun <don dot cragun at sun dot com>
> Cc: PSARC-EXT at sac dot sfbay dot sun dot com, April dot Chin at eng dot sun dot com,
ksh93-integration-discuss at opensolaris dot org, roland dot mainz at nrubsig dot org
> Subject: Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout:
09/27/2006]
>
> Don Cragun writes:
> > It is the goal of the project team to keep ksh93 in the Solaris operating
> > system updated with AT&T's latest version of ksh93 and its supporting
> > libraries. Thus it will be important to keep Solaris ksh93 source in sync,
> > including contributing Solaris-specific changes back to the
> > AT&T source.
>
> With an Uncommitted stability level, you won't be able to make
> incompatible patches for the ksh93 scripting interface once Nevada
> ships. Is that the intended solution? Is a snapshot once per minor
> release enough of an update frequency?

My understanding is that David Korn is very committed to compatibility, so
we should be able to update more frequently than once per minor release.

>
> Will at least some parts of the scripting interface eventually be
> Committed? It seems that they will need to be, if ksh replacement is
> one of the goals.

Yes, we intend to move toward a Committed interface for ksh93
before it replaces /usr/bin/ksh.

>
> > standard-compliant /usr/xpg4/bin/sh with ksh93. Thus this project
> > needs to be aware of potential compatibility problems. See COMPAT file
> > for a list of known incompatibilities between ksh93 and Solaris ksh.
>
> What's the plan here? Some of those incompatibilities seem rather
> stark to me. Will incompatible changes be made to the open source
> version in order to keep compatibility with the old ksh?

Most of these incompatibilities originated from the AT&T ksh88 vs. ksh93
document. I don't think we'd be able to break ksh93 compatibility
for Solaris ksh compatibility, but it sounds like David Korn
is willing to consider some solutions.

> Or will the
> Solaris-integrated ksh93 be made incompatible with the open source
> version?
We want to keep Solaris ksh93 & the open source version
the same as much as possible. There may be uncommon cases, however, where we
will need to add #ifdef Solaris code to the open source version.

> Or do we intend to break compatibility in our own
> /usr/bin/ksh in the future?

This will likely be the case, and we will need to manage this.

>
> I realize that the complete set of answers might not yet be known, but
> is there a plan of some sort?

We've discussed various things--having incompatibilities handled
or reported dynamically, migration scripts to fix or report on
incompatibilities, keeping the old ksh binary around--but further research
is needed before we can say what the right approach to this is.

>
> > This project will also introduce built-in commands in ksh93, which have
> > a superset of the functionality of the corresponding Solaris /usr/bin
> > commands (see Section 4.3 Description). These ksh93 built-in commands
> > may lead to the future replacement of the source of some existing /usr/bin
> > commands with the corresponding AT&T code used by the ksh93 built-ins.
>
> When does this happen? The duplication of code here seems rather
> extensive. Unless there's a good plan to eliminate that duplication,
> I think this might be a reason to have a written opinion.
>
> > ksh93s- is under the Common Public License which allows Sun to
> > freely redistribute a derived verison of ksh93, provided Sun includes
> > the license terms and does not encumber it with any proprietary changes.
>
> What does that mean? Does it mean that we're not able to maintain our
> own code, or is it a licensing issue?

It's a licensing issue, but I believe the requirement is mis-paraphrased.
Any changes we make to ksh93 must allow us to grant the copyright
licenses in the CPL. It's probably better worded as follows:

ksh93s- is under the Common Public License, which allows Sun to
freely redistribute a derived version of ksh93, provided Sun includes
the license terms and any changes we make allow us to grant the
copyright licenses in the CPL.


>
> (I would have expected to see "any additional licensing terms" or some
> such. Seeing the word "changes" here is jarring, and seems to imply
> that we're not able to maintain our own code because the changes would
> be "proprietary.")
>
> > /sbin/ksh93 32-bit korn shell (2nd copy)
> > /sbin/pfksh93 hard link to /sbin/ksh93
> > /sbin/rksh93 hard link to /sbin/ksh93
>
> Why is ksh93 needed before /usr is mounted?
>
> This seems wasteful to me. If anything, we should be doing away with
> cases where /usr isn't mounted rather than engorging the root file
> system.
>
> > libshell - contains functions used for writing extensions
> > to ksh93 or for potentially embedding shell command
> > processing into other commands, such as dbx.
> > Most of ksh93 is contained in this library; the ksh93
> > binary itself is primarily a set of calls to libshell interfaces.
>
> How does this square with the existing libtecla? Should we remove
> libtecla?
>
> > Since most of these undocumented built-ins are not currently compatible
> > with the corresponding Solaris commands in /usr/bin, these built-ins
> > will be bound to the new pathname /usr/ast/bin. Unlike the /bin
> > pathname binding, the /usr/ast/bin pathname binding does not require
> > that the /usr/ast/bin directory exists.
>
> It looks like we're building a parallel universe under /usr/ast.
>
> Is there any chance that this goes away in a future version, or are we
> stuck carrying the /usr/ast baggage forever? (In other words: is this
> part of the intentional design here, or is it just a temporary
> work-around?)

I believe Roland intends for this to be temporary. There will not
actually be any /usr/ast files or binaries.

April

>
> --
> James Carlson, KISS Network <james dot d dot carlson at sun dot com>
> Sun Microsystems / 1 Network Drive 71.232W Vox +1 781 442 2084
> MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677

_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



carlsonj

Posts: 6,810
From: US

Registered: 3/9/05
Re: Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 4:51 AM   in response to: April Chin

  Click to reply to this thread Reply

April Chin writes:
> > I realize that the complete set of answers might not yet be known, but
> > is there a plan of some sort?
>
> We've discussed various things--having incompatibilities handled
> or reported dynamically, migration scripts to fix or report on
> incompatibilities, keeping the old ksh binary around--but further research
> is needed before we can say what the right approach to this is.

OK. I think it'd be good to have more details on this, as it seems
that a large part of this project team's overall plan is to do that
replacement.

> > Is there any chance that this goes away in a future version, or are we
> > stuck carrying the /usr/ast baggage forever? (In other words: is this
> > part of the intentional design here, or is it just a temporary
> > work-around?)
>
> I believe Roland intends for this to be temporary. There will not
> actually be any /usr/ast files or binaries.

In that case, adding the modifier "Obsolete" to the stability level
would probably be the right thing to do.

(It seems a bit strange to me to have a magic non-existent path that
triggers internal state changes, but I guess I can't quite see a
reason to say that it's actually wrong.)

--
James Carlson, KISS Network <james dot d dot carlson at sun dot com>
Sun Microsystems / 1 Network Drive 71.232W Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



darrenm

Posts: 3,793
From: GB

Registered: 3/9/05
Re: [osol-arc] Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout: 09/27/2006]
Posted: Sep 21, 2006 5:40 AM   in response to: Don Cragun

  Click to reply to this thread Reply

For all the libraries that are Project Private why are they in /lib or
in /usr/lib rather than in /usr/lib/ksh [ or /usr/lib/ksh93 ] ? I
understand that some of them might be raised in stability later but what
about the ones that are true implementation artifacts, I think libdll
falls into that category.

Are all the new things that are being added to libcmd already in a
library called libcmd when ksh93 is installed on other systems ? If not
please don't put them in our libcmd.


I'm very concerned about the built-in behaviour and the interactions
with pfksh93.

The spec says:

> With pathname binding to /bin, if, for example, "cat" is executed in
> ksh93 without a pathname prefix, and a $PATH search first finds an
> executable cat file on /bin or /usr/bin, the built-in cat
> command is executed, not the Solaris /bin/cat binary.
> The advantages of using these built-ins are increased performance and
> additional functionality provided by the AT&T versions of these
> commands (see manpages in case materials).

So if I understand this correctly the "File System Management" and "
File System Management" RBAC profiles would not work under pfksh93
because ksh93's builtin mkdir/chown/etc will be used instead of
executing the /usr/bin variant via pfexec.

We already have this confusion with some other builtins (kill is the one
that catches most people out) in the existing shells but overriding
chown(1) is going to make this worse.

The only way I think I can accept the creation of pfksh93 (and by the
implications of this case this code base will be come that for
/usr/bin/pfksh at some point) is if this case at least makes the current
situation no worse than it already is (ie chown can't be a builtin when
running as pfksh93) and ideally that the code to do the pfexec execution
is implement in such away that it *always* executes the external
binary rather than the shell builtin if there is a profile entry for
that command for the euid of the shell.

Yes I'm asking for this project to fix errors introduced by others in
the past but this is the perfect time to at least get the ksh part of
the world fixed with respect to builtins and RBAC [ pftcsh, pfzsh,
pfbash don't exist and personally I don't care about pfcsh :-) ].

--
Darren J Moffat
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



gisburn

Posts: 3,657
From: DE

Registered: 6/16/05
Re: [osol-arc] Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout:09/27/2006]
Posted: Sep 21, 2006 4:31 PM   in response to: darrenm

  Click to reply to this thread Reply

Darren J Moffat wrote:
> For all the libraries that are Project Private why are they in /lib or
> in /usr/lib rather than in /usr/lib/ksh [ or /usr/lib/ksh93 ] ? I
> understand that some of them might be raised in stability later but what
> about the ones that are true implementation artifacts, I think libdll
> falls into that category.
>
> Are all the new things that are being added to libcmd already in a
> library called libcmd when ksh93 is installed on other systems ? If not
> please don't put them in our libcmd.

Umpf. Please read last months discussion in the ksh93-integration
archive. We had a flamewar (which nearly caused the destruction of this
project (and I am unhappy that we revisit this horror again... ;-( )), a
long discussion and even a phone conference about the libcmd issue.

To describe it short words (April did some research on this and may be
able to give you more details): Both ksh93 and Solaris have a libcmd. To
ensure backwards-compatibility with both versions we're shipping a
"merged" version which contains both functionalities. This should be the
most painless solution for both sides and doesn't cause any problems for
it's consumers since all functions from the ksh93 version of libcmd
start with |b_*()| (for builtin command, see the builtin(1) manual page)
while the Solaris libcmd functions start with |def*()|.

----

Bye,
Roland

--
__ . . __
(o.\ \/ /.o) roland dot mainz at nrubsig dot org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 7950090
(;O/ \/ \O;)
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



alanc

Posts: 5,504
From: US

Registered: 3/9/05
Re: Re: [osol-arc] Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout:09/27/2006]
Posted: Sep 21, 2006 4:36 PM   in response to: gisburn

  Click to reply to this thread Reply

Roland Mainz wrote:
> Darren J Moffat wrote:
>> Are all the new things that are being added to libcmd already in a
>> library called libcmd when ksh93 is installed on other systems ? If not
>> please don't put them in our libcmd.
>
> Umpf. Please read last months discussion in the ksh93-integration
> archive. We had a flamewar (which nearly caused the destruction of this
> project (and I am unhappy that we revisit this horror again... ;-( )), a
> long discussion and even a phone conference about the libcmd issue.
>
> To describe it short words (April did some research on this and may be
> able to give you more details): Both ksh93 and Solaris have a libcmd. To
> ensure backwards-compatibility with both versions we're shipping a
> "merged" version which contains both functionalities. This should be the
> most painless solution for both sides and doesn't cause any problems for
> it's consumers since all functions from the ksh93 version of libcmd
> start with |b_*()| (for builtin command, see the builtin(1) manual page)
> while the Solaris libcmd functions start with |def*()|.

In other words, the answer to Darren's question is "Yes". You can't
expect everyone on the ARC to know the full history of the project, so
it's a reasonable question, with a reasonable answer.

--
-Alan Coopersmith- alan dot coopersmith at sun dot com
Sun Microsystems, Inc. - X Window System Engineering
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



gisburn

Posts: 3,657
From: DE

Registered: 6/16/05
Re: Re: [osol-arc] Korn Shell 93 Integration[PSARC-EXT/2006/550 Timeout:09/27/2006]
Posted: Sep 21, 2006 7:36 PM   in response to: alanc

  Click to reply to this thread Reply

Alan Coopersmith wrote:
> Roland Mainz wrote:
> > Darren J Moffat wrote:
> >> Are all the new things that are being added to libcmd already in a
> >> library called libcmd when ksh93 is installed on other systems ? If not
> >> please don't put them in our libcmd.
> >
> > Umpf. Please read last months discussion in the ksh93-integration
> > archive. We had a flamewar (which nearly caused the destruction of this
> > project (and I am unhappy that we revisit this horror again... ;-( )), a
> > long discussion and even a phone conference about the libcmd issue.
> >
> > To describe it short words (April did some research on this and may be
> > able to give you more details): Both ksh93 and Solaris have a libcmd. To
> > ensure backwards-compatibility with both versions we're shipping a
> > "merged" version which contains both functionalities. This should be the
> > most painless solution for both sides and doesn't cause any problems for
> > it's consumers since all functions from the ksh93 version of libcmd
> > start with |b_*()| (for builtin command, see the builtin(1) manual page)
> > while the Solaris libcmd functions start with |def*()|.
>
> In other words, the answer to Darren's question is "Yes". You can't
> expect everyone on the ARC to know the full history of the project, so
> it's a reasonable question, with a reasonable answer.

Ok... right... but please excuse me... I am simply trying to forget
about the libcmd debate. It was very very ugly and I really do not want
to revisit this horror again... ;-(

----

Bye,
Roland

--
__ . . __
(o.\ \/ /.o) roland dot mainz at nrubsig dot org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 7950090
(;O/ \/ \O;)
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



Joerg Schilling
Joerg.Schilling@foku...
Re: Re: [osol-arc] Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout:09/27/2006]
Posted: Sep 21, 2006 5:51 PM   in response to: gisburn

  Click to reply to this thread Reply

Roland Mainz <roland dot mainz at nrubsig dot org> wrote:

> To describe it short words (April did some research on this and may be
> able to give you more details): Both ksh93 and Solaris have a libcmd. To
> ensure backwards-compatibility with both versions we're shipping a
> "merged" version which contains both functionalities. This should be the
> most painless solution for both sides and doesn't cause any problems for
> it's consumers since all functions from the ksh93 version of libcmd
> start with |b_*()| (for builtin command, see the builtin(1) manual page)
> while the Solaris libcmd functions start with |def*()|.

Please check the content of libcmd, there are more entries than the ones
starting with def*

Jörg

--
EMail:joerg at schily dot isdn dot cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
js@cs.tu-berlin.de (uni)
schilling at fokus dot fraunhofer dot de (work) Blog: http://schily.blogspot.com/
URL: http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



gisburn

Posts: 3,657
From: DE

Registered: 6/16/05
About pfksh93 and builtins... / was: Re: [osol-arc] Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout:09/27/2006]
Posted: Sep 21, 2006 4:46 PM   in response to: darrenm

  Click to reply to this thread Reply

Darren J Moffat wrote:
[snip]
> The only way I think I can accept the creation of pfksh93 (and by the
> implications of this case this code base will be come that for
> /usr/bin/pfksh at some point) is if this case at least makes the current
> situation no worse than it already is

The situnation is IMO better than the old ksh since there are now
multiple ways to handle the "builtin vs. pfexec" issue in a clean and
predictable way, see below.

> (ie chown can't be a builtin when
> running as pfksh93) and ideally that the code to do the pfexec execution
> is implement in such away that it *always* executes the external
> binary rather than the shell builtin if there is a profile entry for
> that command for the euid of the shell.

IMO there is no need for such a change (and it would IMO very tricky to
do it without blowing some existing ksh93 scripts up). There are at
least three solutions for this problem:
1. Scripts can always load/enable/disable all builtin commands via the
"builtin" command, e.g. "builtin -d chown" will remove the builtin
"chown" and from this point the external command is used (you can use
this in subshells, too (which only affects subshells)). This is part of
the ksh93 language since a long time.
2. You can always specify the full path to the command (e.g.
/usr/bin/chown) to execute the external command. The builtin commands
are only used when you use the plain filename, e.g. "chown" which is
then searched in ${PATH}.
3. You can combine [2] with "alias", e.g. "alias chown=/usr/bin/chown"
will redict all calls of "chown" to "/usr/bin/chown", bypassing the
builtin version of "chown" until the alias entry is undone.

I hope this is acceptable for the ARC since playing around with the
builtins just because the shell is currently in "profile shell" mode is
the least desireable option (and both POSIX and the ksh93 lanuguage
itself provide a solution which is IMO sufficient).

----

Bye,
Roland

--
__ . . __
(o.\ \/ /.o) roland dot mainz at nrubsig dot org
\__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer
/O /==\ O\ TEL +49 641 7950090
(;O/ \/ \O;)
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



carlsonj

Posts: 6,810
From: US

Registered: 3/9/05
Re: About pfksh93 and builtins... / was: Re: [osol-arc] Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout:09/27/2006]
Posted: Sep 21, 2006 5:11 PM   in response to: gisburn

  Click to reply to this thread Reply

Roland Mainz writes:
> > (ie chown can't be a builtin when
> > running as pfksh93) and ideally that the code to do the pfexec execution
> > is implement in such away that it *always* executes the external
> > binary rather than the shell builtin if there is a profile entry for
> > that command for the euid of the shell.
>
> IMO there is no need for such a change (and it would IMO very tricky to
> do it without blowing some existing ksh93 scripts up). There are at
> least three solutions for this problem:
> 1. Scripts can always load/enable/disable all builtin commands via the
> "builtin" command, e.g. "builtin -d chown" will remove the builtin
> "chown" and from this point the external command is used (you can use
> this in subshells, too (which only affects subshells)). This is part of
> the ksh93 language since a long time.
> 2. You can always specify the full path to the command (e.g.
> /usr/bin/chown) to execute the external command. The builtin commands
> are only used when you use the plain filename, e.g. "chown" which is
> then searched in ${PATH}.
> 3. You can combine [2] with "alias", e.g. "alias chown=/usr/bin/chown"
> will redict all calls of "chown" to "/usr/bin/chown", bypassing the
> builtin version of "chown" until the alias entry is undone.

I don't see how any of those are usable answers here.

The point of the "profile shell" is that the commands executed there
are automatically granted privileges according to what's configured
for the user. The script writer doesn't need to know anything about
RBAC to make it work.

Having to work around it with 'builtin -d xxx' or other changes
defeats that capability.

Answers that seem useful to me are:

- when invoked as pfksh93, the shell automatically disables all
built-ins other than the intrinsically required ones (such as
'cd').

- when invoked as pfksh93, the shell becomes aware of RBAC and
checks whether there's a profile for a given command before
attempting to use the built-in; if there is, it execs the external
version instead.

--
James Carlson, KISS Network <james dot d dot carlson at sun dot com>
Sun Microsystems / 1 Network Drive 71.232W Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



Joerg Schilling
Joerg.Schilling@foku...
Re: Re: About pfksh93 and builtins... / was: Re: [osol-arc] Korn Shell 93 Integration [PSARC-EXT/2006/550 Timeout:09/27/2006]
Posted: Sep 21, 2006 5:57 PM   in response to: carlsonj

  Click to reply to this thread Reply

James Carlson <james dot d dot carlson at Sun dot COM> wrote:

> - when invoked as pfksh93, the shell becomes aware of RBAC and
> checks whether there's a profile for a given command before
> attempting to use the built-in; if there is, it execs the external
> version instead.

This sounds reasonable to me.

Jörg

--
EMail:joerg at schily dot isdn dot cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
js@cs.tu-berlin.de (uni)
schilling at fokus dot fraunhofer dot de (work) Blog: http://schily.blogspot.com/
URL: http://cdrecord.berlios.de/old/private/ ftp://ftp.berlios.de/pub/schily
_______________________________________________
ksh93-integration-discuss mailing list
ksh93-integration-discuss at opensolaris dot org
http://mail.opensolaris.org/mailman/listinfo/ksh93-integration-discuss



gisburn

Posts: 3,657
From: DE

Registered: 6/16/05
Issues with pfksh93 and builtin commands... / was: Re: Re: About pfksh93 and builtins... /was: Re: [osol-arc] Korn Shell 93 Integration [PSARC-EXT/2006/550Timeout:09/27/2006]
Posted: Sep 21, 2006 6:56 PM   in response to: Joerg Schilling

  Click to reply to this thread Reply

Joerg Schilling wrote:
> James Carlson <james dot d dot carlson at Sun dot COM> wrote:
> > - when invoked as pfksh93, the shell becomes aware of RBAC and
> > checks whether there's a profile for a given command before
> > attempting to use the built-in; if there is, it execs the external
> > version instead.
>
> This sounds reasonable to me.

Question to David+Glenn: Is it possible to implement this somehow ?

In general I am requesting the ARC people to burry this issue and let
the project team come up with a solution in peace - which means don't
rip out pfksh93 from this ARC case - there are at least three existing
ways to deal with the problem (see my other email) and IMO we have
plenty of time with deal with the problem since the intial putback
commits ksh93s-_alpha to OS/Net anyway - which means there will be a
couple of putbacks between now and the final version of ksh93s where we
can revisit this issue and hack a working solution together...

----

Bye,
Roland

--
__ . . __
(o.\ \/ /.o) roland dot mainz at nrubsig dot org
\__\/\/__/ MPEG