Mostly refactoring... there will be a flag day soon: the new features
of pkg_create are going to be used by bsd.port.mk, and if you don't have
a recent pkg_create, then the -current ports tree will stop producing
packages. You've been warned.

Today, I committed the first actual new feature: tools will now handle
PKG_PATH like ld does the -L option. Specifically, they will stop looking
at the PKG_PATH after the first entry that contains viable candidates.

This is the sane behavior for pkg_add -ui, because you can now specify lots
of repositories of varying age, and no longer have pkg_add -ui ask you tons
of questions because it has detected similar packages in several repositories.

For each package to update, it will only probe into the first repository 
that has likely candidates.


On the tech side, the code is looking more and more object-oriented, which
might be a bit scary for people not familiar with that style. For instance,
searching for stuff now follows a uniform style:
$search = OpenBSD::PkgSpec->new($spec);
@l = OpenBSD::PackageLocator->match($spec);

which works as well for package stems:
$search = OpenBSD::PackageName::Stem->split($pkgname);
$repo = OpenBSD::PackageRepositoryInstalled->new;
@l = $repo->match($search);

This will enable a lot of nice tricks that were very awkward before that...

Reply via email to