#!/bin/bash

usage()
{
cat << EOF
`basename $0` (c) 1999-2002 Salmaso Raffaele, 2019-2021 PaulTT

  usage: `basename $0` [option] dir1 [dir2 ...]
    - option can be:
        --gz  = use gzip
        --bz2 = use bzip2
        --zip = use zip
	--tgz = use tar.gz
	--tz2 = use tar.bz2 (default, can be omitted)
	--tar = use tar
	--7z  = use 7z

Create a tar file and (optionally) compress it with bzip2 or gzip
EOF
}

EXT=tz2

case $1 in
	"--gz")
		EXT=gz
		shift 1
	;;
	"--zip")
		EXT=zip
		shift 1
	;;
	"--xpi")
		EXT=xpi
		shift 1
	;;
	"--tgz")
		EXT=tgz
		shift 1
	;;
	"--bz2")
		EXT=bz2
		shift 1
	;;
	"--tz2")
		EXT=tz2
		shift 1
	;;
	"--tar")
		EXT=tar
		shift 1
	;;
	"--7z")
		EXT=7z
		shift 1
	;;
	""|"-h"|"--help")
		usage
		exit 0
	;;
esac

export IFS=$'\n\t'

for pkg in $@
do
	echo "$pkg"
	pkgname=`basename "$pkg"`
	case $EXT in
		zip) zip -r $pkgname.zip "$pkg" ;;
		xpi) cd "$pkg" && zip -r $pkgname.xpi * ;;
		tgz) tar c "$pkg" | gzip > $pkgname.tar.gz ;;
		tz2)  tar c "$pkg" | bzip2 > $pkgname.tar.bz2 ;;
		gz) gzip "$pkg" ;;
		bz2) bzip2 "$pkg" ;;
		tar) tar c "$pkg" > $pkgname.tar;;
		7z) 7z a "$pkgname".7z "$pkg" ;;
	esac
done
			
notify-send "`basename $0`" "Compression of $pkgname to $EXT Completed." &

