Commit Graph

134 Commits

Author SHA1 Message Date
Akinori MUSHA
c76e2dd505 Update to 20020218. No bugfixes, just a couple of improvements.
pkg_sort(1), portupgrade(1):

- Sort packages by build-time dependencies in addition to run-time
  dependencies.  This slightly slows sorting down but offers faultless
  upgrading.

  Inspired by:	ade

portcvsweb(1):

- Accept a pkgname_glob, a portorigin_glob, and a cvs module alias.

    portcvsweb bash-1\*
    portcvsweb portupgrade
    portcvsweb \*/fd
    protcvsweb sys/i386/conf

  etc. etc...

- Suppress ident(1)'s error message.

- Add -h, -q and -v.
2002-02-18 05:42:48 +00:00
Akinori MUSHA
80fe15d7b7 Remove an accidentally mingled debug print from portcvsweb(1).
Bump PORTREVISION.
2002-02-14 17:53:15 +00:00
Akinori MUSHA
b470af5478 Update to 20020213.1 which fixes the PKG_DBDRIVER problem introduced
in the last version.  For the victims please manually reinstall the
portupgrade port, as always. ;)

Reported by:	many users (Sorry!)

Use some logic and keep pkg_add/pkg_delete from complaining about the
@exec/@unexec return codes.

Submitted by:	olgeni
2002-02-13 11:19:34 +00:00
Akinori MUSHA
03a588a8cd Repack 20020213 to slide the following change in.
- Make the experimental feature easier to try out.  Allow defining
  ENV['PKG_DBDRIVER'] in pkgtools.conf.

<ja>Irekaeru nara ima no uchi.. ;)</ja>
2002-02-13 03:48:20 +00:00
Akinori MUSHA
80c012f48e Update to 20020213.
pkgdb(1):
- Set the default answer to no when a score is under 80%.

pkgdb(1), portupgrade(1):
- Add a BUGS entry to each of the two man pages to note that a user
  must run pkgdb -fu to rebuild a corrupt pkgdb.

pkgdb(3):
- Add a silly workaround against a possible bug of the dbm module to
  keep a pkgdb from getting insane and rebuilt.

- [exp.] Add a knob environment variable PKG_DBDRIVER to specify an
  alternative binary database format for pkgdb.  The available options
  are:

    "bdb_btree":
        DB 3.x/4.x B+tree; requires databases/ruby-bdb.

    "bdb_hash" or just "bdb":
        DB 3.x/4.x hash; requires databases/ruby-bdb.

    "bdb1_btree" or just "btree":
        DB 1.85 B+tree; requires databases/ruby-bdb1.

    "bdb1_hash", or just "bdb1" or "hash":
        DB 1.85 hash; requires databases/ruby-bdb1.  This should be
        equivalent to the default except some tuning parameters, but
        it is quite possible that ruby-bdb1 is stabler than the
        standard dbm module included in ruby.

    default:
        DB 1.85 hash; uses ruby's standard dbm module.

  In principle, a B+tree database is faster to store data, a little
  bit slower to extract data, and takes more space than a hash
  database.

  This is still an experimental/undocumented feature only for those
  interested, although I don't believe it brings any unstability.
  Note that you can always run pkgdb -fu to rebuild a database.

portcvsweb(1):
- 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>

portsclean(1):
- Make portsclean -D remove empty directories (recursively) as well.
2002-02-13 03:06:05 +00:00
Akinori MUSHA
123c2a69f5 o Update to 20020205. The best release ever, I hope. :)
pkg_deinstall(1), portupgrade(1):

  - Properly print the legend.

  pkg_glob(1), portsdb(1):

  - Do not print an empty line when the result list is empty.

  pkgdb(1):

  - Greatly improve the origin fixing procedure.  Do the origin
    duplicateness check before checking dependencies and avoid redoing
    the origin check.

  - Show the user CVS history on the spot via the CVSweb.

  portcvsweb(1):

  - Allow specifying a no longer existent port file/directory.
    "portcvsweb net/ruby-uri" now works.

  - Change the default BROWSER value from 'lynx' to
    'w3m:lynx:links:mozilla:netscape'.

  portupgrade(1):

  - 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.

  pkgdb(3):

  - Abolish the [You have no permission to update the pkgdb -- using a
    slow method] message.  Instead, 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.

  pkgtools.conf(5):

  - Allow specifying unofficial ports' origin globs in HOLD_PKGS as
    well as package globs.

  overall/miscellaneous:

  - Change --no-config to --noconfig in order to get the -q option
    really working.  Since --no-config was regarded a negative form of
    --config, it didn't work as expected.

  - Fix some bugs in the zsh compdefs and add missing descriptions for
    some options.

