Subject: Re: Broken PKG_PATH semantics on pkg_add
To: None <abs@netbsd.org>
From: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
List: tech-pkg
Date: 08/28/2002 10:34:55
From: David Brownlee <abs@netbsd.org>
Date: Tue, 27 Aug 2002 17:39:56 +0100 (BST)
> 
> 	Updated patch attached. Its calls getcwd() for every relative
> 	path given on the command line, which may be a net win in some
> 	cases :), but otherwise feels pretty reasonable.

please don't add '.' to path blindly in the no-'/' case.
it isn't safe because PKG_PATH may not contain
current directory.

in addition, if you do pkg_add somedir/pkg (a relative path),
./somedir/somedir/pkg will be searched.
i think it isn't your intent.

path_prepend_from_pkgname and path_remove_first are
a little hackish, IMO. i think what to do is:
1. dynamically alloc a temporary pathhead instead of using
   one global PkgPath.
2. add a new temporary entry from pkgname to it.
3. then pass it to installprereq.
4. free a temporary pathhead.

---
YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>