]>
git.madduck.net Git - code/mbuild.git/commitdiff
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:
summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
f5f2e18 )
-# mbuild - make sbuild and reprepro work together
+# mbuild - 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.
#
set -eu
#
# Copyright (c) 2008 martin f. krafft <madduck@debian.org>
# Released under the terms of the Artistic Licence 2.0.
#
set -eu
-BUNDLEDIR="$HOME/reprepro/bundles "
-REPREPRODIR="$HOME/reprepro"
+BUILDDIR="$(mktemp -dt mbuild.XXXXXXXX) "
+trap "cd / && rm -R '$BUILDDIR'" 0
-DINSTALL="reprepro --basedir $REPREPRODIR include \$dist"
+BUNDLE_DIR="$BUILDDIR"
+dinstall() {
+ echo "Would install into $1:"
+ for file in $(dcmd echo "$2"); do
+ echo " $file"
+ done
+}
-GNUPGHOME="$REPREPRODIR/.gnupg"; export GNUPGHOME
-KEYID=330c4a75
-DIR="$HOME/sbuild"
-cd "$DIR"
+MBUILDRCS="/etc/mbuild/rc $HOME/.mbuildrc $HOME/.mbuild/rc"
+for rc in $MBUILDRCS; do
+ [ -r "$rc" ] && . "$rc"
+done
+
+if [ -z "$KEYID" ]; then
+ echo "E: \$KEYID is not defined in rc file." >&2
+ exit 1
+fi
+
+cd "$BUILDDIR"
schangesfile=
arch=
dist=
schangesfile=
arch=
dist=
schangesfile_basename="${schangesfile##*/}"
packagenameversion="${schangesfile_basename%_*}"
schangesfile_basename="${schangesfile##*/}"
packagenameversion="${schangesfile_basename%_*}"
-builddir="$(mktemp -dp "$DIR" "${packagenameversion}.XXXXXXXX")"
-trap "rm -R '$builddir'" 0
-
-dcmd cp "${schangesfile##*/}" "$builddir "
+dcmd cp "${schangesfile##*/}" "$BUILDDIR "
schangesfile="$schangesfile_basename"
schangesfile="$schangesfile_basename"
sbuild $sbuild_args --arch="$arch" --arch-all --dist="$dist" --keyid=$KEYID \
"$packagenameversion".dsc
changesfile="${packagenameversion}_${arch}.changes"
sbuild $sbuild_args --arch="$arch" --arch-all --dist="$dist" --keyid=$KEYID \
"$packagenameversion".dsc
changesfile="${packagenameversion}_${arch}.changes"
-eval $DINSTALL "$schangesfile"
-eval $DINSTALL "$changesfile"
+dinstall "$dist" "$schangesfile"
+dinstall "$dist" "$changesfile"
mv "$changesfile" "${changesfile}.binonly"
mergechanges "$schangesfile" "${changesfile}.binonly" > "$changesfile"
rm "${changesfile}.binonly" "$schangesfile"
bundle="$BUNDLEDIR/${packagenameversion}.bundle.tar"
mv "$changesfile" "${changesfile}.binonly"
mergechanges "$schangesfile" "${changesfile}.binonly" > "$changesfile"
rm "${changesfile}.binonly" "$schangesfile"
bundle="$BUNDLEDIR/${packagenameversion}.bundle.tar"
-dcmd tar -chf "$bundle" "$changesfile"
+dcmd tar -cv hf "$bundle" "$changesfile"
-echo "Bundle available at $bundle"
+echo "Bundle available at $bundle ."
+
+exit 0