o Use bzip2 instead of gzip for the distribution tarball to save 20KB.
  As the portupgrade user base is growing significantly, I'll get more
  serious about the download size issue from now on.  The next few
  releases will be distributed in patches against this version.
2002-02-04 17:47:31 +00:00
Akinori MUSHA
d9cc8c645c Update the pkg_tarup dependency; misc/pkg_tarup -> sysutils/pkg_tarup. 2002-02-01 08:20:19 +00:00
Akinori MUSHA
9e010b246e Update to 20020128. This makes the second stage to more utilize the
pkg_which database. (The first stage was 'portsclean -L'.)

Hopefully these tools will support divided/obsoleted/renamed ports
some way in the not-too-distant future..

pkgdb(1):
- 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. .

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

pkg_which(1):
- Make pkg_which(1) capable of showing multiple file owner packages.
- Add a new option:
  -c/--collate	PKGNAME
    Show files installed by the given packge that have been
    overwritten by other packages.
- Strip -c/-o's argument of PKG_DBDIR and a trailing slash.
- Be less verbose unless -v is given.

pkgdb(3):
- Record and handle files that are installed by multiple packages.
- Bump the DB version.
- Squeeze series of slashes seen in the output of 'pkg_info -L'.
- Show the reason for rebuilding a package database.
2002-01-27 23:22:14 +00:00
Akinori MUSHA
3736f8c32e Update to 20020126. Just one enhancement and one man page fix.
pkgdb(1):
- 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.

pkg_fetch(1):
- Fix the pkg_fetch(1) man page: PKG_PATH should read PKG_SITES...

After upgrading ruby and portupgrade, try running pkgdb -F to see if
it suggests deinstalling ruby-uri (which has been obsoleted).
2002-01-25 21:25:43 +00:00
Akinori MUSHA
a678c3596c Let net/ruby-uri and devel/ruby-timex retire, which have now been
included in the standard distribution of ruby. (both 1.6 and 1.7)

Bump PORTREVISIONs of dependent ports for those who don't use
portupgrade/pkgdb which can handle stale package dependencies.
2002-01-25 21:04:54 +00:00
Akinori MUSHA
ee3b6d99a8 Update to 20020122.
- Add support for start/stop arguments to the startup script.

- Do not exit in subtask routines to let -CDP complete every task.
2002-01-22 08:08:59 +00:00
Akinori MUSHA
2d261c44b8 Update to 20020117.
Fix a silly bug in the last version where portupgrade doesn't upgrade
packages which requisite packages don't need upgrading.  Probably you
need to reinstall this port manually.

PR:		ports/33946
Submitted by:	Vivek Khera <khera@kciLink.com>
2002-01-16 17:53:23 +00:00
Akinori MUSHA
7411179f8f Update to 20020116.1.
- 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.)

  Point taken from: Quincey Koziol <koziol@ncsa.uiuc.edu>

