tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: graphics/graphviz is broken



John Klos <john%klos.com@localhost> 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.



Home | Main Index | Thread Index | Old Index