diff options
Diffstat (limited to 'lib/pkg.sh')
-rw-r--r-- | lib/pkg.sh | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/lib/pkg.sh b/lib/pkg.sh deleted file mode 100644 index 337a864..0000000 --- a/lib/pkg.sh +++ /dev/null @@ -1,54 +0,0 @@ -# Functions for handling packages and their dependencies -# -# Copyright (C) 2013, 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/>. - -[ "x${_PKG_SM+set}" = 'xset' ] && return 0 -_PKG_SM=1 - -resolve_deps() -{ - local new_pkgs="${1}" - local deps="${2}" - local all_deps= - local new_deps= - local pkg= - - all_deps='' - new_pkgs="${new_pkgs} " - while [ "x${new_pkgs}" != 'x' ]; do - all_deps="${all_deps}${new_pkgs}" - new_deps='' - for pkg in ${new_pkgs}; do - case "${pkg}" in - *[!a-z0-9+.-]*) continue;; - esac - new_deps="${new_deps} $(printf '%s' "${deps}" | \ - sed -n "s/^${pkg}: *//p")" - done - new_deps="$(printf '%s\n' ${new_deps} | sort -u)" - new_pkgs='' - for pkg in ${new_deps}; do - if [ "x${all_deps# ${pkg} }" = "x${all_deps}" ]; then - new_pkgs="${new_pkgs}${pkg} " - fi - done - done - - printf '%s\n' "${all_deps% }" -} |