Looks good for me. -Dmitry
On 2013-01-30 21:39, Tim Bell wrote: > Second round of this change: > > http://cr.openjdk.java.net/~tbell/8006933/01/ > > In response to feedback raised on this thread: > > David wrote: > >> Do we fix the old build in the corba repo too? > > No, the old build does not generate accurate dependencies in this area, > so there is nothing similar to fix - the old corba build is all or nothing. > >> Can we also fix the fact that the failure doesn't cause make to detect >> the error? I think that is caused by the whole thing being executed in a >> sub-shell. > > I tried without success (many ways) to trap the error from the original > /usr/bin/awk. Given that we are using nawk after this change, I'd like > to move on. > > Dmitry wrote: > >> It might be better to remove AWK completely >> >> $(FIND) . -type f | sed 's!\./!$3 : $4/!g' > $5 > > Good idea, but I was not able to implement it because sed does not > support captures, and the expression suggested above would drop part of > the string. > > Let me give an example: > > If the output of the find is ./org/omg/CORBA/StringSeqHolder.java > > $3 is /tmp/jdk8/build/solaris-x86-normal-server-release/corba/gensrc/ > > $4 is > /tmp/jdk8/corba/src/share/classes/org/omg/PortableInterceptor/CORBAX.idl > > $(SED) 's!\./!$3 : $4/!g' would generate: > > /tmp/jdk8/build/solaris-x86-normal-server-release/corba/gensrc/ : > /tmp/jdk8/corba/src/share/classes/org/omg/PortableInterceptor/CORBAX.idl > > (losing the /org/omg/CORBA/StringSeqHolder.java substring) > > $(SED) 's!\./!$3/!g' | $(NAWK) '{ print $$$$1 ": $4" }' would generate > what we want: > > /tmp/jdk8/build/solaris-x86-normal-server-release/corba/gensrc/org/omg/CORBA/StringSeqHolder.java: > /tmp/jdk8/corba/src/share/classes/org/omg/PortableInterceptor/CORBAX.idl > > > (and you can see why the length of the strings becomes a problem for the > old Solaris awk which predates the Posix standard) > > >> or ever >> >> find . -type f -printf "$3%s : $4\n" > > Another good suggestion, but not all versions of find support printf > (MacOS, and /usr/bin/find on Solaris). It would be possible to use > /usr/bin/gfind on Solaris, but I don't know of a solution on the Mac. > > > Tim > >> On 01/28/13 02:42, Erik Joelsson wrote: >>> The fix looks good to me. What strikes me most is the use of "sed" >>> instead of $(SED) on the same line. >>> >>> /Erik >>> >>> On 2013-01-25 11:36, Tim Bell wrote: >>>> Here is the bug report: >>>> http://bugs.sun.com/view_bug.do?bug_id=8006933 >>>> >>>> Use nawk instead of awk to avoid "awk: string too long near line 1" >>>> errors when running idlj in corba. For new 'build-infra' style >>>> builds, this needs to be fixed in common/makefiles/IdlCompilation.gmk >>>> >>>> The errors are seen if the path to the build directory in the source >>>> tree is too long, greater than ~92. >>>> >>>> http://cr.openjdk.java.net/~tbell/8006933/00/ >>>> >>>> Thanks in advance for any feedback. >>>> >>>> Tim -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * Give Rabbit time, and he'll always get the answer