diff options
author | Daniel Baumann <daniel@debian.org> | 2007-09-23 10:04:46 +0200 |
---|---|---|
committer | Daniel Baumann <daniel@debian.org> | 2011-03-09 18:14:51 +0100 |
commit | fe6eb1c593e2df135c8807bf94df614984b4d6ec (patch) | |
tree | 693b803dcc6473a8699f0c605c92b10c24755e28 /helpers/lh_chroot_sources | |
parent | 470cf1764bf56b32addff591cfe3fd69af0e5760 (diff) | |
download | vyos-live-build-fe6eb1c593e2df135c8807bf94df614984b4d6ec.tar.gz vyos-live-build-fe6eb1c593e2df135c8807bf94df614984b4d6ec.zip |
Adding live-helper 1.0~a1-1.
Diffstat (limited to 'helpers/lh_chroot_sources')
-rwxr-xr-x | helpers/lh_chroot_sources | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/helpers/lh_chroot_sources b/helpers/lh_chroot_sources new file mode 100755 index 000000000..8d4ddbe5c --- /dev/null +++ b/helpers/lh_chroot_sources @@ -0,0 +1,131 @@ +#!/bin/sh + +# lh_chroot_sources(1) - manage /etc/apt/sources.list + +set -e + +# Source common functions +for FUNCTION in /usr/share/live-helper/functions/*.sh +do + . ${FUNCTION} +done + +# Reading configuration files +Read_conffile config/common +Read_conffile config/chroot +Read_conffile config/bootstrap #FIXME +Read_conffile config/image +Set_defaults + +# Requiring stage file +Require_stagefile "${LIVE_ROOT}"/.stage/bootstrap + +# Checking lock file +Check_lockfile "${LIVE_ROOT}"/.lock + +# Creating lock file +Create_lockfile "${LIVE_ROOT}"/.lock + +case "${1}" in + install) + # Checking stage file + Check_stagefile "${LIVE_ROOT}"/.stage/chroot_sources + + # Configure custom sources.list + echo "deb ${LIVE_MIRROR} ${LIVE_DISTRIBUTION} ${LIVE_SECTIONS}" > "${LIVE_CHROOT}"/etc/apt/sources.list + + if [ "${LIVE_SOURCE}" = "enabled" ] + then + echo "deb-src ${LIVE_MIRROR} ${LIVE_DISTRIBUTION} ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list + fi + + if [ "${LIVE_SECURITY}" = "enabled" ] + then + if [ "${LIVE_DISTRIBUTION}" = "etch" ] || [ "${LIVE_DISTRIBUTION}" = "testing" ] + then + echo "deb ${LIVE_MIRROR_SECURITY} ${LIVE_DISTRIBUTION}/updates ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list + + if [ "${LIVE_SOURCE}" = "yes" ] + then + echo "deb-src ${LIVE_MIRROR_SECURITY} ${LIVE_DISTRIBUTION}/updates ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list + fi + fi + fi + + # Installing aptitude + if [ "${LH_APT}" = "apt" ] + then + Chroot "apt-get update" + elif [ "${LH_APT}" = "aptitude" ] + then + if [ ! -x "${LH_CHROOT}"/usr/bin/aptitude ] + then + Chroot "apt-get update" + Chroot "apt-get install --yes --force-yes aptitude" + fi + + Chroot "aptitude update" + fi + + # Creating stage file + Create_stagefile "${LIVE_ROOT}"/.stage/chroot_sources + ;; + + remove) + # Configure generic indices + if [ "${LH_APT_GENERIC}" = "enabled" ] + then + # Cleaning apt list cache + rm -rf "${LIVE_CHROOT}"/var/lib/apt/lists + mkdir -p "${LIVE_CHROOT}"/var/lib/apt/lists/partial + + echo "deb ${LIVE_MIRROR_GENERIC} ${LIVE_DISTRIBUTION} ${LIVE_SECTIONS}" > "${LIVE_CHROOT}"/etc/apt/sources.list + + if [ "${LIVE_SOURCE}" = "enabled" ] + then + echo "deb-src ${LIVE_MIRROR_GENERIC} ${LIVE_DISTRIBUTION} ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list + fi + + if [ "${LIVE_SECURITY}" = "enabled" ] + then + if [ "${LIVE_DISTRIBUTION}" = "etch" ] || [ "${LIVE_DISTRIBUTION}" = "testing" ] + then + echo "deb ${LIVE_MIRROR_GENERIC_SECURITY} ${LIVE_DISTRIBUTION}/updates ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list + + if [ "${LIVE_SOURCE}" = "yes" ] + then + echo "deb-src ${LIVE_MIRROR_GENERIC_SECURITY} ${LIVE_DISTRIBUTION}/updates ${LIVE_SECTIONS}" >> "${LIVE_CHROOT}"/etc/apt/sources.list + fi + fi + fi + + case "${LH_APT}" in + apt) + Chroot "apt-get update" + ;; + + aptitude) + Chroot "aptitude update" + ;; + esac + fi + + # Cleaning apt packages cache + rm -rf "${LIVE_CHROOT}"/var/cache/apt + mkdir -p "${LIVE_CHROOT}"/var/cache/apt/archives/partial + + # Removing old files + rm -f "${LIVE_CHROOT}"/var/lib/dpkg/available-old + rm -f "${LIVE_CHROOT}"/var/lib/dpkg/diversions-old + rm -f "${LIVE_CHROOT}"/var/lib/dpkg/statoverride-old + rm -f "${LIVE_CHROOT}"/var/lib/dpkg/status-old + + # Removing stage file + rm -f "${LIVE_ROOT}"/.stage/chroot_sources + ;; + + *) + echo "Usage: ${0} {install|remove}" + exit 1 + ;; +esac |