diff options
-rw-r--r-- | debian/control | 2 | ||||
-rw-r--r-- | debian/live-build.bug-script | 2 | ||||
-rwxr-xr-x | functions/defaults.sh | 24 | ||||
-rwxr-xr-x | scripts/build/binary | 1 | ||||
-rwxr-xr-x | scripts/build/binary_loadlin | 83 | ||||
-rwxr-xr-x | scripts/build/config | 12 |
6 files changed, 121 insertions, 3 deletions
diff --git a/debian/control b/debian/control index bc7a9446c..5db07a55e 100644 --- a/debian/control +++ b/debian/control @@ -16,7 +16,7 @@ Recommends: live-boot-doc, live-config-doc, live-manual-html | live-manual, cpio, gnu-fdisk Suggests: - dosfstools, genisoimage, git, memtest86+ | memtest86, mtools, parted, + dosfstools, genisoimage, git, loadlin, memtest86+ | memtest86, mtools, parted, squashfs-tools | mtd-tools, sudo | fakeroot, syslinux | grub, uuid-runtime, win32-loader Description: Debian Live - System build scripts diff --git a/debian/live-build.bug-script b/debian/live-build.bug-script index 0cf407a91..79276241f 100644 --- a/debian/live-build.bug-script +++ b/debian/live-build.bug-script @@ -6,7 +6,7 @@ DEFAULT_SETTINGS="/etc/live/build.conf" dpkg -l debootstrap cdebootstrap # Checking suggests -dpkg -l dosfstools genisoimage memtest86+ memtest86 mtools parted squashfs-tools mtd-tools sudo fakeroot syslinux grub uuid-runtime win32-loader +dpkg -l dosfstools genisoimage loadlin memtest86+ memtest86 mtools parted squashfs-tools mtd-tools sudo fakeroot syslinux grub uuid-runtime win32-loader if [ -e "${DEFAULT_SETTINGS}" ]; then echo "Contents of ${DEFAULT_SETTINGS}:" diff --git a/functions/defaults.sh b/functions/defaults.sh index bd7f0a4f7..8af9c8455 100755 --- a/functions/defaults.sh +++ b/functions/defaults.sh @@ -1123,6 +1123,30 @@ Set_defaults () # Setting memtest option LB_MEMTEST="${LB_MEMTEST:-memtest86+}" + # Setting loadlin option + case "${LB_MODE}" in + progress|ubuntu|kubuntu) + + ;; + + *) + case "${LB_ARCHITECTURES}" in + amd64|i386) + if [ "${LB_DEBIAN_INSTALLER}" != "false" ] + then + LB_LOADLIN="${LB_LOADLIN:-true}" + else + LB_LOADLIN="${LB_LOADLIN:-false}" + fi + ;; + + *) + LB_LOADLIN="${LB_LOADLIN:-false}" + ;; + esac + ;; + esac + # Setting win32-loader option case "${LB_MODE}" in progress|ubuntu|kubuntu) diff --git a/scripts/build/binary b/scripts/build/binary index 4a17b8463..5098e429d 100755 --- a/scripts/build/binary +++ b/scripts/build/binary @@ -68,6 +68,7 @@ lb binary_syslinux ${@} lb binary_yaboot ${@} lb binary_silo ${@} lb binary_disk ${@} +lb binary_loadlin ${@} lb binary_win32-loader ${@} lb binary_includes ${@} lb binary_hooks ${@} diff --git a/scripts/build/binary_loadlin b/scripts/build/binary_loadlin new file mode 100755 index 000000000..1e6a10e0c --- /dev/null +++ b/scripts/build/binary_loadlin @@ -0,0 +1,83 @@ +#!/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 'copy loadlin into binary')" +HELP="" +USAGE="${PROGRAM} [--force]" + +Arguments "${@}" + +# Reading configuration files +Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source +Set_defaults + +if [ "${LB_LOADLIN}" != "true" ] +then + exit 0 +fi + +Echo_message "Begin copying loadlin..." + +# Requiring stage file +Require_stagefile .build/config .build/bootstrap + +# Checking stage file +Check_stagefile .build/binary_loadlin + +# Checking lock file +Check_lockfile .lock + +# Creating lock file +Create_lockfile .lock + +case "${LB_ARCHITECTURES}" in + amd64|i386) + if [ "${LB_BUILD_WITH_CHROOT}" = "true" ] + then + # Checking depends + Check_package chroot/usr/lib/loadlin/loadlin.exe.gz loadlin + + # Restoring cache + Restore_cache cache/packages.binary + + # Installing depends + Install_package + + # Copying loadlin + mkdir -p binary/tools + gunzip -c chroot/usr/lib/loadlin/loadlin.exe.gz > binary/tools/loadlin.exe + gunzip -c chroot/usr/share/doc/loadlin/manual.txt.gz > binary/tools/loadlin.txt + + # Saving cache + Save_cache cache/packages.binary + + # Removing depends + Remove_package + else + # Copying loadlin + mkdir -p binary/tools + gunzip -c /usr/lib/loadlin/loadlin.exe.gz > binary/tools/loadlin.exe + gunzip -c /usr/share/doc/loadlin/manual.txt.gz > binary/tools/loadlin.txt + fi + ;; + + *) + Echo_warning "loadlin inclusion is set to true but not compatible with your architecture, ignoring." + ;; +esac + +# Creating stage file +Create_stagefile .build/binary_loadlin diff --git a/scripts/build/config b/scripts/build/config index 27a6ba727..94a176803 100755 --- a/scripts/build/config +++ b/scripts/build/config @@ -132,6 +132,7 @@ USAGE="${PROGRAM} [--apt apt|aptitude]\n\ \t [--backports true|false]\n\ \t [--exposed-root true|false]\n\ \t [--verbose]\n\ +\t [--loadlin true|false]\n\ \t [--win32-loader true|false]\n\ \t [--bootstrap-qemu-exclude PACKAGES]\n\ \t [--bootstrap-qemu-static PATH]\n\ @@ -158,7 +159,7 @@ Local_arguments () iso-volume:,jffs2-eraseblock:,memtest:,net-root-filesystem:,net-root-mountoptions:, net-root-path:,net-root-server:,net-cow-filesystem:,net-cow-mountoptions:,net-cow-path:, net-cow-server:,net-tarball:,firmware-binary:,firmware-chroot:,swap-file-path:,swap-file-size:,syslinux-theme:, - win32-loader:,source:,source-images:,breakpoints,conffile:,debug,force, + loadlin:,win32-loader:,source:,source-images:,breakpoints,conffile:,debug,force, help,ignore-system-defaults,quiet,usage,verbose,version,bootstrap-qemu-static:,bootstrap-qemu-arch:, bootstrap-qemu-exclude:" # Remove spaces added by indentation @@ -761,6 +762,11 @@ Local_arguments () shift 2 ;; + --loadlin) + LB_LOADLIN="${2}" + shift 2 + ;; + --win32-loader) LB_WIN32_LOADER="${2}" shift 2 @@ -1384,6 +1390,10 @@ LB_JFFS2_ERASEBLOCK="" # (Default: ${LB_MEMTEST}) LB_MEMTEST="${LB_MEMTEST}" +# \$LB_LOADLIN: set loadlin +# (Default: ${LB_LOADLIN}) +LB_LOADLIN="${LB_LOADLIN}" + # \$LB_WIN32_LOADER: set win32-loader # (Default: ${LB_WIN32_LOADER}) LB_WIN32_LOADER="${LB_WIN32_LOADER}" |