summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xfunctions/architecture.sh43
-rwxr-xr-xfunctions/defaults.sh21
-rwxr-xr-xhelpers/binary_disk2
-rwxr-xr-xhelpers/binary_grub4
-rwxr-xr-xhelpers/binary_grub24
-rwxr-xr-xhelpers/binary_iso31
-rwxr-xr-xhelpers/binary_silo4
-rwxr-xr-xhelpers/binary_syslinux6
-rwxr-xr-xhelpers/binary_yaboot4
-rwxr-xr-xhelpers/clean4
-rwxr-xr-xhelpers/source_disk12
-rwxr-xr-xhelpers/source_iso12
-rw-r--r--manpages/lh_config.en.16
13 files changed, 93 insertions, 60 deletions
diff --git a/functions/architecture.sh b/functions/architecture.sh
index cd8e073a8..9f18ad47e 100755
--- a/functions/architecture.sh
+++ b/functions/architecture.sh
@@ -59,28 +59,29 @@ Check_multiarchitecture ()
if [ "$(echo ${LH_ARCHITECTURE} | wc -w)" -gt "1" ]
then
# First, only support multiarch on iso
- if [ "${LH_BINARY_IMAGES}" = "iso" ]
- then
- # Assemble multi-arch
- case "${LH_CURRENT_ARCHITECTURE}" in
- amd64)
- DESTDIR="${DESTDIR}.amd"
- DESTDIR_LIVE="${DESTDIR_LIVE}.amd"
- DESTDIR_INSTALL="${DESTDIR_INSTALL}.amd"
- ;;
+ case "${LH_BINARY_IMAGES}" in
+ iso*)
+ # Assemble multi-arch
+ case "${LH_CURRENT_ARCHITECTURE}" in
+ amd64)
+ DESTDIR="${DESTDIR}.amd"
+ DESTDIR_LIVE="${DESTDIR_LIVE}.amd"
+ DESTDIR_INSTALL="${DESTDIR_INSTALL}.amd"
+ ;;
- i386)
- DESTDIR="${DESTDIR}.386"
- DESTDIR_LIVE="${DESTDIR_LIVE}.386"
- DESTDIR_INSTALL="${DESTDIR_INSTALL}.386"
- ;;
+ i386)
+ DESTDIR="${DESTDIR}.386"
+ DESTDIR_LIVE="${DESTDIR_LIVE}.386"
+ DESTDIR_INSTALL="${DESTDIR_INSTALL}.386"
+ ;;
- powerpc)
- DESTDIR="${DESTDIR}.ppc"
- DESTDIR_LIVE="${DESTDIR_LIVE}.ppc"
- DESTDIR_INSTALL="${DESTDIR_INSTALL}.ppc"
- ;;
- esac
- fi
+ powerpc)
+ DESTDIR="${DESTDIR}.ppc"
+ DESTDIR_LIVE="${DESTDIR_LIVE}.ppc"
+ DESTDIR_INSTALL="${DESTDIR_INSTALL}.ppc"
+ ;;
+ esac
+ ;;
+ esac
fi
}
diff --git a/functions/defaults.sh b/functions/defaults.sh
index a5712b75e..f46ec231d 100755
--- a/functions/defaults.sh
+++ b/functions/defaults.sh
@@ -669,8 +669,23 @@ Set_defaults ()
esac
# Setting image type
- LH_BINARY_IMAGES="${LH_BINARY_IMAGES:-iso}"
- LH_BINARY_ISO_HYRBID="${LH_BINARY_ISO_HYBRID:-false}"
+ case "${LH_DISTRIBUTION}" in
+ squeeze|sid)
+ case "${LH_ARCHITECTURE}" in
+ amd64|i386)
+ LH_BINARY_IMAGES="${LH_BINARY_IMAGES:-iso-hybrid}"
+ ;;
+
+ *)
+ LH_BINARY_IMAGES="${LH_BINARY_IMAGES:-iso}"
+ ;;
+ esac
+ ;;
+
+ *)
+ LH_BINARY_IMAGES="${LH_BINARY_IMAGES:-iso}"
+ ;;
+ esac
# Setting apt indices
if echo ${LH_PACKAGES_LISTS} | grep -qs -E "(stripped|minimal)\b"
@@ -753,7 +768,7 @@ Set_defaults ()
if [ -n "${LH_DEBIAN_INSTALLER_PRESEEDFILE}" ]
then
case "${LH_BINARY_IMAGES}" in
- iso)
+ iso*)
_LH_BOOTAPPEND_PRESEED="file=/cdrom/install/${LH_DEBIAN_INSTALLER_PRESEEDFILE}"
;;
diff --git a/helpers/binary_disk b/helpers/binary_disk
index 811673471..b6edf4a56 100755
--- a/helpers/binary_disk
+++ b/helpers/binary_disk
@@ -24,7 +24,7 @@ Read_conffiles config/all config/common config/bootstrap config/chroot config/bi
Set_defaults
case "${LH_BINARY_IMAGES}" in
- iso|usb*)
+ iso*)
;;
*)
exit 0
diff --git a/helpers/binary_grub b/helpers/binary_grub
index b3f9ba1f2..373d64e23 100755
--- a/helpers/binary_grub
+++ b/helpers/binary_grub
@@ -128,7 +128,7 @@ esac
# Setting destination directory
case "${LH_BINARY_IMAGES}" in
- iso|tar)
+ iso*|tar)
case "${LH_INITRAMFS}" in
casper)
DESTDIR_LIVE="binary/casper"
@@ -276,7 +276,7 @@ mkdir -p binary/boot/grub
cp -r "${TEMPLATES}"/* binary/boot/grub
case ${LH_BINARY_IMAGES} in
- iso)
+ iso*)
FILES="chroot/usr/lib/grub/*/stage2_eltorito"
;;
diff --git a/helpers/binary_grub2 b/helpers/binary_grub2
index 0cf06183f..7a7b26e80 100755
--- a/helpers/binary_grub2
+++ b/helpers/binary_grub2
@@ -102,7 +102,7 @@ esac
# Setting destination directory
case "${LH_BINARY_IMAGES}" in
- iso|tar)
+ iso*|tar)
case "${LH_INITRAMFS}" in
casper)
DESTDIR_LIVE="binary/casper"
@@ -249,7 +249,7 @@ mkdir -p binary/boot/grub
cp -r "${TEMPLATES}"/* binary/boot/grub
case ${LH_BINARY_IMAGES} in
- iso)
+ iso*)
FILES="chroot/usr/lib/grub/i386-pc/*.mod chroot/usr/lib/grub/i386-pc/*.lst chroot/usr/lib/grub/i386-pc/efiemu??.o chroot/usr/share/grub/*.pf2"
;;
diff --git a/helpers/binary_iso b/helpers/binary_iso
index 4012a7021..811310d20 100755
--- a/helpers/binary_iso
+++ b/helpers/binary_iso
@@ -23,10 +23,19 @@ Arguments "${@}"
Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
Set_defaults
-if ! In_list iso "${LH_BINARY_IMAGES}"
-then
- exit 0
-fi
+case "${LH_BINARY_IMAGES}" in
+ iso)
+ IMAGE="binary.iso"
+ ;;
+
+ iso-hybrid)
+ IMAGE="binary-hybrid.iso"
+ ;;
+
+ *)
+ exit 0
+ ;;
+esac
Echo_message "Begin building binary iso image..."
@@ -45,7 +54,7 @@ Create_lockfile .lock
# Checking depends
Check_package chroot/usr/bin/genisoimage genisoimage
-if [ "${LH_BINARY_ISO_HYBRID}" = "true" ]
+if [ "${LH_BINARY_IMAGES}" = "iso-hybrid" ]
then
Check_package chroot/usr/bin/isohybrid syslinux-common
fi
@@ -57,9 +66,9 @@ Restore_cache cache/packages_binary
Install_package
# Remove old iso image
-if [ -f binary.iso ]
+if [ -f ${IMAGE} ]
then
- rm -f binary.iso
+ rm -f ${IMAGE}
fi
# Handle genisoimage generic options
@@ -177,15 +186,15 @@ fi
cat >> binary.sh << EOF
-genisoimage ${GENISOIMAGE_OPTIONS} -o binary.iso binary
+genisoimage ${GENISOIMAGE_OPTIONS} -o ${IMAGE} binary
EOF
-if [ "${LH_BINARY_ISO_HYRBID}" = "true" ]
+if [ "${LH_BINARY_IMAGES}" = "iso-hybrid" ]
then
cat >> binary.sh << EOF
-isohybrid binary.iso
+isohybrid ${IMAGE}
EOF
fi
@@ -199,7 +208,7 @@ case "${LH_CHROOT_BUILD}" in
Chroot chroot "sh binary.sh"
# Move image
- mv chroot/binary chroot/binary.iso ./
+ mv chroot/binary chroot/${IMAGE} ./
rm -f chroot/binary.sh
;;
diff --git a/helpers/binary_silo b/helpers/binary_silo
index df7ee1001..356c47e8c 100755
--- a/helpers/binary_silo
+++ b/helpers/binary_silo
@@ -30,7 +30,7 @@ fi
# Check image type
case "${LH_BINARY_IMAGES}" in
- iso|usb*|tar)
+ iso*|usb*|tar)
;;
net)
@@ -225,7 +225,7 @@ fi
LINUX_INSTALL="$(/bin/echo ${LINUX_INSTALL} | sed -e 's|binary||g' -e 's|//|/|g')"
case "${LH_BINARY_IMAGES}" in
- iso|usb*)
+ iso*|usb*)
# Copying silo
mkdir -p binary/boot
diff --git a/helpers/binary_syslinux b/helpers/binary_syslinux
index 9d4cab12b..4fa280544 100755
--- a/helpers/binary_syslinux
+++ b/helpers/binary_syslinux
@@ -90,7 +90,7 @@ Syslinux_live_entry ()
APPEND="${5}"
case "${LH_BINARY_IMAGES}" in
- iso|usb*)
+ iso*|usb*)
NUMBER="$(ls -1 ${KERNEL_PATH} | grep 'vmlinuz[0-9]\+$' | wc -l)"
NUMBER="$((${NUMBER} +1))"
@@ -363,7 +363,7 @@ esac
# Setting boot method specific variables
case "${LH_BINARY_IMAGES}" in
- iso)
+ iso*)
SYSLINUX_PATH="binary/isolinux"
KERNEL_PATH="binary/${INITFS}"
SCREEN_PATH="${SYSLINUX_PATH}"
@@ -581,7 +581,7 @@ Configure_syslinux_templates
# Configure syslinux setup per boot method
case "${LH_BINARY_IMAGES}" in
- iso)
+ iso*)
case "${LH_CHROOT_BUILD}" in
true)
cp chroot/usr/lib/syslinux/isolinux.bin ${SCREEN_PATH}
diff --git a/helpers/binary_yaboot b/helpers/binary_yaboot
index ef44e6e68..b896eac73 100755
--- a/helpers/binary_yaboot
+++ b/helpers/binary_yaboot
@@ -135,7 +135,7 @@ esac
# Setting destination directory
case "${LH_BINARY_IMAGES}" in
- iso)
+ iso*)
case "${LH_INITRAMFS}" in
casper)
DESTDIR_LIVE="binary/casper"
@@ -272,7 +272,7 @@ fi
LINUX_INSTALL="$(/bin/echo ${LINUX_INSTALL} | sed -e 's|binary||g' -e 's|//|/|g')"
case "${LH_BINARY_IMAGES}" in
- iso|usb*)
+ iso*|usb*)
# Copying yaboot
mkdir -p binary/yaboot
diff --git a/helpers/clean b/helpers/clean
index 8f7420930..0596e3974 100755
--- a/helpers/clean
+++ b/helpers/clean
@@ -90,7 +90,7 @@ do
--binary)
${LH_ROOT_COMMAND} umount -f binary.tmp > /dev/null 2>&1 || true
rm -rf binary.tmp binary.deb binary.udeb
- rm -f binary.iso
+ rm -f binary*.iso
rm -f binary*.img
rm -f binary*.tar.gz
rm -f binary.sh
@@ -122,7 +122,7 @@ do
;;
--source)
- rm -f source.iso
+ rm -f source*.iso
rm -f source*.img
rm -f source*.tar
rm -f source*.tar.gz
diff --git a/helpers/source_disk b/helpers/source_disk
index a765bb47a..50db471cb 100755
--- a/helpers/source_disk
+++ b/helpers/source_disk
@@ -23,10 +23,14 @@ Arguments "${@}"
Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
Set_defaults
-if [ "${LH_SOURCE_IMAGES}" != "iso" ]
-then
- exit 0
-fi
+case "${LH_SOURCE_IMAGES}" in
+ iso*)
+ ;;
+
+ *)
+ exit 0
+ ;;
+esac
Echo_message "Begin installing disk information..."
diff --git a/helpers/source_iso b/helpers/source_iso
index 0ef1bcbec..0752ebeb3 100755
--- a/helpers/source_iso
+++ b/helpers/source_iso
@@ -28,10 +28,14 @@ then
exit 0
fi
-if ! In_list iso "${LH_SOURCE_IMAGES}"
-then
- exit 0
-fi
+case "${LH_SOURCE_IMAGES}" in
+ iso*)
+ ;;
+
+ *)
+ exit 0
+ ;;
+esac
Echo_message "Begin building source iso image..."
diff --git a/manpages/lh_config.en.1 b/manpages/lh_config.en.1
index d4b114f5b..3a3e4cfa3 100644
--- a/manpages/lh_config.en.1
+++ b/manpages/lh_config.en.1
@@ -26,7 +26,7 @@ lh_config \- create configuration for live\-helper
.br
[\-a|\fB\-\-architecture\fR \fIARCHITECTURE\fR]
.br
- [\-b|\fB\-\-binary\-images\fR iso|net|tar|usb\-hdd]
+ [\-b|\fB\-\-binary\-images\fR iso|iso-hybrid|net|tar|usb\-hdd]
.br
[\fB\-\-binary\-filesystem\fR fat16|fat32|ext2]
.br
@@ -226,8 +226,8 @@ defines if apt should install recommended packages automatically. By default, th
defines if apt should check repository signatures. This is true by default.
.IP "\-a|\fB\-\-architecture\fR \fIARCHITECTURE\fR" 4
defines the architecture of the to be build image. By default, this is set to the host architecture. Note that you cannot crossbuild for another architecture if your host system is not able to execute binaries for the target architecture natively. For example, building amd64 images on i386 and vice versa is possile if you have a 64bit capable i386 processor and the right kernel. But building powerpc images on an i386 system is not possible.
-.IP "\-b|\fB\-\-binary\-images\fR iso|net|tar|usb\-hdd" 4
-defines the image type to build. By default this is set to iso to build CD/DVD images.
+.IP "\-b|\fB\-\-binary\-images\fR iso|iso-hybrid|net|tar|usb\-hdd" 4
+defines the image type to build. By default this is set to iso to build CD/DVD images, for squeeze and newer it defaults to iso-hybrid.
.IP "\fB\-\-binary\-filesystem\fR fat16|fat32|ext2" 4
defines the filesystem to be used in the image type. This only has an effect if the selected binary image type does allow to choose a filesystem. For example, when selection iso the resulting CD/DVD has always the filesystem ISO9660. When building usb-hdd images for usb sticks, this is active. Note that it defaults to fat16 on all architectures except sparc where it defaults to ext2. Also note that if you choose fat16 and your resulting binary image gets bigger than 2GB, the binary filesystem automatically gets switched to fat32.
.IP "\fB\-\-binary\-indices\fR true|false|none" 4