mirror of
https://git.proxmox.com/git/rustc
synced 2025-08-17 05:00:17 +00:00

stolen and adapted from the Debian chromium team:
6d7fbc1a56/debian/rules (L222)
Signed-off-by: Fabian Grünbichler <debian@fabian.gruenbichler.email>
53 lines
1.1 KiB
Bash
Executable File
53 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -ex
|
|
|
|
if [[ -n "$1" ]]; then
|
|
ver="$1"
|
|
fi
|
|
|
|
if [[ -z "$ver" ]]; then
|
|
echo '$ver must be set'
|
|
exit 1
|
|
fi
|
|
|
|
suffix="+dfsg1"
|
|
if [[ -n "$2" ]]; then
|
|
suffix="$2"
|
|
fi
|
|
echo "Setting repack suffix to '$suffix'"
|
|
|
|
tarball=../"rustc-${ver/\~/-}-src.tar.xz"
|
|
|
|
echo "Looking up top-level dir in '$tarball'.."
|
|
top="$(tar tf "$tarball" | head -n1)"
|
|
|
|
if [[ -z "$top" ]]; then
|
|
echo "Failed to extract top-level dir from '$tarball'"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Top-level dir: '$top'"
|
|
|
|
grep-dctrl -n -F Files-Excluded -s Files-Excluded '' debian/copyright \
|
|
| sed -r 's/^ +//; /^$/d' \
|
|
| awk -v top="$top/" '/^\*/{print; next} {print top $$0}' \
|
|
> "$tarball.excludes"
|
|
|
|
echo "Extracting tarball to '$top'"
|
|
tar --exclude-from="$tarball.excludes" -xf "$tarball"
|
|
|
|
echo "Removing excludes file"
|
|
rm -f "$tarball.excludes"
|
|
|
|
echo "Removing empty dirs"
|
|
find "$top" -depth -type d -empty -print -delete
|
|
|
|
tar_options="--sort=name --owner=0 --group=0 --numeric-owner"
|
|
origtxz="../rustc_$ver$suffix.orig.tar.xz"
|
|
|
|
echo "Repacking extracted tarball.."
|
|
rm -f "$origtxz"
|
|
tar $tar_options -cf - "$top" | xz -6 -T0 - > "$origtxz"
|
|
|