2002-04-29 04:56  knu

	* bin/make_describe_pass1, lib/portsdb.rb: Make portsdb -U respect
	PORTS_DBDIR even when it is different than PORTS_DIR.
	
	Reported by:	Shigeto TAJIMA <tajima@ics.es.osaka-u.ac.jp>

2002-04-29 04:52  knu

	* etc/pkgtools.conf, lib/pkgtools.rb: Do not set PKG_PATH in
	init_pkgtools_global() because that spoils the user-defined value
	in pkgtools.conf.
	
	Reported by:	The Anarcat <anarcat@anarcat.dyndns.org>

2002-04-05 21:08  knu

	* lib/pkginfo.rb: Show the full pkgname as exception message when
	the version part is invalid.

2002-04-05 21:06  knu

	* bin/portupgrade: Fix a flaw where dependent ports' build/install
	error was not properly detected when -s is specified.
	
	Reported by:	Stijn Hoop <stijn@win.tue.nl>

2002-03-30 17:28  knu

	* bin/portsclean: -L: Fix wrong conditions, which was too
	conservative.

2002-03-30 01:06  knu

	* bin/pkgdb: s/next/return/

2002-03-28 14:53  knu

	* bin/portsclean: Run mv(1) with -f unless -i is given.

2002-03-27 06:24  knu

	* bin/: portsclean, portupgrade: Fix wording.

2002-03-27 06:19  knu

	* bin/: portsclean.1, portupgrade, portupgrade.1: Update the
	descriptions about portsclean -L.

2002-03-27 05:41  knu

	* bin/portupgrade.1: Add another example for -B that runs 'cvs
	update' for the master port(s) of a slave port, using 'ports_glob
	-M'.
	
	Question by:	Ollivier Robert <roberto@FreeBSD.org>

2002-03-27 05:36  knu

	* bin/portupgrade: Fix portsclean -L invocation.

