[comp.unix.sysv386] SCO UNIX

pizzi@esacs.UUCP (Riccardo Pizzi) (01/02/91)

We installed recently the new SCO UNIX release, i.e. 3.2.2.
I read a *lot* of people on the net saying that this new release is
stable and is not buggy like 3.2.0 and 3.2.1.
However, my first login on the newly installed system showed a very nasty
bug in one of the most used commands, 'ls'.
I wonder how it is possible that such a bug was not caught on the OS test
phase, and therefore I think maybe it only shows under particular
circumstances.

Please, look at the output of the 'lc' command on my home directory:

AAA            house.c        mbox           remind22.5     sps.2
active.uunet   hv@uwasa.fi    mte215.zip.1   s.c            sps.3
alt.groups     hv@uwasa.fi.h  mte215.zip.2   sb.1           sucker
anonftp.sites  i2u.info.h     nws            sb.2           TTT
batchout.c     i2u.info.i     periodic       sb.3           T1500.uunet
casa           maild          prog           sb.5           uunet.games
ciuccia        maild.c        remind22.1     sb.6           uunet.unix
conq4          Makefila       remind22.2     sb.7           uunet.x
ftp-server.h   makefile       remind22.3     sig
gifhelp        Makefile       remind22.4     sps.1

In the ASCII character set, I have always thought the capital (upper case)
letters should come *before* the lower case letters, but this seems not true
for SCO...
If we look at the following files: maild.c, Makefile, makefile e Makefila,
we would expect to see the following:

	   Makefila
	   Makefile
	   maild.c
	   makefile

now, take a look and see how SCO sorted the files...
The first problem that comes to my mind is that the old habit of giving
important files an uppercase name (or capitalized, as you prefer) does not
work here... what a shame!
I thought the bug could depend on the internationalization stuff, but never
had the time to dig into it to debug the problem (I don't like SCO UNIX
at all, agreeing with most developers out there so I don't want to do it, too).

BTW: today I found that the numbers always come *after* all other letters:

total 106
drwxr-xr-x   2 bin      bin           32 Nov 19 13:22 backupfirst
-rw-r--r--   1 root     other          0 Dec 31 23:50 croutPCHa00232
drwxrwxr-x   2 400      other         32 Dec 12 14:44 dd
-rw-------   1 pizzi    mmdf       12288 Jan 02 16:16 Ex23616
-rw-------   1 nick     group       6144 Jan 02 16:16 Ex23751
drwxr-xr-x  20 bin      bin          320 Nov 19 13:22 ID
drwx------   3 sys      sys           48 Oct 24 18:22 init2
-rw-r--r--   1 pizzi    mmdf         112 Jan 02 15:48 posta23609
-rw-------   1 pizzi    mmdf       11264 Jan 02 16:16 Rx23616
-rw-------   1 nick     group      10240 Jan 02 16:16 Rx23751
-rw-r--r--   1 nick     group        551 Jan 02 16:06 sh237284
-rw-r--r--   1 nick     group        162 Jan 02 16:06 sh237285
-rw-r--r--   1 nick     group        184 Jan 02 16:06 sh237286
-rw-r--r--   1 pizzi    mmdf        2895 Jan 02 16:04 uffa
-rw-r--r--   1 pizzi    mmdf           5 Jan 02 16:16 1st_time

Anybody has a solution?

Riccardo

sef@kithrup.COM (Sean Eric Fagan) (01/03/91)

In article <41@esacs.UUCP> pizzi@esacs.UUCP (Riccardo Pizzi) writes:
>We installed recently the new SCO UNIX release, i.e. 3.2.2.
>I read a *lot* of people on the net saying that this new release is
>stable and is not buggy like 3.2.0 and 3.2.1.
>However, my first login on the newly installed system showed a very nasty
>bug in one of the most used commands, 'ls'.
>I wonder how it is possible that such a bug was not caught on the OS test
>phase, and therefore I think maybe it only shows under particular
>circumstances.

Because it's not a bug.  Here is an example showing that it seems to only
happen to you:

kithrup 4> cd /tmp
kithrup 5> lf
AAA              doit.out         post1            sh255895
Ex25602          foobar           post2            sh255896
Rx25602          fooblech         post3            t.c
TTT              gatemail*        post4            test.log
a.out*           mono/            sco*             trunc.c
arb.passwd.203   msg              sdbm1            ucscc
arb.passwd.204   msg2             sdbm2            uucp/
cn/              out.foo          sed.man
doit*            post             sh255894
kithrup 6> lc
AAA             cn              msg             post4           sh255896
Ex25602         doit            msg2            sco             t.c
Rx25602         doit.out        out.foo         sdbm1           test.log
TTT             foobar          post            sdbm2           trunc.c
a.out           fooblech        post1           sed.man         ucscc
arb.passwd.203  gatemail        post2           sh255894        uucp
arb.passwd.204  mono            post3           sh255895

Now, why don't you tell us what country your in, and what your LANG stuff
is set to?  Internationalisation, and all that, don't you know?  Not all
countries or languages sort the way English does.  I am willing to bet that
that's what your "problem" is...  (for example, in my /etc/default/lang, I
have: LANG=english_us.ascii)

