Why DEC chose SCO UNIX

Ronald S H Khoo ronald at robobar.co.uk
Fri Dec 28 09:12:40 AEST 1990


chip at tct.uucp (Chip Salzenberg) writes:

> So to port VMS to the 386,
> you'd have to translate all the assembler code, the BLISS language
> support and the FORTRAN language support to the 386.

Umm...  I'm sure that lots of VMS is heavily machine-dependent on the VAX
architecture as well.  It's easy to write unportable code in a portable
language, as many of us have had the dubious pleasure of finding out.

> 1.  User info is spread out.  Besides /etc/passwd, you must have a file
>     /tcb/files/auth/<first letter of user>/<user>.  Some of the fields
>     in the auth file duplicate fields in /etc/passwd.  So forget using
>     vi on /etc/passwd.

Actually, I *do* vi /etc/passwd, then I run a hack script (appended).
Warning: do not use this script, as it will void your SCO warranty.
It probably also makes vast assumptions on the rest of the contents
of my /etc/auth/** ... be warned -- FYI only :-)

> To quote Ronald Khoo:

Eee.. *I* get quoted in this context ?  Does this mean I'm now on SCO's
deathlist ? :-)

Here's that hack.  Give you some kind of idea what Chip was going on about,

#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create the files:
#	/local/tcbgen
# This archive created: Thu Dec 27 22:10:15 1990
export PATH; PATH=/bin:$PATH
echo shar: extracting "'tcbgen'" '(877 characters)'
if test -f 'tcbgen'
then
	echo shar: will not over-write existing file "'tcbgen'"
else
sed 's/^X//' << \SHAR_EOF > 'tcbgen'
XAUTH=/tcb/files/auth
XPASSWD=/etc/passwd
XDFLT=/etc/auth/subsystems/dflt_users
XTTYS=/etc/auth/system/ttys
Xexport AUTH PASSWD DFLT
Xaprog='umask 007 ; awk -F: '"'"'
X$2 != "*" {
X	letter	= substr($1, 1, 1)
X	fnam	= letter "/" $1
X	print $1 ":u_name=" $1 ":u_id#" $3 ":u_pwd=" $2 ":u_lock@:chkent:">fnam
X	print $1 >> "'"$DFLT".n'"
X}'"'"' $PASSWD'
Xcp $DFLT $DFLT.n
Xchmod 664 $DFLT.n
Xchown auth $DFLT.n
Xcd $AUTH
Xsu auth -c 'mkdir a b c d e f g h i j k l m n o p q r s t u v w x y z ' \
X	1>/dev/null 2>&1
Xsu auth -c 'chmod 770 [a-z]'
Xsu auth -c "$aprog"
Xsu auth -c 'chmod 070 [a-z]'
Xsort -u $DFLT.n > $DFLT.nn
Xrm -f $DFLT.n
Xfind /dev -name "tty?*" -a ! -name "ttya*p" -print | sed s,/dev/,, |
X	awk '{ print $1 ":t_devname=" $1 ":t_lock@:chkent:" }' > $TTYS.n
Xchown auth $DFLT.nn $TTYS.n
Xchgrp auth $DFLT.nn $TTYS.n
Xchmod 664  $DFLT.nn $TTYS.n
Xsync
Xmv $DFLT.nn $DFLT
Xmv $TTYS.n  $TTYS
Xsync
SHAR_EOF
if test 877 -ne "`wc -c < 'tcbgen'`"
then
	echo shar: error transmitting "'tcbgen'" '(should have been 877 characters)'
fi
chmod +x 'tcbgen'
fi # end of overwriting check
#	End of shell archive
exit 0
-- 
ronald at robobar.co.uk +44 81 991 1142 (O) +44 71 229 7741 (H)



More information about the Comp.unix.sysv386 mailing list