| 1 | # Copyright 1999-2000 Gentoo Technologies, Inc. |
1 | # Copyright 1999-2000 Gentoo Technologies, Inc. |
| 2 | # Distributed under the terms of the GNU General Public License, v2 or later |
2 | # Distributed under the terms of the GNU General Public License, v2 or later |
| 3 | # Author Dan Armak <danarmak@gentoo.org> |
3 | # Author Dan Armak <danarmak@gentoo.org> |
| 4 | # $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.6 2002/08/01 19:16:31 danarmak Exp $ |
4 | # $Header: /var/cvsroot/gentoo-x86/eclass/cvs.eclass,v 1.7 2002/08/01 22:14:10 danarmak Exp $ |
| 5 | # This eclass provides the generic cvs fetching functions. |
5 | # This eclass provides the generic cvs fetching functions. |
| 6 | |
6 | |
| 7 | ECLASS=cvs |
7 | ECLASS=cvs |
| 8 | INHERITED="$INHERITED $ECLASS" |
8 | INHERITED="$INHERITED $ECLASS" |
| 9 | |
9 | |
| … | |
… | |
| 15 | |
15 | |
| 16 | # cvs command to run. you can set fex. "cvs -t" for extensive debug information |
16 | # cvs command to run. you can set fex. "cvs -t" for extensive debug information |
| 17 | # on the cvs onnection. the default of "cvs -q -f -z4" means to be quiet, to disregard |
17 | # on the cvs onnection. the default of "cvs -q -f -z4" means to be quiet, to disregard |
| 18 | # the ~/.cvsrc config file and to use maximum compression. |
18 | # the ~/.cvsrc config file and to use maximum compression. |
| 19 | [ -z "$ECVS_CVS_COMMAND" ] && ECVS_CVS_COMMAND="cvs -f -z4" |
19 | [ -z "$ECVS_CVS_COMMAND" ] && ECVS_CVS_COMMAND="cvs -f -z4" |
|
|
20 | |
|
|
21 | # cvs options given after the command (i.e. cvs update foo) |
|
|
22 | # don't remove -dP or things won't work |
|
|
23 | [ -z "$ECVS_CVS_OPTIONS" ] && ECVS_CVS_OPTIONS="-dP" |
|
|
24 | |
|
|
25 | # set this for the module/subdir to be fetched non-recursively |
|
|
26 | #[ -n "$ECVS_LOCAL" ] && ECVS_CVS_OPTIONS="$ECVS_CVS_OPTIONS -l" |
| 20 | |
27 | |
| 21 | # Where the cvs modules are stored/accessed |
28 | # Where the cvs modules are stored/accessed |
| 22 | [ -z "$ECVS_TOP_DIR" ] && ECVS_TOP_DIR="/usr/src" |
29 | [ -z "$ECVS_TOP_DIR" ] && ECVS_TOP_DIR="/usr/src" |
| 23 | |
30 | |
| 24 | # Name of cvs server, set to "" to disable fetching |
31 | # Name of cvs server, set to "" to disable fetching |
| … | |
… | |
| 55 | |
62 | |
| 56 | debug-print-function $FUNCNAME $* |
63 | debug-print-function $FUNCNAME $* |
| 57 | |
64 | |
| 58 | debug-print "$FUNCNAME: init: |
65 | debug-print "$FUNCNAME: init: |
| 59 | ECVS_CVS_COMMAND=$ECVS_CVS_COMMAND |
66 | ECVS_CVS_COMMAND=$ECVS_CVS_COMMAND |
|
|
67 | ECVS_CVS_OPTIONS=$ECVS_CVS_OPTIONS |
| 60 | ECVS_TOP_DIR=$ECVS_TOP_DIR |
68 | ECVS_TOP_DIR=$ECVS_TOP_DIR |
| 61 | ECVS_SERVER=$ECVS_SERVER |
69 | ECVS_SERVER=$ECVS_SERVER |
| 62 | ECVS_USER=$ECVS_USER |
70 | ECVS_USER=$ECVS_USER |
| 63 | ECVS_PASS=$ECVS_PASS |
71 | ECVS_PASS=$ECVS_PASS |
| 64 | ECS_MODULE=$ECVS_MODULE |
72 | ECS_MODULE=$ECVS_MODULE |
| 65 | ECVS_MODULE_SUBDIR=$ECVS_SUBDIR |
73 | ECVS_MODULE_SUBDIR=$ECVS_SUBDIR |
|
|
74 | ECVS_LOCAL=$ECVS_LOCAL |
| 66 | DIR=$DIR" |
75 | DIR=$DIR" |
| 67 | |
76 | |
| 68 | # a shorthand |
77 | # a shorthand |
| 69 | [ -n "$ECVS_SUBDIR" ] && DIR="${ECVS_TOP_DIR}/${ECVS_MODULE}/${ECVS_SUBDIR}" || \ |
78 | [ -n "$ECVS_SUBDIR" ] && DIR="${ECVS_TOP_DIR}/${ECVS_MODULE}/${ECVS_SUBDIR}" || \ |
| 70 | DIR="${ECVS_TOP_DIR}/${ECVS_MODULE}" |
79 | DIR="${ECVS_TOP_DIR}/${ECVS_MODULE}" |
|
|
80 | |
|
|
81 | [ -n "$ECVS_LOCAL" ] && ECVS_CVS_OPTIONS="$ECVS_CVS_OPTIONS -l" |
| 71 | |
82 | |
| 72 | addread $DIR |
83 | addread $DIR |
| 73 | |
84 | |
| 74 | if [ -z "$ECVS_SERVER" ]; then |
85 | if [ -z "$ECVS_SERVER" ]; then |
| 75 | # we're not required to fetch anything, the module already exists and shouldn't be updated |
86 | # we're not required to fetch anything, the module already exists and shouldn't be updated |
| … | |
… | |
| 161 | fi |
172 | fi |
| 162 | |
173 | |
| 163 | fi |
174 | fi |
| 164 | |
175 | |
| 165 | # finally run the cvs update command |
176 | # finally run the cvs update command |
| 166 | debug-print "$FUNCNAME: running $ECVS_CVS_COMMAND update with $ECVS_SERVER for module $ECVS_MODULE subdir $ECVS_SUBDIR" |
177 | debug-print "$FUNCNAME: running $ECVS_CVS_COMMAND update $ECVS_CVS_OPTIONS with $ECVS_SERVER for module $ECVS_MODULE subdir $ECVS_SUBDIR" |
| 167 | einfo "Running $ECVS_CVS_COMMAND update with $ECVS_SERVER for $ECVS_MODULE/$ECVS_SUBDIR..." |
178 | einfo "Running $ECVS_CVS_COMMAND update $ECVS_CVS_OPTIONS with $ECVS_SERVER for $ECVS_MODULE/$ECVS_SUBDIR..." |
| 168 | $ECVS_CVS_COMMAND update -dP || die "died running cvs update" |
179 | $ECVS_CVS_COMMAND update $ECVS_CVS_OPTIONS || die "died running cvs update" |
| 169 | |
180 | |
| 170 | } |
181 | } |
| 171 | |
182 | |
| 172 | cvs_src_unpack() { |
183 | cvs_src_unpack() { |
| 173 | |
184 | |
| 174 | debug-print-function $FUNCNAME $* |
185 | debug-print-function $FUNCNAME $* |
| 175 | cvs_fetch || die "died running cvs_fetch" |
186 | cvs_fetch || die "died running cvs_fetch" |
| 176 | |
187 | |
| 177 | einfo "Copying module $ECVS_MODULE from $ECVS_TOP_DIR..." |
188 | einfo "Copying module $ECVS_MODULE from $ECVS_TOP_DIR..." |
| 178 | debug-print "Copying module $ECVS_MODULE from $ECVS_TOP_DIR..." |
189 | debug-print "Copying module $ECVS_MODULE from $ECVS_TOP_DIR..." |
| 179 | # the reason this lives here and not in kde-source_src_unpack |
190 | |
| 180 | # is that in the future after copying the sources we might need to |
191 | if [ -n "$ECVS_SUBDIR" ]; then |
| 181 | # delete them, so this has to be self-contained |
192 | mkdir $WORKDIR/$ECVS_MODULE |
| 182 | [ -n "$ECVS_SUBDIR" ] && cp -Rf $ECVS_TOP_DIR/$ECVS_MODULE/$ECVS_SUBDIR $WORKDIR \ |
193 | cp -Rf $ECVS_TOP_DIR/$ECVS_MODULE/$ECVS_SUBDIR $WORKDIR/$ECVS_MODULE |
|
|
194 | else |
|
|
195 | if [ -n "$ECVS_LOCAL" ]; then |
|
|
196 | cp -f $ECVS_TOP_DIR/$ECVS_MODULE/* $WORKDIR/$ECVS_MODULE |
|
|
197 | else |
| 183 | || cp -Rf $ECVS_TOP_DIR/$ECVS_MODULE $WORKDIR |
198 | cp -Rf $ECVS_TOP_DIR/$ECVS_MODULE $WORKDIR |
|
|
199 | fi |
|
|
200 | fi |
| 184 | |
201 | |
| 185 | # implement some of base_src_unpack's functionality; |
202 | # implement some of base_src_unpack's functionality; |
| 186 | # note however that base.eclass may not have been inherited! |
203 | # note however that base.eclass may not have been inherited! |
| 187 | if [ -n "$PATCHES" ]; then |
204 | if [ -n "$PATCHES" ]; then |
| 188 | debug-print "$FUNCNAME: PATCHES=$PATCHES, S=$S, autopatching" |
205 | debug-print "$FUNCNAME: PATCHES=$PATCHES, S=$S, autopatching" |