diff options
Diffstat (limited to 'src/package/2.sh')
-rw-r--r-- | src/package/2.sh | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/src/package/2.sh b/src/package/2.sh new file mode 100644 index 0000000..fc4c77d --- /dev/null +++ b/src/package/2.sh @@ -0,0 +1,77 @@ +# Functions for handling metadata in SPF 2.0 packages +# +# Copyright (C) 2014 Patrick "P. J." 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 +# <http://www.gnu.org/licenses/>. + +package_2_build_deps= + +package_2_get_build_deps() +{ + local arch="${1}" + local plat="${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_build_deps_field_cb() +{ + local name="${1}" + local value="${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_set_substvars() +{ + local arch="${1}" + local plat="${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 +} + +package_2_substvar_cb() +{ + local name="${1}" + local value="${2}" + + set_substvar "${name}" "${value}" + + return 0 +} |