#!/bin/ash
#160510 sfs
#151115 ander
[ ! "$1" ] && echo "Разрешение зависимостей модуля.pfs
Usage: $0 [-qn][-m имя модуля] regex1 [regex2] ...
    где 'regex' - начало названия зависимого модуля без учета регистра
    -m имя модуля - имя будет показано в диалоге
    -q не показывать уведомление при автоматическом подключении
    -n не пытаться подключить автоматически, сразу открывать диалог" && exit

while getopts "qnm:" opt; do
  case $opt in
    "m" ) modname=" $OPTARG" 
	msg="Необходим для$modname"
	;;
    "q" ) quiet=on ;;
    "n" ) noauto=on ;;
  esac
done
shift $(( $OPTIND - 1 ))

for i in $@ ; do
    ls -1d /mnt/.* |grep -iq "/mnt/\.[0-9-]*$i" && continue
    ls -1d  /mnt/live/memory/images/* |grep -iq "images/[0-9-]*$i" && continue
    [ ! $noauto ] \
       && needname=$(ls -1 /mnt/live/porteus/optional/*.pfs \
                     |grep -im 1 "optional/[0-9-]*$i") \
       && sudo pfsload $needname \
       && { [ ! $quiet ] \
              && ntf -i \
                 "Подключен зависимый модуль 
$(basename $needname)" \
                 $msg
            [ -f "/mnt/.$(basename $needname)/start.sh" ] \
               && echo "/mnt/.$(basename $needname)" >>/tmp/tostart.lst
            continue
          }
    ntf -q "Подключенный модуль$modname зависит от модуля:" \
	   "<i>'$i'</i>\nБез него он неработоспособен.\n" \
	   "Подключить?" || continue
    sudo sfs-get -p "$i"
done