portupgrade(1):
- Change the meaning of -D/--distclean. When specified once, delete
failed distfiles and retry when checksum fails. When specified
twice, do "make distclean" before each fetch or build (as -D meant
before).
- Make -F/--fetch-only call make checksum/checksum-recursive instead
of make fetch/fetch-recursive.
- Rename -l/--log-results to -l/--results-file.
- Rename -L/--log-prefix to -L/--log-file and make it accept a
printf(3) style format.
pkg_which(1)/pkgdb(3):
- Store and look for file names after resolving symlinks using
realpath(3).
miscellaneous:
- Fix some macro bugs in manpage.
- Fix a typo in the PORTUPGRADE example in pkgtools.conf.
pkgdb(1):
- Fix a problem in pkgdb's automatic dependency fixer that it only
fixes the first found problem and leaves the rest.
portsclean(1):
- Fix a problem that portsclean(1) does wrong if a library search path
has a trailing / or a double /. This could confuse users.
PR: ports/46162
Submitted by: Lev A. Serebryakov <lev@serebryakov.spb.ru>
Approved by; lioux (his first approval as a portmgr!) & knu ;)
For the record, the previous tarball (pkgtools-20021101.tar.bz2) was
downloaded approximately 10,000 times in one month, 32% from the
United States, 17% from Japan, 6% from Germany, and 4% from
Canada. (followed by AU, NL, FR, GB, RU, SE, PL, ...)
pkgtools.conf(5):
- Add new variables: USE_PKGS and USE_PKGS_ONLY.
Requested by: Jeff Penn <jeff@jrpenn.demon.co.uk>
overall:
- Recognize INDEXFILE defaulting to 'INDEX'.
- Introduce a "fixme" cookie file not to invoke pkgdb -aF unnecessarily.
- Recognize the Hungarian and Portuguese language prefixes.
Approved by: kris (implicitly)
overall:
- Use sudo in installing (copying) a file only if once it failed as
the current user.
- Speed up string substitution.
portupgrade(1):
- Use sudo as necessary in saving log files also.
pkgdb(1):
- Look up ports/MOVED to fix stale origins (both ORIGIN and
DEPORIGIN).
- Skip the check for origin duplicates when in automatic mode. (This
speeds up autofix)
- When pointing out a missing origin, show the name of the package in
question.
Suggested by: Genesys on EFnet
portupgrade(1):
- Check return status of hardly failing commands also.
pkgdb(1):
- Add -Q/--quiet and -QQ for internal use.
portsclean(1):
- Ditto.
overall:
- Reduce /bin/sh process calls by replacing shell redirection to
/dev/null with pkgdb -Q/portsclean -Q/fetch -q. (I know I can do
fork, dup and exec if necessary)
- Eliminate zombies during running. Formerly waitpid's against
terminated processes are delayed until Ruby gets short of resource
and thus runs a GC, but now portupgrade(1), pkgdb(1) and
portsclean(1) explicitly kick a waitpid immediately after each
popen() is done.
PR: ports/38075
Submitted by: Chris J. Mutter <cjm@s2.enemy.org>
Reported by: several others
overall:
- Allow a regular expression or glob pattern against origins as
pkgname glob pattern. For example, the following commands work as
expected now:
pkg_glob 'lang/*'
portupgrade lang/ruby
pkg_info ':(japanese|chinese|korean)/'
- Use install(1) instead of cp(1) and chmod(1) to install modified
data files such as +CONTENTS.
pkgdb(1):
- Add a new option --autofix, which is a shorthand of --auto --fix
(-aF).
portupgrade(1):
- Allow specifying a directory after -L.
- Auto-fix dependencies before creating a package.
PR: ports/41383
Submitted by: Vivek Khera <khera@kciLink.com>
pkgtools.conf(5):
- Add a new configuration variable ALT_PKGDEP, which defines
alternative dependencies, used by pkgdb -F/-aF. This makes yet
another step forward to eliminate the need for manual pkgdb -F's.
overall:
- Make these work with ruby 1.7.
portupgrade(1):
- Get portupgrade -s to work again.
- Synchronize the failure reason guesser with the latest "processlogs"
script.
- Rename -g/--go-on to -k/--keep-going, on the (vague) analogy of
make(1).
possibly be a couple of bugs. Make sure to do your backups as always,
and have fun. :)
overall, pkgdb(3):
- The DEPORIGIN information is fully supported. Most stale
dependencies are automatically fixed based on that.
Hinted by: sobomax
- Disregard a package if it has a file named "+IGNOREME" in the
package directory.
PR: ports/41237
Hinted by: Jerry Murdock <j@jerrymurdock.com>, and some others
pkgdb(1):
- Add a new option -a/auto, used with -F/--fix, which turns on
automatic mode, in which pkgdb(1) only fixes discrepancies that can
be fixed 100% obviously and securely, and leaves the others.
- Make pkgdb(1) less verbose when -v is not specified.
portupgrade(1):
- Time the whole session also.
Requested by: nork
- Fix a bug in shellwords() where it wrongly interprets \ in '...' as
meta-character. This bug or maybe feature was inherited from Perl's
shellwords.pl / Text::ParseWords.
Reported by: Gabriel Ambuehl <gabriel_ambuehl@buz.ch>
- The DEPORIGIN information is fully supported. It fixes DEPORIGIN
when a package is upgraded with a different port using -o/--origin,
and "pkgdb -aF" is automatically called at closing. This makes
portupgrade a tad slower but greatly reduces the "pkgdb -F"
annoyance.
- Fix a race where it rarely failed in updating the pkgdb after
installation and the user had to run "pkgdb -fu".
- Do not redirect stderr to /dev/null when calling portsclean -L. Now
the pkgdb updater's indicator is displayed properly.
- Synchronize the build failure checker with the latest version of
ports/Tools/portbuild/scripts/processlogs.
- Do not bother with +REQUIRED_BY files when they are mechanically
generated from @pkgdep information by pkgdb(1).
pkg_fetch(1):
- Try .tgz first on FreeBSD 4.x and prior. Although .tbz is smaller,
there are few sites that prepare .tbz packages for FreeBSD 4.x.
pkgtools.conf(5)
- Prepare a new constant OS_PKGBRANCH, which is set to a
release/branch name that is suitable for specifying a FTP packages
directory, and make pkg_site_mirror() use it.
PR: ports/43265
Submitted by: Andriy Gapon <avg@icyb.net.ua>
portsclean(1):
- Suggest using libchk(1) to help manually clean out lib/compat/pkg.
- Improve messages. Use the word "shadow" to say that a library hides
another one with the same name.
- Fix a bug where portupgrade creates packages in a wrong directory.
This was introduced in 20020921.
Submitted by: "Dmitry A. Panov" <redfox@Fluffy.Khv.RU>
- Make portcvsweb <pkgname> work when it is an obsoleted package.
- Update documents.
- Respect PKG_SUFX, which could be defined in /etc/make.conf or as an
environment variable.
- Drop the pkg_tarup(1) dependency in favor of pkg_create(1) -b, and
mark IGNORE for systems which pkg_create(1) does not support -b.
On those systems such as 4.4-STABLE and prior, users can either
a) update pkg_* tools or b) stick with portupgrade-20020920 +
pkg_tarup-1.2_3.
- Remove the workaround against somewhat old 5-CURRENT's buggy
bsd.*.mk.
- Improve zsh/bash/tcsh completion definitions. (not much for tcsh,
though..)
portupgrade(1):
- Time each build, install, upgrade, etc. and show times
when -v/--verbose is specified.
[Requested by: people on freenode:#freebsd]
pkgdb(1):
- Extend pkgdb(1)'s -o so it can also modify a port's origin.
[Requested by: dcs]
- Raise an error when an empty pkgname is given with -s.
pkgtools.conf(5):
- Make MAKE_ARGS accept a proc.
[Suggested by: alane]
miscellaneous:
- Now all the tools including portupgrade(1) should work on
lang/ruby_static as well as lang/ruby_static-devel again.
- Completion definitions for zsh and bash are even slightly
improved.
- Fix the regexp for uname output so it can parse such as
"5.0-CURRENT-YYYYMMDD-JPSNAP".
Spotted by: will@FreeBSD.org
- portupgrade(1): Add more command failure checks in case sudo fails.
- portsclean(1): Add a cross reference to libchk(1) to the manpage.
portupgrade(1):
- Add more command failure checks in case sudo fails.
- Always build backup packages as root.
Spotted by: Stijn Hoop <stijn@win.tue.nl>
- Let NO_IGNORE negate IGNORE.
FreeBSD PR: ports/41467
Suggested by: Alan Eldridge <ports@geeksrus.net>
portsclean(1):
- Do not mix stderr output from make(1) with stdout.
Submitted by: Jos Backus <jos@catnook.com>
pkgdb(1):
- Do not fail in error when a non-installed package is specified
with -o.
pkg_fetch(1):
- Support bzip2'd packages (*.tbz).
- Slightly fix messages.
- Introduce OS_PATCHLEVEL and exclude `-p#' from OS_RELEASE.
FreeBSD PR: ports/40375
Submitted by: Andriy Gapon <agapon@excite.com> (partly)
portsclean(1):
- -P/--pkgclean: Sweep away bzip2'd packages (*.tbz) too.
portupgrade(1):
- Support bzip2'd packages (*.tbz).
pkgtools.conf(5):
- Provide a couple of new utility functions, deorigin(origin) and
rc_file(origin_or_pkgname).
- Fix an example and provide some more examples.
- Introduce OS_PATCHLEVEL and exclude `-p#' from OS_RELEASE.
misc.:
- zsh compdefs: Look for *.tbz too.
- Avoid ruby 1.7 warnings.
- Show better error messages on command failure.
- pkg_deinstall(1): Unbreak -c by removing a leftover variable
reference.
Reported by: Tod McQuillin <devin@spamcop.net>
- pkg_deinstall(1): (manpage): Clarify that -c/--collate is disabled
by -f/--force.
Prompted by: parv <parv@pair.com>
- pkg_sort(1): Warn of each package entry that's not installed.
- pkg_sort(1): Do not print an empty line if no valid entry is given.
- pkgdb(1): (manpage) Fix typos, improve phrases and remove an
incomplete paragraph.
FreeBSD PR: ports/39183
Submitted by: Chris Pepper <pepper@rockefeller.edu>
- portsclean(1): (manpage) Fix a typo.
Submitted by: Martijn Koster <mak@greenhills.co.uk>
- Make portsdb -U respect PORTS_DBDIR even when it is different than
PORTS_DIR.
Reported by: Shigeto TAJIMA <tajima@ics.es.osaka-u.ac.jp>
- Do not override the user-defined value of PKG_PATH.
Reported by: The Anarcat <anarcat@anarcat.dyndns.org>
2002-04-05 21:08 knu
* lib/pkginfo.rb: Show the full pkgname as exception message when
the version part is invalid.
2002-04-05 21:06 knu
* bin/portupgrade: Fix a flaw where dependent ports' build/install
error was not properly detected when -s is specified.
Reported by: Stijn Hoop <stijn@win.tue.nl>
20020327 or later.
portsclean(1):
- Run mv(1) with -f unless -i is given.
This fixes:
PR: ports/36407
Submitted by: Albert Kinderman <albert.kinderman@csun.edu>
If you see portupgrade(1) stop at 'Cleaning out obsolete shared
libraries', hit Ctrl-C (just once) to abort portsclean(1).
portupgrade(1):
- Fix portsclean -L invocation.
- Fix some messages.
- Update the manpage.
o Add another example for -B that runs 'cvs update' for the master
port(s) of a slave port, using 'ports_glob -M'.
Question by: Ollivier Robert <roberto@FreeBSD.org>
o Mention that portupgrade(1) now runs `portsclean -L' at the end of
each upgrade.
o Fix wording and update the descriptions about portsclean -L.
portsclean(1):
- Fix wording and update the descriptions about -L.
portsclean(1):
- Improve -L/--libclean. Ability to delete duplicate libraries is
added.
portupgrade(1):
- Call portsclean -L at the end of each upgrade.
pkg_deinstall(1):
- Show the results more precisely.
- -P: Only preserve real FreeBSD shared libraries, determined by
file(1).
- -P: Move preserved shared libraries to $LOCALBASE/lib/compat/pkg.
portupgrade(1):
- If an error is returned from getcwd(), show a better message and
abort.
FreeBSD PR: ports/35893
Submitted by: Ernst de Haan <znerd@FreeBSD.org>
- -N: If multiple ports match a given pattern, list them.
Suggested by: Will Andrews <will@FreeBSD.org>
portsdb(1):
- On exception, handle it and exit normally.
- Check the file/directory permissions on the INDEX file before
generating a new INDEX.
Suggested by: parv <parv_@yahoo.com>
- Make automatic portsdb directory selection in the case of "portsdb
-fu" too.
ports_glob(1):
- -M: Unbreak.
portsdb(3):
- Fix the EXTRA_CATEGORIES support that was broken in recent updates.
PR: ports/35319
Submitted by: Ryan Davis <ryand-bsd@zenspider.com>
pkgtools.conf(5):
- Add a note that a user must run portsdb -Ufu to reflect values of
EXTRA_CATEGORIES and IGNORE_CATEGORIES.
For the victims of the above bug, please run "portsdb -qu" and then
"portupgrade -q portupgrade".
20020225.
- Clarify that portupgrade -O is disregarded if -r or -R is given.
- Reflect the fact that INDEX.rbo no longer exists.
- Document portsdb(1) better regarding PORTS_DBDIR.
- Merge INDEX.rbo into INDEX.db, and remove INDEX.rbo on portsdb
rebuild if it exists.
- Reduce the size of INDEX.db by half. :)
- Introduce PORTS_DBDRIVER and allow specifying a db driver for the
portsdb (INDEX.db), and switch the default portsdb driver from
db1.85 hash to db1.85 btree.
- Fix a bug where it referenced the obsoleted PortsDB::PORTS_DIR.
- Depend on ruby-bdb1 and make bdb1_btree (db 1.85 btree) the default
pkgdb driver/format. This probably fixes the problem where pkgdb is
unexpectedly broken and rebuilt from scratch.
- Support pkgdb driver fallback. (bdb -> bdb1 -> dbm)
- Show the pkgdb driver (format) on updating/rebuilding.
- Reflect environment variables defined in pkgtools.conf properly.
(Now ENV['PORTS_DBDIR'] is reflected properly)
Reported by: Mori Kouji <mori@tri.asanuma.co.jp>
pkg_sort(1), portupgrade(1):
- Sort packages by build-time dependencies in addition to run-time
dependencies. This slightly slows sorting down but offers faultless
upgrading.
Inspired by: ade
portcvsweb(1):
- Accept a pkgname_glob, a portorigin_glob, and a cvs module alias.
portcvsweb bash-1\*
portcvsweb portupgrade
portcvsweb \*/fd
protcvsweb sys/i386/conf
etc. etc...
- Suppress ident(1)'s error message.
- Add -h, -q and -v.
in the last version. For the victims please manually reinstall the
portupgrade port, as always. ;)
Reported by: many users (Sorry!)
Use some logic and keep pkg_add/pkg_delete from complaining about the
@exec/@unexec return codes.
Submitted by: olgeni
pkgdb(1):
- Set the default answer to no when a score is under 80%.
pkgdb(1), portupgrade(1):
- Add a BUGS entry to each of the two man pages to note that a user
must run pkgdb -fu to rebuild a corrupt pkgdb.
pkgdb(3):
- Add a silly workaround against a possible bug of the dbm module to
keep a pkgdb from getting insane and rebuilt.
- [exp.] Add a knob environment variable PKG_DBDRIVER to specify an
alternative binary database format for pkgdb. The available options
are:
"bdb_btree":
DB 3.x/4.x B+tree; requires databases/ruby-bdb.
"bdb_hash" or just "bdb":
DB 3.x/4.x hash; requires databases/ruby-bdb.
"bdb1_btree" or just "btree":
DB 1.85 B+tree; requires databases/ruby-bdb1.
"bdb1_hash", or just "bdb1" or "hash":
DB 1.85 hash; requires databases/ruby-bdb1. This should be
equivalent to the default except some tuning parameters, but
it is quite possible that ruby-bdb1 is stabler than the
standard dbm module included in ruby.
default:
DB 1.85 hash; uses ruby's standard dbm module.
In principle, a B+tree database is faster to store data, a little
bit slower to extract data, and takes more space than a hash
database.
This is still an experimental/undocumented feature only for those
interested, although I don't believe it brings any unstability.
Note that you can always run pkgdb -fu to rebuild a database.
portcvsweb(1):
- Invoke browsers with system() instead of exec() so that it will
properly try every browser in turn - exec('/bin/sh', '-c', '..') may
cause an error within /bin/sh but it never returns.
Reported by: Jimmy Olgeni <olgeni@FreeBSD.org>
portsclean(1):
- Make portsclean -D remove empty directories (recursively) as well.