diff options
Diffstat (limited to 'helpers/lh_binary_live-installer')
-rwxr-xr-x | helpers/lh_binary_live-installer | 333 |
1 files changed, 0 insertions, 333 deletions
diff --git a/helpers/lh_binary_live-installer b/helpers/lh_binary_live-installer deleted file mode 100755 index 8517ceb..0000000 --- a/helpers/lh_binary_live-installer +++ /dev/null @@ -1,333 +0,0 @@ -#!/bin/sh - -# lh_binary_live-installer(1) - install live-installer into binary -# Copyright (C) 2006-2007 Daniel Baumann <daniel@debian.org> -# -# live-helper 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 -LH_BASE="${LH_BASE:-/usr/share/live-helper}" - -for FUNCTION in "${LH_BASE}"/functions/*.sh -do - . "${FUNCTION}" -done - -# Setting static variables -DESCRIPTION="install live-installer into binary" -HELP="" -USAGE="${PROGRAM} [--force]" - -Arguments "${@}" - -# Reading configuration files -Read_conffile config/common -Read_conffile config/bootstrap -Read_conffile config/chroot -Read_conffile config/binary -Read_conffile config/source -Set_defaults - -if [ "${LIVE_LIVE_INSTALLER}" != "enabled" ] -then - exit 0 -fi - -Echo_message "Begin installing live-installer..." - -# Requiring stage file -Require_stagefile .stage/bootstrap - -# Checking stage file -Check_stagefile .stage/binary_live-installer - -# Checking lock file -Check_lockfile .lock - -# Creating lock file -Create_lockfile .lock - -# Setting destination directory -case "${LIVE_BINARY_IMAGES}" in - iso) - DESTDIR="binary/install" - DI="cdrom" - ;; - - net) - DESTDIR="tftpboot" - DI="netboot" - - Echo_error "Not supported yet (FIXME)" - exit 1 - ;; - - tar|usb-hdd) - DESTDIR="binary/install" - DI="hd-media" - - # Workaround for syslinux (<< 3.36) which doesn't support long file/path names - if [ "${LIVE_DISTRIBUTION}" = "etch" ] && [ "${LIVE_BOOTLOADER}" = "syslinux" ] - then - DESTDIR="binary" - fi - ;; -esac - -# Temporary check for broken syslinux -if [ "${LIVE_BINARY_IMAGES}" = "iso" ] -then - # Assemble multi-arch - if [ -n "${MULTIARCH}" ] - then - case "${LIVE_ARCHITECTURE}" in - amd64) - DESTDIR="${DESTDIR}.amd" - ;; - - i386) - DESTDIR="${DESTDIR}.386" - ;; - - powerpc) - DESTDIR="${DESTDIR}.ppc" - ;; - esac - fi -fi - -VMLINUZ_DI="vmlinuz" -INITRD_DI="initrd.gz" -DESTDIR_DI="${DESTDIR}" - -VMLINUZ_GI="gtk/vmlinuz" -INITRD_GI="gtk/initrd.gz" -DESTDIR_GI="${DESTDIR}/gtk" - -# Workaround for syslinux (<< 3.36) which doesn't support long file/path names -if [ "${LIVE_DISTRIBUTION}" = "etch" ] -then - if [ "${LIVE_BINARY_IMAGES}" = "tar" ] || [ "${LIVE_BINARY_IMAGES}" = "usb-hdd" ] - then - VMLINUZ_DI="vmlinuz.di" - INITRD_DI="initrddi.gz" - DESTDIR_DI="${DESTDIR}" - - VMLINUZ_GI="vmlinuz.gi" - INITRD_GI="initrdgi.gz" - DESTDIR_GI="${DESTDIR}" - fi -fi - -# Downloading debian-installer -mkdir -p "${DESTDIR_DI}" -wget --no-clobber -O "${DESTDIR}"/"${VMLINUZ_DI}" "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DI}"/vmlinuz -wget --no-clobber -O "${DESTDIR}"/"${INITRD_DI}" "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DI}"/initrd.gz - -# Downloading graphical-installer -if [ "${LIVE_ARCHITECTURE}" = "amd64" ] || [ "${LIVE_ARCHITECTURE}" = "i386" ] || [ "${LIVE_ARCHITECTURE}" = "powerpc" ] -then - mkdir -p "${DESTDIR_GI}" - wget --no-clobber -O "${DESTDIR}"/"${VMLINUZ_GI}" "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DI}"/gtk/vmlinuz - wget --no-clobber -O "${DESTDIR}"/"${INITRD_GI}" "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/installer-"${LIVE_ARCHITECTURE}"/current/images/"${DI}"/gtk/initrd.gz -fi - -# Downloading additional packages -mkdir -p chroot/binary.deb/archives/partial -mv chroot/var/lib/dpkg/status chroot/var/lib/dpkg/status.tmp -touch chroot/var/lib/dpkg/status - -case "${LIVE_ARCHITECTURE}" in - amd64) - DI_PACKAGES="linux-image-2.6-amd64 lilo grub" - ;; - - i386) - DI_PACKAGES="linux-image-2.6-486 linux-image-2.6-686 lilo grub" - ;; - - powerpc) - DI_PACKAGES="linux-image-2.6-powerpc linux-image-2.6-powerpc64 linux-image-2.6-powerpc-smp linux-image-2.6-prep yaboot" # FIXME bootloader? - ;; -esac - -Chroot "apt-get -o Dir::Cache=/binary.deb --download-only install --yes ${DI_PACKAGES}" -mv chroot/binary.deb ./ -mv chroot/var/lib/dpkg/status.tmp chroot/var/lib/dpkg/status - -# Including base debian packages -if [ -d cache/packages_bootstrap ] -then - for FILE in cache/packages_bootstrap/*.deb binary.deb/archives/*.deb - do - SOURCE="`dpkg -f ${FILE} Source | awk '{ print $1 }'`" - - if [ -z "${SOURCE}" ] - then - SOURCE="`basename ${FILE} | awk -F_ '{ print $1 }'`" - fi - - case "${SOURCE}" in - lib?*) - LETTER="`echo ${SOURCE} | sed 's/\(....\).*/\1/'`" - ;; - - *) - LETTER="`echo ${SOURCE} | sed 's/\(.\).*/\1/'`" - ;; - esac - - # Install directory - mkdir -p binary/pool/main/"${LETTER}"/"${SOURCE}" - - # Move files - cp "${FILE}" binary/pool/main/"${LETTER}"/"${SOURCE}" - done -fi - -# Generating deb indices -mkdir -p binary/dists/${LIVE_DISTRIBUTION}/main/binary-${LIVE_ARCHITECTURE} - -cd binary -apt-ftparchive packages pool/main > dists/${LIVE_DISTRIBUTION}/main/binary-${LIVE_ARCHITECTURE}/Packages -gzip -9 -c dists/${LIVE_DISTRIBUTION}/main/binary-${LIVE_ARCHITECTURE}/Packages > dists/${LIVE_DISTRIBUTION}/main/binary-${LIVE_ARCHITECTURE}/Packages.gz -#apt-ftparchive sources pool/main > dists/${LIVE_DISTRIBUTION}/main/source/Sources -#gzip -9 -c dists/${LIVE_DISTRIBUTION}/main/source/Sources > dists/${LIVE_DISTRIBUTION}/main/source/Sources -cd "${OLDPWD}" - -# Fetching release -wget http://"${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/binary-"${LIVE_ARCHITECTURE}"/Release -O binary/dists/${LIVE_DISTRIBUTION}/main/binary-${LIVE_ARCHITECTURE}/Release - -#cat > binary/dists/${LIVE_DISTRIBUTION}/main/source/Release << EOF -#Archive: stable -#Version: 4.0r0 -#Component: main -#Origin: Debian -#Label: Debian -#Architecture: source -#EOF - -mkdir binary.udeb -cd binary.udeb - -# Downloading udeb indices -wget "${LIVE_MIRROR_BOOTSTRAP}"/dists/"${LIVE_DISTRIBUTION}"/main/debian-installer/binary-"${LIVE_ARCHITECTURE}"/Packages.gz -gunzip -c Packages.gz > Packages - -# Sorting udebs -UDEBS="`awk '/Filename: / { print $2 }' Packages`" - -# Downloading udebs -for UDEB in ${UDEBS} -do - wget "${LIVE_MIRROR_BOOTSTRAP}"/${UDEB} -done - -# Including local udebs -if ls ../config/binary_local-udebs/* &> /dev/null -then - for FILE in ../config/binary_local-udebs/*.udeb - do - SOURCE="`dpkg -f ${FILE} Source | awk '{ print $1 }'`" - - if [ -z "${SOURCE}" ] - then - SOURCE="`basename ${FILE} | awk -F_ '{ print $1 }'`" - fi - - case "${SOURCE}" in - lib?*) - LETTER="`echo ${SOURCE} | sed 's/\(....\).*/\1/'`" - ;; - - *) - LETTER="`echo ${SOURCE} | sed 's/\(.\).*/\1/'`" - ;; - esac - - # Install directory - mkdir -p pool/main/"${LETTER}"/"${SOURCE}" - - # Copy files - cp "${FILE}" pool/main/"${LETTER}"/"${SOURCE}" - - # Prefere local udebs over downloaded udebs - rm -f "`basename ${FILE} | awk -F_ '{ print $1 }'`"_*.udeb - done -fi - -# Excluding udebs -grep -v "^#" ${LH_BASE:-/usr/share/live-helper}/data/debian-cd/"${LIVE_DISTRIBUTION}"/udeb_exclude > exclude -grep -v "^#" ${LH_BASE:-/usr/share/live-helper}/data/debian-cd/"${LIVE_DISTRIBUTION}"/exclude-udebs > exclude -grep -v "^#" ${LH_BASE:-/usr/share/live-helper}/data/debian-cd/"${LIVE_DISTRIBUTION}"/exclude-udebs-${LIVE_ARCHITECTURE} >> exclude - -for EXCLUDE in `cat exclude` -do - rm -f "${EXCLUDE}"_*.udeb -done - -# Moving udebs -for UDEB in ${UDEBS} -do - if [ -f "`basename ${UDEB}`" ] - then - mkdir -p `dirname ${UDEB}` - mv "`basename ${UDEB}`" "`dirname ${UDEB}`" - fi -done - -# Creating udeb indices -mkdir -p dists/"${LIVE_DISTRIBUTION}"/main/debian-installer/binary-"${LIVE_ARCHITECTURE}" -apt-ftparchive packages pool/main > dists/"${LIVE_DISTRIBUTION}"/main/debian-installer/binary-"${LIVE_ARCHITECTURE}"/Packages -gzip -9 -c dists/${LIVE_DISTRIBUTION}/main/debian-installer/binary-${LIVE_ARCHITECTURE}/Packages > dists/${LIVE_DISTRIBUTION}/main/debian-installer/binary-${LIVE_ARCHITECTURE}/Packages.gz - -rm -f Packages* exclude -find . | cpio -dmpu "${OLDPWD}"/binary -cd "${OLDPWD}" - -rm -rf binary.udeb -rm -rf binary.deb - -# Generating release file -apt-ftparchive \ - -o APT::FTPArchive::Release::Origin="Debian" \ - -o APT::FTPArchive::Release::Label="Debian" \ - -o APT::FTPArchive::Release::Suite="${LIVE_DISTRIBUTION}" \ - -o APT::FTPArchive::Release::Version="4.0" \ - -o APT::FTPArchive::Release::Codename="${LIVE_DISTRIBUTION}" \ - -o APT::FTPArchive::Release::Date="`date -R`" \ - -o APT::FTPArchive::Release::Architectures="${LIVE_ARCHITECTURE}" \ - -o APT::FTPArchive::Release::Components="main" \ - -o APT::FTPArchive::Release::Description="Last updated: `date -R`" \ -release binary/dists/${LIVE_DISTRIBUTION} > binary/dists/${LIVE_DISTRIBUTION}/Release - -# Creating dist symlinks -for DISTRIBUTION in frozen stable testing unstable -do - ln -s ${LIVE_DISTRIBUTION} binary/dists/${DISTRIBUTION} -done - -ln -s . binary/debian - -# Creating disk info -mkdir binary/.disk -echo "main" > binary/.disk/base_components -touch binary/.disk/base_installable -echo "not_complete" > binary/.disk/cd_type -echo "Debian GNU/Linux ${LIVE_DISTRIBUTION} - Unofficial ${LIVE_ARCHITECTURE} LIVE Binary `date +%Y%m%d-%H:%M`" > binary/.disk/info -touch binary/.disk/mkisofs -cat > binary/.disk/udeb_include << EOF -netcfg -ethdetect -pcmcia-cs-udeb -pcmciautils-udeb -wireless-tools-udeb -live-installer -EOF - -# Creating stage file -Create_stagefile .stage/binary_debian-installer |