Hello everyone, I've rewritten cvs.eclass. I'll test all cvs euilds once again now and then commit the new eclass and ebuilds if noone objects. Extra testing from anyone else welcome. Attached are the new eclass, and kde-source.eclass which had to be slightly modified to match. A new kde-cvs tarball that works with the new cvs.eclass is at http://cvs.gentoo.org/~danarmak/kde-cvs-20030418.tar.gz. Changes to the eclass: - General fixes for many cases, even if noone seemed to be having problems except for me. This didn't start out as a cleanup... - It is now much smaller and cleaner and easy to read and understand. - No longer uses the pexpect package with inline python to log in. - Explicitly deprecates ext auth support. This was claimed to be supported before, but never actually worked. There is no ebuild in portage that uses ext instead of pserver; if you have one and want ext auh to work, lpease send me your ebuild to test against. - Transfers some logic from the eclass code to cvs itself. Therefore virtual cvs modules are now transparently supported (in at least some cases), this enables the php-cvs ebuild to work (soon to be submitted on bugzilla by coredumb). Changes people writing cvs ebuilds want to know about: - ECVS_RUNAS, running everything under su to a specified user, does not work. I am not sure how well it worked before. In any case it is impossible to do in portage's userpriv mode AFAIK, unless the administrator gave the portage user the right to su or sudo to that user without benig prompted for a password. I may implement this again before committing, mostly for non-userpriv mode (especially if people ask me to ;-). - ECVS_ANON is deprecated. From the cvs POV there is always a password, even if it's empty. So if you want the previous "anonymous login" behaviour, just leave things alone and the default values of ECVS_USER="anonymous", ECVS_PASS="" should work. - ECVS_SUBDIR is deprecated. Instead you can now specify subdirectories like this: ECVS_MODULE="dir/dir/dir..." - ECVS_AUTH=ext is deprecated and will make the eclass die. - ECVS_CVS_OPTIONS doesn't exist anymore since update and checkout give different meaning to the same parameters, such as -P. So now there are separate ECVS_UP_OPTS, ECVS_CO_OPTS vars for update and checkout parameters respectively. (Because I moved some logic to cvs as said above, I now do real cvs checkout when needed, not just a fake cvs update.) These ebuilds set the deprecated variables ECVS_ANON and/or ECVS_CVS_OPTIONS, these settings can be safely removed (I went over the ebuilds and it should be OK): app-editors/emacs-cvs, dev-perl/Common, dev-python/twisted-cvs, net-www/galeon-cvs, sys-libs/ldetect-lst, sys-libs/ldetect. -- Dan Armak Gentoo Linux developer (KDE) Matan, Israel Public GPG key: http://cvs.gentoo.org/~danarmak/danarmak-gpg-public.key