summaryrefslogtreecommitdiff
path: root/src/scripts/14chroot.sh
diff options
context:
space:
mode:
authorDaniel Baumann <daniel@debian.org>2007-09-23 10:04:39 +0200
committerDaniel Baumann <daniel@debian.org>2007-09-23 10:04:39 +0200
commit9a5955a79f907075d0cde61db6f7d2d605ab3b4a (patch)
treea470f85cbecf2ed965e4341e04acc0edd5df50bd /src/scripts/14chroot.sh
parentb995c6b293b3a75cd8cf4fd1fd6e2eb517a65096 (diff)
downloadvyos-live-build-9a5955a79f907075d0cde61db6f7d2d605ab3b4a.tar.gz
vyos-live-build-9a5955a79f907075d0cde61db6f7d2d605ab3b4a.zip
Adding live-package 0.99.19-1.
Diffstat (limited to 'src/scripts/14chroot.sh')
-rw-r--r--src/scripts/14chroot.sh213
1 files changed, 0 insertions, 213 deletions
diff --git a/src/scripts/14chroot.sh b/src/scripts/14chroot.sh
deleted file mode 100644
index 125f08f9f..000000000
--- a/src/scripts/14chroot.sh
+++ /dev/null
@@ -1,213 +0,0 @@
-#!/bin/sh
-
-# make-live - utility to build Debian Live systems
-#
-# Copyright (C) 2006 Daniel Baumann <daniel@debian.org>
-# Copyright (C) 2006 Marco Amadori <marco.amadori@gmail.com>
-#
-# make-live 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.
-
-Chroot_exec ()
-{
- # Execute commands chrooted
- chroot "${LIVE_CHROOT}" /usr/bin/env -i HOME="/root" PATH="/usr/sbin:/usr/bin:/sbin:/bin" TERM="${TERM}" ftp_proxy="${LIVE_PROXY_FTP}" http_proxy="${LIVE_PPROXY_HTTP}" DEBIAN_FRONTEND="${LIVE_DEBCONF_FRONTEND}" DEBIAN_PRIORITY="${LIVE_DEBCONF_PRIORITY}" ${1}
- return ${?}
-}
-
-Chroot ()
-{
- if [ ! -f "${LIVE_ROOT}"/.stage/chroot ]
- then
- # Configure chroot
- Patch_chroot apply
- Patch_runlevel apply
-
- # Configure network
- Patch_network apply
-
- # Mount proc
- mount proc-live -t proc "${LIVE_CHROOT}"/proc
-
- # Avoid daemon starting
- cat > "${LIVE_CHROOT}"/usr/sbin/policy-rc.d <<EOF
-#!/bin/sh
-echo
-echo "Warning: invoke-rc.d policy in action. Skiping daemon starting"
-
-exit 101
-EOF
- chmod 755 "${LIVE_CHROOT}"/usr/sbin/policy-rc.d
-
- # Configure sources.list
- Indices custom initial
-
- # Install aptitude
- Chroot_exec "apt-get install --yes --force-yes aptitude"
-
- # Install secure apt
- if [ "${LIVE_DISTRIBUTION}" = "unstable" ] || [ "${LIVE_DISTRIBUTION}" = "${CODENAME_UNSTABLE}" ] || \
- [ "${LIVE_DISTRIBUTION}" = "testing" ] || [ "${LIVE_DISTRIBUTION}" = "${CODENAME_TESTING}" ]
- then
- if [ "${LIVE_FLAVOUR}" != "minimal" ]
- then
- Chroot_exec "apt-get install --yes --force-yes ${LIVE_REPOSITORY_KEYRING}"
-
- for NAME in ${LIVE_REPOSITORIES}
- do
- eval REPOSITORY_KEY="$`echo LIVE_REPOSITORY_KEY_$NAME`"
- eval REPOSITORY_KEYRING="$`echo LIVE_REPOSITORY_KEYRING_$NAME`"
-
- if [ -n "${REPOSITORY_KEYRING}" ]
- then
- Chroot_exec "aptiude install ${REPOSITORY_KEYRING}"
- elif [ -n "${REPOSITORY_KEY}" ]
- then
- Chroot_exec "wget ${REPOSITORY_KEY}"
- Chroot_exec "apt-key add `basename ${REPOSITORY_KEY}`"
- Chroot_exec "rm -f `basename ${REPOSITORY_KEY}`"
- fi
- done
- fi
- fi
-
- # Update indices
- Chroot_exec "aptitude update"
-
- # Configure linux-image
- Patch_linux apply
-
- # Install linux-image, modules and casper
- Chroot_exec "aptitude install --assume-yes ${LIVE_KERNEL_PACKAGES} casper"
-
- # Deconfigure linux-image
- Patch_linux deapply
-
- # Cloning existing system configuration
- if [ -d "${LIVE_CLONE}" ]
- then
- # Swapping chroot directories
- LIVE_CHROOT_TMP="${LIVE_CHROOT}"
- LIVE_CHROOT="${LIVE_CLONE}"
-
- # Extract debconf settings
- Chroot_exec "aptitude install --assume-yes debconf-utils"
- Chroot_exec "debconf-get-selections" > "${LIVE_ROOT}"/preseed.cloned
-
- # Extract package selection
- Chroot_exec "dpkg --get-selections" | grep -v deinstall | cut -f1 > "${LIVE_ROOT}"/package-list.cloned
-
- # Restoring chroot directories
- LIVE_CHROOT="${LIVE_CHROOT_TMP}"
- LIVE_CHROOT_TMP=""
-
- LIVE_PRESEED="${LIVE_ROOT}/preseed.cloned"
- LIVE_PACKAGE_LIST_CLONED="${LIVE_ROOT}/package-list.cloned"
- fi
-
- # Restore preseed configuration
- if [ -f "${LIVE_PRESEED}" ]
- then
- Chroot_exec "aptitude install --assume-yes debconf-utils"
- cp "${LIVE_PRESEED}" "${LIVE_CHROOT}"/root/preseed
- Chroot_exec "debconf-set-selections /root/preseed"
- rm -f "${LIVE_CHROOT}"/root/preseed
- else
- if [ -n "${LIVE_PRESEED}" ]; then
- echo "'${LIVE_PRESEED}' file doesn't exists. Exiting..."
- exit 1
- fi
- fi
-
- # Restore cloned package selection
- if [ -f "${LIVE_PACAKGE_LIST_CLONED}" ]
- then
- Chroot_exec "xargs --arg-file=/root/`basename ${LIVE_PACKAGE_LIST_CLONED}` aptitude install --assume-yes"
- fi
-
- # Install packages list
- if [ -n "${LIVE_PACKAGE_LIST}" ]
- then
- grep -v "^#" "${LIVE_PACKAGE_LIST}" > "${LIVE_CHROOT}"/root/"`basename ${LIVE_PACKAGE_LIST}`"
- Chroot_exec "xargs --arg-file=/root/`basename ${LIVE_PACKAGE_LIST}` aptitude install --assume-yes"
- rm -f "${LIVE_CHROOT}"/root/"`basename ${LIVE_PACKAGE_LIST}`"
- fi
-
- # Install extra packages
- if [ -n "${LIVE_PACKAGES}" ]
- then
- Chroot_exec "aptitude install --assume-yes ${LIVE_PACKAGES}"
- fi
-
- # Copy external directory into the chroot
- if [ -d "${LIVE_INCLUDE_CHROOT}" ]
- then
- cd "${LIVE_INCLUDE_CHROOT}"
- find . | cpio -pumd "${LIVE_CHROOT}"
- cd "${OLDPWD}"
- fi
-
- # Process flavour specific hooks
- if [ -r "${BASE}"/hooks/"${LIVE_FLAVOUR}" ]
- then
- grep -v "^#" "${BASE}"/hooks/"${LIVE_FLAVOUR}" > "${LIVE_CHROOT}"/root/"${LIVE_FLAVOUR}"
- LIVE_DEBCONF_FRONTEND="readline" LIVE_DEBCONF_PRIORITY="low" Chroot_exec "sh /root/${LIVE_FLAVOUR}"
- rm -f "${LIVE_CHROOT}"/root/"${LIVE_FLAVOUR}"
- fi
-
- # Execute extra command in the chroot
- if [ -r "${LIVE_HOOK}" ]
- then
- # FIXME
- LIVE_DEBCONF_FRONTEND="readline" LIVE_DEBCONF_PRIORITY="low" Chroot_exec "`cat ${LIVE_HOOK}`"
- elif [ -n "${LIVE_HOOK}" ]
- then
- LIVE_DEBCONF_FRONTEND="readline" LIVE_DEBCONF_PRIORITY="low" Chroot_exec "${LIVE_HOOK}"
- fi
-
- # Temporary hacks for broken packages
- Hack_xorg
-
- # Add filesystem.manifest
- Chroot_exec "dpkg-query -W \*" | awk '$2 ~ /./ {print $1 " " $2 }' > "${LIVE_ROOT}"/filesystem.manifest
-
- if [ ! -z "${LIVE_MANIFEST}" ]
- then
- Chroot_exec "aptitude install --assume-yes ${LIVE_MANIFEST}"
- Chroot_exec "dpkg-query -W \*" | awk '$2 ~ /./ {print $1 " " $2 }' > "${LIVE_ROOT}"/filesystem.manifest-desktop
- fi
-
- # Clean apt packages cache
- rm -rf "${LIVE_CHROOT}"/var/cache/apt
- mkdir -p "${LIVE_CHROOT}"/var/cache/apt/archives/partial
-
- if [ "${LIVE_FLAVOUR}" = "minimal" ]
- then
- rm -f "${LIVE_CHROOT}"/var/lib/apt/lists/*
- rm -f "${LIVE_CHROOT}"/var/lib/dpkg/available-old
- rm -f "${LIVE_CHROOT}"/var/lib/dpkg/diversions-old
- rm -f "${LIVE_CHROOT}"/var/lib/dpkg/statoverride-old
- rm -f "${LIVE_CHROOT}"/var/lib/dpkg/status-old
- fi
-
- # Workaround binfmt-support /proc locking
- umount "${LIVE_CHROOT}"/proc/sys/fs/binfmt_misc > /dev/null || true
-
- # Unmount proc
- umount "${LIVE_CHROOT}"/proc
-
- # Allow daemon starting
- rm "${LIVE_CHROOT}"/usr/sbin/policy-rc.d
-
- # Deconfigure network
- Patch_network deapply
-
- # Deconfigure chroot
- Patch_runlevel deapply
- Patch_chroot deapply
-
- # Touching stage file
- touch "${LIVE_ROOT}"/.stage/chroot
- fi
-}