Community
Participate
Working Groups
Often when a committer is building remotely, they can specify some "overrides" in a file named maptasks.properties in the ${BUILD_HOME}/localBuildProperties. For cvs checkout from map files, this allows them to use their committer id, and ext protocol for "most accurate" checkout of cvs source. (Without doing that, there is sometimes a delay of a few minutes in remote pserver requests getting the exact contents of cvs, since there is a type of "mirroring" of cvs for purposed of remote cvs access under the pserver protocol). But, also, on the production machine, the map files are re-written to use :local: for fast file access (since, build and cvs are all on the same file system, essentially). And, it appears, someone (i.e. me) used a "short cut" to assume if reriteMapsLine was not specified, then we must be on production machine, so :local: should be used. But, of course, this is not normally true, for average use case of someone just checking out our builder and trying to build themselves. So, pretty bad assumption. The work-around is easy enough, just provide the (redundant) value to use for checking out source in a file named maptasks.properties in ${BUILD_HOME}/localBuildProperties rewriteMapsLine=:pserver:anonymous@dev.eclipse.org: rewriteMapsLineEscaped=\:pserver\:anonymous@dev.eclipse.org\:
I should add, the error message received, when in this situation (when workaround not used) is pretty vague. There's an error similar to [cvs] cvs [export aborted]: /cvsroot/webtools/CVSROOT: No such file or directory (which of course, is trying to say, there's no such file or directory on local file system ... which is pretty hard to interpret).
There's some "easy" ways to fix this ... just don't assume ":local:" automatically, but do something like "check to see if we are running on build.eclipse.org". This "easy fix" was not used originally, since we've tried to develop scripts so that "they always work" for build.eclipse.org with a simple checkout from cvs (no special property values required on build system, or anything). So, not sure how to fix without coding in some knowledge of "building on eclipse infrastructure" and at the same time, not requiring remote, anonymous users to have to specify this counter intuitive property for their own build.