* David Sowder (Zothar) <freenet-devl at david.sowder.com> [2006-05-11 
10:29:04]:

> Florent Daigni?re (NextGen$) wrote:
> >* David Sowder (Zothar) <freenet-devl at david.sowder.com> [2006-05-11 
> >00:12:12]:
> >
> >  
> >>David Sowder (Zothar) wrote:
> >>    
> >>>zothar at freenetproject.org wrote:
> >>>      
> >>>>Author: zothar
> >>>>Date: 2006-05-11 04:24:24 +0000 (Thu, 11 May 2006)
> >>>>New Revision: 8652
> >>>>
> >>>>Modified:
> >>>>  trunk/freenet/src/freenet/io/NetworkInterface.java
> >>>>  trunk/freenet/src/freenet/io/comm/Peer.java
> >>>>  trunk/freenet/src/freenet/node/FNPPacketMangler.java
> >>>>  trunk/freenet/src/freenet/node/Node.java
> >>>>  trunk/freenet/src/freenet/node/PeerNode.java
> >>>>Log:
> >>>>When no IP addresses are available for handshake, reset the handshake 
> >>>>timer.  Only do DNS lookups during handshake and store the result.  
> >>>>Explicitly set Java's negative DNS cache TTL.  Factored out the 
> >>>>repeated use of some address lookup methods within a few lines of 
> >>>>each other.  Fixed an NPE caused by trying to call the canGetCipher() 
> >>>>method on a null DHContext.  Added another short-circuit to 
> >>>>getHandshakeIPs().
> >>>> 
> >>>>        
> >>>To whomever is in charge of the FreenetLogBot related auto-builder, 
> >>>the SVN revision of 8652 seems to be properly displayed everywhere but 
> >>>on the running node, which still thinks it's on r8649 (the changes 
> >>>otherwise are in the newly built and downloaded version).  Maybe this 
> >>>problem is related to the Eclipse substitution question (dunno if the 
> >>>auto-builder uses it)?
> >>>      
> >>Ah, this is because the keyword substitution does not change the string 
> >>in Version.java unless Version.java has changed.  To solve the annoyance 
> >>of editing files, perhaps the revision could be made derived during the 
> >>build process.  The OpenTTD folks write a "#include" file for their C++ 
> >>code at build time with the revision and uses that verbatim "in-game".  
> >>They use the following to derive the revision:
> >>
> >>$(shell if test -d .svn; then svnversion . | awk '{ print "r"$$0 }'; fi)
> >>
> >>this has the benefit of working even with local modification (indicated 
> >>by a "M" suffix).
> >>    
> >
> >I don't get your point : why is it a problem that "local" changes aren't
> >displayed ? Don't you know what you are running ? ;)
> >
> >it's eclipse's fault ! last time I did shell scripting to update the
> >Version file, people complained : "it's not portable, doesn't work with
> >eclipse's auto-build" ...
> >
> >what's your proposal ? the shell thingy ? won't work on windows :)
> >  
> Bottom line: the SVN revision number displayed by a running node does 
> not match the SVN revision number of the code used to build the running 
> node (assume no local changes for simplicity).
> 
> This seems to be caused by Version.java's keyword substitution not 
> reflecting the most recent SVN revision number but rather the SVN 
> revision number of the last change to Version.java.
> 
> I thought of the shell problem on Windows after I sent the message, 
> though it's apparently a handled problem for the OpenTTD folks (they're 
> not using Eclipse).  Perhaps there's a way to pass it as an argument to 
> Eclipse's auto-build?
> 
> I don't know what FreenetLogBot's reported builds are being built with, 
> but it it's the ant tool in a POSIX/unix environment, I think using the 
> shell snippet above would be an improvement.  Those who don't have that 
> capability may be more familiar with their tools than we are and solve 
> the problem with their toolset (such as I suspect the OpenTTD folks have 
> done for their non-Cygwin build environments (though C, not C++ as I 
> first remembered)).  The shell snippet grabs the revision number, so if 
> that's available elsewhere, it's not needed.  In OpenTTD's case, the 
> result is used to create a rec.c file from the Makefile.  The rev.c file 
> contains a few strings that are declared extern by all the other files 
> that care.  The Java analog may be more involved; I don't know Java well 
> enough to suggest something directly other than a Revision.java file 
> being fully created by the build process and containing a full class, etc.
> 
> I just think the current situation either needs to be improved or it's 
> not going to be able to achieve it's goal as I understood it to be 
> intended when it was discussed on IRC over the weekend, IIRC.
> 

Fixed/done : should work now.

NextGen$
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20060511/34dbfbe8/attachment.pgp>

Reply via email to