#1124: 'make tags' doesn't properly handle symlinks -------------------------------------------+-------------------------------- Reporter: Matt Kinsey <kins@…> | Type: defect Status: new | Priority: minor Milestone: Cactus_4.1.0 | Component: Cactus Version: Cactus_4.0.0 | Keywords: -------------------------------------------+-------------------------------- When generating ctags for the cactus tree, 'make tags' currently ignores all symlinks. This results in a large number of thorns in my cactus tree not getting tagged because GetComponents put them in CACTUS_ROOT/repos and linked to them.
I'm not sure if this is intended but I have a feeling it isn't...
This fixes the problem, but I've only tested it on my checkout:
{{{ matt@krang:~/maya/Cactus$ diff Makefile.backup Makefile 312c312 < find src arrangements ( \ ---
find -L src arrangements \( \
317c317 < # find src arrangements ( -name '*.[cChF]' -o -name '*.F77' -o -name '*.cc') \ ---
# find -L src arrangements ( -name '*.[cChF]' -o -name '*.F77' -o
-name '*.cc') \ 327c327 < find src arrangements ( \ ---
find -L src arrangements \( \
}}}
#1124: 'make tags' doesn't properly handle symlinks --------------------------------------------+------------------------------- Reporter: Matt Kinsey <kins@…> | Owner: Type: defect | Status: review Priority: minor | Milestone: Cactus_4.1.0 Component: Cactus | Version: Cactus_4.0.0 Resolution: | Keywords: --------------------------------------------+------------------------------- Changes (by eschnett):
* status: new => review
Comment:
Thanks. The option -L to find seems to be part of the Posix standard, so it should work on most systems. I suggest to apply the patch.
#1124: 'make tags' doesn't properly handle symlinks --------------------------------------------+------------------------------- Reporter: Matt Kinsey <kins@…> | Owner: Type: defect | Status: reviewed_ok Priority: minor | Milestone: Cactus_4.1.0 Component: Cactus | Version: Cactus_4.0.0 Resolution: | Keywords: --------------------------------------------+------------------------------- Changes (by eschnett):
* status: review => reviewed_ok
#1124: 'make tags' doesn't properly handle symlinks --------------------------------------------+------------------------------- Reporter: Matt Kinsey <kins@…> | Owner: Type: defect | Status: reopened Priority: minor | Milestone: Cactus_4.1.0 Component: Cactus | Version: Cactus_4.0.0 Resolution: | Keywords: --------------------------------------------+------------------------------- Changes (by knarf):
* status: reviewed_ok => reopened
Comment:
This fails on QueenBee:
[knarf@qb4 Cactus]$ find -L src arrangements find: invalid predicate `-L'
#1124: 'make tags' doesn't properly handle symlinks --------------------------------------------+------------------------------- Reporter: Matt Kinsey <kins@…> | Owner: Type: defect | Status: reopened Priority: minor | Milestone: Cactus_4.1.0 Component: Cactus | Version: Cactus_4.0.0 Resolution: | Keywords: --------------------------------------------+-------------------------------
Comment (by rhaas):
hmpf. I was too quick then. It's already applied. I'll revert it I guess.
#1124: 'make tags' doesn't properly handle symlinks --------------------------------------------+------------------------------- Reporter: Matt Kinsey <kins@…> | Owner: Type: defect | Status: reopened Priority: minor | Milestone: Cactus_4.1.0 Component: Cactus | Version: Cactus_4.0.0 Resolution: | Keywords: --------------------------------------------+-------------------------------
Comment (by knarf):
Same on ranger. I suggest to revert to -follow instead of -L. -follow seems to be older. The downside is that -follow is marked being deprecated in newer versions of 'find' and might break there some time in the future. However, until we find a system where this indeed breaks I suggest to use it.
#1124: 'make tags' doesn't properly handle symlinks --------------------------------------------+------------------------------- Reporter: Matt Kinsey <kins@…> | Owner: Type: defect | Status: reopened Priority: minor | Milestone: Cactus_4.1.0 Component: Cactus | Version: Cactus_4.0.0 Resolution: | Keywords: --------------------------------------------+-------------------------------
Comment (by rhaas):
Queenbee's find has a -follow option, which POSIX does not list (http://pubs.opengroup.org/onlinepubs/009695399/utilities/find.html). I'd expect -follow to be GNU option (it's deprecated in newer versions) that might not exist on eg BSD.
#1124: 'make tags' doesn't properly handle symlinks --------------------------------------------+------------------------------- Reporter: Matt Kinsey <kins@…> | Owner: Type: defect | Status: reopened Priority: minor | Milestone: Cactus_4.1.0 Component: Cactus | Version: Cactus_4.0.0 Resolution: | Keywords: --------------------------------------------+-------------------------------
Comment (by eschnett):
Mac OS X (which is close to BSD) offers both -L and -follow.
We can also try both, such as e.g.
{{{ if find -L TAGS >/dev/null 2>&1; then find -L src arrangements ... else find src arrangements -follow ... fi | xargs ... }}}
#1124: 'make tags' doesn't properly handle symlinks --------------------------------------------+------------------------------- Reporter: Matt Kinsey <kins@…> | Owner: Type: defect | Status: closed Priority: minor | Milestone: Cactus_4.1.0 Component: Cactus | Version: Cactus_4.0.0 Resolution: fixed | Keywords: --------------------------------------------+------------------------------- Changes (by eschnett):
* status: reopened => closed * resolution: => fixed
Comment:
Using "find -follow" now.
trac@lists.einsteintoolkit.org