]> git.proxmox.com Git - debcargo-conf.git/blame - vars.sh.frag
vars.sh: Add modeline to recognise as a shell script
[debcargo-conf.git] / vars.sh.frag
CommitLineData
9cfc4370 1# -*- mode: sh -*-
931eabc0
XL
2set -e
3
999f9269 4abort() { local x=$1; shift; for i in "$@"; do echo >&2 "$0: abort: $i"; done; exit "$x"; }
88f8e3e6 5
b6a1d240
XL
6HOOK_COMMIT="$(dirname "$0")/.git/hooks/pre-commit"
7if [ ! -x "$HOOK_COMMIT" ]; then
8cat <<'eof' >"$HOOK_COMMIT"
9#!/bin/sh
10if git rev-parse -q --verify MERGE_HEAD; then exit; fi
11case $(git rev-parse --abbrev-ref HEAD) in
12pending-*) true;;
13*) if git diff --cached --name-only | \
14 grep '^src/.*/debian/changelog$' | \
15 while read x; do echo "$x: $(head -n1 $x)"; done | \
16 grep -v UNRELEASED-FIXME-AUTOGENERATED-DEBCARGO; then
17 echo >&2 "please don't finalise changelogs directly on the master branch, use ./release.sh instead"; exit 1;
18 fi;;
19esac
20eof
21chmod +x "$HOOK_COMMIT"
22fi
23
23db3623
XL
24if [ -n "$DEBCARGO" ]; then
25 true
26elif which debcargo >/dev/null; then
27 DEBCARGO=$(which debcargo)
28elif [ -f "$HOME/.cargo/bin/debcargo" ]; then
29 DEBCARGO="$HOME/.cargo/bin/debcargo"
30else
31 abort 1 "debcargo not found, run \`cargo install debcargo\` or set DEBCARGO to point to it"
32fi
33
34test -x "$DEBCARGO" || abort 1 "debcargo found but not executable: $DEBCARGO"
34c68b28
XL
35dcver=$($DEBCARGO --version | sed -ne 's/debcargo //p')
36case $dcver in
5c044e0d 372.0.*|2.1.*|2.2.[0123]|2.2.[0123]-*) abort 1 "unsupported debcargo version $dcver. try reinstalling with \`cargo install debcargo --force\`";;
c452f0f4 382.2.*) true;;
34c68b28
XL
39*) abort 1 "unsupported debcargo version: $dcver";;
40esac
23db3623 41
32fc064c
XL
42if [ $# -ne 1 -a $# -ne 2 ]; then
43 echo >&2 "Usage: $0 <rust-crate-name>"
44 echo >&2 " $0 <rust-crate-name> <old-version>"
45 echo >&2 "See README.rst for more details on usage."
46 exit 2
47fi
48
999f9269 49CRATE="$1"
ea9f59b2 50VER="$2"
931eabc0 51
999f9269
XL
52PKGNAME=$($DEBCARGO deb-src-name "$CRATE" $VER || abort 1 "couldn't find crate $CRATE")
53PKGBASE=$($DEBCARGO deb-src-name "$CRATE" || abort 1 "couldn't find crate $CRATE")
931eabc0
XL
54PKGDIR_REL="src/$PKGNAME"
55PKGDIR="$PWD/$PKGDIR_REL"
56BUILDDIR="$PWD/build/$PKGNAME"
57PKGCFG="$PKGDIR/debian/debcargo.toml"
1230b71f
XL
58
59mkdir -p "$(dirname $BUILDDIR)"
60
999f9269
XL
61if [ -z "$CRATE" ]; then
62 abort 2 "Usage: $0 <crate> [<version>]"
1230b71f 63fi
cc003c95
XL
64
65run_debcargo() {
66 rm -rf "$BUILDDIR" "$(dirname "$BUILDDIR")/rust-${PKGNAME}_$VER"*.orig.tar.*
67 $DEBCARGO package --config "$PKGCFG" --directory "$BUILDDIR" "$@" "$CRATE" "$VER"
68}