vcs-clean.eclass: Split off clean helpers from eutils.eclass.
authorUlrich Müller <ulm@gentoo.org>
Fri, 16 Feb 2018 17:48:13 +0000 (18:48 +0100)
committerUlrich Müller <ulm@gentoo.org>
Fri, 2 Mar 2018 08:33:39 +0000 (09:33 +0100)
Split off functions ecvs_clean, esvn_clean, and egit_clean into
a dedicated vcs-clean.eclass. No code changes.

For backwards compatibility, eutils inherits the new eclass in
existing EAPIs.

eclass/eutils.eclass
eclass/vcs-clean.eclass [new file with mode: 0644]

index 0a5bf3853582a6dafea99b6784d39fafc7f26388..7840afbb77b98339b79904f9f2a574b532aa995f 100644 (file)
@@ -20,7 +20,8 @@ _EUTILS_ECLASS=1
 # implicitly inherited (now split) eclasses
 case ${EAPI:-0} in
 0|1|2|3|4|5|6)
-       inherit desktop epatch estack ltprune multilib preserve-libs toolchain-funcs
+       inherit desktop epatch estack ltprune multilib preserve-libs \
+               toolchain-funcs vcs-clean
        ;;
 esac
 
@@ -37,37 +38,6 @@ if ! declare -F eqawarn >/dev/null ; then
        }
 fi
 
-# @FUNCTION: ecvs_clean
-# @USAGE: [list of dirs]
-# @DESCRIPTION:
-# Remove CVS directories recursiveley.  Useful when a source tarball contains
-# internal CVS directories.  Defaults to $PWD.
-ecvs_clean() {
-       [[ $# -eq 0 ]] && set -- .
-       find "$@" '(' -type d -name 'CVS' -prune -o -type f -name '.cvs*' ')' \
-               -exec rm -rf '{}' +
-}
-
-# @FUNCTION: esvn_clean
-# @USAGE: [list of dirs]
-# @DESCRIPTION:
-# Remove .svn directories recursiveley.  Useful when a source tarball contains
-# internal Subversion directories.  Defaults to $PWD.
-esvn_clean() {
-       [[ $# -eq 0 ]] && set -- .
-       find "$@" -type d -name '.svn' -prune -exec rm -rf '{}' +
-}
-
-# @FUNCTION: egit_clean
-# @USAGE: [list of dirs]
-# @DESCRIPTION:
-# Remove .git* directories/files recursiveley.  Useful when a source tarball
-# contains internal Git directories.  Defaults to $PWD.
-egit_clean() {
-       [[ $# -eq 0 ]] && set -- .
-       find "$@" -type d -name '.git*' -prune -exec rm -rf '{}' +
-}
-
 # @FUNCTION: emktemp
 # @USAGE: [temp dir]
 # @DESCRIPTION:
diff --git a/eclass/vcs-clean.eclass b/eclass/vcs-clean.eclass
new file mode 100644 (file)
index 0000000..649a9e3
--- /dev/null
@@ -0,0 +1,40 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# @ECLASS: vcs-clean.eclass
+# @MAINTAINER:
+# base-system@gentoo.org
+# @AUTHOR:
+# Benedikt Böhm <hollow@gentoo.org>
+# @BLURB: helper functions to remove VCS directories
+
+# @FUNCTION: ecvs_clean
+# @USAGE: [list of dirs]
+# @DESCRIPTION:
+# Remove CVS directories and .cvs* files recursively.  Useful when a
+# source tarball contains internal CVS directories.  Defaults to ${PWD}.
+ecvs_clean() {
+       [[ $# -eq 0 ]] && set -- .
+       find "$@" '(' -type d -name 'CVS' -prune -o -type f -name '.cvs*' ')' \
+               -exec rm -rf '{}' +
+}
+
+# @FUNCTION: esvn_clean
+# @USAGE: [list of dirs]
+# @DESCRIPTION:
+# Remove .svn directories recursively.  Useful when a source tarball
+# contains internal Subversion directories.  Defaults to ${PWD}.
+esvn_clean() {
+       [[ $# -eq 0 ]] && set -- .
+       find "$@" -type d -name '.svn' -prune -exec rm -rf '{}' +
+}
+
+# @FUNCTION: egit_clean
+# @USAGE: [list of dirs]
+# @DESCRIPTION:
+# Remove .git* directories recursively.  Useful when a source tarball
+# contains internal Git directories.  Defaults to ${PWD}.
+egit_clean() {
+       [[ $# -eq 0 ]] && set -- .
+       find "$@" -type d -name '.git*' -prune -exec rm -rf '{}' +
+}