Subject: Re: help - need a working ksh
To: None <lguillaume@berklee.edu>
From: Masao Uebayashi <uebayasi@pultek.co.jp>
List: netbsd-users
Date: 05/28/2003 09:36:58
Hello.

> $ ls | exec 3<&0
> $ while read i <&3 ;do
>  > echo $i
>  > done
> ksh: <&3 : bad file descriptor
> 
> ... it can't initialize file descriptors via standard input. This 
> happens with pdksh on Linux too, so I know pdksh is just inferior. And 
> besides ast-ksh is the "official" one.

(I'm not very sure, but I think I don't want my shells to behave what
you are wanting... :)

> But it doesn't appear to build because...
> 
> 250 "/pub" is new cwd.
> 250 "/pub/FreeBSD" is new cwd.
> 250 "/pub/FreeBSD/ports/distfiles" is new cwd.
> local: INIT.2002-12-21.tgz remote: INIT.2002-12-21.tgz
> 227 Entering Passive Mode (62,243,72,50,230,76)
> 550 No such file.
> 221 Goodbye.
> => Couldn't fetch INIT.2002-12-21.tgz - please try to retrieve this
> => file manually into /usr/pkgsrc_distfiles/ and try again.
> *** Error code 1
> 
> Stop.
> make: stopped in /usr/pkgsrc/shells/ast-ksh
> *** Error code 1

The author seem to stop distributing the older source files, and these
files are not copied on our mirror sites because of the licence.  Thus
fetching fails.  This is a Pkgsrc bug.

> Anyway, I'd really like to find out how to update the package to go get 
> the latest source. I tried just changing the version in the Makefile and 
> doing "make NO_CHECKSUM=yes" but when the files arrive they are "not in 
> gzip format".

	% make fetch
	% make makesum

You can learn these things by pkgsrc/Packages.txt.

> Is there anything I can do? I have some ksh scripts that use file 
> descriptors and I'm migrating from Linux to NetBSD.

1) Read the above file throughly.
2) Learn BSD make.
3) Update & test.
4) Send a patch.

Masao