Commit graph

72167 commits

Author SHA1 Message Date
wiz
1c1f626158 Update to 041028, closing PR 27765.
Changes that improve compatibility w/ the Sixth Edition Unix shell
are marked w/ a `C:' in the details below.

-------------------------------------------------------------------------------
[osh-041028]:
*.1:
	* Fixed a few typos in osh.1 and sh6.1.

	* Did a little fine tuning of osh.1 and sh6.1 to hopefully
	  eliminate some incomplete and/or unclear explanations.

	* Did the same for both if.1 and goto.1.

osh and sh6:
	* Fixed an annoying bug introduced in the previous release...
	  The way error messages were printed in error() was not accounting
	  for the fact that the standard error stream is quite often (if not
	  always) unbuffered by default.  This could make some error messages
	  difficult to read when a pipeline was involved.  A little example:
	  Before (unfixed):
		% foo|bar|baz
		foo: not foundbar: not foundbaz: not found


	  After (fixed):
		% foo|bar|baz
		foo: not found
		bar: not found
		baz: not found

-------------------------------------------------------------------------------
[osh-041018]:
	This release includes sh6 in addition to osh, if, and goto.
	Sh6 is simply osh without the enhancements.  It is built from the
	same sources as osh, but it is not built or installed by default.

Makefile:
	* Added targets for sh6 so that it can optionally be built, tested,
	  and installed if desired.

osh and sh6:
	* Split the code into modules.
	  This is primarily for developer sanity... ;)
	  The new files are osh.h, main.c, parse.c, and exec.c.

	* If (geteuid() != getuid() || getegid() != getgid()) is true,
	  print a nice error message and exit with a status of 2.

	* Strip all NUL characters from the shell's standard input as it is
	  being read into the command line buffer.  Input to the shell is
	  expected to be text.

	* Changed the way the shell handles non-seekable files.
	  This is for both initialization files (osh only) and command files.
	  Do not block on open(2); open it and determine if it is a regular
	  file (or seekable).  If it is not a regular file or is not seekable,
	  exit with an error.  If seekable, reset the file for blocking I/O
	  and continue as normal.

	  Note that you can still read commands from FIFOs if you want.
	  Instead of doing `osh myfifo', you can either do `osh <myfifo'
	  or `osh - my list of positional parameters <myfifo'.

	* Changed the error handling to use stdarg(3).
	  This allows for more code consistency and makes it easier
	  to handle all errors with just one line of code.

osh only:
	* Added another possible initialization file for osh: $HOME/.oshrc
	  Osh only attempts to execute commands from this file if it is an
	  interactive shell.  In the case of a login shell, osh tries this
	  file only after it tries both /etc/osh.login and $HOME/.osh.login.

	* Made osh less strict about errors in initialization files.
	  Previously, common shell-detected errors in any of the files
	  were generally treated in the same way as they would have been
	  treated in a command file (i.e., the error was fatal).  Realizing
	  that this potentially caused difficulty and annoyance for the user,
	  I opted to change it so that these types of errors are handled as
	  they are when osh is interactive.

	  This should make it easier for the user to debug
	  initialization files if needed.

	* Added a `source' special command.
	  It is functionally similar to the way this command works in csh(1).
	  See osh(1) for details.

