summaryrefslogtreecommitdiff
path: root/scripts/build/lb_chroot_hacks
diff options
context:
space:
mode:
authorDaniel Baumann <daniel@debian.org>2012-08-27 15:59:56 +0200
committerDaniel Baumann <daniel@debian.org>2012-08-27 16:05:49 +0200
commita0a5bbfd1c9b6fc58d1b102ee56fb7d3b8b7bfcf (patch)
tree584a8f8174bdcbafddb6652e469c5ae5381ce3da /scripts/build/lb_chroot_hacks
parentd6e45a34376c9c80d1488ad4f3c9c1f85bedb338 (diff)
downloadvyos-live-build-a0a5bbfd1c9b6fc58d1b102ee56fb7d3b8b7bfcf.tar.gz
vyos-live-build-a0a5bbfd1c9b6fc58d1b102ee56fb7d3b8b7bfcf.zip
Dropping lb prefix from live-build scripts, not needed anymore.
Previously, we needed to keep the lb_* prefix as the scripts could also be executed standalone. Since the lb wrapper is mandatory since squeeze, we can drop this now.
Diffstat (limited to 'scripts/build/lb_chroot_hacks')
-rwxr-xr-xscripts/build/lb_chroot_hacks309
1 files changed, 0 insertions, 309 deletions
diff --git a/scripts/build/lb_chroot_hacks b/scripts/build/lb_chroot_hacks
deleted file mode 100755
index f0e885b08..000000000
--- a/scripts/build/lb_chroot_hacks
+++ /dev/null
@@ -1,309 +0,0 @@
-#!/bin/sh
-
-## live-build(7) - System Build Scripts
-## Copyright (C) 2006-2012 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 'execute hacks in chroot')"
-HELP=""
-USAGE="${PROGRAM} [--force]"
-
-Arguments "${@}"
-
-# Reading configuration files
-Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
-Set_defaults
-
-Echo_message "Begin executing hacks..."
-
-# Requiring stage file
-Require_stagefile .build/config .build/bootstrap
-
-# Checking stage file
-Check_stagefile .build/chroot_hacks
-
-# Checking lock file
-Check_lockfile .lock
-
-# Creating lock file
-Create_lockfile .lock
-
-case "${LB_PARENT_DISTRIBUTION}" in
- squeeze)
- if echo "${LB_TASKS}" | grep -qs lxde ||
- echo "${LB_TASKS}" | grep -qs xfce
- then
- GDM="gdm"
- else
- GDM="gdm3"
- fi
- ;;
-
- *)
- GDM="gdm3"
- ;;
-esac
-
-# Handling default desktop configuration
-case "${LB_MODE}" in
- debian*)
- # disable kexec-tools
- if [ -e chroot/sbin/kexec ]
- then
- echo "kexec-tools kexec-tools/load_kexec boolean false" > chroot/root/preseed
- Chroot chroot "debconf-set-selections /root/preseed"
- rm -f chroot/root/preseed
- Chroot chroot "dpkg-reconfigure kexec-tools"
- fi
- ;;
-esac
-
-for TASK in ${LB_TASKS}
-do
- case "${TASK}" in
- gnome-desktop)
- # gnome is the only desktop environment in this image
- if [ -z "$(echo ${LB_TASKS} | sed -e 's|gnome-desktop||' -e 's| desktop ||' | grep desktop)" ]
- then
- # set display manager
- echo "${GDM} shared/default-x-display-manager select ${GDM}" > chroot/root/preseed
- Chroot chroot "debconf-set-selections /root/preseed"
- rm -f chroot/root/preseed
- Chroot chroot "dpkg-reconfigure ${GDM}"
- echo "/usr/bin/${GDM}" > chroot/etc/X11/default-display-manager
-
- # set session manager
- Chroot chroot "update-alternatives --set x-session-manager /usr/bin/gnome-session"
- fi
- ;;
-
- kde-desktop)
- # kde is the only desktop-environment in this image
- if [ -z "$(echo ${LB_TASKS} | sed -e 's|kde-desktop||' -e 's| desktop ||' | grep desktop)" ]
- then
- # set display manager
- echo "kdm shared/default-x-display-manager select kdm" > chroot/root/preseed
- Chroot chroot "debconf-set-selections /root/preseed"
- rm -f chroot/root/preseed
- Chroot chroot "dpkg-reconfigure kdm"
- echo "/usr/bin/kdm" > chroot/etc/X11/default-display-manager
-
- # set session manager
- Chroot chroot "update-alternatives --set x-session-manager /usr/bin/startkde"
-
- # get rid of resolvconf
- Chroot chroot "dpkg -P resolvconf"
- fi
- ;;
-
- lxde-desktop)
- # lxde is the only desktop environment in this image
- if [ -z "$(echo ${LB_TASKS} | sed -e 's|lxde-desktop||' -e 's| desktop ||' | grep desktop)" ]
- then
- # set display manager
- echo "${GDM} shared/default-x-display-manager select ${GDM}" > chroot/root/preseed
- Chroot chroot "debconf-set-selections /root/preseed"
- rm -f chroot/root/preseed
- Chroot chroot "dpkg-reconfigure ${GDM}"
- echo "/usr/bin/${GDM}" > chroot/etc/X11/default-display-manager
-
- # set session manager
- Chroot chroot "update-alternatives --set x-session-manager /usr/bin/startlxde"
- fi
- ;;
-
- xfce-desktop)
- # xfce is the only desktop environment in this image
- if [ -z "$(echo ${LB_TASKS} | sed -e 's|xfce-desktop||' -e 's| desktop ||' | grep desktop)" ]
- then
- # set display manager
- echo "${GDM} shared/default-x-display-manager select ${GDM}" > chroot/root/preseed
- Chroot chroot "debconf-set-selections /root/preseed"
- rm -f chroot/root/preseed
- Chroot chroot "dpkg-reconfigure ${GDM}"
- echo "/usr/bin/${GDM}" > chroot/etc/X11/default-display-manager
-
- # set session manager
- Chroot chroot "update-alternatives --set x-session-manager /usr/bin/xfce4-session"
- fi
- ;;
- esac
-done
-
-case "${LB_BINARY_IMAGES}" in
- netboot)
- if [ ! -f chroot/sbin/mount.cifs ]
- then
- Apt chroot install cifs-utils
- fi
-
- if [ ! -d chroot/etc/initramfs-tools ]
- then
- mkdir chroot/etc/initramfs-tools
- fi
-
- # Configuring initramfs for NFS
- if ! grep -qs "BOOT=nfs" chroot/etc/initramfs-tools/initramfs.conf
- then
- echo "BOOT=nfs" >> chroot/etc/initramfs-tools/initramfs.conf
- fi
-
- if ! grep -qs "NFSROOT=auto" chroot/etc/initramfs-tools/initramfs.conf
- then
- echo "NFSROOT=auto" >> chroot/etc/initramfs-tools/initramfs.conf
- fi
- ;;
-esac
-
-# Update initramfs (always, because of udev rules in initrd)
-case "${LB_INITRAMFS}" in
- casper)
- UPDATE_INITRAMFS_OPTIONS="CASPER_GENERATE_UUID=1"
- ;;
-
- live-boot)
- #UPDATE_INITRAMFS_OPTIONS="LIVE_GENERATE_UUID=1"
- ;;
-esac
-
-if [ "${LB_INITRAMFS}" != "none" ]
-then
- Chroot chroot "${UPDATE_INITRAMFS_OPTIONS} update-initramfs -k all -t -u"
-fi
-
-# We probably ought to use COMPRESS= in a temporary file in
-# /etc/initramfs-tools/conf.d/ instead, but it's hard to pass options that
-# way.
-case "${LB_INITRAMFS_COMPRESSION}" in
- gzip)
- ;;
-
- bzip2)
- for INITRAMFS in $(find chroot/boot -name 'initrd*'); do
- zcat "${INITRAMFS}" | bzip2 -c ${BZIP2_OPTIONS} > "${INITRAMFS}.new"
- mv "${INITRAMFS}.new" "${INITRAMFS}"
- done
- ;;
-
- lzma)
- # We probably ought to use COMPRESS= in a temporary file in
- # /etc/initramfs-tools/conf.d/ instead, but it's hard to
- # pass options that way.
- for INITRAMFS in $(find chroot/boot -name 'initrd*'); do
- zcat "${INITRAMFS}" | lzma -c ${LZMA_OPTIONS} > "${INITRAMFS}.new"
- mv "${INITRAMFS}.new" "${INITRAMFS}"
- done
- ;;
-esac
-
-# Ensure readable permissions on initramfs. loop-aes-utils sets umask to
-# protect GPG keys, which live-build does not support.
-# Note: Use find rather than chmod on the wildcard, one never knows what
-# people might do in local hooks, and there might be no initrds at all.
-find chroot/boot -name 'initrd*' -print0 | xargs -r -0 chmod go+r
-
-# Remove build systems clock drift
-echo "0.0 0 0.0" > chroot/etc/adjtime
-
-# Remove cruft
-rm -f chroot/boot/initrd*bak*
-rm -f chroot/etc/apt/trusted.gpg~
-rm -f chroot/etc/group- chroot/etc/passwd-
-rm -f chroot/etc/gshadow- chroot/etc/shadow-
-rm -f chroot/var/cache/debconf/*-old
-rm -f chroot/var/lib/dpkg/*-old
-rm -f chroot/var/log/apt/term.log
-
-# Delete and re-create temporary directories
-TEMP_DIRS="/tmp /var/tmp"
-for DIR in ${TEMP_DIRS}
-do
- rm -rf "chroot/${DIR}"
- install -d -m 1777 "chroot/${DIR}"
-done
-
-if [ -n "${LB_ROOT_COMMAND}" ]
-then
- ${LB_ROOT_COMMAND} chown -R --quiet $(whoami):$(whoami) chroot
-fi
-
-case "${LB_INITRAMFS}" in
- casper)
- ID="999"
- ;;
-
- live-boot)
- ID="1000"
- ;;
-
- *)
- ID=""
- ;;
-esac
-
-if [ "${LB_DEBIAN_INSTALLER}" = "live" ]
-then
- # This is a temporary hack to get rid of fstab;
- # needs cleanup in live-boot first to proper fix.
- rm -f chroot/etc/fstab
- touch chroot/etc/fstab
-fi
-
-if [ "${LB_EXPOSED_ROOT}" = "true" ]
-then
- # Make sure RW dirs exist so that the initramfs script has
- # a directory in which to bind the tmpfs filesystems
- COW_DIRECTORIES="/home /live /tmp /var/lib/live /var/lock /var/log /var/run /var/tmp /var/spool"
-
- for DIRECTORY in ${COW_DIRECTORIES}
- do
- mkdir -p chroot/"${DIRECTORY}"
- done
-
- # Config files which need to be RW
- COW_FILES="/etc/adjtime /etc/fstab /etc/hostname /etc/hosts /etc/live.conf /etc/network/interfaces /etc/resolv.conf /etc/udev/rules.d/*persistent-net.rules /etc/udev/rules.d/*persistent-cd.rules /etc/X11/xorg.conf"
-
- # Where we will store RW config files
- RW_DIRECTORY="/var/lib/live"
-
- for FILE in ${COW_FILES}
- do
- DIRECTORY="$(dirname ${FILE})"
- FILE="$(basename ${FILE})"
- RELATIVE_PATH="$(echo ${DIRECTORY} | sed 's|[^/]\+|..|g; s|^/||g')"
-
- # Touch files in case they don't yet exist
- mkdir -p chroot/${DIRECTORY}
- touch chroot/${DIRECTORY}/${FILE}
-
- # Move files to the read-write directory
- mkdir -p chroot/${RW_DIRECTORY}/${DIRECTORY}
- mv chroot/${DIRECTORY}/${FILE} chroot/${RW_DIRECTORY}/${DIRECTORY}
-
- # Create a symbolic link to RW config file
- ln -s ${RELATIVE_PATH}/${RW_DIRECTORY}/${DIRECTORY}/${FILE} chroot/${DIRECTORY}/${FILE}
- done
-
- # Mount doesn't write to a symlink so use /proc/mounts instead,
- # see debian bug #154438 for more info
- rm -f chroot/etc/mtab
- ln -s /proc/mounts chroot/etc/mtab
-fi
-
-if [ "${LB_SWAP_FILE_PATH}" ]; then
- dd if=/dev/zero of="chroot/${LB_SWAP_FILE_PATH}" bs=1024k count="${LB_SWAP_FILE_SIZE}"
- mkswap "chroot/${LB_SWAP_FILE_PATH}"
-fi
-
-# Creating stage file
-Create_stagefile .build/chroot_hacks