2002-03-27 05:20  knu

	* bin/portupgrade.1: Mention that portupgrade(1) now runs
	`portsclean -L' at the end of each upgrade.

2002-03-27 05:16  knu

	* bin/portupgrade: s/pkgdb/portsclean/

2002-03-27 03:03  knu

	* bin/portupgrade: Do not make (dist)clean and build in one
	invocation of make(1).	The latest change over bsd.port.mk broke
	it.

2002-03-27 00:19  knu

	* bin/portupgrade: Call portsclean -L at the end of each upgrade.

2002-03-27 00:18  knu

	* bin/portsclean: Improve -L/--libclean.  Ability to delete
	duplicate libraries is added.

2002-03-27 00:16  knu

	* lib/pkgdb.rb: Add portsclean to the command path list.

2002-03-21 20:30  knu

	* bin/pkg_deinstall.1: Update the manpage to reflect the last
	changes.

2002-03-21 20:30  knu

	* misc/zsh/_pkgtools, bin/pkg_glob: Update the description for -P.

2002-03-21 20:13  knu

	* bin/pkg_glob: pkg_deinstall: Show the results more precisely.
	
	pkg_deinstall: Only preserve real FreeBSD shared libraries,
	determined by file(1).
	
	pkg_deinstall: Move preserved shared libraries to
	$LOCALBASE/lib/compat/pkg.

2002-03-21 04:26  knu

	* lib/pkgdb.rb: It's faster to do uniq first and then sort than
	doing sort first and then uniq.

2002-03-20 03:12  knu

	* bin/portupgrade: If an error is returned from getcwd(), show a
	better message and abort.
	
	FreeBSD PR:	ports/35893 Submitted by:	Ernst de Haan
	<znerd@FreeBSD.org>
	
	-N: If multiple ports match a given pattern, list them.
	
	Suggested by:	Will Andrews <will@FreeBSD.org>

2002-03-20 03:02  knu

	* lib/Makefile: Oops, forgot to commit this.  Reflect the tsort.rb
	-> pkgtsort.rb rename.

2002-03-13 05:52  knu

	* lib/pkgdb.rb, lib/pkgtsort.rb, lib/tsort.rb,
	tests/test_pkgtsort.rb, tests/test_tsort.rb: Rename tsort.rb to
	pkgtsort.rb to avoid conflict with tsort.rb included in ruby 1.7.

2002-03-13 05:14  knu

	* lib/portsdb.rb: Unbreak PortsDB#masters. (broken when exist?()
	was changed)

2002-03-06 05:24  knu

	* lib/portsdb.rb: - Check the file/directory permissions on the
	INDEX file before   generating a new INDEX.
	
	Suggested by:	parv <parv_@yahoo.com>
	
	- Make automatic portsdb directory selection in the case of
	"portsdb   -fu" too.

2002-03-06 05:21  knu

	* bin/portsdb: On exception, handle it and exit normally.

2002-02-27 06:25  knu

	* lib/portsdb.rb: Fix the EXTRA_CATEGORIES support that was broken
	in recent updates.
	
	FreeBSD PR:	ports/35319 Submitted by:	Ryan Davis
	<ryand-bsd@zenspider.com>

2002-02-27 06:23  knu

	* lib/portinfo.rb: Add PortInfo#category which returns the port's
	primary category.

2002-02-27 06:22  knu

	* etc/pkgtools.conf: Add a note that a user must run portsdb -Ufu
	to reflect values of EXTRA_CATEGORIES and IGNORE_CATEGORIES.

2002-02-25 06:43  knu

	* README, bin/portsdb, bin/portsdb.1: Document updates regarding
	portsdb.

2002-02-25 05:31  knu

	* lib/pkgdb.rb, misc/zsh/_pkgtools: Clarify that the combinations
	of -rO and -RO is disallowed.

2002-02-25 04:33  knu

	* lib/portsdb.rb: Remove INDEX.rbo on portsdb rebuild if it exists.

2002-02-25 03:46  knu

	* lib/portsdb.rb: - Merge INDEX.rbo into INDEX.db.
	
	- Reduce the size of INDEX.db by half. :)
	
	- Introduce PORTS_DBDRIVER and allow specifying a db driver for the
	  portsdb (INDEX.db).
	
	- Switch the default portsdb driver from db1.85 hash to db1.85
	btree.

2002-02-24 06:44  knu

	* lib/pkgdb.rb: Alter a message again.

2002-02-21 14:18  knu

	* lib/pkgdb.rb: Fix a typo (replace overkill): abs_db_driver ->
	abs_db_dir.

2002-02-21 00:16  knu

	* misc/zsh/_pkgtools: Fix the portinstall (portupgrade -N)
	completion.
	
	Submitted by:	Olivier Roux <skoot@club-internet.fr>

2002-02-20 14:09  knu

	* lib/pkgdb.rb: Adjust a message.

2002-02-20 14:07  knu

	* lib/portinfo.rb: PortsDB::PORTS_DIR is obsoleted; use
	PortsDB.instance.ports_dir instead.

2002-02-20 05:33  knu

	* lib/pkgdb.rb: Fix a typo: bdb_btree -> bdb1_btree.

2002-02-20 05:30  knu

	* lib/pkgdb.rb: - Show the db driver (format) on
	updating/rebuilding.
	
	- Support db driver fallback. (bdb -> bdb1 -> dbm)
	
	- Try bdb1_btree (db 1.85 btree) by default, and if it fails, use
	dbm   (db 1.85 hash).

2002-02-20 04:02  knu

	* lib/pkgdb.rb: Put a space after '[... rebuild needed]'.

2002-02-20 03:30  knu

	* lib/: pkgdb.rb, pkgtools.rb, portsdb.rb: Reflect environment
	variables defined in pkgtools.conf properly.  (Now
	ENV['PORTS_DBDIR'] is reflected properly)
	
	Reported by:	Mori Kouji <mori@tri.asanuma.co.jp>

2002-02-18 13:59  knu

	* bin/pkg_sort, bin/portupgrade, lib/pkgdb.rb: Sort packages by
	build-time dependencies in addition to run-time dependencies.  This
	slightly slows sorting down but offers faultless upgrading.
	
	Inspired by:	ade@FreeBSD.org

2002-02-18 11:18  knu

	* misc/: bash/complete.sample, zsh/_pkgtools: Add the completion
	definition for portcvsweb(1).

2002-02-18 10:34  knu

	* bin/: portcvsweb, portcvsweb.1: Accept a pkgname_glob, a
	portorigin_glob, and a cvs module alias.
	
	Suppress ident(1)'s error message.
	
	Add -h, -q and -v.

2002-02-15 00:18  knu

	* bin/portcvsweb: Remove a debug print.

2002-02-13 20:00  knu

	* lib/pkgdb.rb: Fix a silly bug where PKG_DBDRIVER got always
	regarded as bdb_btree.
	
	Pointed out by: many people ;)

2002-02-13 12:39  knu

	* lib/pkgdb.rb: Allow specifying ENV['PKG_DBDRIVER'] in
	pkgtools.conf.

2002-02-13 11:00  knu

	* bin/: pkgdb.1, portupgrade.1: Add a BUGS entry to note that a
	user must run pkgdb -fu to rebuild a corrupt pkgdb.

2002-02-13 10:34  knu

	* lib/pkgdb.rb: Add a knob
	PKG_DBDRIVER={dbm,bdb1_hash,bdb1_btree,bdb_hash,bdb_btree} to
	specify an alternative binary database format for pkgdb.

2002-02-13 10:32  knu

	* bin/pkgdb: Set the default answer to no when a score is under
	80%.

2002-02-13 10:20  knu

	* bin/portcvsweb: Cosmetic.
	
	Use RUBY_PLATFORM instead of calling uname(1).

2002-02-13 07:29  knu

	* bin/portcvsweb: Invoke browsers with system() instead of exec()
	so that it will properly try every browser in turn -
	exec('/bin/sh', '-c', '..') may cause an error within /bin/sh but
	it never returns.
	
	Reported by:	Jimmy Olgeni <olgeni@FreeBSD.org>

2002-02-09 13:30  knu

	* lib/pkgdb.rb: Work around a possible bug of the dbm module and
	keep a pkgdb from getting insane and rebuilt.  Still under
	investigation, but maybe it's time to move to bdb3.x for stability,
	reliability and performance...

2002-02-06 21:30  knu

	* bin/portsclean: Make portsclean -D remove empty directories as
	well.

2002-02-04 23:33  knu

	* Makefile: Clean up make targets.
	
	Switch from .tar.gz to .tar.bzip2.

2002-02-04 23:16  knu

	* lib/: pkgdb.rb, pkgtools.rb: Finally remove unavailable?() checks
	and always use the pkgdb.
	
	Implement deorigin_glob() and get the unofficial ports' origin glob
	expansion to really work.

2002-02-04 22:24  knu

	* bin/: pkg_deinstall.1, pkg_fetch, pkg_fetch.1, pkg_glob,
	pkg_glob.1, pkg_sort, pkg_sort.1, pkgdb, pkgdb.1, portsclean,
	portsclean.1, portsdb, portsdb.1, portupgrade, portupgrade.1,
	portversion, portversion.1: Change --no-config to --noconfig in
	order to get the -q option working.  Since --no-* is a negative
	form it didn't work as expected.

2002-02-04 20:58  knu

	* bin/pkgdb: Greatly improve the origin fixing procedure.
	
	Now one can view the CVS history online via the CVSweb!

2002-02-04 20:56  knu

	* lib/pkgtools.rb: Allow specifying unofficial ports' origin globs
	in HOLD_PKGS as well as package globs.

2002-02-04 20:55  knu

	* lib/pkgdb.rb: - Make PkgDB#deorigin() expand simple globs.
	
	- Abolish the following message:	[You have no permission to
	update the pkgdb -- using a slow method]
	
	  Instead, do either of these: run 'pkgdb -u' via sudo(8) when
	under
	  portupgrade -s, or stop the process immediately with a message
	that
	  the user must run the command as root.

2002-02-04 20:43  knu

	* lib/portinfo.rb: Add PortInfo::match?.

2002-02-04 20:42  knu

	* bin/pkg_glob, bin/pkg_sort, bin/portsdb, bin/portupgrade,
	lib/tsort.rb: Silence the build-time warnings.

2002-02-04 18:45  knu

	* bin/portcvsweb.1: Synchronize with the reality.

2002-02-04 18:41  knu

	* bin/portcvsweb: Change the default BROWSER value to
	'w3m:lynx:links:mozilla:netscape'.

2002-02-04 18:18  knu

	* bin/pkgdb: Do the origin duplicateness check before checking
	dependencies and avoid redoing the origin check.
	
	Inspired by:	KONDOU, Kazuhiro <kazuhiro@alib.jp>

2002-02-01 17:30  knu

	* bin/portsclean, misc/zsh/_pkgtools: Reword: obsolete package
	tarballs -> outdated ...

2002-02-01 16:32  knu

	* misc/zsh/: Makefile, _pkg_deinstall, _pkg_fetch, _pkg_glob,
	_pkg_sort, _pkgdb, _pkgtools, _portsclean, _portsdb, _portupgrade,
	_portversion: Integrate the zsh compdefs into _pkgtools, and fix
	some bugs and wrong descriptions.

2002-01-29 17:46  knu

	* bin/portupgrade: Fix a bug where portupgrade tried to use a
	package with a different origin when the package name is identical
	to that of what it wants except for the version part.

2002-01-29 17:42  knu

	* lib/pkgtools.rb: Properly print a legend.

2002-01-29 12:42  knu

	* bin/: pkg_glob, portsdb: Do not print an empty line when the
	result list is empty.

2002-01-29 01:14  knu

	* bin/portcvsweb: Accept possibly removed ports. ("portcvsweb
	net/ruby-uri" now works)

2002-01-28 08:00  knu

	* bin/pkgdb: Strip -c/-o's argument of PKG_DBDIR and a trailing
	slash.

2002-01-28 07:53  knu

	* lib/pkgdb.rb: Show the reason for rebuilding a package database.

2002-01-28 07:43  knu

	* misc/: bash/complete.sample, tcsh/complete.sample,
	zsh/_pkg_deinstall: Synchronize definitions with the commands.

2002-01-28 06:55  knu

	* lib/pkgdb.rb: Oops, sort new_pkgs in the right place.

2002-01-28 06:39  knu

	* lib/pkgdb.rb: Change ary[-1] to ary.last for readability.

2002-01-28 06:39  knu

	* bin/pkgdb: Make pkg_which(1) capable of showing multiple file
	owners.
	
	Make pkgdb(1) -F provide a user an option to unregister stale
	packages, in addition to deinstalling them.
	
	Reword: 'remove a package record' -> 'unregister a package', etc. .

2002-01-28 06:33  knu

	* bin/: pkg_glob, pkg_deinstall.1: Add a new option to
	pkg_deinstall(1):     -c, --collate	     Check if any of the
	installed files of each package 			   have
	been overwritten by other packages, and do not			   
	      deinstall if any

2002-01-28 04:14  knu

	* lib/pkginfo.rb: Make new() accept a non-string value.
	
	Make match?() return true when true, instead of other values.  This
	should satisfy the new RubyUnit's assert().

2002-01-27 09:01  knu

	* bin/pkgdb: Update the usage.

2002-01-27 09:00  knu

	* lib/pkgdb.rb: Record and handle files that are installed by
	multiple packages.

2002-01-27 08:57  knu

	* bin/Makefile, lib/Makefile: Perform a syntax check on build for
	each ruby source file.

2002-01-27 07:27  knu

	* bin/pkgdb: Fix the output format.

2002-01-27 07:12  knu

	* bin/pkgdb, bin/pkgdb.1, misc/bash/complete.sample,
	misc/zsh/_pkgdb: Add a new option to pkg_which(1):   -c/--collate
	PKGNAME     Show files installed by the given packge that have been
	    overwritten by other packages.
	
	Be less verbose unless -v is given.

2002-01-27 07:01  knu

	* lib/pkgdb.rb: Sort packages by the installed date before storing
	installed files.
	
	Bump the DB version.

2002-01-27 06:59  knu

	* lib/pkginfo.rb: Squeeze series of slashes seen in 'pkg_info -L'
	output.

2002-01-26 04:42  knu

	* bin/pkgdb: When pkgdb(1) finds a package with a non-existent or
	missing origin which is not required by any other package, ask the
	user if the package should be deinstalled.  This will help users
	delete obsoleted packages.

2002-01-26 04:14  knu

	* bin/pkg_fetch.1: D'oh!  I mean PKG_SITES here instead of
	PKG_PATH!

2002-01-22 17:05  knu

	* etc/pkgtools.sh: Support start/stop/restart.

2002-01-22 15:45  knu

	* bin/portsclean: Do not exit in subtask routines, but just return
	to main().

2002-01-17 02:49  knu

	* bin/portupgrade: Do not skip a package because one of its
	requisites is skipped.	(Sigh, I did the same mistake before.)
	
	FreeBSD PR:	ports/33946 Submitted by:	Vivek Khera
	<khera@kcilink.com>

2002-01-16 19:25  knu

	* misc/: bash/Makefile, tcsh/Makefile, zsh/Makefile: Create
	FILESDIR before installing files into it.

2002-01-16 18:22  knu

	* bin/pkg_fetch, bin/pkg_glob, bin/portupgrade, lib/pkgtools.rb:
	Distinguish "ignored" from "skipped", and only report ignored
	packages when -v/--verbose is specified. (This reduces loads of "No
	need to upgrade ..." messages that you see when you run portupgrade
	-a, etc.)

2002-01-16 15:34  knu

	* Makefile.compat, etc/Makefile, lib/Makefile, misc/bash/Makefile,
	misc/tcsh/Makefile, misc/zsh/Makefile: Embrace the bsd.*.mk changes
	in CURRENT and stop files from getting installed into /.
	
	Problem noted by:	Brooks Davis <brooks@FreeBSD.org>,	   
		    Anders Andersson <anders@hack.org>

2002-01-16 05:04  knu

	* lib/pkgdb.rb: Fix my English.
	
	When a sanity check fails, suggest specifying -O as the alternative
	to running pkgdb -F.

2002-01-16 04:58  knu

	* bin/: pkg_deinstall.1, pkg_glob, pkg_glob.1, portupgrade,
	portupgrade.1, portversion, portversion.1: Fix my English.

2002-01-16 04:34  knu

	* Makefile: Make REL_DATE overridable.

2002-01-15 13:04  knu

	* bin/portsclean: -C/--workclean: Support the case where the ports
	directory is a symlink.

2002-01-11 04:42  knu

	* bin/portupgrade: Slightly fix some messages.

2002-01-04 08:01  knu

	* bin/portupgrade: Alter the "skip" message for originless
	packages.

2002-01-03 23:30  knu

	* bin/portversion.1: Apply English grammar fixes.
	
	Submitted by:	David Bogen <db@bogen.org>

2002-01-03 23:22  knu

	* bin/portsclean.1: Apply English grammar fixes.
	
	Submitted by:	David Bogen <db@bogen.org>

2002-01-03 22:57  knu

	* lib/pkgtools.rb: pkg_site_* is now under the PkgConfig module.
	
	Reported by:	roberto@FreeBSD.org

2002-01-03 08:39  knu

	* bin/portupgrade: A Happy New Year, 2002! (Copyright notice
	updated)

2002-01-03 08:35  knu

	* bin/portupgrade: You must be informed of an origin before using
	it.
	
	Submitted by:	jan grant <jan.grant@bristol.ac.uk> FreeBSD PR:
	ports/33478

2002-01-03 08:21  knu

	* bin/portupgrade.1: Apply English grammar fixes.
	
	Submitted by:	David Bogen <db@bogen.org>

2001-12-31 07:17  knu

	* bin/pkgdb: Add some progress messages.

2001-12-31 07:09  knu

	* lib/pkgtools.rb: - Introduce new configuration variables:
	BEFOREBUILD and AFTERINSTALL.	 [Requested by: Gabriel Ambuehl
	<gabriel_ambuehl@buz.ch>]

2001-12-31 07:09  knu

	* etc/pkgtools.conf: - Introduce new configuration variables:
	BEFOREBUILD and AFTERINSTALL.	 [Requested by: Gabriel Ambuehl
	<gabriel_ambuehl@buz.ch>]
	
	- New utility functions localbase() and x11base() are now available
	in   pkgtools.conf.

2001-12-31 07:08  knu

	* bin/: portupgrade, portupgrade.1: - Introduce new configuration
	variables: BEFOREBUILD and AFTERINSTALL.    [Requested by: Gabriel
	Ambuehl <gabriel_ambuehl@buz.ch>]
	
	- Always run afterinstall commands as root.
	
	- Show beforebuild/afterinstall commands to run.

2001-12-31 03:54  knu

	* lib/pkgtools.rb: - Do not call stty(1) if stdin is not a
	terminal.
	
	- Provide localbase() and x11base() for pkgtools.conf.
	
	- Put all the utility functions for pkgtools.conf under the
	PkgConfig module.

2001-12-30 23:40  knu

	* bin/portupgrade: There is no need to restore +REQUIRED_BY that's
	empty.

2001-12-30 23:40  knu

	* lib/pkgtools.rb: Perl 5.00503 doesn't understand /[[:space:]]/. 
	Change it back to /\s/.

2001-12-26 16:46  knu

	* bin/pkg_glob: There is no need to restore a nonexistent file.

2001-12-18 00:41  knu

	* lib/pkgtools.rb: Properly quote @ and % in regexp for Perl.

2001-12-18 00:31  knu

	* bin/pkgdb: Speed up file operations.

2001-12-18 00:03  knu

	* bin/pkg_glob: Change [[:digit:]] back to \d, since Perl 5.005*
	doesn't support the former.

2001-12-18 00:01  knu

	* lib/pkgtools.rb: Use perl(1) instead of sed(1). :P

2001-12-17 00:03  knu

	* lib/pkgtools.rb: subst_file*(): Do not return nil when no lines
	are changed, but return an empty array instead.

2001-12-16 09:59  knu

	* lib/pkgtools.rb: Use `[[:space:]]' instead of `\s' for sed(1).
	
	Do not let subst_file fail when a file does not exist.

2001-12-16 09:37  knu

	* bin/pkg_glob, lib/pkgtools.rb: sed(1) doesn't grok the regexp
	`\d', so call sed(1) with -E and use `[[:digit:]]' instead.

2001-12-16 08:41  knu

	* bin/pkgdb, lib/pkgtools.rb: Change "io.print lines" to "io.print
	*lines" for the recent Ruby 1.7.

2001-12-16 08:21  knu

	* lib/pkgtools.rb: Speed up string substitution against a big file.

2001-12-16 06:25  knu

	* lib/pkgdb.rb: Ignore any empty lines in +REQUIRED_BY.
	
	Speed up reading though +CONTENTS.

2001-12-16 06:02  knu

	* bin/pkg_sort: Make pkg_sort(1) actually work.

2001-12-14 20:41  knu

	* bin/portupgrade.1: Add a note that ^Z doesn't work to the BUGS
	section.