if:
	* Changed ARGMAX from 50 to 256.

	* If (geteuid() != getuid() || getegid() != getgid()) is true,
	  print a nice error message and exit with a status of 2.

	* Added a few new primaries: `-h', `-s', `-t', and `-x'
	  See if(1) for details.

goto:
	* Changed the size of the label buffer from 128 to 1024.

	* Do not require the `:' of a labelled line to appear in column 1.
	  Instead, allow the `:' to optionally be preceded by blanks so that
	  labelled lines can be indented in command files.  See goto(1) for
	  more details if needed.

	* Eliminated unnecessary calls to strcmp(3) whenever a possible label
	  cannot possibly match the label argument given on the command line.

	* Give an error if any NUL character is encountered in the input.

	* Give an error if a zero-length string is given as the label argument.

-------------------------------------------------------------------------------
[osh-040812]:
osh.c:
	* Changed the way unused pipe descriptors are handled in the child
	  process after fork().  This fixes a bug where the pipe in a pipeline
	  such as `( cat /dev/zero ) | sleep 1' would never enter an EOF state.
	  Previously, the close-on-exec flag was being set for the descriptors
	  in question.  Of course, this did not work for the above and similar
	  cases.  So, the descriptors in question are now close()d explicitly.

	* Made some final changes to globbing to allow for more sensible
	  behaviour WRT quoting.  The functions affected are: globargs(),
	  globchar(), and striparg().  Read and/or run `tests/glob_test.osh'
	  for details of the user-visible changes.  This script may cause
	  previous versions of the shell to dump core.

	  Basically, since striparg() had always been called *after* glob(3)
	  and since the path names generated by glob(3) cannot be trusted, it
	  ends up that the best course of action is to call striparg() *before*
	  glob(3).  This relatively simple change fixes a variety of *possible*
	  problems related to globbing.

-------------------------------------------------------------------------------
[osh-040731]:
osh.c:
	* Added bounds checking to striparg() to protect against a possible
	  buffer overflow.  Though this is unlikely to happen in the general
	  case, it is certainly *not* impossible.  This function had been
	  unprotected since at least osh-020214.

	* Added a new diagnostic, `Arg too long', to go with the
	  above-mentioned change.

	* Removed the `No directory' diagnostic from globargs().
	  It was simply not worth the trouble.  In compatible mode,
	  the `No match' diagnostic provides sufficient compatibility
	  in my opinion...

	* Changed the `chdir' command so that it only attempts to change to
	  the previous working directory when the `-' argument is *not* quoted.
	  This alows the shell to change to a directory by that name.
	  For example:
	  % mkdir -; chdir -; pwd; chdir \-; pwd; chdir -; pwd; rmdir -
	  chdir: no old directory
	  /home/jneitzel/osh_stuff/osh-040731
	  /home/jneitzel/osh_stuff/osh-040731/-
	  /home/jneitzel/osh_stuff/osh-040731

	  Remember that "-" or '-' has the same effect as the \- used above.
	  This is perhaps a little silly, but I figure if a directory *can*
	  exist then it should be possible to change to it.

	* Fixed the `<-' redirection argument so that it adheres to the
	  documentation.  This fixes a file descriptor leak in addition
	  to the incorrect behaviour.  It should be silently ignored in
	  the following case: `echo hello | grep h <-'; now it is.

