#!/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 .stage/bootstrap # Checking lock file Check_lockfile .lock # Creating lock file Create_lockfile .lock case "${1}" in install) # Checking stage file Check_stagefile .stage/chroot_sources # Configure custom sources.list echo "deb ${LIVE_MIRROR_LOCAL} ${LIVE_DISTRIBUTION} ${LIVE_SECTIONS}" > chroot/etc/apt/sources.list if [ "${LIVE_SOURCE}" = "enabled" ] then echo "deb-src ${LIVE_MIRROR_LOCAL} ${LIVE_DISTRIBUTION} ${LIVE_SECTIONS}" >> chroot/etc/apt/sources.list fi if [ "${LIVE_SECURITY}" = "enabled" ] then if [ "${LIVE_DISTRIBUTION}" != "sid" ] && [ "${LIVE_DISTRIBUTION}" = "unstable" ] then echo "deb ${LIVE_MIRROR_LOCAL_SECURITY} ${LIVE_DISTRIBUTION}/updates ${LIVE_SECTIONS}" >> chroot/etc/apt/sources.list if [ "${LIVE_SOURCE}" = "yes" ] then echo "deb-src ${LIVE_MIRROR_LOCAL_SECURITY} ${LIVE_DISTRIBUTION}/updates ${LIVE_SECTIONS}" >> chroot/etc/apt/sources.list fi fi fi # Check local sources.list if [ -f config/sources.list.local ] then echo "" >> chroot/etc/apt/sources.list echo "# Custom repositories" >> chroot/etc/apt/sources.list cat config/sources.list.local >> chroot/etc/apt/sources.list fi # Installing aptitude if [ "${LH_APT}" = "apt" ] then Chroot "apt-get update" elif [ "${LH_APT}" = "aptitude" ] then if [ ! -x /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 .stage/chroot_sources ;; remove) # Configure generic indices if [ "${LH_APT_GENERIC}" = "enabled" ] then # Cleaning apt list cache rm -rf chroot/var/lib/apt/lists mkdir -p chroot/var/lib/apt/lists/partial echo "deb ${LIVE_MIRROR_GENERIC} ${LIVE_DISTRIBUTION} ${LIVE_SECTIONS}" > chroot/etc/apt/sources.list if [ "${LIVE_SOURCE}" = "enabled" ] then echo "deb-src ${LIVE_MIRROR_GENERIC} ${LIVE_DISTRIBUTION} ${LIVE_SECTIONS}" >> 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}" >> chroot/etc/apt/sources.list if [ "${LIVE_SOURCE}" = "yes" ] then echo "deb-src ${LIVE_MIRROR_GENERIC_SECURITY} ${LIVE_DISTRIBUTION}/updates ${LIVE_SECTIONS}" >> chroot/etc/apt/sources.list fi fi fi # Check local sources.list if [ -f config/sources.list.generic ] then echo "" >> chroot/etc/apt/sources.list echo "# Custom repositories" >> chroot/etc/apt/sources.list cat config/sources.list.generic >> chroot/etc/apt/sources.list fi case "${LH_APT}" in apt|apt-get) Chroot "apt-get update" ;; aptitude) Chroot "aptitude update" ;; esac fi # Cleaning apt packages cache rm -rf chroot/var/cache/apt mkdir -p chroot/var/cache/apt/archives/partial # Removing old files rm -f chroot/var/lib/dpkg/available-old rm -f chroot/var/lib/dpkg/diversions-old rm -f chroot/var/lib/dpkg/statoverride-old rm -f chroot/var/lib/dpkg/status-old # Removing stage file rm -f .stage/chroot_sources ;; *) echo "Usage: ${0} {install|remove}" exit 1 ;; esac