diff options
author | Rob Austein <sra@hactrn.net> | 2011-01-25 05:19:14 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2011-01-25 05:19:14 +0000 |
commit | 129913e55ff3ccd48d7fa68e24b11f2370f63f70 (patch) | |
tree | 7be6983863d16edfdb4c8cdf16bfae54b3dca90b /rcynic/installation-scripts/darwin/RCynic/RCynic | |
parent | af363c36d18a73cf88ef4f95acaabd6c6745d54e (diff) |
Minimally-tested rcynic installation for Mac OS X
svn path=/rcynic/Makefile.in; revision=3660
Diffstat (limited to 'rcynic/installation-scripts/darwin/RCynic/RCynic')
-rwxr-xr-x | rcynic/installation-scripts/darwin/RCynic/RCynic | 73 |
1 files changed, 73 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" |