#!/bin/sh
# add_fstab_entry
# place in /lib/udev
# $1 = devicename
# $2 = fstype

DEVICENAME=$(basename $1)
FSTYPE=$2
export $(udevinfo -qenv -n ${DEVICENAME})
ROOT=/var/run/drives
FSTAB=/var/run/ltspfs_fstab

# Make sure we have a valid FSTYPE
[ -z "${FSTYPE}" ] && FSTYPE="${ID_FS_TYPE}"   # Use udevinfo ID_FS_TYPE
[ -z "${FSTYPE}" ] && exit 1                   # That's empty too, die.

LABEL=${ID_FS_LABEL_SAFE}
BASEDEV=${DEVICENAME%%[0-9]*}

[ "${BASEDEV}" = "fd" ] && LABEL="floppy${DEVICENAME##fd}"
[ -z "${LABEL}" ] && LABEL="${ID_BUS}${ID_TYPE}-${DEVICENAME}"

# Invent $MOUNTPOINT
MOUNTPOINT=$ROOT/$LABEL
mkdir -p ${MOUNTPOINT}

echo "/dev/${DEVICENAME} ${MOUNTPOINT} ${FSTYPE} defaults 0 0" >> ${FSTAB}

# Mount in the client session, if logged in.
for LDM_SOCKET in /var/run/ldm_socket_*; do
    SERVER=${LDM_SOCKET##*_}
    if [ -S ${LDM_SOCKET} ]; then
        # ltspfs needs access to the X display
        /usr/bin/ssh -X -S ${LDM_SOCKET} ${SERVER} \
             "/usr/sbin/ltspfsmounter ${MOUNTPOINT} add"
    fi
done