-------------------------------------------------------------------------------
[osh-040723]:
osh.c:
	C: Fixed a small idiosyncrasy with the `No directory' and `No match'
	   diagnostics when running in compatible mode.  For example:
	   Before:
	   % if -d . -a -r . echo "`.' is a readable directory.";\
	     echo foo*; echo ?; echo []
	   `.' is a readable directory.
	   No match
	   No match
	   No directory

	   After:
	   % if -d . -a -r . echo "`.' is a readable directory.";\
	     echo foo*; echo ?; echo []
	   `.' is a readable directory.
	   No match
	   No match
	   No match

	   The shell should only print `No directory' when a directory
	   does not exist (ENOENT) or cannot be read (EACCES).  Yes, it is
	   expected that invalid patterns such as `[' and `[]' result in
	   the shell printing a `No match' diagnostic.

	* Changed the `<--' input redirection argument to `<-' instead.
	  This seems more consistent and will allow for possibly clearer
	  documentation in the future (if and when I add another feature
	  I've been thinking about).

fd2.[1c]:
	* Removed the fd2 utility and its manual page because of
	  possible licensing issues.

-------------------------------------------------------------------------------
[osh-040718]:
	This release is made primarily to synchronize with the new branch
	of the shell which is named `sh6'.

osh.1:
	* More revisions and clarifications...

-------------------------------------------------------------------------------
[osh-040714]:
Makefile:
	* Refined the description for _XOPEN_SOURCE a little.

osh.1:
	* General improvements...
	  This includes documenting some things that have never been very well
	  documented in this shell.

osh.c:
	C: Made changes to globbing which affect the shell in compatible mode.
	   This includes the addition of the `No directory' diagnostic which
	   was present in /etc/glob from Sixth Edition Unix.  Also, it looks
	   like I had previously misinterpreted exactly when the `No match'
	   diagnostic was supposed to be printed.  Now, when running in
	   compatible mode the shell really is compatible.  Yay =)

	* Added a `umask' special command.

	* Disallow SIGCHLD from being trapped.
	  When this signal is requested in a `trap' command, it is quietly
	  disallowed.  This is the same behaviour seen with both SIGKILL and
	  SIGSTOP.  Thus, doing a `trap + 9 17 20' quietly has no effect.

	* Made changes to how the shell builds a command's argument vector.
	  Previously, malloc(3) was used.  Now, each command in the command
	  line is simply split into `\0'-terminated words.  Each argument is
	  actually a pointer to the corresponding word in the command line.

	  The changes to parameter substitution in osh-040628 made this
	  a perfectly sensible course of action.  This change also gives
	  a microscopic improvement in run-time performance (as judged
	  by time(1)).

	  The only remaining use of malloc(3) in the shell's execution stage
	  can be found in globargs().

-------------------------------------------------------------------------------
[osh-040628]:
	Thanks to Stephen M. Jones for suggesting that osh should be able
	to read a global rc file.  Thanks to Stephen C. VanDahm for assisting
	with some portability issues found in osh-040421.  Thanks also to
	Josep Portella Florit for reviewing osh-040421, making several useful
	suggestions, and sending patches.

	BTW, many changes were made to the manual pages.
	I hope they are clear, but I trust that if they are not then someone
	might be kind enough to tell me so and/or make suggestions.

	Some new files are included:
		examples/*:	initialization file examples
		  fd2.[1c]:	the fd2 utility

Makefile:
	* Added some notes about _XOPEN_SOURCE.

	* Added a target to optionally build and install fd2.

	* Removed the compile-time definition of `CLONE'.
	  This is now a run-time option which can be toggled in order to
	  enable or disable enhancements to the shell.

osh.c:
	C: Changed how the shell does parameter substitution.
	   This was the last major incompatibility w/ the Thompson shell.
	   Now, substitution is done *before* any command-line parsing
	   takes place.

	* Added the ability for login shells to read the initialization files
	  /etc/osh.login and/or $HOME/.osh.login if they exist.  A shell is
	  considered to be a login shell if its first argument starts w/ a
	  `-' character (e.g., -osh).

	* Added a `set' command to allow shell compatibility to be toggled
	  at run time.  In addition, the shell now checks for `OSH_COMPAT'
	  in the environment to tell future invocations of the shell which
	  mode the user wishes to run in.

	* In addition to the `set' command mentioned above, the following
	  special built-in commands have been added and are available when
	  the shell is in "noclone" mode:
		exec, setenv, trap, unsetenv

	* In globargs(), use `gl_pathc == 0' to detect an unmatched pattern
	  instead of checking if glob(3) returned `GLOB_NOMATCH'.  This allows
	  for those cases where glob(3) may not be POSIX-compliant.

	* Made osh command files that are run asynchronously ignore interrupts.
	  For example, `osh runcom&' should ignore SIGINT and SIGQUIT, and now
	  it does.

	* Reverted a so-called compatibility fix made in osh-040421.
	  Now, ignore SIGINT and SIGQUIT for asynchronous commands invoked
	  from a command file.  From a usability perspective, it is simply
	  too annoying to not do it this way.

	* Changed the `exit' command so that it always terminates a shell when
	  reading commands from a file.  Previously, it only terminated a shell
	  when invoked as `osh file'.  Note that `exit' still has no effect for
	  interactive shells or `osh -c command'; this is intentional as it is
	  compatible w/ the behaviour of `exit' under the Thompson shell.

if.c:
	* Include stdlib.h for exit(3) so that OS X doesn't complain.

	* Rename exp() to expr() to avoid conflicts w/ exp(3) on OS X.
	  Strange, as math.h is not included there should not have been
	  any conflict.  Oh well, it is fixed now.

	* Enable this utility to return a meaningful exit status to the user.
	  In short, `if foo = foo' returns an exit status of 0; `if foo = bar'
	  returns an exit status of 1.  Previously, exit status was always 0.

	* Made the usage less ambiguous; corrected the documentation to reflect
	  the actual behaviour.  In short, usage is (and always has been) as
	  follows:
		if expr [command [arg ...]]

	* Added some useful conditional primaries for constructing expressions.
	  See the manual pages for details.

	* Use the stdio(3) functions instead of write(2) for printing
	  the error messages.

	* In addition, added some useful diagnostic messages which were
	  inspired by the test(1) utility from Seventh Edition Unix.

goto.c:
	* Give an error message when standard input is not seekable.
	  Previously, a label not found error would be produced instead.

fd2.c:
	* A new utility and manual page...  It is an adaptation of the PWB/Unix
	  (roughly PWB/1.0 ?) redirect diagnostic output command.  The original
	  source came from the file `spencer_pwb.tar.gz' which can be found at:

		http://www.tuhs.org/Archive/PDP-11/Distributions/usdl/
2004-12-27 21:13:01 +00:00
jdolecek
0516b75830 use ${PKG_SYSCONFDIR} rather than hardcoding ${PREFIX}/etc
Fixes PR pkg/28718 by Amitai Schlair
2004-12-27 20:20:23 +00:00
tron
2537eab5a7 Make this build with GTK+ version 2.6.0 or newer. 2004-12-27 20:07:10 +00:00
wiz
0c6e6ee312 db4 update has been done, remove it (thanks, jlam). 2004-12-27 18:21:32 +00:00
wiz
1ec07ec0bb There is no -d option; remove it from the usage.
Closes PR 28788 by Berndt Josef Wulf.
2004-12-27 18:19:48 +00:00
xtraeme
b7efe9439a Finish my previous commit and unbreak xorg-*:
* Move the subst macros for threadlib.h from xorg-libs to
  xorg/Makefile.common.
* SUBST_CLASSES should be appended.

Thanks to Manuel Stuehn <manuel.stuehn@student.uni-siegen.de> for
the email showing me the problems.
2004-12-27 17:26:18 +00:00
minskim
62a21550ca Add missing dependency on zlib. 2004-12-27 17:19:51 +00:00
jlam
c81a41989b Fix package distfile checksums. 2004-12-27 15:31:51 +00:00
jlam
7209598ab4 Note addition of:
p5-Kwiki-Favorites	p5-Kwiki-ParagraphBlocks
	p5-Kwiki-HtmlBlocks	p5-Kwiki-PreformattedBlocks
	p5-Kwiki-NewPage
2004-12-27 15:28:08 +00:00
jlam
fb38081c0e Add and enable:
p5-Kwiki-Favorites	p5-Kwiki-ParagraphBlocks
	p5-Kwiki-HtmlBlocks	p5-Kwiki-PreformattedBlocks
	p5-Kwiki-NewPage
2004-12-27 15:25:57 +00:00
jlam
82f331f1dc Import p5-Kwiki-PreformattedBlocks-0.11 as www/p5-Kwiki-PreformattedBlocks,
a Kwiki plugin to mark blocks of preformatted text without indenting.
2004-12-27 15:24:11 +00:00
jlam
5f92728b25 Import p5-Kwiki-ParagraphBlocks-0.12 as www/p5-Kwiki-ParagraphBlocks,
a Kwiki plugin to display paragraphs with embedded line breaks and
whitespace.
2004-12-27 15:23:19 +00:00
jlam
cd8cc5cc04 Import p5-Kwiki-NewPage-0.12 as www/p5-Kwiki-NewPage, a Kwiki plugin to
create a new, orphaned Wiki page.
2004-12-27 15:18:57 +00:00
jlam
eac201ce3b Import p5-Kwiki-HtmlBlocks-0.11 as www/p5-Kwiki-HtmlBlocks, a Kwiki
plugin to display blocks of HTML markup.
2004-12-27 15:18:02 +00:00
jlam
5f5bb5b216 Import p5-Kwiki-Favorites-0.12 as www/p5-Kwiki-Favorites, a Kwiki plugin
to bookmark favorite Wiki pages.
2004-12-27 15:17:15 +00:00
wiz
212d6d2eb3 + bomberclone-0.11.5, xquote-2.6.10. 2004-12-27 14:14:21 +00:00
darcy
eae3cec2ad Package name has been changed from py-wxWindows to py-wxWidgets. 2004-12-27 13:38:52 +00:00
darcy
296ac04fd8 Remove py-mxDateTime-2.0.6 from TODO upgrade since it is done. 2004-12-27 13:30:03 +00:00
darcy
94ac84002f Upgrade to 2.0.6 2004-12-27 13:03:04 +00:00
wiz
0e3c0afe88 Note removal of gnumeric0 (and remove an update for it from TODO). 2004-12-27 11:29:09 +00:00
wiz
6201b719d4 Remove ancient version of gnumeric, we have two newer versions
(in separate packages) in pkgsrc now.
2004-12-27 11:28:04 +00:00
wulf
c7e9750f8c Added gimp-docs-2.0.6: A documentation package for The Gimp image manipulation software 2004-12-27 11:26:42 +00:00
wulf
e218bcc9ce Added and enabled gimp-docs-2.0.6, a documentation package for The Gimp image manipulation software 2004-12-27 11:24:21 +00:00
wulf
37cc152e07 A documentation package for The Gimp image manipulation software 2004-12-27 11:20:33 +00:00
wulf
195d67ffc8 Added package qbrew-0.3.3: A homebrewer's recipe calculator 2004-12-27 09:15:25 +00:00
wulf
f2a539daf2 Added and enabled qbrew - a homebrewer's recipe calculator 2004-12-27 09:12:08 +00:00
wulf
aadd745f3d New package QBrew: A homebrewer's recipe calculator 2004-12-27 09:11:05 +00:00
jlam
25b0d4a59c OpenBSD uses the NetBSD user/group management tools, so re-add back
support for USERADD/GROUPADD on OpenBSD.
2004-12-27 08:38:09 +00:00
jlam
ee27a664aa Fix location of .packlist. 2004-12-27 07:18:29 +00:00
jlam
25b81680be Remove USERADD and GROUPADD definitions from OSes where the useradd
and groupadd commands won't follow the calling conventions of the
NetBSD useradd/groupadd.  Modify the INSTALL scripts to *never* create
users or groups if there is no available ${USERADD} or ${GROUPADD}
command, but will warn the user of users and groups that need to be
created before the package can be installed.
2004-12-27 06:41:50 +00:00
jlam
34a211b1e3 Fix compilation on FreeBSD/x86 by ensuring that the FIPS assembly code
isn't used when fips isn't requested during configuration.
2004-12-27 06:14:40 +00:00
jlam
0360ff8bd5 Update databases/db4 to 4.3.21. Changes from version 4.2.25 include:
* Automatic initialization of replication clients
* Replication election process is now Paxos compliant
* In memory transaction logs allowing in memory databases
* Enhanced Java API nearly identical to that of our Java Edition
* Native support for sequence number generation
* Degree 2 transaction isolation
* Mutex statistics can now be easily gathered and recorded
* Support for Itanium2 chips running Windows XP
2004-12-27 04:27:49 +00:00
minskim
c011af3a69 Correct path to DISTFILES. 2004-12-27 03:09:18 +00:00
jlam
7a022e9cf2 Fix build on non-x86 platforms (PR pkg/28787). 2004-12-27 02:31:07 +00:00
minskim
0babe32e56 - Honor CFLAGS.
- Do not run mkdep, which is unnecessary in package buildling.
2004-12-27 01:00:28 +00:00
jlam
477be03389 Add and enable p5-Kwiki-Scode. 2004-12-26 23:58:05 +00:00
jlam
c37a1bf9b6 Import p5-Kwiki-Scode-0.02 as www/p5-Kwiki-Scode, a Kwiki Scode plugin
to protect against wiki spammers.

Scode (or Captcha) is a facility to prevent web spammers from posting
abusive content to your website.  Anyone who wants to edit a wiki page
is now required to input a verification code from an image.
2004-12-26 23:55:52 +00:00
wiz
2d5e52f24f p5-GD updated to 2.19 (thanks, jlam). 2004-12-26 23:44:47 +00:00
jlam
75d9bd16b0 Update graphics/p5-GD to 2.19. Changes from version 2.16 include
adding support for animated GIFs, dynamic bitmapped fonts, fontconfig,
and other freetype2 improvements.
2004-12-26 23:42:09 +00:00
jlam
b981fe17bc Use the usual CPAN URL for fetching the distfile. 2004-12-26 23:21:42 +00:00
jlam
25ecd0385c It's "modules/by-module". 2004-12-26 23:15:48 +00:00
wiz
697186c70a gsasl updated to 0.2.3. 2004-12-26 22:56:46 +00:00
wiz
9c1c388d33 Update to 0.2.3.
* Version 0.2.3 (released 2004-12-15)

** Fix example code to handle base64 encoded data properly.

** DIGEST-MD5 is disabled by default, pending a rewrite for the new API.

** Command line tool uses new callback interface to the library.

** Command line tool uses "iconvme" from gnulib for UTF-8 string conversion.

** Server mode in the command line tool does not work currently.
It is unclear if this feature was ever that useful.  If there are no
objections, it will be removed completely in future versions.

** Documentation fixes.

** Fix self test bugs.

* Version 0.2.2 (released 2004-11-29)

** Update of gnulib files.

* Version 0.2.1 (released 2004-11-19)

** Documentation fixes; the old callback API functions are marked as obsolete.

* Version 0.2.0 (released 2004-11-07)

** Added new directory examples/ with complete examples for new API.

** Documentation improvements.
For example, you can now browse the GNU SASL API manual using DevHelp.

** Update of gnulib files.

** More self tests.

** Translation fixes.
2004-12-26 22:56:09 +00:00
jlam
492042fd95 Add and enable p5-Kwiki-Icons-Gnome. 2004-12-26 22:36:20 +00:00
jlam
d8728f8b25 Add p5-Kwiki-Icons-Gnome, a Kwiki GNOME icons package. 2004-12-26 22:35:46 +00:00
jlam
b9c9fc4715 Import p5-Kwiki-Icons-Gnome-0.14 as www/p5-Kwiki-Icons-Gnome, a Kwiki
icons package that includes icons from GNOME.
2004-12-26 22:34:33 +00:00
wiz
257880150c gss updated to 0.0.15. 2004-12-26 22:22:35 +00:00
wiz
1042793de2 Update to 0.0.15:
New in 0.0.15:

** Documentation improvements.
For example, you can now browse the GSS manual using DevHelp.

** Libtool's -export-symbols-regex is now used to only export official APIs.
Before, applications might accidentally access internal functions.
Note that this is not supported on all platforms, so you must still
make sure you are not using undocumented symbols in GSS.

* Version 0.0.14 (released 2004-10-15)

** gss_import_name and gss_duplicate_name no longer clone the OID.
Instead, only the pointer to the OID is cloned.  It seem unclear where
a cloned OID would be deallocated.

** Fixed handling of sequence numbers in gss_accept_sec_context, for servers.

** Fix crash in gss_accept_sec_context for NULL values of ret_flags.

** Fix memory leaks.

** Sync with new Shishi 0.0.18 API.
2004-12-26 22:21:52 +00:00
zuntum
a3d914a5a8 polsms-2.0.2 update done 2004-12-26 22:17:38 +00:00
zuntum
93621c795c Note net/polsms update to version 2.0.2
* misc improvements and bugfixes (english changelog is not available)
2004-12-26 22:16:48 +00:00