#!/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