Opened 2 years ago

Closed 2 years ago

#64240 closed defect (duplicate)

graphviz-devel @2.50.0, or port, creates one sym-link too many on macOS High Sierra, version 10.12.6

Reported by: ballapete (Peter "Pete" Dyballa) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.7.1
Keywords: highsierra Cc: mascguy (Christopher Nielsen)
Port: graphviz-devel

Description

At the end of upgrading the outdated ports:

--->  Updating database of binaries
DEBUG: Updating binary flag for file 1 of 1: /opt/local/share/man/man1/dot2gxl.1
--->  Scanning binaries for linking errors

But:

pete 124 /\  l /opt/local/share/man/man1/dot2gxl.1
lrwxr-xr-x  1 root  wheel  8 18 Dez 11:38 /opt/local/share/man/man1/dot2gxl.1 -> gv2gxl.1
pete 125 /\ l -L /opt/local/share/man/man1/dot2gxl.1
lrwxr-xr-x  1 root  wheel  8 18 Dez 11:38 /opt/local/share/man/man1/dot2gxl.1 -> gv2gxl.1
ls: dot2gxl.1: No such file or directory
Exit 1

And but again:

lrwxr-xr-x  1 root  wheel   8 18 Dez 11:38 /opt/local/share/man/man1/dot2gxl.1 -> gv2gxl.1
lrwxr-xr-x  1 root  wheel  11 11 Jan  2019 /opt/local/share/man/man1/dot2gxl.1.gz -> gxl2gv.1.gz
pete 128 /\ l -L /opt/local/share/man/man1/dot2gxl.1*
lrwxr-xr-x  1 root  wheel     8 18 Dez 11:38 /opt/local/share/man/man1/dot2gxl.1 -> gv2gxl.1
-r--r--r--  1 root  wheel  1082 18 Dez 11:38 /opt/local/share/man/man1/dot2gxl.1.gz
ls: dot2gxl.1: No such file or directory
Exit 1

Is Makefile incorrectly set up?

root 722 /\ find root 723 /\ find /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_graphics_graphviz-devel/graphviz-devel/work -type f -exec grep -n dot2gxl.1 {} /dev/null \;
…/graphviz-devel/work/graphviz-2.50.0/cmd/tools/Makefile:1551:	(cd $(DESTDIR)$(man1dir); rm -f dot2gxl.1; $(LN_S) gv2gxl.1 dot2gxl.1;)
…/graphviz-devel/work/graphviz-2.50.0/cmd/tools/Makefile.am:51:	(cd $(DESTDIR)$(man1dir); rm -f dot2gxl.1; $(LN_S) gv2gxl.1 dot2gxl.1;)
…/graphviz-devel/work/graphviz-2.50.0/cmd/tools/Makefile.in:1551:	(cd $(DESTDIR)$(man1dir); rm -f dot2gxl.1; $(LN_S) gv2gxl.1 dot2gxl.1;)

The mentioned Makefiles do not reference dot2gxl.1.gz. Compressing all manual files seems to be a speciality of port

Change History (3)

comment:1 Changed 2 years ago by ballapete (Peter "Pete" Dyballa)

On PC Tiger, Mac OS X 10.4.11, I see:

DEBUG: deactivating file: /opt/local/share/man/man1/dotty.1.gz
DEBUG: deactivating link: /opt/local/share/man/man1/dot2gxl.1
DEBUG: deactivating file: /opt/local/share/man/man1/dot.1.gz

and then

x ./opt/local/share/man/man1/dot.1.gz
x ./opt/local/share/man/man1/dot2gxl.1
x ./opt/local/share/man/man1/dotty.1.gz

followed by

DEBUG: activating file: /opt/local/share/man/man1/dot.1.gz
DEBUG: activating file: /opt/local/share/man/man1/dot2gxl.1
DEBUG: activating file: /opt/local/share/man/man1/dotty.1.gz

which results on disk in:

pete 242 /\ l /opt/local/share/man/man1/dot2gxl.1
lrwxr-xr-x 1 root admin 8 18. Dez 14:54 /opt/local/share/man/man1/dot2gxl.1 -> gv2gxl.1
pete 243 /\ l -L /opt/local/share/man/man1/dot2gxl.1
gls: Zugriff auf '/opt/local/share/man/man1/dot2gxl.1' nicht möglich: No such file or directory
Exit 2
pete 244 /\ l -L /opt/local/share/man/man1/dot2gxl.1*
gls: Zugriff auf '/opt/local/share/man/man1/dot2gxl.1' nicht möglich: No such file or directory
Exit 2
pete 245 /\ l /opt/local/share/man/man1/dot2gxl.1*
lrwxr-xr-x 1 root admin 8 18. Dez 14:54 /opt/local/share/man/man1/dot2gxl.1 -> gv2gxl.1

On High Sierra a working sym-link and a completely defunct sym-link are created while the binary archive for Tiger contains only the defunct sym-link.

comment:2 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: mascguy added; ryandesign@… mascguy@… removed
Owner: set to ryandesign
Status: newaccepted

The Makefile is correct but it sets up a manpage symlink that points to another manpage symlink which is a scenario MacPorts base does not accommodate correctly.

The difference you observe between Tiger and High Sierra is likely down to the difference in the order in which readdir returns entries on HFS+ and APFS volumes.

comment:3 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: duplicate
Status: acceptedclosed

Duplicate of #61288.

Note: See TracTickets for help on using tickets.