1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
#!/usr/bin/env bash
set -e
# Must be invoked by `debian/rules` for the use of `DEB_*` variables
if ! test -v PLATFORM_TOOLS_VERSION; then
echo 'usage: debian/rules get-orig-source'
exit 1
fi
PKG=$(pwd)
mkdir -p ../tmp/get-orig-source/manifest
(
cd ../tmp/get-orig-source/manifest
ln --physical --force ${PKG}/debian/manifest.xml default.xml
git init
git add default.xml
git commit --no-gpg-sign --message=Changes
)
# repo edits(!) a hardcoded ~/.gitconfig which will override ~/.config/git/config
(
if test -f ~/.gitconfig; then
echo 'backing up ~/.gitconfig'
cp --archive ~/.gitconfig ~/.gitconfig.get-orig-source
else
touch ~/.gitconfig
fi
git config --global user.name "${DEBFULLNAME:-$(git config user.name)}"
git config --global user.email "${DEBEMAIL:-$(git config user.email)}"
git config --global color.ui >/dev/null || git config --global color.ui auto
)
mkdir -p ../tmp/get-orig-source/archive
(
cd ../tmp/get-orig-source/archive
repo --time init --manifest-url=file://"$(readlink --canonicalize-existing ../manifest/.git)" --depth=1 -c --no-tags
repo --time sync -c --no-tags -j$(nproc)
tar --create --xz --file "../../../${DEB_SOURCE}_${PLATFORM_TOOLS_VERSION}.orig.tar.xz" --exclude-from=${PKG}/debian/orig.excludes --mtime=2000-01-01 --sort=name ./*
)
# cleanup
rm ~/.gitconfig
if test -f ~/.gitconfig.get-orig-source; then
mv ~/.gitconfig.get-orig-source ~/.gitconfig
fi
|