eutils.eclass: Ban path_exists
authorMichał Górny <mgorny@gentoo.org>
Thu, 9 Aug 2018 15:11:04 +0000 (17:11 +0200)
committerMichał Górny <mgorny@gentoo.org>
Wed, 15 Aug 2018 07:31:00 +0000 (09:31 +0200)
Closes: https://github.com/gentoo/gentoo/pull/9517

eclass/eutils.eclass
eclass/tests/eutils_path_exists.sh [deleted file]

index e5d0ebeebb0659d434da525baa7c602bb21df0c6..7b6336e2aee1669935120704ad9327d35f6e2ad1 100644 (file)
@@ -168,33 +168,11 @@ make_wrapper() {
        fi
 }
 
-# @FUNCTION: path_exists
-# @USAGE: [-a|-o] <paths>
-# @DESCRIPTION:
-# Check if the specified paths exist.  Works for all types of paths
-# (files/dirs/etc...).  The -a and -o flags control the requirements
-# of the paths.  They correspond to "and" and "or" logic.  So the -a
-# flag means all the paths must exist while the -o flag means at least
-# one of the paths must exist.  The default behavior is "and".  If no
-# paths are specified, then the return value is "false".
 path_exists() {
-       local opt=$1
-       [[ ${opt} == -[ao] ]] && shift || opt="-a"
-
-       # no paths -> return false
-       # same behavior as: [[ -e "" ]]
-       [[ $# -eq 0 ]] && return 1
-
-       local p r=0
-       for p in "$@" ; do
-               [[ -e ${p} ]]
-               : $(( r += $? ))
-       done
-
-       case ${opt} in
-               -a) return $(( r != 0 )) ;;
-               -o) return $(( r == $# )) ;;
-       esac
+       eerror "path_exists has been removed.  Please see the following post"
+       eerror "for a replacement snippet:"
+       eerror "https://blogs.gentoo.org/mgorny/2018/08/09/inlining-path_exists/"
+       die "path_exists is banned"
 }
 
 # @FUNCTION: use_if_iuse
diff --git a/eclass/tests/eutils_path_exists.sh b/eclass/tests/eutils_path_exists.sh
deleted file mode 100755 (executable)
index 00a89c7..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/bash
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-source tests-common.sh
-
-inherit eutils
-
-test-path_exists() {
-       local exp=$1; shift
-       tbegin "path_exists($*) == ${exp}"
-       path_exists "$@"
-       [[ ${exp} -eq $? ]]
-       tend $?
-}
-
-test-path_exists 1
-test-path_exists 1 -a
-test-path_exists 1 -o
-
-good="/ . tests-common.sh /bin/bash"
-test-path_exists 0 ${good}
-test-path_exists 0 -a ${good}
-test-path_exists 0 -o ${good}
-
-bad="/asjdkfljasdlfkja jlakjdsflkasjdflkasdjflkasdjflaskdjf"
-test-path_exists 1 ${bad}
-test-path_exists 1 -a ${bad}
-test-path_exists 1 -o ${bad}
-
-test-path_exists 1 ${good} ${bad}
-test-path_exists 1 -a ${good} ${bad}
-test-path_exists 0 -o ${good} ${bad}
-
-texit