Commit graph

18 commits

Author SHA1 Message Date
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
d9659b79f5 Add a missing entry ("ChangeLog") to pkg-plist.
Submitted by:	Jimmy Olgeni <olgeni@uli.it>
2001-08-23 05:28:23 +00:00
Akinori MUSHA
3c299339fe Update to 20010821, with many improvements.
Overall:
	- Disregard -r and -R when -a is also specified; there is no
	  need to recurse when you do with everything.
	- Fix a bug in -r and -R routines where it might fail in error
	  if dependencies of a package were all wrong.
	  [Caught by: Mamoru Iwaki <iwaki@bsp.bc.niigata-u.ac.jp>]
	- Fix the support for the case where PORTSDIR is a symlink.
	- Squeeze //'s.
	- Run `stty sane' before building each port, on interrupt, and
	  before exit.
	- Accept portorigin_glob and pkgname_glob with paths, except
	  for -x/--exclude.

portupgrade:
	- Fix `portupgrade -Ni' (portinstall -i).
	- 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.

pkgdepfix:
	- Backup +CONTENTS files before removing duplicates.

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

misc/tcsh/complete.sample:
	- Add a simple example of tcsh completion definitions.
	  [Contributed by: kuwa@flab.fujitsu.co.jp]
2001-08-21 12:29:39 +00:00
Akinori MUSHA
6bb28a13bd Update to 20010811.
portsclean:
  - Rewrite in Ruby and implement the distfiles cleaner. [new]

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

portcvsweb:
  - New tool: a tool to open CVSweb to view a CVS log. [new]
2001-08-11 09:22:05 +00:00
Akinori MUSHA
032137d53e Update to 20010802, only a minor update.
overall:
- Fix commands not to quit when user answers ^D to a yes/no question.
- Call pkg_* commands in fullpaths.

portupgrade:
- When -s is specified, run sudo to build & install dependent ports
  when some are missing, too.

portsclean:
- This is a new command which cleans ports' working directories.
2001-08-02 08:19:23 +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
396b2f3afd Update to 20010617.
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 07:38:49 +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
ea9d950857 Update to 20010607.
portupgrade:
  - Implement -P/--use-packages, which everyone bugged me with. :>

pkgdepfix:
  - Add "delete" to the choices as to how to deal with a stale
    dependency.
  - Alter the prompt message.
  - Add zsh compdef.
2001-06-06 20:05:57 +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
5b36cf09a5 Update portupgrade to 1.26 and portversion to 1.4.
This is a milestone release for me.  Enjoy. :>

portupgrade changes:
  - Implement -s/--sort which sorts packages in the dependency order.
  - Implement -R/--upward-recursive, and get -r/--recursive working for
    upgrading as well. (Finally!)
  - Add -DBATCH to the make fetch' commandline to prevent ports from
    dumbly waiting for user input.

  Greatly inspired by: Jimmy Olgeni <olgeni@uli.it> (Thanks!!)

portversion changes:
  - Make command output optimal by using portupgrade's -s option.
  - Report possible ports' Makefile breakage.
2001-05-29 21:11:47 +00:00
Akinori MUSHA
1e3888f0dc Fix a rmdir line so it never fails.
Submitted by:	Jimmy Olgeni <olgeni@FreeBSD.org>
2001-05-18 14:20:15 +00:00
Akinori MUSHA
3be9dc4719 Update to 1.20.
2001-04-18 03:36  knu

	* misc/zsh/_portupgrade: Add -F.

2001-04-18 03:35  knu

	* portupgrade: Add -F/--fetch option to make dial-up users happy.

	Submitted by:	Jimmy Olgeni <olgeni@uli.it>
			(He suggested -e, but I prefered -F)

	Show what version a package is upgraded to to help a user decide
	whether to upgrade or not.

	Submitted by:	Timothy Smith <tim@mysql.com>

Resurrect portversion for what it's worth as a reference code.  The
problems that kept it from working has been addressed and will
hopefully be fixed soon. :)
2001-04-17 18:51:48 +00:00
Akinori MUSHA
a736e4aa4e Say good-bye to portversion. Now we have new pkg_version(1) which
does handle versions correctly.

By the way, I'll have to find a workaround for the ruby's thread
vs. libc_r (stdio/malloc) problem exposed by portversion...  Hmm.
2001-04-10 16:56:42 +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