File: entrypoint

package info (click to toggle)
svxlink 25.05.1-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 16,828 kB
  • sloc: cpp: 78,607; tcl: 4,894; ansic: 2,838; sh: 1,594; python: 844; javascript: 430; perl: 382; ruby: 160; makefile: 113; xml: 26
file content (57 lines) | stat: -rwxr-xr-x 1,520 bytes parent folder | download
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
#!/bin/sh

set -euo pipefail

GIT_REPO=${GIT_REPO:-"https://github.com/sm0svx/svxlink.git"}
GIT_REF=${GIT_REF:-"master"}
CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE:-"RelWithDebInfo"}

if [[ ! -d svxlink ]]; then
  git clone --branch "${GIT_REF}" "${GIT_REPO}"
  cd svxlink/src
  mkdir build
  cd build
  cmake \
    -GNinja \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_INSTALL_SYSCONFDIR=/etc \
    -DCMAKE_INSTALL_LOCALSTATEDIR=/var \
    -DUSE_QT=OFF \
    -DLIB_INSTALL_DIR=/lib \
    -DDO_INSTALL_CHOWN=YES \
    -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \
    ..
  cd
fi

if [[ ! -d .svxlink ]]; then
  mkdir .svxlink
  cd .svxlink
  mkdir svxlink.d events.d modules.d

  cd events.d
  cp -s ../../svxlink/src/svxlink/svxlink/*.tcl .
  cp -s ../../svxlink/src/svxlink/modules/*/*.tcl .
  find ../../svxlink/src/build -name "*.tcl" -exec ln -s {} . \;
  rm events.tcl event_test.tcl Template.tcl
  cd ..
  mv events.d/Module[A-Z]*.tcl modules.d/
  ln -s ../svxlink/src/svxlink/svxlink/events.tcl
  ln -s ../../../usr/share/svxlink/sounds

  cd svxlink.d
  find ../../svxlink/src -name contrib -prune -o -name "*.conf" -exec cp {} . \;
  sed -i 's/^LOGIC_CORE_PATH=.*$/LOGIC_CORE_PATH=/' svxlink.conf
  sed -i 's|^EVENT_HANDLER=.*$|EVENT_HANDLER=/home/svxlink/.svxlink/events.tcl|' svxlink.conf
  mv svxlink.conf remotetrx.conf svxreflector.conf TclVoiceMail.conf ../
  rm gpio.conf ModuleTemplate.conf

  cd
fi

mkdir -p /var/lib/svxlink/pki
cd /var/spool/svxlink/
mkdir -p qso_recorder voice_mail
cd

exec "${*:-/bin/sh}"