2001-12-14 02:05  knu

	* lib/pkgtools.rb: Fix a bug where the port that's built first is
	built with wrong make arguments.  [Reported by: Ollivier Robert
	<roberto@eurocontrol.fr>]

2001-12-13 15:03  knu

	* etc/pkgtools.conf: Fix a typo in comment.
	
	Submitted by:	Gregory Neil Shapiro <gshapiro@gshapiro.net>

2001-12-11 22:11  knu

	* lib/pkgtools.rb: Do not invoke sudo if a command is already run
	as root.
	
	Suggested by:	Will Andrews <will@csociety.org>

2001-12-11 22:10  knu

	* bin/portupgrade: Partly back out the previous overkill changes; I
	made it too verbose by default.

2001-12-11 02:34  knu

	* bin/: pkg_fetch, portupgrade: Make these commands more verbose
	even if -v/--verbose is not given, so that one can see what is
	going on.
	
	Requested by:	 Alfred Perlstein <bright@mu.org>

2001-12-11 02:34  knu

	* lib/pkgtools.rb: show_results: accept a verbose flag as the third
	argument.

2001-12-10 11:11  knu

	* misc/: bash/complete.sample, tcsh/complete.sample, zsh/Makefile,
	zsh/_pkg_tarup: Add shell compdefs for pkg_tarup(1).

2001-12-10 10:35  knu

	* bin/: portupgrade, portupgrade.1: Make -p/--package build
	packages for those which requisite packages are upgraded as well,
	when they are given from the command line or -r is specified.
	
	Requested by:	Vivek Khera <khera@kcilink.com>,		Lev
	Serebryakov <lev@serebryakov.spb.ru>
	
	Remove a redundant message.

2001-12-10 05:30  knu

	* bin/pkg_fetch, bin/pkg_fetch.1, etc/pkgtools.conf: Properly quote
	the fetch command line arguments.

2001-12-10 05:09  knu

	* etc/: Makefile, status-pkg.sh: Add status-pkg.sh, a replacement
	of the weekly status-pkg report script.

2001-12-03 04:12  knu

	* bin/portupgrade: Do not regard a packaging error as an
	installation error.

2001-12-01 23:59  knu

	* bin/portupgrade: portinstall: Only upgrade required packages of a
	newly installed port when -R is specified.

2001-12-01 05:03  knu

	* bin/pkg_fetch: Dig the temporary directory and the packages
	directory before fetching.
	
	Requested by:	Chris Dillon <cdillon@wolves.k12.mo.us>

2001-11-30 12:36  knu

	* bin/portupgrade.1: Fix a couple of typos.
	
	Submitted by:	Dan Langille <dan@langille.org>

2001-11-29 02:04  knu

	* bin/portupgrade: When -p is specified, build packages for ports
	that are installed as dependency as well.
	
	Requested by:	Vivek Khera <khera@kcilink.com>

2001-11-27 19:22  knu

	* bin/: portupgrade, portupgrade.1: Turn HOLD_PORTS into HOLD_PKGS,
	and make -Nf properly override it.
	
	Suggest specifying -f when skipping.

2001-11-27 19:20  knu

	* bin/pkgdb: Fix overkill.

2001-11-27 19:15  knu

	* bin/portversion: Support HOLD_PKGS.

2001-11-27 19:13  knu

	* bin/: pkgdb, pkgdb.1: Support HOLD_PKGS and make -f/--force
	overrite the setting.

2001-11-27 19:03  knu

	* etc/pkgtools.conf: Turn HOLD_PORTS into HOLD_PKGS.
	
	List `bsdpan-*' by default.  Requested by:	Anton Berezin
	<tobez@tobez.org>

2001-11-27 18:50  knu

	* lib/pkgtools.rb: - Turn HOLD_PORTS into HOLD_PKGS.
	
	- Intoduce lazy initialization for config variables.

2001-11-26 06:44  knu

	* bin/portupgrade: Fix unneeded escapes in guess_reason().

2001-11-23 18:50  knu

	* bin/pkgdb.1: Fix commas in the SEE ALSO section.
	
	Submitted by:	kuriyama@FreeBSD.org

2001-11-22 17:44  knu

	* bin/portupgrade: Fix a bug that -Pf did not properly work.
	
	Reported by:	The Anarcat <anarcat@anarcat.dyndns.org>

2001-11-18 04:36  knu

	* bin/portsclean: pkgclean(): Oops, fix symlink cleaning.

2001-11-17 06:10  knu

	* bin/pkg_fetch, bin/pkg_fetch.1, bin/portsclean, bin/portsclean.1,
	bin/portupgrade, bin/portupgrade.1, etc/pkgtools.conf,
	lib/pkgtools.rb: Deprecate the use of PKGREPOSITORY and
	PKGREPOSITORYSUBDIR.  Use PACKAGES for PKGREPOSITORY and hardcode
	'All'.

2001-11-17 03:23  knu

	* bin/: portsclean, portsclean.1: pkgclean(): Clean dead symlinks
	as well.

2001-11-17 03:21  knu

	* bin/pkg_fetch, bin/pkg_glob, bin/pkgdb, bin/portcvsweb,
	bin/portsclean, bin/portupgrade, bin/portversion, lib/portinfo.rb,
	lib/portsdb.rb: Standardize: exists? -> exist?

2001-11-16 03:55  knu

	* bin/: pkg_deinstall.1, pkg_glob: Only preserve shared libraries
	with version numbers.  Keeping *.so files may be harmful because it
	allows producing new binaries linked with the libraries of removed
	packages.  It is just enough to only preserve *.so.* files to
	retain compatibility.

2001-11-16 03:09  knu

	* etc/.cvsignore: Add .cvsignore.

2001-11-16 01:59  knu

	* bin/pkgdb: Improve the score computer.

2001-11-16 01:29  knu

	* lib/portinfo.rb: Perform better checks on pkgname and origin.

2001-11-12 23:07  knu

	* etc/pkgtools.conf: Explain how to use EXTRA_CATEGORIES.

2001-11-11 19:04  knu

	* bin/: pkg_fetch, pkg_glob, pkg_sort, pkgdb, portsdb, portversion:
	Do not show help twice when -h/--help is given.
	
	Reported by:	Masami Kobayashi <masami@tncc.jp>

2001-11-11 03:55  knu

	* bin/portsclean.1: Supply missing words.

2001-11-08 04:18  knu

	* bin/portupgrade: Detect NO_LATEST_LINK and LATEST_LINK and use
	them to determine the name of the latest package to fetch.

2001-11-08 04:16  knu

	* lib/portsdb.rb: Add each_category() and latest_link().
	
	Add some comments.

2001-11-07 16:37  knu

	* bin/pkgdb: Fix a regexp problem when it meets a pkgname that ends
	with a `+'.
	
	Reported by:	Albert Kinderman <albert.kinderman@csun.edu>

2001-11-07 16:10  knu

	* bin/: pkg_glob, pkg_sort, pkgdb, portsdb, portupgrade: Get to
	properly work on Ruby 1.7. (puts array -> puts *array)
	
	Reported by:	Ollivier Robert <roberto@eurocontrol.fr>

2001-11-07 16:02  knu

	* lib/tsort.rb: Fix tests.

2001-11-06 22:45  knu

	* bin/portversion: Fix the portversion -c output again.

2001-11-06 18:27  knu

	* bin/pkg_sort: Oops, finish it.

2001-11-06 18:24  knu

	* misc/: bash/complete.sample, zsh/Makefile, zsh/_pkg_sort: Add
	pkg_sort(1) completion definitions.

2001-11-06 18:16  knu

	* bin/: pkg_deinstall.1, portsdb.1, portupgrade.1, portversion.1:
	Reword a bit and add pkg_sort(1) cross reference.

2001-11-06 18:15  knu

	* bin/pkg_glob.1: Fix a markup.

2001-11-06 18:13  knu

	* bin/Makefile: Add pkg_sort.

2001-11-06 18:13  knu

	* bin/: pkg_glob, pkg_glob.1, pkg_sort, pkg_sort.1: pkg_glob: Do
	not sort package names in dependency order but in alphabetical
	order.
	
	pkg_sort: A new command to sort lines of package names in
	dependency order.

2001-11-06 17:24  knu

	* bin/pkgdb: Make the dependency guesser even more smart.

2001-11-06 16:42  knu

	* bin/pkg_glob: If none matches given patterns, emit a warning and
	exit.

2001-11-06 16:41  knu

	* bin/pkgdb: Check for the pkgdb directory ownership before
	starting to fix it.

2001-11-06 05:00  knu

	* bin/pkgdb: Make the dependency guesser rather more intelligent
	and show a score when suggesting a candidate to the user.

2001-11-05 22:27  knu

	* misc/zsh/: _pkg_deinstall, _pkg_fetch, _pkg_glob, _pkgdb,
	_portupgrade, _portversion: Fix typos: PKGDBDIR -> PKG_DBDIR.

2001-11-05 06:23  knu

	* Makefile: Make sure to update ChangeLog before a release.

2001-11-05 06:22  knu

	* bin/portupgrade: Fix the logic of fetching packages.

2001-11-05 05:25  knu

	* bin/: pkg_deinstall.1, pkg_fetch.1, pkg_glob.1, pkgdb.1,
	portcvsweb.1, portsclean.1, portsdb.1, portupgrade.1,
	portversion.1: Make massive rewording of manual pages.

2001-11-05 05:25  knu

	* Makefile: Add "install-doc" target.

2001-11-05 05:25  knu

	* README: Reword a bit more.

2001-11-05 05:25  knu

	* Makefile.inc: Define DOCSDIR.

2001-11-05 04:47  knu

	* README: Reword.

2001-11-05 04:41  knu

	* README: Update and reword a lot.

2001-11-04 22:35  knu

	* bin/portupgrade: Go fetch "Latest" packages only if -P is given
	twice.

2001-11-04 21:21  knu

	* bin/portsclean.1: Fix the description of -D and -DD.
	
	Pointed out by: "Li-lun Wang (Leland Wang)" <llwang@infor.org>

2001-11-04 05:47  knu

	* Makefile: Make sure to pack and release the latest ChangeLog and
	tarball.

2001-11-04 04:18  knu

	* lib/pkgtools.rb: Fix a bug where portupgrade fails in error if -f
	is given and it tries to reinstall the same version of a package.
	
	Reported by:	Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp>
	FreeBSD PR:	 31730

