#!/bin/sh

set -eux

PACKAGE=$1
CHDIST_DIR=$(realpath ./chdist)
WORKDIR=$(mktemp -d)
MERGED_DIRS="bin sbin lib lib32 lib64 libo32 libx32"
cleanup() {
	rm -Rf "$WORKDIR"
}
trap cleanup EXIT HUP INT TERM

env -C "$WORKDIR" chdist -d "$CHDIST_DIR" apt-get orig download "$PACKAGE"
debfile=$(echo "$WORKDIR/${PACKAGE}_"*.deb)
dpkg-deb -x "$debfile" "$WORKDIR/unpack"
dpkg-deb -e "$debfile" "$WORKDIR/unpack/DEBIAN"
rm -f "$debfile"
for d in $MERGED_DIRS; do
	test -d "$WORKDIR/unpack/$d" || continue
	mkdir -p "$WORKDIR/unpack/usr"
	cp --link --archive "$WORKDIR/unpack/$d" "$WORKDIR/unpack/usr/"
	rm -Rf "$WORKDIR/unpack/$d"
done
dpkg-deb -b "$WORKDIR/unpack" "$WORKDIR"
debfile=$(echo "$WORKDIR/${PACKAGE}_"*.deb)
mv "$debfile" repacked/
