Project

General

Profile

Download (1.5 KB) Statistics
| Branch: | Tag: | Revision:
1
#!/bin/sh
2
# Functions which runs commands on the system
3

    
4
. ${BACKEND}/functions.sh
5
. ${BACKEND}/functions-parse.sh
6

    
7
run_chroot_cmd()
8
{
9
  CMD="$@"
10
  echo_log "Running chroot command: ${CMD}"
11
  echo "$CMD" >${FSMNT}/.runcmd.sh
12
  chmod 755 ${FSMNT}/.runcmd.sh
13
  chroot ${FSMNT} sh /.runcmd.sh
14
  rm ${FSMNT}/.runcmd.sh
15
};
16

    
17
run_chroot_script()
18
{
19
  SCRIPT="$@"
20
  SBASE=`basename $SCRIPT`
21

    
22
  cp ${SCRIPT} ${FSMNT}/.$SBASE
23
  chmod 755 ${FSMNT}/.${SBASE}
24

    
25
  echo_log "Running chroot script: ${SCRIPT}"
26
  chroot ${FSMNT} /.${SBASE}
27

    
28
  rm ${FSMNT}/.${SBASE}
29
};
30

    
31

    
32
run_ext_cmd()
33
{
34
  CMD="$@"
35
  # Make sure to export FSMNT, in case cmd needs it
36
  export FSMNT
37
  echo_log "Running external command: ${CMD}"
38
  echo "${CMD}"> ${TMPDIR}/.runcmd.sh
39
  chmod 755 ${TMPDIR}/.runcmd.sh
40
  sh ${TMPDIR}/.runcmd.sh
41
  rm ${TMPDIR}/.runcmd.sh
42
};
43

    
44

    
45
# Starts the user setup
46
run_commands()
47
{
48
  while read line
49
  do
50
    # Check if we need to run any chroot command
51
    echo $line | grep ^runCommand= >/dev/null 2>/dev/null
52
    if [ "$?" = "0" ]
53
    then
54
      get_value_from_string "$line"
55
      run_chroot_cmd "$VAL"
56
    fi
57

    
58
    # Check if we need to run any chroot script
59
    echo $line | grep ^runScript= >/dev/null 2>/dev/null
60
    if [ "$?" = "0" ]
61
    then
62
      get_value_from_string "$line"
63
      run_chroot_script "$VAL"
64
    fi
65

    
66
    # Check if we need to run any chroot command
67
    echo $line | grep ^runExtCommand= >/dev/null 2>/dev/null
68
    if [ "$?" = "0" ]
69
    then
70
      get_value_from_string "$line"
71
      run_ext_cmd "$VAL"
72
    fi
73

    
74
  done <${CFGF}
75

    
76
};
(12-12/18)