#!/bin/bash
v=170719 ##sfs
[ ! "$1" ] && echo "
Перепаковка или упрощенное создание pacman пакета с редактированием '.PKGINFO'
    Use: $0 имя_пакета
Рекомендуется только для перепаковки с имеющимся '.PKGINFO'
Если имеется 'PKGBUILD' лучше воспользоваться им и 'makepkg' 
Для создания пакета - 'mkpkg'
" && exit

CP(){
echo "
================================
Отредактируйте '$1/.PKGINFO', заполните файлами '$1' и снова запустите '$0 $1'
size= заполняется автоматически
Документация:
https://wiki.archlinux.org/index.php/PKGBUILD_(Русский)
https://wiki.archlinux.org/index.php/Creating_Packages_(Русский)
" ;exit
}

p="`basename $1 |awk -F- '{print $1}'`"
[ ! -f $1/.PKGINFO ] && { mkdir "$1" ; echo "\
# Generated by `basename $0` $v
# `date`
pkgname = $p
pkgver = `date "+%y%m%d"`-1
pkgdesc = $p
url = http://puppyrus.org
builddate = `date +%s`
packager = PRA user
size =
arch = $HOSTTYPE
license = GPL
depend = clutter
optdepend = yajl>=2.0
makepkgopt = strip
makedepend = git
makedepend = libtool
" > $1/.PKGINFO && CP $1 && exit ;}
cd $1


if [ "`find  -type d`" = "." ] ;then
    echo "Директория '$1' пуста. Заполните..." && exit
else
    size1="$(/usr/bin/du -sk --apparent-size)"
    size2="$(/usr/bin/du -skh --apparent-size)"
    size="$(( ${size1%%[^0-9]*} * 1024 ))"
    pp="`awk '/pkgname =/ {print $3}' .PKGINFO`"
    vv="`awk '/pkgver =/ {print $3}' .PKGINFO`"
    aa="`awk '/arch =/ {print $3}' .PKGINFO`"
    #vv="-`awk -F "pkgver = " '{print $2}' .PKGINFO| tr -d [:space:]`"
    sed -i 's/^size =.*/size = '$size'/' .PKGINFO 
    #bsdtar -cf - "${comp_files[@]}" * | xz -xz -c -z - >1.tar.xz
    #bsdtar -cf - .PKGINFO .MTREE * | xz -c -z - > ../../1.pkg.tar.xz
    echo "Добавление в пакет информации:"
    [ -f .INSTALL ] && INSTALL=".INSTALL"
    bsdtar -vcf - $INSTALL .PKGINFO  * | xz -c -z - > ../$pp-$vv-$aa.pkg.tar.xz && \
    echo "
    ======================================
`pacman -Qip ../$pp-$vv-$aa.pkg.tar.xz`
    ======================================
    Пакет '$pp-$vv-$aa.pkg.tar.xz' собран. Размер файлов внутри: $size2" && exit || \
    echo "
    ======================================
    Ошибка!"
fi