Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37749275
en ru br
Репозитории ALT
5.1: 0.6-alt9.M51.1
4.1: 0.6-alt5
4.0: 0.6-alt7.M40.1
www.altlinux.org/Changes

Группа :: Сети/Удалённый доступ
Пакет: lbuscd

 Главная   Изменения   Спек   Патчи   Исходники   Загрузить   Gear   Bugs and FR  Repocop 

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

devicename=$(basename $1)
fstype=$2
if [ -z "$fstype" ]; then
fstype="$ID_FS_TYPE"
# fstype unknown, do nothing
[ -n "$fstype" ] || exit 1
fi
[ "$fstype" != "swap" ] || exit 0

BASEDEV=$(echo $devicename | tr -d "0-9")

if [ ${BASEDEV} = "fd" ]; then
DEVNUM=$(echo $devicename | tr -d "fd")
LABEL="floppy${DEVNUM}"
fstype="vfat"
else
export $(udevinfo --query=env --name=$devicename)
LABEL=${ID_FS_LABEL_SAFE}
if [ -z ${LABEL} ]; then
LABEL=$(echo ${ID_BUS}${ID_TYPE}-$devicename |tr " " "_")
fi
fi

# make sure the root we mount to exists
ROOT=/tmp/drives
[ -d $ROOT ] || mkdir ${ROOT}

# invent $MOUNTPOINT
MOUNTPOINT=$ROOT/$LABEL
[ -d $MOUNTPOINT ] || mkdir ${MOUNTPOINT}

BLOCKS=${3:-0}
SIZE=$((${BLOCKS}*512/1048576))
DESCRIPTION="${ID_VENDOR}"
ENC_CONF="/etc/udev/fs-encoding.conf"
[ -f "$ENC_CONF" ] && . "$ENC_CONF"
CODEPAGE=${CODEPAGE:-866}
IOCHARSET=${IOCHARSET:-utf8}
if [ "${ID_TYPE}" = "cd" ]; then
MOUNTOPTS="ro"
if [ -n "${ID_CDROM_DVD}" ]; then
DESCRIPTION="DVD"
else
DESCRIPTION="CD"
fi
DESCRIPTION="${DESCRIPTION}-ROM"
if [ "${IOCHARSET}" = "utf8" ]; then
MOUNTOPTS="${MOUNTOPTS},utf8"
else
MOUNTOPTS="${MOUNTOPTS},iocharset=${IOCHARSET}"
fi
echo "/dev/$devicename ${MOUNTPOINT} udf,iso9660,cdfs ${MOUNTOPTS} 0 0" >> /tmp/fstab
echo "AddCdromDrive|${LABEL}|/dev/${devicename}|${DESCRIPTION}" > /tmp/lbus.fifo
else
REMOVABLE=0
MOUNTOPTS="rw,noatime"
if [ ${BASEDEV} = "fd" ]; then
DESCRIPTION="Floppy"
MOUNTOPTS="${MOUNTOPTS},codepage=866,utf8"
else
if [ "${ID_BUS}" = "usb" ]; then
DESCRIPTION="USB DISK ${ID_VENDOR}"
REMOVABLE=1
elif [ "${ID_BUS}" = "scsi" -a "${ID_VENDOR}" = "ATA" ]; then
DESCRIPTION="SATA DISK"
else
DESCRIPTION="ATA DISK"
fi
DESCRIPTION="${DESCRIPTION} ${ID_MODEL}"
if [ "${fstype}" = "vfat" -o "${fstype}" = "fat" ]; then
MOUNTOPTS="${MOUNTOPTS},codepage=${CODEPAGE}"
fi
if [ "${fstype}" = "iso9660" -o "${fstype}" = "ntfs" -o "${fstype}" = "vfat" -a "${IOCHARSET}" = "utf8" ]; then
MOUNTOPTS="${MOUNTOPTS},utf8"
elif [ "${fstype}" = "fat" -o "${fstype}" = "jfs" -o "${fstype}" = "iso9660" -o "${fstype}" = "vfat" -o "${fstype}" = "udf" ]; then
MOUNTOPTS="${MOUNTOPTS},iocharset=${IOCHARSET}"
fi
if [ "${fstype}" = "ntfs" ]; then
if grep -q '^fuse[[:blank:]]' /proc/modules; then
if [ -x /sbin/mount.fuse.ntfs ]; then
fstype="fuse.ntfs"
MOUNTOPTS="${MOUNTOPTS},silent,umask=000"
elif [ -x /sbin/mount.ntfs-3g ]; then
fstype="ntfs-3g"
MOUNTOPTS="${MOUNTOPTS},silent,umask=000"
fi
else
MOUNTOPTS="${MOUNTOPTS},nls=${IOCHARSET}"
fi
fi
fi
echo "/dev/$devicename ${MOUNTPOINT} ${fstype} ${MOUNTOPTS} 0 0" >> /tmp/fstab
echo "AddBlockDevice|${LABEL}|/dev/${devicename}|${REMOVABLE}|${SIZE}|${DESCRIPTION}" > /tmp/lbus.fifo
fi
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin