#! /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 []" 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 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 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 updatedfiles = () ./workarea $M $W if ($status != 0) exit 1 cd $W /bin/rm -f bintar sed -e "s/csv[0-9]\.[0-9]\(\.[0-9]\)\?/csv$ZR/g" \ -e "s/csv[0-9][0-9][0-9]\?/csv$ZR/g" \ ../bintar > bintar set updatedfiles = ($updatedfiles bintar) /bin/rm -f BUILDING sed -e "s/Chez Scheme Version [^ ]*/Chez Scheme Version $R/" \ -e "s/Copyright 1984-.... /Copyright 1984-`date +%Y` /" \ ../BUILDING > BUILDING set updatedfiles = ($updatedfiles BUILDING) /bin/rm -f NOTICE sed -e "s/Chez Scheme Version [^ ]*/Chez Scheme Version $R/" \ -e "s/Copyright 1984-.... /Copyright 1984-`date +%Y` /" \ ../NOTICE > NOTICE set updatedfiles = ($updatedfiles NOTICE) mkdir makefiles sed -e "s/csv[0-9]\.[0-9]\(\.[0-9]\)\?/csv$R/" ../makefiles/Mf-install.in > makefiles/Mf-install.in set updatedfiles = ($updatedfiles makefiles/Mf-install.in) /bin/rm scheme.1.in sed -e "s/csv[0-9]\.[0-9]\(\.[0-9]\)\?/csv$R/" ../scheme.1.in > scheme.1.in set updatedfiles = ($updatedfiles scheme.1.in) /bin/rm -f c/Makefile.{,t}{i3,a6}nt sed -e "s/csv[0-9][0-9][0-9]\?/csv$ZR/g" ../c/Makefile.i3nt > c/Makefile.i3nt sed -e "s/csv[0-9][0-9][0-9]\?/csv$ZR/g" ../c/Makefile.ti3nt > c/Makefile.ti3nt sed -e "s/csv[0-9][0-9][0-9]\?/csv$ZR/g" ../c/Makefile.a6nt > c/Makefile.a6nt sed -e "s/csv[0-9][0-9][0-9]\?/csv$ZR/g" ../c/Makefile.ta6nt > c/Makefile.ta6nt set updatedfiles = ($updatedfiles c/Makefile.{,t}{i3,a6}nt) /bin/rm -f mats/bldnt.bat sed -e "s/csv[0-9][0-9][0-9]\?/csv$ZR/g" ../mats/bldnt.bat > mats/bldnt.bat set updatedfiles = ($updatedfiles mats/bldnt.bat) sed -e "s/csv[0-9][.0-9][0-9]\?/csv$ZR/g" ../workarea > workarea chmod +x workarea set updatedfiles = ($updatedfiles 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 updatedfiles = ($updatedfiles c/scheme.rc) /bin/rm -f s/7.ss sed -e "s/nCopyright 1984-..../nCopyright 1984-`date +%Y`/g" ../s/7.ss > s/7.ss set updatedfiles = ($updatedfiles s/7.ss) /bin/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 updatedfiles = ($updatedfiles s/cmacros.ss) mkdir release_notes sed -e "s/thisversion{Version [^ ]*}/thisversion{Version $R}/" ../release_notes/release_notes.stex > release_notes/release_notes.stex set updatedfiles = ($updatedfiles release_notes/release_notes.stex) mkdir csug sed -e "s/Revised \(.*\) for Chez Scheme Version [^ ]*\./Revised \\INSERTREVISIONMONTHSPACEYEAR for Chez Scheme Version $R./" ../csug/copyright.stex > csug/copyright.stex sed -e "s/Revised \(.*\) for Chez Scheme Version [^ ]*
/Revised \\INSERTREVISIONMONTHSPACEYEAR for Chez Scheme Version $R
/" ../csug/csug.stex > csug/csug.stex set updatedfiles = ($updatedfiles csug/csug.stex) /bin/rm 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