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 should. - 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.