$dist = "/root/files/fbsd/release/dist/jail"; $jails = "/root/files/jails"; $ports_dir = "/usr/ports"; $distfiles_dir = "$ports_dir/distfiles"; $local_dir = "$jails/.shared/usr/local"; $root_dir = "$jails/$name/root"; $tmp_dir = "$jails/$name/tmp"; $var_dir = "$jails/$name/var"; $domain = "jails.green.sau.si.pri.ee"; $ports = "$path/usr/ports"; $distfiles = "$path/usr/ports/distfiles"; $local = "$path/usr/local"; $dev = "$path/dev"; $root = "$path/root"; $tmp = "$path/tmp"; $var = "$path/var"; $mount_dist = "mount_nullfs -o ro $dist $path"; $mount_ports = "mount_nullfs $ports_dir $ports"; $mount_distfiles = "mount_nullfs $distfiles_dir $distfiles"; $mount_local_ro = "mount_nullfs -o ro $local_dir $local"; $mount_local_rw = "mount_nullfs $local_dir $local"; $mount_dev = "mount -t devfs devfs $dev; devfs -m $dev rule -s 100 applyset"; $mount_root = "mount_nullfs $root_dir $root"; $mount_tmp = "mount_nullfs $tmp_dir $tmp"; $mount_var = "mount_nullfs $var_dir $var"; $start = "$mount_dist; $mount_dev; $mount_root; $mount_tmp; $mount_var"; $stop = "umount $local; umount $dev; umount $root; umount $tmp; umount $var; umount $path"; $rc = "service dhclient forcerestart ${vnet.interface}"; path = "$jails/$name/.rootfs"; host.hostname = "$name.$domain"; exec.prestart = "$stop; $start; $mount_local_ro"; exec.poststop = "$stop"; exec.start = "sh /etc/rc; $rc"; exec.stop = "sh /etc/rc.shutdown jail"; exec.clean; vnet.interface = "jail_$name"; vnet; allow.raw_sockets; seagreen { exec.prestart = "$stop; $start; $mount_ports; $mount_distfiles; $mount_local_rw"; exec.poststop = "umount $distfiles; umount $ports; $stop"; } applegreen {} limegreen {}