#!/usr/bin/env bash

if [[ -z $1 ]]; then echo "pas d'arguments"; exit 1; fi

folder=$1

#On cherche le Pkgfile
pkgf=$(find $folder -name Pkgfile -print)

#On source le Pkgfile pour avoir les variables de nom, version et release
source $pkgf

if [[ -z $release ]]; then release=1; fi

file=$folder/$name.[0-9]*

tmpfolder=$(mktemp -d)

if ! tar xOf $file .MTREE > $tmpfolder/files; then
  rm -rf $tmpfolder
  exit 2
fi

cp -r $file $tmpfolder/

basename=$(basename $file)

fileext=${basename##*.}

case $fileext in
  xz)
   xz -d $tmpfolder/$basename
  ;;
  gz)
   gzip -d $tmpfolder/$basename
  ;;
  zst)
   zstd -d $tmpfolder/$basename
  ;;
  bz2)
   bzip2 -d $tmpfolder/$basename
  ;;
esac

tmpfile=$tmpfolder/${basename/.$fileext/}

tar --file $tmpfile --delete .MTREE

pushd $tmpfolder 2>&1
tar --append --file=$(basename $tmpfile) files
rm -f files

popd 2>&1

case $fileext in
  xz)
   xz $tmpfile
  ;;
  gz)
   gzip $tmpfile
  ;;
  zst)
   zstd $tmpfile
  ;;
  bz2)
   bzip2 $tmpfile
  ;;
esac

mv $tmpfolder/$basename $folder

rm -rf $tmpfolder

