JDK-6685160 : fix cscope build with hg
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: hs12
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2008-04-07
  • Updated: 2012-10-08
  • Resolved: 2008-05-21
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7 Other
6u14Fixed 7Fixed hs13Fixed
Description
Since the transition to hg, cscope has stopped building because it
used teamware's nametable. This change makes it work with hg.

Comments
SUGGESTED FIX repo: /net/jano2/export2/hotspot/hg/hotspot-gc.clean changeset: 86:7747916a0945 user: ysr date: Tue Apr 08 12:10:35 2008 -0700 description: 6685160: fix cscope build with hg Summary: Use hg's fstatus instead of teamware's nametable to trigger cscope database rebuild Reviewed-by: jcoomes, kamg files: build/linux/makefiles/cscope.make build/solaris/makefiles/cscope.make
11-04-2008

EVALUATION See suggested fix section.
07-04-2008

SUGGESTED FIX Identical changes to the solaris and linux cscope.make files; here are the git-style diffs: diff --git a/build/linux/makefiles/cscope.make b/build/linux/makefiles/cscope.make --- a/build/linux/makefiles/cscope.make +++ b/build/linux/makefiles/cscope.make @@ -38,6 +38,7 @@ include $(GAMMADIR)/make/scm.make NAWK = awk RM = rm -f +HG = hg CS_TOP = ../.. CSDIRS = $(CS_TOP)/src $(CS_TOP)/build @@ -140,13 +141,17 @@ TAGS.clean: nametable.clean # .nametable.files and .nametable.files.tmp are used to determine if any files # were added to/deleted from/renamed in the workspace. If not, then there's -# normally no need to run find. To force a 'find': gmake nametable.clean. +# normally no need to rebuild the cscope database. To force a rebuild of +# the cscope database: gmake nametable.clean. .nametable.files: .nametable.files.tmp - cmp -s $@ $< || cp $< $@ + ( cmp -s $@ $< ) || ( cp $< $@ ) + -$(RM) $< -.nametable.files.tmp: $(CS_TOP)/Codemgr_wsdata/nametable - $(NAWK) \ - '{ if (sub("( [a-z0-9]{2,8}){4}$$", "")) print $$0; }' $< > $@ +# `hg status' is slightly faster than `hg fstatus'. Both are +# quite a bit slower on an NFS mounted file system, so this is +# really geared towards repos on local file systems. +.nametable.files.tmp: + -$(HG) fstatus -acmn > $@ nametable.clean: -$(RM) .nametable.files .nametable.files.tmp diff --git a/build/solaris/makefiles/cscope.make b/build/solaris/makefiles/cscope.make --- a/build/solaris/makefiles/cscope.make +++ b/build/solaris/makefiles/cscope.make @@ -38,6 +38,7 @@ include $(GAMMADIR)/make/scm.make NAWK = /usr/xpg4/bin/awk RM = rm -f +HG = hg CS_TOP = ../.. CSDIRS = $(CS_TOP)/src $(CS_TOP)/build @@ -141,13 +142,17 @@ TAGS.clean: nametable.clean # .nametable.files and .nametable.files.tmp are used to determine if any files # were added to/deleted from/renamed in the workspace. If not, then there's -# normally no need to run find. To force a 'find': gmake nametable.clean. +# normally no need to rebuild the cscope database. To force a rebuild of +# the cscope database: gmake nametable.clean. .nametable.files: .nametable.files.tmp - cmp -s $@ $< || cp $< $@ + ( cmp -s $@ $< ) || ( cp $< $@ ) + -$(RM) $< -.nametable.files.tmp: $(CS_TOP)/Codemgr_wsdata/nametable - $(NAWK) \ - '{ if (sub("( [a-z0-9]{2,8}){4}$$", "")) print $$0; }' $< > $@ +# `hg status' is slightly faster than `hg fstatus'. Both are +# quite a bit slower on an NFS mounted file system, so this is +# really geared towards repos on local file systems. +.nametable.files.tmp: + -$(HG) fstatus -acmn > $@ nametable.clean: -$(RM) .nametable.files .nametable.files.tmp
07-04-2008