2001-11-04 04:14  knu

	* bin/portversion: Fix a bug where portversion reports results all
	reversed. ;(
	
	Reported by:	Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp>
	FreeBSD PR:	 31731

2001-11-03 19:20  knu

	* lib/pkgtools.rb: Fix a problem where it fails to parse uname(1)'s
	output when it has a release suffix; e.g.
	`4.4-STABLE-20011103-JPSNAP i386'.
	
	Reported by:	Mark Russell <mark@mark.net.au>

2001-11-03 04:47  knu

	* bin/: pkg_deinstall.1, pkg_fetch.1, pkg_glob.1, pkgdb.1,
	portcvsweb.1, portsclean.1, portsdb.1, portupgrade.1,
	portversion.1: Add more cross references and sort entries in the
	SEE ALSO section.

2001-11-03 04:42  knu

	* etc/: Makefile, pkgtools.conf.5: Add a minimal manual page for
	pkgtools.conf(5).

2001-11-02 23:51  knu

	* bin/portversion: Fix a typo: errir -> error.
	
	Reported by:	TOGAWA Satoshi <toga@puyo.org>

2001-11-02 21:56  knu

	* bin/portupgrade: Fix a recently caused problem where portupgrade
	raises an error during detecting obsoleted dependencies.
	
	Reported by:	Fritz Heinrichmeyer <jfh@jfh00.fernuni-hagen.de>

2001-11-02 20:13  knu

	* Makefile: Fix a typo. (REL_SUFFIX -> REL_MINOR)

2001-11-02 19:38  knu

	* etc/: Makefile, pkgtools.sh: Properly replace PREFIX.

2001-11-02 16:10  knu

	* bin/portversion: Fix a typo and unbreak portversion -c/-v.
	
	Reported by:	Masahide -mac- NODA <mac@clave.gr.jp>

2001-11-01 05:31  knu

	* bin/: portupgrade, portupgrade.1: Properly remove obsoleted
	dependencies in an upgrade.  This reduces pkgdb(1)'s turn.

2001-11-01 05:20  knu

	* lib/pkgtools.rb: update_pkgdep: Return two lists; a list of
	pkgnames that +REQUIRED_BY files are modified, and a list of
	pkgnames that +CONTENTS files are modified.
	
	subst_file: Return nil instead of [] if unmodified.

2001-11-01 00:44  knu

	* lib/portsdb.rb: Call make_describe_pass[12] with the full paths.

2001-11-01 00:42  knu

	* Makefile.compat, bin/Makefile, etc/Makefile, lib/Makefile,
	lib/pkgdb.rb: Improve the build process:   - Adjust shebang lines
	of installed scripts.	 - Replace /usr/local in installed library
	files with ${PREFIX}.	 - Add Makefile.compat in order to support
	old systems which doesn't      have the SCRIPTS framework.

2001-11-01 00:37  knu

	* .cvsignore, bin/.cvsignore, lib/.cvsignore: Add .cvsignore.

2001-10-31 21:56  knu

	* bin/: portversion, portversion.1: Inspect the origin port to get
	the latest version if a package's origin is not found in the ports
	database.
	
	Distinguish between `origin is not recorded' and `origin port is
	not found'.  Now the flag `#' represents the former and the flag
	`?' represents the latter.
	
	Resurrect the flag `!', which means `port Makefile broken'.
	
	Yes, the meanings of `#' and `!' have been reversed.  Because we
	would hardly see ports missing origins any longer, I decided to
	assign `!' to the one we see more often.

2001-10-30 07:06  knu

	* bin/portupgrade: Do not ask whether to install a port twice.

2001-10-30 06:58  knu

	* bin/pkgdb: Comment out deleted pkgdeps properly.

2001-10-30 03:57  knu

	* bin/Makefile: Create script links properly.

2001-10-30 03:44  knu

	* bin/Makefile: MANDIR must be set with = instead of ?=.

2001-10-30 03:38  knu

	* Makefile: Hide unneeded command lines.

2001-10-30 03:33  knu

	* Makefile.inc: Fix EXAMPLESDIR.

2001-10-30 03:30  knu

	* Makefile, Makefile.inc, misc/Makefile, misc/Makefile.inc,
	misc/bash/Makefile, misc/tcsh/Makefile, misc/zsh/Makefile: Install
	misc files too.

2001-10-30 03:16  knu

	* Makefile: Fix the load path for the tests.

2001-10-30 03:02  knu

	* Makefile, Makefile.inc, runtest.sh, bin/Makefile, etc/Makefile,
	lib/Makefile, install.rb: Convert install/test/release scripts to
	Makefile's.

2001-10-30 01:08  knu

	* 000.pkgtools.sh: Move the startup script to etc/ with a repocopy.

2001-10-30 01:08  knu

	* make_describe_pass1, make_describe_pass2, pkg_deinstall.1,
	pkg_fetch, pkg_fetch.1, pkg_glob, pkg_glob.1, pkgdb, pkgdb.1,
	portcvsweb, portcvsweb.1, portsclean, portsclean.1, portsdb,
	portsdb.1, portupgrade, portupgrade.1, portversion, portversion.1:
	Move scripts and manpages to bin/ with a repocopy.

2001-10-30 01:07  knu

	* pkg.rb, pkgdb.rb, pkginfo.rb, pkgmisc.rb, pkgtools.rb,
	pkgversion.rb, portinfo.rb, ports.rb, portsdb.rb, tsort.rb: Move
	library files to lib/ with a repocopy.

2001-10-30 00:59  knu

	* portupgrade, bin/portupgrade: Fix quotes.
	
	Submitted by:	Jimmy Olgeni <olgeni@uli.it>

2001-10-29 21:53  knu

	* portupgrade.1, bin/portupgrade.1: Complete missing words.

2001-10-29 17:12  knu

	* portsclean.1, bin/portsclean.1: Add a new feature: -P/--pkgclean.

2001-10-29 17:04  knu

	* misc/: bash/complete.sample, zsh/_portsclean: Support portsclean
	-P/-PP.

2001-10-29 17:02  knu

	* portsclean, bin/portsclean: Add a new feature: -P/--pkgclean.

2001-10-29 17:01  knu

	* pkg_fetch, bin/pkg_fetch: Update the usage.

2001-10-29 06:38  knu

	* portupgrade, bin/portupgrade: Improve the new installation (-N)
	procedure as well.

2001-10-29 06:27  knu

	* pkg_fetch, pkg_fetch.1, bin/pkg_fetch, bin/pkg_fetch.1,
	pkgtools.rb, portupgrade, portupgrade.1, bin/portupgrade,
	bin/portupgrade.1, lib/pkgtools.rb, etc/pkgtools.conf: portupgrade:
	Greatly improve the procedure of binary upgrading (-P/-PP):   When
	a fetched package is not of the latest version:     1) If -PP is
	given and the package is at least newer than the current       
	installation, put up with it and do an upgrade.      2) If -PP is
	given and the package is now newer than the current	   
	installation, give up.	    3) Else, fall back to the port.
	
	If a port/package matches multiple entries of MAKE_ARGS, join all
	the arguments using the space as separator.
	
	Introduce a new {environment,configuration} variable PKG_SITES to
	allow specifying multiple package sites.
	
	pkg_fetch: When a URI is given, check for the last path component
	and if it is not "Latest" or "All", fetch the dependent ports from
	the same directory.  (-R)
	
	pkg_fetch: Do not repeat same error messages.
	
	pkg_fetch: Properly reflect the environment variables defined in
	pkgtools.conf.
	
	pkg_deinstall: Add a timestamp hack as well as portupgrade to let
	the pkgdb engine properly detect an update of PKG_DBDIR.
	
	Discourage the use of PACKAGESITE.

2001-10-29 05:58  knu

	* pkgdb, bin/pkgdb: When the user chooses to delete a dependency,
	comment it out instead of deleting it.

2001-10-29 00:09  knu

	* pkgtools.rb, lib/pkgtools.rb: Add some utility functions:
	pkg_site_{mirror,primary,builder}.

2001-10-28 17:42  knu

	* pkgtools.rb, lib/pkgtools.rb, etc/pkgtools.conf: Allow using
	ports globs in HOLD_PORTS and MAKE_ARGS.
	
	Prepare some useful constants to use in such as ENV['PACKAGESITE']:
	OS_RELEASE, OS_REVISION, OS_MAJOR, OS_BRANCH, and OS_PLATFORM.

2001-10-27 20:56  knu

	* pkg_glob, bin/pkg_glob: Add a timestamp hack here as well as
	portupgrade.

2001-10-27 04:09  knu

	* portupgrade, bin/portupgrade: Oops, fix a stupid fat-fingered
	bug.

2001-10-27 03:11  knu

	* portupgrade.1, bin/portupgrade.1: Fix the incorrect descriptions
	regarding -P and -PP.

2001-10-27 02:33  knu

	* portupgrade, bin/portupgrade: Oops, it was too verbose.

2001-10-27 02:25  knu

	* portupgrade, bin/portupgrade: Add a delay between deinstallation
	and installation to let pkgdb properly detect the update of
	PKG_DBDIR entries.
	
	Since pkg_add(1) is mute, always show a progress message when
	invoking it no matter whether -v is given or not.
	
	Make -P really work.

2001-10-27 02:21  knu

	* pkgtools.rb, lib/pkgtools.rb: Simplify an assignment.

2001-10-27 01:36  knu

	* pkgtools.rb, lib/pkgtools.rb: D'oh!!	Fix a stupid bug where
	portupgrade didn't modify dependencies when upgrading a package. 
	The bug was exposed by the newly introduced dependency sanity
	checks.
	
	Reported by:	Ollivier Robert <roberto@eurocontrol.fr>

2001-10-27 01:27  knu

	* pkg_fetch, pkgdb.rb, bin/pkg_fetch, lib/pkgdb.rb: Standardize the
	@pkgdep regexp.

2001-10-26 22:39  knu

	* portupgrade, portupgrade.1, bin/portupgrade, bin/portupgrade.1:
	Make portupgrade download packages from a remote site if -P is
	specified.  Now one can do binary upgrading in a handy way:
	
		portupgrade -P foo bar
	
	Instead of:
	
		portupgrade -FP foo bar && portupgrade -PP foo bar
	
	(Although the latter is friendlier to dialup users)

2001-10-26 22:36  knu

	* etc/pkgtools.conf: Add examples for PKG_FETCH, PACKAGEROOT and
	PACKAGESITE.

2001-10-26 05:29  knu

	* portupgrade, bin/portupgrade: Explain -F better.

2001-10-26 05:13  knu

	* pkgtools.rb, lib/pkgtools.rb, etc/pkgtools.conf: Introduce new
	configuration variables: IGNORE_CATEGORIES and EXTRA_CATEGORIES.
	
	Enhance the configuration examples and descriptions.

2001-10-26 05:12  knu

	* portsdb.rb, lib/portsdb.rb: Introduce ignore_categories and
	extra_categories.

2001-10-26 05:08  knu

	* portsdb.1, bin/portsdb.1: Recommend setting PORTS_INDEX to
	something other than the default value.

2001-10-26 02:44  knu

	* etc/pkgtools.conf: Now one can set environment variables in
	pkgtools.conf.

2001-10-26 02:33  knu

	* misc/: bash/complete.sample, zsh/_pkg_fetch, zsh/_pkgdb,
	zsh/_portsclean, zsh/_portsdb: Add the -q option.

2001-10-26 02:31  knu

	* pkg_deinstall.1, pkg_fetch.1, pkg_glob.1, pkgdb.1, portsclean.1,
	portsdb.1, portupgrade.1, portversion.1, bin/pkg_deinstall.1,
	bin/pkg_fetch.1, bin/pkg_glob.1, bin/pkgdb.1, bin/portsclean.1,
	bin/portsdb.1, bin/portupgrade.1, bin/portversion.1: Mention the
	-q/--no-config option, the $PREFIX/etc/pkgtools.conf file, the
	PKGTOOLS_CONF variable, fix widths, et al.

2001-10-26 02:19  knu

	* pkg_deinstall.1, pkg_glob.1, portsdb.1, portupgrade.1,
	portversion.1, bin/pkg_deinstall.1, bin/pkg_glob.1, bin/portsdb.1,
	bin/portupgrade.1, bin/portversion.1: Clarify the explanation about
	dependency.
	
	Submitted by:	Jos Backus <josb@cncdsl.com> (Thanks a lot!)

2001-10-26 02:13  knu

	* pkg_fetch, pkg_glob, pkgdb, portsclean, portsdb, portupgrade,
	bin/pkg_fetch, bin/pkg_glob, bin/pkgdb, bin/portsclean,
	bin/portsdb, bin/portupgrade, portversion, bin/portversion: Sort
	the environment variables in the help screen in alphabetical order.

2001-10-26 02:09  knu

	* pkg_fetch, pkgdb, portsclean, portsdb, bin/pkg_fetch, bin/pkgdb,
	bin/portsclean, bin/portsdb: Make all the rest tools except for
	portcvsweb read the configuration file and add the -q/--no-config
	option.

2001-10-26 01:48  knu

	* pkg_glob, portupgrade, portversion, bin/pkg_glob,
	bin/portupgrade, bin/portversion: There is no need to call
	init_pkgtools_global() here any more.

2001-10-26 01:47  knu

	* pkgdb, bin/pkgdb: Make this read pkgtools.conf, and add
	-q/--no-config at the same time.

2001-10-26 01:46  knu

	* pkgtools.rb, lib/pkgtools.rb: Call init_pkgtools_global() in
	load_config().

2001-10-25 19:55  knu

	* pkgdb.rb, lib/pkgdb.rb: Since the dbm routines in libc seem to
	dead lock, slightly change the DB format; record
	installed_{pkg,ports} as join'ed strings instead of marshalled
	strings.  This is space saving and hopefully brings more stability.
	
	Bump the DB version accordingly.
	
	Reported by:	Ollivier Robert <roberto@eurocontrol.fr>

2001-10-25 19:29  knu

	* portupgrade, portupgrade.1, bin/portupgrade, bin/portupgrade.1:
	Make -f override "hold" marks.

2001-10-25 19:27  knu

	* pkgdb, bin/pkgdb: Make sure to check DB version when updating the
	DB. (-u)

2001-10-25 06:23  knu

	* pkgdb, bin/pkgdb: Remove duplicates from dependency lists.
	
	Suggested by:	Dave Cornejo <dave@dogwood.com>

2001-10-25 06:16  knu

	* pkgdb.rb, lib/pkgdb.rb: Exclude duplicates from a dependency
	list. (pkgdep & required_by)

2001-10-24 21:35  knu

	* pkg_deinstall.1, pkg_glob, pkg_glob.1, pkgtools.rb, portupgrade,
	portupgrade.1, portversion, portversion.1, bin/pkg_deinstall.1,
	bin/pkg_glob, bin/pkg_glob.1, bin/portupgrade, bin/portupgrade.1,
	bin/portversion, bin/portversion.1, lib/pkgtools.rb,
	misc/bash/complete.sample, misc/zsh/_pkg_deinstall,
	misc/zsh/_pkg_glob, misc/zsh/_portupgrade, misc/zsh/_portversion:
	Introduce the configuration file for the pkgtools suite.
	
	Currently portupgrade(1), portversion(1), pkg_deinstall(1) and
	pkg_glob(1) use it.
	
	Add a new option -q/--no-config to avoid reading the configuration
	file.
	
	Introduce dependency sanity checks.  If an inconsistency is
	detected, immediately abort a process suggesting the user should
	run `pkgdb -F'.
	
	Add a new option -O/--omit-check to omit the sanity checks.

2001-10-24 21:23  knu

	* install.rb, etc/pkgtools.conf: Add the configuration file for the
	pkgtools suite.

2001-10-24 21:17  knu

	* pkgdb, bin/pkgdb: Fix the origin guesser's minor bug. 
	PortsDB#exists? now returns false instead of nil if a given port
	does not exist.

2001-10-24 21:15  knu

	* pkgdb.1, bin/pkgdb.1: Add a useful example of pkg_which(1) usage.
	
	Remove the useless BUG section.

2001-10-24 16:25  knu

	* pkg_fetch.1, portsclean.1, bin/pkg_fetch.1, bin/portsclean.1:
	Remove the useless BUGS section.

2001-10-24 06:40  knu

	* portsdb.rb, lib/portsdb.rb: Never use the method in portupgrade.
	
	Make all_depends_list! accept extra arguments for make(1).

2001-10-24 01:25  knu

	* pkg_glob, bin/pkg_glob, pkgdb.rb, portupgrade, portversion,
	bin/portupgrade, bin/portversion, lib/pkgdb.rb: - Emit a warning
	when pkgdb cannot be updated though it is not	up-to-date.
	
	- Introduce a simple dependency sanity check. (turned off for now)
	
	- Reword: s/package database/pkgdb/.a

2001-10-23 17:59  knu

	* portupgrade, portupgrade.1, bin/portupgrade, bin/portupgrade.1,
	misc/zsh/_portupgrade: Rephrase the descriptions of -f/--force and
	-g/--go-on.

2001-10-23 17:40  knu

	* pkg_glob, portsdb, portupgrade, portversion, bin/pkg_glob,
	bin/portsdb, bin/portupgrade, bin/portversion,
	misc/bash/complete.sample, misc/zsh/_pkg_deinstall,
	misc/zsh/_pkg_glob, misc/zsh/_portsdb, misc/zsh/_portupgrade,
	misc/zsh/_portversion: Finally remove -E/--regex.  Use the ':RE'
	glob pattern instead.

2001-10-23 06:17  knu

	* misc/zsh/_portupgrade: Add a new option -y/--yes, which lets
	portupgrade assume user answers yes to all the questions.
	
	Make -n and -y exclusive.

2001-10-23 06:17  knu

	* misc/bash/complete.sample: Add a new option -y/--yes, which lets
	portupgrade assume user answers yes to all the questions.

2001-10-23 06:17  knu

	* portupgrade, portupgrade.1, bin/portupgrade, bin/portupgrade.1:
	Add a new option -y/--yes, which lets portupgrade assume user
	answers yes to all the questions.
	
	Make sure to ask user where it should. (Get -N and -i right)

2001-10-22 16:14  knu

	* portupgrade, bin/portupgrade: Fix a bug where portinstall -i
	didn't work interactively.
	
	Submitted by:	Gregory Neil Shapiro <gshapiro@gshapiro.net>

2001-10-22 07:25  knu

	* install.rb, make_describe_pass1, make_describe_pass2, portsdb.rb,
	bin/make_describe_pass1, bin/make_describe_pass2, lib/portsdb.rb: -
	Add more utility methods to PortsDB.
	
	- Attempt to offer fast INDEX generation.  Now it generates an
	INDEX	file more than a few minutes faster.
	
	- Add and install make_describe_pass[12].

2001-10-15 03:51  knu

	* portupgrade, bin/portupgrade: Fix a bug where `portupgrade -h'
	shows the usage twice.
	
	Reported by:	Gregory Neil Shapiro <gshapiro@gshapiro.net>
	
	Do not run `stty sane' needlessly.  This fixes `portupgrade -h |
	less'.

2001-10-13 23:07  knu

	* tests/test_pkginfo.rb: Fix a test as originally intended.

2001-10-13 02:49  knu

	* portsclean, bin/portsclean: Make good use of portsdb and pkgdb,
	and get distclean much faster. (both -D and -DD)

2001-10-13 02:01  knu

	* portsdb.rb, lib/portsdb.rb: PortsDB#{each,each_origin}: Do not
	fail even if a nonexistent category is given.
	
	Reported and tested by: Jos Backus <josb@cncdsl.com>

2001-10-13 01:43  knu

	* pkgdb.rb, lib/pkgdb.rb: A zero-sized +REQUIRED_BY file means the
	package is not required by any other package.

2001-10-12 04:41  knu

	* pkgdb.rb, lib/pkgdb.rb: Rebuild pkgdb if it looks like broken,
	instead of resulting in failure.
	
	Unbreak regexp match. ;)

