Moving lh_losetup into an internal function, avoiding helper failure with return value due to new trap.

This commit is contained in:
Daniel Baumann 2007-11-14 09:55:50 +01:00
parent 769618067d
commit 94c3ca731a
5 changed files with 41 additions and 64 deletions

37
functions/losetup.sh Executable file
View File

@ -0,0 +1,37 @@
#!/bin/sh
# losetup - wrapper around losetup
# 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
Losetup ()
{
DEVICE="${1}"
FILE="${2}"
PARTITION="${3:=1}"
${LH_ROOT_COMMAND} ${LH_LOSETUP} "${DEVICE}" "${FILE}"
FDISK_OUT="$(LH_FDISK -l -u ${DEVICE} 2>&1)"
${LH_ROOT_COMMAND} ${LH_LOSETUP} -d "${DEVICE}"
LOOPDEVICE="$(echo ${DEVICE}p${PARTITION})"
if [ "${PARTITION}" = "0" ]
then
Echo_message "Mounting ${DEVICE} with offset 0"
${LH_ROOT_COMMAND} ${LH_LOSETUP} "${DEVICE}" "${FILE}"
else
CYLINDERS="$(echo "$FDISK_OUT" | sed -ne "s_^$LOOPDEVICE[ *]*\([0-9]*\).*_\1_p")"
OFFSET="$(expr ${CYLINDERS} '*' 512)"
Echo_message "Mounting ${DEVICE} with offset ${OFFSET}"
${LH_ROOT_COMMAND} ${LH_LOSETUP} -o "${OFFSET}" "${DEVICE}" "${FILE}"
fi
}

View File

@ -94,7 +94,7 @@ then
fi
echo "!!! The following error/warning messages can be ignored !!!"
lh_losetup $FREELO chroot/binary.img 0
Losetup $FREELO chroot/binary.img 0
case "${LH_CHROOT_BUILD}" in
enabled)
@ -125,7 +125,7 @@ esac
${LH_LOSETUP} -d ${FREELO}
FREELO="$(${LH_LOSETUP} -f)"
lh_losetup $FREELO chroot/binary.img 1
Losetup $FREELO chroot/binary.img 1
case "${LH_CHROOT_BUILD}" in
enabled)

View File

@ -1,58 +0,0 @@
#!/bin/sh
# lh_losetup - wrapper around losetup
# 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="wrapper around losetup"
HELP=""
USAGE="${PROGRAM} DEVICE FILE [PARTITION]"
Arguments "${@}"
# Reading configuration files
Read_conffile config/common
Read_conffile config/bootstrap
Read_conffile config/chroot
Read_conffile config/binary
Read_conffile config/source
Read_conffile "${LH_CONFIG}"
Set_defaults
DEVICE="${1}"
FILE="${2}"
PARTITION="${3:=1}"
${LH_ROOT_COMMAND} ${LH_LOSETUP} "${DEVICE}" "${FILE}"
FDISK_OUT="$(LH_FDISK -l -u ${DEVICE} 2>&1)"
${LH_ROOT_COMMAND} ${LH_LOSETUP} -d "${DEVICE}"
LOOPDEVICE="$(echo ${DEVICE}p${PARTITION})"
if [ "${PARTITION}" = "0" ]
then
Echo_message "Mounting ${DEVICE} with offset 0"
${LH_ROOT_COMMAND} ${LH_LOSETUP} "${DEVICE}" "${FILE}"
else
CYLINDERS="$(echo "$FDISK_OUT" | sed -ne "s_^$LOOPDEVICE[ *]*\([0-9]*\).*_\1_p")"
OFFSET="$(expr ${CYLINDERS} '*' 512)"
Echo_message "Mounting ${DEVICE} with offset ${OFFSET}"
${LH_ROOT_COMMAND} ${LH_LOSETUP} -o "${OFFSET}" "${DEVICE}" "${FILE}"
fi

View File

@ -84,13 +84,13 @@ then
fi
echo "!!! The following error/warning messages can be ignored !!!"
lh_losetup $FREELO source.img 0
Losetup $FREELO source.img 0
Chroot "parted -s ${FREELO} mklabel msdos" || true
Chroot "parted -s ${FREELO} mkpartfs primary fat16 0.0 100%" || true
Chroot "parted -s ${FREELO} set 1 lba off" || true
${LH_LOSETUP} -d ${FREELO}
lh_losetup $FREELO source.img 1
Losetup $FREELO source.img 1
Chroot " mkfs.vfat -F 16 -n DEBIAN_LIVE ${FREELO}"
mkdir -p source.tmp
${LH_ROOT_COMMAND} mount ${FREELO} source.tmp

View File

@ -81,8 +81,6 @@ meta\-helper for lh_chroot_*
clean up build directories
.IP "\fIlh_config\fR(1)" 4
create configuration directory
.IP "\fIlh_losetup\fR(1)" 4
wrapper for losetup
.IP "\fIlh_source\fR(1)" 4
meta\-helper for lh_source_*
.IP "\fIlh_source_debian\fR(1)" 4