diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/build/lb_bootstrap_cache | 101 | ||||
-rwxr-xr-x | scripts/build/lb_bootstrap_cdebootstrap | 232 | ||||
-rwxr-xr-x | scripts/build/lb_bootstrap_copy | 35 | ||||
-rwxr-xr-x | scripts/build/lb_bootstrap_debootstrap | 189 |
4 files changed, 282 insertions, 275 deletions
diff --git a/scripts/build/lb_bootstrap_cache b/scripts/build/lb_bootstrap_cache index 755baad01..6672668c7 100755 --- a/scripts/build/lb_bootstrap_cache +++ b/scripts/build/lb_bootstrap_cache @@ -27,68 +27,71 @@ Set_defaults # Check architecture Check_crossarchitectures -Echo_message "Begin caching bootstrap stage..." - -for STAGE in ${LB_CACHE_STAGES} +for _ARCHITECTURE in ${LB_ARCHITECTURES} do - if [ "${STAGE}" = "bootstrap" ] - then - case "${1}" in - restore) - # Checking stage file - Check_stagefile .stage/bootstrap_cache.restore - - if [ -d cache/stages_bootstrap ] - then - # Checking lock file - Check_lockfile .lock + Echo_message "Begin caching bootstrap stage..." + + for STAGE in ${LB_CACHE_STAGES} + do + if [ "${STAGE}" = "bootstrap" ] + then + case "${1}" in + restore) + # Checking stage file + Check_stagefile .stage/bootstrap_cache.${_ARCHITECTURE}-restore + + if [ -d cache/stages_bootstrap.${_ARCHITECTURE} ] + then + # Checking lock file + Check_lockfile .lock - # Creating lock file - Create_lockfile .lock + # Creating lock file + Create_lockfile .lock - # Removing old chroot - rm -rf chroot + # Removing old chroot + rm -rf chroot.${_ARCHITECTURE} - # Restoring old cache - ${LB_ROOT_COMMAND} cp -a cache/stages_bootstrap chroot + # Restoring old cache + ${LB_ROOT_COMMAND} cp -a cache/stages_bootstrap.${_ARCHITECTURE} chroot.${_ARCHITECTURE} - if [ -n "${LB_ROOT_COMMAND}" ] - then - ${LB_ROOT_COMMAND} chown -R $(whoami):$(whoami) chroot - fi + if [ -n "${LB_ROOT_COMMAND}" ] + then + ${LB_ROOT_COMMAND} chown -R $(whoami):$(whoami) chroot.${_ARCHITECTURE} + fi - # Creating stage file - Create_stagefile .stage/bootstrap_cache.restore - Create_stagefile .stage/bootstrap + # Creating stage file + Create_stagefile .stage/bootstrap_cache.${_ARCHITECTURE}-restore + Create_stagefile .stage/bootstrap.${_ARCHITECTURE} - exit 0 - fi - ;; + exit 0 + fi + ;; - save) - # Checking stage file - Check_stagefile .stage/bootstrap_cache.save + save) + # Checking stage file + Check_stagefile .stage/bootstrap_cache.${_ARCHITECTURE}-save - # Checking lock file - Check_lockfile .lock + # Checking lock file + Check_lockfile .lock - # Creating lock file - Create_lockfile .lock + # Creating lock file + Create_lockfile .lock - rm -rf cache/stages_bootstrap + rm -rf cache/stages_bootstrap.${_ARCHITECTURE} - mkdir -p cache + mkdir -p cache - ${LB_ROOT_COMMAND} cp -a chroot cache/stages_bootstrap + ${LB_ROOT_COMMAND} cp -a chroot.${_ARCHITECTURE} cache/stages_bootstrap.${_ARCHITECTURE} - if [ -n "${LB_ROOT_COMMAND}" ] - then - ${LB_ROOT_COMMAND} chown -R $(whoami):$(whoami) cache/stages_bootstrap - fi + if [ -n "${LB_ROOT_COMMAND}" ] + then + ${LB_ROOT_COMMAND} chown -R $(whoami):$(whoami) cache/stages_bootstrap.${_ARCHITECTURE} + fi - # Creating stage file - Create_stagefile .stage/bootstrap_cache.save - ;; - esac - fi + # Creating stage file + Create_stagefile .stage/bootstrap_cache.${_ARCHITECTURE}-save + ;; + esac + fi + done done diff --git a/scripts/build/lb_bootstrap_cdebootstrap b/scripts/build/lb_bootstrap_cdebootstrap index 2f648a3c0..759d4587e 100755 --- a/scripts/build/lb_bootstrap_cdebootstrap +++ b/scripts/build/lb_bootstrap_cdebootstrap @@ -32,146 +32,146 @@ fi # Check architecture Check_crossarchitectures -Echo_message "Begin bootstrapping system..." +for _ARCHITECTURE in ${LB_ARCHITECTURES} +do + Echo_message "Begin bootstrapping system..." -Check_package /usr/bin/${LB_BOOTSTRAP} cdebootstrap + Check_package /usr/bin/${LB_BOOTSTRAP} cdebootstrap -# Ensure that a system is built as root -lb testroot + # Ensure that a system is built as root + lb testroot -# Checking stage file -Check_stagefile .stage/bootstrap -Check_stagefile .stage/bootstrap_cache.restore + # Checking stage file + Check_stagefile .stage/bootstrap.${_ARCHITECTURE} + Check_stagefile .stage/bootstrap_cache.${_ARCHITECTURE}-restore -# Checking lock file -Check_lockfile .lock + # Checking lock file + Check_lockfile .lock -# Creating lock file -Create_lockfile .lock + # Creating lock file + Create_lockfile .lock -# Creating chroot directory -mkdir -p chroot + # Creating chroot directory + mkdir -p chroot.${_ARCHITECTURE} -# Setting cdebootstrap options -if [ -n "${LB_ARCHITECTURES}" ] -then - CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --arch=${LB_ARCHITECTURES}" -fi + # Setting cdebootstrap options + CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --arch=${_ARCHITECTURE}" -if [ -n "${LB_BOOTSTRAP_CONFIG}" ] -then - CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --suite-config=${LB_BOOTSTRAP_CONFIG}" -fi + if [ -n "${LB_BOOTSTRAP_CONFIG}" ] + then + CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --suite-config=${LB_BOOTSTRAP_CONFIG}" + fi -if [ -n "${LB_BOOTSTRAP_INCLUDE}" ] -then - CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --include=$(echo ${LB_BOOTSTRAP_INCLUDE} | sed 's| *|,|g')" -fi + if [ -n "${LB_BOOTSTRAP_INCLUDE}" ] + then + CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --include=$(echo ${LB_BOOTSTRAP_INCLUDE} | sed 's| *|,|g')" + fi -if [ -n "${LB_BOOTSTRAP_EXCLUDE}" ] -then - CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --exclude=$(echo ${LB_BOOTSTRAP_EXCLUDE} | sed 's| *|,|g')" -fi + if [ -n "${LB_BOOTSTRAP_EXCLUDE}" ] + then + CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --exclude=$(echo ${LB_BOOTSTRAP_EXCLUDE} | sed 's| *|,|g')" + fi -if [ -n "${LB_BOOTSTRAP_KEYRING}" ] -then - CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --keyring=${LB_BOOTSTRAP_KEYRING}" -fi + if [ -n "${LB_BOOTSTRAP_KEYRING}" ] + then + CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --keyring=${LB_BOOTSTRAP_KEYRING}" + fi -if [ -z "${LB_BOOTSTRAP_FLAVOUR}" ] -then - case "${LB_PACKAGE_LISTS}" in - stripped|minimal) - CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --flavour=minimal" - ;; - *) - CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --flavour=standard" - ;; - esac -else - case "${LB_BOOTSTRAP_FLAVOUR}" in - stripped|minimal) - CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --flavour=minimal" - ;; - - *) - CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --flavour=${LB_BOOTSTRAP_FLAVOUR}" - ;; - esac -fi + if [ -z "${LB_BOOTSTRAP_FLAVOUR}" ] + then + case "${LB_PACKAGE_LISTS}" in + stripped|minimal) + CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --flavour=minimal" + ;; + *) + CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --flavour=standard" + ;; + esac + else + case "${LB_BOOTSTRAP_FLAVOUR}" in + stripped|minimal) + CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --flavour=minimal" + ;; + + *) + CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --flavour=${LB_BOOTSTRAP_FLAVOUR}" + ;; + esac + fi -if [ "${_DEBUG}" = "true" ] -then - CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --debug" -fi + if [ "${_DEBUG}" = "true" ] + then + CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --debug" + fi -if [ "${_QUIET}" = "true" ] -then - CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --quiet" -fi + if [ "${_QUIET}" = "true" ] + then + CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --quiet" + fi -if [ "${_VERBOSE}" = "true" ] -then - CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --verbose" -fi + if [ "${_VERBOSE}" = "true" ] + then + CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --verbose" + fi -if [ "${LB_APT_SECURE}" = "false" ] -then - CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --allow-unauthenticated" -fi + if [ "${LB_APT_SECURE}" = "false" ] + then + CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --allow-unauthenticated" + fi -if [ -x "/usr/bin/cdebootstrap" ] || [ -x "/usr/bin/cdebootstrap-static" ] -then - if [ "${LB_CACHE_PACKAGES}" = "true" ] + if [ -x "/usr/bin/cdebootstrap" ] || [ -x "/usr/bin/cdebootstrap-static" ] then - if ls cache/packages_bootstrap/*.deb > /dev/null 2>&1 + if [ "${LB_CACHE_PACKAGES}" = "true" ] then - mkdir -p chroot/var/cache/bootstrap - cp cache/packages_bootstrap/*.deb chroot/var/cache/bootstrap + if ls cache/packages_bootstrap.${_ARCHITECTURE}/*.deb > /dev/null 2>&1 + then + mkdir -p chroot.${_ARCHITECTURE}/var/cache/bootstrap + cp cache/packages_bootstrap.${_ARCHITECTURE}/*.deb chroot.${_ARCHITECTURE}/var/cache/bootstrap + fi + + Echo_breakage "Running ${LB_BOOTSTRAP} (download-only)... " + ${LB_ROOT_COMMAND} ${LB_BOOTSTRAP} ${CDEBOOTSTRAP_OPTIONS} --download-only "${LB_DISTRIBUTION}" chroot.${_ARCHITECTURE} "${LB_MIRROR_BOOTSTRAP}" + + if [ -n "${LB_ROOT_COMMAND}" ] + then + ${LB_ROOT_COMMAND} chown -R $(whoami):$(whoami) chroot.${_ARCHITECTURE} + fi + + # Removing old cache + rm -f cache/packages_bootstrap.${_ARCHITECTURE}/*.deb + + # Saving new cache + mkdir -p cache/packages_bootstrap.${_ARCHITECTURE} + cp chroot/var/cache/bootstrap/*.deb cache/packages_bootstrap.${_ARCHITECTURE} fi - Echo_breakage "Running ${LB_BOOTSTRAP} (download-only)... " - ${LB_ROOT_COMMAND} ${LB_BOOTSTRAP} ${CDEBOOTSTRAP_OPTIONS} --download-only "${LB_DISTRIBUTION}" chroot "${LB_MIRROR_BOOTSTRAP}" + Echo_breakage "Running ${LB_BOOTSTRAP}... " + ${LB_ROOT_COMMAND} ${LB_BOOTSTRAP} ${CDEBOOTSTRAP_OPTIONS} "${LB_DISTRIBUTION}" chroot.${_ARCHITECTURE} "${LB_MIRROR_BOOTSTRAP}" if [ -n "${LB_ROOT_COMMAND}" ] then - ${LB_ROOT_COMMAND} chown -R $(whoami):$(whoami) chroot + ${LB_ROOT_COMMAND} chown -R $(whoami):$(whoami) chroot.${_ARCHITECTURE} fi - # Removing old cache - rm -f cache/packages_bootstrap/*.deb - - # Saving new cache - mkdir -p cache/packages_bootstrap - cp chroot/var/cache/bootstrap/*.deb cache/packages_bootstrap + # Remove cdebootstrap-helper-diverts (needed at least for minimal flavours) + case "${LB_PACKAGE_LISTS}" in + stripped|minimal) + Chroot chroot.${_ARCHITECTURE} "dpkg -P cdebootstrap-helper-diverts" + ;; + esac + + # Deconfiguring cdebootstrap configurations + rm -f chroot.${_ARCHITECTURE}/etc/apt/sources.list + rm -f chroot.${_ARCHITECTURE}/etc/hosts + rm -f chroot.${_ARCHITECTURE}/etc/resolv.conf + + # Removing bootstrap cache + rm -rf chroot.${_ARCHITECTURE}/var/cache/bootstrap + + # Creating stage file + Create_stagefile .stage/bootstrap.${_ARCHITECTURE} + else + Echo_error "Can't process file /usr/bin/${LB_BOOTSTRAP} (FIXME)" + exit 1 fi - - Echo_breakage "Running ${LB_BOOTSTRAP}... " - ${LB_ROOT_COMMAND} ${LB_BOOTSTRAP} ${CDEBOOTSTRAP_OPTIONS} "${LB_DISTRIBUTION}" chroot "${LB_MIRROR_BOOTSTRAP}" - - if [ -n "${LB_ROOT_COMMAND}" ] - then - ${LB_ROOT_COMMAND} chown -R $(whoami):$(whoami) chroot - fi - - # Remove cdebootstrap-helper-diverts (needed at least for minimal flavours) - case "${LB_PACKAGE_LISTS}" in - stripped|minimal) - Chroot chroot "dpkg -P cdebootstrap-helper-diverts" - ;; - esac - - # Deconfiguring cdebootstrap configurations - rm -f chroot/etc/apt/sources.list - rm -f chroot/etc/hosts - rm -f chroot/etc/resolv.conf - - # Removing bootstrap cache - rm -rf chroot/var/cache/bootstrap - - # Creating stage file - Create_stagefile .stage/bootstrap -else - Echo_error "Can't process file /usr/bin/${LB_BOOTSTRAP} (FIXME)" - exit 1 -fi +done diff --git a/scripts/build/lb_bootstrap_copy b/scripts/build/lb_bootstrap_copy index 45c96a7be..17b631257 100755 --- a/scripts/build/lb_bootstrap_copy +++ b/scripts/build/lb_bootstrap_copy @@ -32,25 +32,28 @@ fi # Check architecture Check_crossarchitectures -Echo_message "Begin bootstrapping system..." +for _ARCHITECTURE in ${LB_ARCHITECTURES} +do + Echo_message "Begin bootstrapping system..." -# Ensure that a system is built as root -lb testroot + # Ensure that a system is built as root + lb testroot -# Checking stage file -Check_stagefile .stage/bootstrap + # Checking stage file + Check_stagefile .stage/bootstrap.${_ARCHITECTURE} -# Checking lock file -Check_lockfile .lock + # Checking lock file + Check_lockfile .lock -# Creating lock file -Create_lockfile .lock + # Creating lock file + Create_lockfile .lock -# Copying host system -mkdir chroot -cd chroot -tar c / --exclude /proc --exclude /sys --exclude "$(dirname ${PWD})" | tar xv -cd .. + # Copying host system + mkdir chroot.${_ARCHITECTURE} + cd chroot.${_ARCHITECTURE} + tar c / --exclude /proc --exclude /sys --exclude "$(dirname ${PWD})" | tar xv + cd .. -# Creating stage file -Create_stagefile .stage/bootstrap + # Creating stage file + Create_stagefile .stage/bootstrap.${_ARCHITECTURE} +done diff --git a/scripts/build/lb_bootstrap_debootstrap b/scripts/build/lb_bootstrap_debootstrap index 7f3b9c7d6..7dc2ae847 100755 --- a/scripts/build/lb_bootstrap_debootstrap +++ b/scripts/build/lb_bootstrap_debootstrap @@ -32,130 +32,131 @@ fi # Check architecture Check_crossarchitectures -Echo_message "Begin bootstrapping system..." +for _ARCHITECTURE in ${LB_ARCHITECTURES} +do + Echo_message "Begin bootstrapping system..." -Check_package /usr/sbin/debootstrap debootstrap + Check_package /usr/sbin/debootstrap debootstrap -# Ensure that a system is built as root -lb testroot + # Ensure that a system is built as root + lb testroot -# Checking stage file -Check_stagefile .stage/bootstrap -Check_stagefile .stage/bootstrap_cache.restore + # Checking stage file + Check_stagefile .stage/bootstrap.${_ARCHITECTURE} + Check_stagefile .stage/bootstrap_cache.${_ARCHITECTURE}-restore -# Checking lock file -Check_lockfile .lock + # Checking lock file + Check_lockfile .lock -# Creating lock file -Create_lockfile .lock + # Creating lock file + Create_lockfile .lock -# Creating chroot directory -mkdir -p chroot + # Creating chroot directory + mkdir -p chroot.${_ARCHITECTURE} -# Setting debootstrap options -if [ -n "${LB_ARCHITECTURES}" ] -then - DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --arch=${LB_ARCHITECTURES}" -fi + # Setting debootstrap options + DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --arch=${_ARCHITECTURE}" -if [ "${LB_ARCHIVE_AREAS}" != "main" ] -then - # Modify archive areas to remove leading/trailing whitespaces and replace other whitepspace with commas - DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --components=$(echo ${LB_ARCHIVE_AREAS} | sed -e 's| |,|g')" -fi + if [ "${LB_ARCHIVE_AREAS}" != "main" ] + then + # Modify archive areas to remove leading/trailing whitespaces and replace other whitepspace with commas + DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --components=$(echo ${LB_ARCHIVE_AREAS} | sed -e 's| |,|g')" + fi -if [ -n "${LB_BOOTSTRAP_CONFIG}" ] -then - if [ -d "/usr/share/debootstrap/scripts/" ] + if [ -n "${LB_BOOTSTRAP_CONFIG}" ] then - LB_DEBOOTSTRAP_SCRIPT="/usr/share/debootstrap/scripts/${LB_BOOTSTRAP_CONFIG}" - else - LB_DEBOOTSTRAP_SCRIPT="/usr/lib/debootstrap/scripts/${LB_BOOTSTRAP_CONFIG}" + if [ -d "/usr/share/debootstrap/scripts/" ] + then + LB_DEBOOTSTRAP_SCRIPT="/usr/share/debootstrap/scripts/${LB_BOOTSTRAP_CONFIG}" + else + LB_DEBOOTSTRAP_SCRIPT="/usr/lib/debootstrap/scripts/${LB_BOOTSTRAP_CONFIG}" + fi fi -fi -if [ -n "${LB_BOOTSTRAP_INCLUDE}" ] -then - DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --include=$(echo ${LB_BOOTSTRAP_INCLUDE} | sed 's| *|,|g')" -fi + if [ -n "${LB_BOOTSTRAP_INCLUDE}" ] + then + DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --include=$(echo ${LB_BOOTSTRAP_INCLUDE} | sed 's| *|,|g')" + fi -if [ -n "${LB_BOOTSTRAP_EXCLUDE}" ] -then - DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --exclude=$(echo ${LB_BOOTSTRAP_EXCLUDE} | sed 's| *|,|g')" -fi + if [ -n "${LB_BOOTSTRAP_EXCLUDE}" ] + then + DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --exclude=$(echo ${LB_BOOTSTRAP_EXCLUDE} | sed 's| *|,|g')" + fi -if [ "${LB_USE_FAKEROOT}" != "true" ] -then - if [ -z "${LB_BOOTSTRAP_FLAVOUR}" ] + if [ "${LB_USE_FAKEROOT}" != "true" ] then - if In_list "stripped minimal" "${LB_PACKAGE_LISTS}" + if [ -z "${LB_BOOTSTRAP_FLAVOUR}" ] then - DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --variant=minbase" + if In_list "stripped minimal" "${LB_PACKAGE_LISTS}" + then + DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --variant=minbase" + fi + else + case "${LB_BOOTSTRAP_FLAVOUR}" in + stripped|minimal) + DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --variant=minbase" + ;; + + standard) + ;; + + *) + DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --variant=${LB_BOOTSTRAP_FLAVOUR}" + esac fi else - case "${LB_BOOTSTRAP_FLAVOUR}" in - stripped|minimal) - DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --variant=minbase" - ;; - standard) - ;; - - *) - DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --variant=${LB_BOOTSTRAP_FLAVOUR}" - esac + DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --variant=fakechroot" fi -else - DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --variant=fakechroot" -fi -if [ "${_VERBOSE}" = "true" ] -then - DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --verbose" -fi + if [ "${_VERBOSE}" = "true" ] + then + DEBOOTSTRAP_OPTIONS="${DEBOOTSTRAP_OPTIONS} --verbose" + fi -if [ -x "/usr/sbin/debootstrap" ] -then - if [ "${LB_CACHE_PACKAGES}" = "true" ] + if [ -x "/usr/sbin/debootstrap" ] then - if ls cache/packages_bootstrap/*.deb > /dev/null 2>&1 + if [ "${LB_CACHE_PACKAGES}" = "true" ] then - mkdir -p chroot/var/cache/apt/archives - cp cache/packages_bootstrap/*.deb chroot/var/cache/apt/archives + if ls cache/packages_bootstrap.${_ARCHITECTURE}/*.deb > /dev/null 2>&1 + then + mkdir -p chroot.${_ARCHITECTURE}/var/cache/apt/archives + cp cache/packages_bootstrap.${_ARCHITECTURE}/*.deb chroot.${_ARCHITECTURE}/var/cache/apt/archives + fi + + Echo_breakage "Running debootstrap (download-only)... " + ${LB_ROOT_COMMAND} debootstrap ${DEBOOTSTRAP_OPTIONS} --download-only "${LB_DISTRIBUTION}" chroot.${_ARCHITECTURE} "${LB_MIRROR_BOOTSTRAP}" "${LB_DEBOOTSTRAP_SCRIPT}" + + if [ -n "${LB_ROOT_COMMAND}" ] + then + ${LB_ROOT_COMMAND} chown -R $(whoami):$(whoami) chroot.${_ARCHITECTURE} + fi + + # Removing old cache + rm -f cache/packages_bootstrap.${_ARCHITECTURE}/*.deb + + # Saving new cache + mkdir -p cache/packages_bootstrap.${_ARCHITECTURE} + cp chroot.${_ARCHITECTURE}/var/cache/apt/archives/*.deb cache/packages_bootstrap.${_ARCHITECTURE} fi - Echo_breakage "Running debootstrap (download-only)... " - ${LB_ROOT_COMMAND} debootstrap ${DEBOOTSTRAP_OPTIONS} --download-only "${LB_DISTRIBUTION}" chroot "${LB_MIRROR_BOOTSTRAP}" "${LB_DEBOOTSTRAP_SCRIPT}" + Echo_breakage "Running debootstrap... " + ${LB_ROOT_COMMAND} debootstrap ${DEBOOTSTRAP_OPTIONS} "${LB_DISTRIBUTION}" chroot.${_ARCHITECTURE} "${LB_MIRROR_BOOTSTRAP}" "${LB_DEBOOTSTRAP_SCRIPT}" if [ -n "${LB_ROOT_COMMAND}" ] then - ${LB_ROOT_COMMAND} chown -R $(whoami):$(whoami) chroot + ${LB_ROOT_COMMAND} chown -R $(whoami):$(whoami) chroot.${_ARCHITECTURE} fi - # Removing old cache - rm -f cache/packages_bootstrap/*.deb - - # Saving new cache - mkdir -p cache/packages_bootstrap - cp chroot/var/cache/apt/archives/*.deb cache/packages_bootstrap - fi + # Deconfiguring debootstrap configurations + rm -f chroot.${_ARCHITECTURE}/etc/hosts - Echo_breakage "Running debootstrap... " - ${LB_ROOT_COMMAND} debootstrap ${DEBOOTSTRAP_OPTIONS} "${LB_DISTRIBUTION}" chroot "${LB_MIRROR_BOOTSTRAP}" "${LB_DEBOOTSTRAP_SCRIPT}" + # Removing bootstrap cache + rm -f chroot.${_ARCHITECTURE}/var/cache/apt/archives/*.deb - if [ -n "${LB_ROOT_COMMAND}" ] - then - ${LB_ROOT_COMMAND} chown -R $(whoami):$(whoami) chroot + # Creating stage file + Create_stagefile .stage/bootstrap.${_ARCHITECTURE} + else + Echo_error "Can't process file /usr/bin/debootstrap (FIXME)" + exit 1 fi - - # Deconfiguring debootstrap configurations - rm -f chroot/etc/hosts - - # Removing bootstrap cache - rm -f chroot/var/cache/apt/archives/*.deb - - # Creating stage file - Create_stagefile .stage/bootstrap -else - Echo_error "Can't process file /usr/bin/debootstrap (FIXME)" - exit 1 -fi +done |