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>30348dda27
Port details
sysutils/portupgrade
Moved to ports-mgmt/portupgrade on : Moved to a new category
This port is no longer in the ports tree, its history is kept below.
- Links
- cgit
Commits (259)
Update to 20011102.1. Rewrite PREFIX in the startup script properly. Reported by: Jimmy Olgeni <olgeni@uli.it>4110b42784
Fix a typo and unbreak portversion -c/-v. Reported by: Masahide -mac- NODA <mac@clave.gr.jp>b09902db7f
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)ac6b1d0d4eUpdate 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'.b890a420cd
Update to 20011029.1. - Add portsclean -P/--pkgclean to clean obsolete package tarballs. - Fix manpages a bit.db561cd3cc
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.2393eee237Roll a new tarball instead of a tarball + a tiny patch.3d7d67d9cc
Oops, fix a stupid fat-fingered bug.1727c88b10
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!)90003baa60Update 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.145882753d
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.6348927743
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>]1b3e75281d
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>]fa0cf70254
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.cb169bd332
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)022de76493
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>]0d292eefc6
De-typo: s/compt/compat/. Submitted by: olgeni39b71db358
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. ;)66abe10ffe
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>63388d3a06
Update to 20010922.1. Add a patch to fix a coredump problem in pkgdb.ac76034d71
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.71a4f12840Update 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.d707b7ee11Remove 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.d29aec3965
Update to 20010912.2. Man page update only.
portupgrade.1:
- Add two new sections: EXAMPLES and TIPS.
Suggested by: obrien541fb158bfUpdate to 20010912.1. Enhance packages support further more.
portupgrade:
- Support the environment variable PKG_PATH which is supported by
pkg_add(1).
- Try to fetch the latest version of a package if the exactly
same version as the port is not found in the package site.20c0bfa705Update to 20010912.
portupgrade:
- Add a new option -b/--backup-packages, which keeps backup packages
of the old versions'.
Requested by: mistral@imasy.or.jp (Yoshihiko SARUMARU)
pkg_fetch:
- Accept a full URI as well.
- Do not try both All and Latest; now one must put an @ at the end
of a package name if one wants to omit the version part.
("cyrus-sasl@", etc.)
- Obsolete the PACKAGEBASE environment variable.
- If -f is specified, remove existing packages if they are corrupt.
- Do not depend on the ports database.
portsclean:
- Fix the command line help regarding -D and -DD.
Submitted by: Jimmy Olgeni <olgeni@uli.it>
compdefs:
- Fix stupid bugs in the zsh compdefs.5f4aaf504dUpdate to 20010906a. portupgrade: - Fix a misbehavior when -s is specified, where it built each port twice somehow. ;)04669ee549
Update to 20010906. overall: - Allow using regexp in a glob pattern on the spot, by just putting a regexp preceded by a colon (:). - Thereby deprecate -E/--regex, which is evil because it changes the global status. (but the option is still kept for compatibility) portupgrade: - Return correct exit status. [Reported by: Trevin Chow <trevin@mail.com>] portinstall: - Read the env variable PORTUPGRADE. (it read PORTINSTALL previously) pkg_fetch: - Be even more smart in deciding which to try first, All or Latest.8dd7562381
D'oh. Fix a silly typo in portupgrade.305e23d790
Update to 20010831. Fix some more minor problems. overall: - Fix a bug where a glob expansion did not work as expected when in a port direcotry. portupgrade: - Fix a bug where a port not listed in the INDEX failed to install because of a dependency error. portversion: - Work around a feature of the option parser library where -l= is treated as -l "". Now portversion -l= and portversion -L= will work just as pkg_version(8) does.d81ee0edf8
Update to 20010829.1. Not a really mandatory update. portupgrade: - Make portupgrade download packages using pkg_fetch(1) when -FP is given. (also aware of -R, -f and -v) pkg_fetch: - Be more intelligent and try All and Latest in the proper order. - Return a non-zero status value when some are failed. - Change -r to -R, since it recurses upwards through dependencies.67a948970a
Update to 20010829. Probably this is the most stable version ever. Overall: - Fix glob expansion routines not to see a "No such package is installed" error when it is actually installed. It was broken when I hacked them to allow rather stupid patterns. portupgrade: - Add a new option -M/--make-env, with which a user can specify arguments to prepend to each make(1) command line. Any wrapper or environment variable assignment can be prepended. - Make -RF invoke the `fetch-recursive' target. Suggested by: Jimmy Olgeni <olgeni@uli.it> - Optimize the combination of make(1) targets.1d579bb8ce
Update to 20010827c, with readline nits fixed.98ecd549fc
Update to 20010827b, with another minor bug fixed. - Fix a bug where it causes an error when portsdb detects a DB_VERSION bump. Reported by: Ollivier Robert <roberto@eurocontrol.fr> - Add a new option for portsdb(1): -f/--force, so you can force it to update database regardless of timestamps.6cec7f4955
Update to 20010827a, with a couple of silly bugs fixed. - Bump DB_VERSION, since PkgVersion was changed a bit. Reported by: fritz.heinrichmeyer@fernuni-hagen.de - Add a missing argument for Dir::chdir_do(). Reported by: "Li-lun Wang (Leland Wang)" <llwang@infor.org>f6a53f0aca
Fix a typo in pkgtools.rb to unbreak pkgdepfix. Reported by: "Li-lun Wang (Leland Wang)" <llwang@infor.org>c71e1f41de
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.44b1c1aa8d
Update to 20010826a. - Fix a stupid bug in the last version when generating a pkgname as a string. - Fix a stupid sorting bug in portsclean -L. and some minor corrections that don't really matter. Reported by: Jimmy Olgeni <olgeni@uli.it>ad57c46e5c
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!3ebd3062f3Seems there was a mirroring trouble. (probably my fault) Just include a typo fix and call it 20010823b.c887316e83
- Fix a typo.
Reported by: David M. Heller <dheller1@rochester.rr.com>
- Replace another occurrence of /usr/local with ${LOCALBASE}.
- Bump PORTREVISION.7265c072b3Add a missing entry ("ChangeLog") to pkg-plist.
Submitted by: Jimmy Olgeni <olgeni@uli.it>d9659b79f5Update to 20010823. I feel it's getting as stable as before... :) Overall: - Fix commands and libraries to run on a statically linked ruby. - If a command fails to load dynamic modules with dynamically linked ruby, restart itself with statically linked ruby. This is to cope with the 4.3 -> 4.4 upgrade, since ruby's dynamic modules are under a directory with a name including a FreeBSD version. Now portupgrade can upgrade itself and ruby even after a major FreeBSD upgrade. portupgrade: - Fix a bug where portupgrade -sS 'su root -c %s' did not properly work. [Submitted by: KOMATSU Shinichiro <koma2@jiro.c.u-tokyo.ac.jp>] portcvsweb: - Accept a port path as well. portsdb: - Adopt better error handling and a better PORTS_DBDIR selection algorithm. - Check database errors a bit harder.937fd69693
Update to 20010822, which fixes some annoying bugs. Overall: * Fix a bug where when -R is set the specified package in the first place is not included somehow. [Reported by: Jose M. Alcaide <jose@we.lc.ehu.es>] * Improve the path regularization routines. portsdb: * Update the INDEX first, and then the database even if the options are specified in reversed order. (-uU) portupgrade: * Fix a misfeature where "skip" was regarded as failure, when checking for dependent ports' build/install failure. [Pointed out by: Jimmy Olgeni <olgeni@uli.it>, Jose M. Alcaide <jose@we.lc.ehu.es>] * Do not move a backup package under PKG_DBDIR, but just keep it under TMPDIR. It should not require a large amount of free space in PKG_DBDIR. [Pointed out by: John Merryweather Cooper <jmcoopr@webmail.bmi.net>]bf6d6214f0
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]3c299339fe
Update to 20010820. portupgrade: Fix -A and -B which were broken when I introduced -L. [Submitted by: Ollivier Robert <roberto@keltia.freenix.fr>] portsdb: Implement -M/--master-recursive, -R/--upward-recursive and -x/--exclude, and sort the result in dependency order.1d9fa666db
Update to 20010819, with small improvements.
portsdb:
Do not clobber the INDEX file until the new one is ready,
so you don't have a zero-sized INDEX while updating it.
pkgdepfix:
Implement an origin duplicates fixer (only invoked when -o is
specified), and when it fixes one, redo the whole session.
Make the cyclic dependencies fixer a bit more intelligent.
portcvsweb:
Conform to the Secure BROWSER (SB) Specification proposed by
David A. Wheeler.
cf. http://www.dwheeler.com/browse/secure_browser.html
http://www.tuxedo.org/~esr/BROWSER/0e40d5d606Update to 20010818b. - Introduce a new environment variable "PORTS_INDEX", to specify an alternate ports INDEX file location. You can set this to something like `/usr/ports/INDEX.txt" not to overwrite the one under the control of CVSup/CVS/CTM. - Fix portinstall (portupgrade -N) which I broke recently by mistake. - Change the report format. It shouldn't be too verbose unless you specify -v.6ace020ffa
Oops, the distfile was named wrong. Bump to 20010818. Submitted by: many people35eb2ad7c0