From 6504680272d7437330c628922a02fdad65dc37b0 Mon Sep 17 00:00:00 2001 From: Brian Harring Date: Sat, 14 Apr 2012 00:15:18 -0700 Subject: readlink -f DISKIMAGE earlier, and start better using openrc capabilties. --- .../qemu-init-scripts/files/qemu-init-script | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'app-emulation/qemu-init-scripts') diff --git a/app-emulation/qemu-init-scripts/files/qemu-init-script b/app-emulation/qemu-init-scripts/files/qemu-init-script index ba9aae3..0fbfec4 100644 --- a/app-emulation/qemu-init-scripts/files/qemu-init-script +++ b/app-emulation/qemu-init-scripts/files/qemu-init-script @@ -56,23 +56,24 @@ sanity_check() { eerror "You have to create an init script for each vm:" eerror " ln -s vm /etc/init.d/vm.vmname" return 1 - elif [ ! -f "${DISKIMAGE}" -a ! -b "${DISKIMAGE}" ]; then + fi + DISKIMAGE=$(readlink -f "${DISKIMAGE}") + if [ ! -f "${DISKIMAGE}" -a ! -b "${DISKIMAGE}" ]; then eerror "couldn't find \$DISKIMAGE '$DISKIMAGE'" return 1; fi discern_vm_binary } +start_pre() { + checkpath -d --owner root:root --mode 0644 "${PIDFILE%/*}" \ + "${MONITOR%/*}" +} + + start() { sanity_check || return 1 - img=$(readlink -f "${DISKIMAGE}") - [ -z "$img" ] && { - eerror "couldn't find ${DISKIMAGE}" - return 1; - } - - mkdir -p "${PIDFILE%/*}" "${MONITOR%/*}" ebegin "creating qtap ${QTAP:-(auto allocating one)}" if [ -n "$QTAP" ]; then qtap-manipulate create_specific "${QTAP}" -u "${DROP_USER}" @@ -91,7 +92,7 @@ start() { --pidfile ${PIDFILE} \ -- -daemonize -pidfile ${PIDFILE} -monitor unix:${MONITOR},server,nowait \ -runas ${DROP_USER} -name ${VMNAME} \ - -drive file="$img",if=${DRIVE_MODEL:-virtio},cache=${DRIVE_CACHE:-none} \ + -drive file="$DISKIMAGE",if=${DRIVE_MODEL:-virtio},cache=${DRIVE_CACHE:-none} \ -net nic,model=${NIC_MODEL:-virtio},macaddr=${MACADDR} -net tap,ifname=${QTAP},script=no \ ${DISABLE_KVM:---enable-kvm} \ ${MEMORY:+-m ${MEMORY}} ${SMP:+-smp ${SMP}} ${VNC:+-vnc ${VNC}} ${OTHER_ARGS} -- cgit v1.2.3-65-gdbad