Mailing List Archive

[PATCH] cvs.eclass: Fix CVS_RSH for app-shells/mksh
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 <contact@hacktivis.me>
---
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:
# vapier@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
Re: [PATCH] cvs.eclass: Fix CVS_RSH for app-shells/mksh [ In reply to ]
>>>>> 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
Re: [PATCH] cvs.eclass: Fix CVS_RSH for app-shells/mksh [ In reply to ]
>>>>> 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.
Re: [PATCH] cvs.eclass: Fix CVS_RSH for app-shells/mksh [ In reply to ]
[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: [PATCH] cvs.eclass: Fix CVS_RSH for app-shells/mksh [ In reply to ]
>>>>> 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.