Commit graph

17 commits

Author SHA1 Message Date
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
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
44b1c1aa8d Update to 20010827.
pkg_fetch:

- Yet another new utility, which downloads binary packages from a
  remote site.  Optionally it can also download the required packages
  recursively.

portupgrade:

- Do not regard "no package found" as an error when upgrading packages
  with -PP.

pkgdepfix, portsclean -L:

- Fix a problem where the ruby 1.6.4 release fails in error.

  Reported by:	David Wolfskill <david@catwhisker.org>

portcvsweb:

- Explicitly execute a browser via /bin/sh, as the specification says.

other stuff:

- Improve the manpage and the completion definitions.
2001-08-26 19:58:38 +00:00
Akinori MUSHA
3ebd3062f3 Update to 20010826.
Overall:

- Support the cases where PORTREVISION == 0 and PORTEPOCH == 0.

portupgrade:

- Add a new option: -l/--log-results, which is used to save the
  results as a file. [new]

- Properly exit with a non-zero status when main() does not return a
  valid value. [fix]

portsclean:

- Finally implement portsclean -L/--libclean, which cleans the old
  shared libraries that are not recorded in the package database.  It
  moves old and orphan shared libraries to ${PREFIX}/lib/compat/pkg.
  [new]

- In concert with this feature, the portupgrade port now digs the
  directory and installs a startup script which runs `ldconfig -m
  ${PREFIX}/lib/compat/pkg'. [new]

- 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. [new]

  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>

portsdb:

- Do not fail in the case when INDEX.db and INDEX.rbo are not in sync
  somehow. [fix]

- Implement -r/--recursive. (a bit slow, though) [new]

Completions:

- Improve and update zsh compdefs.

- Add completion definitions for bash. [new]

..and several minor improvements.  Enjoy!
2001-08-25 15:14:42 +00:00
Akinori MUSHA
70c675f6dc Reword more. 2001-08-11 21:19:33 +00:00
Akinori MUSHA
60adc2eea9 Update to 20010812, just a minor update.
- Reword and fix documents.
- Make portsdb -U not imply -u.
2001-08-11 19:58:30 +00:00
Akinori MUSHA
d62ad1dfb1 Update pkg-comment and pkg-descr. 2001-08-11 19:41:33 +00:00
Akinori MUSHA
2ee75b5cf1 Update to 20010727 with a couple of new commands added. (No changes
have been made to the existing utilities)

pkg_deinstall:	This is a package deinstaller with wildcards and
		dependency recursion support.

pkg_glob:	This is a package glob expander with wildcards and
		dependency recursion support.
2001-07-26 19:28:42 +00:00
Akinori MUSHA
3eab80a70e Revise pkg-descr. 2001-06-17 10:12:43 +00:00
Akinori MUSHA
da51098583 Update to 20010611, with many changes and enhancements.
Beware of bugs, just in case. ;)

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.
  - Do not call "make fetch-recursive" but just "make fetch", now that
    portupgrade does recursion itself.
  - In fetch mode, specify -DPACKAGE_BUILDING for ports that define
    IS_INTERACTIVE. [Submitted by: Jimmy Olgeni <olgeni@uli.it>]]

portversion:
  - Exit on OptionParser::ParseError immediately.

portsdb:
  - New tool: which updates INDEX and INDEX.db in the ports directory.

pkgdepfix:
  - Implement origin fixer with intelligent guessing, finally!
    (-o/--fix-origin)
  - Make pkgdep guessing more intelligent.
2001-06-10 20:57:39 +00:00
Akinori MUSHA
c2e939e56c Clarify that portupgrade can do upgrade by means of both the port and
the package.
2001-06-09 05:50:11 +00:00
Akinori MUSHA
3f909a39ff From now on I use release dates for this port's version numbers, and
this is version 20010606.

A new tool pkgdepfix is added.  It allows you to interactively fix
/var/db/pkg's @pkgdep / +REQUIRED_BY discrepancies.  Run this
periodically to let portupgrade properly trace dependencies.
2001-06-05 17:33:21 +00:00
Akinori MUSHA
bec4f9dede Update portupgrade to 1.31 and portversion to 1.7.
* Fix the Makefile/PKGNAME error detection.
  [Reported by:	Tadayuki OKADA <tadayuki@mediaone.net>]

* 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 03:32:59 +00:00
Akinori MUSHA
7d94ccfe39 Get rid of the mention of portversion in pkg-descr. 2001-04-10 16:57:53 +00:00
Akinori MUSHA
85441a23ad Reword pkg-comment and pkg-descr to make it clearer. (README will be
fixed in the next release)

Submitted by:	obrien
2001-03-23 20:47:52 +00:00
Akinori MUSHA
8e4cb7c968 Update portupgrade to 1.18. Now it comes with portversion, which is
the Porter's Handbook compliant version of pkg_version with a little
bit better performance and better usability.

2001-03-22 06:13  knu

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

2001-03-22 05:49  knu

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

2001-03-22 05:43  knu

        * portupgrade: Use make(1) arguments specified with -m for "make -V
        PKGNAME" too.

        Ignore the difference of the name parts when it compares the
        package versions.

2001-03-22 05:36  knu

        * misc/zsh/_portupgrade: Add a missing closing bracket.
2001-03-21 21:33:52 +00:00
Akinori MUSHA
230a5071f6 Add portupgrade, a tool to upgrade installed packages with ports.
It upgrades ports without reinstalling dependent packages by directly
modifying the package info recorded in the files under /var/db/pkg.

e.g.
	portupgrade gtk
	portupgrade -cC gnome\*

It currently has many design flaws (to me at least) but I am releasing
this because it's functionally stable enough to use. (I believe.. ;)

Use with care, at your own risk.
2001-03-17 23:06:40 +00:00