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:

> doozer# pkg_info | grep graphviz
> graphviz-12.2.1nb7  Graph Drawing Programs from AT&T Research and Lucent Bell Labs
> doozer# make replace
> => Bootstrap dependency digest>=20211023: found digest-20220214
> ===> replace-message [graphviz-14.1.3] ===> Replacing for graphviz-14.1.3
> ===> replace-destdir [graphviz-14.1.3] ===> Updating using binary package of graphviz-14.1.3
> /usr/bin/env  /usr/local/sbin/pkg_add -K /usr/local/pkgdb -U -D /usr/pkgsrc/graphics/graphviz/work/.packages/graphviz-14.1.3.tgz
> pkg_add: graphviz-14.1.3: missing required library: /usr/local/lib/libcdt.so.5
> pkg_add: graphviz-14.1.3: missing required library: /usr/local/lib/libcgraph.so.6
> pkg_add: 1 package addition failed
> *** Error code 1
>
> Stop.
> make[2]: stopped making "su-replace" in /usr/pkgsrc/graphics/graphviz
> *** Error code 1
>
> Stop.
> make[1]: stopped making "replace" in /usr/pkgsrc/graphics/graphviz
> *** Error code 1
>
> Stop.
> make: stopped making "replace" in /usr/pkgsrc/graphics/graphviz
> doozer# pkg_info | grep graphviz
>
> (shows nothing, as in no graphviz package installed)
>
> I suppose this is because the new package is built just fine, but
> "make replace" fails during the attempt to install the newly built
> package, after the old one is already removed.

I believe your analysis is correct.   Sorry, didn't grasp this earlier.


Ideally:

  a) pkg_add would be transactional and would always exit with either old
  or new

  b) more realistically, all the intentional checks would be run before
  removing the old.  It it entirely knowable that the libraries check
  will fail before removing but it's harder.

I see this as a pkg_add bug.  I had forgotten about it -- I thought it
was a bug when this check was added (such that it can leave one with no
package).


Home | Main Index | Thread Index | Old Index