still let "pkg_add foo" work:
setenv PKG_PATH /usr/upkgsrc/packages/All
pkg_add -v kde2
Depending pkgs will be pulled in as usual.
If PKG_PATH contains a mixture of local paths and ftp://-URLs, the local
paths will be searched first.
Patch provided by Hubert.
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.
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" !!!
as this will remove things like trailing '}' etc. and doesn't work in general.
As mentioned in the already-existing comment, doing TRT here would mean to
partly expand the pattern, then replace the versions on alternatives.
Unless our pkg pattern parser gets these hooks, cowardly step back.
which needed to be set at compile time but weren't (to handle the case where
TAR_CMD was set to something other than "tar", eg "gtar". In addition to
the constants being wrong, the wrong directory name was being examined for
its string length.
Add a few comments to hopefully avoid having this problem come back.
Handling all kinds of wildcards properly would be hard, though it should
handle some cases better now. Esp. ones with '-' in the pkg(!) name, and/or
ones with dewer relational versions. I.e. the teTeX-share>1.97 case should
work now.
after a "-" with the "more liberal pattern", but also anything after
any pkg wildcard.
That way if someone has teTeX-share-1.0 installed and pkg_adds
teTeX-1.0.7 (which wants teTeX-share>1.0.2), it will be caught.
XXX This "quick depends pre-check" would be nice to be done in
bsd.pkg.mk as well
dependencies if they _can_ be installed. I.e. if a package wants
version X installed, but version Y is already installed, pkg_adding
that required pkg will blow up later (probably some pkg_add recursions
down, given what we keep in the depends list). Now, it stopps right
away:
noon# pkg_add /usr/pkgsrc/packages/i386ELF/All/xdaemon-1.0.tgz
pkg_add: pkg `xteddy-1.*' required, but `xteddy-2.0.1' found installed.
Please resolve this conflict!
The idea of this is from Thomas Klausner, further inputs from Alistair
Crooks.
* allow pkg names without versions given to "pkg_admin check"
* Use sizeof() instead of hardcoding the buffers' size in some places
Modulo some code cleanup, this gives NetBSD full wildcard support not
only in pkgsrc, but esp. for binary packages installed from local disk
and via FTP. For more information, see:
http://www.feyrer.de/NetBSD/wildcards.html
- Minor re-indenting
- Fix printing of @ignore in pkg_info (did this ever work?)
- Fix installing of local wildcard dependencies (unused in main system)
- Fix deleting of packages that depend on wildcard dependencies
(fexist() is not enough there :-)
URLs, and an access function (URLlength) - saves having various
hardcoded strings all over the place. Delete isURL, and use URLlength
in its place. Also use URLlength when parsing a filename for host
and filename part.
invoked for (FTP) URLs, this was just a matter of recognizing HTTP URLs
in the places where FTP URLs were recognized (and updating a comment and
the manual page).