Subject: CVS commit: pkgsrc/shells/osh
From: OBATA Akio
Date: 2008-01-19 13:08:30
Message id: 20080119120830.4C97021507@cvs.netbsd.org

Log Message:
Update osh to 20080109.
Based on patch provided by Jeffrey Allen Neitzel in PR 37737.
My modification:
 * Honor PKGMANDIR
 * Update MASTER_SITES and HOMEPAGE to new location.

Changes:
[osh-20080109]:
	* New file:  mkconfig  (see Build/Install Changes)

	* Moved files:	Moved manual pages from *.1 to *.1.in to make their
			generation and installation simpler in the Makefile.

Build/Install Changes:
	* Stopped defining _XOPEN_SOURCE when compiling on Mac OS X, NetBSD,
	  and OpenBSD.  It is simply not necessary.  However, _XOPEN_SOURCE
	  and _BSD_SOURCE are necessary on GNU/Linux systems.

	* Added a simple configure script, mkconfig.  It is automatically
	  invoked from the Makefile to write out an appropriate "config.h"
	  file according to the osh package's needs on the given system.  It
	  simply sets PATH_LOGIN, PATH_NEWGRP, _XOPEN_SOURCE, and _BSD_SOURCE
	  as needed so that the user does not need to bother w/ doing it
	  manually at build time.

osh.c:
	* Patched the code to fix a "$0" parameter-substitution problem w/
	  the `source' command in the following interactive context:

		% cat >file
		echo \$0 == \"$0\"
		echo \$1 == \"$1\"
		^D
		% source file ;		: ... gives correct value for "$0".
		$0 == ""
		$1 == ""
		% source file arg ;	: ... gives incorrect value for "$0".
		$0 == "0"
		$1 == "arg"

	  getdolp() indirectly caused the problem by returning a NULL pointer
	  when the intended result was a pointer to the empty string.  This
	  problem was not fatal, as the shell handles NULL pointers from
	  getdolp() anyway.  However, NULL is supposed to indicate an
	  error where the specified parameter means nothing to the shell...
	  For example:

		% echo \$Z == \"$Z\"
		$Z == "Z"

	* Changed the source command's parameter-substitution behavior so
	  that $0 always results in the name of the sourced command file,
	  not the name inherited from the main shell context.  This makes
	  the parameter-substitution behavior of sourced command files
	  just like that of any other osh command file.  Plus, this is
	  the documented behavior.

osh.1.in, sh6.1.in:
	* Revised some wording to remove some cases of possible ambiguity.

-------------------------------------------------------------------------------
[osh-20070707]:
	* Added a new file, INSTALL, which contains build and install
	  instructions.  Made reference to INSTALL in Makefile and README.

Makefile:
	* Added 3 new variables, MOXARCH, MOXSHELLARCH, and MOXUTILSARCH, to
	  simplify building universal binaries for Mac OS X.  These are unset
	  by default.  See INSTALL for more info.

	* Changed the default value for SYSCONFDIR from /etc to $(PREFIX)/etc.

osh.c:
	* Changed the reserved file descriptors from (7 - 9) to (10 - 12) in
	  order to avoid fd conflict w/ rxvt-unicode (version 8.2).  This
	  conflict prevented `chdir -' from functioning correctly, but this
	  problem is now fixed.

	  The problem was clearly visible when running an interactive instance
	  of osh under the rxvt-unicode daemon (urxvtd) on Mac OS X.  However,
	  I never saw this type of conflict when running under any other type
	  of terminal emulator on any OS.  Thus, I do not know if this was
	  only an osh problem, a urxvtd problem, a Mac OS X problem, or some
	  combination of the 3...

Files:
RevisionActionfile
1.20modifypkgsrc/shells/osh/Makefile
1.10modifypkgsrc/shells/osh/distinfo
1.4removepkgsrc/shells/osh/patches/patch-aa