OpenSSH version 8.4 and later supports the SSH_ASKPASS_REQUIRE
environment variable which allows to force the use of the SSH_ASKPASS
program. This makes detaching the process from its controlling terminal (TIOCNOTTY ioctl) unnecessary, as well as setting the DISPLAY variable.
Signed-off-by: Ulrich Müller <
ulm@gentoo.org>
---
eclass/cvs.eclass | 62 +++++++++++++----------------------------------
1 file changed, 17 insertions(+), 45 deletions(-)
diff --git a/eclass/cvs.eclass b/eclass/cvs.eclass
index ec0ad2ec8f71..1289ee54cc3b 100644
--- a/eclass/cvs.eclass
+++ b/eclass/cvs.eclass
@@ -192,7 +192,7 @@ if [[ ${ECVS_AUTH} == "ext" ]] ; then
if [[ ${CVS_RSH} != "ssh" ]] ; then
die "Support for ext auth with clients other than ssh has not been implemented yet"
fi
- BDEPEND+=" net-misc/openssh"
+ BDEPEND+=" >=net-misc/openssh-8.4"
fi
# @FUNCTION: cvs_fetch
@@ -362,40 +362,9 @@ cvs_fetch() {
# Hack to support SSH password authentication
if [[ ${CVS_RSH} == "ssh" ]] ; then
- # Force SSH to use SSH_ASKPASS by creating python wrapper
-
- local -x CVS_RSH="${T}/cvs_sshwrapper"
- cat > "${CVS_RSH}" <<EOF || die -#!${EPREFIX}/usr/bin/python
-import fcntl
-import os
-import sys
-try:
- fd = os.open('/dev/tty', 2)
- TIOCNOTTY=0x5422
- try:
- fcntl.ioctl(fd, TIOCNOTTY)
- except:
-