~aleteoryx/muditaos

ref: de5b923e81ed56bc845b75b2833cb040fafc3409 muditaos/config/genupdatepkg.sh -rwxr-xr-x 3.6 KiB
de5b923e — DariuszSabala [BH-369] Turned UTF8 into separate library 4 years ago
                                                                                
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#!/bin/bash
# Copyright (c) 2017-2020, Mudita Sp. z.o.o. All rights reserved.
# For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md

# set -eo pipefail
# this is useless for now

if [ ! -e config/common.sh ]; then
  echo "No config/common.sh refuse to continue"
  exit 1
else
  source ./config/common.sh
fi

VERSION_KERNEL=`grep tskKERNEL_VERSION_NUMBER module-os/FreeRTOS/include/task.h | awk '{print $3}' | tr -d '\"'`
VERSION_CODENAME="salvador"
print_help() {
	echo "Usage: $0 [OPTION] [BUILD-DIR]"
	echo "  -h print help"
	echo "  -c version codename to embed"
	echo "  -k kernel version if needed"
	echo "  -b bootloader file to include"
	echo "  -v bootloader file version"
	echo "  -d build directory"
	echo "  -s sql migration JSON"
	echo
	exit 1
}

while getopts "s:c:k:b:v:d:h" arg; do
	case "${arg}" in
		c)
			VERSION_CODENAME=$OPTARG
			;;
		k)
			VERSION_KERNEL=$OPTARG
			;;
		b)
			BOOTLOADER_FILE=$OPTARG
			;;
		v)
			BOOTLOADER_VERSION=$OPTARG
			;;
		d)
			BUILD_PATH=$OPTARG
			;;
		h)
			print_help
			;;
		*)
			print_help
			;;
	esac
done
shift $((OPTIND-1))

if [ ! -d "$BUILD_PATH" ]; then
	if [ ! -z $BUILD_PATH ]; then
		echo "$BUILD_PATH does not exist"
	fi
	print_help
fi

check_target_rt1051 "$BUILD_PATH"

if [ ! -f $BUILD_PATH/boot.bin ]; then
	echo "No boot.bin in $BUILD_PATH, refuse to continue"
	exit 1
fi

if [ ! -x $(which rhash) ]; then
  echo "Please install the rhash command"
  exit 1
fi

if [ -d update ]; then
	rm -rf update
fi

mkdir -p update/
mkdir -p update/tmp

if [ ! -f config/version.json.template ]; then
	echo "No config/version.json.template"
	exit 1
fi

vjson=update/tmp/version.json
cp config/version.json.template $vjson

sed -i -e 's/__GIT_BRANCH__/'$MUDITAOS_GIT_BRANCH'/g' $vjson
sed -i -e 's/__GIT_TAG__/'$MUDITAOS_GIT_TAG'/g' $vjson
sed -i -e 's/__GIT_REVISION__/'$MUDITAOS_GIT_REV'/g' $vjson

sed -i -e 's/__VERSION_MAJOR__/'$MUDITAOS_VERSION_MAJOR'/g' $vjson
sed -i -e 's/__VERSION_MINOR__/'$MUDITAOS_VERSION_MINOR'/g' $vjson
sed -i -e 's/__VERSION_PATCH__/'$MUDITAOS_VERSION_PATCH'/g' $vjson
sed -i -e 's/__VERSION_STRING__/'$MUDITAOS_GIT_TAG'/g' $vjson

BUILD_HOST=`uname -r`
BUILD_USER=`whoami`
BUILD_DATE=`date +'%F-%T'`

sed -i -e 's/__MISC_CODENAME__/'$VERSION_CODENAME'/g' $vjson
sed -i -e 's/__MISC_KERNEL__/'$VERSION_KERNEL'/g' $vjson

sed -i -e 's/__MISC_BUILD_HOST__/'$BUILD_HOST'/g' $vjson
sed -i -e 's/__MISC_BUILD_DATE__/'$BUILD_DATE'/g' $vjson
sed -i -e 's/__MISC_BUILD_USER__/'$BUILD_USER'/g' $vjson

echo "-- copy $BUILD_PATH/boot.bin"

cp $BUILD_PATH/boot.bin update/tmp/
for file in $IMAGE_FILES; do
	echo "-- copy $file"
	cp -r image/$file update/tmp/
done

# don't include function files
rm -f update/tmp/.boot.ini
rm -f update/tmp/.boot.ini.crc32

# check for bootloader update
if [ -f "$BOOTLOADER_FILE" ]; then
	echo "-- including bootloader update file: $BOOTLOADER_FILE"
	sed -i -e 's/__BOOTLOADER_INCLUDED__/1/g' $vjson
	sed -i -e 's/__BOOTLOADER_INCLUDED_VERSION__/'$BOOTLOADER_VERSION'/g' $vjson
	sed -i -e 's/__BOOTLOADER_INCLUDED_FILENAME__/'$(basename $BOOTLOADER_FILE)'/g' $vjson
	cp $BOOTLOADER_FILE update/tmp/
else
	sed -i -e 's/__BOOTLOADER_INCLUDED__/0/g' $vjson
	sed -i -e 's/__BOOTLOADER_INCLUDED_VERSION__//g' $vjson
	sed -i -e 's/__BOOTLOADER_INCLUDED_FILENAME__//g' $vjson
fi

rm -f update/*.tar
curpwd=`pwd`
vstr=$MUDITAOS_VERSION_MAJOR.$MUDITAOS_VERSION_MINOR.$MUDITAOS_VERSION_PATCH-$MUDITAOS_GIT_REV
echo -ne "-- "
cd update/tmp && rhash -ru checksums.txt .
cd $curpwd
echo "-- create tar update/muditaos-$vstr.tar"
cd update/tmp && tar -cf ../muditaos-$vstr.tar .
cd $curpwd
ls -alh update/muditaos-$vstr.tar