cvs.eclass
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.
Functions
- cvs_fetch
-
Fetch sources from a CVS repository. Called from
cvs_src_unpack
. - cvs_src_unpack
-
The cvs
src_unpack
function, which will be exported
Variables
- ECVS_CVS_COMPRESS ?= -z1
-
Set the default compression level. Has no effect when
ECVS_CVS_COMMAND
is defined by ebuild/user. - ECVS_CVS_OPTIONS ?= -q -f
-
Additional options to the cvs commands. Has no effect when
ECVS_CVS_COMMAND
is defined by ebuild/user. - ECVS_CVS_COMMAND ?= cvs ${ECVS_CVS_OPTIONS} ${ECVS_CVS_COMPRESS}
-
CVS command to run
You can set, for example,
cvs -t
for extensive debug information on the cvs connection. The default ofcvs -q -f -z4
means to be quiet, to disregard the~/.cvsrc
config file and to use maximum compression. - ECVS_UP_OPTS ?= -dP
-
CVS options given after the cvs update command. Don't remove
-dP
or things won't work. - ECVS_CO_OPTS
-
CVS options given after the cvs checkout command.
- ECVS_OFFLINE ?= ${EVCS_OFFLINE} (USER VARIABLE)
-
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_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). - ECVS_LOCALNAME
-
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 useless empty directories.
WARNING: Set this only from within ebuilds! If set in your shell or some such, things will break because the ebuild won't expect it and have e.g. a wrong
$S
setting. - ECVS_TOP_DIR ?= "${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}/cvs-src"
-
The directory under which CVS modules are checked out.
- ECVS_SERVER ?= "offline"
-
CVS path
The format is
server:/dir
, e.g.anoncvs.kde.org:/home/kde
. Remove the other parts of the fullCVSROOT
, which might look like:pserver:anonymous@anoncvs.kde.org:/home/kde
; this is generated using other settings also.Set this to
offline
to disable fetching (i.e. to assume the module is already checked out inECVS_TOP_DIR
). - ECVS_MODULE (REQUIRED)
-
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
- ECVS_DATE
-
The date of the checkout. See the
-D date_spec
option in the cvs man page for more details. - ECVS_BRANCH
-
The name of the branch/tag to use
The default is
HEAD
. The following default will reset your branch checkout to head if used. - ECVS_AUTH ?= "pserver" (SET BEFORE INHERIT)
-
Authentication method to use
Possible values are
pserver
,ext
andno
. Ifext
authentication is used, the remote shell to use can be specified inCVS_RSH
(SSH is used by default). Currently, the only supported remote shell forext
authentication is SSH.If
no
authentication is used, the remote shell uses no AUTH method, nor does it login. - ECVS_USER ?= "anonymous"
-
Username to use for authentication on the remote server.
- ECVS_PASS
-
Password to use for authentication on the remote server
- ECVS_SSH_HOST_KEY
-
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.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
-C
option to cvs update)
Maintainers
vapier@gentoo.org (and anyone who wants to help)
Reporting Bugs
Please report bugs via https://bugs.gentoo.org/