189 lines
		
	
	
	
		
			6.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			189 lines
		
	
	
	
		
			6.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
|   | #! /bin/csh -f | ||
|  | 
 | ||
|  | # newrelease | ||
|  | # Copyright 1984-2017 Cisco Systems, Inc. | ||
|  | #  | ||
|  | # Licensed under the Apache License, Version 2.0 (the "License"); | ||
|  | # you may not use this file except in compliance with the License. | ||
|  | # You may obtain a copy of the License at | ||
|  | #  | ||
|  | # http://www.apache.org/licenses/LICENSE-2.0 | ||
|  | #  | ||
|  | # Unless required by applicable law or agreed to in writing, software | ||
|  | # distributed under the License is distributed on an "AS IS" BASIS, | ||
|  | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
|  | # See the License for the specific language governing permissions and | ||
|  | # limitations under the License. | ||
|  | 
 | ||
|  | if ($#argv != 2 && $#argv != 3) then | ||
|  |     echo "Usage: newrelease <release-number> <machine type> [<workarea name>]" | ||
|  |     exit 1 | ||
|  | endif | ||
|  | 
 | ||
|  | # set R to release number | ||
|  | set R = $1 | ||
|  | 
 | ||
|  | if ({(echo -n "$1" | grep '^[0-9]\.[0-9]$' >& /dev/null)}) then | ||
|  |   # set MR to major release number | ||
|  |   set MR = $R:r | ||
|  | 
 | ||
|  |   # set mR to minor release number | ||
|  |   set mR = $R:e | ||
|  | 
 | ||
|  |   # set bR to build number | ||
|  |   set bR = 0 | ||
|  | 
 | ||
|  |   # set ZR to release number w/o "." | ||
|  |   set ZR = $MR$mR | ||
|  | 
 | ||
|  |   # set underscoreR to release number w/ "_" in place of "." | ||
|  |   set underscoreR = $MR"_"$mR | ||
|  | else if ({(echo -n "$1" | grep '^[0-9]\.[0-9]\.[0-9]$' >& /dev/null)}) then | ||
|  |   # set MR to major release number | ||
|  |   set tmp = $R:r | ||
|  |   set MR = $tmp:r | ||
|  | 
 | ||
|  |   # set mR to minor release number | ||
|  |   set mR = $tmp:e | ||
|  | 
 | ||
|  |   # set bR to build number | ||
|  |   set bR = $R:e | ||
|  | 
 | ||
|  |   # set ZR to release number w/o "." | ||
|  |   set ZR = $MR$mR$bR | ||
|  | 
 | ||
|  |   # set underscoreR to release number w/ "_" in place of "." | ||
|  |   set underscoreR = $MR"_"$mR"_"$bR | ||
|  | else | ||
|  |   echo "invalid release number $R" | ||
|  |   exit 1 | ||
|  | endif | ||
|  | 
 | ||
|  | # set M to machine type and W to workarea name | ||
|  | set M =  $2 | ||
|  | if ("$3" == "") then | ||
|  |     set W = $M | ||
|  | else | ||
|  |     set W = $3 | ||
|  | endif | ||
|  | 
 | ||
|  | # clear running list of updated files | ||
|  | set maybeupdatedfiles = () | ||
|  | 
 | ||
|  | ./workarea $M $W | ||
|  | if ($status != 0) exit 1 | ||
|  | 
 | ||
|  | cd $W | ||
|  | 
 | ||
|  | rm -f BUILDING | ||
|  | sed -e "s/Chez Scheme Version [^ ]*/Chez Scheme Version $R/" \ | ||
|  |     -e "s/Copyright 1984-.... /Copyright 1984-`date +%Y` /" \ | ||
|  |     ../BUILDING > BUILDING | ||
|  | set maybeupdatedfiles = ($maybeupdatedfiles BUILDING) | ||
|  | 
 | ||
|  | rm -f NOTICE | ||
|  | sed -e "s/Chez Scheme Version [^ ]*/Chez Scheme Version $R/" \ | ||
|  |     -e "s/Copyright 1984-.... /Copyright 1984-`date +%Y` /" \ | ||
|  |     ../NOTICE > NOTICE | ||
|  | set maybeupdatedfiles = ($maybeupdatedfiles NOTICE) | ||
|  | 
 | ||
|  | mkdir makefiles | ||
|  | sed -e "s/csv[0-9]\.[0-9]\(\.[0-9]\)*/csv$R/" ../makefiles/Mf-install.in > makefiles/Mf-install.in | ||
|  | sed -e "s/csug[0-9]\.[0-9]/csug$MR.$mR/" -e "s/csug[0-9]_[0-9]/csug$MR""_$mR/" ../makefiles/Makefile-csug.in > makefiles/Makefile-csug.in | ||
|  | set maybeupdatedfiles = ($maybeupdatedfiles makefiles/Mf-install.in makefiles/Makefile-csug.in) | ||
|  | 
 | ||
|  | rm -f scheme.1.in | ||
|  | sed -e "s/Chez Scheme Version [0-9]\.[0-9]\(\.[0-9]\)* .* [0-9][0-9]*/Chez Scheme Version $R `date +'%B %Y'`/" \ | ||
|  |     -e "s/Copyright .* Cisco Systems, Inc./Copyright `date +%Y` Cisco Systems, Inc./" \ | ||
|  |   ../scheme.1.in > scheme.1.in | ||
|  | set maybeupdatedfiles = ($maybeupdatedfiles scheme.1.in) | ||
|  | 
 | ||
|  | rm -f c/Makefile.{,t}{i3,a6}nt | ||
|  | foreach fn (c/Makefile.{,t}{a6,i3}nt) | ||
|  |   set maybeupdatedfiles = ($maybeupdatedfiles $fn) | ||
|  |   sed -e "s/csv[0-9][0-9][0-9]*/csv$ZR/g" ../$fn > $fn | ||
|  | end | ||
|  | 
 | ||
|  | rm -f mats/Mf-{,t}{i3,a6}nt | ||
|  | foreach fn (mats/Mf-{,t}{a6,i3}nt) | ||
|  |   set maybeupdatedfiles = ($maybeupdatedfiles $fn) | ||
|  |   sed -e "s/csv[0-9][0-9][0-9]*/csv$ZR/g" ../$fn > $fn | ||
|  | end | ||
|  | 
 | ||
|  | sed -e "s/csv[0-9][.0-9][0-9]*/csv$ZR/g" ../workarea > workarea | ||
|  | chmod +x workarea | ||
|  | set maybeupdatedfiles = ($maybeupdatedfiles workarea) | ||
|  | 
 | ||
|  | set RCVERSION = "$MR,$mR,$bR,0" | ||
|  | sed -e "s/FILEVERSION .*/FILEVERSION $RCVERSION/"\ | ||
|  |     -e "s/PRODUCTVERSION .*/PRODUCTVERSION $RCVERSION/"\ | ||
|  |     -e 's/"FileDescription", .*/"FileDescription", "Chez Scheme Version '$R'"/'\ | ||
|  |     -e 's/"FileVersion", .*/"FileVersion", "'$R'"/'\ | ||
|  |     -e 's/"ProductVersion", .*/"ProductVersion", "'$R'"/'\ | ||
|  |     -e "s/Copyright 1984-..../Copyright 1984-`date +%Y`/g" ../c/scheme.rc > c/scheme.rc | ||
|  | set maybeupdatedfiles = ($maybeupdatedfiles c/scheme.rc) | ||
|  | 
 | ||
|  | rm -f s/7.ss | ||
|  | sed -e "s/nCopyright 1984-..../nCopyright 1984-`date +%Y`/g" ../s/7.ss > s/7.ss | ||
|  | set maybeupdatedfiles = ($maybeupdatedfiles s/7.ss) | ||
|  | 
 | ||
|  | rm -f s/cmacros.ss | ||
|  | set VNUM = `printf "%04x%02x%02x" $MR $mR $bR` | ||
|  | sed -e "s/scheme-version #x......../scheme-version #x$VNUM/" ../s/cmacros.ss > s/cmacros.ss | ||
|  | set maybeupdatedfiles = ($maybeupdatedfiles s/cmacros.ss) | ||
|  | 
 | ||
|  | mkdir release_notes | ||
|  | sed -e "s/thisversion{Version [^ ]*}/thisversion{Version $R}/" \ | ||
|  |     -e "s/pubmonth{.*}/pubmonth{`date +%B`}/" \ | ||
|  |     -e "s/pubyear{.*}/pubyear{`date +%Y`}/" \ | ||
|  |   ../release_notes/release_notes.stex > release_notes/release_notes.stex | ||
|  | set maybeupdatedfiles = ($maybeupdatedfiles release_notes/release_notes.stex) | ||
|  | 
 | ||
|  | mkdir csug | ||
|  | sed -e "s/Revised\(.*\)for Chez Scheme Version [^ ]*\./Revised\1for Chez Scheme Version $R./" \ | ||
|  |     -e "s/\\copyright~.* Cisco Systems, Inc./\\copyright~`date +%Y` Cisco Systems, Inc./" \ | ||
|  |   ../csug/copyright.stex > csug/copyright.stex | ||
|  | sed -e "s/Revised\(.*\)for Chez Scheme Version [^ ]*<br>/Revised\1for Chez Scheme Version $R<br>/" \ | ||
|  |     -e "s/Copyright © .* Cisco Systems, Inc./Copyright \© `date +%Y` Cisco Systems, Inc./" \ | ||
|  |     -e "s/\\def\\revisiondate{.*}/\\def\\revisiondate{`date +'%B %Y'`}/" \ | ||
|  |   ../csug/csug.stex > csug/csug.stex | ||
|  | set maybeupdatedfiles = ($maybeupdatedfiles csug/copyright.stex csug/csug.stex) | ||
|  | 
 | ||
|  | rm -f bintar/Makefile | ||
|  | sed -e "s/^version = .*/version = $R/" \ | ||
|  |     -e "s/csv[0-9][0-9][0-9]*/csv$ZR/g" \ | ||
|  |   ../bintar/Makefile > bintar/Makefile | ||
|  | set maybeupdatedfiles = ($maybeupdatedfiles bintar/Makefile) | ||
|  | 
 | ||
|  | rm -f rpm/Makefile | ||
|  | sed -e "s/^version = .*/version = $R/" ../rpm/Makefile > rpm/Makefile | ||
|  | set maybeupdatedfiles = ($maybeupdatedfiles rpm/Makefile) | ||
|  | 
 | ||
|  | rm -f pkg/Makefile | ||
|  | sed -e "s/^version = .*/version = $R/" \ | ||
|  |     -e "s/© .* Cisco Systems/\© `date +%Y` Cisco Systems/" \ | ||
|  |      ../pkg/Makefile > pkg/Makefile | ||
|  | set maybeupdatedfiles = ($maybeupdatedfiles pkg/Makefile) | ||
|  | 
 | ||
|  | mkdir wininstall | ||
|  | sed -e "s/VERSION := .*/VERSION := $R/" ../wininstall/Makefile > wininstall/Makefile | ||
|  | set maybeupdatedfiles = ($maybeupdatedfiles wininstall/Makefile) | ||
|  | foreach fn (wininstall/{,t}{a6,i3}nt.wxs) | ||
|  |   set maybeupdatedfiles = ($maybeupdatedfiles $fn) | ||
|  |   sed -e "s/csv[0-9][0-9][0-9]*/csv$ZR/" ../$fn > $fn | ||
|  | end | ||
|  | 
 | ||
|  | set updatedfiles = () | ||
|  | foreach x ($maybeupdatedfiles) | ||
|  |   cmp -s ../$x $x || set updatedfiles = ($updatedfiles $x) | ||
|  | end | ||
|  | 
 | ||
|  | rm -f LOG | ||
|  | cat ../LOG > LOG | ||
|  | echo "" >> LOG | ||
|  | echo "$R changes:" >> LOG | ||
|  | echo "- updated version to $R" >> LOG | ||
|  | echo $updatedfiles | sed -e 's/^/    /' | fmt >> LOG | ||
|  | 
 | ||
|  | exit 0 |