#!/bin/sh
#190823 sfs
HLP(){
 echo "Usage: $0 [-r] module.pfs
    Показывает названия пакетов, содержащихся в модуле.pfs
    Вместо модуля.pfs можно указать каталог, в который модуль распакован.
    -r - удалить информацию о пакетах из базы pacman. Содержимое пакетов не удаляется
    
    Удобно использовать для пересоздания модуля: 
	pfspkg -r module-1.pfs && pacman2pfs \`pfspkg module-2.pfs\`
    Не рекомендуется для пересборки 001-*.pfs. Используйте его list
    " && exit
}
[ "$1" = "--help" ] && HLP "$@"
[ "$1" ] || HLP "$@"
case $1 in 
    -r) 
	if [ -d "$2" ] ;then
	r="`ls "$2"/var/lib/pacman/local/ \
    	    |egrep -v '^ALPM_DB_VERSION|/desc$|/files$|/install$|/mtree$' |sed 's/^squashfs-root//'`"
    	    cd /var/lib/pacman/local/
	else
	r="`unsquashfs -l "$2" |egrep '^squashfs-root/var/lib/pacman/local/[a-z]' \
    	    |egrep -v '/desc$|/files$|/install$|/mtree$' |sed 's/^squashfs-root//'`"
    	fi
    	rm -R  $r && echo "$r deleted"
    	#echo $r
    	    ;;
    *) 
	if [ -d "$1" ] ;then
	ls "$1"/var/lib/pacman/local/ \
        |egrep -v '^ALPM_DB_VERSION|/desc$|/files$|/install$|/mtree$' |sed -e 's/\-[0-9].*$//g' \
	| while read i ;do
    		basename "$i"
    	  done
	else
	unsquashfs -l "$1" |egrep '^squashfs-root/var/lib/pacman/local/[a-z]' \
        |egrep -v '/desc$|/files$|/install$|/mtree$' |sed -e 's/\-[0-9].*$//g' \
	| while read i ;do
    		basename "$i"
    	  done
    	fi
    	    ;;
esac
