2001-09-12 16:11  knu

	* portupgrade: Try to fetch the latest version of a package when
	the exactly same version as the port is not found in the package
	site.

2001-09-12 15:52  knu

	* pkgtools.rb, portupgrade, portupgrade.1: Support the environment
	variable PKG_PATH which is supported by pkg_add(1).

2001-09-12 13:23  knu

	* pkg_fetch, pkg_fetch.1, misc/zsh/_pkg_fetch: - Accept a full URI
	as well.
	
	- Do not try both All and Latest; now one must put an @ at the end
	of a   package name if one wants to omit the version part.
	("cyrus-sasl@", etc.)
	
	- Obsolete the PACKAGEBASE environment variable.
	
	- If -f is specified, Remove existing packages if they are corrupt.
	
	- Do not depend on the ports database.

2001-09-12 04:50  knu

	* misc/zsh/: _pkg_deinstall, _pkg_glob, _portsdb, _portupgrade,
	_portversion: Fix stupid completion bugs.

2001-09-12 03:59  knu

	* portupgrade, portupgrade.1, misc/bash/complete.sample,
	misc/zsh/_portupgrade: Add a new option -b/--backup-packages, which
	keeps backup packages of the old versions'.
	
	Requested by:	mistral@imasy.or.jp (Yoshihiko SARUMARU)

2001-09-10 18:16  knu

	* portsclean, portsclean.1: Fix the command line help.
	
	Submitted by:	Jimmy Olgeni <olgeni@uli.it>

2001-09-07 04:38  knu

	* portupgrade: Fix a misbehavior when -s is specified, where it
	previously built each port twice. ;)

2001-09-06 18:11  knu

	* pkg_fetch: Be even more smart in deciding which to try first, All
	or Latest.

2001-09-06 17:44  knu

	* portupgrade: Read the env variable PORTUPGRADE when called as
	portinstall too.

2001-09-06 15:46  knu

	* pkg_deinstall.1, pkg_glob, pkg_glob.1, pkgtools.rb, portsdb,
	portsdb.1, portupgrade, portupgrade.1, portversion, portversion.1:
	- Allow using regexp in a glob pattern on the spot, by just putting
	a   regexp preceded by a colon (:).
	
	- Thereby deprecate -E/--regex, which is evil because it changes
	the   global status. (but the option is still kept for
	compatibility)

2001-09-06 01:32  knu

	* portupgrade: Return correct exit status.
	
	Reported by:	Trevin Chow <trevin@mail.com>

2001-09-01 03:39  knu

	* portupgrade: D'oh, fix a typo..

2001-08-31 16:54  knu

	* tests/test_portsdb.rb: Fix the test for PortsDB#strip().

2001-08-31 16:46  knu

	* portupgrade: Fake all_depends too.

2001-08-31 16:44  knu

	* portsdb.rb: Fix PortsDB#split() to just strip PORTSDIR part and a
	trailing slash.

2001-08-31 16:42  knu

	* pkgversion.rb, portinfo.rb: Style fix.

2001-08-30 03:20  knu

	* portversion: Workaround optparse' feature.  Since it treats -l=
	as -l "", assume an "=" is pecified when we get an empty string. 
	Now -l= and -L= will work as expected.

2001-08-29 18:24  knu

	* pkgdb.rb, portupgrade, portupgrade.1: Make portupgrade download
	packages when -FP is given. (also aware of -R, -f and -v)

2001-08-29 18:22  knu

	* pkg_fetch, pkg_fetch.1: Be more intelligent and try All and
	Latest in the proper order.

2001-08-29 17:39  knu

	* pkg_fetch: Do not try 'All/' when a package name does not contain
	a '-'.

2001-08-29 17:10  knu

	* pkg_fetch: Return a non-zero status value when some are failed.

2001-08-29 16:19  knu

	* pkg_fetch, pkg_fetch.1, misc/bash/complete.sample,
	misc/zsh/_pkg_fetch: pkg_fetch -r should have been -R, since it
	recurses upwards.

2001-08-29 03:50  knu

	* portupgrade, portupgrade.1: Revamp build_port().  Try not to do
	duplicate operations.
	
	Now -RF invokes fetch-recursive.  [Suggested by:	Jimmy
	Olgeni <olgeni@uli.it>]

2001-08-29 02:54  knu

	* portupgrade, portupgrade.1, misc/bash/complete.sample,
	misc/zsh/_portupgrade: Update the usage, manpages and shell
	compdefs.

2001-08-29 02:47  knu

	* portupgrade: Add a new option -M/--make-env, with which a user
	can specify arguments to prepend to each make(1) command line.
	
	It's a good time to remove .dup from shellwords()' arguments.  The
	bug of shellwords.rb was fixed several months ago.

2001-08-29 02:18  knu

	* pkg_glob, pkgdb.rb, portsdb, portsdb.rb, portupgrade: Fix glob
	expansion routines.  It has been broken since I hacked them to
	allow rather stupid patterns.

2001-08-27 22:43  knu

	* pkgdepfix, pkgtools.rb: Fix readline nits.

2001-08-27 21:00  knu

	* portsdb.rb: Fix a bug where it causes an error when portsdb
	detects a DB_VERSION bump.
	
	Reported by:	Ollivier Robert <roberto@eurocontrol.fr>

