Commit graph

4 commits

Author SHA1 Message Date
reed
2a6757e603 Update osh to version 20070324. This is for PR 36080 from upstream
developer.

pkgsrc changes include:

Use BUILD_TARGET=oshall as request in PR.
And make it work with PKGMANDIR.

CHANGES file includes:

Changes that improve compatibility w/ the Sixth Edition Unix shell
are marked w/ a `C:' in the details below.

-------------------------------------------------------------------------------
[osh-20070324]:
osh.c:
	* In main(), changed when fdfree() is called so that it is in a more
	  ideal sequence with other operations according to how the shell is
	  invoked (e.g., interactive shell vs. non-interactive shell).

-------------------------------------------------------------------------------
[osh-20070321]:
	* Imported the project into a local subversion repository.

	* Changed the all of the code to "#include <stdbool.h>" and to use
	  the "bool" data-type macro where appropriate.

Makefile:
	* Added SYSCONFDIR and a new `man' target.

osh.c:
	* Defined _PATH_SYSTEM_LOGIN as `SYSCONFDIR/**/"/osh.login"' instead
	  of "/etc/osh.login" so that the user can use SYSCONFDIR (/etc by
	  default) at build-time to specify the directory where the shell
	  shall search for its system-wide initialization file.

	* Added a new special parameter, $v, which makes the version of the
	  osh package available as a read-only string.  The format is
	  `osh-YYYYMMDD' for official releases and `osh-current (YYYYMMDD)'
	  (interpreted as one word) for development snapshots.

	* Fixed a bug where interactive shells were no longer ignoring SIGTERM
	  when invoked, as they are supposed to.  Now, SIGTERM is being ignored
	  again upon invocation of all interactive shells.

	* Fixed the output from doing a `sigign' so that it matches its
	  documentation in osh.1: "..., a list is printed of those signals
	  which are ignored by sigign in the current shell."

	  Previously, the output from a `sigign' could be a little confusing.
	  Now, its output only indicates those cases where a given signal is
	  being ignored w/ the possibility that it can then be unignored
	  (reset) in the current shell context.

if.c:
	* Added 3 new primaries: -ef (equal files - same device, same inode),
	  -nt (newer than), -ot (older than).  See the if(1) manual page for
	  full details.

-------------------------------------------------------------------------------
[osh-20070131]:
osh.1:
	* Made a few minimal changes to synchronize the manual w/ the code.

osh.c	1.2 (jneitzel) 2007/01/14:
	* Changed the `chdir: No old directory' diagnostic to
	  `chdir: No previous directory' to match the manual.

-------------------------------------------------------------------------------
[osh-20061230]:
	The following files have been removed in this release:
		examples/*: These files are now available at:
			    http://jneitzel.sdf1.org/osh/initialization_files/
		   tests/*: ... until I have a chance to rewrite them ...

*.1:
	* Changed all instances of `UNIX' to `Unix' since the name
	  of the Unix operating system is not an acronym.

pexec.c:
	* Fixed a possible, but very unlikely, memory leak.

osh.c:
	C: Rewrote the shell!  It is now a combination of the ports of the
	   original source code from sh6.c and glob6.c (see CHANGES_sh-to-sh6)
	   w/ the prior enhancements which were found in osh-060124/osh*.[ch] .

fd2.c:
	* Removed the call to lseek(2) to end-of-file for errors.
	  The shell determines when this is necessary.

	* Changed the `: no shell' diagnostic to `: No shell!'
	  in the spirit of sh6(1).

goto.c:
	* Fixed a bug which interfered w/ finding a requested label when
	  its first character had the high-order bit set.  The value of the
	  first character is now passed to getlabel() as an unsigned char
	  converted to an int to allow correct comparison in such a case.

if.c:
	* Removed the call to lseek(2) to end-of-file for errors.
	  The shell determines when this is necessary.

	* Changed the method used to build the argument list for all commands
	  executed by this utility, and removed the `Too many args' diagnostic.
	  The maximum length of the argument list for a command is now limited
	  only by the maximum length that the invoker can pass and by any
	  system-imposed limit for execve(2) (see E2BIG in errno(2)).

	* Changed the `: no shell' diagnostic to `: No shell!'
	  in the spirit of sh6(1).

	* Changed the diagnostic used for `!', `-a', `-o', and `(' operator
	  errors from `: argument expected' to `: expression expected'.
2007-03-26 16:43:34 +00:00
xtraeme
445013e6e3 Upgrade shells/osh to 040216, this closes PR pkg/24501.
Too many changes to copy here, previous package was 2 years old, please
review the Changelog file.
2004-02-23 01:58:41 +00:00
jmmv
cc2b1c9657 Use the right install program for correctness and to fix problems under SunOS.
From PR pkg/22898 by Jonathan Perkin.
2003-09-22 20:57:12 +00:00
cjep
5f9fb649b7 Initial import of osh-020214 into the NetBSD packages collection
as shells/osh.

Osh is a re-implementation of the old and obsolete shell version,
which was in standard use up to UNIX 6th Edition and was supplied
as osh with UNIX 7th Edition.  Its command language is a sparse
subset of those of modern shells and is mostly common both to sh(1)
and csh(1).

This pkgsrc entry is based on the FreeBSD ports entry for osh.
2002-08-20 20:52:29 +00:00