some infrastructure for 'roku lt' subcommand
This commit is contained in:
@@ -27,6 +27,7 @@ __build_legacy()
|
||||
${PLATFORM_TYPE:+PLATFORM_TYPE=$PLATFORM_TYPE} \
|
||||
ENABLE_ICECC=$ENABLE_ICECC \
|
||||
PAX_DEBUG=$PAX_DEBUG \
|
||||
ROOTFSCOMPONENTS_DBG=gdbserver \
|
||||
${BUILD_MODE:+BUILD_MODE=$BUILD_MODE} \
|
||||
$OPTIONS \
|
||||
-j $JOBS \
|
||||
@@ -42,6 +43,7 @@ __build_os()
|
||||
${PLATFORM_TYPE:+PLATFORM_TYPE=$PLATFORM_TYPE} \
|
||||
ENABLE_ICECC=$ENABLE_ICECC \
|
||||
PAX_DEBUG=$PAX_DEBUG \
|
||||
ROOTFSCOMPONENTS_DBG=gdbserver \
|
||||
${BUILD_MODE:+BUILD_MODE=$BUILD_MODE} \
|
||||
$OPTIONS \
|
||||
-j $JOBS \
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
source _roku_shared.sh
|
||||
_ROKU_SHELL_DIR=$(dirname $(realpath $(readlink -f "${BASH_SOURCE[0]}" )))
|
||||
source $_ROKU_SHELL_DIR/_roku_shared.sh
|
||||
source $_ROKU_SHELL_DIR/_roku_completion.sh
|
||||
|
||||
roku()
|
||||
{
|
||||
|
||||
10
_roku.sh
10
_roku.sh
@@ -1,6 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
source _roku_shared.sh
|
||||
if [ -z "$_ROKU_SHELL_DIR" ]; then
|
||||
_ROKU_SHELL_DIR=$(dirname $(realpath $(readlink -f "${BASH_SOURCE[0]}" )))
|
||||
fi
|
||||
source $_ROKU_SHELL_DIR/_roku_shared.sh
|
||||
source $_ROKU_SHELL_DIR/_roku_lt.sh
|
||||
source $_ROKU_SHELL_DIR/_roku_build.sh
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
@@ -217,7 +222,8 @@ _roku_wget()
|
||||
else
|
||||
local USER_PASSWORD="--password=$ROKU_CORP_PASSWORD"
|
||||
fi
|
||||
wget --no-check-certificate --user=vkhachatryan $USER_PASSWORD "$@"
|
||||
# wget --no-check-certificate --user=vkhachatryan $USER_PASSWORD "$@"
|
||||
wget --user=vkhachatryan $USER_PASSWORD "$@"
|
||||
}
|
||||
|
||||
# _roku_wget_pass() sets corp password. It is defined in the
|
||||
|
||||
295
_roku_build.sh
Normal file
295
_roku_build.sh
Normal file
@@ -0,0 +1,295 @@
|
||||
#!/bin/sh
|
||||
|
||||
_roku_build_completion()
|
||||
{
|
||||
}
|
||||
|
||||
_roku_build()
|
||||
{
|
||||
__build "$@"
|
||||
}
|
||||
|
||||
_roku_build_port()
|
||||
{
|
||||
__build "$@"
|
||||
}
|
||||
|
||||
export ACLOCAL_PATH=/usr/share/aclocal
|
||||
|
||||
# This is needed to be able to set brake point on /bin/Application
|
||||
export PAX_DEBUG=on
|
||||
|
||||
__build_help()
|
||||
{
|
||||
cat <<EOF
|
||||
platform:
|
||||
bailey, marlin, porting-kit-stb
|
||||
icecream:
|
||||
local, icecc
|
||||
target:
|
||||
all, addon-checksums, addon-checksum-check, clobber
|
||||
EOF
|
||||
}
|
||||
|
||||
|
||||
__build_legacy()
|
||||
{
|
||||
eval $MAKE \
|
||||
-C $BUILD_ROOT \
|
||||
BUILD_PLATFORM=$BUILD_PLATFORM \
|
||||
${BUILD_PLID:+BUILD_PLID=$BUILD_PLID} \
|
||||
${PLATFORM_TYPE:+PLATFORM_TYPE=$PLATFORM_TYPE} \
|
||||
ENABLE_ICECC=$ENABLE_ICECC \
|
||||
PAX_DEBUG=$PAX_DEBUG \
|
||||
ROOTFSCOMPONENTS_DBG=gdbserver \
|
||||
${BUILD_MODE:+BUILD_MODE=$BUILD_MODE} \
|
||||
$OPTIONS \
|
||||
-j $JOBS \
|
||||
$TARGET
|
||||
}
|
||||
|
||||
__build_os()
|
||||
{
|
||||
eval $MAKE \
|
||||
-C $BUILD_ROOT \
|
||||
BUILD_PLATFORM=$BUILD_PLATFORM \
|
||||
${BUILD_PLID:+BUILD_PLID=$BUILD_PLID} \
|
||||
${PLATFORM_TYPE:+PLATFORM_TYPE=$PLATFORM_TYPE} \
|
||||
ENABLE_ICECC=$ENABLE_ICECC \
|
||||
PAX_DEBUG=$PAX_DEBUG \
|
||||
ROOTFSCOMPONENTS_DBG=gdbserver \
|
||||
${BUILD_MODE:+BUILD_MODE=$BUILD_MODE} \
|
||||
$OPTIONS \
|
||||
-j $JOBS \
|
||||
$TARGET
|
||||
}
|
||||
|
||||
__build_wdk()
|
||||
{
|
||||
echo test
|
||||
}
|
||||
|
||||
__build_port()
|
||||
{
|
||||
eval $MAKE \
|
||||
-C $BUILD_ROOT \
|
||||
BUILD_PLATFORM=$BUILD_PLATFORM \
|
||||
${BUILD_PLID:+BUILD_PLID=$BUILD_PLID} \
|
||||
${PLATFORM_TYPE:+PLATFORM_TYPE=$PLATFORM_TYPE} \
|
||||
ENABLE_ICECC=$ENABLE_ICECC \
|
||||
${ROKU_OS_DIR:+ROKU_OS_DIR=$ROKU_OS_DIR} \
|
||||
${ROKU_WLAN_DIR:+ROKU_WLAN_DIR=$ROKU_WLAN_DIR} \
|
||||
$OPTIONS \
|
||||
-j $JOBS \
|
||||
$TARGET
|
||||
}
|
||||
|
||||
# declar -a __build_configs = (
|
||||
__build()
|
||||
{
|
||||
local REPO_ROKU_OS_DIR=$REPO_ROOT/os/dist/rootfs/Carbon14_dev_stb.OBJ/export/package/porting_kit/os
|
||||
local REPO_DOCKER_MAKE=$REPO_ROOT/os/scripts/docker/localcontainer/docker-u20-make
|
||||
local MAKE=$DOCKER_MAKE
|
||||
local ROKU_OS_DIR=
|
||||
local BUILD_PLATFORM=carbon
|
||||
local PLATFORM_TYPE=
|
||||
local ENABLE_ICECC=0
|
||||
local JOBS=$(nproc)
|
||||
local TARGET=all
|
||||
local BUILD_MODE=dev
|
||||
local PAX_DEBUG=on
|
||||
local OPTIONS=
|
||||
|
||||
#
|
||||
# Root of repository
|
||||
#
|
||||
local REPO_ROOT=$(git rev-parse --show-toplevel)
|
||||
if [ "$?" -ne "0" ]; then
|
||||
REPO_ROOT=$(p4 -Ztag -F %clientRoot% info)
|
||||
fi
|
||||
if [ -z "$REPO_ROOT" ] || [ ! -d "$REPO_ROOT" ]; then
|
||||
echo "build: Cannot find workspace root directory." >&2
|
||||
exit 1
|
||||
fi
|
||||
local BUILD_ROOT=$REPO_ROOT/os
|
||||
|
||||
#
|
||||
# Parse arguments
|
||||
#
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
wdk)
|
||||
BUILD_ROOT=$REPO_ROOT/os
|
||||
BUILD_PLATFORM=carbon
|
||||
TARGET=wdk-kit
|
||||
BUILD_PLID=00
|
||||
if [ "$1" == "streambar"]; then
|
||||
PLATFORM_TYPE=WDK_STREAMBAR
|
||||
else
|
||||
PLATFORM_TYPE=WDK_STB
|
||||
fi
|
||||
;;
|
||||
porting-kit|\
|
||||
streambar|\
|
||||
stb)
|
||||
BUILD_ROOT=$REPO_ROOT/os
|
||||
BUILD_PLATFORM=carbon
|
||||
TARGET=porting-kit
|
||||
BUILD_PLID=00
|
||||
if [ "$1" == "streambar"]; then
|
||||
PLATFORM_TYPE=STREAMBAR
|
||||
else
|
||||
PLATFORM_TYPE=STB
|
||||
fi
|
||||
;;
|
||||
tests|\
|
||||
unittests)
|
||||
BUILD_PLATFORM=host
|
||||
PLATFORM_TYPE=unittests
|
||||
TARGET=build-tests-all
|
||||
PAX_DEBUG=off
|
||||
;;
|
||||
host|\
|
||||
hoststatic|\
|
||||
unity|\
|
||||
native)
|
||||
BUILD_PLATFORM=$1
|
||||
PAX_DEBUG=off
|
||||
MAKE=$DOCKER_MAKE
|
||||
TARGET=all
|
||||
;;
|
||||
reno|\
|
||||
nemo|\
|
||||
rockett|\
|
||||
bailey|\
|
||||
marlin|\
|
||||
brewster|\
|
||||
benjamin|\
|
||||
benjaminw|\
|
||||
loggan|\
|
||||
lockhart|\
|
||||
madison)
|
||||
local ROOT_DIR="$(basename $REPO_ROOT)"
|
||||
if [ "$ROOT_DIR" == "stark" ] || \
|
||||
[ "$ROOT_DIR" == "hank" ]; then
|
||||
local BUILD_ROOT="$REPO_ROOT/$1"
|
||||
local ROKU_OS_DIR=$REPO_ROOT/../../../os/dist/rootfs/Carbon14_dev_stb.OBJ/export/package/porting_kit/os
|
||||
# local ROKU_WLAN_DIR=$REPO_ROOT/common/wlan
|
||||
local TARGET=image
|
||||
else
|
||||
local BUILD_ROOT=$REPO_ROOT/os
|
||||
fi
|
||||
BUILD_PLATFORM=$1
|
||||
;;
|
||||
icecc)
|
||||
ENABLE_ICECC=1
|
||||
JOBS=256
|
||||
;;
|
||||
port-only)
|
||||
ROKU_OS_DIR=$REPO_ROKU_OS_DIR
|
||||
;;
|
||||
local)
|
||||
ENABLE_ICECC=0
|
||||
JOBS=$(nproc)
|
||||
;;
|
||||
all|\
|
||||
addon-checksums|\
|
||||
addon-checksum-check|\
|
||||
clean|\
|
||||
cleanall|\
|
||||
clobber|\
|
||||
build-tests-all|\
|
||||
build-tests-ZipMountServerTest|\
|
||||
build-tests-FuseServerTest|\
|
||||
build-tests-PluginPackageManagemnetPluginUnitTests|\
|
||||
make_custom_package|\
|
||||
clobber-all)
|
||||
TARGET=$1
|
||||
;;
|
||||
build-integration-tests)
|
||||
OPTIONS+="BUILD_INTEGRATION_TESTS=true"
|
||||
;;
|
||||
here)
|
||||
BUILD_ROOT="."
|
||||
;;
|
||||
nopax)
|
||||
PAX_DEBUG=off
|
||||
;;
|
||||
make)
|
||||
MAKE=make
|
||||
;;
|
||||
docker)
|
||||
MAKE=$DOCKER_MAKE
|
||||
;;
|
||||
debug)
|
||||
BUILD_MODE=dbg
|
||||
;;
|
||||
help)
|
||||
build_help
|
||||
return
|
||||
;;
|
||||
*)
|
||||
echo "Really? Do you mean that?"
|
||||
return
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
# Fallback to make if docker image not found.
|
||||
if [ -e $MAKE ]; then
|
||||
local MAKE=make
|
||||
fi
|
||||
|
||||
if [ "$BUILD_PLATFORM" == "carbon" ]; then
|
||||
__build_os
|
||||
elif [ "$TARGET" == "image" ]; then
|
||||
__build_port
|
||||
else
|
||||
__build_legacy
|
||||
fi
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
# Build Completion
|
||||
#
|
||||
__build_completion_contains()
|
||||
{
|
||||
# Platforms
|
||||
for WORD in "$@"; do
|
||||
if [[ "${COMP_WORDS[*]}" =~ "$WORD" ]]; then
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
return 0
|
||||
}
|
||||
|
||||
__build_completion_add_if()
|
||||
{
|
||||
__build_completion_contains "$@"
|
||||
if [[ $? == 0 ]]; then
|
||||
CANDIDATES+=" $@"
|
||||
fi
|
||||
}
|
||||
|
||||
complete -F __build_completion build
|
||||
__build_completion()
|
||||
{
|
||||
local CANDIDATES="help clobber tests addon-checksums"
|
||||
|
||||
# Docker
|
||||
__build_completion_add_if docker make
|
||||
|
||||
# Build hosts
|
||||
__build_completion_add_if icecc local
|
||||
|
||||
# Port dir
|
||||
__build_completion_add_if port-only
|
||||
|
||||
# Platforms
|
||||
__build_completion_add_if native marlin bailey loggan lockhart porting-kit streambar stb
|
||||
|
||||
COMPREPLY=($(compgen -W "$CANDIDATES" "${COMP_WORDS[${COMP_CWORD}]}"))
|
||||
}
|
||||
|
||||
71
_roku_completion.sh
Normal file
71
_roku_completion.sh
Normal file
@@ -0,0 +1,71 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# It is assumed that the following variables are set.
|
||||
#
|
||||
#_ROKU_SHELL_DIR=$(dirname $(realpath $(readlink $0)))
|
||||
#_ROKU_SHELL=$_ROKU_SHELL_DIR/_roku.sh
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
# Build Completion
|
||||
#
|
||||
__roku_completion_contains()
|
||||
{
|
||||
# Platforms
|
||||
for WORD in "$@"; do
|
||||
if [[ "${COMP_WORDS[*]}" =~ "$WORD" ]]; then
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
return 0
|
||||
}
|
||||
|
||||
__roku_completion_add_if()
|
||||
{
|
||||
__roku_completion_contains "$@"
|
||||
if [[ $? == 0 ]]; then
|
||||
CANDIDATES+=" $@"
|
||||
fi
|
||||
}
|
||||
|
||||
# complete -F __build_completion roku
|
||||
# __build_completion()
|
||||
# {
|
||||
# local CANDIDATES="help clobber tests addon-checksums"
|
||||
|
||||
# # Docker
|
||||
# __build_completion_add_if docker make
|
||||
|
||||
# # Build hosts
|
||||
# __build_completion_add_if icecc local
|
||||
|
||||
# # Port dir
|
||||
# __build_completion_add_if port-only
|
||||
|
||||
# # Platforms
|
||||
# __build_completion_add_if native marlin bailey loggan lockhart porting-kit streambar stb
|
||||
|
||||
# COMPREPLY=($(compgen -W "$CANDIDATES" "${COMP_WORDS[${COMP_CWORD}]}"))
|
||||
# }
|
||||
|
||||
complete -F __roku_completion roku
|
||||
__roku_completion()
|
||||
{
|
||||
local CANDIDATES="device get log flash gdb gdb_attach telnet reboot audcap san_update sideload token_install"
|
||||
|
||||
# # Docker
|
||||
# __build_completion_add_if docker make
|
||||
|
||||
# # Build hosts
|
||||
# __build_completion_add_if icecc local
|
||||
|
||||
# # Port dir
|
||||
# __build_completion_add_if port-only
|
||||
|
||||
# # Platforms
|
||||
# __build_completion_add_if native marlin bailey loggan lockhart porting-kit streambar stb
|
||||
|
||||
COMPREPLY=($(compgen -W "$CANDIDATES" "${COMP_WORDS[${COMP_CWORD}]}"))
|
||||
}
|
||||
|
||||
14
_roku_lt.sh
Normal file
14
_roku_lt.sh
Normal file
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
_roku_lt_completion()
|
||||
{
|
||||
}
|
||||
|
||||
_roku_lt_build()
|
||||
{
|
||||
}
|
||||
|
||||
_roku_lt_flash()
|
||||
{
|
||||
}
|
||||
|
||||
126
_roku_shared.sh
126
_roku_shared.sh
@@ -1,19 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
# I have my automake
|
||||
export ACLOCAL_PATH=/usr/share/aclocal
|
||||
|
||||
export ROKU_NFS_ROOT=$HOME/roku/nfs
|
||||
export ROKU_NFS_IP=192.168.0.64
|
||||
export EXPORTROOT=${ROKU_NFS_ROOT}
|
||||
|
||||
if [ -z "$_ROKU_SHELL_DIR" ]; then
|
||||
_ROKU_SHELL_DIR=$(dirname $(realpath $(readlink -f "${BASH_SOURCE[0]}" )))
|
||||
fi
|
||||
_ROKU_SHELL=$_ROKU_SHELL_DIR/_roku.sh
|
||||
|
||||
export DEVPASSWORD=aaaa
|
||||
_roku_device()
|
||||
{
|
||||
if [ "$1" != "" ]; then
|
||||
export ROKU_DEV_TARGET="$1"
|
||||
export ROKU_DEV_PLATFORM="$(_roku.sh device_platform)"
|
||||
export ROKU_DEV_PLATFORM="$($_ROKU_SHELL device_platform)"
|
||||
fi
|
||||
echo "device: $ROKU_DEV_TARGET"
|
||||
echo "platform: $ROKU_DEV_PLATFORM"
|
||||
@@ -26,7 +23,7 @@ _roku_wget_pass()
|
||||
export ROKU_CORP_PASSWORD
|
||||
}
|
||||
|
||||
_ROKU_DEFAULT_DISPATCH_FUNC=_roku.sh
|
||||
_ROKU_DEFAULT_DISPATCH_FUNC=$_ROKU_SHELL
|
||||
_roku_dispatch()
|
||||
{
|
||||
local DISPATCH_FUNC=$_ROKU_DEFAULT_DISPATCH_FUNC
|
||||
@@ -47,114 +44,3 @@ roku()
|
||||
_roku_dispatch "$@"
|
||||
}
|
||||
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
# Build Completion
|
||||
#
|
||||
__roku_completion_contains()
|
||||
{
|
||||
# Platforms
|
||||
for WORD in "$@"; do
|
||||
if [[ "${COMP_WORDS[*]}" =~ "$WORD" ]]; then
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
return 0
|
||||
}
|
||||
|
||||
__roku_completion_add_if()
|
||||
{
|
||||
__roku_completion_contains "$@"
|
||||
if [[ $? == 0 ]]; then
|
||||
CANDIDATES+=" $@"
|
||||
fi
|
||||
}
|
||||
|
||||
# complete -F __build_completion roku
|
||||
# __build_completion()
|
||||
# {
|
||||
# local CANDIDATES="help clobber tests addon-checksums"
|
||||
|
||||
# # Docker
|
||||
# __build_completion_add_if docker make
|
||||
|
||||
# # Build hosts
|
||||
# __build_completion_add_if icecc local
|
||||
|
||||
# # Port dir
|
||||
# __build_completion_add_if port-only
|
||||
|
||||
# # Platforms
|
||||
# __build_completion_add_if native marlin bailey loggan lockhart porting-kit streambar stb
|
||||
|
||||
# COMPREPLY=($(compgen -W "$CANDIDATES" "${COMP_WORDS[${COMP_CWORD}]}"))
|
||||
# }
|
||||
|
||||
complete -F __roku_completion roku
|
||||
__roku_completion()
|
||||
{
|
||||
local CANDIDATES="device get log flash gdb gdb_attach telnet reboot audcap san_update sideload token_install"
|
||||
|
||||
# # Docker
|
||||
# __build_completion_add_if docker make
|
||||
|
||||
# # Build hosts
|
||||
# __build_completion_add_if icecc local
|
||||
|
||||
# # Port dir
|
||||
# __build_completion_add_if port-only
|
||||
|
||||
# # Platforms
|
||||
# __build_completion_add_if native marlin bailey loggan lockhart porting-kit streambar stb
|
||||
|
||||
COMPREPLY=($(compgen -W "$CANDIDATES" "${COMP_WORDS[${COMP_CWORD}]}"))
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
#
|
||||
# Logging
|
||||
#
|
||||
LOGDIR="${HOME}/roku/logs"
|
||||
|
||||
|
||||
dcapture()
|
||||
{
|
||||
nc minicom "$@" -C $LOGDIR/.log.$(date +%Y-%m-%d--%H-%M-%S)
|
||||
}
|
||||
|
||||
|
||||
dfile()
|
||||
{
|
||||
local Nth="-1"
|
||||
if [ $# -gt 0 ]; then
|
||||
Nth="$1"
|
||||
fi
|
||||
|
||||
echo $(ls -tr -1 ${LOGDIR}/minicom.log.* | tail ${Nth} | head -1)
|
||||
}
|
||||
|
||||
dless()
|
||||
{
|
||||
less $(lfile "$@")
|
||||
}
|
||||
|
||||
dcat()
|
||||
{
|
||||
cat $(lfile "$@")
|
||||
}
|
||||
|
||||
dgrep()
|
||||
{
|
||||
lcat | grep -a --color "$@"
|
||||
}
|
||||
|
||||
dtail()
|
||||
{
|
||||
if [ $# -gt 0 ]; then
|
||||
tail -f $(lfile) | grep "$@"
|
||||
else
|
||||
tail -f $(lfile)
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user