Hi,

the changes to the pkg tools and ports infrastructure, while really great, introduced possibly unintended side-effects. Running "pkg_add -F update -F updatedepends -u", which I have been using for a long time to upgrade packages without problems, no longer stops if an installed package cannot be updated because of either ambiguities or missing packages (at least '-F alwaysupdate' appears to be permanently in effect.)

I used to assume that when using -F update, -F updatedepends, and -u, I need to trust that @exec/@unexec + (DE)INSTALL work as intended while being able to ensure that updates are only performed when my packages repository is "clean", and that any running update will be complete in the end (note that I do take care for -F updatedepends to be safe.)

Another thing I noticed is that packages record more indirect dependencies than before (or something like that.) Without looking at the code, it appears like so:

A, B and C are packages. They depend on each other, and only package A has a WANTLIB=something_that_changed_between_4.1_and_-current_in_base. A does not LIB_DEPENDS on, nor WANTLIBs anything from C: C-1 <-- B <-- A

C-1 is updated to C-2 in ports, and to please the output of out-of-date, I build C-2, upgrade C-1 to C-2, rebuild B and upgrade it as well. The A packages has seen a rebuild after that some day, due to some WANTLIB changes in base. The important point is that A used to not care about the upgrade of C-1 to C-2.

When I then upgraded my laptop to -current around Hackathon times, I observed new behavior. During pkg_add -u, upgrades of the packages were queued as "A, C, B", as usual. However, during the actual upgrade, upgrading A failed because of a plist-related error/warning (sorry, I don't remember the actual wording) - it couldn't read the plist of C-2, which hadn't been upgraded, yet. Then, C and B were upgraded and after rerunning pkg_add -u, A was upgraded as well. AFAIK this is new behavior has something to do with the new make-plists-on-the-fly feature. Is this intended, i.e. necessary?

In any case, this is just some feedback on what I've been seeing recently, and I hope it is useful.


Thanks for the great work,

Moritz

Reply via email to