- 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>

  For recent CURRENT users, please manually remove /_* and /*.rb files
  that should have been accidentally installed by bsd.prog.mk.
2002-01-16 10:38:53 +00:00
Akinori MUSHA
8b3cac8f4b Update to version 20020116. Only minor fixes have been made since the
last release.

portsclean(1):
- -C/--workclean: Support the case where the ports directory is a
  symlink.

portupgrade(1):
- Alter the "skip" message for originless packages.

pkgdb(3):
- When a dependency sanity check fails, suggest specifying -O as the
  alternative to running pkgdb -F.

overall:
- Make more grammar/wording fixes.
2002-01-15 20:15:09 +00:00
Akinori MUSHA
0f5ca5a16e portupgrade(1):
- Fix a couple of undefined method errors introduced in the last
  version.

  Reported by:	roberto, jan grant <jan.grant@bristol.ac.uk>
  PR:		ports/33478

portsclean(1), portupgrade(1), portversion(1):

- Apply English grammar fixes.

  Submitted by:	David Bogen <db@bogen.org>  (Thanks a lot!)
2002-01-03 20:17:05 +00:00
Akinori MUSHA
361431b8cb Update to 20011231.
pkgtools.conf(5):
  - Introduce new configuration variables: BEFOREBUILD and
    AFTERINSTALL.

    Requested by: Gabriel Ambuehl <gabriel_ambuehl@buz.ch>

  - New utility functions localbase() and x11base() are now available.

pkgdb(1):
  - Add some progress messages.

pkg_deinstall(1):
  - Do not try to backup a nonexistent file.

portupgrade(1):
  - Always run afterinstall commands as root.

  - Show beforebuild/afterinstall commands to run.

  - Do not try to restore a +REQUIRED_BY file that's empty.

overall:
  - Do not call stty(1) if stdin is not a terminal.

  - Fix a bug where portupgrade(1) and pkgdb(1) fail to do a
    substitution over a large file.

    Reported by:	asmodai
2001-12-30 22:45:44 +00:00
Akinori MUSHA
1b85cae969 Update to 20011218.
portupgrade:

- Do not invoke sudo if a command is already run as root.

  Suggested by:	Will Andrews <will@csociety.org>

- Fix a bug where the port that's built first is built with wrong make
  arguments.

  Reported by:	Ollivier Robert <roberto@eurocontrol.fr>

- Add a note that ^Z doesn't work to the BUGS section of the man page.

pkgdb & portupgrade:

- Ignore any empty lines in +REQUIRED_BY.

- Speed up dealing with a big file.

- Chase a recent Ruby 1.7.x change so they don't produce superfluous
  empty lines.

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>

pkg_sort:

- Make this command actually work.

pkgtools.conf:

- Fix a typo in comment.

  Submitted by:	Gregory Neil Shapiro <gshapiro@gshapiro.net>
2001-12-18 16:45:42 +00:00
Akinori MUSHA
ead84ab467 Update to 20011210 which brings several usability improvements.
pkgtools.conf(5):

- Turn HOLD_PORTS into HOLD_PKGS.

- List `bsdpan-*' in HOLD_PKGS by default.

  Requested by:	Anton Berezin <tobez@tobez.org>

pkgdb(1):

- Support HOLD_PKGS and make -f/--force overrite the setting.

pkg_fetch(1):

- Dig the temporary directory and the packages directory before
  fetching.

  Requested by:	Chris Dillon <cdillon@wolves.k12.mo.us>

- Properly quote the fetch command line arguments.

portupgrade(1):

- Fix a bug that -Pf did not properly work.

  Reported by:	The Anarcat <anarcat@anarcat.dyndns.org>

- Make -p/--package build packages for the ports that are installed as
  dependency as well.

  Suggested by:	Vivek Khera <khera@kcilink.com>

- 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.

  Suggested by:	Vivek Khera <khera@kcilink.com>,
		Lev Serebryakov <lev@serebryakov.spb.ru>

- Do not regard a packaging error as an installation error.

- Make -Nf override HOLD_PKGS.

- Suggest specifying -f when skipping a package.

- Detect a checksum mismatch error properly from a build log.

portinstall(1): (portupgrade -N)

- Only upgrade required packages of a newly installed port when -R is
  specified.

portversion(1):

- Support HOLD_PKGS.

overall/miscellaneous:

- Introduce lazy initialization for config variables and make
  the initialization process a little bit quicker.

- Fix some typos in the manpages.

  Submitted by:	Dan Langille <dan@langille.org>,
		kuriyama@FreeBSD.org

- Add shell completion definitions for pkg_tarup(1).

- Provide a replacement of the weekly status-pkg report script
  (/etc/periodic/weekly/400.status-pkg), which is installed as
  $PREFIX/etc/pkgtools.status-pkg.sh.

port:

- Add a missing entry of pkg_which to pkg_plist.

- Do not remove the zsh site-functions directory on deinstallation
  when zsh is installed.
2001-12-10 02:43:52 +00:00
Akinori MUSHA
14483751ba Update to 20011118, with steady improvements.
overall:

- Perform better checks on pkgname and origin.

- Deprecate the use of PKGREPOSITORY and PKGREPOSITORYSUBDIR.  Use
  PACKAGES for PKGREPOSITORY and hardcode 'All'.

pkg_deinstall:

- -P/--preserve: Only preserve shared libraries with version numbers.
  Keeping *.so files may be harmful because it allows ld to pick them
  up and produce new binaries linked with the libraries of removed
  packages.  It is enough to only preserve *.so.* files to retain
  compatibility.

portsclean:

- -P/--pkgclean: Clean dead symlinks as well.

- Fix the manpage: supply missing words.

portupgrade:

- Detect NO_LATEST_LINK and LATEST_LINK and use them to determine the
  name of the latest package to fetch.

pkgdb:

- Improve the score computer.  Try not to suggest a stupid guess. ;)

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>

pkgtools.conf:

- Explain how to use EXTRA_CATEGORIES.
2001-11-17 23:13:00 +00:00
Akinori MUSHA
c8af4c91ab Update to 20011107.
- Get to properly work on Ruby 1.7.

  Reported by:	Ollivier Robert <roberto@eurocontrol.fr>

- 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 09:46:15 +00:00
Akinori MUSHA
31a699e0ff Update to 20011106.
pkgdb:

  - Make the dependency guesser rather more intelligent and show a score
    when suggesting a candidate to the user.

  - Check for the pkgdb directory ownership before starting to fix it.

pkg_deinstall:

  - Emit a warning if none matches given patterns.

pkg_glob:

  - Do not sort package names in dependency order but in alphabetical
    order. (see pkg_sort(1) below)

pkg_sort:

  - This is a new command to sort given lines of package names in
    dependency order.

portversion:

  - Fix the portversion -c output again.

misc.:

  - Fix typos in the zsh compdef's: PKGDBDIR -> PKG_DBDIR.
2001-11-06 13:57:08 +00:00
Akinori MUSHA
3a90e88c50 Repacked; I released this version before committing everything. ;) 2001-11-04 21:27:41 +00:00
Akinori MUSHA
327f03d400 Update to 20011105.
- portupgrade: Do not go fetch "Latest" packages unless -P is given
  twice.

- Fix and improve wording in the manual pages.
2001-11-04 20:35:17 +00:00
Akinori MUSHA
6436b1fde9 Update to 20011104, which fixes another couple of bugs that are
recently mingled.

- 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

- 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 20:51:54 +00:00
Akinori MUSHA
e8aa44c1f6 Update to 20011103.
- 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>

- Add a minimal manual page for pkgtools.conf(5).

- portversion: Fix a typo: errir -> error.

  Found by:	TOGAWA Satoshi <toga@puyo.org>
2001-11-03 12:21:15 +00:00
Akinori MUSHA
30348dda27 Update to 20011102.2.
Fix a recently caused problem where portupgrade might raise an error
during detecting obsoleted dependencies.

Reported by:	Fritz Heinrichmeyer <jfh@jfh00.fernuni-hagen.de>
2001-11-02 13:01:48 +00:00
Akinori MUSHA
4110b42784 Update to 20011102.1. Rewrite PREFIX in the startup script properly.
Reported by:	Jimmy Olgeni <olgeni@uli.it>
2001-11-02 11:17:49 +00:00
Akinori MUSHA
b09902db7f Fix a typo and unbreak portversion -c/-v.
Reported by:	Masahide -mac- NODA <mac@clave.gr.jp>
2001-11-02 07:12:33 +00:00
Akinori MUSHA
ac6b1d0d4e Update to 20011101, keeping things stable, safe and clean.
portupgrade:

  Properly remove obsoleted dependencies in an upgrade.  This reduces
  pkgdb(1)'s turn.

portversion:

  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.

portsdb:

  Call make_describe_pass[12] with the full paths.  This fixes a
  problem where `portsdb -U' cannot run them if ${PREFIX}/sbin is not
  in the PATH.

miscellaneous:

  Improve the build process.

    - Move shebang line adjustment and ${PREFIX} substitution from the
      port Makefile to the source Makefiles.

    - Add Makefile.compat in order to support old systems which
      doesn't have the SCRIPTS framework. (4.3 or prior)
2001-11-01 14:52:18 +00:00
Akinori MUSHA
b890a420cd Update to 20011030. Some minor bugs/typos were fixed.
portupgrade:
- Fix quotes.
  [Submitted by: Jimmy Olgeni <olgeni@uli.it>]

- Do not ask whether to install a port twice. (portinstall/-N)

- Complete missing words in the manpage.

pkgdb:
- Comment out deleted pkgdeps properly.

misc.:
- Convert the install script to Makefiles.

- Change the examples/docs subdirectory name from `portupgrade' to
  `pkgtools'.
2001-10-29 22:18:30 +00:00
Akinori MUSHA
db561cd3cc Update to 20011029.1.
- Add portsclean -P/--pkgclean to clean obsolete package tarballs.
- Fix manpages a bit.
2001-10-29 08:20:34 +00:00
Akinori MUSHA
2393eee237 Update to 20011029. With this update, the binary package support has
reached the one step higher level.  It's *really* powerful.  Enjoy! :)

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.
  This way you can now do binary upgrades just as you'd expect.

- Improve the new installation procedure as well.

- Allow using ports glob patterns in the configutation variables
  MAKE_ARGS and HOLD_PORTS.

- If a port/package matches multiple entries of MAKE_ARGS, join all
  the arguments using the space as separator.

pkg_fetch:
- Introduce a new {environment,configuration} variable PKG_SITES.
  You can now specify multiple URI's to fetch packages from.

- 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)

- Do not repeat same error messages.

- 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.

pkgdb:
- When the user chooses to delete a dependency, comment the line out
  instead of deleting it.

pkgtools.conf:
- Provide some useful predefined constants and functions.
2001-10-28 21:50:20 +00:00
Akinori MUSHA
3d7d67d9cc Roll a new tarball instead of a tarball + a tiny patch. 2001-10-26 19:16:22 +00:00
Akinori MUSHA
1727c88b10 Oops, fix a stupid fat-fingered bug. 2001-10-26 19:08:44 +00:00
Akinori MUSHA
90003baa60 Update to 20011027, the latest and greatest release ever, with lots of
people's help.  Thanks so much!

portupgrade:

- D'oh!  Fix a stupid bug where portupgrade didn't modify
  dependencies when upgrading a package while portupgrade _is_ meant
  to do that. ;)  But you don't need to worry: `pkgdb -F' can always
  handle that situation.

  This bug had been there since 2 October, and was finally exposed by
  the newly introduced dependency sanity checks.  I guess you has been
  annoyed by the warnings, but they are gone now. ;)

  Reported by:	Ollivier Robert <roberto@eurocontrol.fr>

- 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 -P foo bar

  Although the latter is friendlier to dialup users.

- 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 -f override "hold" marks set in pkgtools.conf.

pkgdb:

- Since the dbm routines in libc seem to dead lock in some cases,
  slightly change the DB format and bump the DB version accordingly.

  Reported by: Ollivier Robert <roberto@eurocontrol.fr> and others

- Make sure to check DB version when checking for a DB. (-u)

pkg_fetch, pkgdb, portsclean, portsdb:

- Make them read the configuration file and add the -q/--no-config
  option just as other tools.

pkgtools.conf:

- Add examples for PKG_FETCH, PACKAGEROOT and PACKAGESITE.

- Introduce new configuration variables: IGNORE_CATEGORIES and
  EXTRA_CATEGORIES.

- Now one can set common environment variables in this file.

- Now all the tools read this file by default.

overall:

- Reword and enhance the manual pages and the usage instructions.

- Clarify the explanation about port/package dependency.

  Submitted by:	Jos Backus <josb@cncdsl.com> (Thanks a lot!)
2001-10-26 18:16:18 +00:00
Akinori MUSHA
145882753d Update to 20011024.
portupgrade, portversion, pkg_deinstall, pkg_glob:

  Introduce the configuration file `pkgtools.conf' 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.

pkgdb:

  Fix the origin guesser's minor bug when the origin port directory
  does not exist.

portupgrade:

  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)

  Fix a bug where portinstall -i didn't work interactively.
  [Submitted by: Gregory Neil Shapiro <gshapiro@gshapiro.net>]

portsdb:

  Attempt to offer fast INDEX generation.  Now it generates an INDEX
  file more than a few minutes faster.

overall:

  Emit a warning when pkgdb cannot be updated though it is not
  up-to-date.

  Finally remove -E/--regex.  Use the ':RE' glob pattern instead.
2001-10-24 13:08:20 +00:00
Akinori MUSHA
6348927743 Update to 20011015, a stable maintenance release.
portupgrade:

  Fix a couple of bugs where `portupgrade -h | more' doesn't show the
  usage nicely.

  Reported by:	Gregory Neil Shapiro <gshapiro@gshapiro.net>

portsclean:

  Make good use of portsdb and pkgdb, use lazy (but virtually
  sufficient) checks and get distclean much faster. (both -D and -DD)

portsdb:

  Do not fail even if some categories are missing in the ports tree.

  Reported and tested by: Jos Backus <josb@cncdsl.com>

And some other internal bugfixes that do not affect the user tools.
2001-10-14 19:53:01 +00:00
Akinori MUSHA
1b3e75281d Update to 20011012. Fix several minor bugs and make it a stable
release again. (Hopefully)

portupgrade:

  Delete an unneeded exception snatcher.  This fixes a bug where ports
  marked as IGNORE are not properly skipped.

pkgdb:

  Rebuild pkgdb if it looks like broken, instead of resulting in
  failure.

  Unbreak regexp match. ;)

  Fix a typo of a variable name in an error message.
  [Reported by: Stijn Hoop <stijn@win.tue.nl>]

portsdb:

  Allow a port dir to be a symlink to a directory.

  Add support for the case where some catetories are missing in a
  ports tree.
  [Submitted by: Jos Backus <josb@cncdsl.com>]
2001-10-11 19:53:14 +00:00
Akinori MUSHA
fa0cf70254 Update to 20011010.1, with a couple of fixes.
pkgdb:
  Fix a type error and unbreak date-based pkg glob.
  [Reported by: Ollivier Robert <roberto@keltia.freenix.fr>]

portupgrade:
  Silence pkg_info when it does not find a package.
  [Submitted by: Jimmy Olgeni <olgeni@uli.it>]
2001-10-09 20:23:46 +00:00
Akinori MUSHA
cb169bd332 Update to 20011010.
pkgdb:

  Make pkgdb fixer's dependency guesser aware of language specific
  categories.  Now it suggests ja-qt-2.3.1 instead of qt-1.45_1 for
  a missing qt-2.3.1.

  Do not fail over a package entry that has no +COMMENT file, like an
  XFree86 package entry faked by the FreeBSD installer.
  [Reported by: Ollivier Robert <roberto@eurocontrol.fr>]

portsdb:

  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.

  Give a better progress display.
2001-10-09 17:05:35 +00:00
Akinori MUSHA
022de76493 Update to 20011006.1, a hotfix release. This fixes a bug where pkgdb fails to
create a new database for the very first time. (Run "pkgdb -fu" if you have
20011006 installed)

Fix MAN1 entries.

Remove old database pkgdb.byfile.db on installation.
(new database is named pkgdb.db)
2001-10-06 21:01:34 +00:00
Akinori MUSHA
0d292eefc6 Update to 20011006 with many improvements.
Beware, there can probably be some bugs left in the new pkgdb code.
In such a case please run "pkgdb -fu" to fix the situation.

overall:

  Utilize pkgdb better and optimize.

portupgrade:

  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>]

  Create a backup package record in tmpdir instead of pkgdbdir, in
  order not to update pkgdbdir's mtime.

  Rephrase/add messages.

portinstall:

  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.

pkgdb:

  Record pkgname <=> origin mapping in the pkgdb and make full use of
  it instead of repeatedly calling pkg_info -o which has undesirable
  overheads.

  Make portupgrade, pkg_deinstall update the pkgdb after they
  install/deinstall packages or modify package records.

  Integrate pkgdepfix(1) within. (pkgdb -F/--fix)

  Add -o/--origin, which looks up an origin of a package in pkgdb.

  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 by such a minor problem.

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.

  Integrate into pkgdb(1). (pkgdb -F/--fix)

portsdb:

  A date spec is not a valid ports glob; emit a warning if specified.
  [Found by: Hajimu UMEMOTO <ume@mahoroba.org>]
2001-10-06 15:52:58 +00:00
Akinori MUSHA
39b71db358 De-typo: s/compt/compat/.
Submitted by:	olgeni
2001-10-02 12:09:59 +00:00
Akinori MUSHA
66abe10ffe Add another patch against 20010922, which fixes the default value of
`$backup_packages' from true to false, which should only be turned on
when -b is specified.

I wonder why I couldn't notice this for long. ;)
2001-09-26 16:04:05 +00:00
Akinori MUSHA
63388d3a06 Owing to some mistake, pkgtools-20010922.1.patch.gz on ftp.FreeBSD.org
and that on www.idaemons.org didn't match.  They are identical in the
uncompressed form but I think I compressed one with -9 and another
with -6 somehow.  Thereby list the MD5 checksums of both in pkg-plist
as a workaround.

The one on ftp.FreeBSD.org will be overwritten by the one on
www.idaemons.org soon.

Submitted by:	John Merryweather Cooper <john_m_cooper@yahoo.com>
2001-09-24 14:52:21 +00:00
Akinori MUSHA
ac76034d71 Update to 20010922.1. Add a patch to fix a coredump problem in pkgdb. 2001-09-24 09:38:20 +00:00
Akinori MUSHA
71a4f12840 Update to 20010922, with some brand new functionalities.
overall:

  - Implement new package glob patterns: {<|<=|>=|>}{date|pkgname_glob}.

    For example, you can rebuild and reinstall all the dependent
    packages of png that had been installed prior to png this way:

      portupgrade -fr png -x '>=png'

  - Introduce the packages database, which is currently a simple hash
    that maps file paths to package names.

    Inspired by:	NetBSD

pkgdb(1): (new)

  - A command to create/update the packages database.

pkg_which(1): (new)

  - A command to check which package a file came from quickly.

portsclean(1):

  - Suppress "can't cd" error messages.

    Submitted by:	Jos Backus <josb@cncdsl.com>

ports_glob(1): (new)

  - Give portsdb(1)'s ports glob expanding feature a suitable name.
2001-09-21 22:46:14 +00:00
Akinori MUSHA
d707b7ee11 Update to 20010921, the latest maintenance release.
overall:
  - Work around pkg_info(1)'s "feature" where it gets info from
    package files under the packages directory prior to installed
    packages.
    [Reported by: kuwa@flab.fujitsu.co.jp]

portupgrade:
  - Skip ports that are marked as IGNORE.
    [Requested by: Jimmy Olgeni <olgeni@uli.it>]

portsdb:
  - Stop specifying -j# when making a ports index to avoid outputting
    a buggy INDEX.

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-21 10:30:11 +00:00
Akinori MUSHA
d29aec3965 Remove ruby_static from RUN_DEPENDS.
Now that RUBY_ARCH has been changed not to include a minor version of
the system, you no longer need to have ruby_s in order to cope with
the migration problem with a minor system upgrade like 4.3 -> 4.4.

You will need ruby_static only if you are going to do a major upgrade
of your system like 4.3 -> 5.0.
2001-09-17 18:09:58 +00:00
Akinori MUSHA
541fb158bf Update to 20010912.2. Man page update only.
portupgrade.1:

  - Add two new sections: EXAMPLES and TIPS.

    Suggested by:	obrien
2001-09-12 09:59:01 +00:00