>In the ASCII character set, I have always thought the capital (upper case)
>letters should come *before* the lower case letters, but this seems not true
>for SCO...

Who said you were using the ASCII character set?

-- 
Sean Eric Fagan  | "I made the universe, but please don't blame me for it;
sef@kithrup.COM  |  I had a bellyache at the time."
-----------------+           -- The Turtle (Stephen King, _It_)
Any opinions expressed are my own, and generally unpopular with others.

larryp@sco.COM (Larry Philps) (01/03/91)

pizzi@esacs.UUCP (Riccardo Pizzi) writes:
>
>We installed recently the new SCO UNIX release, i.e. 3.2.2.
>
>Please, look at the output of the 'lc' command on my home directory:
>
>AAA            house.c        mbox           remind22.5     sps.2
>active.uunet   hv@uwasa.fi    mte215.zip.1   s.c            sps.3
>alt.groups     hv@uwasa.fi.h  mte215.zip.2   sb.1           sucker
>anonftp.sites  i2u.info.h     nws            sb.2           TTT
>batchout.c     i2u.info.i     periodic       sb.3           T1500.uunet
>casa           maild          prog           sb.5           uunet.games
>ciuccia        maild.c        remind22.1     sb.6           uunet.unix
>conq4          Makefila       remind22.2     sb.7           uunet.x
>ftp-server.h   makefile       remind22.3     sig
>gifhelp        Makefile       remind22.4     sps.1
>
>In the ASCII character set, I have always thought the capital (upper case)
>letters should come *before* the lower case letters, but this seems not true
>for SCO...
>If we look at the following files: maild.c, Makefile, makefile e Makefila,
>we would expect to see the following:
>
>	   Makefila
>	   Makefile
>	   maild.c
>	   makefile
>
>now, take a look and see how SCO sorted the files...
>The first problem that comes to my mind is that the old habit of giving
>important files an uppercase name (or capitalized, as you prefer) does not
>work here... what a shame!
>I thought the bug could depend on the internationalization stuff, but never

Bingo.

>had the time to dig into it to debug the problem (I don't like SCO UNIX
>at all, agreeing with most developers out there so I don't want to do it, too).
>
>BTW: today I found that the numbers always come *after* all other letters:

This is not a bug, rather a feature :-).  Under the ANSI and XPG3
internationalization (I18N for short), practically everything is
variable.  There are languages out there in which words are sorted by the
*first vowel in a word* rather than the first letter.  Some letters have
to be treated as 2, some strings have to be treated as a single letter.
It goes on and on.  The whole thing is incredibly complicated.

Anyway, what you have done is set your default environment to
english_us.8859, rather than english_us.ascii.  Thus you have asked for
ISO 8859 sorting rules rather than ascii sorting rules, and are getting
case independent sorting among other things.  I was also confused when
this happened the first time.

You can do lots of things to solve this (as is typical in I18N)

1) Edit /etc/default/lang, and change the 8859 to ascii.  This changes
   the default behaviour for the *entire* system.

2) Set the environment variable LANG from your shell

	% setenv LANG english_us.ascii

   to change just the behaviour you see, but leave everything else alone.

3) Set the environment variable LC_COLLATE (it controls sorting criteria)
   from your shell

	% setenv LC_COLLATE english_us.ascii

   Then your environment will use 8859 rules except for sorting, which
   will change to the ascii conventions. 

Have fun.

---

I am not an I18N expert, but have actually written code during a project
to use this stuff.  I found myself confused for months about the *right*
way to do things.

If anyone else out there has done any I18N programming (under SCO or any
other system) and has some *pearls of wisdom* (complaints?) to impart, I
would be happy to listen to them.  I don't promise to be able to solve,
fix or change anything, but I18N is virtually certain to affect my life
as a programmer more and more as time goes on, and I would not mind getting
a bit of a head start.

---
Larry Philps,	 SCO Canada, Inc (Formerly: HCR Corporation)
Postman:  130 Bloor St. West, 10th floor, Toronto, Ontario.  M5S 1N5
InterNet: larryp@sco.COM  or larryp%scocan@uunet.uu.net
UUCP:	 {uunet,utcsri,sco}!scocan!larryp
Phone:	 (416) 922-1937
Fax:	 (416) 922-8397

walter@mecky.UUCP (Walter Mecky) (01/04/91)

In article <41@esacs.UUCP> pizzi@esacs.UUCP (Riccardo Pizzi) writes:
< We installed recently the new SCO UNIX release, i.e. 3.2.2.
< []
< However, my first login on the newly installed system showed a very nasty
< bug in one of the most used commands, 'ls'.

[ Shows that the filenames or not sorted in ASCII sequence but upper
  case and lower case a sorted together. ]
< 
< Anybody has a solution?

Reading the manual from the International Supplement you can read
someting about "locales". The default locale is ISO 8859. I bet,
after installing you find something with ".8859" in your 
/etc/default/lang file, Riccardo, don't you? 

