Simplifying exit check in chroot_linux-image.

This commit is contained in:
Daniel Baumann 2012-12-30 13:07:15 +01:00
parent 1c5b4985dc
commit ae2bee55ed
1 changed files with 55 additions and 53 deletions

View File

@ -24,6 +24,11 @@ Arguments "${@}"
Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
Set_defaults Set_defaults
if [ "${LB_LINUX_PACKAGES}" = "none" ]
then
exit 0
fi
# Requiring stage file # Requiring stage file
Require_stagefile .build/config .build/bootstrap Require_stagefile .build/config .build/bootstrap
@ -43,78 +48,75 @@ Create_lockfile .lock
# ;; # ;;
#esac #esac
if [ "${LB_LINUX_PACKAGES}" != "none" ] for FLAVOUR in ${LB_LINUX_FLAVOURS}
then do
for FLAVOUR in ${LB_LINUX_FLAVOURS} for PACKAGE in ${LB_LINUX_PACKAGES}
do do
for PACKAGE in ${LB_LINUX_PACKAGES} echo ${PACKAGE}-${FLAVOUR} >> chroot/root/packages.chroot
do done
echo ${PACKAGE}-${FLAVOUR} >> chroot/root/packages.chroot done
done
# Include firmware packages
if [ "${LB_FIRMWARE_CHROOT}" = "true" ]
then
# Assumption: firmware packages install files into /lib/firmware
# Get all firmware packages names
mkdir -p cache/contents.chroot
FIRMWARE_PACKAGES=""
_CONTENTS="$(for _PARENT_ARCHIVE_AREA in ${LIVE_IMAGE_PARENT_ARCHIVE_AREAS}; do echo ${LB_PARENT_MIRROR_CHROOT}/dists/${LB_PARENT_DISTRIBUTION}/${_PARENT_ARCHIVE_AREA}/Contents-${LIVE_IMAGE_ARCHITECTURE}.gz; done)"
rm -f cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LIVE_IMAGE_ARCHITECTURE}
for _CONTENT in ${_CONTENTS}
do
wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LIVE_IMAGE_ARCHITECTURE}
FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LIVE_IMAGE_ARCHITECTURE} | sort -u)"
done done
# Include firmware packages if echo ${LIVE_IMAGE_PARENT_ARCHIVE_AREAS} | grep -qs "non-free"
if [ "${LB_FIRMWARE_CHROOT}" = "true" ]
then then
# Assumption: firmware packages install files into /lib/firmware # FIXME: should check that we're building on debian through e.g. a 'derivative-is-based-on' variable or somesuch.
# Manually add firmware-linux/non-free meta package
FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} firmware-linux"
fi
# Get all firmware packages names if [ "${LB_DERIVATIVE}" = "true" ]
mkdir -p cache/contents.chroot then
# FIXME: account for the fact that PARENT_DISTRIBUTION and DISTRIBUTION might be the same (to not have overlapping cache files for contents).
FIRMWARE_PACKAGES="" _CONTENTS="$(for _ARCHIVE_AREA in ${LIVE_IMAGE_ARCHIVE_AREAS}; do echo ${LB_MIRROR_CHROOT}/dists/${LB_DISTRIBUTION}/${_ARCHIVE_AREA}/Contents-${LIVE_IMAGE_ARCHITECTURE}.gz; done)"
_CONTENTS="$(for _PARENT_ARCHIVE_AREA in ${LIVE_IMAGE_PARENT_ARCHIVE_AREAS}; do echo ${LB_PARENT_MIRROR_CHROOT}/dists/${LB_PARENT_DISTRIBUTION}/${_PARENT_ARCHIVE_AREA}/Contents-${LIVE_IMAGE_ARCHITECTURE}.gz; done)" rm -f cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LIVE_IMAGE_ARCHITECTURE}
rm -f cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LIVE_IMAGE_ARCHITECTURE}
for _CONTENT in ${_CONTENTS} for _CONTENT in ${_CONTENTS}
do do
wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LIVE_IMAGE_ARCHITECTURE} wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LIVE_IMAGE_ARCHITECTURE}
FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_PARENT_DISTRIBUTION}.${LIVE_IMAGE_ARCHITECTURE} | sort -u)" FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LIVE_IMAGE_ARCHITECTURE} | sort -u)"
done done
fi
if echo ${LIVE_IMAGE_PARENT_ARCHIVE_AREAS} | grep -qs "non-free" # Drop section and keep package names only
then for _PACKAGE in ${FIRMWARE_PACKAGES}
# FIXME: should check that we're building on debian through e.g. a 'derivative-is-based-on' variable or somesuch. do
# Manually add firmware-linux/non-free meta package echo $(echo ${_PACKAGE} | awk -F/ '{ print $NF }') >> chroot/root/packages.chroot
FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} firmware-linux" done
fi
if [ "${LB_DERIVATIVE}" = "true" ] # Some known licenses required to be accepted
then if echo ${LIVE_IMAGE_PARENT_ARCHIVE_AREAS} | grep -qs "non-free"
# FIXME: account for the fact that PARENT_DISTRIBUTION and DISTRIBUTION might be the same (to not have overlapping cache files for contents). then
_CONTENTS="$(for _ARCHIVE_AREA in ${LIVE_IMAGE_ARCHIVE_AREAS}; do echo ${LB_MIRROR_CHROOT}/dists/${LB_DISTRIBUTION}/${_ARCHIVE_AREA}/Contents-${LIVE_IMAGE_ARCHITECTURE}.gz; done)"
rm -f cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LIVE_IMAGE_ARCHITECTURE}
for _CONTENT in ${_CONTENTS}
do
wget ${WGET_OPTIONS} ${_CONTENT} -O - | gunzip -c >> cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LIVE_IMAGE_ARCHITECTURE}
FIRMWARE_PACKAGES="${FIRMWARE_PACKAGES} $(awk '/^lib\/firmware/ { print $2 }' cache/contents.chroot/contents.${LB_DISTRIBUTION}.${LIVE_IMAGE_ARCHITECTURE} | sort -u)"
done
fi
# Drop section and keep package names only
for _PACKAGE in ${FIRMWARE_PACKAGES}
do
echo $(echo ${_PACKAGE} | awk -F/ '{ print $NF }') >> chroot/root/packages.chroot
done
# Some known licenses required to be accepted
if echo ${LIVE_IMAGE_PARENT_ARCHIVE_AREAS} | grep -qs "non-free"
then
cat >> chroot/root/packages.chroot.cfg << EOF cat >> chroot/root/packages.chroot.cfg << EOF
firmware-ivtv firmware-ivtv/license/accepted boolean true firmware-ivtv firmware-ivtv/license/accepted boolean true
firmware-ipw2x00 firmware-ipw2x00/license/accepted boolean true firmware-ipw2x00 firmware-ipw2x00/license/accepted boolean true
EOF EOF
fi
fi fi
# Creating stage file
Create_stagefile .build/chroot_linux-image
fi fi
# Creating stage file
Create_stagefile .build/chroot_linux-image