-B CMD
--beforebuild CMD Run the sapecified command before each build. If the
command exits in failure, the port/package will be
skipped. Here is some typical uses:
portupgrade -B 'cvs update' 'gnome*'
portupgrade -aB 'test ! `make -V IS_INTERACTIVE`'
-x GLOB
--exclude GLOB Exclude packages matching the specified glob pattern.
Exclusion is performed after recursing dependency in
response to -r and/or -R, which means, for example,
the following command will upgrade all the packages
depending on XFree86 but leave XFree86 as it is:
portupgrade -rx XFree86 XFree86
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'
This is a maintenance release.
- Manpages provided.
- Ports DB got faster.
- Wording fixed.
- New feature added to portsdb(1): you can use it to expand
port/pkgname globs. (archivers/p5-*, zsh, gnome*, etc.)
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:
- 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, by PKGREPOSITORY and PKGREPOSITORYSUBDIR.
Print the usages to stdout instead of stderr.
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.
pkgdepfix:
- Implement automatic guessing.
- Add yes-to-all to the choices of yes/no prompt.
- Do "stty sane" on interrupt.
portupgrade:
- Backing up +REQUIRED_BY must have been done before pkg_delete.
[Submitted by: SASAKI Katuhiro <sahiro@vanilla.freemail.ne.jp>]
Because of the portupgrade bug, portupgrade -u would have broken some
of your +REQUIRED_BY files. Please fix them up with pkgdepfix.
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.
I think I have finally fixed the problem some people have seen that it
deletes a package registry in some cases! At the same time, -m and -p
now works properly again.
Those problems were all due to Shellwords::shellwords' destroying its
given string. Thanks to Tadayuki OKADA <tadayuki@mediaone.net> for
sending me a report that made me realize what the problem was.
* No need to recurse @pkgdep search, really.
* Support the latest pkg_tarup.
* 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.
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.
portversion:
- Show option errors more gracefully.
- Die on signals more gracefully.
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.
around a CVS bug. Also add some missing options to usage() and help()
and alphabetize them properly, and show the usage string if no arguments
were specified on the command line.
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.
- bsd.port.mk update to use bsd.kde.mk for USE_{QT,KDE}*
- Cleanup corresponding ports for bsd.kde.mk update.
- Fix bsd.kde.mk: use correct kdelibs dependency, put qt at the bottom,
introduce QT_NONSTANDARD variable for nonstandard configure setup.
- Update KDE2 to 2.1.1. Two patches included in x11/kdelibs2 to fix the
proxy authentication that was broken for 2.1.1. Remove old patches.
- Potentially fix kdelibs build for alpha.
- Fix qt-designer 2.3.0 build.
- Ruby stuff left alone since it looks like black magic to me. Should
still work w/ compat shims for older USE_QT[,2] style. Some others
were also left alone for the same reason.
Reviewed by: portmgr, ports (bsd.kde.mk+bsd.port.mk)
Submitted by: David Faure <faure@kde.org> (proxy auth patches)
Alex Zepeda <garbanzo@kde.org> (old patches removal)
2001-03-23 04:08 knu
* 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: 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: Skip packages with illegal names showing an informative
message rather than dying of an error.
Reported by: Ollivier Robert <roberto@eurocontrol.fr>
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.
- Use Dir.entries(dir).each instead of Dir.glob(dir) so it does not
hit the just installed packages.
- Add -p option. [make package as well when each port is installed]
(Requested by: Ollivier Robert <roberto@eurocontrol.fr>)
- Sort options in alphabetical order.
the version to 2.3.2.
- Add checks for empty files, empty directories, core files, more
possible backup files, dotfiles, symlinks and CVS directories.
- Do not assume PATCHDIR always includes "/files/". Use the best
method to check whether a file is added to @checker as a patch file.
- Some trivial message style fixes.
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.