2001-10-11 04:26  knu

	* pkgdb, bin/pkgdb: Fix a typo of a variable name in an error
	message.
	
	Reported by:	Stijn Hoop <stijn@win.tue.nl>

2001-10-11 02:48  knu

	* portsdb.rb, lib/portsdb.rb: Allow a port dir to be a symlink to a
	directory.

2001-10-10 20:33  knu

	* portupgrade, bin/portupgrade: Delete an unneeded exception
	snatcher.  This fixes a bug where ports marked as IGNORE are not
	properly skipped.

2001-10-10 20:29  knu

	* portsdb.rb, lib/portsdb.rb: Add support for the case where some
	catetories are missing in a ports tree.
	
	Submitted by:	Jos Backus <josb@cncdsl.com>

2001-10-10 05:18  knu

	* pkgdb.rb, lib/pkgdb.rb: Fix a type error and unbreak date-based
	pkg glob.
	
	Reported by:	Ollivier Robert <roberto@keltia.freenix.fr>

2001-10-10 05:14  knu

	* portsdb.rb, lib/portsdb.rb: Make PortsDB#strip suppress sequent
	occurrences of the slash.

2001-10-10 05:13  knu

	* tests/test_portsdb.rb: PortsDB#strip now only accepts regularized
	paths.

2001-10-10 03:29  knu

	* portupgrade, bin/portupgrade: Silence pkg_info when it does not
	find a package.
	
	Submitted by:	Jimmy Olgeni <olgeni@uli.it>

2001-10-10 01:51  knu

	* pkgdb, bin/pkgdb: Make pkgdb fixer's dependency guesser aware of
	language specific categories.  Now it suggests ja-qt-2.3.1 for
	qt-2.3.1, instead of qt-1.45_1.

2001-10-10 01:49  knu

	* pkgdb.rb, lib/pkgdb.rb: Make date_installed() support a package
	entry that has no +COMMENT file, like an XFree86 package entry
	faked by a FreeBSD installation.
	
	Reported by:	Ollivier Robert <roberto@eurocontrol.fr>

2001-10-10 01:46  knu

	* portsdb.rb, lib/portsdb.rb: Define a table of the language
	specific categories.
	
	Add a quick check mode to exists?().

2001-10-09 19:31  knu

	* portupgrade.1, bin/portupgrade.1: Describe how to use portsdb(1)
	better.

2001-10-08 16:09  knu

	* portsdb.rb, lib/portsdb.rb: Do not allow specifying a ports glob
	using a relative path to the current directory.  This prevents the
	tools from confusing when the current directory is under PORTS_DIR.

2001-10-07 17:46  knu

	* portsdb.rb, lib/portsdb.rb: Give a better progress display.

2001-10-07 06:02  knu

	* pkgdb.rb, lib/pkgdb.rb: There's no need to specify a file mode
	when you open an existing database.

2001-10-07 05:29  knu

	* pkgdb.rb, lib/pkgdb.rb: Fix date_db_file not to create an empty
	db file just to get mtime.

2001-10-06 23:53  knu

	* portupgrade, portupgrade.1, bin/portupgrade, bin/portupgrade.1:
	Update the documentation.

2001-10-06 23:14  knu

	* pkgdb.rb, lib/pkgdb.rb: - Detect added/deleted/reinstalled
	packages more strictly so pkgdb   can keep being sane and
	consistent.
	
	- Do not fail over a small conflict found during updating pkgdb;  
	portupgrade should not be aborted because of such a minor problem. 
	  The user will need to do a "pkgdb -fu" later anyway, though.

2001-10-06 21:28  knu

	* pkgdb.rb, lib/pkgdb.rb: Revert the SIGINT inhibition because it
	seems to have bad side effects.  To be fixed later.

2001-10-06 20:03  knu

	* portupgrade, bin/portupgrade: Create a backup package registry in
	tmpdir instead of pkgdbdir, in order not to update pkgdbdir's
	mtime.
	
	Give a message when a package upgrade is demanded by a new port.

2001-10-06 18:59  knu

	* pkgdb.rb, lib/pkgdb.rb: Inhibit user interrupt (^C) while
	updating pkgdb.
	
	Emit a warning when a deleted package is not recorded as installed.

