diff options
Diffstat (limited to 'usr/sbin/pc-sysinstall/backend/functions-installpackages.sh')
-rw-r--r-- | usr/sbin/pc-sysinstall/backend/functions-installpackages.sh | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/usr/sbin/pc-sysinstall/backend/functions-installpackages.sh b/usr/sbin/pc-sysinstall/backend/functions-installpackages.sh deleted file mode 100644 index b8f383a..0000000 --- a/usr/sbin/pc-sysinstall/backend/functions-installpackages.sh +++ /dev/null @@ -1,125 +0,0 @@ -#!/bin/sh -#- -# Copyright (c) 2010 iXsystems, Inc. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# $FreeBSD: src/usr.sbin/pc-sysinstall/backend/functions-installpackages.sh,v 1.3 2010/08/24 06:11:46 imp Exp $ - -# Functions which check and load any optional packages specified in the config - -. ${BACKEND}/functions.sh -. ${BACKEND}/functions-parse.sh - -# Recursively determine all dependencies for this package -determine_package_dependencies() -{ - local PKGNAME="${1}" - local DEPFILE="${2}" - - grep "${PKGNAME}" "${DEPFILE}" >/dev/null - if [ "$?" -ne "0" ] - then - echo "${PKGNAME}" >> "${DEPFILE}" - get_package_dependencies "${PKGNAME}" "1" - - local DEPS="${VAL}" - for d in ${DEPS} - do - determine_package_dependencies "${d}" "${DEPFILE}" - done - fi -}; - -# Fetch packages dependencies from a file -fetch_package_dependencies() -{ - local DEPFILE - local DEPS - local SAVEDIR - - DEPFILE="${1}" - DEPS=`cat "${DEPFILE}"` - SAVEDIR="${2}" - - for d in ${DEPS} - do - get_package_short_name "${d}" - SNAME="${VAL}" - - get_package_category "${SNAME}" - CATEGORY="${VAL}" - - fetch_package "${CATEGORY}" "${d}" "${SAVEDIR}" - done -}; - -# Check for any packages specified, and begin loading them -install_packages() -{ - # First, lets check and see if we even have any packages to install - get_value_from_cfg installPackages - if [ ! -z "${VAL}" ] - then - HERE=`pwd` - rc_nohalt "mkdir -p ${FSMNT}/${PKGTMPDIR}" - rc_nohalt "cd ${FSMNT}/${PKGTMPDIR}" - - if [ ! -f "${CONFDIR}/INDEX" ] - then - get_package_index - fi - - if [ ! -f "${CONFDIR}/INDEX.parsed" ] - then - parse_package_index - fi - - # Lets start by cleaning up the string and getting it ready to parse - strip_white_space ${VAL} - PACKAGES=`echo ${VAL} | sed -e "s|,| |g"` - for i in $PACKAGES - do - if get_package_name "${i}" - then - PKGNAME="${VAL}" - DEPFILE="${FSMNT}/${PKGTMPDIR}/.${PKGNAME}.deps" - - rc_nohalt "touch ${DEPFILE}" - determine_package_dependencies "${PKGNAME}" "${DEPFILE}" - fetch_package_dependencies "${DEPFILE}" "${FSMNT}/${PKGTMPDIR}" - - # If the package is not already installed, install it! - if ! run_chroot_cmd "pkg_info -e ${PKGNAME}" - then - rc_nohalt "pkg_add -C ${FSMNT} ${PKGTMPDIR}/${PKGNAME}.tbz" - fi - - rc_nohalt "rm ${DEPFILE}" - fi - - rc_nohalt "cd ${HERE}" - done - - rm -rf "${FSMNT}/${PKGTMPDIR}" - fi -}; |