diff --git a/helper-scripts/repack-deb11.sh b/helper-scripts/repack-deb11.sh new file mode 100755 index 0000000..80849f7 --- /dev/null +++ b/helper-scripts/repack-deb11.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +repack_debfile () { + debfile=$1 + debfile_base="${debfile%.*}" + tempdir=".tmp/" + + echo "Repacking: ${debfile} ..." + + echo "Creating ${tempdir} ..." + mkdir ${tempdir} + + echo "Extracting ${debfile} to ${tempdir} ..." + ar x --output=.tmp/ ${debfile} + + cd ${tempdir} + + echo "Creating control.tar.xz ..." + zstd -d < control.tar.zst | xz > control.tar.xz + + echo "Creating data.tar.xz ..." + zstd -d < data.tar.zst | xz > data.tar.xz + + echo "Packing control.tar.xz data.tar.xz into ${debfile_base}_deb11.deb ..." + ar -m -c -a sdsd ../${debfile_base}_deb11.deb debian-binary control.tar.xz data.tar.xz + + cd .. + + echo "Clean up ..." + rm -rf ${tempdir} + + echo "Debian package <${debfile_base}_deb11.deb> is ready!" +} + +repack_debfile $1 + +exit 0 +