Radix cross Linux

The main Radix cross Linux repository contains the build scripts of packages, which have the most complete and common functionality for desktop machines

452 Commits   2 Branches   1 Tag
#!/bin/sh
#
# rc.sysvinit   This file provides basic compatibility with SystemV style
#               startup scripts. The SystemV style init system places start/stop
#               scripts for each runlevel into directories such as /etc/rc.d/rc3.d
#               (for runlevel 3) instead of starting them from /etc/rc.d/rc.M.
#               This makes for a lot more init scripts, and a more complicated
#               execution path to follow through if something goes wrong. For
#               this reason, Radix has always used the traditional BSD style
#               init script layout.
#
#               However, many binary packages exist that install SystemV init scripts.
#               With rc.sysvinit in place, most well-written startup scripts will work.
#               This is primarily intended to  support commercial software, though,
#               and probably shouldn't be considered bug free.
#
#               Written by Patrick Volkerding <volkerdi@slackware.com>, 1999
#               from an example by Miquel van Smoorenburg <miquels@cistron.nl>.

# Run an init script:
startup() {
  case "$1" in
  *.sh)
    sh "$@"
    ;;
  *)
    "$@"
    ;;
  esac
}

# Set onlcr to avoid staircase effect.
stty onlcr 0>&1

if [ "$runlevel" = "" ]; then
  runlevel=$RUNLEVEL
  export runlevel
  prevlevel=$PREVLEVEL
  export prevlevel
fi

# Run kill scripts in the previous runlevel if not "none"
if [ ! "$prevlevel" = "N" ]; then
  for script in /etc/rc.d/rc$prevlevel.d/K* ; do
    if [ -x $script ]; then
      startup $script stop
    fi
  done
fi

# Now do the startup scripts:
for script in /etc/rc.d/rc$runlevel.d/S* ; do
  if [ -x $script ]; then
    startup $script start
  fi
done