#
# - automate builds with sbuild and dinstall the result
#
-# Copyright (c) 2008 martin f. krafft <madduck@debian.org>
+# Copyright (c) 2008–2010 martin f. krafft <madduck@debian.org>
# Released under the terms of the Artistic Licence 2.0.
#
set -eu
ME="${0##*/}"
BUILDDIR="$(mktemp -dt $ME.XXXXXXXX)"
-trap "cd /tmp && rm -r '$BUILDDIR'" 0
+cleanup() {
+ cd /tmp && rm -r "$BUILDDIR"
+ trap - 1 2 3 4 5 6 7 8 10 11 12 13 14 15
+}
+trap cleanup 1 2 3 4 5 6 7 8 10 11 12 13 14 15
BUNDLE_DIR="${TMPDIR:-/tmp}"
TARGET_DIR="$PWD"
dcmd cp "${schangesfile##*/}" "$BUILDDIR"
schangesfile="$schangesfile_basename"
+OLDPWD="$PWD"
cd "$BUILDDIR"
dcmd "$dscfile_basename" | while read f; do
case "$f" in
*.tar.gz|*.tar.bz2|*.tar.lzma|*.tar.xz)
- last_version="$(apt-cache madison $packagename | sed -rne "s,.+(\<${upstream_version}[^[:space:]]+).*,\1,p")"
- echo "I: fetching missing tarball for $upstream_version (from $last_version)…" >&2
- apt-get --tar-only --only-source source "${packagename}=${last_version}"
+ if [ -f "$OLDPWD/$f" ]; then
+ echo "I: using existing tarball for $upstream_version…" >&2
+ cp $OLDPWD/$f $f
+ else
+ last_version="$(apt-cache madison $packagename | sed -rne "s,.+(\<${upstream_version}[^[:space:]]+).*,\1,p")"
+ echo "I: fetching missing tarball for $upstream_version (from $last_version)…" >&2
+ if ! apt-get --tar-only --only-source source "${packagename}=${last_version}"; then
+ echo "E: I do not know how to obtain the file: $f" >&2
+ exit 1
+ fi
+ fi
;;
*)
echo "E: I do not know how to obtain the file: $f" >&2
tar -chf "$bundle" *
chmod 644 "$bundle"
-rm -r "$BUILDDIR"
-trap - 0
+cleanup
print_bundle_location "$bundle"