CVSROOT: /cvs Module name: src Changes by: es...@cvs.openbsd.org 2018/06/15 04:28:21
Modified files: usr.sbin/pkg_add/OpenBSD: Dependencies.pm Log message: fix for the infamous "cups" bug. Finally. the problem was in solve_wantlibs, which is invoked fairly early in the game (before actually committing to install the set) and which would walk the "current" dependency tree and solve libs accordingly. The problem being that sometimes, the libraries were in an older set... so the fix is to do the dependency adjustment at this point as well, to properly peek in the new set. The main problem with that bug was how hard it was to reproduce, because it depends on several conditions: - the old and new package must have different names, but contain some shared libraries with the same version. - it has to be an UpdateSet with several packages tied together - reaching the library must be possible through several paths. This usually happens after several sets got merged together. - taking the wrong path is dependent on the hash key order of the dependencies, which is random.