|
|
Flag day: sccscheck, take twoDate: Fri, 28 Apr 2006 18:51:36 -0400 From: Bill Sommerfeld <sommerfeld at sun.com> To: on-all at sun dot com, onnv-gate at onnv dot eng dot sun dot com Subject: Flag day: sccscheck, take two The integration of 6418599 absolute tools path for "sccscheck" breaks builds when you mix ws with nightly -t constitutes a minor flag day for incremental builds of ON. When crossing this flag day, incremental builds will see a one-time flood of "sccscheck" invocations for read-only source files -- for instance: ... sccscheck arp.h sccscheck common.h sccscheck ipclassifier.h sccscheck ip.h ... However, if there are checked-out source files, builds will fail with an error message resembling: dmake: Fatal error: ../../common/inet/ip/ip_rts.c is writable so it cannot be sccs gotten As mentioned in a previous flag day notice, there are several ways around this: - A full clobber build via nightly, which will delete .make.state files. - Check the file in and run a full or selective incremental build. - Selective "make clobber" and deletion of ".make.state" files in any build directories referencing the source file. Once you are across this flag day you can resume incremental builds with checked out source files. In addition, the integration of 6417313 *bringovercheck* needs better timestamp resolution is able to detect additional cases where source files are out of date with respect to their SCCS/s. files, so you may see some additional post-bringover noise on the first bringovercheck with the new tool version. I apologize to the entire ON development community for wasting their time by getting this wrong last time. Background ========== The "sccscheck" integration changed the make rule for sccs checkout from "sccs get" to a command which includes a pathname dependant on ONBLD_TOOLS. Normally we prefer to use absolute pathnames for tools, but because ONBLD_TOOLS will change between a build done with -t and a shell started with "ws", and because make special-cases the SCCS checkout rules to prevent them from accidentally clobbering a checked-out file, use of the absolute pathname for sccscheck caused substantially more disruption than anticipated. This instability of ONBLD_TOOLS is not without other costs - see 6417873 ws should use locally-built ONBLD_TOOLS The introduction of "sccscheck" converts unnecessary rebuilds into build failures. |