#!/bin/sh # lh_chroot_sources(1) - manage /etc/apt/sources.list # 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 # Source common functions for FUNCTION in /usr/share/live-helper/functions/*.sh do . ${FUNCTION} done # Set static variables DESCRIPTION="manage /etc/apt/sources.list" HELP="" USAGE="${PROGRAM} {install|remove} [--force]" Arguments "${@}" # 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_BUILD} ${LIVE_DISTRIBUTION} ${LIVE_SECTIONS}" > chroot/etc/apt/sources.list if [ "${LIVE_SOURCE}" = "enabled" ] then echo "deb-src ${LIVE_MIRROR_BUILD} ${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_BUILD_SECURITY} ${LIVE_DISTRIBUTION}/updates ${LIVE_SECTIONS}" >> chroot/etc/apt/sources.list if [ "${LIVE_SOURCE}" = "yes" ] then echo "deb-src ${LIVE_MIRROR_BUILD_SECURITY} ${LIVE_DISTRIBUTION}/updates ${LIVE_SECTIONS}" >> chroot/etc/apt/sources.list fi fi fi # Check local sources.list if [ -f config/sources.list.build ] then echo "" >> chroot/etc/apt/sources.list echo "# Custom repositories" >> chroot/etc/apt/sources.list cat config/sources.list.build >> 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_IMAGE} ${LIVE_DISTRIBUTION} ${LIVE_SECTIONS}" > chroot/etc/apt/sources.list if [ "${LIVE_SOURCE}" = "enabled" ] then echo "deb-src ${LIVE_MIRROR_IMAGE} ${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_IMAGE_SECURITY} ${LIVE_DISTRIBUTION}/updates ${LIVE_SECTIONS}" >> chroot/etc/apt/sources.list if [ "${LIVE_SOURCE}" = "yes" ] then echo "deb-src ${LIVE_MIRROR_IMAGE_SECURITY} ${LIVE_DISTRIBUTION}/updates ${LIVE_SECTIONS}" >> chroot/etc/apt/sources.list fi fi fi # Check local sources.list if [ -f config/sources.list.image ] then echo "" >> chroot/etc/apt/sources.list echo "# Custom repositories" >> chroot/etc/apt/sources.list cat config/sources.list.image >> 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 ;; *) Usage ;; esac