summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2018-02-16 18:48:13 +0100
committerUlrich Müller <ulm@gentoo.org>2018-03-02 09:33:39 +0100
commitb2b6ac0932d7214f17752e9b89a6603580a857e5 (patch)
treeaebe92ba5f52e90842a7efbfaaa164802af6009d /eclass/vcs-clean.eclass
parenteutils.eclass: More reliable return status for e*_clean functions. (diff)
downloadgentoo-b2b6ac0932d7214f17752e9b89a6603580a857e5.tar.gz
gentoo-b2b6ac0932d7214f17752e9b89a6603580a857e5.tar.bz2
gentoo-b2b6ac0932d7214f17752e9b89a6603580a857e5.zip
vcs-clean.eclass: Split off clean helpers from eutils.eclass.
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.
Diffstat (limited to 'eclass/vcs-clean.eclass')
-rw-r--r--eclass/vcs-clean.eclass40
1 files changed, 40 insertions, 0 deletions
diff --git a/eclass/vcs-clean.eclass b/eclass/vcs-clean.eclass
new file mode 100644
index 000000000000..649a9e3039b1
--- /dev/null
+++ b/eclass/vcs-clean.eclass
@@ -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 '{}' +
+}