From c68c0a270832ca340429878ce6a0ab606d435b06 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 23 Sep 2007 10:05:16 +0200 Subject: Adding live-helper 1.0~a21-1. --- functions/packages.sh | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100755 functions/packages.sh (limited to 'functions/packages.sh') diff --git a/functions/packages.sh b/functions/packages.sh new file mode 100755 index 000000000..049c89b8d --- /dev/null +++ b/functions/packages.sh @@ -0,0 +1,81 @@ +#!/bin/sh + +# packages.sh - handle packages installation +# Copyright (C) 2006-2007 Daniel Baumann +# +# live-helper comes with ABSOLUTELY NO WARRANTY; for details see COPYING. +# This is free software, and you are welcome to redistribute it +# under certain conditions; see COPYING for details. + +set -e + +Check_package () +{ + FILE="${1}" + PACKAGE="${2}" + + case "${LIVE_CHROOT_BUILD}" in + enabled) + for ITEM in ${PACKAGE} + do + if ! `Chroot "dpkg-query -s ${ITEM}"` + then + PACKAGES="${PACKAGES} ${ITEM}" + fi + done + ;; + + disabled) + if `which dpkg-query` + then + for ITEM in ${PACKAGE} + do + if ! `dpkg-query -s ${ITEM}` + then + PACKAGES="${PACKAGES} ${ITEM}" + fi + done + else + FILE="`echo ${FILE} | sed -e 's/chroot//'`" + + if [ ! -f "${FILE}" ] && [ ! -d "${FILE}" ] + then + Echo_error "You need to install ${PACKAGE} on your host system." + exit 1 + fi + fi + ;; + esac +} + +Install_package () +{ + if [ -n "${PACKAGES}" ] && [ "${LIVE_CHROOT_BUILD}" != "disabled" ] + then + case "${LH_APT}" in + apt|apt-get) + Chroot "apt-get install --yes ${PACKAGES}" + ;; + + aptitude) + Chroot "aptitude install --assume-yes ${PACKAGES}" + ;; + esac + fi +} + +Remove_package () +{ + if [ -n "${PACKAGES}" ] && [ "${LIVE_CHROOT_BUILD}" != "disabled" ] + then + case "${LH_APT}" in + apt|apt-get) + Chroot "apt-get remove --purge --yes ${PACKAGES}" + ;; + + aptitude) + Chroot "aptitude purge --assume-yes ${PACKAGES}" + ;; + esac + fi +} -- cgit v1.2.3