-
Notifications
You must be signed in to change notification settings - Fork 988
/
newrelease
executable file
·105 lines (84 loc) · 3.49 KB
/
newrelease
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#! /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 != 1) then
echo "Usage: newrelease <release-number>"
exit 1
endif
# set R to release number
set R = $1
if ({(echo -n "$1" | grep '^[0-9][0-9]*\.[0-9][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 patch 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
sed -e "s/Chez Scheme Version [^ ]*/Chez Scheme Version $R/" \
-e "s/Copyright 1984-.... /Copyright 1984-`date +%Y` /" \
-I "" BUILDING
sed -e "s/Chez Scheme Version [^ ]*/Chez Scheme Version $R/" \
-e "s/Copyright 1984-.... /Copyright 1984-`date +%Y` /" \
-I "" NOTICE
sed -e "s/csug[0-9][0-9]*\.[0-9][0-9]*/csug$MR.$mR/" \
-e "s/csug[0-9][0-9]*_[0-9][0-9]*/csug$MR""_$mR/" \
-I "" makefiles/Makefile-csug.in
sed -e "s/Chez Scheme Version [0-9][0-9]*\.[0-9][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./" \
-I "" scheme.1.in
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" \
-I "" c/scheme.rc
sed -e "s/nCopyright 1984-..../nCopyright 1984-`date +%Y`/g" \
-I "" s/7.ss
set VNUM = `printf "%02x%02x%02x00" $MR $mR $bR`
sed -e "s/scheme-version #x......../scheme-version #x$VNUM/" \
-I "" s/cmacros.ss
sed -e "s/thisversion{Version [^ ]*}/thisversion{Version $R}/" \
-e "s/pubmonth{.*}/pubmonth{`date +%B`}/" \
-e "s/pubyear{.*}/pubyear{`date +%Y`}/" \
-I "" release_notes/release_notes.stex
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./" \
-I "" csug/copyright.stex
sed -e "s/Copyright © .* Cisco Systems, Inc./Copyright \© `date +%Y` Cisco Systems, Inc./" \
-e "s/(define latest-release-date "'"'".*"'"'")/(define latest-release-date "'"'"`date +'%B %Y'`"'"'")/" \
-I "" csug/csug.stex
sed -e "s/^version = .*/version = $R/" \
-I "" rpm/Makefile
sed -e "s/^version = .*/version = $R/" \
-e "s/© .* Cisco Systems/\© `date +%Y` Cisco Systems/" \
-I "" pkg/Makefile
sed -e "s/VERSION := .*/VERSION := $R/" \
-I "" wininstall/Makefile
foreach fn (wininstall/{,t}{a6,i3}nt.wxs)
sed -e "s/csv[0-9][0-9][0-9]*/csv$ZR/" \
-I "" $fn
end
exit 0