2001-10-06 05:49  knu

	* portupgrade, bin/portupgrade: Commit major changes and
	improvements over portinstall.
	
	- Now it warns and asks the user for confirmation if a port is
	being installed   when a package of the same origin is already
	installed.
	
	- Upgrade all the required packages before installing a new port.  
	 [Requested by: Hajimu UMEMOTO <ume@mahoroba.org>]
	
	- Do not install ports immediately but queue them up, then install
	them after   upgrading all the specified and required packages.

2001-10-06 05:42  knu

	* pkgdb.rb, lib/pkgdb.rb: Record the last-modified date within the
	pkgdb.
	
	Fix all the bugs introduced in the previous changes.
	
	Simplify date comparison routines.

2001-10-05 07:10  knu

	* pkgdb.rb, lib/pkgdb.rb: Record origin to pkgname mapping and a
	list of installed ports too.
	
	Bump DB_VERSION accordingly.
	
	Add these new methods: deorigin, installed_pkg?, installed_port?,
	installed_pkgs_ and
	installed_ports/installed_ports_/installed_ports!.
	
	Optimize sort() and glob() a bit.

2001-10-05 07:05  knu

	* portsdb.rb, lib/portsdb.rb: Add these new methods: category?,
	virtual_category?, ports/indices and
	all_depends_list/all_depends_list!.
	
	Optimize sort() a bit.

2001-10-05 07:02  knu

	* pkginfo.rb, lib/pkginfo.rb: Optimize for match?('*'), and define
	match(true) as true.

2001-10-05 07:00  knu

	* portsclean, bin/portsclean: Dir.chdir_do() has been renamed to
	Dir.chdir().  (now pkgmisc.rb overrides the method)

2001-10-05 06:57  knu

	* install.rb, pkgmisc.rb, pkgtools.rb, lib/pkgmisc.rb,
	lib/pkgtools.rb: Move common utility functions to pkgmisc.rb.

2001-10-03 07:59  knu

	* misc/bash/complete.sample: Fix the completion for pkgdb.

2001-10-03 07:51  knu

	* misc/: bash/complete.sample, zsh/_pkgdb: Support pkgdb -o.

2001-10-03 07:50  knu

	* pkgdb, pkgdb.1, bin/pkgdb, bin/pkgdb.1: Add -o/--origin.

2001-10-03 07:36  knu

	* misc/: bash/complete.sample, zsh/_pkgdb, zsh/_pkgdepfix: Reflect
	the pkgdepfix -> pkgdb merger.

2001-10-03 07:35  knu

	* pkgdb.1, bin/pkgdb.1: Update the usage.

2001-10-03 07:28  knu

	* README, install.rb, pkg_deinstall.1, pkg_glob.1, pkgdb, pkgdb.1,
	pkgdepfix, bin/pkg_deinstall.1, bin/pkg_glob.1, bin/pkgdb,
	bin/pkgdb.1, pkgdepfix.1, portsdb.1, portupgrade, portupgrade.1,
	portversion.1, bin/portsdb.1, bin/portupgrade, bin/portupgrade.1,
	bin/portversion.1: Integrate pkgdepfix(1) into pkgdb(1).

2001-10-03 06:47  knu

	* README, pkg_glob, pkgdb.rb, pkgdepfix, pkgdepfix.1, pkginfo.rb,
	bin/pkg_glob, lib/pkgdb.rb, lib/pkginfo.rb, pkgtools.rb,
	portsclean, portsdb, portsdb.rb, portupgrade, bin/portsclean,
	bin/portsdb, bin/portupgrade, lib/pkgtools.rb, lib/portsdb.rb:
	pkgdb:	Record a pkgname => origin table in the pkgdb and make full
	    use of it instead of repeatedly calling pkg_info -o which has  
	undesirable overheads.
	
		Make portupgrade, pkg_deinstall and pkgdepfix update the
	pkgdb
		after they install/deinstall packages or modify the package
		registry.
	
	pkgdepfix:	Obsolete -o and turn -o on by default.	Now we can
	look up an   origin of a package so quickly thanks to the pkgdb.

2001-10-03 03:29  knu

	* pkgdb.rb, lib/pkgdb.rb: Add a full path of pkgdb(1).

2001-10-03 02:48  knu

	* portupgrade, bin/portupgrade: - Rename PortNotFoundError to
	PortDirError, and raise it if a port   directory cannot be chdir'ed
	though it does exist.
	
	- Do not scan packages all at once when -P is given, but find one
	per   request.	  [Requested by: Hideaki OKADA
	<hokada@isl.melco.co.jp>]
	
	- When an upgrade is to be done using a package, inform so in a  
	message.
	
	- Rephrase some messages.

2001-10-03 02:38  knu

	* portsdb.rb, lib/portsdb.rb: A date spec is not a valid ports
	glob; emit a warning if specified.  [Found by: Hajimu UMEMOTO
	<ume@mahoroba.org>]

2001-09-26 20:35  knu

	* portupgrade, bin/portupgrade: $backup_packages is not supposed to
	be default.  D'oh!

2001-09-24 16:21  knu

	* pkgdb.rb, lib/pkgdb.rb: Improve the dbm key deletion routine and
	avoid coredump.

2001-09-22 20:05  knu

	* pkgdb, pkgdb.rb, bin/pkgdb, lib/pkgdb.rb: Improve error handling.

2001-09-22 07:42  knu

	* pkg_glob.1, portupgrade.1, bin/pkg_glob.1, bin/portupgrade.1:
	Reword.

2001-09-22 06:59  knu

	* portsclean, bin/portsclean: Use a better way to prevent "can't
	cd" errors.
	
	Submitted by:	Jos Backus <josb@cncdsl.com>

2001-09-22 06:43  knu

	* pkg_deinstall.1, pkg_glob, bin/pkg_deinstall.1, bin/pkg_glob,
	pkg_glob.1, pkgdb.rb, pkginfo.rb, portupgrade, portupgrade.1,
	portversion, portversion.1, bin/pkg_glob.1, bin/portupgrade,
	bin/portupgrade.1, bin/portversion, bin/portversion.1,
	lib/pkgdb.rb, lib/pkginfo.rb: Implement new glob patterns:
	{<|<=|>=|>}{date|pkgname_glob}.

2001-09-22 04:38  knu

	* README: Describe pkgdb, pkg_which and ports_glob.

2001-09-22 04:37  knu

	* pkgdb.1, bin/pkgdb.1: Rephrase.

2001-09-22 04:21  knu

	* portsclean, bin/portsclean: Suppress "can't cd" error messages.
	
	Submitted by:	Jos Backus <josb@cncdsl.com>

2001-09-22 04:17  knu

	* misc/bash/complete.sample: Support pkgdb(1), pkg_which(1) and
	ports_glob(1).

2001-09-22 04:08  knu

	* misc/tcsh/complete.sample: portsdb -> ports_glob

2001-09-22 04:07  knu

	* misc/zsh/_pkgdb: Add a compdef for pkgdb(1) and pkg_which(1).

2001-09-22 04:07  knu

	* misc/zsh/_portsdb: This applies to ports_glob(1) as well.

2001-09-22 03:56  knu

	* portsdb.1, bin/portsdb.1: Reword and reflect ports_glob(1) ->
	portsdb(1) link.

2001-09-22 03:55  knu

	* install.rb: Install pkgdb(1) and pkg_which(1).
	
	Install ports_glob(1) as a symlink to portsdb(1).

2001-09-22 03:54  knu

	* portsclean.1, bin/portsclean.1: Cross reference pkgdb(1).

2001-09-22 03:53  knu

	* pkgdb, pkgdb.1, bin/pkgdb, bin/pkgdb.1: Add pkgdb(1) and
	pkg_which(1), which update or look up the packages database.

2001-09-22 03:52  knu

	* portupgrade.1, bin/portupgrade.1: s/a tool/tools/

2001-09-22 01:14  knu

	* pkgdb.rb, lib/pkgdb.rb: Fix the loop that unregisters the files
	of a deleted package.

2001-09-22 00:27  knu

	* portsclean, bin/portsclean: Utilize PkgDB#which.

2001-09-22 00:27  knu

	* pkgdb.rb, lib/pkgdb.rb: - Create and utilize
	$PKG_DBDIR/pkgdb.byfile.db, which is a hash that   maps file paths
	to pkgnames.
	
	  Inspired by:	NetBSD
	
	- Add PkgDB#which.
	
	- Add PkgDB#each and make PkgDB enumerable just as PortsDB.

2001-09-22 00:23  knu

	* pkginfo.rb, lib/pkginfo.rb: Add PkgInfo#files.

2001-09-22 00:22  knu

	* portsdb.rb, lib/portsdb.rb: Use IO#putc instead of IO#print to
	print a character.

2001-09-21 18:14  knu

	* portupgrade, bin/portupgrade: Skip ports that are marked as
	IGNORE.
	
	Requested by:	Jimmy Olgeni <olgeni@uli.it>

2001-09-21 17:58  knu

	* portsdb.rb, lib/portsdb.rb: Stop specifying -j4 when making a
	ports index because it's buggy, and sorting is not necessary any
	more.

2001-09-19 01:04  knu

	* pkgdb.rb, pkgdepfix, pkginfo.rb, pkgversion.rb, portinfo.rb,
	portsdb, portsdb.rb, portupgrade, tsort.rb, bin/portsdb,
	bin/portupgrade, lib/pkgdb.rb, lib/pkginfo.rb, lib/pkgversion.rb,
	lib/portinfo.rb, lib/portsdb.rb, lib/tsort.rb: Minor style fixes.

2001-09-18 19:07  knu

	* pkginfo.rb, lib/pkginfo.rb: Apply a correct fix to work around
	pkg_info(1)'s evil misfeature.

2001-09-18 17:00  knu

	* pkginfo.rb, lib/pkginfo.rb: Pass the full path of a pkgdir to
	pkg_info(1), or it searches PKG_PATH prior to PKG_DBDIR and may
	fail unexpectedly.
	
	Reported by:	kuwa@flab.fujitsu.co.jp

2001-09-18 16:53  knu

	* pkgdb.rb, lib/pkgdb.rb: Prepare for introcuding the pkgdb file
	that NetBSD has.

2001-09-18 16:52  knu

	* portsdb.rb, lib/portsdb.rb: Clear the cache when (re)opening
	ports DB.
	
	Introduce PortsDB#date_index and PortsDB#date_db.

2001-09-17 16:53  knu

	* portsclean, bin/portsclean: Do not assume a distinfo file is in
	each port's own directory and use `make -V MD5_FILE', in order to
	support master-slave ports properly.

2001-09-17 02:49  knu

	* pkgdb.rb, pkginfo.rb, lib/pkgdb.rb, lib/pkginfo.rb: Add
	PkgDB#date_db_dir and PkgDB#date_installed(pkgname).  Define
	PkgDB#[] as an alias for PkgDB#pkg(pkgname).
	
	Add PkgInfo#date_installed.

2001-09-16 23:53  knu

	* README: Update requisites.

2001-09-12 18:55  knu

	* portupgrade.1, bin/portupgrade.1: Add two new sections: EXAMPLES
	and TIPS.

2001-09-12 16:11  knu

	* portupgrade, bin/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, bin/portupgrade,
	bin/portupgrade.1, lib/pkgtools.rb: Support the environment
	variable PKG_PATH which is supported by pkg_add(1).

2001-09-12 13:23  knu

	* pkg_fetch, pkg_fetch.1, bin/pkg_fetch, bin/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, bin/portupgrade, bin/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, bin/portsclean, portsclean.1, bin/portsclean.1: Fix
	the command line help.
	
	Submitted by:	Jimmy Olgeni <olgeni@uli.it>

2001-09-07 04:38  knu

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

