public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] gentoo-x86 commit in eclass: cvs.eclass
@ 2008-03-06  0:54 Bo Oersted Andresen (zlin)
  0 siblings, 0 replies; 10+ messages in thread
From: Bo Oersted Andresen (zlin) @ 2008-03-06  0:54 UTC (permalink / raw
  To: gentoo-commits

zlin        08/03/06 00:54:08

  Modified:             cvs.eclass
  Log:
  Document for use with eclass-manpages (bug #210635).

Revision  Changes    Path
1.69                 eclass/cvs.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/cvs.eclass?rev=1.69&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/cvs.eclass?rev=1.69&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/cvs.eclass?r1=1.68&r2=1.69

Index: cvs.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -r1.68 -r1.69
--- cvs.eclass	11 Dec 2006 00:16:28 -0000	1.68
+++ cvs.eclass	6 Mar 2008 00:54:07 -0000	1.69
@@ -1,17 +1,19 @@
-# Copyright 1999-2006 Gentoo Foundation
+# Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.68 2006/12/11 00:16:28 vapier Exp $
-#
-# Maintainer: vapier@gentoo.org (and anyone who wants to help)
+# $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.69 2008/03/06 00:54:07 zlin Exp $
 
-inherit eutils
+# @ECLASS: cvs.eclass
+# @MAINTAINER:
+# vapier@gentoo.org (and anyone who wants to help)
+# @BLURB: This eclass provides generic cvs fetching functions
+# @DESCRIPTION:
+# This eclass provides the generic cvs fetching functions. To use this from an
+# ebuild, set the ECLASS VARIABLES as specified below in your ebuild before
+# inheriting. Then either leave the default src_unpack or extend over
+# cvs_src_unpack. If you find that you need to call the cvs_* functions
+# directly, I'd be interested to hear about it.
 
-# This eclass provides the generic cvs fetching functions.  To use
-# this from an ebuild, set the `ebuild-configurable settings' as
-# specified below in your ebuild before inheriting.  Then either leave
-# the default src_unpack or extend over cvs_src_unpack.  If you find
-# that you need to call the cvs_* functions directly, I'd be
-# interested to hear about it.
+inherit eutils
 
 # TODO:
 
@@ -21,40 +23,55 @@
 # anyone actually need to use it with anything other than SSH?)
 
 
-
 # Users shouldn't change these settings!  The ebuild/eclass inheriting
 # this eclass will take care of that.  If you want to set the global
 # KDE cvs ebuilds' settings, see the comments in kde-source.eclass.
 
-# --- begin ebuild-configurable settings
-
-# ECVS_CVS_COMMAND -- CVS command to run
+# @ECLASS-VARIABLE: ECVS_CVS_COMMAND
+# @DESCRIPTION:
+# CVS command to run
 #
 # You can set, for example, "cvs -t" for extensive debug information
 # on the cvs connection.  The default of "cvs -q -f -z4" means to be
 # quiet, to disregard the ~/.cvsrc config file and to use maximum
 # compression.
 
+# @ECLASS-VARIABLE: ECVS_CVS_COMPRESS
+# @DESCRIPTION:
+# Set the compression level.
 [[ -z ${ECVS_CVS_COMPRESS} ]] && ECVS_CVS_COMPRESS="-z1"
-[[ -z ${ECVS_CVS_OPTIONS} ]] && ECVS_CVS_OPTIONS="-q -f"
-[[ -z ${ECVS_CVS_COMMAND} ]] && ECVS_CVS_COMMAND="cvs ${ECVS_CVS_OPTIONS} ${ECVS_CVS_COMPRESS}"
 
+# @ECLASS-VARIABLE: ECVS_CVS_OPTIONS
+# @DESCRIPTION:
+# Additional options to the cvs commands.
+[[ -z ${ECVS_CVS_OPTIONS} ]] && ECVS_CVS_OPTIONS="-q -f"
 
-# ECVS_UP_OPTS, ECVS_CO_OPTS -- CVS options given after the cvs
-# command (update or checkout).
-#
-# Don't remove -dP from update or things won't work.
+# @ECLASS-VARIABLE: ECVS_CVS_COMMAND
+# @DESCRIPTION:
+# The cvs command.
+[[ -z ${ECVS_CVS_COMMAND} ]] && ECVS_CVS_COMMAND="cvs ${ECVS_CVS_OPTIONS} ${ECVS_CVS_COMPRESS}"
 
+# @ECLASS-VARIABLE: ECVS_UP_OPTS
+# @DESCRIPTION:
+# CVS options given after the cvs update command. Don't remove "-dP" or things
+# won't work.
 [ -z "$ECVS_UP_OPTS" ] && ECVS_UP_OPTS="-dP"
-[ -z "$ECVS_CO_OPTS" ] && ECVS_CO_OPTS=""
-
 
-# ECVS_LOCAL -- If this is set, the CVS module will be fetched
-# non-recursively.  Refer to the information in the CVS man page
-# regarding the -l command option (not the -l global option).
+# @ECLASS-VARIABLE: ECVS_CO_OPTS
+# @DESCRIPTION:
+# CVS options given after the cvs checkout command.
+[ -z "$ECVS_CO_OPTS" ] && ECVS_CO_OPTS=""
 
 
-# ECVS_LOCALNAME -- local name of checkout directory
+# @ECLASS-VARIABLE: ECVS_LOCAL
+# @DESCRIPTION:
+# If this is set, the CVS module will be fetched non-recursively.
+# Refer to the information in the CVS man page regarding the -l
+# command option (not the -l global option).
+
+# @ECLASS-VARIABLE: ECVS_LOCLANAME
+# @DESCRIPTION:
+# Local name of checkout directory
 #
 # This is useful if the module on the server is called something
 # common like 'driver' or is nested deep in a tree, and you don't like
@@ -64,13 +81,14 @@
 # some such, things will break because the ebuild won't expect it and
 # have e.g. a wrong $S setting.
 
-
-# ECVS_TOP_DIR -- The directory under which CVS modules are checked
-# out.
-
+# @ECLASS-VARIABLE: ECVS_TOP_DIR
+# @DESCRIPTION:
+# The directory under which CVS modules are checked out.
 [ -z "$ECVS_TOP_DIR" ] && ECVS_TOP_DIR="${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}/cvs-src"
 
-# ECVS_SERVER -- CVS path
+# @ECLASS-VARIABLE: ECVS_SERVER
+# @DESCRIPTION:
+# CVS path
 #
 # The format is "server:/dir", e.g. "anoncvs.kde.org:/home/kde".
 # Remove the other parts of the full CVSROOT, which might look like
@@ -79,27 +97,29 @@
 #
 # Set this to "offline" to disable fetching (i.e. to assume the module
 # is already checked out in ECVS_TOP_DIR).
-
 [ -z "$ECVS_SERVER" ] && ECVS_SERVER="offline"
 
-
-# ECVS_MODULE -- the name of the CVS module to be fetched
+# @ECLASS-VARIABLE: ECVS_MODULE
+# @DESCRIPTION:
+# The name of the CVS module to be fetched
 #
 # This must be set when cvs_src_unpack is called.  This can include
 # several directory levels, i.e. "foo/bar/baz"
 
 #[ -z "$ECVS_MODULE" ] && die "$ECLASS: error: ECVS_MODULE not set, cannot continue"
 
-
-# ECVS_BRANCH -- the name of the branch/tag to use
-
+# @ECLASS-VARIABLE: ECVS_BRANCH
+# @DESCRIPTION:
+# The name of the branch/tag to use
+#
 # The default is "HEAD".  The following default _will_ reset your
 # branch checkout to head if used.
 
 #[ -z "$ECVS_BRANCH" ] && ECVS_BRANCH="HEAD"
 
-
-# ECVS_AUTH -- authentication method to use
+# @ECLASS-VARIABLE: ECVS_AUTH
+# @DESCRIPTION:
+# Authentication method to use
 #
 # Possible values are "pserver" and "ext".  If `ext' authentication is
 # used, the remote shell to use can be specified in CVS_RSH (SSH is
@@ -114,15 +134,18 @@
 #   ( from gnustep-apps/textedit )
 [ -z "$ECVS_AUTH" ] && ECVS_AUTH="pserver"
 
-# ECVS_USER -- Username to use for authentication on the remote server
+# @ECLASS-VARIABLE: ECVS_USER
+# @DESCRIPTION:
+# Username to use for authentication on the remote server.
 [ -z "$ECVS_USER" ] && ECVS_USER="anonymous"
 
-# ECVS_PASS -- Password to use for authentication on the remote server
+# @ECLASS-VARIABLE: ECVS_PASS
+# @DESCRIPTION:
+# Password to use for authentication on the remote server
 [ -z "$ECVS_PASS" ] && ECVS_PASS=""
 
-
-# ECVS_SSH_HOST_KEY
-#
+# @ECLASS-VARIABLE: ECVS_SSH_HOST_KEY
+# @DESCRIPTION:
 # If SSH is used for `ext' authentication, use this variable to
 # specify the host key of the remote server.  The format of the value
 # should be the same format that is used for the SSH known hosts file.
@@ -130,26 +153,22 @@
 # WARNING: If a SSH host key is not specified using this variable, the
 # remote host key will not be verified.
 
-
-# ECVS_CLEAN -- Set this to get a clean copy when updating (passes the
+# @ECLASS-VARIABLE: ECVS_CLEAN
+# @DESCRIPTION:
+# Set this to get a clean copy when updating (passes the
 # -C option to cvs update)
 
-
-# ECVS_RUNAS
-#
+# @ECLASS-VARIABLE: ECVS_RUNAS
+# @DESCRIPTION: 
 # Specifies an alternate (non-root) user to use to run cvs.  Currently
 # b0rked and wouldn't work with portage userpriv anyway without
 # special magic.
 
 # [ -z "$ECVS_RUNAS" ] && ECVS_RUNAS="`whoami`"
 
-
 # ECVS_SUBDIR -- deprecated, do not use
 [ -n "$ECVS_SUBDIR" ] && die "ERROR: deprecated ECVS_SUBDIR defined. Please fix this ebuild."
 
-
-# --- end ebuild-configurable settings ---
-
 # add cvs to deps
 # ssh is used for ext auth
 # sudo is used to run as a specified user
@@ -462,7 +481,9 @@
 
 }
 
-
+# @FUNCTION: cvs_src_unpack
+# @DESCRIPTION:
+# The cvs src_unpack function, which will be exported
 cvs_src_unpack() {
 
 	debug-print-function $FUNCNAME $*



-- 
gentoo-commits@lists.gentoo.org mailing list



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: cvs.eclass
@ 2008-04-27  7:00 Ulrich Mueller (ulm)
  0 siblings, 0 replies; 10+ messages in thread
From: Ulrich Mueller (ulm) @ 2008-04-27  7:00 UTC (permalink / raw
  To: gentoo-commits

ulm         08/04/27 07:00:40

  Modified:             cvs.eclass
  Log:
  Fix a typo.

Revision  Changes    Path
1.70                 eclass/cvs.eclass

file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/cvs.eclass?rev=1.70&view=markup
plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/cvs.eclass?rev=1.70&content-type=text/plain
diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/eclass/cvs.eclass?r1=1.69&r2=1.70

Index: cvs.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -r1.69 -r1.70
--- cvs.eclass	6 Mar 2008 00:54:07 -0000	1.69
+++ cvs.eclass	27 Apr 2008 07:00:40 -0000	1.70
@@ -1,6 +1,6 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.69 2008/03/06 00:54:07 zlin Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.70 2008/04/27 07:00:40 ulm Exp $
 
 # @ECLASS: cvs.eclass
 # @MAINTAINER:
@@ -69,7 +69,7 @@
 # Refer to the information in the CVS man page regarding the -l
 # command option (not the -l global option).
 
-# @ECLASS-VARIABLE: ECVS_LOCLANAME
+# @ECLASS-VARIABLE: ECVS_LOCALNAME
 # @DESCRIPTION:
 # Local name of checkout directory
 #
@@ -159,7 +159,7 @@
 # -C option to cvs update)
 
 # @ECLASS-VARIABLE: ECVS_RUNAS
-# @DESCRIPTION: 
+# @DESCRIPTION:
 # Specifies an alternate (non-root) user to use to run cvs.  Currently
 # b0rked and wouldn't work with portage userpriv anyway without
 # special magic.



-- 
gentoo-commits@lists.gentoo.org mailing list



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: cvs.eclass
@ 2010-08-21 18:21 Mike Frysinger (vapier)
  0 siblings, 0 replies; 10+ messages in thread
From: Mike Frysinger (vapier) @ 2010-08-21 18:21 UTC (permalink / raw
  To: gentoo-commits

vapier      10/08/21 18:21:06

  Modified:             cvs.eclass
  Log:
  support ESCM_OFFLINE #307743 by Martin Väth

Revision  Changes    Path
1.72                 eclass/cvs.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?rev=1.72&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?rev=1.72&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?r1=1.71&r2=1.72

Index: cvs.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -r1.71 -r1.72
--- cvs.eclass	19 Jun 2010 00:35:11 -0000	1.71
+++ cvs.eclass	21 Aug 2010 18:21:06 -0000	1.72
@@ -1,6 +1,6 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.71 2010/06/19 00:35:11 abcd Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.72 2010/08/21 18:21:06 vapier Exp $
 
 # @ECLASS: cvs.eclass
 # @MAINTAINER:
@@ -62,6 +62,12 @@
 # CVS options given after the cvs checkout command.
 [ -z "$ECVS_CO_OPTS" ] && ECVS_CO_OPTS=""
 
+# @ECLASS-VARIABLE: ECVS_OFFLINE
+# @DESCRIPTION:
+# Set this variable to a non-empty value to disable the automatic updating of
+# a CVS source tree. This is intended to be set outside the cvs source
+# tree by users.
+: ${ECVS_OFFLINE:=${ESCM_OFFLINE}}
 
 # @ECLASS-VARIABLE: ECVS_LOCAL
 # @DESCRIPTION:
@@ -511,7 +517,7 @@
 
 	local sanitized_pn=$(echo "${PN}" | LC_ALL=C sed -e 's:[^A-Za-z0-9_]:_:g')
 	local offline_pkg_var="ECVS_OFFLINE_${sanitized_pn}"
-	if [ "${!offline_pkg_var}" == "1" -o "$ECVS_OFFLINE" == "1" -o "$ECVS_SERVER" == "offline" ]; then
+	if [[ -n ${!offline_pkg_var}${ECVS_OFFLINE} ]] || [[ "$ECVS_SERVER" == "offline" ]] ; then
 		# We're not required to fetch anything; the module already
 		# exists and shouldn't be updated.
 		if [ -d "${ECVS_TOP_DIR}/${ECVS_LOCALNAME}" ]; then






^ permalink raw reply	[flat|nested] 10+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: cvs.eclass
@ 2010-08-22 20:50 Mike Frysinger (vapier)
  0 siblings, 0 replies; 10+ messages in thread
From: Mike Frysinger (vapier) @ 2010-08-22 20:50 UTC (permalink / raw
  To: gentoo-commits

vapier      10/08/22 20:50:52

  Modified:             cvs.eclass
  Log:
  add E{CVS,SCM}_VERSION support #333773 by Michał Górny

Revision  Changes    Path
1.74                 eclass/cvs.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?rev=1.74&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?rev=1.74&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?r1=1.73&r2=1.74

Index: cvs.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -r1.73 -r1.74
--- cvs.eclass	21 Aug 2010 19:36:45 -0000	1.73
+++ cvs.eclass	22 Aug 2010 20:50:52 -0000	1.74
@@ -1,6 +1,6 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.73 2010/08/21 19:36:45 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.74 2010/08/22 20:50:52 vapier Exp $
 
 # @ECLASS: cvs.eclass
 # @MAINTAINER:
@@ -548,6 +548,10 @@
 		cp -Rf "$ECVS_TOP_DIR/$ECVS_LOCALNAME" "$WORKDIR/$ECVS_LOCALNAME/.."
 	fi
 
+	# Not exactly perfect, but should be pretty close #333773
+	export ECVS_VERSION=$(find "$ECVS_TOP_DIR/$ECVS_LOCALNAME/" -ipath '*/CVS/Entries' -exec cat {} + | sort | sha1sum | awk '{print $1}')
+	export ESCM_VERSION=${ECVS_VERSION}
+
 	# If the directory is empty, remove it; empty directories cannot
 	# exist in cvs.  This happens when, for example, kde-source
 	# requests module/doc/subdir which doesn't exist.  Still create






^ permalink raw reply	[flat|nested] 10+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: cvs.eclass
@ 2010-08-24 21:00 Mike Frysinger (vapier)
  0 siblings, 0 replies; 10+ messages in thread
From: Mike Frysinger (vapier) @ 2010-08-24 21:00 UTC (permalink / raw
  To: gentoo-commits

vapier      10/08/24 21:00:15

  Modified:             cvs.eclass
  Log:
  make sure the sort is in a C locale #333773 by Michał Górny

Revision  Changes    Path
1.75                 eclass/cvs.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?rev=1.75&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?rev=1.75&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?r1=1.74&r2=1.75

Index: cvs.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -r1.74 -r1.75
--- cvs.eclass	22 Aug 2010 20:50:52 -0000	1.74
+++ cvs.eclass	24 Aug 2010 21:00:15 -0000	1.75
@@ -1,6 +1,6 @@
 # Copyright 1999-2008 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.74 2010/08/22 20:50:52 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.75 2010/08/24 21:00:15 vapier Exp $
 
 # @ECLASS: cvs.eclass
 # @MAINTAINER:
@@ -549,7 +549,7 @@
 	fi
 
 	# Not exactly perfect, but should be pretty close #333773
-	export ECVS_VERSION=$(find "$ECVS_TOP_DIR/$ECVS_LOCALNAME/" -ipath '*/CVS/Entries' -exec cat {} + | sort | sha1sum | awk '{print $1}')
+	export ECVS_VERSION=$(find "$ECVS_TOP_DIR/$ECVS_LOCALNAME/" -ipath '*/CVS/Entries' -exec cat {} + | LC_ALL=C sort | sha1sum | awk '{print $1}')
 	export ESCM_VERSION=${ECVS_VERSION}
 
 	# If the directory is empty, remove it; empty directories cannot






^ permalink raw reply	[flat|nested] 10+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: cvs.eclass
@ 2010-08-25 19:57 Mike Frysinger (vapier)
  0 siblings, 0 replies; 10+ messages in thread
From: Mike Frysinger (vapier) @ 2010-08-25 19:57 UTC (permalink / raw
  To: gentoo-commits

vapier      10/08/25 19:57:53

  Modified:             cvs.eclass
  Log:
  fix order of ECVS_CVS_COMMAND and its default options #334241 by Michał Górny

Revision  Changes    Path
1.76                 eclass/cvs.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?rev=1.76&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?rev=1.76&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?r1=1.75&r2=1.76

Index: cvs.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v
retrieving revision 1.75
retrieving revision 1.76
diff -u -r1.75 -r1.76
--- cvs.eclass	24 Aug 2010 21:00:15 -0000	1.75
+++ cvs.eclass	25 Aug 2010 19:57:53 -0000	1.76
@@ -1,6 +1,6 @@
-# Copyright 1999-2008 Gentoo Foundation
+# Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.75 2010/08/24 21:00:15 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.76 2010/08/25 19:57:53 vapier Exp $
 
 # @ECLASS: cvs.eclass
 # @MAINTAINER:
@@ -27,6 +27,18 @@
 # this eclass will take care of that.  If you want to set the global
 # KDE cvs ebuilds' settings, see the comments in kde-source.eclass.
 
+# @ECLASS-VARIABLE: ECVS_CVS_COMPRESS
+# @DESCRIPTION:
+# Set the default compression level.  Has no effect when ECVS_CVS_COMMAND
+# is defined by ebuild/user.
+: ${ECVS_CVS_COMPRESS:=-z1}
+
+# @ECLASS-VARIABLE: ECVS_CVS_OPTIONS
+# @DESCRIPTION:
+# Additional options to the cvs commands.  Has no effect when ECVS_CVS_COMMAND
+# is defined by ebuild/user.
+: ${ECVS_CVS_OPTIONS:=-q -f}
+
 # @ECLASS-VARIABLE: ECVS_CVS_COMMAND
 # @DESCRIPTION:
 # CVS command to run
@@ -35,28 +47,18 @@
 # on the cvs connection.  The default of "cvs -q -f -z4" means to be
 # quiet, to disregard the ~/.cvsrc config file and to use maximum
 # compression.
-[[ -z ${ECVS_CVS_COMMAND} ]] && ECVS_CVS_COMMAND="cvs ${ECVS_CVS_OPTIONS} ${ECVS_CVS_COMPRESS}"
-
-# @ECLASS-VARIABLE: ECVS_CVS_COMPRESS
-# @DESCRIPTION:
-# Set the compression level.
-[[ -z ${ECVS_CVS_COMPRESS} ]] && ECVS_CVS_COMPRESS="-z1"
-
-# @ECLASS-VARIABLE: ECVS_CVS_OPTIONS
-# @DESCRIPTION:
-# Additional options to the cvs commands.
-[[ -z ${ECVS_CVS_OPTIONS} ]] && ECVS_CVS_OPTIONS="-q -f"
+: ${ECVS_CVS_COMMAND:=cvs ${ECVS_CVS_OPTIONS} ${ECVS_CVS_COMPRESS}}
 
 # @ECLASS-VARIABLE: ECVS_UP_OPTS
 # @DESCRIPTION:
 # CVS options given after the cvs update command. Don't remove "-dP" or things
 # won't work.
-[ -z "$ECVS_UP_OPTS" ] && ECVS_UP_OPTS="-dP"
+: ${ECVS_UP_OPTS:=-dP}
 
 # @ECLASS-VARIABLE: ECVS_CO_OPTS
+# @DEFAULT_UNSET
 # @DESCRIPTION:
 # CVS options given after the cvs checkout command.
-[ -z "$ECVS_CO_OPTS" ] && ECVS_CO_OPTS=""
 
 # @ECLASS-VARIABLE: ECVS_OFFLINE
 # @DESCRIPTION:






^ permalink raw reply	[flat|nested] 10+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: cvs.eclass
@ 2013-01-22  7:02 Mike Frysinger (vapier)
  0 siblings, 0 replies; 10+ messages in thread
From: Mike Frysinger (vapier) @ 2013-01-22  7:02 UTC (permalink / raw
  To: gentoo-commits

vapier      13/01/22 07:02:06

  Modified:             cvs.eclass
  Log:
  add multiple inclusion protection

Revision  Changes    Path
1.78                 eclass/cvs.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?rev=1.78&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?rev=1.78&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?r1=1.77&r2=1.78

Index: cvs.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -r1.77 -r1.78
--- cvs.eclass	9 Sep 2012 07:03:28 -0000	1.77
+++ cvs.eclass	22 Jan 2013 07:02:06 -0000	1.78
@@ -1,6 +1,6 @@
-# Copyright 1999-2012 Gentoo Foundation
+# Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.77 2012/09/09 07:03:28 ulm Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.78 2013/01/22 07:02:06 vapier Exp $
 
 # @ECLASS: cvs.eclass
 # @MAINTAINER:
@@ -13,6 +13,9 @@
 # cvs_src_unpack. If you find that you need to call the cvs_* functions
 # directly, I'd be interested to hear about it.
 
+if [[ ${___ECLASS_ONCE_CVS} != "recur -_+^+_- spank" ]] ; then
+___ECLASS_ONCE_CVS="recur -_+^+_- spank"
+
 inherit eutils
 
 # TODO:
@@ -578,3 +581,5 @@
 }
 
 EXPORT_FUNCTIONS src_unpack
+
+fi





^ permalink raw reply	[flat|nested] 10+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: cvs.eclass
@ 2013-01-22  7:25 Mike Frysinger (vapier)
  0 siblings, 0 replies; 10+ messages in thread
From: Mike Frysinger (vapier) @ 2013-01-22  7:25 UTC (permalink / raw
  To: gentoo-commits

vapier      13/01/22 07:25:59

  Modified:             cvs.eclass
  Log:
  convert to bash style through out

Revision  Changes    Path
1.79                 eclass/cvs.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?rev=1.79&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?rev=1.79&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?r1=1.78&r2=1.79

Index: cvs.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -r1.78 -r1.79
--- cvs.eclass	22 Jan 2013 07:02:06 -0000	1.78
+++ cvs.eclass	22 Jan 2013 07:25:59 -0000	1.79
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.78 2013/01/22 07:02:06 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.79 2013/01/22 07:25:59 vapier Exp $
 
 # @ECLASS: cvs.eclass
 # @MAINTAINER:
@@ -93,7 +93,7 @@
 # @ECLASS-VARIABLE: ECVS_TOP_DIR
 # @DESCRIPTION:
 # The directory under which CVS modules are checked out.
-[ -z "$ECVS_TOP_DIR" ] && ECVS_TOP_DIR="${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}/cvs-src"
+: ${ECVS_TOP_DIR:="${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}/cvs-src"}
 
 # @ECLASS-VARIABLE: ECVS_SERVER
 # @DESCRIPTION:
@@ -106,7 +106,7 @@
 #
 # Set this to "offline" to disable fetching (i.e. to assume the module
 # is already checked out in ECVS_TOP_DIR).
-[ -z "$ECVS_SERVER" ] && ECVS_SERVER="offline"
+: ${ECVS_SERVER:="offline"}
 
 # @ECLASS-VARIABLE: ECVS_MODULE
 # @REQUIRED
@@ -115,8 +115,7 @@
 #
 # This must be set when cvs_src_unpack is called.  This can include
 # several directory levels, i.e. "foo/bar/baz"
-
-#[ -z "$ECVS_MODULE" ] && die "$ECLASS: error: ECVS_MODULE not set, cannot continue"
+#[[ -z ${ECVS_MODULE} ]] && die "$ECLASS: error: ECVS_MODULE not set, cannot continue"
 
 # @ECLASS-VARIABLE: ECVS_BRANCH
 # @DEFAULT_UNSET
@@ -125,8 +124,7 @@
 #
 # The default is "HEAD".  The following default _will_ reset your
 # branch checkout to head if used.
-
-#[ -z "$ECVS_BRANCH" ] && ECVS_BRANCH="HEAD"
+#: ${ECVS_BRANCH:="HEAD"}
 
 # @ECLASS-VARIABLE: ECVS_AUTH
 # @DESCRIPTION:
@@ -143,17 +141,17 @@
 #  e.g.
 #   "cvs -danoncvs@savannah.gnu.org:/cvsroot/backbone co System"
 #   ( from gnustep-apps/textedit )
-[ -z "$ECVS_AUTH" ] && ECVS_AUTH="pserver"
+: ${ECVS_AUTH:="pserver"}
 
 # @ECLASS-VARIABLE: ECVS_USER
 # @DESCRIPTION:
 # Username to use for authentication on the remote server.
-[ -z "$ECVS_USER" ] && ECVS_USER="anonymous"
+: ${ECVS_USER:="anonymous"}
 
 # @ECLASS-VARIABLE: ECVS_PASS
+# @DEFAULT_UNSET
 # @DESCRIPTION:
 # Password to use for authentication on the remote server
-[ -z "$ECVS_PASS" ] && ECVS_PASS=""
 
 # @ECLASS-VARIABLE: ECVS_SSH_HOST_KEY
 # @DEFAULT_UNSET
@@ -178,25 +176,25 @@
 # b0rked and wouldn't work with portage userpriv anyway without
 # special magic.
 
-# [ -z "$ECVS_RUNAS" ] && ECVS_RUNAS="`whoami`"
+# : ${ECVS_RUNAS:=$(whoami)}
 
 # ECVS_SUBDIR -- deprecated, do not use
-[ -n "$ECVS_SUBDIR" ] && die "ERROR: deprecated ECVS_SUBDIR defined. Please fix this ebuild."
+[[ -n ${ECVS_SUBDIR} ]] && die "ERROR: deprecated ECVS_SUBDIR defined. Please fix this ebuild."
 
 # add cvs to deps
 # ssh is used for ext auth
 # sudo is used to run as a specified user
 DEPEND="dev-vcs/cvs"
 
-[ -n "$ECVS_RUNAS" ] && DEPEND="$DEPEND app-admin/sudo"
+[[ -n ${ECVS_RUNAS} ]] && DEPEND+=" app-admin/sudo"
 
-if [ "$ECVS_AUTH" == "ext" ]; then
+if [[ ${ECVS_AUTH} == "ext" ]] ; then
 	#default to ssh
-	[ -z "$CVS_RSH" ] && export CVS_RSH="ssh"
-	if [ "$CVS_RSH" != "ssh" ]; then
+	[[ -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="${DEPEND} net-misc/openssh"
+	DEPEND+=" net-misc/openssh"
 fi
 
 # called from cvs_src_unpack
@@ -205,11 +203,11 @@
 	# Make these options local variables so that the global values are
 	# not affected by modifications in this function.
 
-	local ECVS_COMMAND="${ECVS_COMMAND}"
-	local ECVS_UP_OPTS="${ECVS_UP_OPTS}"
-	local ECVS_CO_OPTS="${ECVS_CO_OPTS}"
+	local ECVS_COMMAND=${ECVS_COMMAND}
+	local ECVS_UP_OPTS=${ECVS_UP_OPTS}
+	local ECVS_CO_OPTS=${ECVS_CO_OPTS}
 
-	debug-print-function $FUNCNAME $*
+	debug-print-function ${FUNCNAME} "$@"
 
 	# Update variables that are modified by ebuild parameters, which
 	# should be effective every time cvs_fetch is called, and not just
@@ -217,9 +215,9 @@
 
 	# Handle parameter for local (non-recursive) fetching
 
-	if [ -n "$ECVS_LOCAL" ]; then
-		ECVS_UP_OPTS="$ECVS_UP_OPTS -l"
-		ECVS_CO_OPTS="$ECVS_CO_OPTS -l"
+	if [[ -n ${ECVS_LOCAL} ]] ; then
+		ECVS_UP_OPTS+=" -l"
+		ECVS_CO_OPTS+=" -l"
 	fi
 
 	# Handle ECVS_BRANCH option
@@ -227,38 +225,35 @@
 	# Because CVS auto-switches branches, we just have to pass the
 	# correct -rBRANCH option when updating.
 
-	if [ -n "$ECVS_BRANCH" ]; then
-		ECVS_UP_OPTS="$ECVS_UP_OPTS -r$ECVS_BRANCH"
-		ECVS_CO_OPTS="$ECVS_CO_OPTS -r$ECVS_BRANCH"
+	if [[ -n ${ECVS_BRANCH} ]] ; then
+		ECVS_UP_OPTS+=" -r${ECVS_BRANCH}"
+		ECVS_CO_OPTS+=" -r${ECVS_BRANCH}"
 	fi
 
 	# Handle ECVS_LOCALNAME, which specifies the local directory name
 	# to use.  Note that the -d command option is not equivalent to
 	# the global -d option.
 
-	if [ "$ECVS_LOCALNAME" != "$ECVS_MODULE" ]; then
-		ECVS_CO_OPTS="$ECVS_CO_OPTS -d $ECVS_LOCALNAME"
+	if [[ ${ECVS_LOCALNAME} != "${ECVS_MODULE}" ]] ; then
+		ECVS_CO_OPTS+=" -d ${ECVS_LOCALNAME}"
 	fi
 
-
-	if [ -n "$ECVS_CLEAN" ]; then
-		ECVS_UP_OPTS="$ECVS_UP_OPTS -C"
+	if [[ -n ${ECVS_CLEAN} ]] ; then
+		ECVS_UP_OPTS+=" -C"
 	fi
 
-
 	# It would be easiest to always be in "run-as mode", logic-wise,
 	# if sudo didn't ask for a password even when sudo'ing to `whoami`.
 
-	if [ -z "$ECVS_RUNAS" ]; then
+	if [[ -z ${ECVS_RUNAS} ]] ; then
 		run=""
 	else
-		run="sudo -u $ECVS_RUNAS"
+		run="sudo -u ${ECVS_RUNAS}"
 	fi
 
 	# Create the top dir if needed
 
-	if [ ! -d "$ECVS_TOP_DIR" ]; then
-
+	if [[ ! -d ${ECVS_TOP_DIR} ]] ; then
 		# Note that the addwrite statements in this block are only
 		# there to allow creating ECVS_TOP_DIR; we allow writing
 		# inside it separately.
@@ -268,67 +263,64 @@
 		# real path and not a symlink for things to work (so we can't
 		# just remove the last path element in the string)
 
-		debug-print "$FUNCNAME: checkout mode. creating cvs directory"
+		debug-print "${FUNCNAME}: checkout mode. creating cvs directory"
 		addwrite /foobar
 		addwrite /
-		$run mkdir -p "/$ECVS_TOP_DIR"
+		${run} mkdir -p "/${ECVS_TOP_DIR}"
 		export SANDBOX_WRITE="${SANDBOX_WRITE//:\/foobar:\/}"
 	fi
 
 	# In case ECVS_TOP_DIR is a symlink to a dir, get the real path,
 	# otherwise addwrite() doesn't work.
 
-	cd -P "$ECVS_TOP_DIR" > /dev/null
-	ECVS_TOP_DIR="`/bin/pwd`"
+	cd -P "${ECVS_TOP_DIR}" >/dev/null
+	ECVS_TOP_DIR=$(pwd)
 
 	# Disable the sandbox for this dir
-	addwrite "$ECVS_TOP_DIR"
+	addwrite "${ECVS_TOP_DIR}"
 
 	# Chown the directory and all of its contents
-	if [ -n "$ECVS_RUNAS" ]; then
-		$run chown -R "$ECVS_RUNAS" "/$ECVS_TOP_DIR"
+	if [[ -n ${ECVS_RUNAS} ]] ; then
+		${run} chown -R "${ECVS_RUNAS}" "/${ECVS_TOP_DIR}"
 	fi
 
 	# Determine the CVS command mode (checkout or update)
-	if [ ! -d "$ECVS_TOP_DIR/$ECVS_LOCALNAME/CVS" ]; then
+	if [[ ! -d ${ECVS_TOP_DIR}/${ECVS_LOCALNAME}/CVS ]] ; then
 		mode=checkout
 	else
 		mode=update
 	fi
 
-
 	# Our server string (i.e. CVSROOT) without the password so it can
 	# be put in Root
-	if [ "$ECVS_AUTH" == "no" ]
-	then
+	if [[ ${ECVS_AUTH} == "no" ]] ; then
 		local server="${ECVS_USER}@${ECVS_SERVER}"
 	else
 		local connection="${ECVS_AUTH}"
-		[[ -n ${ECVS_PROXY} ]] && connection="${connection};proxy=${ECVS_PROXY}"
-		[[ -n ${ECVS_PROXY_PORT} ]] && connection="${connection};proxyport=${ECVS_PROXY_PORT}"
+		[[ -n ${ECVS_PROXY} ]] && connection+=";proxy=${ECVS_PROXY}"
+		[[ -n ${ECVS_PROXY_PORT} ]] && connection+=";proxyport=${ECVS_PROXY_PORT}"
 		local server=":${connection}:${ECVS_USER}@${ECVS_SERVER}"
 	fi
 
 	# Switch servers automagically if needed
-	if [ "$mode" == "update" ]; then
-		cd /$ECVS_TOP_DIR/$ECVS_LOCALNAME
-		local oldserver="`$run cat CVS/Root`"
-		if [ "$server" != "$oldserver" ]; then
-
-			einfo "Changing the CVS server from $oldserver to $server:"
-			debug-print "$FUNCNAME: Changing the CVS server from $oldserver to $server:"
+	if [[ ${mode} == "update" ]] ; then
+		cd "/${ECVS_TOP_DIR}/${ECVS_LOCALNAME}"
+		local oldserver=$(${run} cat CVS/Root)
+		if [[ ${server} != "${oldserver}" ]] ; then
+			einfo "Changing the CVS server from ${oldserver} to ${server}:"
+			debug-print "${FUNCNAME}: Changing the CVS server from ${oldserver} to ${server}:"
 
 			einfo "Searching for CVS directories ..."
-			local cvsdirs="`$run find . -iname CVS -print`"
-			debug-print "$FUNCNAME: CVS directories found:"
-			debug-print "$cvsdirs"
+			local cvsdirs=$(${run} find . -iname CVS -print)
+			debug-print "${FUNCNAME}: CVS directories found:"
+			debug-print "${cvsdirs}"
 
 			einfo "Modifying CVS directories ..."
-			for x in $cvsdirs; do
-				debug-print "In $x"
-				$run echo "$server" > "$x/Root"
+			local x
+			for x in ${cvsdirs} ; do
+				debug-print "In ${x}"
+				${run} echo "${server}" > "${x}/Root"
 			done
-
 		fi
 	fi
 
@@ -336,8 +328,8 @@
 	# mess with ~/.cvspass
 	touch "${T}/cvspass"
 	export CVS_PASSFILE="${T}/cvspass"
-	if [ -n "$ECVS_RUNAS" ]; then
-		chown "$ECVS_RUNAS" "${T}/cvspass"
+	if [[ -n ${ECVS_RUNAS} ]] ; then
+		chown "${ECVS_RUNAS}" "${T}/cvspass"
 	fi
 
 	# The server string with the password in it, for login
@@ -345,8 +337,7 @@
 
 	# Ditto without the password, for checkout/update after login, so
 	# that the CVS/Root files don't contain the password in plaintext
-	if [ "$ECVS_AUTH" == "no" ]
-	then
+	if [[ ${ECVS_AUTH} == "no" ]] ; then
 		cvsroot_nopass="${ECVS_USER}@${ECVS_SERVER}"
 	else
 		cvsroot_nopass=":${ECVS_AUTH}:${ECVS_USER}@${ECVS_SERVER}"
@@ -360,37 +351,35 @@
 	# Execute commands
 
 	cd "${ECVS_TOP_DIR}"
-	if [ "${ECVS_AUTH}" == "pserver" ]; then
-		einfo "Running $cmdlogin"
-		eval $cmdlogin || die "cvs login command failed"
-		if [ "${mode}" == "update" ]; then
-			einfo "Running $cmdupdate"
-			eval $cmdupdate || die "cvs update command failed"
-		elif [ "${mode}" == "checkout" ]; then
-			einfo "Running $cmdcheckout"
-			eval $cmdcheckout|| die "cvs checkout command failed"
+	if [[ ${ECVS_AUTH} == "pserver" ]] ; then
+		einfo "Running ${cmdlogin}"
+		eval ${cmdlogin} || die "cvs login command failed"
+		if [[ ${mode} == "update" ]] ; then
+			einfo "Running ${cmdupdate}"
+			eval ${cmdupdate} || die "cvs update command failed"
+		elif [[ ${mode} == "checkout" ]] ; then
+			einfo "Running ${cmdcheckout}"
+			eval ${cmdcheckout} || die "cvs checkout command failed"
 		fi
-	elif [ "${ECVS_AUTH}" == "ext" ] || [ "${ECVS_AUTH}" == "no" ]; then
-
+	elif [[ ${ECVS_AUTH} == "ext" || ${ECVS_AUTH} == "no" ]] ; then
 		# Hack to support SSH password authentication
 
 		# Backup environment variable values
 		local CVS_ECLASS_ORIG_CVS_RSH="${CVS_RSH}"
 
-		if [ "${SSH_ASKPASS+set}" == "set" ]; then
+		if [[ ${SSH_ASKPASS+set} == "set" ]] ; then
 			local CVS_ECLASS_ORIG_SSH_ASKPASS="${SSH_ASKPASS}"
 		else
 			unset CVS_ECLASS_ORIG_SSH_ASKPASS
 		fi
 
-		if [ "${DISPLAY+set}" == "set" ]; then
+		if [[ ${DISPLAY+set} == "set" ]] ; then
 			local CVS_ECLASS_ORIG_DISPLAY="${DISPLAY}"
 		else
 			unset CVS_ECLASS_ORIG_DISPLAY
 		fi
 
-		if [ "${CVS_RSH}" == "ssh" ]; then
-
+		if [[ ${CVS_RSH} == "ssh" ]] ; then
 			# Force SSH to use SSH_ASKPASS by creating python wrapper
 
 			export CVS_RSH="${T}/cvs_sshwrapper"
@@ -425,7 +414,7 @@
 			echo "newarglist.insert(1, '-oUserKnownHostsFile=${CVS_ECLASS_KNOWN_HOSTS}')" \
 				>> "${CVS_RSH}"
 
-			if [ -z "${ECVS_SSH_HOST_KEY}" ]; then
+			if [[ -z ${ECVS_SSH_HOST_KEY} ]] ; then
 				ewarn "Warning: The SSH host key of the remote server will not be verified."
 				einfo "A temporary known hosts list will be used."
 				local CVS_ECLASS_STRICT_HOST_CHECKING="no"
@@ -447,40 +436,39 @@
 			# Make sure DISPLAY is set (SSH will not use SSH_ASKPASS
 			# if DISPLAY is not set)
 
-			[ -z "${DISPLAY}" ] && DISPLAY="DISPLAY"
+			: ${DISPLAY:="DISPLAY"}
 			export DISPLAY
 
-			# Create a dummy executable to echo $ECVS_PASS
+			# Create a dummy executable to echo ${ECVS_PASS}
 
 			export SSH_ASKPASS="${T}/cvs_sshechopass"
-			if [ "${ECVS_AUTH}" != "no" ]; then
-				echo -en "#!/bin/bash\necho \"$ECVS_PASS\"\n" \
+			if [[ ${ECVS_AUTH} != "no" ]] ; then
+				echo -en "#!/bin/bash\necho \"${ECVS_PASS}\"\n" \
 					> "${SSH_ASKPASS}"
 			else
 				echo -en "#!/bin/bash\nreturn\n" \
 					> "${SSH_ASKPASS}"
-
 			fi
 			chmod a+x "${SSH_ASKPASS}"
 		fi
 
-		if [ "${mode}" == "update" ]; then
-			einfo "Running $cmdupdate"
-			eval $cmdupdate || die "cvs update command failed"
-		elif [ "${mode}" == "checkout" ]; then
-			einfo "Running $cmdcheckout"
-			eval $cmdcheckout|| die "cvs checkout command failed"
+		if [[ ${mode} == "update" ]] ; then
+			einfo "Running ${cmdupdate}"
+			eval ${cmdupdate} || die "cvs update command failed"
+		elif [[ ${mode} == "checkout" ]] ; then
+			einfo "Running ${cmdcheckout}"
+			eval ${cmdcheckout} || die "cvs checkout command failed"
 		fi
 
 		# Restore environment variable values
 		export CVS_RSH="${CVS_ECLASS_ORIG_CVS_RSH}"
-		if [ "${CVS_ECLASS_ORIG_SSH_ASKPASS+set}" == "set" ]; then
+		if [[ ${CVS_ECLASS_ORIG_SSH_ASKPASS+set} == "set" ]] ; then
 			export SSH_ASKPASS="${CVS_ECLASS_ORIG_SSH_ASKPASS}"
 		else
 			unset SSH_ASKPASS
 		fi
 
-		if [ "${CVS_ECLASS_ORIG_DISPLAY+set}" == "set" ]; then
+		if [[ ${CVS_ECLASS_ORIG_DISPLAY+set} == "set" ]] ; then
 			export DISPLAY="${CVS_ECLASS_ORIG_DISPLAY}"
 		else
 			unset DISPLAY
@@ -489,8 +477,8 @@
 
 	# Restore ownership.  Not sure why this is needed, but someone
 	# added it in the orig ECVS_RUNAS stuff.
-	if [ -n "$ECVS_RUNAS" ]; then
-		chown `whoami` "${T}/cvspass"
+	if [[ -n ${ECVS_RUNAS} ]] ; then
+		chown $(whoami) "${T}/cvspass"
 	fi
 
 }
@@ -500,76 +488,77 @@
 # The cvs src_unpack function, which will be exported
 cvs_src_unpack() {
 
-	debug-print-function $FUNCNAME $*
-
-	debug-print "$FUNCNAME: init:
-	ECVS_CVS_COMMAND=$ECVS_CVS_COMMAND
-	ECVS_UP_OPTS=$ECVS_UP_OPTS
-	ECVS_CO_OPTS=$ECVS_CO_OPTS
-	ECVS_TOP_DIR=$ECVS_TOP_DIR
-	ECVS_SERVER=$ECVS_SERVER
-	ECVS_USER=$ECVS_USER
-	ECVS_PASS=$ECVS_PASS
-	ECVS_MODULE=$ECVS_MODULE
-	ECVS_LOCAL=$ECVS_LOCAL
-	ECVS_RUNAS=$ECVS_RUNAS
-	ECVS_LOCALNAME=$ECVS_LOCALNAME"
+	debug-print-function ${FUNCNAME} "$@"
 
-	[ -z "$ECVS_MODULE" ] && die "ERROR: CVS module not set, cannot continue."
+	debug-print "${FUNCNAME}: init:
+	ECVS_CVS_COMMAND=${ECVS_CVS_COMMAND}
+	ECVS_UP_OPTS=${ECVS_UP_OPTS}
+	ECVS_CO_OPTS=${ECVS_CO_OPTS}
+	ECVS_TOP_DIR=${ECVS_TOP_DIR}
+	ECVS_SERVER=${ECVS_SERVER}
+	ECVS_USER=${ECVS_USER}
+	ECVS_PASS=${ECVS_PASS}
+	ECVS_MODULE=${ECVS_MODULE}
+	ECVS_LOCAL=${ECVS_LOCAL}
+	ECVS_RUNAS=${ECVS_RUNAS}
+	ECVS_LOCALNAME=${ECVS_LOCALNAME}"
 
-	local ECVS_LOCALNAME="${ECVS_LOCALNAME}"
+	[[ -z ${ECVS_MODULE} ]] && die "ERROR: CVS module not set, cannot continue."
 
-	if [ -z "$ECVS_LOCALNAME" ]; then
-		ECVS_LOCALNAME="$ECVS_MODULE"
-	fi
+	local ECVS_LOCALNAME=${ECVS_LOCALNAME:-${ECVS_MODULE}}
 
 	local sanitized_pn=$(echo "${PN}" | LC_ALL=C sed -e 's:[^A-Za-z0-9_]:_:g')
 	local offline_pkg_var="ECVS_OFFLINE_${sanitized_pn}"
-	if [[ -n ${!offline_pkg_var}${ECVS_OFFLINE} ]] || [[ "$ECVS_SERVER" == "offline" ]] ; then
+	if [[ -n ${!offline_pkg_var}${ECVS_OFFLINE} ]] || [[ ${ECVS_SERVER} == "offline" ]] ; then
 		# We're not required to fetch anything; the module already
 		# exists and shouldn't be updated.
-		if [ -d "${ECVS_TOP_DIR}/${ECVS_LOCALNAME}" ]; then
-			debug-print "$FUNCNAME: offline mode"
+		if [[ -d ${ECVS_TOP_DIR}/${ECVS_LOCALNAME} ]] ; then
+			debug-print "${FUNCNAME}: offline mode"
 		else
-			debug-print "$FUNCNAME: Offline mode specified but directory ${ECVS_TOP_DIR}/${ECVS_LOCALNAME} not found, exiting with error"
+			debug-print "${FUNCNAME}: Offline mode specified but directory ${ECVS_TOP_DIR}/${ECVS_LOCALNAME} not found, exiting with error"
 			die "ERROR: Offline mode specified, but directory ${ECVS_TOP_DIR}/${ECVS_LOCALNAME} not found. Aborting."
 		fi
-	elif [ -n "$ECVS_SERVER" ]; then # ECVS_SERVER!=offline --> real fetching mode
-		einfo "Fetching CVS module $ECVS_MODULE into $ECVS_TOP_DIR ..."
+	elif [[ -n ${ECVS_SERVER} ]] ; then # ECVS_SERVER!=offline --> real fetching mode
+		einfo "Fetching CVS module ${ECVS_MODULE} into ${ECVS_TOP_DIR} ..."
 		cvs_fetch
 	else # ECVS_SERVER not set
 		die "ERROR: CVS server not specified, cannot continue."
 	fi
 
-	einfo "Copying $ECVS_MODULE from $ECVS_TOP_DIR ..."
-	debug-print "Copying module $ECVS_MODULE local_mode=$ECVS_LOCAL from $ECVS_TOP_DIR ..."
+	einfo "Copying ${ECVS_MODULE} from ${ECVS_TOP_DIR} ..."
+	debug-print "Copying module ${ECVS_MODULE} local_mode=${ECVS_LOCAL} from ${ECVS_TOP_DIR} ..."
 
 	# This is probably redundant, but best to make sure.
-	mkdir -p "$WORKDIR/$ECVS_LOCALNAME"
+	mkdir -p "${WORKDIR}/${ECVS_LOCALNAME}"
 
-	if [ -n "$ECVS_LOCAL" ]; then
-		cp -f "$ECVS_TOP_DIR/$ECVS_LOCALNAME"/* "$WORKDIR/$ECVS_LOCALNAME"
+	if [[ -n ${ECVS_LOCAL} ]] ; then
+		cp -f "${ECVS_TOP_DIR}/${ECVS_LOCALNAME}"/* "${WORKDIR}/${ECVS_LOCALNAME}"
 	else
-		cp -Rf "$ECVS_TOP_DIR/$ECVS_LOCALNAME" "$WORKDIR/$ECVS_LOCALNAME/.."
+		cp -Rf "${ECVS_TOP_DIR}/${ECVS_LOCALNAME}" "${WORKDIR}/${ECVS_LOCALNAME}/.."
 	fi
 
 	# Not exactly perfect, but should be pretty close #333773
-	export ECVS_VERSION=$(find "$ECVS_TOP_DIR/$ECVS_LOCALNAME/" -ipath '*/CVS/Entries' -exec cat {} + | LC_ALL=C sort | sha1sum | awk '{print $1}')
+	export ECVS_VERSION=$(
+		find "${ECVS_TOP_DIR}/${ECVS_LOCALNAME}/" -ipath '*/CVS/Entries' -exec cat {} + | \
+			LC_ALL=C sort | \
+			sha1sum | \
+			awk '{print $1}'
+	)
 
 	# If the directory is empty, remove it; empty directories cannot
 	# exist in cvs.  This happens when, for example, kde-source
 	# requests module/doc/subdir which doesn't exist.  Still create
 	# the empty directory in workdir though.
-	if [ "`ls -A \"${ECVS_TOP_DIR}/${ECVS_LOCALNAME}\"`" == "CVS" ]; then
-		debug-print "$FUNCNAME: removing empty CVS directory $ECVS_LOCALNAME"
+	if [[ $(ls -A "${ECVS_TOP_DIR}/${ECVS_LOCALNAME}") == "CVS" ]] ; then
+		debug-print "${FUNCNAME}: removing empty CVS directory ${ECVS_LOCALNAME}"
 		rm -rf "${ECVS_TOP_DIR}/${ECVS_LOCALNAME}"
 	fi
 
 	# Implement some of base_src_unpack's functionality; note however
 	# that base.eclass may not have been inherited!
-	if [ -n "$PATCHES" ]; then
-		debug-print "$FUNCNAME: PATCHES=$PATCHES, S=$S, autopatching"
-		cd "$S"
+	if [[ -n ${PATCHES} ]] ; then
+		debug-print "${FUNCNAME}: PATCHES=${PATCHES,} S=${S}, autopatching"
+		cd "${S}"
 		epatch ${PATCHES}
 		# Make sure we don't try to apply patches more than once,
 		# since cvs_src_unpack is usually called several times from





^ permalink raw reply	[flat|nested] 10+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: cvs.eclass
@ 2013-01-22  7:26 Mike Frysinger (vapier)
  0 siblings, 0 replies; 10+ messages in thread
From: Mike Frysinger (vapier) @ 2013-01-22  7:26 UTC (permalink / raw
  To: gentoo-commits

vapier      13/01/22 07:26:25

  Modified:             cvs.eclass
  Log:
  drop ECVS_SUBDIR as nothing in the tree uses it

Revision  Changes    Path
1.80                 eclass/cvs.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?rev=1.80&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?rev=1.80&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?r1=1.79&r2=1.80

Index: cvs.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -r1.79 -r1.80
--- cvs.eclass	22 Jan 2013 07:25:59 -0000	1.79
+++ cvs.eclass	22 Jan 2013 07:26:25 -0000	1.80
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.79 2013/01/22 07:25:59 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.80 2013/01/22 07:26:25 vapier Exp $
 
 # @ECLASS: cvs.eclass
 # @MAINTAINER:
@@ -178,9 +178,6 @@
 
 # : ${ECVS_RUNAS:=$(whoami)}
 
-# ECVS_SUBDIR -- deprecated, do not use
-[[ -n ${ECVS_SUBDIR} ]] && die "ERROR: deprecated ECVS_SUBDIR defined. Please fix this ebuild."
-
 # add cvs to deps
 # ssh is used for ext auth
 # sudo is used to run as a specified user





^ permalink raw reply	[flat|nested] 10+ messages in thread

* [gentoo-commits] gentoo-x86 commit in eclass: cvs.eclass
@ 2013-01-22  7:29 Mike Frysinger (vapier)
  0 siblings, 0 replies; 10+ messages in thread
From: Mike Frysinger (vapier) @ 2013-01-22  7:29 UTC (permalink / raw
  To: gentoo-commits

vapier      13/01/22 07:29:03

  Modified:             cvs.eclass
  Log:
  add support for checking out via a date string (-D) by Thomas Rausch #443014

Revision  Changes    Path
1.81                 eclass/cvs.eclass

file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?rev=1.81&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?rev=1.81&content-type=text/plain
diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/cvs.eclass?r1=1.80&r2=1.81

Index: cvs.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -r1.80 -r1.81
--- cvs.eclass	22 Jan 2013 07:26:25 -0000	1.80
+++ cvs.eclass	22 Jan 2013 07:29:02 -0000	1.81
@@ -1,6 +1,6 @@
 # Copyright 1999-2013 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.80 2013/01/22 07:26:25 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.81 2013/01/22 07:29:02 vapier Exp $
 
 # @ECLASS: cvs.eclass
 # @MAINTAINER:
@@ -117,6 +117,12 @@
 # several directory levels, i.e. "foo/bar/baz"
 #[[ -z ${ECVS_MODULE} ]] && die "$ECLASS: error: ECVS_MODULE not set, cannot continue"
 
+# @ECLASS-VARIABLE: ECVS_DATE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# The date of the checkout.  See the -D date_spec option in the cvs
+# man page for more details.
+
 # @ECLASS-VARIABLE: ECVS_BRANCH
 # @DEFAULT_UNSET
 # @DESCRIPTION:
@@ -239,6 +245,11 @@
 		ECVS_UP_OPTS+=" -C"
 	fi
 
+	if [[ -n ${ECVS_DATE} ]] ; then
+		ECVS_CO_OPTS+=" -D ${ECVS_DATE}"
+		ECVS_UP_OPTS+=" -D ${ECVS_DATE}"
+	fi
+
 	# It would be easiest to always be in "run-as mode", logic-wise,
 	# if sudo didn't ask for a password even when sudo'ing to `whoami`.
 





^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2013-01-22  7:29 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-21 18:21 [gentoo-commits] gentoo-x86 commit in eclass: cvs.eclass Mike Frysinger (vapier)
  -- strict thread matches above, loose matches on Subject: below --
2013-01-22  7:29 Mike Frysinger (vapier)
2013-01-22  7:26 Mike Frysinger (vapier)
2013-01-22  7:25 Mike Frysinger (vapier)
2013-01-22  7:02 Mike Frysinger (vapier)
2010-08-25 19:57 Mike Frysinger (vapier)
2010-08-24 21:00 Mike Frysinger (vapier)
2010-08-22 20:50 Mike Frysinger (vapier)
2008-04-27  7:00 Ulrich Mueller (ulm)
2008-03-06  0:54 Bo Oersted Andresen (zlin)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox