Summary: | subversion.eclass: doesn't fetch with command emerge -f | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Yixun Lan <dlan> |
Component: | Eclasses | Assignee: | Akinori Hattori <hattya> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | mrueg, zerochaos |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Yixun Lan
2012-09-04 03:23:27 UTC
I asked dlan to open this bug as this problem has always really bothered me. The fetching could easily be done in src_fetch and the rsync could happen in src_unpack. Is there any specific reason why this is not done? I can easily enough provide patches for review. Ten seconds worth of proof of concept: Index: subversion.eclass =================================================================== RCS file: /var/cvsroot/gentoo-x86/eclass/subversion.eclass,v retrieving revision 1.83 diff -u -r1.83 subversion.eclass --- subversion.eclass 29 Jul 2012 05:54:17 -0000 1.83 +++ subversion.eclass 4 Sep 2012 04:21:08 -0000 @@ -18,11 +18,11 @@ case "${EAPI:-0}" in 0|1) - EXPORT_FUNCTIONS src_unpack pkg_preinst + EXPORT_FUNCTIONS src_fetch src_unpack pkg_preinst DEPEND="dev-vcs/subversion" ;; *) - EXPORT_FUNCTIONS src_unpack src_prepare pkg_preinst + EXPORT_FUNCTIONS src_fetch src_unpack src_prepare pkg_preinst DEPEND="|| ( dev-vcs/subversion[webdav-neon] dev-vcs/subversion[webdav-serf] )" ;; esac @@ -333,6 +333,11 @@ einfo " working copy: ${wc_path}" + popd >/dev/null + echo +} + +subversion_unpack() { if ! has "export" ${ESVN_RESTRICT}; then cd "${wc_path}" || die "${ESVN}: can't chdir to ${wc_path}" @@ -344,9 +349,6 @@ #* svn export . "${S}" || die "${ESVN}: can't export to ${S}." rsync -rlpgo --exclude=".svn/" . "${S}" || die "${ESVN}: can't export to ${S}." fi - - popd >/dev/null - echo } # @FUNCTION: subversion_bootstrap @@ -419,13 +421,17 @@ # @FUNCTION: subversion_src_unpack # @DESCRIPTION: # Default src_unpack. Fetch and, in older EAPIs, bootstrap. -subversion_src_unpack() { +subversion_src_fetch() { subversion_fetch || die "${ESVN}: unknown problem occurred in subversion_fetch." if has "${EAPI:-0}" 0 1; then subversion_bootstrap || die "${ESVN}: unknown problem occurred in subversion_bootstrap." fi } +subversion_src_unpack() { + subversion_unpack || die "fsck me" +} + # @FUNCTION: subversion_src_prepare # @DESCRIPTION: # Default src_prepare. Bootstrap. A src_fetch phase function doesn't exist... *** This bug has been marked as a duplicate of bug 249086 *** |