commit:     a810a92d615c904db59326188e1437fdab74e705
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Thu May  5 17:12:13 2016 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sat May  7 20:02:51 2016 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=a810a92d

make.globals: Respect ssh_config port (bug 499198)

Fix FETCHCOMMAND_SSH and FETCHCOMMAND_SFTP to respect ssh_config port.

X-Gentoo-bug: 499198
X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=499198
Acked-by: Alexander Berntsen <bernalex <AT> gentoo.org>

 cnf/make.globals                         | 4 ++--
 pym/portage/tests/util/test_getconfig.py | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/cnf/make.globals b/cnf/make.globals
index 836bb5c..18eba94 100644
--- a/cnf/make.globals
+++ b/cnf/make.globals
@@ -43,11 +43,11 @@ FETCHCOMMAND_RSYNC="rsync -avP \"\${URI}\" 
\"\${DISTDIR}/\${FILE}\""
 RESUMECOMMAND_RSYNC="rsync -avP \"\${URI}\" \"\${DISTDIR}/\${FILE}\""
 
 # NOTE: rsync will evaluate quotes embedded inside PORTAGE_SSH_OPTS
-FETCHCOMMAND_SSH="bash -c \"x=\\\${2#ssh://} ; host=\\\${x%%/*} ; 
port=\\\${host##*:} ; host=\\\${host%:*} ; [[ \\\${host} = \\\${port} ]] && 
port=22 ; exec rsync --rsh=\\\"ssh -p\\\${port} \\\${3}\\\" -avP 
\\\"\\\${host}:/\\\${x#*/}\\\" \\\"\\\$1\\\"\" rsync \"\${DISTDIR}/\${FILE}\" 
\"\${URI}\" \"\${PORTAGE_SSH_OPTS}\""
+FETCHCOMMAND_SSH="bash -c \"x=\\\${2#ssh://} ; host=\\\${x%%/*} ; 
port=\\\${host##*:} ; host=\\\${host%:*} ; [[ \\\${host} = \\\${port} ]] && 
port= ; exec rsync --rsh=\\\"ssh \\\${port:+-p\\\${port}} \\\${3}\\\" -avP 
\\\"\\\${host}:/\\\${x#*/}\\\" \\\"\\\$1\\\"\" rsync \"\${DISTDIR}/\${FILE}\" 
\"\${URI}\" \"\${PORTAGE_SSH_OPTS}\""
 RESUMECOMMAND_SSH=${FETCHCOMMAND_SSH}
 
 # NOTE: bash eval is used to evaluate quotes embedded inside PORTAGE_SSH_OPTS
-FETCHCOMMAND_SFTP="bash -c \"x=\\\${2#sftp://} ; host=\\\${x%%/*} ; 
port=\\\${host##*:} ; host=\\\${host%:*} ; [[ \\\${host} = \\\${port} ]] && 
port=22 ; eval \\\"declare -a ssh_opts=(\\\${3})\\\" ; exec sftp -P \\\${port} 
\\\"\\\${ssh_opts[@]}\\\" \\\"\\\${host}:/\\\${x#*/}\\\" \\\"\\\$1\\\"\" sftp 
\"\${DISTDIR}/\${FILE}\" \"\${URI}\" \"\${PORTAGE_SSH_OPTS}\""
+FETCHCOMMAND_SFTP="bash -c \"x=\\\${2#sftp://} ; host=\\\${x%%/*} ; 
port=\\\${host##*:} ; host=\\\${host%:*} ; [[ \\\${host} = \\\${port} ]] && 
port= ; eval \\\"declare -a ssh_opts=(\\\${3})\\\" ; exec sftp \\\${port:+-P 
\\\${port}} \\\"\\\${ssh_opts[@]}\\\" \\\"\\\${host}:/\\\${x#*/}\\\" 
\\\"\\\$1\\\"\" sftp \"\${DISTDIR}/\${FILE}\" \"\${URI}\" 
\"\${PORTAGE_SSH_OPTS}\""
 
 # Default user options
 FEATURES="assume-digests binpkg-logs

diff --git a/pym/portage/tests/util/test_getconfig.py 
b/pym/portage/tests/util/test_getconfig.py
index b72bd6a..05e3147 100644
--- a/pym/portage/tests/util/test_getconfig.py
+++ b/pym/portage/tests/util/test_getconfig.py
@@ -20,8 +20,8 @@ class GetConfigTestCase(TestCase):
        _cases = {
                'FETCHCOMMAND'             : 'wget -t 3 -T 60 --passive-ftp -O 
"${DISTDIR}/${FILE}" "${URI}"',
                'FETCHCOMMAND_RSYNC'       : 'rsync -avP "${URI}" 
"${DISTDIR}/${FILE}"',
-               'FETCHCOMMAND_SFTP'        : 'bash -c "x=\\${2#sftp://} ; 
host=\\${x%%/*} ; port=\\${host##*:} ; host=\\${host%:*} ; [[ \\${host} = 
\\${port} ]] && port=22 ; eval \\"declare -a ssh_opts=(\\${3})\\" ; exec sftp 
-P \\${port} \\"\\${ssh_opts[@]}\\" \\"\\${host}:/\\${x#*/}\\" \\"\\$1\\"" sftp 
"${DISTDIR}/${FILE}" "${URI}" "${PORTAGE_SSH_OPTS}"',
-               'FETCHCOMMAND_SSH'         : 'bash -c "x=\\${2#ssh://} ; 
host=\\${x%%/*} ; port=\\${host##*:} ; host=\\${host%:*} ; [[ \\${host} = 
\\${port} ]] && port=22 ; exec rsync --rsh=\\"ssh -p\\${port} \\${3}\\" -avP 
\\"\\${host}:/\\${x#*/}\\" \\"\\$1\\"" rsync "${DISTDIR}/${FILE}" "${URI}" 
"${PORTAGE_SSH_OPTS}"',
+               'FETCHCOMMAND_SFTP'        : 'bash -c "x=\\${2#sftp://} ; 
host=\\${x%%/*} ; port=\\${host##*:} ; host=\\${host%:*} ; [[ \\${host} = 
\\${port} ]] && port= ; eval \\"declare -a ssh_opts=(\\${3})\\" ; exec sftp 
\\${port:+-P \\${port}} \\"\\${ssh_opts[@]}\\" \\"\\${host}:/\\${x#*/}\\" 
\\"\\$1\\"" sftp "${DISTDIR}/${FILE}" "${URI}" "${PORTAGE_SSH_OPTS}"',
+               'FETCHCOMMAND_SSH'         : 'bash -c "x=\\${2#ssh://} ; 
host=\\${x%%/*} ; port=\\${host##*:} ; host=\\${host%:*} ; [[ \\${host} = 
\\${port} ]] && port= ; exec rsync --rsh=\\"ssh \\${port:+-p\\${port}} 
\\${3}\\" -avP \\"\\${host}:/\\${x#*/}\\" \\"\\$1\\"" rsync 
"${DISTDIR}/${FILE}" "${URI}" "${PORTAGE_SSH_OPTS}"',
                'PORTAGE_ELOG_MAILSUBJECT' : '[portage] ebuild log for 
${PACKAGE} on ${HOST}'
        }
 

Reply via email to