/usr/lib/live/build/chroot_linux-image is in live-build 3.0.5-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 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159  | #!/bin/sh
## live-build(7) - System Build Scripts
## Copyright (C) 2006-2013 Daniel Baumann <daniel@debian.org>
##
## 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 'schedule kernel packages for installation')"
HELP=""
USAGE="${PROGRAM} [--force]"
Arguments "${@}"
# Reading configuration files
Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
Set_defaults
# Requiring stage file
Require_stagefile .build/config .build/bootstrap
# Checking stage file
Check_stagefile .build/chroot_linux-image
# Checking lock file
Check_lockfile .lock
# Creating lock file
Create_lockfile .lock
# Diverting update-initramfs
#case "${LB_INITRAMFS}" in
#	live-boot)
#		mv chroot/usr/sbin/update-initramfs chroot/usr/sbin/update-initramfs.live-build
#		;;
#esac
if [ "${LB_LINUX_PACKAGES}" != "none" ]
then
	for FLAVOUR in ${LB_LINUX_FLAVOURS}
	do
		for PACKAGE in ${LB_LINUX_PACKAGES}
		do
			echo ${PACKAGE}-${FLAVOUR} >> chroot/root/packages.chroot
		done
	done
	# Include firmware packages
	if [ "${LB_FIRMWARE_CHROOT}" = "true" ]
	then
		# Assumption: firmware packages install files into /lib/firmware
		# Get all firmware packages names
		mkdir -p cache/contents.chroot
		FIRMWARE_PACKAGES=""
		if [ "${LB_PARENT_DISTRIBUTION}" = "squeeze" ]
		then
			_CONTENTS="${LB_PARENT_MIRROR_CHROOT}/dists/${LB_PARENT_DISTRIBUTION}/Contents-${LB_ARCHITECTURES}.gz"
		else
			_CONTENTS="$(for _PARENT_ARCHIVE_AREA in ${LB_PARENT_ARCHIVE_AREAS}; do echo ${LB_PARENT_MIRROR_CHROOT}/dists/${LB_PARENT_DISTRIBUTION}/${_PARENT_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)"
		fi
		rm -f cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES}
		for _CONTENT in ${_CONTENTS}
		do
			wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES}
			FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LB_ARCHITECTURES} | sort -u)"
		done
		if echo ${LB_PARENT_ARCHIVE_AREAS} | grep -qs "non-free"
		then
			# FIXME: should check that we're building on debian through e.g. a 'derivative-is-based-on' variable or somesuch.
			# Manually add firmware-linux/non-free meta package
			FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} firmware-linux"
		fi
		if [ "${LB_DERIVATIVE}" = "true" ]
		then
			# FIXME: account for the fact that PARENT_DISTRIBUTION and DISTRIBUTION might be the same (to not have overlapping cache files for contents).
			if [ "${_PARENT_DISTRIBUTION}" = "squeeze" ]
			then
				_CONTENTS="${LB_MIRROR_CHROOT}/dists/${LB_DISTRIBUTION}/Contents-${LB_ARCHITECTURES}.gz"
			else
				_CONTENTS="$(for _ARCHIVE_AREA in ${LB_ARCHIVE_AREAS}; do echo ${LB_MIRROR_CHROOT}/dists/${LB_DISTRIBUTION}/${_ARCHIVE_AREA}/Contents-${LB_ARCHITECTURES}.gz; done)"
			fi
			rm -f cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES}
			for _CONTENT in ${_CONTENTS}
			do
				wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES}
				FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LB_ARCHITECTURES} | sort -u)"
			done
		fi
		if [ "${LB_PARENT_DISTRIBUTION}" = "squeeze" ]
		then
			# Filter out contrib packages if contrib is not enabled
			if ! echo ${LB_ARCHIVE_AREAS} | grep -qs contrib
			then
				_FIRMWARE_PACKAGES=""
				for _PACKAGE in ${FIRMWARE_PACKAGES}
				do
					_FIRMWARE_PACKAGES="${_FIRMWARE_PACKAGES} $(echo ${_PACKAGE} | sed -e 's|^contrib/.*$||')"
				done
				FIRMWARE_PACKAGES="${_FIRMWARE_PACKAGES}"
			fi
			# Filter out non-free packages if non-free is not enabled
			if ! echo ${LB_ARCHIVE_AREAS} | grep -qs non-free
			then
				_FIRMWARE_PACKAGES=""
				for _PACKAGE in ${FIRMWARE_PACKAGES}
				do
					_FIRMWARE_PACKAGES="${_FIRMWARE_PACKAGES} $(echo ${_PACKAGE} | sed -e 's|^non-free/.*$||')"
				done
				FIRMWARE_PACKAGES="${_FIRMWARE_PACKAGES}"
			fi
		fi
		# Drop section and keep package names only
		for _PACKAGE in ${FIRMWARE_PACKAGES}
		do
			echo $(echo ${_PACKAGE} | awk -F/ '{ print $NF }') >> chroot/root/packages.chroot
		done
		# Some known licenses required to be accepted
		if echo ${LB_PARENT_ARCHIVE_AREAS} | grep -qs "non-free"
		then
cat >> chroot/root/packages.chroot.cfg << EOF
firmware-ivtv firmware-ivtv/license/accepted boolean true
firmware-ipw2x00 firmware-ipw2x00/license/accepted boolean true
EOF
		fi
	fi
	# Creating stage file
	Create_stagefile .build/chroot_linux-image
fi
 |