#!/bin/dash
# convert a .deb to slackware txz package
# jamesbond 2015, MIT license
# Note: requires undeb, slackdesc and makepkg

### configuration
WORKDIR=/tmp/deb2txz
PKGARCH=${PKGARCH:-x86_64}
PKGVER=${PKGVER:-1.0}
PKGBUILD=${PKGBUILD:-DEB}
PKGTYPE=${PKGTYPE:-txz}

### cleanup handler
trap 'rm -rf $WORKDIR; exit' 0 INT HUP TERM

### main
case "$1" in
	-h|--help|"") echo "Usage: ${0##*/} package.deb"; exit 0;;
esac

### parse package name
PKGPATH="$(readlink -f $1)"
TARGETDIR="${PKGPATH%/*}"
PKG="${1##*/}"; PKG=${PKG%.deb}
OIFS="$IFS"; IFS="_"; set -- $PKG; IFS="$OIFS"
[ $1 ] && PKGNAME=$1
[ $2 ] && PKGVER=$2
[ $3 ] && PKGARCH=$3

### undeb
mkdir -p $WORKDIR/$$ && cd $WORKDIR/$$ &&
undeb "$PKGPATH" . &&
makepkg -c n -l n "$TARGETDIR/$PKGNAME-$PKGVER-$PKGARCH-$PKGBUILD.$PKGTYPE"
