git: dsynth - Fix bug in pkglist depend scan
Matthew Dillon
dillon at crater.dragonflybsd.org
Thu Dec 26 17:16:43 PST 2019
commit 77ac77e7242075695c853e4c09ba69c320ce390a
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Wed Dec 25 22:14:06 2019 -0800
dsynth - Fix bug in pkglist depend scan
* Fix a bug where the pkglist scan could could end up putting a
flavored packge in the hash table more than once, causing a portion
of the dependency chain to become confused.
This could cause certain build requests to always rebuild some
of the dependencies that were already built. For example, building
graphics/mesa-dri always caused py-sphinx at py37 to be rebuilt.
* The fix is to move the flavor generator out of the backend and
into the frontend. The frontend now detects the generic package
with multiple flavors and generates individual requests to the
backend.
Previously the backend tried to process the flavors itself and
transmit extra records back to the frontend (which the frontend
didn't expect).
This has the added advantage of issuing separate make commands to
retrieve information about each flavor, instead of running just one
and synthesizing (copying it) for each flavor.
* Also add assertions in pkg_enter() to ensure that no duplicates
can slip through in the future.
Reported-by: zrj
Summary of changes:
usr.bin/dsynth/pkglist.c | 234 ++++++++++++++++++++++++++---------------------
1 file changed, 128 insertions(+), 106 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/77ac77e7242075695c853e4c09ba69c320ce390a
--
DragonFly BSD source repository
More information about the Commits
mailing list