/usr/lib/live/build/bootstrap_cdebootstrap is in live-build 4.0.3-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | #!/bin/sh
## live-build(7) - System Build Scripts
## Copyright (C) 2006-2014 Daniel Baumann <mail@daniel-baumann.ch>
##
## This program 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
# Including common functions
[ -e "${LIVE_BUILD}/scripts/build.sh" ] && . "${LIVE_BUILD}/scripts/build.sh" || . /usr/lib/live/build.sh
# Setting static variables
DESCRIPTION="$(Echo 'bootstrap a Debian system with cdebootstrap(1)')"
HELP=""
USAGE="${PROGRAM} [--force]"
Arguments "${@}"
# Reading configuration files
Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
Set_defaults
if [ "${LB_BOOTSTRAP}" != "cdebootstrap" ] && [ "${LB_BOOTSTRAP}" != "cdebootstrap-static" ]
then
exit 0
fi
if [ ! -x "$(which cdebootstrap 2>/dev/null)" ]
then
echo "E: cdebootstrap - command not found"
echo "I: cdebootstrap can be obtained from http://ftp.debian.org/debian/pool/main/d/cdebootstrap/"
echo "I: On Debian based systems, cdebootstrap can be installed with 'apt-get install cdebootstrap'."
exit 1
fi
# Check architecture
Check_crossarchitectures
Echo_message "Begin bootstrapping system..."
Check_package /usr/bin/${LB_BOOTSTRAP} cdebootstrap
# Checking stage file
Check_stagefile .build/bootstrap
Check_stagefile .build/bootstrap_cache.restore
# Checking lock file
Check_lockfile .lock
# Creating lock file
Create_lockfile .lock
# Creating chroot directory
mkdir -p chroot
# Setting cdebootstrap options
if [ -n "${LIVE_IMAGE_ARCHITECTURE}" ]
then
CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --arch=${LIVE_IMAGE_ARCHITECTURE}"
fi
if [ "${_DEBUG}" = "true" ]
then
CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --debug"
fi
if [ "${_QUIET}" = "true" ]
then
CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --quiet"
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 [ -x "/usr/bin/cdebootstrap" ] || [ -x "/usr/bin/cdebootstrap-static" ]
then
if [ "${LB_CACHE_PACKAGES}" = "true" ]
then
if ls cache/packages.bootstrap/*.deb > /dev/null 2>&1
then
mkdir -p chroot/var/cache/bootstrap
cp cache/packages.bootstrap/*.deb chroot/var/cache/bootstrap
fi
Echo_breakage "Running ${LB_BOOTSTRAP} (download-only)... "
${LB_BOOTSTRAP} ${CDEBOOTSTRAP_OPTIONS} --download-only "${LB_PARENT_DISTRIBUTION}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}"
# 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
fi
Echo_breakage "Running ${LB_BOOTSTRAP}... "
# Run appropriate bootstrap, i.e. foreign or regular bootstrap
if [ "${LB_BOOTSTRAP_QEMU_ARCHITECTURES}" = "${LIVE_IMAGE_ARCHITECTURE}" ]; then
if [ -n "${LB_BOOTSTRAP_QEMU_EXCLUDE}" ]
then
CDEBOOTSTRAP_OPTIONS="${CDEBOOTSTRAP_OPTIONS} --exclude=$(echo ${LB_BOOTSTRAP_QEMU_EXCLUDE} | sed 's| *|,|g')"
fi
Echo_message "Bootstrap will be foreign"
${LB_BOOTSTRAP} ${CDEBOOTSTRAP_OPTIONS} --foreign "${LB_PARENT_DISTRIBUTION}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}"
Echo_message "Running debootstrap second stage under QEMU"
cp ${LB_BOOTSTRAP_QEMU_STATIC} chroot/usr/bin
Chroot chroot /bin/sh /sbin/cdebootstrap-foreign
else
${LB_BOOTSTRAP} ${CDEBOOTSTRAP_OPTIONS} "${LB_PARENT_DISTRIBUTION}" chroot "${LB_PARENT_MIRROR_BOOTSTRAP}"
fi
# 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 .build/bootstrap
else
Echo_error "Can't process file /usr/bin/${LB_BOOTSTRAP} (FIXME)"
exit 1
fi
|