There is currently no way to update cvs sources only without unpacking (copying) the sources with ebuild.sh. There is no way to fetch updated cvs sources using emerge.sh. If a user does emerge --fetch i_use_cvs_package, nothing will happen. There is no way for a user to fetch updated source without actually unpacking and compiling it. This is because the cvs_fetch function is only called from cvs_unpack. I think the src_fetch function should be exported and fetch should be independent of unpack wrt cvs sources. I would separate the two functions.
portage has to support this first
(In reply to comment #0) > If a user does emerge --fetch i_use_cvs_package, nothing will happen. There is > no way for a user to fetch updated source without actually unpacking and > compiling it. Portage itself handles the fetch phase and does not allow it to be delegated to the ebuild. Thats why cvs.eclass rolls the fetch phase into src_unpack(). One major problem with delegating the fetch phase to the ebuild is that it bypasses the ability of portage to check know digests of distfiles (an important security feature).
If it can't be done, feel free to close as WONT.
it can be done, it's just a question of do we want to do it ... this hinges on whether it's even worthwhile beyond things based on live source repos (cvs/svn/rsync/mercurial/tla/etc...) where it would be quite useful, i'd be hard pressed to find any other use
Maybe later when there is actual support for versionless packages.