2010-05-07 14:02:43 +02:00
|
|
|
# $NetBSD: Makefile,v 1.28 2010/05/07 12:02:44 jmmv Exp $
|
2002-08-20 22:52:29 +02:00
|
|
|
|
2010-05-02 12:31:12 +02:00
|
|
|
DISTNAME= osh-20100430
|
2010-05-07 14:02:43 +02:00
|
|
|
PKGREVISION= 1
|
2002-08-20 22:52:29 +02:00
|
|
|
CATEGORIES= shells
|
Update shells/osh
Add new maintainer. Thank you J.A.
The following is from PR #40006:
I would like to maintain this package if that is acceptable.
Thus, I added myself as MAINTAINER.
Changed files: DESCR, Makefile, PLIST, distinfo
Changes between osh-20080629 and osh-20081122 which affect the osh
package on the various pkgsrc platforms are described below.
------------------------------------------------------------------------
[osh-20081122]:
mkconfig:
* Added a case for DragonFly BSD (uname -s == DragonFly).
osh.c:
* Fixed a bug introduced in osh-20061230 where the shell
incorrectly handles an unescaped terminating backslash (\)
character at the end of string when the shell is invoked as
`osh -c string'. In this case, the terminating backslash
causes the shell to incorrectly read from the standard input
at the end of string.
For example:
% osh -c 'echo Hello\'
to\
you!
Hello to you!
This example should instead do nothing and exit w/ a zero
status. For `osh -c string', an unescaped terminating
backslash should effectively turn string into a no-op.
Now, it behaves as expected.
------------------------------------------------------------------------
[osh-20081026]:
Makefile:
* Changed the "oshall" target to only build osh since the fd2,
goto, and if utilities are now built into the shell.
* Changed the "install-oshall" target to only install osh and
its manual pages. This includes the fd2.1, goto.1, and if.1
manual pages since they are not fully documented elsewhere.
osh.c:
* Renamed cmd_index() to cmd_lookup(), and changed the algorithm
from a linear search to a binary search.
* Added a base reallocation multiplier to glob() to reduce the
number of realloc()s required for very large argument vectors
while allowing the first malloc() to be a relatively small
allocation for up to 126 matching file-name arguments.
util.c:
* This is a new file for the integrated shell utilities.
* Added a new `-e' command-line option to fd2 to simplify
redirecting all conventional output to the standard error
as diagnostic output.
* Integrated the external `fd2', `goto', and `if' shell
utilities as special built-in commands to improve shell
performance. Also, added `echo' as a special built-in
command. Osh executes each of these built-ins in a subshell.
Consequently, the I/O for each can be redirected as before,
and the argument list for each can be the result of a call to
glob() as before.
2008-11-23 04:26:14 +01:00
|
|
|
MASTER_SITES= http://v6shell.org/src/
|
2002-08-20 22:52:29 +02:00
|
|
|
|
Update shells/osh
Add new maintainer. Thank you J.A.
The following is from PR #40006:
I would like to maintain this package if that is acceptable.
Thus, I added myself as MAINTAINER.
Changed files: DESCR, Makefile, PLIST, distinfo
Changes between osh-20080629 and osh-20081122 which affect the osh
package on the various pkgsrc platforms are described below.
------------------------------------------------------------------------
[osh-20081122]:
mkconfig:
* Added a case for DragonFly BSD (uname -s == DragonFly).
osh.c:
* Fixed a bug introduced in osh-20061230 where the shell
incorrectly handles an unescaped terminating backslash (\)
character at the end of string when the shell is invoked as
`osh -c string'. In this case, the terminating backslash
causes the shell to incorrectly read from the standard input
at the end of string.
For example:
% osh -c 'echo Hello\'
to\
you!
Hello to you!
This example should instead do nothing and exit w/ a zero
status. For `osh -c string', an unescaped terminating
backslash should effectively turn string into a no-op.
Now, it behaves as expected.
------------------------------------------------------------------------
[osh-20081026]:
Makefile:
* Changed the "oshall" target to only build osh since the fd2,
goto, and if utilities are now built into the shell.
* Changed the "install-oshall" target to only install osh and
its manual pages. This includes the fd2.1, goto.1, and if.1
manual pages since they are not fully documented elsewhere.
osh.c:
* Renamed cmd_index() to cmd_lookup(), and changed the algorithm
from a linear search to a binary search.
* Added a base reallocation multiplier to glob() to reduce the
number of realloc()s required for very large argument vectors
while allowing the first malloc() to be a relatively small
allocation for up to 126 matching file-name arguments.
util.c:
* This is a new file for the integrated shell utilities.
* Added a new `-e' command-line option to fd2 to simplify
redirecting all conventional output to the standard error
as diagnostic output.
* Integrated the external `fd2', `goto', and `if' shell
utilities as special built-in commands to improve shell
performance. Also, added `echo' as a special built-in
command. Osh executes each of these built-ins in a subshell.
Consequently, the I/O for each can be redirected as before,
and the argument list for each can be the result of a call to
glob() as before.
2008-11-23 04:26:14 +01:00
|
|
|
MAINTAINER= jan+nbsd@v6shell.org
|
|
|
|
HOMEPAGE= http://v6shell.org/
|
|
|
|
COMMENT= Port of the Sixth Edition UNIX shell
|
2010-01-05 12:21:42 +01:00
|
|
|
LICENSE= original-bsd
|
2002-08-20 22:52:29 +02:00
|
|
|
|
2007-05-12 18:18:55 +02:00
|
|
|
PKG_DESTDIR_SUPPORT= user-destdir
|
Update osh to 040216 and enable pkgviews installation.
This closes PR pkg/25314.
Changes:
* Made various changes to hopefully improve the clarity.
Added COMPATIBILITY, HISTORY, and NOTES sections.
* Made changes to how the shell handles terminating `\' characters
w/ the `-c' and `-t' flags. This is a simple extension of the
same behaviour exhibited when the shell is interactive or when it
executes a command file, the only difference being that where a
terminating `\' character causes the shell to read the next line
of input in an interactive shell or command file, w/ the `-c' and
`-t' flags the shell terminates w/o executing the command line.
* Allow parameter substitution w/ the `-c' and `-t' flags. This
feature is not documented. For example, invoking the shell as
follows allows parameter substitution to take place:
% osh -t one two three
echo $0 $1 $2 $3
-t one two three
* The shell now ignores SIGINT and SIGQUIT when the `-c' or `-t' flag
is used. Thus, asynchronous commands invoked in this way ignore
interrupts as they should.
* Ignore SIGINT and SIGQUIT for all commands started from asynchronous
subshells. For example, `( sleep 300; some_command ) >outfile&' now
ignores `^C' and `^\' as it should.
* Don't ignore SIGINT and SIGQUIT for asynchronous commands started
in command files. If a command file is terminated by one of these
signals, the asynchronous commands should also terminate.
* Reverted a change made to termination reporting in osh-040216 that
was not actually compatible w/ the V6 shell.
* Always terminate the shell when read(2) fails.
This fixes a possible infinite loop.
* Fixed a bug in the parser that caused syntactically incorrect
subshell commands not to be detected as such when preceded by
redirection arguments (e.g., `<infile >outfile ( | )').
This bug was introduced in osh-040216.
* Fixed possible buffer overflows in substparm(); added a new error
message, "Too many characters", and made other changes necessary to
properly deal w/ the new error condition. This problem had been
present since at least osh-020214.
* Made some changes to how globbing is handled by the shell.
Specifically, glob(3) should only be called when an argument contains
unquoted occurrences of any of the glob characters `*', `?', or `['.
Previously, it was being called for every argument of an external
command. This change improves run-time performance slightly as
judged by time(1) and information returned by getrusage(2).
* The above-mentioned change also allows the following compatibility
feature. Added globbing compatibility when the shell is compiled
w/ -DCLONE so that when no matches are found a diagnostic,
"No match", is printed.
2004-04-25 17:49:57 +02:00
|
|
|
PKG_INSTALLATION_TYPES= overwrite pkgviews
|
|
|
|
|
2005-07-29 20:32:17 +02:00
|
|
|
PKG_SHELL= bin/osh
|
2002-08-20 22:52:29 +02:00
|
|
|
|
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 18:43:34 +02:00
|
|
|
BUILD_TARGET= oshall
|
2007-03-26 19:01:59 +02:00
|
|
|
INSTALL_TARGET= install-oshall
|
2004-02-23 02:58:41 +01:00
|
|
|
|
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 18:43:34 +02:00
|
|
|
MAKE_ENV+= MANDIR=${PREFIX}/${PKGMANDIR}/man1
|
2008-07-18 16:58:31 +02:00
|
|
|
MAKE_ENV+= SYSCONFDIR=${PKG_SYSCONFDIR}
|
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 18:43:34 +02:00
|
|
|
|
2002-08-20 22:52:29 +02:00
|
|
|
.include "../../mk/bsd.pkg.mk"
|