#!/usr/bin/env bash
#
# Initial script for Live operating system
# This script are launching before starting init from linux-live script.
# Current dir allways must be set to root (/)
# All system path must be relative, except initrd dirs

ENABLED=yes
[[ ${ENABLED} == "yes" ]] || exit 0

PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin
DEBUGMODE=no
. usr/lib/ublinux/functions
. usr/lib/ublinux/os-config
debug_mode "$0" "$@"

echo $SYSCONF | grep -q ^/ && SYSCONF=.$SYSCONF
SOURCE=${SYSCONF}/config; [ -f "${SOURCE}" ] && . ${SOURCE} 2>/dev/null

[ -z "$(cmdline_value servicesstart)" ] || SERVICESSTART=$(cmdline_value servicesstart)
[ -z "$(cmdline_value servicesnostart)" ] || SERVICESNOSTART=$(cmdline_value servicesnostart)

if [ ! -z "$SERVICESSTART$SERVICESNOSTART$SERVICESMASK$SERVICESUNMASK" ] ;then
  mkdir -p proc
  mount -o rbind /proc proc
  ISSYSTEMD=$(readlink -fq usr/bin/init | grep "lib/systemd/systemd$")
  for a in $(echo $SERVICESUNMASK,$SERVICESSTART | tr , " ") ;do
      [ $ISSYSTEMD ] && chroot . systemctl unmask $a
  done
  for a in $(echo $SERVICESSTART | tr , " ") ;do
      if [ $ISSYSTEMD ] ;then
         chroot . systemctl enable $a || true
      else
	true
      fi
  done
  for a in $(echo $SERVICESNOSTART | tr , " ") ;do
      if [ $ISSYSTEMD ] ;then
         chroot . systemctl disable $a || true
      else
	true
      fi
  done
  for a in $(echo $SERVICESMASK | tr , " ") ;do
      [ $ISSYSTEMD ] && chroot . systemctl disable $a
      [ $ISSYSTEMD ] && chroot . systemctl mask $a
  done
  umount proc
fi