2001-08-27 19:34  knu

	* misc/bash/complete.sample: Change the #! line from "/bin/bash" to
	"/usr/bin/env bash". (It doesn't matter anyway, since it is just
	for editors' syntax detection)
	
	Noted by:	Anders Andersson <anders@codefactory.se>

2001-08-27 18:56  knu

	* portsdb, portsdb.1, misc/bash/complete.sample, misc/zsh/_portsdb:
	Add a new option: -f/--force.

2001-08-27 17:01  knu

	* pkgdb.rb, portsclean, portupgrade: Replace "ary1.push(*ary2)
	unless ary2.empty?" with Array#concat or other better ways.

2001-08-27 16:31  knu

	* portsdb.rb: Bump DB_VERSION, since PkgVersion was changed a bit.
	
	Reported by:	fritz.heinrichmeyer@fernuni-hagen.de

2001-08-27 16:24  knu

	* pkgtools.rb: Add a missing argument for Dir::chdir_do().
	
	Reported by:	"Li-lun Wang (Leland Wang)" <llwang@infor.org>

2001-08-27 04:46  knu

	* README: Mention pkg_fetch.

2001-08-27 04:35  knu

	* misc/tcsh/complete.sample: Add a tcsh compdef for pkg_fetch(1).
	
	Remove redundant arguments.

2001-08-27 04:21  knu

	* misc/zsh/: _pkg_deinstall, _pkg_glob, _pkgdepfix, _portupgrade,
	_portversion: Fix not to complete non directories for pkgnames.
	
	Quote colons properly.

2001-08-27 04:21  knu

	* misc/zsh/_pkg_fetch: Add a zsh compdef for pkg_fetch(1).

2001-08-27 04:00  knu

	* misc/bash/complete.sample: Add a bash compdef for pkg_fetch(1).

2001-08-27 03:46  knu

	* install.rb: Install pkg_fetch and its manpage.

2001-08-27 03:45  knu

	* pkg_fetch, pkg_fetch.1: Add yet another new utility,
	pkg_fetch(1).  It downloads binary packages from a remote site. 
	Optionally, it can also download the required packages recursively.

2001-08-27 03:42  knu

	* pkg_deinstall.1, pkg_glob.1, pkgdepfix.1, portsdb.1,
	portupgrade.1, portversion.1: Describe the default values of
	environment variables better.

2001-08-27 03:41  knu

	* portcvsweb.1: Silence nroff.

2001-08-27 03:05  knu

	* portupgrade, portupgrade.1: Reword.

2001-08-27 02:13  knu

	* pkgtools.rb: Avoid using Readline.completion_append_character= if
	not defined, so input_line() works with Ruby 1.6.4.
	
	Reported by:	David Wolfskill <david@catwhisker.org>

2001-08-27 02:02  knu

	* portupgrade: Do not regard "no package found" as an error when
	upgrading packages with -PP.
	
	Change the format of the "results" array.

2001-08-27 02:00  knu

	* pkg_glob: Change the format of the "results" array.

2001-08-27 01:59  knu

	* pkgtools.rb: Define $packages_base and $packages_dir.
	
	Change the format of the "results" array.

2001-08-26 19:40  knu

	* portcvsweb: Explicitly execute a browser via /bin/sh, as the
	specification says.

2001-08-26 18:02  knu

	* pkgversion.rb: Fix a stupid bug when generating a pkgname as a
	string.
	
	Reported by:	Jimmy Olgeni <olgeni@uli.it>

2001-08-26 06:40  knu

	* misc/tcsh/complete.sample: Fix a typo.  ($PORTSDIR == 0) ->
	($?PORTSDIR == 0)
	
	Submitted by:	Jimmy Olgeni <olgeni@uli.it>

2001-08-26 06:28  knu

	* portsclean: Fix a sorting bug.
	
	Submitted by:	Jimmy Olgeni <olgeni@uli.it>
	
	Emit an informational message when -L/--libclean finishes.

2001-08-26 06:26  knu

	* misc/bash/complete.sample: Supply a missing `;;'.
	
	Submitted by:	Jimmy Olgeni <olgeni@uli.it>

2001-08-26 01:36  knu

	* pkgdepfix, pkginfo.rb, pkgtools.rb, pkgversion.rb: Make ruby -v
	safe.

2001-08-26 01:35  knu

	* portcvsweb: Fix a retry loop.

2001-08-26 01:34  knu

	* portsdb: Output the usage to stdout instead of stderr.

2001-08-26 00:06  knu

	* 000.pkgtools.sh, install.rb, portsclean, portsclean.1: Since
	$PREFIX/lib/compat is alread used by misc/compatXX, use
	$PREFIX/lib/compat/pkg instead.

2001-08-26 00:03  knu

	* portsclean: Skip shared libraries in the compatlibdir.

2001-08-25 22:40  knu

	* misc/: bash/complete.sample, zsh/_portsclean: Teach portsclean
	-DD.

2001-08-25 22:36  knu

	* portsclean, portsclean.1: Implement portsclean -DD, which cleans
	all the distfiles which are not referenced from any port that is
	currently installed, which portsclean -D only cleans the distfiles
	which are not referenced from any port in the ports tree.
	
	Note that -DD runs very fast but removes more, whereas -D runs so
	slow but removes less.
	
	Idea provided by:	Kris Kennaway <kris@obsecurity.org>
	
	Resurrect the support for the case where DISTDIR is a symlink,
	which support I removed by mistake.

2001-08-25 21:16  knu

	* README: Update.

2001-08-25 21:16  knu

	* portupgrade.1: Mention pkgdepfix's -o option.

2001-08-25 21:03  knu

	* portsclean, portsclean.1: Finally implement portsclean
	-L/--libclean.

2001-08-25 21:02  knu

	* pkgtools.rb: Do not append a space after completion.
	
	Let a user choose even if there is just one option.

2001-08-25 21:01  knu

	* install.rb: Dig the compat library directory and install the
	startup script.

2001-08-25 21:00  knu

	* 000.pkgtools.sh: The startup script for pkgtools.

2001-08-25 19:30  knu

	* pkgdepfix: Utilize the new helper methods in pkgtools.rb.

2001-08-25 19:29  knu

	* portversion: Catch PortsDB::DBError.

2001-08-25 19:29  knu

	* pkgtools.rb: Add more new helper methods: readline(),
	readline_file(), choose_from_options().

2001-08-25 16:14  knu

	* misc/zsh/_portsdb: Add a zsh compdef for portsdb(1).

2001-08-25 16:14  knu

	* misc/bash/complete.sample: Do not complete installed packages for
	portsdb.

2001-08-25 07:34  knu

	* misc/bash/complete.sample: Add a definition for portsclean.

2001-08-25 07:32  knu

	* portupgrade.1, portupgrade: Reword.

2001-08-25 07:32  knu

	* misc/zsh/: _portsclean, _portupgrade: Update.

2001-08-25 07:16  knu

	* misc/bash/complete.sample: Add completion definitions for bash.

2001-08-25 07:13  knu

	* portsdb.1: Sort options in SYNOPSIS.

2001-08-25 06:53  knu

	* tests/test_pkginfo.rb, tests/test_pkgversion.rb, pkgversion.rb:
	Save PORTREVISION and PORTEPOCH as zero instead of nil, if they
	aren't defined.

2001-08-25 04:59  knu

	* misc/zsh/_portupgrade: Complete command names for -A/-B/-S.

2001-08-25 02:53  knu

	* portcvsweb: Utilize ident(1).

2001-08-25 02:52  knu

	* pkg_glob, pkgdb.rb, pkgdepfix, pkginfo.rb, pkgtools.rb,
	pkgversion.rb, portinfo.rb, portsclean, portsdb.rb, portupgrade,
	portversion, tsort.rb: Reword conjunctions for readability.

2001-08-25 00:43  knu

	* pkgdepfix: Reword a message.

2001-08-25 00:42  knu

	* pkgtools.rb: Uncomment Enumerator#partition.
	
	Define PREFIX.

2001-08-25 00:41  knu

	* portsdb.rb: Fix a typo.

2001-08-24 17:58  knu

	* portupgrade.1: Update.

2001-08-24 17:54  knu

	* portupgrade: Add a new option: -l/--log-results, which is used to
	save the results to a file.
	
	Properly exit when main() does not return a valid value.

2001-08-24 17:38  knu

	* pkgtools.rb: Make *_message accept an alternative IO to STDOUT or
	STDERR.
	
	Separate write_results from show_results.

2001-08-24 05:59  knu

	* portsdb, portsdb.1: Implement -r/--recursive. (a bit slow,
	though)

2001-08-24 05:58  knu

	* pkg_glob, pkgtools.rb, portupgrade, portversion: Replace
	pkg_recurse with PkgDB#recurse.

2001-08-24 05:57  knu

	* portsdb.rb: Add PortsDB#recurse.

2001-08-24 05:57  knu

	* pkgdb.rb: Add PkgDB#recurse.

2001-08-24 00:54  knu

	* portsdb.rb: Do not fail in the case when INDEX.db and INDEX.rbo
	are not in sync somehow.

2001-08-23 16:47  knu

	* portsdb.rb: Fix a typo.

2001-08-23 06:38  knu

	* pkgtools.rb: Avoid infinite loop.

2001-08-23 06:24  knu

	* pkgdepfix, pkginfo.rb, pkgtools.rb, portsdb.rb: Support
	statically linked ruby.

2001-08-23 06:21  knu

	* portversion: portversion doesn't require 'thread' any more.

2001-08-23 05:40  knu

	* README: Update.

2001-08-23 03:33  knu

	* pkgtools.rb: Fix a bug in sudo() where it destoyed $sudo_args
	when the arguments include a '%s'.  This fixes portupgrade -S 'su
	root -c %s'.  [Submitted by: KOMATSU Shinichiro
	<koma2@jiro.c.u-tokyo.ac.jp>]

2001-08-23 03:29  knu

	* portsdb.rb: Remove a debug code.

2001-08-22 22:08  knu

	* portcvsweb, portcvsweb.1: Accept a port path as well.

2001-08-22 21:20  knu

	* portsdb.rb: Adopt better error handling and a better PORTS_DBDIR
	selection algorithm.

2001-08-22 21:19  knu

	* pkgdb.rb: Introduce PkgDB::DBError.

2001-08-22 15:52  knu

	* portsdb: Update the INDEX first, and then the database even if
	the options are specified in reversed order. (-uU)

2001-08-22 15:32  knu

	* portupgrade: Fix a misfeature where "skip" was regarded as
	failure, when checking for dependent ports' build/install failure. 
	[Pointed out by: Jimmy Olgeni <olgeni@uli.it>, "Jose M. Alcaide"
	<jose@we.lc.ehu.es>]

2001-08-22 15:22  knu

	* pkgtools.rb: Fix pkg_recurse()'s bug where recurse_up breaks
	pkgname. (D'oh!) [Reported by: "Jose M. Alcaide"
	<jose@we.lc.ehu.es>]

2001-08-22 15:08  knu

	* portupgrade: Do not move a backup package under PKG_DBDIR, but
	just keep it under TMPDIR.  It should not require a large amount of
	free space in PKG_DBDIR.  [Pointed out by: John Merryweather Cooper
	<jmcoopr@webmail.bmi.net>]

2001-08-22 03:58  knu

	* portsdb.rb: Fix a typo.

2001-08-22 03:55  knu

	* portupgrade: Utilize Dir::chdir_do(), and avoid unnecessary
	chdir's.

2001-08-22 03:52  knu

	* portsclean: Avoid unnecessary chdir's.

2001-08-22 03:40  knu

	* pkgdepfix: Utilize PortsDB#strip, PortsDB#exists? and
	Dir::chdir_do().

2001-08-22 03:38  knu

	* pkgtools.rb: Define Dir::chdir_do().

2001-08-22 03:37  knu

	* portsdb.rb: Make exists?() return pkgname if the port exists.

2001-08-22 03:19  knu

	* pkgdb.rb, portsdb.rb: Implement the new specification, and use
	File.expand_path() effectively.

2001-08-22 03:18  knu

	* tests/test_pkgdb.rb: Change the specification:	- pkgname/
	and category/portname/ are okay now.	     - ./pkgname and
	./category/portname are not okay unless we are		  in
	PKG_DBDIR or PORTSDIR, respectively.

2001-08-21 21:24  knu

	* pkgdepfix: Backup +CONTENTS files before removing duplicates.

2001-08-21 20:45  knu

	* portversion: Accept pkgname_glob with paths.

2001-08-21 20:33  knu

	* portupgrade: Fix portinstall -i.
	
	Fix some bugs in the previous changes.

2001-08-21 20:14  knu

	* portupgrade.1: Document -g/--go-on.

2001-08-21 20:07  knu

	* portupgrade: Update the usage.

2001-08-21 20:06  knu

	* portupgrade: Skip ports and packages that once failed, and do not
	try to upgrade multiple packages of an origin.
	
	If a port or a package failed to build or install, skip its
	dependents.  This behavior can be overridden by the new option
	-g/--go-on.
	
	Use the new function names of optparse.
	
	Change the format of the results hash slightly.

2001-08-21 20:02  knu

	* pkgdb.rb: Separate the tsort object generation from sort().
	
	Add new methods: pkg() and origin_of() to get PkgDB closer to
	PortsDB.

2001-08-21 19:58  knu

	* pkg_glob: Use the new function names of optparse.
	
	Change the format of the results hash slightly.

2001-08-21 19:58  knu

	* pkgtools.rb: Change the format of the results hash slightly.

2001-08-21 19:57  knu

	* pkgdepfix, portsdb, portversion, portsclean: Use the new function
	names of optparse.

2001-08-21 13:23  knu

	* portsclean.1: Update.

2001-08-21 07:51  knu

	* portsclean: Start implementing -L/--libclean.

2001-08-21 06:35  knu

	* portsdb.rb: Fix abs_ports_dir().
	
	Add localbase() and x11base().

2001-08-21 06:05  knu

	* pkg_glob: Accept portorigin_glob and pkgname_glob with paths.

2001-08-21 06:04  knu

	* portupgrade: Accept portorigin_glob and pkgname_glob with paths.
	
	Do `stty sane' before building each port and before exit.

2001-08-21 05:50  knu

	* pkgdb.rb: Make strip() squeeze //'s.

2001-08-21 04:40  knu

	* portsdb.rb: Enhance strip() to accept an optional second
	argument, "installed_only".  Simplify it while I'm here.

2001-08-21 04:39  knu

	* pkgdb.rb: Enhance strip() to accept an optional second argument,
	"installed_only".

2001-08-21 04:38  knu

	* portversion: Run "stty sane" on interrupt, just in case.

2001-08-21 04:37  knu

	* tests/test_portsdb.rb: Add a test suite for portsdb.rb.

2001-08-21 04:36  knu

	* tests/test_pkgdb.rb: Add tests for strip().

2001-08-21 04:36  knu

	* tests/test_portinfo.rb: lib_depends and run_depends now return
	empty arrays instead of nils.

2001-08-21 04:35  knu

	* pkgdepfix: Run "stty sane" before and after using Readline.

2001-08-21 04:35  knu

	* pkgtools.rb: Add stty_sane().

2001-08-21 04:25  knu

	* pkgdepfix: Specify stty(1) in full path.

2001-08-21 02:32  knu

	* pkgdb.rb: Add a new method: pkgdir?().
	
	Make strip() better.

2001-08-20 21:40  knu

	* misc/tcsh/complete.sample: Add an example tcsh completion
	definition.
	
	Contributed by: kuwa@flab.fujitsu.co.jp

2001-08-20 16:34  knu

	* portupgrade, portversion: When -a is specified, there is no need
	to regard -r and -R.

2001-08-20 16:34  knu

	* pkg_glob: When -a is specified, there is no need to regard -r and
	-R.
	
	pkg_glob should support -a, which is not only for pkg_deinstall.

2001-08-20 15:35  knu

	* pkgtools.rb: Fix pkg_recurse not to try pushing an empty array to
	cause an error.  [Caught by: Mamoru Iwaki
	<iwaki@bsp.bc.niigata-u.ac.jp>]

2001-08-20 03:48  knu

	* portsdb.rb: The `BROWSER' hack is no longer needed; I've fixed
	netscape ports.

2001-08-20 00:24  knu

	* portupgrade: Unbreak -A and -B.  [Submitted by: Ollivier Robert
	<roberto@keltia.freenix.fr>]

2001-08-20 00:15  knu

	* portsdb, portsdb.1: Implement -M/--master-recursive,
	-R/--upward-recursive and -x/--exclude, and sort the result in
	dependency order.

2001-08-19 23:56  knu

	* portsdb.rb: Fix a bug in sort() where the result included
	dependent ports, and it now takes just an array of Strings, not
	PortInfo's.

2001-08-19 23:45  knu

	* portsdb.rb: Add a utility method origin_of().
	
	Implement sort()/sort!().

2001-08-19 23:44  knu

	* portinfo.rb: When a list field is empty the value should be an
	array rather than nil.

2001-08-19 23:32  knu

	* portinfo.rb: Add a new method all_depends().

2001-08-19 23:31  knu

	* pkgdb.rb: Simplify sort().

2001-08-19 23:20  knu

	* tsort.rb: Exclude nil.

2001-08-19 18:13  knu

	* portinfo.rb, portsdb.rb: Add some new utility methods:  
	PortsDB#abs_ports_dir	PortsDB#portdir   PortsDB#exists?  
	PortsDB#strip	PortsDB#masters
	
	  PortInfo#portdir
	  PortInfo#exists?
	  PortInfo#masters

2001-08-19 08:52  knu

	* portsdb.rb: Do not clobber the INDEX file until the new one is
	ready.

2001-08-19 06:26  knu

	* pkgdepfix: Implement an origin duplicates fixer (only invoked
	when -o is specified), and when it fixes one restart the whole
	session.
	
	Split the huge loop block into procedures.
	
	Make the cyclic dependencies fixer a bit more intelligent.

2001-08-18 22:54  knu

	* portupgrade.1: Fix a typo.  [Submitted by: Dirk Froemberg
	<dirk@freebsd.org>]

2001-08-18 22:43  knu

	* portcvsweb: Conform to the Secure BROWSER (SB) Specification
	proposed by David A. Wheeler.
	
	cf.	http://www.dwheeler.com/browse/secure_browser.html     
	http://www.tuxedo.org/~esr/BROWSER/

2001-08-18 18:55  knu

	* pkg_glob, pkgtools.rb, portupgrade: Change the report format.
	
	Always show Makefile errors, regardless of -v.

2001-08-18 18:10  knu

	* portupgrade: Refix the -N fix.

2001-08-18 17:56  knu

	* portsdb.rb: Add back the -j4 which removal I committed by
	mistake.

2001-08-18 17:54  knu

	* pkgtools.rb: Listing successfully done packages is not a warning.

2001-08-18 17:22  knu

	* portupgrade: Unbreak portinstall (portupgrade -N).
	
	Mention PORTS_INDEX in the help screen.

2001-08-18 17:21  knu

	* pkgdepfix, portsdb, portversion: Mention environment variables in
	the help screens.

2001-08-18 17:20  knu

	* pkgdepfix.1, portsdb.1, portsdb.rb, portupgrade.1: Make the
	location of the INDEX file configurable via the environment
	variable PORTS_INDEX.

2001-08-18 03:50  knu

	* portversion: Unbreak `portversion -t'.

2001-08-17 20:30  knu

	* pkgtools.rb: Fix a bug introced in the last version - check if
	dep is empty before pushing it into an array.

2001-08-17 16:26  knu

	* misc/zsh/_portupgrade: Complete a file for -L.

2001-08-17 16:25  knu

	* portupgrade: Fix a bug where it didn't show build error
	description properly.
	
	Update error messages and add `interrupted by user' and `permission
	denied'.
	
	Do not save zero-sized log files.

2001-08-17 15:38  knu

	* pkg_glob, portupgrade, portversion: Properly handle regular
	expression errors.

2001-08-17 15:26  knu

	* portupgrade: Fix the glob expander to exclude not installed
	packages recorded in +CONTENTS and +REQUIRED_BY files.
	
	Fix a bug where 'portupgrade -aE' raises an error.

2001-08-17 15:24  knu

	* portversion: Fix the glob expander to exclude not installed
	packages recorded in +CONTENTS and +REQUIRED_BY files.
	
	Fix a bug where `portversion -E' raises an error.

2001-08-17 15:20  knu

	* pkg_glob: Fix the glob expander to exclude not installed packages
	recorded in +CONTENTS and +REQUIRED_BY files.
	
	Properly define a signal handler.
	
	Show a better report.

2001-08-17 15:17  knu

	* portsdb.rb: Tru doing make INDEX when no INDEX file is present. 
	If it fails, raise an exception.

2001-08-17 15:13  knu

	* pkgtools.rb: New common routines: pkg_recurse() and
	show_results().

2001-08-17 08:08  knu

	* portversion, portversion.1, misc/zsh/_portversion: Support
	-r/-R/-x as other tools do.

2001-08-17 08:07  knu

	* pkg_glob: Remove unnecessary lines.

2001-08-17 08:06  knu

	* misc/zsh/: _pkg_deinstall, _pkg_glob, _portupgrade: Sort, fix a
	typo.

2001-08-17 07:23  knu

	* portupgrade, portupgrade.1, misc/zsh/_portupgrade: Add a new
	option: -L/--log-prefix, with which a user can save a build &
	installation log file for each port/package.
	
	Introduce the exception-based error handling method.
	
	Show a concise and helpful message for each upgrading error.  It
	now autoatically guesses the reason of each failure using the same
	algorithm that Ports Wraith's processlogs script uses.

2001-08-17 06:25  knu

	* pkgtools.rb: Add more utility methods.

2001-08-16 04:28  knu

	* portsdb.rb: This library shouldn't emit messages to stdout, since
	it is annoying to see the messages in the output of `portversion -c
	> script', etc.

2001-08-16 04:26  knu

	* pkg_glob.sh, portsdb_bdb.rb, portsdb_dbm.rb: Delete obsolete
	files.

2001-08-16 02:29  knu

	* portversion: portupgrade no longer needs -cC.

2001-08-16 02:08  knu

	* portupgrade, portupgrade.1: Mention --use-packages-only.

2001-08-16 02:00  knu

	* portupgrade, portupgrade.1, misc/zsh/_portupgrade: Turn
	-c/--clean and -C/--cleanup on by default.  [Suggested by: Ian
	Dowse <iedowse@maths.tcd.ie>}
	
	Now that -c/--clean is on by default, -Fc no longer means
	fetch-only + do distclean before each fetch.  Instead, a new option
	-D/--distclean is added which can be used with or without
	-F/--fetch.
	
	Add new options -w/--noclean and -W/--nocleanup.
	
	Always do `make clean-depends' before building dependent ports.

2001-08-15 22:47  knu

	* misc/zsh/: _pkg_deinstall, _pkg_glob, _portupgrade, _portversion:
	Add -E.

2001-08-15 20:38  knu

	* pkg_deinstall.1, pkg_glob.1, portupgrade.1, portversion.1:
	Standardize the terms: "pkgname glob" "portorigin glob"

2001-08-15 20:35  knu

	* portsdb, portsdb.1: Add -E/--regex, which makes the command treat
	globs as extended regular expressions.

2001-08-15 20:30  knu

	* portversion: Put -h at the top of the help screen.

2001-08-15 20:29  knu

	* portupgrade.1, portversion.1: Update.

2001-08-15 20:23  knu

	* portupgrade: Oops, the last commit was made too early.  Really
	implement -E.

2001-08-15 20:18  knu

	* pkg_deinstall.1, pkg_glob.1: Update.

2001-08-15 20:01  knu

	* portupgrade, portupgrade.1, portversion, portversion.1: Add
	-E/--regex which makes the command treat glob patterns as extended
	regular expressions.

2001-08-15 19:53  knu

	* pkg_glob: Readd long options.

2001-08-15 19:35  knu

	* pkg_glob: Add a new option -E/--regex that makes
	pkg_glob/pkg_deinstall interpret given globs as extended regular
	expressions.
	
	Fix usage and help.

2001-08-15 19:33  knu

	* portsdb.rb: Enhance glob() to accept a regexp.

2001-08-15 06:51  knu

	* pkginfo.rb, tests/test_pkginfo.rb: Make PkgInfo#match?() accept a
	Regexp.

2001-08-15 06:50  knu

	* runtest.sh: Set PORTSDIR=/usr/ports.

2001-08-15 06:45  knu

	* pkg_deinstall.1, pkg_glob.1, portversion.1: Show some concrete
	examples of pkg_glob patterns in the pkg_glob(1) manpage.

2001-08-15 06:14  knu

	* portupgrade.1: Rewrite the WARNING section and mention
	pkgdepfix(1) in it.  [Suggested by:    Ian Dowse
	<iedowse@maths.tcd.ie>]

2001-08-14 05:28  knu

	* README, pkgdepfix.1: Update for pkgdepfix(1).

2001-08-14 05:27  knu

	* runtest.sh: Invoke runtest with `ruby -I.'.

2001-08-14 05:26  knu

	* tests/test_tsort.rb: Add a basic test suite for tsort.rb.

2001-08-14 05:05  knu

	* pkg_glob, portcvsweb, portsclean, portsdb, portupgrade,
	portversion: Add `-*- ruby -*-' keywords for enscript.

2001-08-14 05:04  knu

	* pkgdepfix: Enhance input_* functions to accept some arguments.
	
	Implement the cyclic dependencies fixer.

2001-08-14 03:54  knu

	* portsdb.rb: Don't emit a confusing message "Cannot update the
	ports DB!" on a recoverable error.

2001-08-14 03:53  knu

	* pkgdb.rb, tsort.rb: * Reverse the meaning/order of the arguments
	of TSort#add() to   coincide the implementation with the document.
	
	* Fix a bug where it cannot always cope with a cyclic dependency.  
	 [Reported by: Fritz Heinrichmeyer <jfh@jfh00.fernuni-hagen.de>]
	
	* Allow the block given to tsort!() to specify an index to indicate
	  where to unlink the cycle.

2001-08-12 04:49  knu

	* portsclean.1: Reword.

2001-08-12 04:48  knu

	* README: Update.

2001-08-12 04:38  knu

	* portcvsweb.1: Reword.

2001-08-12 02:17  knu

	* portsdb.1: Update.

2001-08-12 01:24  knu

	* portsdb.rb: Do not call update_db() from update() explicitly.

2001-08-11 19:09  knu

	* portsclean: Rescue File.unlink failure.

2001-08-11 19:07  knu

	* portsclean: Support the "MD5 (file) = IGNORE" case.

2001-08-11 18:15  knu

	* misc/zsh/_portsclean: Add a zsh compdef for portsclean(1).

2001-08-11 18:12  knu

	* install.rb: Install new files.

2001-08-11 18:12  knu

	* portcvsweb, portcvsweb.1: Add a new tool: portcvsweb(1).

2001-08-11 17:50  knu

	* portsclean.1: Add the portsclean(1) manpage.

2001-08-11 17:46  knu

	* pkg_deinstall.1, pkg_glob.1, portsdb.1, portupgrade.1,
	portversion.1: Add a cross reference to ports(7).

2001-08-11 17:32  knu

	* portsclean: Rewrite in Ruby and implement the distfiles cleaner.

2001-08-11 17:31  knu

	* portsdb.rb: Show a progress message while updating INDEX.*.
	
	Record version information into INDEX.rdo.
	
	Record category information into INDEX.rdo and enhance the API
	accordingly.
	
	Introduce the automatic PORTS_DBDIR selector.  Now it will use
	whichever writable directory in the following ones: $PORTS_DBDIR,
	$PORTS_DIR, /usr/ports, $PKG_DBDIR, /var/db/pkg, $TMPDIR, /var/tmp,
	/tmp (checked in the order named)

2001-08-10 00:12  knu

	* portupgrade: Mention PORTS_DBDIR in the help screen.

2001-08-09 07:19  knu

	* portupgrade, portupgrade.1: Utilize $tmpdir properly for
	pkg_tarup.
	
	Add a notice regarding the disk space for backup files.

2001-08-09 06:48  knu

	* pkgdb.rb, portupgrade, portupgrade.1, misc/zsh/_portupgrade: Make
	portupgrade use pkg_deinstall instead of pkg_delete, to utilize its
	-P option.
	
	Now portupgrade always uninstalls old packages, but preserves
	shared libraries by default.  The -u option has been changed to
	mean "Do not preserve old shared libraries".  Note, however, that
	its behavior is the same as before, it is just the default behavior
	that has been changed.
	
	With this change, portupgrade no longer leaves extra garbage even
	if you don't specify -u, but only old versions of shared libraries
	for safety. :)

2001-08-09 06:29  knu

	* pkg_deinstall.1: Mention -P.

2001-08-09 06:11  knu

	* misc/zsh/_pkg_deinstall: Fix typoes.

2001-08-09 05:43  knu

	* pkg_deinstall.1, pkg_glob, misc/zsh/_pkg_deinstall: Bring in most
	of the options of pkg_delete(1) to pkg_deinstall.
	
	New option: `-P', which preserves shared libraries.
	
	List failed packages if any.
	
	Obsolete GNU style long options, which take space and would only
	rarely be used.

2001-08-09 05:13  knu

	* pkgtools.rb: Enhance subst_file():   - Take an optional argument
	`backup_file' and back up if specified.    - Return an array of
	changed lines instead of returning the number	   of changed
	lines.	  - Invoke /bin/cp and /bin/mv commands with the `-f'
	option.

2001-08-02 17:05  knu

	* portsclean: Show errors properly.

2001-08-02 17:01  knu

	* pkg_glob, pkgdb.rb, pkginfo.rb, portupgrade: Call pkg_* commands
	in fullpaths.

2001-08-02 14:12  knu

	* portsclean: Put better comments.

2001-08-02 14:05  knu

	* pkgtools.rb, portsclean: Show the least message of what is going
	on.
	
	Use $(..) instead of `..` for better readability.

2001-08-02 13:58  knu

	* portsclean: Make more fail-safe.

2001-08-02 03:58  knu

	* README: Mention portsclean.

2001-08-02 03:56  knu

	* install.rb: Install portsclean too.

2001-08-02 03:56  knu

	* portsclean: Add portsclean command which cleans all the ports
	working directories.

2001-08-01 04:38  knu

	* portupgrade, portversion: When -s is specified, build and install
	FETCH_DEPENDS, BUILD_DEPENDS and LIB_DEPENDS ports with sudo. (or
	only FETCH_DEPENDS if -F is specified)

2001-07-31 00:28  knu

	* pkgtools.rb: Don't let prompt_yesno() and prompt_yesno die even
	if a user inputs an EOF (^D).

2001-07-30 19:59  knu

	* misc/zsh/_portversion: Synchronize.

2001-07-30 19:56  knu

	* portsdb.rb: Do not immediately fail in error when it finds an
	error in the INDEX file, but skip the line and continue.

2001-07-30 19:55  knu

	* portsdb: Sort options in usage.

2001-07-30 18:38  knu

	* portversion.1: Update.

2001-07-30 18:36  knu

	* portversion: Now that we have portsdb(1) and pkgdepfix(1) with -o
	option, give up running `make -V PKGNAME' for each pkg's origin and
	just utilize the portsdb.  This makes it run several times faster!

2001-07-30 18:33  knu

	* portsdb.1: Update.

2001-07-29 21:53  knu

	* portupgrade.1: Update.

2001-07-29 21:50  knu

	* portupgrade: On an installation failure, restore the rewritten
	dependencies too.

2001-07-27 23:50  knu

	* portupgrade.1: Fix more.

2001-07-27 21:07  knu

	* portupgrade.1: Fix TECHNICAL DETAILS a bit.

2001-07-27 15:35  knu

	* portsdb.1: Remove a nonexistent option from SYNOPSIS.

2001-07-27 04:15  knu

	* pkg_glob.1: Mention that the output list is automatically sorted
	in dependency order.

2001-07-27 04:10  knu

	* install.rb: Fix a bogon.

2001-07-27 04:06  knu

	* install.rb: Install the pkg_deinstall(1) manpage, really.

2001-07-27 03:55  knu

	* README: Mention pkg_glob and pkg_deinstall.

2001-07-27 03:49  knu

	* portupgrade.1: Move the PORTUPGRADE paragraph from FILES to
	ENVIRONMENT.
	
	Add pkg_deinstall(1), pkg_glob(1) and pkg_update(1) to SEE ALSO.

2001-07-27 03:47  knu

	* install.rb: Install pkg_glob, pkg_deinstall and their manpages.

2001-07-27 03:46  knu

	* portversion: Utilize optparse's automatic type conversion.
	
	Rescue ArgumentError properly.

2001-07-27 03:38  knu

	* pkg_deinstall.1, pkg_glob.1: Add manpages for pkg_glob and
	pkg_deinstall.

2001-07-27 03:38  knu

	* misc/zsh/: _pkg_deinstall, _pkg_glob: Add zsh compdef's for
	pkg_glob and pkg_deinstall.

2001-07-27 03:35  knu

	* pkg_glob: New commands: pkg_glob and pkg_deinstall. (in one file)

2001-07-27 03:34  knu

	* misc/zsh/_portupgrade: -a and -r/-R are exclusive.

2001-07-14 17:05  knu

	* misc/zsh/: _pkgdepfix, _portupgrade, _portversion: Improve zsh
	compdefs.

2001-07-14 16:40  knu

	* portupgrade.1: Fix manpage.  [Submitted by: Sean Chittenden
	<sean@chittenden.org>]

2001-07-03 14:26  knu

	* pkgdepfix.1, portsdb, portsdb.1, portsdb.rb, portupgrade.1:
	Introduce a new environment variable PORTS_DBDIR, which specifies
	an alternative ports database directory.  This is useful if
	/usr/ports is on a readonly filesystem.  [Requirested by: Makoto
	MATSUSHITA <matusita@jp.freebsd.org>]
	
	Warn and abort the update if PORTS_DBDIR is not writable instead of
	fail in error.

2001-07-03 14:22  knu

	* install.rb: Compress manpages.

2001-06-27 01:51  knu

	* misc/zsh/: _pkgdepfix, _portversion: Make these zsh compdefs
	aware of environment variables.

2001-06-27 01:49  knu

	* pkgdepfix.1, portsdb.1, portversion.1: Supply missing .El's.

2001-06-27 00:04  knu

	* portupgrade.1: Update & supply missing .El's.

2001-06-26 22:00  knu

	* portupgrade: Slightly enhance the behaviors of some options:
	
	  -x/--exclude:
	
	    When -r or -R is specified, exclude the matching packages
	_after_
	    expanding dependent packages.  Now one can upgrade all the
	    packages depending on `foo', not including `foo' by the
	following
	    command:
	
		portupgrade -x foo -r foo
	
	  -B/--beforebuild:
	
	    If the given command exits in failure, then the port/package is
	    skipped.  For instance, one can upgrade all the packages except
	    IS_INTERACTIVE ones by the following command:
	
		portupgrade -aB 'test ! `make -V IS_INTERACTIVE`'

2001-06-22 22:58  knu

	* portupgrade, portversion: More fixes against messages.

2001-06-22 22:39  knu

	* pkgdepfix, portupgrade, portversion: Usages are not warnings.

2001-06-22 21:21  knu

	* pkgdb.rb, portupgrade: Move the dependency sorter to the PkgDB
	class. (PkgDB#sort)

2001-06-22 21:21  knu

	* pkg_glob.sh: Add pkg_glob.sh, an experimental Bourne shell
	implementation of pkg_glob.

2001-06-22 19:35  knu

	* portupgrade: Emit better messages.

2001-06-22 19:32  knu

	* pkgdepfix, portversion: Use warning_message().

2001-06-22 19:25  knu

	* pkgdepfix, portversion: Cosmetic. (pkg.to_s -> pkg.fullname)

2001-06-22 19:24  knu

	* pkgtools.rb: Add warning_message().

2001-06-22 02:41  knu

	* misc/zsh/_portupgrade: Respect PORTSDIR/PKG_DBDIR.
	
	Complete port origins for portinstall and portupgrade -N.

2001-06-22 01:50  knu

	* portupgrade: Detect package name change and emit a warning.

2001-06-22 01:48  knu

	* pkginfo.rb, portsdb.rb: Now Ruby 1.7 has fnmatch out-of-the-box.

2001-06-20 01:31  knu

	* portupgrade: D'oh, fix a wrong message. ("#{newpkgname} is
	already installed" => "#{oldpkgname} is already installed")

2001-06-17 20:40  knu

	* install.rb: Fix an installation problem.
	
	Submitted by:	Jimmy Olgeni <olgeni@FreeBSD.org>

2001-06-17 19:12  knu

	* README: Reword.

2001-06-17 15:49  knu

	* README, install.rb, portupgrade, portupgrade.1,
	misc/zsh/_portupgrade: portupgrade: Add a new option: -N/--new.  If
	it is specified, portupgrade installs a new one when a specified
	package is not installed.
	
	portinstall: New command equivalent to `portupgrade -N'.  You can
	specify a port origin to name the one you want to install, too:
	e.g. `portinstall shells/zsh'

2001-06-17 15:38  knu

	* pkgtools.rb: s/Ok/OK/

2001-06-15 18:22  knu

	* tests/test_pkgname.rb: Obsoleted.

2001-06-15 18:22  knu

	* install.rb: Install manpages.

2001-06-15 18:21  knu

	* README: Now that there are manpages, remove detailed usages from
	README.

2001-06-15 18:21  knu

	* portversion: Update the usage instruction.

2001-06-15 18:20  knu

	* portversion.1: Add portversion(1) manpage.

2001-06-15 17:31  knu

	* portupgrade.1: Add portupgrade(1) manpage.

2001-06-15 17:31  knu

	* portsdb.1: Add portsdb(1) manpage.

2001-06-15 17:26  knu

	* pkgtools.rb: Check for PKG_TMPDIR prior to TMPDIR.

2001-06-15 17:25  knu

	* portsdb: Rename --update to --updateindex, --updatedb to
	--update.
	
	Implement a simple lookup feature: glob expansion.

2001-06-15 17:24  knu

	* portupgrade: Update the usage instruction.

2001-06-15 17:21  knu

	* pkgdepfix.1: Add pkgdepfix(1) manpage.

2001-06-15 17:19  knu

	* pkgdepfix: Correct the usage instruction.
	
	Introduce -s option instead of barely putting two arguments.

2001-06-15 12:29  knu

	* portinfo.rb: Make it comparable.

2001-06-15 03:43  knu

	* pkgname.rb: This is no longer needed.  Use PkgInfo instead.

2001-06-15 03:37  knu

	* pkginfo.rb, portinfo.rb: Properly require DB modules.

2001-06-15 03:34  knu

	* pkgtools.rb: Use singleton objects.

2001-06-15 03:34  knu

	* pkgdepfix: Utilize PortsDB#glob.

2001-06-15 03:33  knu

	* portupgrade: Use PkgInfo methods instead of PkgDB methods.

2001-06-15 03:31  knu

	* portsdb.rb: Make it singleton.
	
	Create an indices file in addition to a DBM table file for faster
	search, and make yet more improvements to get it faster.

2001-06-15 03:28  knu

	* pkginfo.rb: Provide some useful methods with the help of the
	singleton PkgDB object.

2001-06-15 03:20  knu

	* pkgdb.rb: Make it singleton.

2001-06-15 03:19  knu

	* portversion: Cleanup.

2001-06-14 16:13  knu

	* portsdb_bdb.rb: Make it a subclass of PortsDBM.

2001-06-14 16:12  knu

	* portsdb_dbm.rb: Copy portsdb.rb to portsdb_dbm.rb.

2001-06-14 15:58  knu

	* portsdb.rb, portsdb_dbm.rb: Show a line number on error.
	
	Add new methods: each_origin(), each_pkgname(), and glob().
	
	Obsolete each_port().

2001-06-14 15:56  knu

	* portinfo.rb: Add a new method: match?().

2001-06-14 15:56  knu

	* pkgdb.rb: Add a shortcut to glob().

2001-06-11 06:05  knu

	* README, portversion: Remvoe -s from portupgrade options in the
	portversion -c output.

2001-06-11 05:34  knu

	* pkgdepfix: Oops.

2001-06-11 05:21  knu

	* README: Describe a bit about portsdb.

2001-06-11 05:13  knu

	* misc/zsh/_pkgdepfix, misc/zsh/_portupgrade, README: Update.

2001-06-11 05:12  knu

	* install.rb: Install portsdb as well.

2001-06-11 05:12  knu

	* portupgrade: Sort packages by default and remove -s/--sort.
	
	Rename -y/--yield/-Y/--yield-command to
	-s/--sudo/-S/--sudo-command.
	
	Implement -a/--all.
	
	Implement -x/--exclude=GLOB.
	
	Exit on OptionParser::ParseError immediately.

2001-06-11 05:09  knu

	* portversion: Exit on OptionParser::ParseError immediately.

2001-06-11 05:09  knu

	* portsdb: Rescue OptionParser::ParseError.

2001-06-11 05:07  knu

	* pkgdepfix: Implement origin fixer, with intelligent guessing.
	(-o/--fix-origin)
	
	Make pkgdep guessing more intelligent.

2001-06-11 04:41  knu

	* portsdb.rb, portsdb_dbm.rb: Make each iterate a block for each
	PortInfo.

2001-06-11 03:35  knu

	* portversion: Omit an unnecessary error check.

2001-06-11 03:11  knu

	* portversion: Compare arg with dummy using equal?, not ==.

2001-06-11 03:01  knu

	* pkgtools.rb: Rename $yield to $sudo and $yield_args to
	$sudo_args.
	
	Utilize PkgDB#glob('*', false).
	
	Define matchlen().

2001-06-11 02:58  knu

	* pkgdb.rb: Use PkgInfo#match? .

2001-06-11 02:57  knu

	* pkginfo.rb: Add PkgInfo#match?

2001-06-10 16:39  knu

	* pkgdb.rb: Add an option to glob() that makes it return package
	names instead of PkgInfo objects.

2001-06-10 01:52  knu

	* portupgrade: Improve -F.
	
	- Now that portupgrade supported -r/-R, we don't need to call make 
	 fetch-recursive instead of make fetch.
	
	- Specify -DPACKAGE_BUILDING for ports with IS_INTERACTIVE=yes.
	
	  Submitted by: Jimmy Olgeni <olgeni@uli.it>

2001-06-07 12:10  knu

	* pkgdepfix, portupgrade, portversion: Print the usage to stdout
	instead of stderr.

2001-06-07 12:05  knu

	* README, portupgrade, misc/zsh/_portupgrade: Change the meaning of
	-P/--use-packages.  If specified once, it uses packages whenever
	available or uses ports.  If specified twice, it never try to use
	ports but only uses packages.
	
	The package directory is now specified via the environment
	variable, PKGREPOSITORY and PKGREPOSITORYSUBDIR.

2001-06-07 04:55  knu

	* misc/zsh/_pkgdepfix: Add a zsh compdef for pkgdepfix

2001-06-07 04:52  knu

	* README, portupgrade, misc/zsh/_portupgrade: Implement
	-P/--use-packages.

2001-06-07 03:48  knu

	* portupgrade: Functionalize.

2001-06-07 03:06  knu

	* README: Update

2001-06-07 03:06  knu

	* pkgdepfix: Complete the prompt message.

2001-06-07 03:02  knu

	* pkgdepfix: Add "delete" to the choices as to how to deal with a
	stale dependency.

2001-06-07 02:12  knu

	* install.rb, pkgdepfix, pkgtools.rb, portupgrade: Move common
	functions and global variables to pkgtools.rb.

2001-06-07 00:46  knu

	* portupgrade: Optimize.

2001-06-06 23:45  knu

	* portupgrade: Restructure a bit.

2001-06-06 22:20  knu

	* tsort.rb: Avoid using = in a conditional.

2001-06-06 22:14  knu

	* pkginfo.rb: Complete PkgFileInfo.

2001-06-06 16:43  knu

	* pkgdepfix: Implement automatic guessing.
	
	Add yes-to-all to the choices of yes/no prompt.

2001-06-06 13:19  knu

	* portupgrade: Uh oh, backing up +REQUIRED_BY must have been done
	before pkg_delete.  [Submitted by: SASAKI Katuhiro
	<sahiro@vanilla.freemail.ne.jp>]

2001-06-06 04:59  knu

	* pkgdepfix: Do "stty sane" on interrupt.

2001-06-06 02:28  knu

	* README, install.rb: pkgdepfix is added.

2001-06-06 02:18  knu

	* pkgdepfix: Add pkgdepfix, a tool for fixing /var/db/pkg's @pkgdep
	/ +REQUIRED_BY discrepancies.

2001-06-02 14:13  knu

	* portupgrade: Fix a bug that $make_args and $install_target are
	destroyed during shellwords(). [Reported by: Tadayuki OKADA
	<tadayuki@mediaone.net>]
	
	Show privileged commands when portupgrade is invoked by root as
	well.

2001-06-02 00:11  knu

	* README, portupgrade, misc/zsh/_portupgrade:
	s/priviledge/privilege/g

2001-06-01 21:01  knu

	* portupgrade: Replace pkgdep! with pkgdep.
	
	Check for pkgdep's emptiness.

2001-06-01 20:59  knu

	* pkgdb.rb: Obsolete unneeded pkgdep!.

2001-06-01 20:16  knu

	* portupgrade: Use cp instead of mv -f not to preserve the
	temporary file's owner and group.

2001-06-01 20:00  knu

	* README: Remove version numbers.

2001-06-01 19:59  knu

	* portupgrade: Fix Perlism and stop raising a false alarm.  Zero is
	NOT false, of course!

2001-06-01 18:53  knu

	* README: Update.

2001-06-01 18:51  knu

	* portupgrade: Make sure to make replaced files world readable.

2001-06-01 12:17  knu

	* README: Update.

2001-06-01 12:14  knu

	* portupgrade: Properly detect where pkg_tarup has created a
	tarball.
	
	Backup +REQUIRED_BY a bit earlier, just in case.
	
	If it fails to copy the new +REQUIRED_BY to the package's dbdir,
	emit a message and save the file in TMPDIR.

2001-06-01 12:10  knu

	* pkgdb.rb: No need to recurse @pkgdep search, really.
	
	Submitted by:	Jimmy Olgeni <olgeni@uli.it>

2001-06-01 00:22  knu

	* portupgrade: Fix a critical bug that +CONTENTS are lost when you
	do upgrade as root and TMPDIR and /var/db/pkg are on different
	filesystems.  Sigh...

2001-05-31 14:18  knu

	* README: Update.

2001-05-31 14:18  knu

	* portupgrade: Never yield root priviledges unless -y is specified.

2001-05-31 14:10  knu

	* misc/zsh/_portupgrade: Sync.

2001-05-31 13:56  knu

	* README: Update the version number.

2001-05-31 13:55  knu

	* portupgrade: Fix a typo.

2001-05-31 13:50  knu

	* README: Update the version number.

2001-05-31 13:49  knu

	* portupgrade: More operations need root priviledges.

2001-05-31 12:25  knu

	* README: Revise.

2001-05-31 12:16  knu

	* portupgrade, portversion: Fix the Makefile/PKGNAME error
	detection.
	
	Reported by:	Tadayuki OKADA <tadayuki@mediaone.net>

2001-05-31 11:52  knu

	* portupgrade: Implement -y/--yield which yields root priledges
	where needed.
	
	Implement -Y/--yield-command which specifies the command to yield
	root priledges. (default: sudo)

2001-05-31 11:50  knu

	* tsort.rb: Bring in tsort.rb rev.1.3.

2001-05-30 15:53  knu

	* README: Update.

2001-05-30 15:53  knu

	* portupgrade: Fix a bug that -s/--sort didn't work.  D'oh!
	
	Make -u/--uninstall fail-safe.	It backs up old installations with
	the help of pkg_tarup and restores on installation failure.
	
	Show option errors more gracefully.
	
	Die on signals more gracefully.

2001-05-30 15:51  knu

	* portversion: Show option errors more gracefully.
	
	Die on signals more gracefully.

2001-05-30 07:59  knu

	* README, portupgrade: Fix a bug when a package does not have
	@pkgdep or +REQUIRED_BY.
	
	Reported by:	Jimmy Olgeni <olgeni@uli.it>

2001-05-30 07:15  knu

	* README: Update versions.

2001-05-30 07:13  knu

	* portupgrade, portversion: Redo the possible Makefile breakage
	report.

2001-05-30 06:48  knu

	* pkgdb.rb: Get glob(PORTNAME) to work again.

2001-05-30 05:48  knu

	* portsdb_bdb.rb: Add an experimental BDB version of portsdb.rb.

2001-05-30 05:45  knu

	* portsdb: Add portsdb. (not to be used yet)

2001-05-30 05:42  knu

	* README: Update the usage.

2001-05-30 05:38  knu

	* portversion: Make cosmetic changes in the usage output.
	
	Make command output optimal by using portupgrade's -s option.
	
	Report possible ports' Makefile breakage.

2001-05-30 04:36  knu

	* misc/zsh/_portupgrade: Add -s and -R, and update -r.

2001-05-30 04:35  knu

	* install.rb: Install tsort.rb too.

2001-05-30 04:35  knu

	* portupgrade: Make cosmetic changes in the usage output.
	
	Add -DBATCH to the `make fetch' commandline to prevent ports from
	dumbly waiting for user input.	[Suggestion by: Jimmy Olgeni
	<olgeni@uli.it>]
	
	Implement -s/--sort and -R/--upward-recursive, and get
	-r/--recursive working for upgrading as well. (Finally I did it!) 
	[Greatly inspired by and partly obtained from: Jimmy Olgeni
	<olgeni@uli.it>]

2001-05-30 04:33  knu

	* tsort.rb: Bring in tsort.rb, a topological sorter class.

2001-05-30 04:12  knu

	* pkgdb.rb: Implement pkgdep() and pkgdep!().
	
	Use Dir::glob() rather than an ugly hack.

2001-05-18 03:15  knu

	* misc/zsh/_portupgrade: Support -r.

2001-05-18 01:24  knu

	* portupgrade: Add -r/--recursive which lets --fetch and --package
	work recursively.  [Inspired by: Jimmy Olgeni <olgeni@uli.it>]

2001-04-21 05:16  knu

	* README: Update usages.

2001-04-21 05:14  knu

	* portversion: Implement -t/--test.
	
	Add BSD-style license notice.
	
	Adjust blank lines in help.

2001-04-21 05:05  knu

	* portupgrade: Define and use MYNAME.

2001-04-19 04:38  knu

	* README, portupgrade: Adjust blank lines in help.

2001-04-19 04:34  knu

	* README: Update portupgrade usage.

2001-04-19 04:34  knu

	* portupgrade: [Forced commit] Show the revision on help (-h).

2001-04-19 04:32  knu

	* portupgrade: Add BSD-style license notice.
	
	Do distclean before each fetch if -c is specified with -F.

2001-04-19 01:14  knu

	* README: Update portupgrade's usage.

2001-04-18 03:36  knu

	* misc/zsh/_portupgrade: Add -F.

2001-04-18 03:35  knu

	* portupgrade: Add -F/--fetch option to make dial-up users happy.
	
	Submitted by:	Jimmy Olgeni <olgeni@uli.it>		(He
	suggested -e, but I prefered -F)
	
	Show what version a package is upgraded to to help a user decide
	whether to upgrade or not.
	
	Submitted by:	Timothy Smith <tim@mysql.com>

2001-03-24 05:23  knu

	* README: Reword to make it clearer.
	
	Submitted by:	David O'Brien <obrien@FreeBSD.org>

2001-03-23 04:08  knu

	* portupgrade: Change the timing of the invocation of the
	beforebuild command so that "portupgrade -B'cvs update' foo" works.
	
	Reported by:	Ollivier Robert <roberto@eurocontrol.fr>

2001-03-23 04:06  knu

	* portversion: Fix the implication of a '*'. (portversion -v did
	nothing ;)
	
	Reported by:	Tadayuki OKADA <tadayuki.okada@windriver.com>

2001-03-23 04:04  knu

	* pkgdb.rb: Skip packages with illegal names showing an informative
	message rather than dying of an error.
	
	Reported by:	Ollivier Robert <roberto@eurocontrol.fr>

2001-03-22 06:13  knu

	* README, portupgrade, misc/zsh/_portupgrade: Add a couple of new
	options:   -A [command to run after each installation]	 -B
	[command to run before each build]

2001-03-22 05:49  knu

	* README, install.rb, portversion, misc/zsh/_portversion: Add
	portversion.

2001-03-22 05:43  knu

	* portupgrade: Use make(1) arguments specified with -m for "make -V
	PKGNAME" too.
	
	Ignore the difference of the name parts when it compares the
	package versions.

2001-03-22 05:36  knu

	* misc/zsh/_portupgrade: Add a missing closing bracket.

2001-03-21 20:51  knu

	* README, portupgrade, misc/zsh/_portupgrade: Add -p option. [make
	package as well when each port is installed]
	
	Sort options in alphabetical order.

2001-03-21 20:50  knu

	* pkgdb.rb: Use Dir.entries(dir).each instead of Dir.glob(dir) so
	it does not hit the just installed packages.

2001-03-18 22:45  knu

	* portupgrade: Fix a bug when the origin of a package is not found.
	
	Submitted by:	Leif Neland <leifn@neland.dk>

2001-03-18 07:56  knu

	* README: Describe portupgrade.

2001-03-18 07:22  knu

	* misc/zsh/_portupgrade: Match with reality. (-d -> -C)

2001-03-18 06:53  knu

	* pkgdb.rb, portupgrade: Fix a bogus bug.  D'oh!  +REQUIRED_BY must
	be read before it is removed!

2001-02-17 02:00  knu

	* pkgname.rb, tests/test_pkgname.rb: Add PkgName class, which was
	repocopied from PkgInfo.

2001-02-15 01:38  knu

	* portupgrade: Show a proper message when the origin for a port is
	unknown.

2001-02-14 21:24  knu

	* portupgrade: Change -d to -C. (--cleanup)
	
	List failed ports when finished.

2001-02-14 05:18  knu

	* portsdb.rb, portsdb_bdb.rb, portsdb_dbm.rb: Make PortsDB
	Enumerable.

2001-02-13 21:53  knu

	* tests/test_pkgdb.rb: I'll have to write tests for pkgdb.rb in the
	future...

2001-02-13 21:51  knu

	* misc/zsh/_portupgrade: Add zsh's compdef file for the portupgrade
	command.

2001-02-13 21:51  knu

	* portupgrade: Add -v (be verbose) and -n (no execute) options.
	
	Show more infomational messages.
	
	Touch only +REQUIRED_BY and +CONTENTS files when fixing the
	dependency.

2001-02-13 21:48  knu

	* install.rb, portinfo.rb, ports.rb, portsdb.rb, portsdb_bdb.rb,
	portsdb_dbm.rb, tests/test_portinfo.rb: Add modules that deal with
	the Ports Collection.

2001-02-13 18:12  knu

	* pkgdb.rb, pkginfo.rb, pkgname.rb: Make some class variables
	constants.

2001-02-13 04:58  knu

	* pkginfo.rb, pkgname.rb: Make it a point to use backquotes for
	%[qrx] notations.

2001-02-13 04:47  knu

	* pkgdb.rb: Define PkgDB::DB_DIR.

2001-02-13 04:31  knu

	* portupgrade: PkgDB#dbdir -> PkgDB#db_dir

2001-02-13 04:30  knu

	* pkgdb.rb: dbdir -> db_dir

2001-02-10 01:11  knu

	* pkgdb.rb: Whoops.  Fix a bogon introduced in the previous commit.

2001-02-09 12:42  knu

	* COPYING, README: Add COPYING and README.

2001-02-09 12:41  knu

	* portupgrade: Do not (re)generate "+REQUIRED_BY" if it's empty.
	
	Submitted by:	Takanori Saneto <sanewo@ba2.so-net.ne.jp>

2001-02-09 12:39  knu

	* pkgdb.rb: Optimize a bit.

2001-02-08 15:55  knu

	* runtest.sh: Add the runtest.sh script which runs unit tests.

2001-02-08 01:15  knu

	* portupgrade: Do not exit when a port fails to build or install.

2001-02-06 07:21  knu

	* install.rb: Add the installer script.

2001-02-06 07:05  knu

	* portupgrade: Fix help.

2001-02-06 05:13  knu

	* portupgrade: Add a note about the pkgname glob to the help
	message.

2001-02-06 04:37  knu

	* portupgrade: Add a new flag -u/--uninstall, which makes it do
	uninstall before doing install.
	
	Do "make reinstall" rather than just "make install".

2001-02-06 04:36  knu

	* pkgdb.rb: Add an instance method required_by().

2001-02-06 03:36  knu

	* portupgrade: Use File.*? instead of including FileTest to use *?.

2001-02-06 03:33  knu

	* portupgrade: Clean up (remove) the old pkg's pkgdir when the
	upgrade is successfully done. (Do nothing when the old pkg's pkgdir
	and the new pkg's are the same)
	
	Add a new flag -c/--cleanbuild, which makes it do clean build for
	each port.
	
	Make the help screen look better.

2001-02-06 03:33  knu

	* pkgdb.rb: Implement instance methods glob(), pkgdir(),
	pkgfiles(), and pkg_*() that correspond to pkgfiles.

2001-02-06 02:33  knu

	* portupgrade: Allow to specify pkgnames using globs.
	
	Add a new flag -d/--clean, which lets portupgrade clean after each
	installation.
	
	Make -i/--interactive act more interactively. (Confirm upon each
	upgrade, etc.)

2001-02-06 02:23  knu

	* pkginfo.rb, pkgname.rb: Obsolete the manual supply of an origin.
	
	Add methods that correspond to pkg_info flags. (plist(), origin(),
	etc.)

2001-02-06 02:10  knu

	* pkgdb.rb: Define constants COMMENT, DESC, CONTENTS, and
	REQUIRED_BY.
	
	Implement instance methods strip(), installed?(), required?(), and
	glob().

2001-02-06 01:07  knu

	* pkg.rb, pkgdb.rb, pkginfo.rb, pkgname.rb, pkgversion.rb,
	portupgrade, tests/test_pkgdb.rb, tests/test_pkginfo.rb,
	tests/test_pkgname.rb, tests/test_pkgversion.rb: Initial revision

2001-02-06 01:07  knu

	* pkg.rb, pkgdb.rb, pkginfo.rb, pkgname.rb, pkgversion.rb,
	portupgrade, tests/test_pkgdb.rb, tests/test_pkginfo.rb,
	tests/test_pkgname.rb, tests/test_pkgversion.rb: Tools for FreeBSD
	ports/packages.

