diff options
Diffstat (limited to 'rcynic/installation-scripts/darwin/RCynic')
-rwxr-xr-x | rcynic/installation-scripts/darwin/RCynic/RCynic | 73 | ||||
-rw-r--r-- | rcynic/installation-scripts/darwin/RCynic/StartupParameters.plist | 19 |
2 files changed, 92 insertions, 0 deletions
diff --git a/rcynic/installation-scripts/darwin/RCynic/RCynic b/rcynic/installation-scripts/darwin/RCynic/RCynic new file mode 100755 index 00000000..8d77e549 --- /dev/null +++ b/rcynic/installation-scripts/darwin/RCynic/RCynic @@ -0,0 +1,73 @@ +#!/bin/sh - +# +# $Id$ +# +. /etc/rc.common + +name="rcynic" +start_cmd="rcynic_start" +stop_cmd="rcynic_stop" + +: ${rcynic_jaildir="/var/rcynic"} +: ${rcynic_user="rcynic"} +: ${rcynic_group="rcynic"} + +StartService() +{ + /bin/test -d "${rcynic_jaildir}" || /bin/mkdir "${rcynic_jaildir}" + /sbin/umount "${rcynic_jaildir}/dev" 2>/dev/null + + /usr/sbin/mtree -deU -p "${rcynic_jaildir}" <<EOF + + /set type=dir uname=root gname=wheel mode=0555 + . + bin + .. + dev + .. + etc + trust-anchors + .. + .. + usr + lib + system + .. + .. + .. + var + run + .. + .. + data uname=${rcynic_user} gname=${rcynic_group} mode=0755 + .. + .. +EOF + + /bin/chmod -R a-w "${rcynic_jaildir}/bin" "${rcynic_jaildir}/etc" + /usr/sbin/chown -R root:wheel "${rcynic_jaildir}/bin" "${rcynic_jaildir}/etc" + + if ! /sbin/mount_devfs devfs "${rcynic_jaildir}/dev"; then + echo "Mounting devfs on ${rcynic_jaildir}/dev failed..." + exit 1 + fi + + for i in /etc/localtime /etc/resolv.conf; do + j="${rcynic_jaildir}${i}" + if /bin/test -r "$i" && ! /usr/bin/cmp -s "$i" "$j"; then + /usr/bin/install -m 444 -o root -g wheel -p "$i" "$j" + fi + done +} + +StopService() +{ + /sbin/umount "${rcynic_jaildir}/dev" 2>/dev/null +} + +RestartService() +{ + StartService +} + +RunService "$1" diff --git a/rcynic/installation-scripts/darwin/RCynic/StartupParameters.plist b/rcynic/installation-scripts/darwin/RCynic/StartupParameters.plist new file mode 100644 index 00000000..ca46b676 --- /dev/null +++ b/rcynic/installation-scripts/darwin/RCynic/StartupParameters.plist @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>Description</key> + <string>RCynic Setup</string> + <key>OrderPreference</key> + <string>None</string> + <key>Provides</key> + <array> + <string>RCynic</string> + </array> + <key>Uses</key> + <array> + <string>Network</string> + <string>Resolver</string> + </array> + </dict> +</plist> |