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.
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.
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!
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]
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]
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.
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.
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'
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.
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.
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.
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-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. :)
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.
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.
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.