summaryrefslogtreecommitdiffstats
path: root/lib/metadata.sh
diff options
context:
space:
mode:
Diffstat (limited to 'lib/metadata.sh')
-rw-r--r--lib/metadata.sh64
1 files changed, 64 insertions, 0 deletions
diff --git a/lib/metadata.sh b/lib/metadata.sh
index 0680b6a..d197083 100644
--- a/lib/metadata.sh
+++ b/lib/metadata.sh
@@ -218,6 +218,70 @@ ob_match_plat()
return ${?}
}
+ob_arch_is_concerned()
+{
+ _ob_local _obaic_host_arch _obaic_arches \
+ _obaic_arch _obaic_not_arch _obaic_seen_arch
+
+ _obaic_host_arch="${1}"
+ _obaic_arches="${2}"
+ _obaic_seen_arch=1
+
+ if [ -z "${_obaic_arches}" ]; then
+ _obaic_seen_arch=0
+ fi
+
+ for _obaic_arch in ${_obaic_arches}; do
+ _obaic_not_arch="${_obaic_arch#!}"
+ if [ "${_obaic_not_arch}" != "${_obaic_arch}" ]; then
+ if ob_match_arch "${_obaic_host_arch}" "${_obaic_not_arch}"; then
+ _obaic_seen_arch=1
+ break
+ else
+ _obaic_seen_arch=0
+ fi
+ elif ob_match_arch "${_obaic_host_arch}" "${_obaic_arch}"; then
+ _obaic_seen_arch=0
+ break
+ fi
+ done
+
+ _ob_return ${_obaic_seen_arch}
+ return ${?}
+}
+
+ob_plat_is_concerned()
+{
+ _ob_local _obpic_host_plat _obpic_plats \
+ _obpic_plat _obpic_not_plat _obpic_seen_plat
+
+ _obpic_host_plat="${1}"
+ _obpic_plats="${2}"
+ _obpic_seen_plat=1
+
+ if [ -z "${_obpic_plats}" ]; then
+ _obpic_seen_plat=0
+ fi
+
+ for _obpic_plat in ${_obpic_plats}; do
+ _obpic_not_plat="${_obpic_plat#!}"
+ if [ "${_obpic_not_plat}" != "${_obpic_plat}" ]; then
+ if ob_match_plat "${_obpic_host_plat}" "${_obpic_not_plat}"; then
+ _obpic_seen_plat=1
+ break
+ else
+ _obpic_seen_plat=0
+ fi
+ elif ob_match_plat "${_obpic_host_plat}" "${_obpic_plat}"; then
+ _obpic_seen_plat=0
+ break
+ fi
+ done
+
+ _ob_return ${_obpic_seen_plat}
+ return ${?}
+}
+
ob_get_system_path()
{
_ob_local _obgsp_path_id