diff options
Diffstat (limited to 'helpers')
-rwxr-xr-x | helpers/lh_binary | 8 | ||||
-rwxr-xr-x | helpers/lh_binary_linux-image | 4 | ||||
-rwxr-xr-x | helpers/lh_binary_syslinux | 86 | ||||
-rwxr-xr-x | helpers/lh_chroot | 1 | ||||
-rwxr-xr-x | helpers/lh_chroot_hacks | 3 | ||||
-rwxr-xr-x | helpers/lh_chroot_local-preseed | 73 | ||||
-rwxr-xr-x | helpers/lh_chroot_preseed | 46 | ||||
-rwxr-xr-x | helpers/lh_chroot_resolv | 6 | ||||
-rwxr-xr-x | helpers/lh_config | 4 | ||||
-rwxr-xr-x | helpers/make-live | 4 |
10 files changed, 194 insertions, 41 deletions
diff --git a/helpers/lh_binary b/helpers/lh_binary index 7a71cbc..c178309 100755 --- a/helpers/lh_binary +++ b/helpers/lh_binary @@ -24,6 +24,14 @@ 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 + # Preparing root filesystem lh_binary_chroot ${*} diff --git a/helpers/lh_binary_linux-image b/helpers/lh_binary_linux-image index 077b4e3..9e4d74c 100755 --- a/helpers/lh_binary_linux-image +++ b/helpers/lh_binary_linux-image @@ -106,7 +106,9 @@ fi case "${LH_INITRAMFS}" in casper) - cp "${LH_BASE:-/usr/share/live-helper}"/data/casper/parameters.txt "${DESTDIR}"/parameters.txt + # Checking casper templates + Check_templates casper + cp "${TEMPLATES}"/casper/parameters.txt "${DESTDIR}"/parameters.txt ;; live-initramfs) diff --git a/helpers/lh_binary_syslinux b/helpers/lh_binary_syslinux index 88a154b..fd6d1cd 100755 --- a/helpers/lh_binary_syslinux +++ b/helpers/lh_binary_syslinux @@ -335,6 +335,32 @@ case "${LIVE_BINARY_IMAGES}" in esac cp -r "${TEMPLATES}"/* binary/isolinux + + for FILE in binary/isolinux/*.live + do + mv ${FILE} `dirname ${FILE}`/`basename ${FILE} .live` + done + + if [ "${LIVE_DEBIAN_INSTALLER}" != "disabled" ] + then + for FILE in binary/isolinux/*.install + do + mv ${FILE} `dirname ${FILE}`/`basename ${FILE} .install` + done + + if [ "${LIVE_ARCHITECTURE}" = "amd64" ] || [ "${LIVE_ARCHITECTURE}" = "i386" ] || [ "${LIVE_ARCHITECTURE}" = "powerpc" ] + then + for FILE in binary/isolinux/*.install.g-i + do + mv ${FILE} `dirname ${FILE}`/`basename ${FILE} .install.g-i` + done + else + rm -f binary/isolinux/*.install.g-i + fi + else + rm -f binary/isolinux/*.install* + fi + mv binary/isolinux/syslinux.cfg binary/isolinux/isolinux.cfg # Copying local configuration file @@ -363,7 +389,8 @@ case "${LIVE_BINARY_IMAGES}" in # Configure syslinux templates sed -i -e "s@LINUX_LIVE@${LINUX_LIVE}@" -e "s@LINUX_INSTALL@${LINUX_INSTALL}@" -e "s@MEMTEST@${MEMTEST}@" binary/isolinux/isolinux.cfg sed -i -e "s#LIVE_BOOTAPPEND#${LIVE_BOOTAPPEND}#" binary/isolinux/isolinux.cfg - sed -i -e "s/LIVE_DATE/`date +%Y%m%d`/" binary/isolinux/f1.txt + sed -i -e "s/LIVE_DISTRIBUTION/${LIVE_DISTRIBUTION}/" -e "s/LIVE_DATE/`date +%Y%m%d`/" -e "s/LIVE_MEDIA/CD-ROM/" binary/isolinux/f1.txt + sed -i -e "s/LIVE_MEDIA/CD-ROM/" binary/isolinux/f3.txt sed -i -e "s/LIVE_VERSION/${VERSION}/" binary/isolinux/f10.txt # Working arround syslinux 8.3 limitation @@ -407,6 +434,32 @@ case "${LIVE_BINARY_IMAGES}" in mkdir -p tftpboot/pxelinux.cfg cp -r "${TEMPLATES}"/* tftpboot/pxelinux.cfg + + for FILE in tftpboot/pxelinux.cfg/*.live + do + mv ${FILE} `dirname ${FILE}`/`basename ${FILE} .live` + done + + if [ "${LIVE_DEBIAN_INSTALLER}" != "disabled" ] + then + for FILE in tftpboot/pxelinux.cfg/*.install + do + mv ${FILE} `dirname ${FILE}`/`basename ${FILE} .install` + done + + if [ "${LIVE_ARCHITECTURE}" = "amd64" ] || [ "${LIVE_ARCHITECTURE}" = "i386" ] || [ "${LIVE_ARCHITECTURE}" = "powerpc" ] + then + for FILE in tftpboot/pxelinux.cfg/*.install.g-i + do + mv ${FILE} `dirname ${FILE}`/`basename ${FILE} .install.g-i` + done + else + rm -f tftpboot/pxelinux.cfg/*.install.g-i + fi + else + rm -f tftpboot/pxelinux.cfg/*.install* + fi + mv tftpboot/pxelinux.cfg/syslinux.cfg tftpboot/pxelinux.cfg/default # Copying local configuration file @@ -437,7 +490,8 @@ case "${LIVE_BINARY_IMAGES}" in # Configure syslinux templates sed -i -e "s@LINUX_LIVE@${LINUX_LIVE}@" -e "s@LINUX_INSTALL@${LINUX_INSTALL}@" -e "s@MEMTEST@${MEMTEST}@" tftpboot/pxelinux.cfg/default sed -i -e "s#LIVE_BOOTAPPEND#${LIVE_BOOTAPPEND}#" -e "s/LIVE_NET_SERVER/${LIVE_NET_SERVER}/" -e "s#LIVE_NET_PATH#${LIVE_NET_PATH}#" tftpboot/pxelinux.cfg/default - sed -i -e "s/LIVE_DATE/`date +%Y%m%d`/" tftpboot/pxelinux.cfg/f1.txt + sed -i -e "s/LIVE_DISTRIBUTION/${LIVE_DISTRIBUTION}/" -e "s/LIVE_DATE/`date +%Y%m%d`/" -e "s/LIVE_MEDIA/netboot/" tftpboot/pxelinux.cfg/f1.txt + sed -i -e "s/LIVE_MEDIA/netboot/" tftpboot/pxelinux.cfg/f3.txt sed -i -e "s/LIVE_VERSION/${VERSION}/" tftpboot/pxelinux.cfg/f10.txt # Working arround syslinux 8.3 limitation @@ -476,6 +530,31 @@ case "${LIVE_BINARY_IMAGES}" in cp -r "${TEMPLATES}"/* "${DESTDIR}" + for FILE in "${DESTDIR}"/*.live + do + mv ${FILE} `dirname ${FILE}`/`basename ${FILE} .live` + done + + if [ "${LIVE_DEBIAN_INSTALLER}" != "disabled" ] + then + for FILE in "${DESTDIR}"/*.install + do + mv ${FILE} `dirname ${FILE}`/`basename ${FILE} .install` + done + + if [ "${LIVE_ARCHITECTURE}" = "amd64" ] || [ "${LIVE_ARCHITECTURE}" = "i386" ] || [ "${LIVE_ARCHITECTURE}" = "powerpc" ] + then + for FILE in "${DESTDIR}"/*.install.g-i + do + mv ${FILE} `dirname ${FILE}`/`basename ${FILE} .install.g-i` + done + else + rm -f "${DESTDIR}"/*.install.g-i + fi + else + rm -f "${DESTDIR}"/*.install* + fi + # Copying local configuration file if [ -f config/binary_syslinux/syslinux.cfg ] then @@ -502,7 +581,8 @@ case "${LIVE_BINARY_IMAGES}" in # Configure syslinux templates sed -i -e "s@LINUX_LIVE@${LINUX_LIVE}@" -e "s@LINUX_INSTALL@${LINUX_INSTALL}@" -e "s@MEMTEST@${MEMTEST}@" "${DESTDIR}"/syslinux.cfg sed -i -e "s#LIVE_BOOTAPPEND#${LIVE_BOOTAPPEND}#" "${DESTDIR}"/syslinux.cfg - sed -i -e "s/LIVE_DATE/`date +%Y%m%d`/" "${DESTDIR}"/f1.txt + sed -i -e "s/LIVE_DISTRIBUTION/${LIVE_DISTRIBUTION}/" -e "s/LIVE_DATE/`date +%Y%m%d`/" -e "s/LIVE_MEDIA/hd-media/" "${DESTDIR}"/f1.txt #FIXME + sed -i -e "s/LIVE_MEDIA/hd-media/" "${DESTDIR}"/f3.txt #FIXME sed -i -e "s/LIVE_VERSION/${VERSION}/" "${DESTDIR}"/f10.txt # Workaround for syslinux (<< 3.36) which doesn't support long file/path names diff --git a/helpers/lh_chroot b/helpers/lh_chroot index 7a12d9e..a50f92d 100755 --- a/helpers/lh_chroot +++ b/helpers/lh_chroot @@ -47,6 +47,7 @@ lh_chroot_linux-image install ${*} # Customizing chroot lh_chroot_preseed ${*} +lh_chroot_local-preseed ${*} lh_chroot_tasks ${*} lh_chroot_packageslists ${*} lh_chroot_packages ${*} diff --git a/helpers/lh_chroot_hacks b/helpers/lh_chroot_hacks index 38bcbba..cba5441 100755 --- a/helpers/lh_chroot_hacks +++ b/helpers/lh_chroot_hacks @@ -89,9 +89,6 @@ echo "0.0 0 0.0" > chroot/etc/adjtime # Remove generated xorg.conf based on build systems configuration rm -f chroot/etc/X11/xorg.conf -# Touch resolv.conf -touch chroot/etc/resolv.conf - # Remove cruft rm -f chroot/boot/initrd*bak* rm -f /etc/apt/trusted.gpg~ diff --git a/helpers/lh_chroot_local-preseed b/helpers/lh_chroot_local-preseed new file mode 100755 index 0000000..f93f463 --- /dev/null +++ b/helpers/lh_chroot_local-preseed @@ -0,0 +1,73 @@ +#!/bin/sh + +# lh_chroot_local-preseed(1) - use debconf local preseeding file +# 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="execute local preseed in chroot" +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 + +Echo_message "Begin executing locale preseed..." + +# Requiring stage file +Require_stagefile .stage/bootstrap + +# Checking stage file +Check_stagefile .stage/chroot_local-preseed + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +if ls config/chroot_local-preseed/* > /dev/null 2>&1 +then + # Check dependency + Check_package chroot/usr/bin/debconf-set-selections debconf + + # Install dependency + Install_package + + for PRESEED in config/chroot_local-preseed/* + do + # Copying local preseed + cp "${PRESEED}" chroot/root/preseed + + Chroot "debconf-set-selections /root/preseed" + + # Removing local preseed file + rm -f chroot/root/preseed + done + + # Remove dependency + Remove_package + + # Creating stage file + Create_stagefile .stage/chroot_local-preseed +fi diff --git a/helpers/lh_chroot_preseed b/helpers/lh_chroot_preseed index 02418c7..6e9cf91 100755 --- a/helpers/lh_chroot_preseed +++ b/helpers/lh_chroot_preseed @@ -1,6 +1,6 @@ #!/bin/sh -# lh_chroot_preseed(1) - mount /proc +# lh_chroot_preseed(1) - use debconf preseeding file # Copyright (C) 2006-2007 Daniel Baumann <daniel@debian.org> # # live-helper comes with ABSOLUTELY NO WARRANTY; for details see COPYING. @@ -32,11 +32,6 @@ Read_conffile config/binary Read_conffile config/source Set_defaults -if [ -z "${LIVE_PRESEED}" ] -then - exit 0 -fi - Echo_message "Begin executing preseed..." # Requiring stage file @@ -51,28 +46,29 @@ Check_lockfile .lock # Creating lock file Create_lockfile .lock -if [ -f "${LIVE_PRESEED}" ] -then - # Check dependency - Check_package chroot/usr/bin/debconf-set-selections debconf +# Processing preseeds +for PRESEED in ${LIVE_PACKAGES_LISTS} ${LIVE_TASKS} +do + if [ -f ${LH_BASE:-/usr/share/live-helper}/preseed/"${PRESEED}" ] + then + # Check dependency + Check_package chroot/usr/bin/debconf-set-selections debconf - # Install dependency - Install_package + # Install dependency + Install_package - # Copying preseed - cp "${LIVE_PRESEED}" chroot/root/preseed + # Copying preseed + cp "${PRESEED}" chroot/root/preseed - Chroot "debconf-set-selections /root/preseed" + Chroot "debconf-set-selections /root/preseed" - # Removing preseed file - rm -f chroot/root/preseed + # Removing preseed file + rm -f chroot/root/preseed - # Remove dependency - Remove_package + # Remove dependency + Remove_package - # Creating stage file - Create_stagefile .stage/chroot_preseed -else - Echo_error "'${LIVE_PRESEED}' file doesn't exists." - exit 1 -fi + # Creating stage file + Create_stagefile .stage/chroot_preseed + fi +done diff --git a/helpers/lh_chroot_resolv b/helpers/lh_chroot_resolv index 2505172..0409054 100755 --- a/helpers/lh_chroot_resolv +++ b/helpers/lh_chroot_resolv @@ -75,11 +75,11 @@ case "${1}" in if [ -f chroot/etc/resolv.conf.orig ] then - # Restore resolv file + # Restoring resolv file mv chroot/etc/resolv.conf.orig chroot/etc/resolv.conf else - # Remove resolv file - rm -f chroot/etc/resolv.conf + # Truncating resolv file + cat < /dev/null > chroot/etc/resolv.conf fi # Removing stage file diff --git a/helpers/lh_config b/helpers/lh_config index d101571..41c0432 100755 --- a/helpers/lh_config +++ b/helpers/lh_config @@ -272,10 +272,6 @@ LIVE_PACKAGES="${LIVE_PACKAGES}" # (Default: ${LIVE_PACKAGES_LISTS}) LIVE_PACKAGES_LISTS="${LIVE_PACKAGES_LISTS}" -# \$LIVE_PRESEED: set package preseed -# (Default: ${LIVE_PRESEED}) -LIVE_PRESEED="${LIVE_PRESEED}" - # \$LIVE_TASKS: set tasks to install # (Default: empty) LIVE_TASKS="${LIVE_TASKS}" diff --git a/helpers/make-live b/helpers/make-live index 08133e7..b0fa676 100755 --- a/helpers/make-live +++ b/helpers/make-live @@ -33,13 +33,13 @@ done # Setting static variables PROGRAM="`basename ${0}`" DESCRIPTION="utility to build Debian Live systems" -USAGE="${PROGRAM} [config] [--mode MODE] [--config CONFIG] [--apt apt|aptitude] [--apt-ftpproxy URL] [--apt-httpproxy URL] [--binary-indices enabled|disabled] [--apt-pdiffs enabled|disabled] [--apt-recommends enabled|disabled] [--apt-secure enabled|disabled] [--bootstrap cdebootstrap|deboostrap] [--cache enabled|disabled] [--debconf-frontend dialog|readline|noninteractive] [--debconf-priority low|medium|high|critical] [--debconf-nowarnings yes|no] [--genisoimage genisoimage|mkisofs] [--losetup losetup|losetup.org] [--tasksel aptitude|tasksel] [-r|--root DIRECTORY] [-a|--architecture ARCHITECTURE] [-d|--distribution stable|testing|unstable|etch|lenny|sid] [--distribution-config DIRECTORY] [-f|--bootstrap-flavour minimal|standard] [-m|--mirror-bootstrap URL] [--mirror-bootstrap-security URL] [--mirror-binary URL] [--mirror-binary-security URL] [--sections SECTION|\"SECTIONS\"] [--interactive shell|x11|xnest] [-k|--linux-flavour FLAVOUR] [--linux-packages PACKAGE|\"PACKAGES\"] [--keyring-packages PACKAGE|\"PACKAGES\"] [--hooks \"COMMAND\"|\"COMMANDS\"] [-l|--language LANGUAGE] [--packages PACKAGE|\"PACKAGES\"] [-p|--packages-lists LIST|\"LISTS\"] [--tasks TASK|\"TASKS\"] [--security enabled|disabled] [--symlinks enabled|disabled] [--sysvinit enabled|disabled] [--bootappend BOOT_PARAMETER|\"BOOT_PARAMETERS\"] [-e|--encryption ALGORITHM] [--username NAME] [--hostname NAME] [--chroot-filesystem ext2|plain|squashfs] [--memtest memtest86|memtest86+] [--iso-volume STRING] [--net-server HOSTNAME|IP] [--net-path DIRECTORY] [--source enabled|disabled] [--bootloader grub|syslinux] [--grub-splash FILE] [--syslinux-splash FILE] [-b|--binary-images iso|net|tar|usb-hdd] [-s|--source-images iso|net|tar|usb-hdd] [--includes PATH] [--templates PATH] [--breakpoints] [--debug] [--force] [--quiet] [--verbose] [--root-command sudo]" +USAGE="${PROGRAM} [config] [--mode MODE] [--config CONFIG] [--apt apt|aptitude] [--apt-ftpproxy URL] [--apt-httpproxy URL] [--binary-indices enabled|disabled] [--apt-pdiffs enabled|disabled] [--apt-recommends enabled|disabled] [--apt-secure enabled|disabled] [--bootstrap cdebootstrap|deboostrap] [--cache enabled|disabled] [--debconf-frontend dialog|readline|noninteractive] [--debconf-priority low|medium|high|critical] [--debconf-nowarnings yes|no] [--genisoimage genisoimage|mkisofs] [--losetup losetup|losetup.org] [--tasksel aptitude|tasksel] [-r|--root DIRECTORY] [-a|--architecture ARCHITECTURE] [-d|--distribution stable|testing|unstable|etch|lenny|sid] [--distribution-config DIRECTORY] [-f|--bootstrap-flavour minimal|standard] [-m|--mirror-bootstrap URL] [--mirror-bootstrap-security URL] [--mirror-binary URL] [--mirror-binary-security URL] [--sections SECTION|\"SECTIONS\"] [--interactive shell|x11|xnest] [-k|--linux-flavours FLAVOUR] [--linux-packages PACKAGE|\"PACKAGES\"] [--keyring-packages PACKAGE|\"PACKAGES\"] [--hooks \"COMMAND\"|\"COMMANDS\"] [-l|--language LANGUAGE] [--packages PACKAGE|\"PACKAGES\"] [-p|--packages-lists LIST|\"LISTS\"] [--tasks TASK|\"TASKS\"] [--security enabled|disabled] [--symlinks enabled|disabled] [--sysvinit enabled|disabled] [--bootappend BOOT_PARAMETER|\"BOOT_PARAMETERS\"] [-e|--encryption ALGORITHM] [--username NAME] [--hostname NAME] [--chroot-filesystem ext2|plain|squashfs] [--memtest memtest86|memtest86+] [--iso-volume STRING] [--iso-preparer STRING] [--iso-publisher STRING] [--iso-application STRING] [--net-server HOSTNAME|IP] [--net-path DIRECTORY] [--source enabled|disabled] [--bootloader grub|syslinux] [--grub-splash FILE] [--syslinux-splash FILE] [-b|--binary-images iso|net|tar|usb-hdd] [-s|--source-images iso|net|tar|usb-hdd] [--includes PATH] [--templates PATH] [--breakpoints] [--debug] [--force] [--quiet] [--verbose] [--root-command sudo]" HELP="Lists: gnome, gnome-core, gnome-desktop, gnome-full, gnome-junior, gnustep, kde, kde-core, kde-desktop, kde-extra, kde-full, kde-junior, mini, minimal, minimal-net, rescue, standard, standard-x11, xfce, xfce-desktop, xfce-junior" Local_arguments () { - ARGUMENTS="`getopt --longoptions mode:,config:,apt:,apt-ftpproxy:,apt-httpproxy:,binary-indices:,apt-pdiffs:,apt-recommends:,apt-secure:,bootstrap:,cache:,debconf-frontend:,debconf-priority:,debconf-nowarnings:,genisoimage:,losetup:,tasksel:,root:,architecture:,distribution:,distribution-config:,flavour:,mirror-bootstrap:,mirror-bootstrap-security:,mirror-binary:,mirror-binary-security:,sections:,interactive:,kernel:,kernel-packages:,keyring-packages:,hooks:,language:,packages:,packages-lists:,tasks:,security:,symlinks:,sysvinit:,bootappend:,encryption:,username:,hostname:,chroot-filesystem:,memtest:,iso-application:,iso-preparer:,iso-publisher:,iso-volume:,server-address:,server-path:,source:,bootloader:,grub-splash:,syslinux-splash:,binary-images:,binary-source:,includes:,templates:,help,usage,version,force,breakpoints,debug,quiet,verbose,root-command:,initramfs: --name=${PROGRAM} --options r:a:d:f:m:k:l:p:e:b:s:huv --shell sh -- "${@}"`" + ARGUMENTS="`getopt --longoptions mode:,config:,apt:,apt-ftpproxy:,apt-httpproxy:,binary-indices:,apt-pdiffs:,apt-recommends:,apt-secure:,bootstrap:,bootstrap-flavour:,cache:,debconf-frontend:,debconf-priority:,debconf-nowarnings:,genisoimage:,losetup:,tasksel:,root:,architecture:,distribution:,distribution-config:,linux-flavours:,mirror-bootstrap:,mirror-bootstrap-security:,mirror-binary:,mirror-binary-security:,sections:,interactive:,linux-packages:,keyring-packages:,hooks:,language:,packages:,packages-lists:,tasks:,security:,symlinks:,sysvinit:,bootappend:,encryption:,username:,hostname:,chroot-filesystem:,memtest:,iso-application:,iso-preparer:,iso-publisher:,iso-volume:,net-server:,net-path:,source:,bootloader:,grub-splash:,syslinux-splash:,binary-images:,source-images:,includes:,templates:,help,usage,version,force,breakpoints,debug,quiet,verbose,root-command:,initramfs: --name=${PROGRAM} --options r:a:d:f:m:k:l:p:e:b:s:huv --shell sh -- "${@}"`" if [ "${?}" -ne "0" ] then |