#!/bin/sh # lh_source_download(1) - download sources 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/image Set_defaults if [ "${LIVE_SOURCE}" = "enabled" ] then # 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 # Checking stage file Check_stagefile "${LIVE_ROOT}"/.stage/source_download # Remove old sources if [ "${LIVE_ROOT}"/source ] then rm -rf "${LIVE_ROOT}"/source fi # Download sources Chroot "dpkg --get-selections" | awk '{ print $1 }' > "${LIVE_CHROOT}"/root/dpkg-selection.txt Chroot "xargs --arg-file=/root/dpkg-selection.txt apt-get source --download-only" rm -f "${LIVE_CHROOT}"/root/dpkg-selection.txt # Sort sources for DSC in "${LIVE_CHROOT}"/*.dsc do SOURCE="`awk '/Source:/ { print $2; }' ${DSC}`" if [ "`echo ${SOURCE} | cut -b 1-3`" == "lib" ] then LETTER="`echo ${SOURCE} | cut -b 1-4`" else LETTER="`echo ${SOURCE} | cut -b 1`" fi # Install directory install -d -m 0755 "${LIVE_ROOT}"/source/"${LETTER}"/"${SOURCE}" # Move files mv "${LIVE_CHROOT}"/"${SOURCE}"_* "${LIVE_ROOT}"/source/"${LETTER}"/"${SOURCE}" done # Copy system configuration cp -a "${LIVE_ROOT}"/config "${LIVE_ROOT}"/source # Creating stage file Create_stagefile "${LIVE_ROOT}"/.stage/source_download fi