Skip to content

Instantly share code, notes, and snippets.

@raman-kananovich
Last active January 22, 2019 11:37
Show Gist options
  • Save raman-kananovich/f26604030633f3de29838a8e1996aa05 to your computer and use it in GitHub Desktop.
Save raman-kananovich/f26604030633f3de29838a8e1996aa05 to your computer and use it in GitHub Desktop.
quick STB commands
STB="${STB_IP}" #10.6.147.11
PC="${PC_IP}" #10.6.3.137
# listen serial logs from STB
alias stb_serial="screen /dev/tty.usbserial-AM01C99T 115200"
# open SSH connection to STB
alias stb="ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no root@$STB"
# restart UI
alias stb_restart="stb 'systemctl restart jsapp'"
# enable logs and switch jsapp to DEBUG mode
alias stb_enable_logs="stb 'touch /mnt/nand/mw/i-know-im-using-devel-busybox && mount -o remount,rw / && echo \"MODE=inspect\" >> /usr/share/logcfg/current/JSAPP/log.conf'"
# take screenshot from the box
# usage stb_screenshot > stb_.png
alias stb_screenshot="stb 'touch /mnt/secure_storage/screenshot1.png && rm /mnt/secure_storage/screenshot1.png && do_screenshot.sh /mnt/secure_storage/screenshot1.png >> /mnt/secure_storage/temp.log && cat /mnt/secure_storage/screenshot1.png'"
alias stb_mount_nfs="stb '/usr/sbin/iptables -F && mount -o nolock $PC:/Users/raman_kananovich/dev/onemw-js/src/ /usr/share/lgioui/ && systemctl restart jsapp'"
# setup stb to work via NFS share
alias stb_setup_nfs="stb_enable_logs && stb_mount_nfs"
alias stb_setup_permissions="stb 'chown -R mainapp /usr/share/lgioui && chgrp -R mainapp /usr/share/lgioui'"
alias stb_copy="scp -r -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no ~/dev/onemw-js/src/* root@$STB:/usr/share/lgioui"
alias stb_quick_copy="(git status --short; stb 'touch /usr/share/lgioui/latest_status && cat /usr/share/lgioui/latest_status') | sort | uniq | awk '{source=\$2;gsub(\"src\", \"\", source);dest=source;gsub(/\/[^\/]*$/, \"\", dest);if (\$2 != source && \$1 != \"D\") print \"scp -r -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no ~/dev/onemw-js/src\" source \" root@$STB:/usr/share/lgioui\" dest}' | bash ; git status --short | stb 'cat > /usr/share/lgioui/latest_status'"
# run on new branch to override all sources
alias stb_full_run="stb_copy && stb_setup_permissions && stb_restart"
# run once after reboot
alias stb_setup="stb_enable_logs && stb_full_run"
# restart UI with the latest local changes, works only with git status command output after deleting files stb_run is required.
alias stb_quick_run="stb_quick_copy && stb_setup_permissions && stb_restart"
# One command to run UI from local sources, it will perform setup/copy/quick copy depending on the current state of STB
alias stb_run="sh ~/run.sh"

How to setup:

  1. Copy to ~/ folder and reload bash.

How to use:

  1. Run stb_run to copy sources and setup STB.
  2. Use stb_run to reload UI with the latest sources.
#!/bin/sh
source ~/.bash_profile;
current_branch_name=$(git rev-parse --abbrev-ref HEAD);
current_branch_hash=$(git rev-parse --short HEAD);
current_branch="${current_branch_name}@${current_branch_hash}";
prev_branch=$(stb 'touch /usr/share/lgioui/last_build && cat /usr/share/lgioui/last_build');
if [ -z "${prev_branch}" ]
then
stb_setup && echo "${current_branch}" | stb 'cat > /usr/share/lgioui/last_build';
echo "stb setup: ${current_branch}";
elif [ "${current_branch}" = "${prev_branch}" ];
then
stb_quick_run;
echo "stb quick run: ${current_branch}";
else
stb_full_run && echo "${current_branch}" | stb 'cat > /usr/share/lgioui/last_build';
echo "stb full run: ${current_branch}";
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment