1290001Sglebius#
2290001Sglebius# packageinfo.sh - set shell variables with version components
3290001Sglebius#
4290001Sglebius# This file is sourced by other scripts and does not need execute
5290001Sglebius# permission or the #! shell selector.
6290001Sglebius#
7290001Sglebius# Most changes to this file are fully or semi-automated using the
8290001Sglebius#   UpdatePoint script on the ntp.org tarball build machine.  Changes
9290001Sglebius#   required by the typical ntp.org release sequences are below.
10290001Sglebius#
11290001Sglebius## DEV:
12290001Sglebius#
13290001Sglebius# To bump the -dev point (p) number, UpdatePoint needs no changes here.
14290001Sglebius#
15290001Sglebius# To start a -RC cycle in -dev leading to the next -stable release,
16290001Sglebius#   set prerelease=rc.
17290001Sglebius#
18290001Sglebius# To move from dev -RC to new -stable and -dev major/minor version, set
19290001Sglebius#   minor and/or major to the new version, repotype to match the new
20290001Sglebius#   minor version, empty prerelease, and set point=NEW.  UpdatePoint
21290001Sglebius#   will empty point and rcpoint, and set betapoint=0.
22290001Sglebius#
23290001Sglebius## STABLE:
24290001Sglebius#
25290001Sglebius# To start a -stable beta cycle, which normally occurs before a -stable
26290001Sglebius#   -RC1 during the runup to a -stable point release, UpdatePoint needs
27290001Sglebius#   no changes here.  Both betapoint and point will be incremented, and
28290001Sglebius#   prerelease will be set to beta.
29290001Sglebius#
30290001Sglebius# To move on from -stable beta to RC set prerelease=rc.
31290001Sglebius#
32290001Sglebius# To fall back from -stable RC to beta set prerelease=beta.
33290001Sglebius#
34290001Sglebius# To skip over -stable beta1 directly to -RC1, set prerelease=rc.
35290001Sglebius#
36290001Sglebius# To skip all -stable prereleases and move from one primary or point 
37290001Sglebius#   release directly to the next point release, set rcpoint=GO.
38290001Sglebius#
39290001Sglebius##
40290001Sglebius#
41290001Sglebius# To see what UpdatePoint will do without modifying packageinfo.sh as it
42290001Sglebius# does by default, use the -t/--test option before the repo type:
43290001Sglebius#
44290001Sglebius# shell# scripts/build/UpdatePoint -t stable
45290001Sglebius#
46290001Sglebius
47290001Sglebius# repotype must be stable or dev
48181834Srobertorepotype=stable
49290001Sglebius
50290001Sglebius# post-4.2.8:
51290001Sglebius# version=Major.Minor
52290001Sglebius# 4.2.8 and before:
53181834Sroberto# version=Protocol.Major.Minor
54181834Sroberto# odd minor numbers are for -dev, even minor numbers are for -stable
55290001Sglebius# UpdatePoint will fail if repotype is inconsistent with minor.
56181834Srobertoproto=4
57181834Srobertomajor=2
58290001Sglebiusminor=8
59290001Sglebius
60290001Sglebiuscase "${proto}.${major}" in
61290001Sglebius 4.[012])
62290001Sglebius    version=${proto}.${major}.${minor}
63290001Sglebius    ;;
64290001Sglebius *) version=${major}.${minor}
65290001Sglebius    ;;
66290001Sglebiusesac
67290001Sglebius
68181834Sroberto# Special.  Normally unused.  A suffix.
69181834Sroberto#special=ag
70181834Srobertospecial=
71290001Sglebius
72290001Sglebius# prerelease can be empty, 'beta', or 'rc'.
73290001Sglebiusprerelease=
74290001Sglebius
75290001Sglebius# ChangeLog starting tag (see also CommitLog-4.1.0)
76181834SrobertoCLTAG=NTP_4_2_0
77290001Sglebius
78290001Sglebius### post-4.2.8:
79290001Sglebius### Point number, after "major.minor.", normally modified by script.
80290001Sglebius### 4.2.8 and before:
81290001Sglebius### Point number, after "p", normally modified by script.
82290001Sglebius# 3 cases:
83181834Sroberto# - Numeric values increment
84290001Sglebius# - empty 'increments' to 1
85290001Sglebius# - NEW 'increments' to empty
86310419Sdelphijpoint=9
87290001Sglebius
88290001Sglebius### betapoint is normally modified by script.
89290001Sglebius# ntp-stable Beta number (betapoint)
90290001Sglebius# Should be zeroed at release, and left at zero until first beta.
91290001Sglebius# The first beta is -beta1.
92290001Sglebius# betapoint is always zero in ntp-dev.
93290001Sglebiusbetapoint=0
94290001Sglebius
95290001Sglebius### rcpoint is normally modified by script except for GO.
96290001Sglebius# RC number (rcpoint)
97290001Sglebius# for ntp-dev, always empty as RC numbers are not used, nor is GO.
98290001Sglebius# For ntp-stable:
99290001Sglebius# if prerelease is 'rc':
100290001Sglebius# - Numeric values increment
101290001Sglebius# - GO triggers a release
102290001Sglebius# - - rcpoint is emptied
103290001Sglebius# - - betapoint is set to 0
104290001Sglebius# - - prerelease is emptied
105290001Sglebius# else (not in RC)
106290001Sglebius# - rcpoint is empty and unused (for now).
107181834Srobertorcpoint=
108