blob: cb944ab258a2a853cad1eae174f2f176c26029d8 (
plain)
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
|
#!/bin/bash
set -eo pipefail
if [ $# -lt 1 ]; then
echo "Usage: $0 <package> [<destination>]"
echo "packages: deb rpm"
exit 1
fi
# check package version is set
: "${PACKAGE_VERSION:?}"
PACKAGE_DIR="$(cd "$(dirname "$0")" && pwd)"
PREFIX=/opt/sota
export AUTH_SERVER="${AUTH_SERVER-http://localhost:9001}"
export CORE_SERVER="${CORE_SERVER-http://localhost:8080}"
export OTA_CREDENTIALS_FILE="${OTA_CREDENTIALS_FILE-${PREFIX}/credentials.toml}"
case $1 in
"deb" )
export PACKAGE_MANAGER="deb"
PKG_BUILD_OPTS="--deb-systemd ${PACKAGE_DIR}/sota_client.service"
;;
"rpm" )
export PACKAGE_MANAGER="rpm"
PKG_BUILD_OPTS="--rpm-service ${PACKAGE_DIR}/sota_client.service"
;;
*)
echo "unknown package format $1"
exit 2
esac
shift
function make_pkg {
destination=$1
template=$(mktemp)
envsubst < "${PACKAGE_DIR}/sota.toml.template" > "${template}"
[[ "${AUTH_SECTION}" = false ]] && sed -i '1,/\[core\]/{/\[core\]/p;d}' "${template}"
chmod 600 "$template"
fpm \
-s dir \
-t "${PACKAGE_MANAGER}" \
--architecture native \
--name "${PACKAGE_NAME:-sota-client}" \
--version "${PACKAGE_VERSION}" \
--package NAME-VERSION.TYPE \
${PKG_BUILD_OPTS} \
"${PACKAGE_DIR}/sota_client=/usr/bin/sota_client" \
"${PACKAGE_DIR}/system_info.sh=/usr/bin/system_info.sh" \
"${PACKAGE_DIR}/sota_certificates=/etc/sota_certificates" \
"${template}=/etc/sota.toml"
if [ -n "$destination" ]; then
mv -f "sota-client*.${PACKAGE_MANAGER}" "${destination}"
fi
rm -f "${template}"
}
make_pkg $*
|