Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/freebsd/poudriere.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src/share
diff options
context:
space:
mode:
authorBryan Drewery <bryan@shatow.net>2014-04-04 16:00:18 +0400
committerBryan Drewery <bryan@shatow.net>2014-04-04 16:00:18 +0400
commit18e08e77295a306395ef2e01aef0412d96472502 (patch)
tree92407733bee2bdea91bc40a7819749bc4f805a4d /src/share
parent7b5cf1f8ba9a72980428fc3001132da1331027fa (diff)
Move hash handling to hash.sh
Diffstat (limited to 'src/share')
-rwxr-xr-xsrc/share/poudriere/common.sh50
-rw-r--r--src/share/poudriere/include/hash.sh73
2 files changed, 73 insertions, 50 deletions
diff --git a/src/share/poudriere/common.sh b/src/share/poudriere/common.sh
index 1924d0e1..bf263e1f 100755
--- a/src/share/poudriere/common.sh
+++ b/src/share/poudriere/common.sh
@@ -69,56 +69,6 @@ gsub() {
echo "${_gsub}"
}
-_hash_var_name() {
- # Replace all HASH_VAR_NAME_SUB_GLOB with _
- _gsub "_HASH_${1}_${2}" ${HASH_VAR_NAME_SUB_GLOB} _
- _hash_var_name=${_gsub}
-}
-
-hash_get() {
- [ $# -ne 3 ] && eargs hash_get var_return var key
- local var_return="$1"
- local var="$2"
- local key="$3"
- local hash_var_name value
-
- _hash_var_name "${var}" "${key}"
- hash_var_name=${_hash_var_name}
-
- # Look value from cache
- eval "value=\${${hash_var_name}-__null}"
-
- [ "${value}" = "__null" ] && return 1
-
- setvar "${var_return}" ${value}
-
- return 0
-}
-
-hash_set() {
- [ $# -eq 3 ] || eargs hash_set var key value
- local var="$1"
- local key="$2"
- local value="$3"
- local hash_var_name
-
- _hash_var_name "${var}" "${key}"
- hash_var_name=${_hash_var_name}
-
- # Set value in cache
- setvar "${hash_var_name}" "${value}"
-}
-
-hash_unset() {
- [ $# -eq 2 ] || eargs hash_unset var key
- local var="$1"
- local key="$2"
- local hash_var_name
-
- _hash_var_name "${var}" "${key}"
- unset "${_hash_var_name}"
-}
-
not_for_os() {
local os=$1
shift
diff --git a/src/share/poudriere/include/hash.sh b/src/share/poudriere/include/hash.sh
new file mode 100644
index 00000000..5284bbbc
--- /dev/null
+++ b/src/share/poudriere/include/hash.sh
@@ -0,0 +1,73 @@
+# Copyright (c) 2014 Bryan Drewery <bdrewery@FreeBSD.org>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+
+_hash_var_name() {
+ # Replace all HASH_VAR_NAME_SUB_GLOB with _
+ _gsub "_HASH_${1}_${2}" ${HASH_VAR_NAME_SUB_GLOB} _
+ _hash_var_name=${_gsub}
+}
+
+hash_get() {
+ [ $# -ne 3 ] && eargs hash_get var_return var key
+ local var_return="$1"
+ local var="$2"
+ local key="$3"
+ local hash_var_name value
+
+ _hash_var_name "${var}" "${key}"
+ hash_var_name=${_hash_var_name}
+
+ # Look value from cache
+ eval "value=\${${hash_var_name}-__null}"
+
+ [ "${value}" = "__null" ] && return 1
+
+ setvar "${var_return}" ${value}
+
+ return 0
+}
+
+hash_set() {
+ [ $# -eq 3 ] || eargs hash_set var key value
+ local var="$1"
+ local key="$2"
+ local value="$3"
+ local hash_var_name
+
+ _hash_var_name "${var}" "${key}"
+ hash_var_name=${_hash_var_name}
+
+ # Set value in cache
+ setvar "${hash_var_name}" "${value}"
+}
+
+hash_unset() {
+ [ $# -eq 2 ] || eargs hash_unset var key
+ local var="$1"
+ local key="$2"
+ local hash_var_name
+
+ _hash_var_name "${var}" "${key}"
+ unset "${_hash_var_name}"
+}