Re: [gentoo-dev] [PATCH] cvs.eclass: Fix CVS_RSH for app-shells/mksh

2021-07-05 Thread Ulrich Mueller
> On Mon, 05 Jul 2021, Haelwenn (lanodan) Monnier wrote:

> [2021-07-05 13:43:27+0200] Ulrich Mueller:
>> Also, the eclass should set PROPERTIES+=" interactive" in the "ext"
>> case, because IIUC it will interactively call SSH_ASKPASS.

> Well sure but wouldn't it be better to not have SSH_ASKPASS?

Sure, if it works without.


signature.asc
Description: PGP signature


Re: [gentoo-dev] [PATCH] cvs.eclass: Fix CVS_RSH for app-shells/mksh

2021-07-05 Thread Haelwenn (lanodan) Monnier
[2021-07-05 13:43:27+0200] Ulrich Mueller:
> > On Mon, 05 Jul 2021, Haelwenn (lanodan) Monnier wrote:
>  
> >  if [[ ${ECVS_AUTH} == "ext" ]] ; then
> > -   #default to ssh
> > -   [[ -z ${CVS_RSH} ]] && export CVS_RSH="ssh"
> > -   if [[ ${CVS_RSH} != "ssh" ]] ; then
> > -   die "Support for ext auth with clients other than ssh has not 
> > been implemented yet"
> > -   fi
> > DEPEND+=" net-misc/openssh"
> >  fi
> 
> Also, the eclass should set PROPERTIES+=" interactive" in the "ext"
> case, because IIUC it will interactively call SSH_ASKPASS.

Well sure but wouldn't it be better to not have SSH_ASKPASS?



Re: [gentoo-dev] [PATCH] cvs.eclass: Fix CVS_RSH for app-shells/mksh

2021-07-05 Thread Ulrich Mueller
> On Mon, 05 Jul 2021, Haelwenn (lanodan) Monnier wrote:
 
>  if [[ ${ECVS_AUTH} == "ext" ]] ; then
> - #default to ssh
> - [[ -z ${CVS_RSH} ]] && export CVS_RSH="ssh"
> - if [[ ${CVS_RSH} != "ssh" ]] ; then
> - die "Support for ext auth with clients other than ssh has not 
> been implemented yet"
> - fi
>   DEPEND+=" net-misc/openssh"
>  fi

Also, the eclass should set PROPERTIES+=" interactive" in the "ext"
case, because IIUC it will interactively call SSH_ASKPASS.


signature.asc
Description: PGP signature


Re: [gentoo-dev] [PATCH] cvs.eclass: Fix CVS_RSH for app-shells/mksh

2021-07-05 Thread Ulrich Mueller
> On Mon, 05 Jul 2021, Haelwenn (lanodan) Monnier wrote:

> -# @SUPPORTED_EAPIS: 4 5 6 7
> +# @SUPPORTED_EAPIS: 5 6 7

Support EAPI 8 while at it? AFAICS it's a trivial update.

>  case ${EAPI:-0} in

Just ${EAPI} here.

> - 4|5|6) ;;
> + 5|6) ;;
>   7) BDEPEND="${DEPEND}"; DEPEND="" ;;
>   *) die "${ECLASS}: EAPI ${EAPI:-0} is not supported" ;;
>  esac

> @@ -483,6 +478,12 @@ cvs_src_unpack() {
>  
>   [[ -z ${ECVS_MODULE} ]] && die "ERROR: CVS module not set, cannot 
> continue."
>  
> + #default to ssh
> + [[ -z ${CVS_RSH} ]] && export CVS_RSH="ssh"
> + if [[ ${CVS_RSH} != "ssh" ]] ; then
> + die "Support for ext auth with clients other than ssh has not 
> been implemented yet"
> + fi

That's a strange logic (not your fault, it was like this before).
So CVS_RSH is taken from the user's environment? Why would one do that?
Also, if the user has (e.g.) CVS_RSH="/usr/bin/ssh" then the eclass will
fail?

Can we kill this with fire, please? :) Just use ssh always.

Ulrich


signature.asc
Description: PGP signature


[gentoo-dev] [PATCH] cvs.eclass: Fix CVS_RSH for app-shells/mksh

2021-07-05 Thread Haelwenn (lanodan) Monnier
For some reason CVS_RSH wouldn't be set into cvs_src_unpack, app-shells/mksh
is also the only ebuild in ::gentoo one using it with ECVS_AUTH="ext"

I also removed EAPI-4 support as it's banned in ::gentoo

Signed-off-by: Haelwenn (lanodan) Monnier 
---
 eclass/cvs.eclass | 15 ---
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/eclass/cvs.eclass b/eclass/cvs.eclass
index a8e5ee4cc9a0..877ec2798112 100644
--- a/eclass/cvs.eclass
+++ b/eclass/cvs.eclass
@@ -4,7 +4,7 @@
 # @ECLASS: cvs.eclass
 # @MAINTAINER:
 # vap...@gentoo.org (and anyone who wants to help)
-# @SUPPORTED_EAPIS: 4 5 6 7
+# @SUPPORTED_EAPIS: 5 6 7
 # @BLURB: This eclass provides generic cvs fetching functions
 # @DESCRIPTION:
 # This eclass provides the generic cvs fetching functions. To use this from an
@@ -182,16 +182,11 @@ PROPERTIES+=" live"
 DEPEND="dev-vcs/cvs"
 
 if [[ ${ECVS_AUTH} == "ext" ]] ; then
-   #default to ssh
-   [[ -z ${CVS_RSH} ]] && export CVS_RSH="ssh"
-   if [[ ${CVS_RSH} != "ssh" ]] ; then
-   die "Support for ext auth with clients other than ssh has not 
been implemented yet"
-   fi
DEPEND+=" net-misc/openssh"
 fi
 
 case ${EAPI:-0} in
-   4|5|6) ;;
+   5|6) ;;
7) BDEPEND="${DEPEND}"; DEPEND="" ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} is not supported" ;;
 esac
@@ -483,6 +478,12 @@ cvs_src_unpack() {
 
[[ -z ${ECVS_MODULE} ]] && die "ERROR: CVS module not set, cannot 
continue."
 
+   #default to ssh
+   [[ -z ${CVS_RSH} ]] && export CVS_RSH="ssh"
+   if [[ ${CVS_RSH} != "ssh" ]] ; then
+   die "Support for ext auth with clients other than ssh has not 
been implemented yet"
+   fi
+
local ECVS_LOCALNAME=${ECVS_LOCALNAME:-${ECVS_MODULE}}
 
local sanitized_pn=$(echo "${PN}" | LC_ALL=C sed -e 
's:[^A-Za-z0-9_]:_:g')
-- 
2.31.1