Hok's merge
Assisting with Hok's merging of his FX -> 2.4 stuff.
" />
« January 2004 | Main | March 2004 »
Assisting with Hok's merging of his FX -> 2.4 stuff.
Lots of merging and building with 2 releases today. Still working through problems with us_2340 <-> china_2340 merging. Had to merge flmFiles.h from 2.3 -> us_2340 to pick up some definintions. Also had to build mksf.exe because some changes were coming from China and some from here at the same time. Merging the .exe is not possible in such situations so after insuring that all sources were merged I rebuilt the .exe
Fixed bug in build_view:
Fixed problem counting errors in output. This is a common problem: How do you distinguish between real errors and file elements or variable that contain the string "error". The approach was:
errors=$(grep -i error $card.build.log | grep -v "Errors: 0" | grep -vc "cli_errors.c")which looks for errors in general, weeds out the "Errors: 0" that the NP complier puts out and then makes an exception for the file element named cli_errors.c. Well with onu2311 comes new output that contains the string "error" but is not an error. Notably:
dmt_main.c: In function `reportErrorPort':For now we will make an exceptions for "ErrorPort" and "PortError" but this is not an ideal solution to the problem in general.
More WebSAM Testing. Almost done...
Was trying to get all of my WebSAM testing completed but was not able to. Got kicked onto another test system and that one had problems. Luckily Asad and Jeff helped fix things up for me. Got a lot done but may need to do more tomorrow.
2.3.0.4 bring in the FX branch into the 2.3 release line. It also has fairly major functionality identified by bug ID 3605 (287 elements changed!) and a new card, onu2311.
Please let me know when you guys and gals make a new card! While updating the makefile will indeed insure that the new card is build when one types make, I use scripts and processes that rely on the definition of cards defined in /Tools/adm/etc/cards and need to update that file when a new card appears. Thanks.
Regarding the FX branch: The FX branch was a temporary branch for engineers to work on until 2.3 stablized. As such, with it's successful merge I plan on destroying both us_fx and china_fx branches. A destroy means that the branch, element versions on that branches, any labels on those element versions and merge arrows to and from the FX branches will disappear. It will be as if suddenly a bunch of new FX related code got checked into the 2.3 release line. Since the FX branch was indeed temporary I don't see any problem with destroying it though. Let me know if you have any objection to this.
Before I destroy the FX branches however Hok has to check in his code and merge it to 2.4.
Built 2.3.0.3. Not sure if it's officially done yet in that there may be some problems with the ONU2310 FPGA image.
Meantime I've been trying to figure out why sometimes the build process says all is OK when there are build errors. Turns out to be a shell problem with tee. When building I'm doing:
$ make $card.sf 2>&1 | tee -a $teefile > $card.build.log
Seems this tee thing messes up the return code from make. This can be demonstrated simply by:
$ ls nonexistance_file 2>&1 | tee -a /tmp/ls.log > /tmp/ls2.log; echo $? 0
Need to figure out how to fix this...
Merged NeoPON.ccp from 2.2 -> 2.3 by drawing merge arrow. This was after Zhiyi OKed this merge.
Worked out remaining merge issues on other branches. These were largely "can't check in identical file" type problems.
Attempted an FX -> 2.3 merge. Only like 40 elements to merge but some manual merging was required. Due to 2.3.0.3 build for KDDI this was put on hold. Need to merge this then allow Hok to check in before destroying this branch.
Fixed bug in CheckInPost.pl. This bug was caused by an element having a space character in it (e.g. a directory named "source code"). The checkin trigger had the following line:
$result = system ("cleartool mklabel -replace $bugid $pname");
This line assumes that $pname does not contain a space character. The fix was:
$result = system ("cleartool mklabel -replace $bugid \"$pname\"");
The \"'s surround $pname and thus protect it.