2001-09-06 18:11  knu

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

2001-09-06 17:44  knu

	* portupgrade, bin/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, bin/pkg_deinstall.1,
	bin/pkg_glob, bin/pkg_glob.1, pkgtools.rb, portsdb, portsdb.1,
	portupgrade, portupgrade.1, portversion, portversion.1,
	bin/portsdb, bin/portsdb.1, bin/portupgrade, bin/portupgrade.1,
	bin/portversion, bin/portversion.1, lib/pkgtools.rb: - 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, bin/portupgrade: Return correct exit status.
	
	Reported by:	Trevin Chow <trevin@mail.com>

2001-09-01 03:39  knu

	* portupgrade, bin/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, bin/portupgrade: Fake all_depends too.

2001-08-31 16:44  knu

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

2001-08-31 16:42  knu

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

2001-08-30 03:20  knu

	* portversion, bin/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, bin/portupgrade, lib/pkgdb.rb,
	portupgrade.1, bin/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, bin/pkg_fetch, pkg_fetch.1, bin/pkg_fetch.1: Be more
	intelligent and try All and Latest in the proper order.

2001-08-29 17:39  knu

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

2001-08-29 17:10  knu

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

2001-08-29 16:19  knu

	* pkg_fetch, pkg_fetch.1, bin/pkg_fetch, bin/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, bin/portupgrade, bin/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, bin/portupgrade, bin/portupgrade.1,
	misc/bash/complete.sample, misc/zsh/_portupgrade: Update the usage,
	manpages and shell compdefs.

2001-08-29 02:47  knu

	* portupgrade, bin/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,
	bin/pkg_glob, bin/portsdb, bin/portupgrade, lib/pkgdb.rb,
	lib/portsdb.rb: 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, lib/pkgtools.rb: Fix readline nits.

2001-08-27 21:00  knu

	* portsdb.rb, lib/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, bin/portsdb, portsdb.1, bin/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, bin/portsclean,
	bin/portupgrade, lib/pkgdb.rb: Replace "ary1.push(*ary2) unless
	ary2.empty?" with Array#concat or other better ways.

2001-08-27 16:31  knu

	* portsdb.rb, lib/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, lib/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, bin/pkg_fetch, bin/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, bin/pkg_deinstall.1, bin/pkg_glob.1,
	bin/portsdb.1, bin/portupgrade.1, bin/portversion.1: Describe the
	default values of environment variables better.

2001-08-27 03:41  knu

	* portcvsweb.1, bin/portcvsweb.1: Silence nroff.

2001-08-27 03:05  knu

	* portupgrade, portupgrade.1, bin/portupgrade, bin/portupgrade.1:
	Reword.

2001-08-27 02:13  knu

	* pkgtools.rb, lib/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, bin/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, bin/pkg_glob: Change the format of the "results" array.

2001-08-27 01:59  knu

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

2001-08-26 19:40  knu

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

2001-08-26 18:02  knu

	* pkgversion.rb, lib/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, bin/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, lib/pkginfo.rb,
	lib/pkgtools.rb, pkgversion.rb, lib/pkgversion.rb: Make ruby -v
	safe.

2001-08-26 01:35  knu

	* portcvsweb, bin/portcvsweb: Fix a retry loop.

2001-08-26 01:34  knu

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

2001-08-26 00:06  knu

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

2001-08-26 00:03  knu

	* portsclean, bin/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, bin/portsclean, bin/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, bin/portupgrade.1: Mention pkgdepfix's -o option.

2001-08-25 21:03  knu

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

2001-08-25 21:02  knu

	* pkgtools.rb, lib/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, etc/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, bin/portversion: Catch PortsDB::DBError.

2001-08-25 19:29  knu

	* pkgtools.rb, lib/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, bin/portupgrade.1, portupgrade, bin/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, bin/portsdb.1: Sort options in SYNOPSIS.

2001-08-25 06:53  knu

	* tests/test_pkginfo.rb, tests/test_pkgversion.rb, pkgversion.rb,
	lib/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, bin/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, bin/pkg_glob, bin/portsclean,
	bin/portupgrade, bin/portversion, lib/pkgdb.rb, lib/pkginfo.rb,
	lib/pkgtools.rb, lib/pkgversion.rb, lib/portinfo.rb,
	lib/portsdb.rb, lib/tsort.rb: Reword conjunctions for readability.

2001-08-25 00:43  knu

	* pkgdepfix: Reword a message.

2001-08-25 00:42  knu

	* pkgtools.rb, lib/pkgtools.rb: Uncomment Enumerator#partition.
	
	Define PREFIX.

2001-08-25 00:41  knu

	* portsdb.rb, lib/portsdb.rb: Fix a typo.

2001-08-24 17:58  knu

	* portupgrade.1, bin/portupgrade.1: Update.

2001-08-24 17:54  knu

	* portupgrade, bin/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, lib/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, bin/portsdb, bin/portsdb.1: Implement
	-r/--recursive. (a bit slow, though)

2001-08-24 05:58  knu

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

2001-08-24 05:57  knu

	* portsdb.rb, lib/portsdb.rb: Add PortsDB#recurse.

2001-08-24 05:57  knu

	* pkgdb.rb, lib/pkgdb.rb: Add PkgDB#recurse.

2001-08-24 00:54  knu

	* portsdb.rb, lib/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, lib/portsdb.rb: Fix a typo.

2001-08-23 06:38  knu

	* pkgtools.rb, lib/pkgtools.rb: Avoid infinite loop.

2001-08-23 06:24  knu

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

2001-08-23 06:21  knu

	* portversion, bin/portversion: portversion doesn't require
	'thread' any more.

2001-08-23 05:40  knu

	* README: Update.

2001-08-23 03:33  knu

	* pkgtools.rb, lib/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, lib/portsdb.rb: Remove a debug code.

2001-08-22 22:08  knu

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

2001-08-22 21:20  knu

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

2001-08-22 21:19  knu

	* pkgdb.rb, lib/pkgdb.rb: Introduce PkgDB::DBError.

2001-08-22 15:52  knu

	* portsdb, bin/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, bin/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, lib/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, bin/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, lib/portsdb.rb: Fix a typo.

2001-08-22 03:55  knu

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

2001-08-22 03:52  knu

	* portsclean, bin/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, lib/pkgtools.rb: Define Dir::chdir_do().

2001-08-22 03:37  knu

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

2001-08-22 03:19  knu

	* pkgdb.rb, portsdb.rb, lib/pkgdb.rb, lib/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, bin/portversion: Accept pkgname_glob with paths.

2001-08-21 20:33  knu

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

2001-08-21 20:14  knu

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

2001-08-21 20:07  knu

	* portupgrade, bin/portupgrade: Update the usage.

2001-08-21 20:06  knu

	* portupgrade, bin/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, lib/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, bin/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, lib/pkgtools.rb: Change the format of the results
	hash slightly.

2001-08-21 19:57  knu

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

2001-08-21 13:23  knu

	* portsclean.1, bin/portsclean.1: Update.

2001-08-21 07:51  knu

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

2001-08-21 06:35  knu

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

2001-08-21 06:05  knu

	* pkg_glob, bin/pkg_glob: Accept portorigin_glob and pkgname_glob
	with paths.

2001-08-21 06:04  knu

	* portupgrade, bin/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, lib/pkgdb.rb: Make strip() squeeze //'s.

2001-08-21 04:40  knu

	* portsdb.rb, lib/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, lib/pkgdb.rb: Enhance strip() to accept an optional
	second argument, "installed_only".

2001-08-21 04:38  knu

	* portversion, bin/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, lib/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, lib/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, bin/portupgrade, bin/portversion: When
	-a is specified, there is no need to regard -r and -R.

2001-08-20 16:34  knu

	* pkg_glob, bin/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, lib/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, lib/portsdb.rb: The `BROWSER' hack is no longer
	needed; I've fixed netscape ports.

2001-08-20 00:24  knu

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

2001-08-20 00:15  knu

	* portsdb, portsdb.1, bin/portsdb, bin/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, lib/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, lib/portsdb.rb: Add a utility method origin_of().
	
	Implement sort()/sort!().

2001-08-19 23:44  knu

	* portinfo.rb, lib/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, lib/portinfo.rb: Add a new method all_depends().

2001-08-19 23:31  knu

	* pkgdb.rb, lib/pkgdb.rb: Simplify sort().

2001-08-19 23:20  knu

	* tsort.rb, lib/tsort.rb: Exclude nil.

2001-08-19 18:13  knu

	* portinfo.rb, portsdb.rb, lib/portinfo.rb, lib/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, lib/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, bin/portupgrade.1: Fix a typo.  [Submitted by:
	Dirk Froemberg <dirk@freebsd.org>]

2001-08-18 22:43  knu

	* portcvsweb, bin/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, bin/pkg_glob, lib/pkgtools.rb,
	portupgrade, bin/portupgrade: Change the report format.
	
	Always show Makefile errors, regardless of -v.

2001-08-18 18:10  knu

	* portupgrade, bin/portupgrade: Refix the -N fix.

2001-08-18 17:56  knu

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

2001-08-18 17:54  knu

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

2001-08-18 17:22  knu

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

2001-08-18 17:21  knu

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

2001-08-18 17:20  knu

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

2001-08-18 03:50  knu

	* portversion, bin/portversion: Unbreak `portversion -t'.

2001-08-17 20:30  knu

	* pkgtools.rb, lib/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, bin/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, bin/pkg_glob, bin/portupgrade,
	portversion, bin/portversion: Properly handle regular expression
	errors.

2001-08-17 15:26  knu

	* portupgrade, bin/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, bin/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, bin/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, lib/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, lib/pkgtools.rb: New common routines: pkg_recurse()
	and show_results().

2001-08-17 08:08  knu

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

2001-08-17 08:07  knu

	* pkg_glob, bin/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, bin/portupgrade, bin/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, lib/pkgtools.rb: Add more utility methods.

2001-08-16 04:28  knu

	* portsdb.rb, lib/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, bin/portversion: portupgrade no longer needs -cC.

2001-08-16 02:08  knu

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

2001-08-16 02:00  knu

	* portupgrade, portupgrade.1, bin/portupgrade, bin/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,
	bin/pkg_deinstall.1, bin/pkg_glob.1, bin/portupgrade.1,
	bin/portversion.1: Standardize the terms: "pkgname glob"
	"portorigin glob"

2001-08-15 20:35  knu

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

2001-08-15 20:30  knu

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

2001-08-15 20:29  knu

	* portupgrade.1, bin/portupgrade.1, portversion.1,
	bin/portversion.1: Update.

2001-08-15 20:23  knu

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

2001-08-15 20:18  knu

	* pkg_deinstall.1, bin/pkg_deinstall.1, pkg_glob.1, bin/pkg_glob.1:
	Update.

2001-08-15 20:01  knu

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

2001-08-15 19:53  knu

	* pkg_glob, bin/pkg_glob: Readd long options.

2001-08-15 19:35  knu

	* pkg_glob, bin/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, lib/portsdb.rb: Enhance glob() to accept a regexp.

2001-08-15 06:51  knu

	* pkginfo.rb, lib/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, bin/pkg_deinstall.1,
	bin/pkg_glob.1, bin/portversion.1: Show some concrete examples of
	pkg_glob patterns in the pkg_glob(1) manpage.

2001-08-15 06:14  knu

	* portupgrade.1, bin/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, bin/pkg_glob, bin/portcvsweb, bin/portsclean,
	bin/portsdb, bin/portupgrade, bin/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, lib/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, lib/pkgdb.rb, lib/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, bin/portsclean.1: Reword.

