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

Reply via email to