Re: graphics/graphviz is broken

Greg Troxel <[email protected]> Fri, 20 Mar 2026 13:20:56 -0400
Newsgroups gmane.os.netbsd.devel.packages
Message-ID <[email protected]>
John Klos <[email protected]> writes:

> I was wrong about graphviz not being installed, because I checked on
> three other machines after that first email, and version 12 was in
> those.
>
> This is reproducible, assuming you have the older version of graphviz:
>
> pkg_add /usr/pkgsrc/packages/All/graphviz-12.2.1nb7.tgz
> cd /usr/pkgsrc/graphics/graphviz
> make replace

So something in the graphiz build is incorrectly (upstream and pkgsrc
together) seeing content in /usr/pkg and changing the build output.
This is pretty common - I just ran into it in gimp 3.2 and glib2
etc. have this problem.

> This works, after the failure:
>
> pkg_delete -f graphviz (should already be gone as part of make replace)
> make clean install

No, replace does not delete the package. It builds a new package and
then calls pkg_add -U -u, and pkg_add does remove/install in one
operation (assuming no crash in between).  If the new package does not
get built ok, then pkg_add -u is not called, and the old package
remains.  This is definitely a feature, and why make replace is way
better than make update.  (On the other hand, make update might remove
first and avoid more of these /usr/pkg-leak-into-build bugs.)

> Separately, "make replace" when the package isn't already installed gives:
>
> => Creating binary package /usr/pkgsrc/packages/All/graphviz-14.1.3.tgz
> ===> replace-message [graphviz-14.1.3] ===> Replacing for graphviz-14.1.3
> *** Error code 1

That's a feature :-).  You can't replace when the old version was
missing.   You can package-install instead.