2001-08-12 04:48  knu

	* README: Update.

2001-08-12 04:38  knu

	* portcvsweb.1, bin/portcvsweb.1: Reword.

2001-08-12 02:17  knu

	* portsdb.1, bin/portsdb.1: Update.

2001-08-12 01:24  knu

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

2001-08-11 19:09  knu

	* portsclean, bin/portsclean: Rescue File.unlink failure.

2001-08-11 19:07  knu

	* portsclean, bin/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, bin/portcvsweb, bin/portcvsweb.1: Add a
	new tool: portcvsweb(1).

2001-08-11 17:50  knu

	* portsclean.1, bin/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, bin/pkg_deinstall.1, bin/pkg_glob.1, bin/portsdb.1,
	bin/portupgrade.1, bin/portversion.1: Add a cross reference to
	ports(7).

2001-08-11 17:32  knu

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

2001-08-11 17:31  knu

	* portsdb.rb, lib/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, bin/portupgrade: Mention PORTS_DBDIR in the help
	screen.

2001-08-09 07:19  knu

	* portupgrade, portupgrade.1, bin/portupgrade, bin/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, bin/portupgrade,
	bin/portupgrade.1, lib/pkgdb.rb, 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, bin/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, bin/pkg_deinstall.1, bin/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, lib/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, bin/portsclean: Show errors properly.

2001-08-02 17:01  knu

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

2001-08-02 14:12  knu

	* portsclean, bin/portsclean: Put better comments.

2001-08-02 14:05  knu

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

2001-08-02 13:58  knu

	* portsclean, bin/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, bin/portsclean: Add portsclean command which cleans
	all the ports working directories.

2001-08-01 04:38  knu

	* portupgrade, portversion, bin/portupgrade, bin/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, lib/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, lib/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, bin/portsdb: Sort options in usage.

2001-07-30 18:38  knu

	* portversion.1, bin/portversion.1: Update.

2001-07-30 18:36  knu

	* portversion, bin/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, bin/portsdb.1: Update.

2001-07-29 21:53  knu

	* portupgrade.1, bin/portupgrade.1: Update.

2001-07-29 21:50  knu

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

2001-07-27 23:50  knu

	* portupgrade.1, bin/portupgrade.1: Fix more.

2001-07-27 21:07  knu

	* portupgrade.1, bin/portupgrade.1: Fix TECHNICAL DETAILS a bit.

2001-07-27 15:35  knu

	* portsdb.1, bin/portsdb.1: Remove a nonexistent option from
	SYNOPSIS.

2001-07-27 04:15  knu

	* pkg_glob.1, bin/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, bin/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, bin/portversion: Utilize optparse's automatic type
	conversion.
	
	Rescue ArgumentError properly.

2001-07-27 03:38  knu

	* pkg_deinstall.1, pkg_glob.1, bin/pkg_deinstall.1, bin/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, bin/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, bin/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,
	bin/portsdb, bin/portsdb.1, bin/portupgrade.1, lib/portsdb.rb:
	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, bin/portsdb.1,
	bin/portversion.1: Supply missing .El's.

2001-06-27 00:04  knu

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

2001-06-26 22:00  knu

	* portupgrade, bin/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, bin/portupgrade, bin/portversion: More
	fixes against messages.

2001-06-22 22:39  knu

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

2001-06-22 21:21  knu

	* pkgdb.rb, portupgrade, bin/portupgrade, lib/pkgdb.rb: 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, bin/portupgrade: Emit better messages.

2001-06-22 19:32  knu

	* pkgdepfix, portversion, bin/portversion: Use warning_message().

2001-06-22 19:25  knu

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

2001-06-22 19:24  knu

	* pkgtools.rb, lib/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, bin/portupgrade: Detect package name change and emit
	a warning.

2001-06-22 01:48  knu

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

2001-06-20 01:31  knu

	* portupgrade, bin/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, bin/portupgrade,
	bin/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, lib/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, bin/portversion: Update the usage instruction.

2001-06-15 18:20  knu

	* portversion.1, bin/portversion.1: Add portversion(1) manpage.

2001-06-15 17:31  knu

	* portupgrade.1, bin/portupgrade.1: Add portupgrade(1) manpage.

2001-06-15 17:31  knu

	* portsdb.1, bin/portsdb.1: Add portsdb(1) manpage.

2001-06-15 17:26  knu

	* pkgtools.rb, lib/pkgtools.rb: Check for PKG_TMPDIR prior to
	TMPDIR.

2001-06-15 17:25  knu

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

2001-06-15 17:24  knu

	* portupgrade, bin/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, lib/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, lib/pkginfo.rb, lib/portinfo.rb:
	Properly require DB modules.

2001-06-15 03:34  knu

	* pkgtools.rb, lib/pkgtools.rb: Use singleton objects.

2001-06-15 03:34  knu

	* pkgdepfix: Utilize PortsDB#glob.

2001-06-15 03:33  knu

	* portupgrade, bin/portupgrade: Use PkgInfo methods instead of
	PkgDB methods.

2001-06-15 03:31  knu

	* portsdb.rb, lib/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, lib/pkginfo.rb: Provide some useful methods with the
	help of the singleton PkgDB object.

2001-06-15 03:20  knu

	* pkgdb.rb, lib/pkgdb.rb: Make it singleton.

2001-06-15 03:19  knu

	* portversion, bin/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, lib/portsdb.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, lib/portinfo.rb: Add a new method: match?().

2001-06-14 15:56  knu

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

2001-06-11 06:05  knu

	* README, portversion, bin/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, bin/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, bin/portversion: Exit on OptionParser::ParseError
	immediately.

2001-06-11 05:09  knu

	* portsdb, bin/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, lib/portsdb.rb: Make each iterate a
	block for each PortInfo.

2001-06-11 03:35  knu

	* portversion, bin/portversion: Omit an unnecessary error check.

2001-06-11 03:11  knu

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

2001-06-11 03:01  knu

	* pkgtools.rb, lib/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, lib/pkgdb.rb: Use PkgInfo#match? .

2001-06-11 02:57  knu

	* pkginfo.rb, lib/pkginfo.rb: Add PkgInfo#match?

2001-06-10 16:39  knu

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

2001-06-10 01:52  knu

	* portupgrade, bin/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, bin/portupgrade,
	bin/portversion: Print the usage to stdout instead of stderr.

2001-06-07 12:05  knu

	* README, portupgrade, bin/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, bin/portupgrade, misc/zsh/_portupgrade:
	Implement -P/--use-packages.

2001-06-07 03:48  knu

	* portupgrade, bin/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, bin/portupgrade,
	lib/pkgtools.rb: Move common functions and global variables to
	pkgtools.rb.

2001-06-07 00:46  knu

	* portupgrade, bin/portupgrade: Optimize.

2001-06-06 23:45  knu

	* portupgrade, bin/portupgrade: Restructure a bit.

2001-06-06 22:20  knu

	* tsort.rb, lib/tsort.rb: Avoid using = in a conditional.

2001-06-06 22:14  knu

	* pkginfo.rb, lib/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, bin/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, bin/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, bin/portupgrade, misc/zsh/_portupgrade:
	s/priviledge/privilege/g

2001-06-01 21:01  knu

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

2001-06-01 20:59  knu

	* pkgdb.rb, lib/pkgdb.rb: Obsolete unneeded pkgdep!.

2001-06-01 20:16  knu

	* portupgrade, bin/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, bin/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, bin/portupgrade: Make sure to make replaced files
	world readable.

2001-06-01 12:17  knu

	* README: Update.

2001-06-01 12:14  knu

	* portupgrade, bin/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, lib/pkgdb.rb: No need to recurse @pkgdep search,
	really.
	
	Submitted by:	Jimmy Olgeni <olgeni@uli.it>

2001-06-01 00:22  knu

	* portupgrade, bin/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, bin/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, bin/portupgrade: Fix a typo.

2001-05-31 13:50  knu

	* README: Update the version number.

2001-05-31 13:49  knu

	* portupgrade, bin/portupgrade: More operations need root
	priviledges.

2001-05-31 12:25  knu

	* README: Revise.

2001-05-31 12:16  knu

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

2001-05-31 11:52  knu

	* portupgrade, bin/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, lib/tsort.rb: Bring in tsort.rb rev.1.3.

2001-05-30 15:53  knu

	* README: Update.

2001-05-30 15:53  knu

	* portupgrade, bin/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, bin/portversion: Show option errors more gracefully.
	
	Die on signals more gracefully.

2001-05-30 07:59  knu

	* README, portupgrade, bin/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, bin/portupgrade, bin/portversion: Redo
	the possible Makefile breakage report.

2001-05-30 06:48  knu

	* pkgdb.rb, lib/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, bin/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, bin/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, bin/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, lib/tsort.rb: Bring in tsort.rb, a topological sorter
	class.

2001-05-30 04:12  knu

	* pkgdb.rb, lib/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, bin/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, bin/portversion: Implement -t/--test.
	
	Add BSD-style license notice.
	
	Adjust blank lines in help.

2001-04-21 05:05  knu

	* portupgrade, bin/portupgrade: Define and use MYNAME.

2001-04-19 04:38  knu

	* README, portupgrade, bin/portupgrade: Adjust blank lines in help.

2001-04-19 04:34  knu

	* README: Update portupgrade usage.

2001-04-19 04:34  knu

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

2001-04-19 04:32  knu

	* portupgrade, bin/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, bin/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, bin/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, bin/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, lib/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, bin/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, bin/portversion,
	misc/zsh/_portversion: Add portversion.

2001-03-22 05:43  knu

	* portupgrade, bin/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, bin/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, lib/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, bin/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, bin/portupgrade, lib/pkgdb.rb: 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, bin/portupgrade: Show a proper message when the
	origin for a port is unknown.

2001-02-14 21:24  knu

	* portupgrade, bin/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, lib/portsdb.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, bin/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, lib/portinfo.rb, lib/ports.rb, lib/portsdb.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, lib/pkgdb.rb, lib/pkginfo.rb:
	Make some class variables constants.

2001-02-13 04:58  knu

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

2001-02-13 04:47  knu

	* pkgdb.rb, lib/pkgdb.rb: Define PkgDB::DB_DIR.

2001-02-13 04:31  knu

	* portupgrade, bin/portupgrade: PkgDB#dbdir -> PkgDB#db_dir

2001-02-13 04:30  knu

	* pkgdb.rb, lib/pkgdb.rb: dbdir -> db_dir

2001-02-10 01:11  knu

	* pkgdb.rb, lib/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, bin/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, lib/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, bin/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, bin/portupgrade: Fix help.

2001-02-06 05:13  knu

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

2001-02-06 04:37  knu

	* portupgrade, bin/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, lib/pkgdb.rb: Add an instance method required_by().

2001-02-06 03:36  knu

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

2001-02-06 03:33  knu

	* portupgrade, bin/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, lib/pkgdb.rb: Implement instance methods glob(),
	pkgdir(), pkgfiles(), and pkg_*() that correspond to pkgfiles.

2001-02-06 02:33  knu

	* portupgrade, bin/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, lib/pkginfo.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, lib/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, bin/portupgrade, lib/pkg.rb, lib/pkgdb.rb,
	lib/pkginfo.rb, lib/pkgversion.rb, 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, bin/portupgrade, lib/pkg.rb, lib/pkgdb.rb,
	lib/pkginfo.rb, lib/pkgversion.rb, tests/test_pkgdb.rb,
	tests/test_pkginfo.rb, tests/test_pkgname.rb,
	tests/test_pkgversion.rb: Tools for FreeBSD ports/packages.

