summaryrefslogtreecommitdiff
path: root/systemd/magic4linux-start
blob: 058080d5af549f4cfe71c8b2e63ba5185cd355ce (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
64
65
66
67
68
69
70
71
72
73
74
75
#! /usr/bin/bash

ARES_DEVICE_INFO_CMD="$WEBOS_CLI_TV/ares-device-info"
ARES_LAUNCH_CMD="$WEBOS_CLI_TV/ares-launch"
ARES_INSTALL_CMD="$WEBOS_CLI_TV/ares-install"
GOPATH=$(/usr/bin/go env GOPATH)

echo "Using variables:"
echo "WEBOS_CLI_TV=$WEBOS_CLI_TV"
echo "MAGIC4PC_DIST=$MAGIC4PC_DIST"

function ares_available() {
  if ! command -v $ARES_DEVICE_INFO_CMD &> /dev/null
  then
    echo "$ARES_DEVICE_INFO_CMD could not be found"
    exit 1
  fi
}

function wait_ares_connection() {
  until $ARES_DEVICE_INFO_CMD > /dev/null
  do
    echo "Cannot establish connection to ares"
    sleep 1
  done
  echo "Connection to ares established"
}

function check_magic4pc_installed() { 
  $ARES_INSTALL_CMD -l | grep -q 'me.wouterdek.magic4pc' 
  return $? 
} 

function install_magic4pc() { 
  $ARES_INSTALL_CMD $MAGIC4PC_DIST 
} 

function check_magic4pc_running() { 
  $ARES_LAUNCH_CMD -r | grep -q 'me.wouterdek.magic4pc' 
  return $? 
} 

function start_magic4pc() { 
  $ARES_LAUNCH_CMD me.wouterdek.magic4pc 
  return $? 
} 

if ares_available; then 
  wait_ares_connection

  if check_magic4pc_installed; then 
    echo "Magic4pc already installed" 
  else 
    echo "Magic4pc not installed, installing.." 
    if install_magic4pc; then 
      echo "Magic4pc installed" 
    else 
      exit 1 
    fi 
  fi 
  
  if check_magic4pc_running; then 
    echo "WebOS Magic4pc application is already running" 
  else 
    echo "WebOS Magic4pc application not running, starting.." 
    if start_magic4pc; then 
      echo "Magic4pc started" 
    else 
      exit 1 
    fi 
  fi
fi 

echo "Starting magic4linux.." 
$GOPATH/bin/magic4linux