# Functions for handling metadata in SPF 2.0 packages # # Copyright (C) 2014 Patrick McDermott # # This file is part of the ProteanOS Development Kit. # # The ProteanOS Development Kit is free software: you can redistribute # it and/or modify it under the terms of the GNU General Public License # as published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # The ProteanOS Development Kit is distributed in the hope that it # will be useful, but WITHOUT ANY WARRANTY; without even the implied # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # See the GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with the ProteanOS Development Kit. If not, see # . _package_2_build_deps= package_2_get_name_version_dist() { # The first line is all we need to parse. sed '1{ s/^\([^ ][^ ]*\) (\([^)][^)]*\)) \(.*\)$/\1 \2 \3/; q; };' \ "${package_dir}/changelog" return 0 } _package_2_build_deps_field_cb() { local name="${1}" local value="${2}" shift 2 name="$(printf '%s\n' "${name}" | tr 'A-Z' 'a-z')" if [ "x${name}" = 'xbuild-depends' ]; then _package_2_build_deps="${value}" return 1 fi return 0 } package_2_get_build_deps() { local arch="${1}" local plat="${2}" shift 2 _package_2_build_deps='' parse_control "${package_dir}/control" \ _package_2_build_deps_field_cb false substvars "$(reduce_deps "${_package_2_build_deps}" false \ "${arch}" "${plat}")" return 0 } _package_2_substvar_cb() { local name="${1}" local value="${2}" shift 2 set_substvar "${name}" "${value}" return 0 } package_2_set_substvars() { local arch="${1}" local plat="${2}" shift 2 if [ -f "${package_dir}/substvars" ]; then parse_control "${package_dir}/substvars" \ _package_2_substvar_cb false fi set_substvar 'Host-Arch' "${arch}" set_substvar 'Host-Plat' "${plat}" return 0 }