If you look in /usr/lib/lang.src/col.8859.src, you find the sorting 
sequence for this character set. Here it is defined that upper and 
lower case letter sorts equal.

There are some possiblities to get the good old ASCII sorting order:
1. Replace the "8859" in your /etc/default/lang with "asci".
2. Set the LANG environment variable to something that ends with "asci".
3. Change /usr/lib/lang.src/col.8859.src to meet your style. Run
   chrtbl(C) and move the output file in the correct directory under 
   /usr/lib/lang.
-- 
Walter Mecky	[ walter@mecky.uucp	or  ...uunet!unido!mecky!walter ]

pizzi@esacs.UUCP (Riccardo Pizzi) (01/07/91)

>Now, why don't you tell us what country your in, and what your LANG stuff
>is set to?  Internationalisation, and all that, don't you know?  Not all
>countries or languages sort the way English does.  I am willing to bet that
>that's what your "problem" is...  (for example, in my /etc/default/lang, I
>have: LANG=english_us.ascii)

Well, I checked that file and found the following:

#
#	@(#) lang 1.1 89/06/30 
#
#	Copyright (C) The Santa Cruz Operation, 1987, 1988.
#	This Module contains Proprietary Information of
#	The Santa Cruz Operation, Microsoft Corporation
#	and AT&T, and should be treated as Confidential.
#
#	Specification of system default locales
#
LANG=english_us.8859
LANG=french_france.8859
LANG=german_germany.8859

Now, why the f***ing installation script decided to set up the 8859
collating sequence? Do we expect to get a similar default behaviour?
I think *no*. The system asked me *nothing* about internationalization
during the installation.
Anyway, commenting out the above lines and adding LANG=english_us.ascii
solved the problem.
Thanks for the hints (damn locale stuff!)

Rick
--
Riccardo Pizzi @ ESA Software, Rimini, ITALY
e-mail: pizzi%esacs@relay.EU.NET -or- root@xtc.SUBLINK.ORG
<< Object Oriented is an Opaque Disease >>

pizzi@esacs.UUCP (Riccardo Pizzi) (01/07/91)

In article <1991Jan03.143742.23436@sco.COM> larryp@sco.COM (Larry Philps) writes:
>internationalization (I18N for short), practically everything is
>variable.  There are languages out there in which words are sorted by the
>*first vowel in a word* rather than the first letter.  Some letters have
>to be treated as 2, some strings have to be treated as a single letter.
>It goes on and on.  The whole thing is incredibly complicated.

Agree.

>Anyway, what you have done is set your default environment to
>english_us.8859, rather than english_us.ascii.  Thus you have asked for
>ISO 8859 sorting rules rather than ascii sorting rules, and are getting
>case independent sorting among other things.  I was also confused when
>this happened the first time.

Wait! I have *not* chosen explicitly the 8859 collating sequence.
SCO did it!! I think the correct default would better be 'ascii'.

>You can do lots of things to solve this (as is typical in I18N)

Well, thank you, a guy on the net already explained it to me.

>If anyone else out there has done any I18N programming

What does exactly I18N stand for?

Ciao

Rick
--
Riccardo Pizzi @ ESA Software, Rimini, ITALY
e-mail: pizzi%esacs@relay.EU.NET -or- root@xtc.SUBLINK.ORG
<< Object Oriented is an Opaque Disease >>

larryp@sco.COM (Larry Philps) (01/12/91)

In <46@esacs.UUCP> pizzi@esacs.UUCP (Riccardo Pizzi) writes:

> In article <1991Jan03.143742.23436@sco.COM> larryp@sco.COM (Larry Philps) writes:
> >Anyway, what you have done is set your default environment to
> >english_us.8859, rather than english_us.ascii.  Thus you have asked for
> >ISO 8859 sorting rules rather than ascii sorting rules, and are getting
> >case independent sorting among other things.  I was also confused when
> >this happened the first time.
> 
> Wait! I have *not* chosen explicitly the 8859 collating sequence.
> SCO did it!! I think the correct default would better be 'ascii'.

In my opinion, their is *no* correct default.  Everybody wants something
different, and the locale stuff tries to please everyone.

Actually, you do get prompted for the locales you want to use when you
install the International Supplement.  You can pick ascii.  However,
I agree that all the consequences of the various choices are not
spelled out.  Probably because that would require an entire book :-(

> What does exactly I18N stand for?

It is a short form for internationalization, an I, 18 dumb letters,
and an N. :-)

---
Larry Philps,	 SCO Canada, Inc (Formerly: HCR Corporation)
Postman:  130 Bloor St. West, 10th floor, Toronto, Ontario.  M5S 1N5
InterNet: larryp@sco.COM  or larryp%scocan@uunet.uu.net
UUCP:	 {uunet,utcsri,sco}!scocan!larryp
Phone:	 (416) 922-1937
Fax:	 (416) 922-8397

digersj@zooid (Jeff Digers) (03/24/91)

I'm an experienced (well, pretty much) DOS user, but I am REALLY interested 
in SCO UNIX system V/386. Can someone tell me of its advantages over other 
PC-based UNIX alternatives?