]>
git.madduck.net Git - code/mbuild.git/blobdiff - sbuild-wrapper.sh
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
-# mbuild - automate builds with sbuild and dinstall the result
+# - automate builds with sbuild and dinstall the result
#
# Copyright (c) 2008 martin f. krafft <madduck@debian.org>
# Released under the terms of the Artistic Licence 2.0.
#
# Copyright (c) 2008 martin f. krafft <madduck@debian.org>
# Released under the terms of the Artistic Licence 2.0.
ME="${0##*/}"
BUILDDIR="$(mktemp -dt $ME.XXXXXXXX)"
ME="${0##*/}"
BUILDDIR="$(mktemp -dt $ME.XXXXXXXX)"
-trap "cd / && rm -R '$BUILDDIR'" 0
+trap "cd /tmp && rm -r '$BUILDDIR'" 0
BUNDLE_DIR="${TMPDIR:-/tmp}"
TARGET_DIR="$PWD"
BUNDLE_DIR="${TMPDIR:-/tmp}"
TARGET_DIR="$PWD"
echo "Copying files destined for $1 back to $TARGET_DIR..."
dcmd cp -v "$2" "$TARGET_DIR"
}
echo "Copying files destined for $1 back to $TARGET_DIR..."
dcmd cp -v "$2" "$TARGET_DIR"
}
+dinstall() {
+ copy_back_files "$@"
+}
+print_bundle_location() {
+ echo "Bundle available at $@ ."
+}
echo
echo "Valid options are:"
cat <<-_eof | column -s\& -t
echo
echo "Valid options are:"
cat <<-_eof | column -s\& -t
- --dist & specify the target distribution (default: sid )
+ --dist & specify the target distribution (default: from changes file )
--arch & specify the target architecture (default: $DEB_BUILD_ARCH)
--arch & specify the target architecture (default: $DEB_BUILD_ARCH)
+ -sa & pass --force-orig-source to sbuild
+ -B & do a binary-only build
-h|--help & show this output.
-V|--version & show version information.
_eof
}
-h|--help & show this output.
-V|--version & show version information.
_eof
}
sbuild_args=
schangesfile=
arch=
sbuild_args=
schangesfile=
arch=
for opt in "$@"; do
case "$opt" in
-h|--help) usage; exit 0;;
-V|--version) about; exit 0;;
--arch=*) arch="${opt#--arch=}";;
for opt in "$@"; do
case "$opt" in
-h|--help) usage; exit 0;;
-V|--version) about; exit 0;;
--arch=*) arch="${opt#--arch=}";;
- --dist=*) dist="${opt#--dist=}";;
-sa) sbuild_args="${sbuild_args:+$sbuild_args }--force-orig-source";;
-sa) sbuild_args="${sbuild_args:+$sbuild_args }--force-orig-source";;
--*) sbuild_args="${sbuild_args:+$sbuild_args }$opt";;
*_source.changes)
if [ -z "$schangesfile" ]; then
--*) sbuild_args="${sbuild_args:+$sbuild_args }$opt";;
*_source.changes)
if [ -z "$schangesfile" ]; then
fi
[ -z "$arch" ] && arch="$DEB_BUILD_ARCH"
fi
[ -z "$arch" ] && arch="$DEB_BUILD_ARCH"
-[ -z "$dist" ] && dist="unstable"
+
+dist="$(sed -ne 's,Distribution: ,,p' "$schangesfile")"
schangesfile_basename="${schangesfile##*/}"
packagenameversion="${schangesfile_basename%_*}"
schangesfile_basename="${schangesfile##*/}"
packagenameversion="${schangesfile_basename%_*}"
-sbuild $sbuild_args --arch="$arch" --arch-all --dist="$dist" --keyid=$KEYID \
+[ "$binonly" = 0 ] && sbuild_args="${sbuild_args:+$sbuild_args }--source --arch-all"
+
+sbuild $sbuild_args --arch="$arch" --dist="$dist" --keyid=$KEYID \
"$packagenameversion".dsc
changesfile="${packagenameversion}_${arch}.changes"
"$packagenameversion".dsc
changesfile="${packagenameversion}_${arch}.changes"
-dinstall "$dist" "$schangesfile"
-dinstall "$dist" "$changesfile"
+mergechanges "$schangesfile" "$changesfile" > temp-combined.changes
+mv temp-combined.changes "$changesfile"
+changestool "$changesfile" updatechecksums
-mv "$changesfile" "${changesfile}.binonly "
-mergechanges "$schangesfile" "${changesfile}.binonly" > "$changesfile"
-rm "${changesfile}.binonly" "$s changesfile"
+#sign_changes_file "$changesfile "
+
+dinstall "$dist" "$ changesfile"
DATESTR="$(date +%Y.%m.%d.%H%M%S)"
BUILD_PREFIX="${packagenameversion}_${arch}.${DATESTR}"
DATESTR="$(date +%Y.%m.%d.%H%M%S)"
BUILD_PREFIX="${packagenameversion}_${arch}.${DATESTR}"
bundle="${BUNDLE_DIR}/${BUILD_PREFIX}".bundle.tar
tar -chf "$bundle" *
bundle="${BUNDLE_DIR}/${BUILD_PREFIX}".bundle.tar
tar -chf "$bundle" *
rm -r "$BUILDDIR"
trap - 0
rm -r "$BUILDDIR"
trap - 0
-echo "Bundle available at $bundle . "
+print_bundle_location "$bundle "