|
Packit |
857059 |
#!/bin/bash
|
|
Packit |
857059 |
# BEGIN_ICS_COPYRIGHT8 ****************************************
|
|
Packit |
857059 |
#
|
|
Packit |
857059 |
# Copyright (c) 2015-2019, Intel Corporation
|
|
Packit |
857059 |
#
|
|
Packit |
857059 |
# Redistribution and use in source and binary forms, with or without
|
|
Packit |
857059 |
# modification, are permitted provided that the following conditions are met:
|
|
Packit |
857059 |
#
|
|
Packit |
857059 |
# * Redistributions of source code must retain the above copyright notice,
|
|
Packit |
857059 |
# this list of conditions and the following disclaimer.
|
|
Packit |
857059 |
# * Redistributions in binary form must reproduce the above copyright
|
|
Packit |
857059 |
# notice, this list of conditions and the following disclaimer in the
|
|
Packit |
857059 |
# documentation and/or other materials provided with the distribution.
|
|
Packit |
857059 |
# * Neither the name of Intel Corporation nor the names of its contributors
|
|
Packit |
857059 |
# may be used to endorse or promote products derived from this software
|
|
Packit |
857059 |
# without specific prior written permission.
|
|
Packit |
857059 |
#
|
|
Packit |
857059 |
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
Packit |
857059 |
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
Packit |
857059 |
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
Packit |
857059 |
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
|
|
Packit |
857059 |
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
Packit |
857059 |
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
Packit |
857059 |
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
Packit |
857059 |
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
Packit |
857059 |
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
Packit |
857059 |
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
Packit |
857059 |
#
|
|
Packit |
857059 |
# END_ICS_COPYRIGHT8 ****************************************
|
|
Packit |
857059 |
|
|
Packit |
857059 |
#[ICS VERSION STRING: unknown]
|
|
Packit |
857059 |
|
|
Packit |
857059 |
|
|
Packit |
857059 |
# Parse release tags to create version strings
|
|
Packit |
857059 |
# - X.Y.m.p.b - a build on the way to final
|
|
Packit |
857059 |
# - X.Y.mAn.b – Alpha “n” build (sometimes called release candidate in redhat terminology)
|
|
Packit |
857059 |
# - X.Y.mBn.b – Beta “n” build (sometimes called release candidate in redhat terminology)
|
|
Packit |
857059 |
# - X.Y.mRCn.b – final release candidate “n” build
|
|
Packit |
857059 |
# - X.Y.m.0.b – a final PV release
|
|
Packit |
857059 |
# - X.Y.m.p.b – a patch of a PV release
|
|
Packit |
857059 |
#
|
|
Packit |
857059 |
# 32-bit hex (UEFI)
|
|
Packit |
857059 |
# - X – 4 bits
|
|
Packit |
857059 |
# - Y - 8 bits
|
|
Packit |
857059 |
# - m – 4 bits
|
|
Packit |
857059 |
# quality – 4 bits (0-2=power on, 3-5 = Alpha, 6-8=Beta, 9-13=release candidates, 14=PRQ/PV, 15=patch)
|
|
Packit |
857059 |
# for quality=0-14: b – 12 bits
|
|
Packit |
857059 |
# when quality==15: p-4 bits, b - 8 bits [unlikely to be used, but covers in case we need it]
|
|
Packit |
857059 |
#
|
|
Packit |
857059 |
# 64-bit hex (switch firmware)
|
|
Packit |
857059 |
# - X – 8 bits
|
|
Packit |
857059 |
# - Y - 8 bits
|
|
Packit |
857059 |
# - m – 8 bits
|
|
Packit |
857059 |
# - quality – 4 bit (0-2=power on, 3-5 = Alpha, 6-8=Beta, 9-13=release candidates, 14=PRQ/PV or patch)
|
|
Packit |
857059 |
# - patch – 4 bits
|
|
Packit |
857059 |
# - build – 32 bits
|
|
Packit |
857059 |
#
|
|
Packit |
857059 |
# Also allow for user-named version of format 0<username>
|
|
Packit |
857059 |
|
|
Packit |
857059 |
|
|
Packit |
857059 |
|
|
Packit |
857059 |
checkAlpha()
|
|
Packit |
857059 |
{
|
|
Packit |
857059 |
if [ $user_ver -eq 1 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
return 0
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
|
|
Packit |
857059 |
pos=$1
|
|
Packit |
857059 |
ver=$2
|
|
Packit |
857059 |
|
|
Packit |
857059 |
if [ "$ver" = "" ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
return 0
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
|
|
Packit |
857059 |
if echo $ver | grep -qe [[:alpha:]]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
if echo $ver | grep -qv I
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
echo Error: invalid alpha character in $pos: $ver
|
|
Packit |
857059 |
return 1
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
return 0
|
|
Packit |
857059 |
}
|
|
Packit |
857059 |
|
|
Packit |
857059 |
parseOutI()
|
|
Packit |
857059 |
{
|
|
Packit |
857059 |
ver=$1
|
|
Packit |
857059 |
|
|
Packit |
857059 |
iP=$(echo $ver | grep -bo I | head -n 1 | cut -d: -f1)
|
|
Packit |
857059 |
v1=${ver:0:iP}
|
|
Packit |
857059 |
echo $v1
|
|
Packit |
857059 |
}
|
|
Packit |
857059 |
|
|
Packit |
857059 |
parseBldI()
|
|
Packit |
857059 |
{
|
|
Packit |
857059 |
ver=$1
|
|
Packit |
857059 |
|
|
Packit |
857059 |
iP=$(echo $ver | grep -bo I | head -n 1 | cut -d: -f1)
|
|
Packit |
857059 |
bld=${ver:$((iP + 1))}
|
|
Packit |
857059 |
echo $bld
|
|
Packit |
857059 |
}
|
|
Packit |
857059 |
|
|
Packit |
857059 |
getQual()
|
|
Packit |
857059 |
{
|
|
Packit |
857059 |
qual=$1
|
|
Packit |
857059 |
pat=$2
|
|
Packit |
857059 |
n=$3
|
|
Packit |
857059 |
|
|
Packit |
857059 |
if [ $pat -ne 0 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
echo 15
|
|
Packit |
857059 |
else
|
|
Packit |
857059 |
case $qual in
|
|
Packit |
857059 |
poweron)
|
|
Packit |
857059 |
if [ $n -gt 2 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
(>&2 echo "Warning: Encoded Quality out of range: $n Clamping to: 2")
|
|
Packit |
857059 |
n=2
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
echo $n
|
|
Packit |
857059 |
;;
|
|
Packit |
857059 |
alpha)
|
|
Packit |
857059 |
n=$((3 + n))
|
|
Packit |
857059 |
if [ $n -gt 5 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
(>&2 echo "Warning: Encoded Quality out of range: $n Clamping to: 5")
|
|
Packit |
857059 |
n=5
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
echo $n
|
|
Packit |
857059 |
;;
|
|
Packit |
857059 |
beta)
|
|
Packit |
857059 |
n=$((6 + n))
|
|
Packit |
857059 |
if [ $n -gt 8 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
(>&2 echo "Warning: Encoded Quality out of range: $n Clamping to: 8")
|
|
Packit |
857059 |
n=8
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
echo $n
|
|
Packit |
857059 |
;;
|
|
Packit |
857059 |
rc)
|
|
Packit |
857059 |
n=$((9 + n))
|
|
Packit |
857059 |
if [ $n -gt 13 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
(>&2 echo "Warning: Encoded Quality out of range: $n Clamping to: 13")
|
|
Packit |
857059 |
n=13
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
echo $n
|
|
Packit |
857059 |
;;
|
|
Packit |
857059 |
pv)
|
|
Packit |
857059 |
echo 14
|
|
Packit |
857059 |
;;
|
|
Packit |
857059 |
esac
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
return
|
|
Packit |
857059 |
}
|
|
Packit |
857059 |
|
|
Packit |
857059 |
if [ "$#" -eq 0 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
echo Error: too few arguments
|
|
Packit |
857059 |
echo Usage: format_releasetag.sh [-f format] version-string
|
|
Packit |
857059 |
exit 1
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
|
|
Packit |
857059 |
if [ "$1" = "" ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
echo Error: invalid version string argument
|
|
Packit |
857059 |
echo Usage: format_releasetag.sh [-f format] version-string
|
|
Packit |
857059 |
exit 1
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
|
|
Packit |
857059 |
fmt=
|
|
Packit |
857059 |
ver=
|
|
Packit |
857059 |
|
|
Packit |
857059 |
while getopts "f:" opt
|
|
Packit |
857059 |
do
|
|
Packit |
857059 |
case "$opt" in
|
|
Packit |
857059 |
f)
|
|
Packit |
857059 |
fmt=$OPTARG
|
|
Packit |
857059 |
;;
|
|
Packit |
857059 |
?)
|
|
Packit |
857059 |
echo Error: unsupported option $opt
|
|
Packit |
857059 |
echo Usage: format_releasetag.sh [-f format] version-string
|
|
Packit |
857059 |
exit 1
|
|
Packit |
857059 |
;;
|
|
Packit |
857059 |
esac
|
|
Packit |
857059 |
done
|
|
Packit |
857059 |
|
|
Packit |
857059 |
shift $((OPTIND-1))
|
|
Packit |
857059 |
|
|
Packit |
857059 |
ver=$1
|
|
Packit |
857059 |
|
|
Packit |
857059 |
# check for user-named release tag - leading 0 followed by alpha
|
|
Packit |
857059 |
|
|
Packit |
857059 |
user_ver=0
|
|
Packit |
857059 |
if echo ${ver:0:1} | grep -q 0
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
if echo ${ver:1:1} | grep -q '[[:alpha:]]'
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
user_ver=1
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
|
|
Packit |
857059 |
if [ "$2" != "" ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
echo Error: extra arguments
|
|
Packit |
857059 |
echo Usage: format_releasetag.sh [-f format] version-string
|
|
Packit |
857059 |
exit 1
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
|
|
Packit |
857059 |
if [ "$fmt" = "" ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
fmt=text
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
|
|
Packit |
857059 |
if echo $ver | grep -q '[^ A-Za-z0-9_.]'
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
echo Error: bad format of version $ver
|
|
Packit |
857059 |
exit 1
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
|
|
Packit |
857059 |
# strip off leading 'R'
|
|
Packit |
857059 |
|
|
Packit |
857059 |
if echo ${ver:0:1} | grep -q R
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
ver=${ver:1}
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
|
|
Packit |
857059 |
# get to all underscores and parse
|
|
Packit |
857059 |
|
|
Packit |
857059 |
newver=$(echo $ver | sed 's/\./_/g')
|
|
Packit |
857059 |
numseparators=$(echo $newver | grep -bo '_'|wc -l)
|
|
Packit |
857059 |
maj=$(echo $newver | cut -d_ -f1)
|
|
Packit |
857059 |
if [ $numseparators -gt 0 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
min=$(echo $newver | cut -d_ -f2)
|
|
Packit |
857059 |
else
|
|
Packit |
857059 |
min=0
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
if [ $numseparators -gt 1 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
mai=$(echo $newver | cut -d_ -f3)
|
|
Packit |
857059 |
else
|
|
Packit |
857059 |
mai=0
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
if [ $numseparators -gt 2 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
pat=$(echo $newver | cut -d_ -f4)
|
|
Packit |
857059 |
else
|
|
Packit |
857059 |
pat=0
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
if [ $numseparators -gt 3 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
bld=$(echo $newver | cut -d_ -f5)
|
|
Packit |
857059 |
else
|
|
Packit |
857059 |
bld=0
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
|
|
Packit |
857059 |
# alpha only allowed in $mai
|
|
Packit |
857059 |
checkAlpha major "$maj" || exit 1
|
|
Packit |
857059 |
checkAlpha minor "$min" || exit 1
|
|
Packit |
857059 |
checkAlpha patch "$pat" || exit 1
|
|
Packit |
857059 |
checkAlpha build "$bld" || exit 1
|
|
Packit |
857059 |
|
|
Packit |
857059 |
# Handle no mai/pat/bld
|
|
Packit |
857059 |
|
|
Packit |
857059 |
if [ "$mai" = "" ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
mai=0
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
if [ "$pat" = "" ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
pat=0
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
if [ "$bld" = "" ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
bld=0
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
|
|
Packit |
857059 |
# handle I format
|
|
Packit |
857059 |
|
|
Packit |
857059 |
if echo $maj | grep -q I
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
bld=$(parseBldI $maj)
|
|
Packit |
857059 |
maj=$(parseOutI $maj)
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
if echo $min | grep -q I
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
bld=$(parseBldI $min)
|
|
Packit |
857059 |
min=$(parseOutI $min)
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
if echo $mai | grep -q I
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
bld=$(parseBldI $mai)
|
|
Packit |
857059 |
mai=$(parseOutI $mai)
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
if echo $pat | grep -q I
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
bld=$(parseBldI $pat)
|
|
Packit |
857059 |
pat=$(parseOutI $pat)
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
|
|
Packit |
857059 |
# parse maintenance in the form m<alpha>n
|
|
Packit |
857059 |
|
|
Packit |
857059 |
mai_alpha=0
|
|
Packit |
857059 |
|
|
Packit |
857059 |
m=
|
|
Packit |
857059 |
n=
|
|
Packit |
857059 |
alpha=PV
|
|
Packit |
857059 |
if echo $mai | grep -q [[:alpha:]]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
mai_alpha=1
|
|
Packit |
857059 |
pat=0
|
|
Packit |
857059 |
alphaP=$(echo $mai | grep -bo '[[:alpha:]]'|head -n 1|cut -d: -f1)
|
|
Packit |
857059 |
nP1=$(echo ${mai:$alphaP} | grep -bo '[[:digit:]]'|head -n 1|cut -d: -f1)
|
|
Packit |
857059 |
nP=$((alphaP + nP1))
|
|
Packit |
857059 |
m=${mai:0:alphaP}
|
|
Packit |
857059 |
alpha=${mai:alphaP:$((dP-alphaP))}
|
|
Packit |
857059 |
n=${mai:$nP}
|
|
Packit |
857059 |
bld=$(echo $newver | cut -d_ -f4)
|
|
Packit |
857059 |
if echo $alpha | grep -q I
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
iformat=1
|
|
Packit |
857059 |
else
|
|
Packit |
857059 |
iformat=0
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
if echo $alpha | grep -q P
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
qual=poweron
|
|
Packit |
857059 |
elif echo $alpha | grep -q A
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
qual=alpha
|
|
Packit |
857059 |
alpha=$(echo $alpha | tr '[:upper:]' '[:lower:]')
|
|
Packit |
857059 |
elif echo $alpha | grep -q B
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
qual=beta
|
|
Packit |
857059 |
alpha=$(echo $alpha | tr '[:upper:]' '[:lower:]')
|
|
Packit |
857059 |
elif echo $alpha | grep -q RC
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
qual=rc
|
|
Packit |
857059 |
alpha=$(echo $alpha | tr '[:upper:]' '[:lower:]')
|
|
Packit |
857059 |
elif echo $alpha | grep -q PV
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
qual=pv
|
|
Packit |
857059 |
elif [ $user_ver -eq 1 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
qual=pv
|
|
Packit |
857059 |
elif [ $iformat -eq 0 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
echo Error: Unknown release tag quality: $alpha
|
|
Packit |
857059 |
exit 1
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
if [ $iformat -eq 1 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
iP=$(echo $mai | grep -bo I |head -n 1|cut -d: -f1)
|
|
Packit |
857059 |
bld=${mai:$((iP+1))}
|
|
Packit |
857059 |
else
|
|
Packit |
857059 |
bld=$(echo $newver | cut -d_ -f4)
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
else
|
|
Packit |
857059 |
qual=pv
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
|
|
Packit |
857059 |
|
|
Packit |
857059 |
case $fmt in
|
|
Packit |
857059 |
text)
|
|
Packit |
857059 |
if [ $user_ver -eq 1 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
echo $ver
|
|
Packit |
857059 |
exit 0
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
q=$(getQual $qual $pat $n)
|
|
Packit |
857059 |
if [ $mai_alpha -eq 1 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
echo ${maj}.${min}.${mai}.${bld}
|
|
Packit |
857059 |
else
|
|
Packit |
857059 |
echo ${maj}.${min}.${mai}.${pat}.${bld}
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
;;
|
|
Packit |
857059 |
rpm)
|
|
Packit |
857059 |
if [ $user_ver -eq 1 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
echo $ver
|
|
Packit |
857059 |
exit 0
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
q=$(getQual $qual $pat $n)
|
|
Packit |
857059 |
if [ $mai_alpha -eq 1 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
echo ${maj}.${min}.${m}.0-${alpha}${n}.${bld}
|
|
Packit |
857059 |
else
|
|
Packit |
857059 |
echo ${maj}.${min}.${mai}.${pat}-${bld}
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
;;
|
|
Packit |
857059 |
briefrpm)
|
|
Packit |
857059 |
if [ $user_ver -eq 1 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
echo $ver
|
|
Packit |
857059 |
exit 0
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
if [ $mai_alpha -eq 1 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
m1=$m
|
|
Packit |
857059 |
else
|
|
Packit |
857059 |
m1=$mai
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
if [ $pat -gt 0 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
maint=".${m1}.${pat}"
|
|
Packit |
857059 |
elif [ $m1 -gt 0 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
maint=".${m1}"
|
|
Packit |
857059 |
else
|
|
Packit |
857059 |
maint=
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
q=$(getQual $qual $pat $n)
|
|
Packit |
857059 |
if [ $mai_alpha -eq 1 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
echo ${maj}.${min}${maint}-${alpha}${n}.${bld}
|
|
Packit |
857059 |
else
|
|
Packit |
857059 |
echo ${maj}.${min}${maint}-${bld}
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
;;
|
|
Packit |
857059 |
debian)
|
|
Packit |
857059 |
if [ $user_ver -eq 1 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
echo $ver
|
|
Packit |
857059 |
exit 0
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
q=$(getQual $qual $pat $n)
|
|
Packit |
857059 |
if [ $mai_alpha -eq 1 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
echo ${maj}.${min}.${m}.0${alpha}${n}.${bld}
|
|
Packit |
857059 |
else
|
|
Packit |
857059 |
echo ${maj}.${min}.${mai}.${pat}.${bld}
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
;;
|
|
Packit |
857059 |
32bit)
|
|
Packit |
857059 |
if [ $user_ver -eq 1 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
echo 0x00000000
|
|
Packit |
857059 |
exit 0
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
if [ $mai_alpha -eq 1 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
m1=$m
|
|
Packit |
857059 |
else
|
|
Packit |
857059 |
m1=$mai
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
byte1=$((maj<<4 | min&0xf0))
|
|
Packit |
857059 |
byte2=$(((min & 0x0f)<<4 | (m1 & 0x0f)))
|
|
Packit |
857059 |
q=$(getQual $qual $pat $n)
|
|
Packit |
857059 |
if [ $pat -gt 0 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
byte3=$((q<<4 | (pat & 0xff)))
|
|
Packit |
857059 |
else
|
|
Packit |
857059 |
bldHiBits=$(((bld & 0xf00) >> 8))
|
|
Packit |
857059 |
byte3=$((q<<4 | bldHiBits))
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
byte4=$((bld & 0xff))
|
|
Packit |
857059 |
printf "0x%02X%02X%02X%02X\n" $byte1 $byte2 $byte3 $byte4
|
|
Packit |
857059 |
;;
|
|
Packit |
857059 |
64bit)
|
|
Packit |
857059 |
if [ $user_ver -eq 1 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
echo 0x0000000000000000
|
|
Packit |
857059 |
exit 0
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
byte1=${maj}
|
|
Packit |
857059 |
byte2=${min}
|
|
Packit |
857059 |
if [ $mai_alpha -eq 1 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
m1=$m
|
|
Packit |
857059 |
else
|
|
Packit |
857059 |
m1=$mai
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
byte3=${m1}
|
|
Packit |
857059 |
if [ $pat -gt 0 ]
|
|
Packit |
857059 |
then
|
|
Packit |
857059 |
q=14
|
|
Packit |
857059 |
else
|
|
Packit |
857059 |
q=$(getQual $qual $pat $n)
|
|
Packit |
857059 |
fi
|
|
Packit |
857059 |
byte4=$((q<<4 | (pat & 0xff)))
|
|
Packit |
857059 |
bytes5to8=$bld
|
|
Packit |
857059 |
printf "0x%02X%02X%02X%02X%08X\n" $byte1 $byte2 $byte3 $byte4 $bytes5to8
|
|
Packit |
857059 |
;;
|
|
Packit |
857059 |
?)
|
|
Packit |
857059 |
echo Error: bad format: $fmt
|
|
Packit |
857059 |
exit 1
|
|
Packit |
857059 |
;;
|
|
Packit |
857059 |
esac
|
|
Packit |
857059 |
|
|
Packit |
857059 |
|
|
Packit |
857059 |
exit 0
|