#!/bin/sh ACTION="$1" DEVICE="/dev/$2" LABEL=$(basename "$DEVICE") TYPE=${3:-ufs} WHERE="/media/${LABEL}" POPDIR="/var/pop" die() { [ "$#" -gt '0' ] && echo "$@" 1>&2 exit 1 } case "$ACTION" in "mount") [ -c "$DEVICE" ] || [ -b "$DEVICE" ] || die "${0}: device \`${DEVICE}' is not a character or block special" mkdir -p "${WHERE}" && chmod 0777 "${WHERE}" && mount -t "${TYPE}" "${DEVICE}" "${WHERE}" || die "${0}: failed to mount \`${DEVICE}'" mkdir -p "${POPDIR}" && chown root:wheel "${POPDIR}" && chmod 0755 "${POPDIR}" || die "${0}: failed to create pop file..." echo -n "$DEVICE" > "${POPDIR}/${LABEL}" chmod 0644 "${POPDIR}/${LABEL}" || rm "${POPDIR}/${LABEL}" ;; "unmount") rm -f "${POPDIR}/${LABEL}" rmdir "/media/${LABEL}" || die "${0}: failed to remove \`${LABEL}'" ;; *) die "${0}: unknown action: \`${ACTION}'" ;; esac