diff options
Diffstat (limited to 'lib/metadata.sh')
-rw-r--r-- | lib/metadata.sh | 64 |
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 |