diff options
author | Joachim Breitner <mail@joachim-breitner.de> | 2015-08-11 22:33:10 +0200 |
---|---|---|
committer | Joachim Breitner <mail@joachim-breitner.de> | 2015-08-11 22:33:10 +0200 |
commit | 9bba954176234dee62437b6ba2f1dc2cce000e33 (patch) | |
tree | fecaf2a08827646f1b049227a381681a5c0e726c /upload.sh | |
parent | 47378336f79d9655d686b943a73eeb34aef2b1db (diff) | |
download | DHG_packages-9bba954176234dee62437b6ba2f1dc2cce000e33.tar.gz |
New too upload
to upload a changes, tag it and push it.
Diffstat (limited to 'upload.sh')
-rwxr-xr-x | upload.sh | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/upload.sh b/upload.sh new file mode 100755 index 000000000..1f22fb545 --- /dev/null +++ b/upload.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +set -e + +if [ -z "$1" -o "$1" = "--help" ] +then + echo "Usage: $0 foo.changes" + echo + echo "Signs the .changes file and the corresponding .dsc file in a temporary" + echo "location (to avoid touching the original files), uploads them to the archive" + echo "using \"dput ssh-upload\" and tags them in the repository and pushes the tag." + echo + echo "Checks that the distribution is not UNRELEASED and that the tag does" + echo "not exist already (by tagging first)." + echo + exit 1 +fi + +changes="$@" + +root="$(realpath --relative-to=$PWD "$(git rev-parse --show-toplevel)")" +tmpdir=$root/uploads + +if [ -e $tmpdir ] +then + echo "$tmpdir exists, please remove" + exit 1 +fi +trap 'rm -rf "$tmpdir"' EXIT +mkdir $tmpdir + +for c in $changes +do + src="$(grep ^Source "$c"|grep-dctrl -s Source -n '' )" + $root/tag.pl $root/p/$src + dcmd cp -v "$c" "$tmpdir" + debsign "$tmpdir"/"$(basename "$c")" + dput ssh-upload "$tmpdir"/"$(basename "$c")" +done +git push --tags |