From 499cc882ac9c90b765a2c1451c2d7257e2c083c7 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Mon, 24 Nov 2008 16:49:50 -0600 Subject: [PATCH] Make scp and ssh commands configurable --- extra/mason/common/common.factor | 8 +++++--- extra/mason/config/config.factor | 9 ++++++++- extra/mason/release/branch/branch-tests.factor | 1 + extra/mason/release/branch/branch.factor | 5 ++--- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/extra/mason/common/common.factor b/extra/mason/common/common.factor index fc7149e181..49f280fa84 100644 --- a/extra/mason/common/common.factor +++ b/extra/mason/common/common.factor @@ -15,9 +15,11 @@ IN: mason.common :: upload-safely ( local username host remote -- ) [let* | temp [ remote ".incomplete" append ] - scp-remote [ { username "@" host ":" temp } concat ] | - { "scp" local scp-remote } short-running-process - { "ssh" host "-l" username "mv" temp remote } short-running-process + scp-remote [ { username "@" host ":" temp } concat ] + scp [ scp-command get ] + ssh [ ssh-command get ] | + { scp local scp-remote } short-running-process + { ssh host "-l" username "mv" temp remote } short-running-process ] ; : eval-file ( file -- obj ) diff --git a/extra/mason/config/config.factor b/extra/mason/config/config.factor index e4ef127413..9169fbf196 100644 --- a/extra/mason/config/config.factor +++ b/extra/mason/config/config.factor @@ -1,6 +1,6 @@ ! Copyright (C) 2008 Eduardo Cavazos, Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: system io.files namespaces kernel accessors ; +USING: system io.files namespaces kernel accessors assocs ; IN: mason.config ! (Optional) Location for build directories @@ -77,3 +77,10 @@ SYMBOL: upload-username ! Directory with binary packages. SYMBOL: upload-directory + +! Optional: override ssh and scp command names +SYMBOL: scp-command +scp-command global [ "scp" or ] change-at + +SYMBOL: ssh-command +ssh-command global [ "ssh" or ] change-at diff --git a/extra/mason/release/branch/branch-tests.factor b/extra/mason/release/branch/branch-tests.factor index ae3ddb61fc..463f8b13c1 100644 --- a/extra/mason/release/branch/branch-tests.factor +++ b/extra/mason/release/branch/branch-tests.factor @@ -14,6 +14,7 @@ USING: mason.release.branch mason.config tools.test namespaces ; [ { "scp" "boot.unix-x86.64.image" "joe@blah.com:/stuff/clean/netbsd-x86-64" } ] [ [ + "scp" scp-command set "joe" image-username set "blah.com" image-host set "/stuff/clean" image-directory set diff --git a/extra/mason/release/branch/branch.factor b/extra/mason/release/branch/branch.factor index ff2632a9b3..600b08c6b6 100644 --- a/extra/mason/release/branch/branch.factor +++ b/extra/mason/release/branch/branch.factor @@ -1,8 +1,7 @@ ! Copyright (C) 2008 Eduardo Cavazos, Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: kernel namespaces sequences prettyprint io.files -io.launcher make -mason.common mason.platform mason.config ; +io.launcher make mason.common mason.platform mason.config ; IN: mason.release.branch : branch-name ( -- string ) "clean-" platform append ; @@ -25,7 +24,7 @@ IN: mason.release.branch : upload-clean-image-cmd ( -- args ) [ - "scp" , + scp-command get , boot-image-name , [ image-username get % "@" %