Lots of commits over the past two weeks, loads of refactorings. Some
user-visible changes as well.
- in case pkg_add cannot find libraries, it's much more specific now.
It will tell you if it found libraries that looks vaguely like what
it was looking for, and where, so that you can figure out where the
dependency chain broke.
- some error scenarios work better. If you do a ^C in a middle of a
package install, the partial package that results shouldn't warn during
removal (especially visible on manpages recorded as a temporary names,
which used to trigger warnings from makewhatis).
- shared library handling while doing package replacement is much more
general: full information gets copied to .libs-* packages. Also,
multiple replacements involving the same libraries should now work
flawlessly, you should even be able to go back. The old scenario
where you did pkg-1.0 -> pkg-2.0 + .libs-pkg-1.0, and then couldn't
go back to pkg-1.0, will now finish in -> pkg-1.0 + .libs-pkg-2.0, as it
- new functionality: pkg_add should now record `manual installations' as
opposed to automatic dependency installation (option -a of pkg_add).
Anything you install explicitly is recorded with an
@option manual-installation. Dependencies do not have that tag.
You can later tweak individual installed packages if you want to.
Eventually, when that information is correct, you'll be able to check
through pkg_info the set of dependencies that are not needed by anything,
and you'll be able to remove them.
- numerous message fixes. pkg_delete now has more consistent -v settings.
External commands like ldconfig and mkfontdir now show up consistently
in -vv mode.
- https: urls are recognized, and should hopefully work correctly now.
- pkg_add now has the same checks that pkg_create has, and will refuse
to install packages with fishy file modes.
There are still some ongoing changes... like tweaks to adjust better to
font handling schemes in xenocara; auto-formatting of manpages; digital
signatures; better accuracy when updating stuff; faster lookups of package
names through PKG_PATH (basically, record locations as soon as we can, and
not look for the package around); uniform package urls in all commands
(still some way off); better tracking of dependencies (adjusting dependencies
for stuff already installed, AND for stuff in-progress, not yet installed);
better handling of interrupts (being able to interrupt pkg_add more often),
and n-to-n simultaneous updates.