From 8328c113b8d533edc92f0698d05b257a9eec98fa Mon Sep 17 00:00:00 2001 From: Mattia Rizzolo Date: Tue, 18 Aug 2015 22:16:10 +0000 Subject: reproducible: alioth reschedule script: pipe args to alioth instead of passing them through commal line, to avoid ssh screw up. Thanks to Lunar and Dhole for the help on figuring out how to gettig this working --- bin/reproducible_remote_scheduler.py | 1 - hosts/alioth/home/groups/reproducible/reschedule.sh | 6 +++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/bin/reproducible_remote_scheduler.py b/bin/reproducible_remote_scheduler.py index 50957b75..fc16508e 100755 --- a/bin/reproducible_remote_scheduler.py +++ b/bin/reproducible_remote_scheduler.py @@ -30,7 +30,6 @@ if null_args.null: else: input_args = sys.argv - parser.add_argument('--dry-run', action='store_true') parser.add_argument('-k', '--keep-artifacts', action='store_true', help='Save artifacts (for further offline study)') diff --git a/hosts/alioth/home/groups/reproducible/reschedule.sh b/hosts/alioth/home/groups/reproducible/reschedule.sh index ee6b9c1f..15d0166e 100755 --- a/hosts/alioth/home/groups/reproducible/reschedule.sh +++ b/hosts/alioth/home/groups/reproducible/reschedule.sh @@ -6,4 +6,8 @@ SSH_KNOWN_HOSTS="/home/groups/reproducible/private/ssh_known_hosts" # "dummy" is discarded by the server ssh (jenkins.debian.net in this case) and # it's there because otherwise the client ssh (this) tries to parse the options # for the remote command -LC_USER="$USER" ssh -i "$SSH_KEY" -o GlobalKnownHostsFile="$SSH_KNOWN_HOSTS" jenkins@jenkins.debian.net dummy "$@" + +# separate args with NULL and pass them through stdin to avoid ssh screw up +for arg in "$@" ; do + printf "%s\0" "$arg" +done | LC_USER="$USER" ssh -i "$SSH_KEY" -o GlobalKnownHostsFile="$SSH_KNOWN_HOSTS" jenkins@jenkins.debian.net -- dummy --null -- cgit v1.2.3-70-g09d2