every run, which also makes portversion(1) works for non-root users
again. This is done by simply having the flag file in /var/db/
(thanks to pav for the suggestion).
- While here anyway, fix some make warnings during install on FreeBSD 6.
PR: ports/81088
Reported by: many
Tested by: Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp>
Approved by: erwin (mentor)
portsdb(1):
- Add a -F flag, which calls make fetchindex internally to
update the ports index file.
portupgrade(1):
- Make -fP properly reinstall an installed package using a binary
package.
- Do not use a binary package when custom MAKE_ARGS or -m option is
defined, unless -PP is specified.
portsclean(1):
- -L: Make sure that a library does not shadow itself.
misc.:
- RcNG'ify the startup script.
- Do not use Object#class which is obsolete in Ruby >=1.8.
error when such configuration variable as MAKE_ARGS, typically
BEFORE_DEINSTALL is not defined.
Reported by: krion, Tsurutani Naoki <turutani@scphys.kyoto-u.ac.jp>
portupgrade:
- Make -PP/--use-packages-only work better, just as I originally
intended. Now packages are correctly identified using
pkg_info(1), "LATEST_LINK" files are also properly detected.
Related informational messages have also been improved.
It turned out that the LATEST_LINK/NO_LATEST_LINK detection was
broken long ago and hasn't been working for long.
pkg_fetch(1):
- Properly rename a "latest link" file with a full package name with
version part.
pkgtools.conf(5):
- Improve and unify the method for pattern matching in MAKE_ARGS,
BEFOREBUILD, BEFOREDEINSTALL and AFTERINSTALL variables.
This should fix some cases where it looks like MAKE_ARGS entries
are ignored.
overall:
- Update Copyright years.
- Apply massive message improvement. (I hope..)
pkgtools.conf(5):
- pkg_site_mirror(): Use pointyhat.FreeBSD.org instead of bento and
beta.
portupgrade(1):
- Indicate some pieces of information on what is going on in the
process title.
portversion(1):
- Make a generated script (with -c) accept additional arguments for
portupgrade(1).
- Ignore padded 0's in version comparison.
This fixes a bug 2.00 being wrongly regarded as equal to 2.0.2.
- Show a summary of how many packages were upgraded, ignored, skipped
and failed after listing results.
Requested by: netchild
portsdb(1)
- Follow ports intrastructure changes wrt build-time dependency --
now portsdb -U properly picks EXTRACT_DEPENDS so they appear build-time
dependency. (Thanks to schweikh)
misc.
- Fix typos in documentation. I seem to be unable to spell "pacakge"
correctly, being a portmgr. Or was it "pakcage" ? Anyway, it was
fortunate that I wasn't a packge manager.
- If pkg_* is found in $PREFIX/sbin, use them instead of ones in
/usr/sbin. (regardless of the value of PATH)
- pkg_fetch(1): Some servers like bento transfer packages files
uncompressed, so add a workaround for this. They are automatically
recompressed.
- Get -q to work properly again.
- As the MOVED file is getting bigger and bigger, do not cache all the
entries in memory but look it up every time needed.
- Show how to specify multiple arguments in one MAKE_ARG entry.
FreeBSD PR: ports/54631
Submitted by: Bruce M Simpson <bms@spc.org>
portsdb(1):
- COMMENTFILE is deprecated. Weird. I thought I committed these
changes long long ago.
Submitted by: Jean-Yves Lefort <jylefort@brutele.be>.
portupgrade(1):
- -A/-B: Remove ;'s and spaces at the beginning of each command line
to stop sh(1) from issuing a syntax error.
- -A/-B: Omit running null commands.
- Run AFTERINSTALL commands after restoring a failed upgrade also.
- Fix a run time error caused by any?.
pkgtools.conf(5):
- Introduce BEFOREDEINSTALL.
- Deprecate rc_file() and rc_files(), and provide
enabled_rc_scripts() and disabled_rc_scripts() instead.
- Provide cmd_start_rc(), cmd_stop_rc(), and cmd_enable_rc() in
addition to cmd_restart_rc() and cmd_disable_rc().
- Update examples.
pkg_deinstall(1):
- Run BEFOREDEINSTALL commands before deinstalling a package.
pkgdb(1):
- Add a missing comma and unbreak the cyclic dependency
fixer.
Submitted by: ITO Tsuyoshi <tsuyoshi@is.s.u-tokyo.ac.jp>
portupgrade(1):
- Update man page. Running pkgdb -F is no longer mandatory unless so
directed by the pkgtools.
portupgrade(1):
- Improve the packages support: When installing a binary package,
automatically detect and install ports/packages it depends on.
portsdb(1):
- Replace COMMENT with COMMENTFILE.
Submitted by: Jean-Yves Lefort <jylefort@brutele.be>
pkgdb(1):
- Treat bsdpan-* packages specially; set their origins to those of
p5-* where possible.
Requested by: nik
- Fix a minor problem with modifying the origin information of a
package where it has no origin line.
pkgtools.conf(5):
- Make MAKE_ARGS more intelligent so installed pkgnames such as
'ruby18-*' => 'RUBY_VER=1.8' is understood.
- Chase the bento site hierarchy change.
- Update some of the examples.
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.