#!/bin/sh
#170208 sfs
HLP(){
echo "Сборка модуля.pfs из arch пакетов
    Usage: `basename $0` [-n] пакет [список пакетов]
	-n - пропустить очистку кэш пакетов

    Пример списка пакетов:
    pack1
    #pack2
    pack3
    " && exit
}
[ ! "$1" ] && HLP
[ "$1" = "--help" ] && HLP

[ "$1" = "-n" ] && n=1 && shift
for i in $@ ;do
    if [ -f $i ] ;then
	    p1="`egrep -v '^#' $i`" && p="$p `echo $p1`"
	else
	    p="$p $i"
    fi
done
p1="`echo $p`"
#echo =$p1=;exit

if [ ! -f /var/lib/pacman/sync/core.db ] ;then
	read -p "База пакетов пуста. Синхронизировать? [Y/n] " y
	[ "$y" = "n" ] && exit || sudo pacman -Syy
fi

if [ ! "$n" ] ;then
    read -p "Очистить кэш пакетов? [Y/n] " y
    [ "$y" = "n" ] && exit || sudo rm /var/cache/pacman/pkg/* #pacman -Sc --noconfirm
fi

DIR() {
dir="$(basename "`echo $p1 |awk '{print $1}'`")"
dir="$(basename `ls -1 /var/cache/pacman/pkg/ |grep "$dir" |head -1` -$HOSTTYPE.pkg.tar.xz)"
#echo $dir $p1;exit
#[ "$dir" ] || dir="$p1"
}

#DIR ;echo =$p1=-$dir-;exit
pacman -Sw $p && DIR && mkdir -p $dir/var/lib/pacman/local \
    && pacman -Uddr $dir /var/cache/pacman/pkg/*.pkg.tar.xz --noconfirm --force \
    && trim $dir && echo "
================================================
Пакеты установлены в директорию $dir. 
Откорректируйте /usr/share/application/*.desktop
Сделайте: mkpfs $dir"
#Сделайте: trim $dir && mkpfs $dir"
exit
mksquashfs /mnt/sda1/gimp /mnt/sda1/gimp.xzm -comp xz -b 524288 -Xbcj x86
