On Fri, 29 Jul 2016 17:42:40 +0200 Michał Górny wrote:
> On Fri, 29 Jul 2016 18:31:58 +0300
> Andrew Savchenko <[email protected]> wrote:
> 
> > diff --git a/eclass/subversion.eclass b/eclass/subversion.eclass
> > index c45c725..49040a4 100644
> > --- a/eclass/subversion.eclass
> > +++ b/eclass/subversion.eclass
> > @@ -434,6 +434,7 @@ subversion_src_unpack() {
> >  # Default src_prepare. Bootstrap.
> >  subversion_src_prepare() {
> >     subversion_bootstrap || die "${ESVN}: unknown problem occurred in 
> > subversion_bootstrap."
> > +   [[ ${EAPI:-0} -ge 6 ]] && eapply_user
> 
> EAPI is not always a number, so this is wrong.

Then as QA you should go and fix xorg-2.eclass :)

Due to changes below this code is not needed in the
subversion.eclass.

> Furthermore, since it didn't work in EAPI 6 anyway, please take a look
> into improving this eclass for EAPI 6. In particular:
> 
> - add a proper EAPI check preventing it from implicitly being enabled
>   in new EAPIs,

Done.
 
> - disable subversion_bootstrap() along with all the relevant facilities
>   in EAPI 6 and later, therefore also stopping exporting src_prepare().

Done, no need for eappy_user in this case.

Please in future explain such requirements to save fellow
developer's time, since subversion_bootstrap doesn't contradict
directly with EAPI 6 (ESVN_PATCHES is not needed with PATCHES
available in EAPI 6, but this is another matter). The real reason
for removal is that nobody uses it in the main tree anymore.

Best regards,
Andrew Savchenko
diff --git a/eclass/subversion.eclass b/eclass/subversion.eclass
index c45c725..489e448 100644
--- a/eclass/subversion.eclass
+++ b/eclass/subversion.eclass
@@ -21,10 +21,17 @@ case "${EAPI:-0}" in
 		EXPORT_FUNCTIONS src_unpack pkg_preinst
 		DEPEND="dev-vcs/subversion"
 		;;
-	*)
+	2|3|4|5)
 		EXPORT_FUNCTIONS src_unpack src_prepare pkg_preinst
 		DEPEND="|| ( dev-vcs/subversion[http] dev-vcs/subversion[webdav-neon] dev-vcs/subversion[webdav-serf] )"
 		;;
+	6)
+		EXPORT_FUNCTIONS src_unpack pkg_preinst
+		DEPEND="|| ( dev-vcs/subversion[http] dev-vcs/subversion[webdav-neon] dev-vcs/subversion[webdav-serf] )"
+		;;
+	*)
+		die "EAPI ${EAPI} is not supported in subversion.eclass"
+		;;
 esac
 
 DEPEND+=" net-misc/rsync"
@@ -116,7 +123,8 @@ ESVN_PROJECT="${ESVN_PROJECT:-${PN/-svn}}"
 
 # @ECLASS-VARIABLE: ESVN_BOOTSTRAP
 # @DESCRIPTION:
-# bootstrap script or command like autogen.sh or etc..
+# Bootstrap script or command like autogen.sh or etc..
+# Removed in EAPI 6 and later.
 ESVN_BOOTSTRAP="${ESVN_BOOTSTRAP:-}"
 
 # @ECLASS-VARIABLE: ESVN_PATCHES
@@ -127,6 +135,8 @@ ESVN_BOOTSTRAP="${ESVN_BOOTSTRAP:-}"
 #
 # Patches are searched both in ${PWD} and ${FILESDIR}, if not found in either
 # location, the installation dies.
+#
+# Removed in EAPI 6 and later, use PATCHES instead.
 ESVN_PATCHES="${ESVN_PATCHES:-}"
 
 # @ECLASS-VARIABLE: ESVN_RESTRICT
@@ -355,7 +365,10 @@ subversion_fetch() {
 # @FUNCTION: subversion_bootstrap
 # @DESCRIPTION:
 # Apply patches in ${ESVN_PATCHES} and run ${ESVN_BOOTSTRAP} if specified.
+# Removed in EAPI 6 and later.
 subversion_bootstrap() {
+	has "${EAPI:-0}" 6 && die "${FUNCNAME[1]} is removed from subversion.eclass in EAPI 6 and later"
+
 	if has "export" ${ESVN_RESTRICT}; then
 		return
 	fi
@@ -432,7 +445,9 @@ subversion_src_unpack() {
 # @FUNCTION: subversion_src_prepare
 # @DESCRIPTION:
 # Default src_prepare. Bootstrap.
+# Removed in EAPI 6 and later.
 subversion_src_prepare() {
+	has "${EAPI:-0}" 6 && die "${FUNCNAME[1]} is removed from subversion.eclass in EAPI 6 and later"
 	subversion_bootstrap || die "${ESVN}: unknown problem occurred in subversion_bootstrap."
 }
 

Attachment: pgpv3sn60hdZe.pgp
Description: PGP signature

Reply via email to