#!/bin/bash
#130927 ##sfs
[ "$1" = "-i" ] && i=1 && shift

if [ "`echo $1 |egrep '.pkg.tar.xz$'`" ] ;then
    n="`echo "$1" |sed -e 's/\-[0-9].*$//g'`"
    v="`echo "$1" |sed 's/'$n'//' |awk -F- '{print $2}'`"
    r="`echo "$1" |sed 's/'$n'//' |awk -F- '{print $3}'`"
	if [ ! "`tar tfa "$1"   |egrep '^usr/local/share/doc/pra/PKGBUILD/'$n'/PKGBUILD$'`" ] ;then
	    echo "Пакет не содержит /usr/local/share/doc/pra/PKGBUILD/'$n'/PKGBUILD" && \
		mkdir "$n-$v-$r"  && echo "Распаковка ... " && cd "$n-$v-$r" && bsdtar xf "../$1" && \
		echo OK && echo "Запаковать: dir2pkg $n-$v-$r или в mc 'Enter' на .PKGINFO"
	    exit
	fi
    a="`echo "$1" |sed 's/'$n'//' |awk -F- '{print $4}' |sed 's/.pkg.tar.xz//'`"
    d="$2"
    pra=1
else
    n="$1" ; v="$2" ; r="$3" ; a="$HOSTTYPE" ; d="$4"
fi
#echo $n $v $r $a ;exit

[ ! "$r" ] && echo "
Распаковка pacman пакета с /usr/local/share/doc/pra/PKGBUILD/*/PKGBUILD для правки
    Use: $0 [-i] имя_пакета.pkg.tar.xz [описание]
Cоздание  pacman пакета через редактирование шаблона 'PKGBUILD'
    Use: $0 [-i] имя_пакета версия релиз [описание]
	-i - создать *.install
    Например: jwm 2.1 1 \"A lightweight window manager\"
Если нужна только упаковка 'pkg' (без сборки) - секция 'package()' должна быть пустой
или измененной на '-package()'
" && exit

[ "$d" ] || d="$n"
mkdir -p $n-$v-$r/pkg/$n/usr/local/share/doc/pra/PKGBUILD/$n

echo "\
# Maintainer: Somebody <somebody[at]foo[dot]tld>
pkgname=$n
pkgver=$v
pkgrel=$r
pkgdesc=\"$d\"
arch=('$a')
url=\"http://puppyrus.org\"
license=('GPL')
#groups=('pra-base')
#depends=('gtkdialog' 'ntf')
#optdepends=('java-runtime')
makedepends=()
#provides=(\"cairo=\$pkgver\" \"cairo-tee=\$pkgver\")
conflicts=()
replaces=()
backup=()
#install=\"$n.install\"
#source=(\"http://www.server.tld/\${pkgname}-\${pkgver}.tar.gz\"
#        \"foo.desktop\")
#md5sums=('a0afa52d60cea6c0363a2a8cb39a4095'
#         'a0afa52d60cea6c0363a2a8cb39a4095')

build() {
  cd \"\${srcdir}/\${pkgname}-\${pkgver}\"
#  cmake ./ -DCMAKE_INSTALL_PREFIX=/usr
  ./configure --prefix=/usr \\
	--sysconfdir=/etc \\
	--localstatedir=/var \\
	--disable-static \\
  make
}

-package() {
  depends=('libpng' 'pixman>=0.28.0') 
  cd \"${srcdir}/\${pkgname}-\${pkgver}\"
  make DESTDIR=\"\${pkgdir}\" install
  install -Dm644 COPYING \"\$pkgdir/usr/share/licenses/\$pkgname/COPYING\"
}

# vim:set ts=2 sw=2 et:
" > $n-$v-$r/pkg/$n/usr/local/share/doc/pra/PKGBUILD/$n/PKGBUILD

ln -sf pkg/$n/usr/local/share/doc/pra/PKGBUILD/$n/PKGBUILD $n-$v-$r/PKGBUILD

if [ "$i" ] ;then
echo "\
# This is a default template for a post-install scriptlet.
# Uncomment only required functions and remove any functions
# you don't need (and this header).

## arg 1:  the new package version
#pre_install() {
  # do something here
#}

## arg 1:  the new package version
#post_install() {
  # do something here
#}

## arg 1:  the new package version
## arg 2:  the old package version
#pre_upgrade() {
  # do something here
#}

## arg 1:  the new package version
## arg 2:  the old package version
#post_upgrade() {
  # do something here
#}

## arg 1:  the old package version
#pre_remove() {
  # do something here
#}

## arg 1:  the old package version
#post_remove() {
  # do something here
#}

# vim:set ts=2 sw=2 et:
" > $n-$v-$r/pkg/$n/usr/local/share/doc/pra/PKGBUILD/$n/$n.install

ln -sf pkg/$n/usr/local/share/doc/pra/PKGBUILD/$n/$n.install $n-$v-$r/$n.install
fi

[ "$pra" ] && echo "Распаковка ... " && cd "$n-$v-$r/pkg/$n" && bsdtar xf "../../../$1" && \
    echo OK && find   -type f \( -name ".*" \) -delete

echo "
================================
1.  Отредактируйте '$n-$v-$r/PKGBUILD'. 
    Для заполнения '*depends' можно использовать 'namcap -m' и 'mkpkg-dep'
2.  Заполните файлами '$n-$v-$r/pkg/$n' 
3.  Запустите 'makepkg -R --asroot' в '$n-$v-$r'

Документация:
https://wiki.archlinux.org/index.php/PKGBUILD_(Русский)
https://wiki.archlinux.org/index.php/Creating_Packages_(Русский)
" 

