3 # showusage is set to 1 on any command-line syntax error
5 # are we playing by stable or dev rules?
7 # test is set to 1 if -t/--test is given to prevent modifications
33 *) echo "Unexpected repo type: <$repo>!"
39 1) echo "Usage: $0 [-t] <stable|dev>"
40 echo "No changes are made to packageinfo.sh if -t is given."
53 *) echo "You indicated repo type <$repo> but packageinfo.sh"
54 echo "indicates <$repotype>."
82 case "$ver_repo_mismatch" in
83 1) echo "Minor version <$minor> mismatches repotype <$repo>."
88 # Do we want to bump the point?
90 # Do we want to bump the beta point?
92 # Do we want to change the RC point? (n=no, z=empty rcpoint and zero
95 # Do we want to change the prerelease value?
99 # if we are not in a beta or RC state, enter beta unless point is NEW.
100 # if we are in a beta state:
101 # - bump the beta point
102 # else if we are in an RC state:
103 # - if rcpoint is GO:
104 # - - set rcpoint= (empty)
105 # - - set prerelease= (empty)
106 # - - set betapoint=0
108 # - - if rcpoint==(empty)
109 # - - - (bump-point) and set rcpoint to 0 (and fall thru, so -RC1 is first)
110 # - - bump the RC point
112 # for dev, we only want to bump-point and possibly clear prerelease,
113 # but we do not modify rcpoint nor betapoint.
128 case "$prerelease" in
130 # echo "Checking <$betapoint::$rcpoint::$point>"
131 case "$betapoint::$rcpoint::$point" in
133 # new minor release (no p)
138 # start of first beta cycle for the next point release
145 # skip all -beta and -RC prereleases to the next point.
153 # echo "Good - betapoint is empty. Look in $0 and figure out what's going on here."
157 echo "betapoint is NOT empty. Look in $0 and figure out what's going on here."
160 *) echo "betapoint is <$betapoint>, rcpoint is <$rcpoint>"
161 echo "betapoint must be 0 and rcpoint must be empty to start the"
168 case "$betapoint::$rcpoint" in
173 0::) echo "betapoint is 0, rcpoint emtpy, and prerelease is beta."
174 echo "You probably intended prerelease= (that is, empty). It"
175 echo "will then be changed to beta by this script, starting the"
176 echo "first beta for the next point release."
186 echo "prerelease is beta, rcpoint is GO, disallowed."
187 echo "rcpoint GO is allowed only when prerelease is RC or empty."
213 *) echo "Unexpected value for 'rcpoint' <$rcpoint>!"
219 echo "prerelease <$prerelease> unexpected"
224 *) echo "impossible: repo <$repo>!"
229 case "$repo::$bp::$point" in
234 newpoint=`expr $point + 1`
237 newpoint=`expr $point + 1`
248 *) echo "Unexpected value for 'point' <$point>! (repo::bp::point is $repo::$bp::$point)"
253 case "$bbp::$betapoint" in
255 newbetapoint=$betapoint
258 newbetapoint=`expr $betapoint + 1`
260 *) echo "Unexpected value for 'betapoint' <$betapoint>!"
265 case "$crcp::$rcpoint" in
273 newrcpoint=`expr $rcpoint + 1`
285 echo "crcp::rcpoint - bogus repo <$repo>"
290 *) echo "Unexpected value for 'crcp::rcpoint' <$crcp::$rcpoint>!"
301 printf "prerelease $prerelease"
306 *) printf " -> $newpr\n"
309 printf "point $point"
314 *) printf " -> $newpoint\n"
317 printf "betapoint $betapoint"
318 case "$newbetapoint" in
322 *) printf " -> $newbetapoint\n"
325 printf "rcpoint $rcpoint"
326 case "$newrcpoint" in
330 *) printf " -> $newrcpoint\n"
334 printf "Previous version: "
335 scripts/build/VersionName
337 # apply packageinfo.sh changes
339 sed -e "s/^point=.*/point=$newpoint/" \
340 -e "s/^betapoint=.*/betapoint=$newbetapoint/" \
341 -e "s/^rcpoint=.*/rcpoint=$newrcpoint/" \
342 -e "s/^prerelease=.*/prerelease=$newpr/" \
348 mv packageinfo.sh+ packageinfo.sh
349 printf "Updated version: "
350 scripts/build/VersionName
353 printf "Next version would be: "
354 scripts/build/VersionName -p ./packageinfo.sh+