When invoked with 'pkg_add -u ...', and the package to be installed is
found already being installed, the old (installed) package is removed
with pkg_delete, and the new one is installed.
A very crude handling of dependencies is done (by moving the +REQUIRED_BY
file aside before pkg_delete, and back into place after the new pkg is
installed).
This needs a lot more work to TRT, but it's a first start.
Patch by Hubert Feyrer.
Note: REQ support has been taken out of bsd.pkg.mk in v1.628; since
pkg_create still supports it, we should support it in pkg_info too,
though.
* user lowercase "usage"
* do not use __progname/getprogname() to make this build on old systems
(the pkg_install pkg is intended to run on 1.4 and maybe 1.3 too...)
When the bzip-pkg handling was introduced, a dewey pattern (foo>1) may get
a character-class-pattern attached (.t[bg]z), and the code was not prepared
to match that. I've special-cased handling of character-class pkg suffixes
for ".t[bg]z", and when scanning a dir in findmatchingname() now both the
'first' part of the pattern (e.g. "foo>1") and the suffix (e.g. ".t[bg]z")
must match the file, hence the two pmatch() calls.
* findbestmatchingname_fn():
Caught a case where ".t[bg]z" was not properly handled. Must do the same
suffix-processing again here!
Fixes PR 11856 by Dan McMahill <mcmahill@mit.edu>
pkg_info
* In pkg_create, compress with bzip2 if a .tbz suffix is given
* Fix pkg_info to work via ftp, either via URL specified on command line
or via one made up from PKG_PATH (if set)
XXX ALWAYS tacks on ".t[bg]z", NOT ".t[gb]z" !!!
The FTP coprocess formerly wrote the output of the "get | tar vxf -" pipe
to stderr, which resulted in no output to the feedback pipe (stdout), and
thus the timeout was not updated for any line printed by the "tar" process.
This was now changed to also feed back the chars to the expect() routine,
updating the timeout handler. The "also" part is implemented by passing
the output through "tee /dev/stderr".
At least NetBSD and Solaris have this, so no problem there.
Thanks to Frank van der Linden for helping me to debug this.
- keep the case consistent between the actual name and what's referenced.
e.g, if it's `foo', don't use '.Nm Foo' at the start of a sentence.
- remove unnecessary `.Nm foo' after the first occurrence (except for
using `.Nm ""' if there's stuff following, or for the 2nd and so on
occurrences in a SYNOPSIS
- use Sx, Ic, Li, Em, Sq, and Xr as appropriate