fix exiting on fail

This commit is contained in:
udeved 2014-12-12 08:13:13 +01:00
parent c30f62d99a
commit 7ce4107bf4
4 changed files with 53 additions and 70 deletions

View file

@ -80,6 +80,15 @@ make_overlay() {
msg2 "Copying overlay-livecd to ${work_dir}/overlay ..."
cp -a overlay-livecd/* ${work_dir}/overlay
if [[ -d overlay-livecd-openrc ]]; then
msg2 "Copying overlay-livecd-openrc/ to ${work_dir}/overlay ..."
cp -a overlay-livecd-openrc/* ${work_dir}/overlay
fi
if [[ -d overlay-livecd-systemd ]]; then
msg2 "Copying overlay-livecd-systemd/ to ${work_dir}/overlay ..."
cp -a overlay-livecd-systemd/* ${work_dir}/overlay
fi
copy_livecd '@pkgdatadir@'
#wget -O ${work_dir}/overlay/etc/pacman.d/mirrorlist http://git.manjaro.org/packages-sources/basis/blobs/raw/master/pacman-mirrorlist/mirrorlist

View file

@ -74,7 +74,11 @@ copy_hostconf () {
[[ -n $mirrors_conf ]] && cp ${mirrors_conf} "${working_dir}/etc/pacman-mirrors.conf"
local branch=$(cat "${working_dir}/etc/pacman-mirrors.conf" | grep '^Branch=' | sed 's/Branch=\s*//g')
host_mirror=$(echo "$host_mirror" | sed -E "s#/branch/#/${branch}/#")
cp "$working_dir/etc/pacman.d/mirrorlist" "$working_dir/etc/pacman.d/mirrorlist.orig"
echo "Server = $host_mirror" >"$working_dir/etc/pacman.d/mirrorlist"
sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n ${cache_dirs[@]})|g" -i "$working_dir/etc/pacman.conf"

View file

@ -120,11 +120,6 @@ msg2 "image name: ${imgname}"
msg2 "pacman_mirrors: ${MIRRORS}"
clean_up(){
# Cleanup
find "${work_dir}" -name *.pacnew -name *.pacsave -name *.pacorig -delete
msg2 "Cleaning up what we can"
if [ -d "${work_dir}/${IMAGE_FOLDER}/boot/" ]; then
# remove the initcpio images that were generated for the host system
@ -152,6 +147,35 @@ clean_up(){
find "${work_dir}/${IMAGE_FOLDER}/tmp" -mindepth 1 -delete >/dev/null
}
_mkchroot(){
local ret
#mkdir -p "${work_dir}/${IMAGE_FOLDER}/var/lib/pacman"
if "${QUIET}"; then
setarch "${ARCH}" \
mkchroot -C ${PACCONFIG} \
-S ${MIRRORS} \
"${work_dir}/${IMAGE_FOLDER}" $@ &> /dev/null
ret=$?
else
setarch "${ARCH}" \
mkchroot -C ${PACCONFIG} \
-S ${MIRRORS} \
"${work_dir}/${IMAGE_FOLDER}" $@
ret=$?
fi
if [ -e "${work_dir}/root-image/etc/locale.gen" ]; then
cp ${work_dir}/root-image/etc/locale.gen ${work_dir}/root-image/etc/locale.gen.bak
fi
# Cleanup
find "${work_dir}" -name *.pacnew -name *.pacsave -name *.pacorig -delete
if [ $ret -ne 0 ]; then
exit 1
fi
}
command_create () {
#msg "Creating working directory: ${work_dir}"
mkdir -p "${work_dir}/iso/${INSTALL_DIR}/${ARCH}"
@ -159,28 +183,10 @@ command_create () {
if [ ! -z "${PKGLIST}" ]; then
#msg2 "Installing packages to '${work_dir}/${IMAGE_FOLDER}/'"
local ret
#mkdir -p "${work_dir}/${IMAGE_FOLDER}/var/lib/pacman"
if "${QUIET}"; then
setarch "${ARCH}" \
mkchroot -C ${PACCONFIG} \
-S ${MIRRORS} \
"${work_dir}/${IMAGE_FOLDER}" ${PKGLIST} &> /dev/null || die "Error! Exiting."
ret=$?
else
setarch "${ARCH}" \
mkchroot -C ${PACCONFIG} \
-S ${MIRRORS} \
"${work_dir}/${IMAGE_FOLDER}" ${PKGLIST} || die "Error! Exiting."
ret=$?
fi
clean_up
if [ -e "${work_dir}/root-image/etc/locale.gen" ]; then
cp ${work_dir}/root-image/etc/locale.gen ${work_dir}/root-image/etc/locale.gen.bak
fi
_mkchroot "${PKGLIST}"
fi
clean_up
}
# _mksquash dirname

View file

@ -147,7 +147,7 @@ configue_displaymanager(){
msg2 "Configuring Displaymanager ..."
# do_setuplightdm
if [ -e "$1/usr/bin/lightdm" ] ; then
mkdir -p /run/lightdm > /dev/null
#mkdir -p /run/lightdm > /dev/null
#getent group lightdm > /dev/null 2>&1 || groupadd -g 620 lightdm
#getent passwd lightdm > /dev/null 2>&1 || useradd -c 'LightDM Display Manager' -u 620 -g lightdm -d /var/run/lightdm -s /usr/bin/nologin lightdm
#passwd -l lightdm > /dev/null
@ -351,35 +351,32 @@ configue_displaymanager(){
# $1: chroot
configue_accountsservice(){
#echo "Icon=/var/lib/AccountsService/icons/${username}.png" >> $1/var/lib/AccountsService/users/${username}
msg2 "Configuring AcooutsService ..."
if [ -d "$1/var/lib/AccountsService/users" ] ; then
echo "[User]" > $1/var/lib/AccountsService/users/${username}
if [ -e "/usr/bin/startxfce4" ] ; then
if [ -e "$1/usr/bin/startxfce4" ] ; then
echo "XSession=xfce" >> $1/var/lib/AccountsService/users/${username}
fi
if [ -e "/usr/bin/cinnamon-session" ] ; then
if [ -e "$1/usr/bin/cinnamon-session" ] ; then
echo "XSession=cinnamon" >> $1/var/lib/AccountsService/users/${username}
fi
if [ -e "/usr/bin/mate-session" ] ; then
if [ -e "$1/usr/bin/mate-session" ] ; then
echo "XSession=mate" >> $1/var/lib/AccountsService/users/${username}
fi
if [ -e "/usr/bin/enlightenment_start" ] ; then
if [ -e "$1/usr/bin/enlightenment_start" ] ; then
echo "XSession=enlightenment" >> $1/var/lib/AccountsService/users/${username}
fi
if [ -e "/usr/bin/openbox-session" ] ; then
if [ -e "$1/usr/bin/openbox-session" ] ; then
echo "XSession=openbox" >> $1/var/lib/AccountsService/users/${username}
fi
if [ -e "/usr/bin/startlxde" ] ; then
if [ -e "$1/usr/bin/startlxde" ] ; then
echo "XSession=LXDE" >> $1/var/lib/AccountsService/users/${username}
fi
if [ -e "/usr/bin/lxqt-session" ] ; then
if [ -e "$1/usr/bin/lxqt-session" ] ; then
echo "XSession=LXQt" >> $1/var/lib/AccountsService/users/${username}
fi
echo "Icon=/var/lib/AccountsService/icons/${username}.png" >> $1/var/lib/AccountsService/users/${username}
fi
}
configure_xorg_drivers(){
@ -559,39 +556,6 @@ clean_up(){
fi
}
#$1: packages
make_root(){
#msg "Creating working directory: ${work_dir}"
mkdir -p "${work_dir}/iso/${INSTALL_DIR}/${arch}"
#mkdir -p "${work_dir}/${IMAGE_FOLDER}/"
if [ ! -z "${PKGLIST}" ]; then
#msg2 "Installing packages to '${work_dir}/${IMAGE_FOLDER}/'"
local ret
#mkdir -p "${work_dir}/${IMAGE_FOLDER}/var/lib/pacman"
if "${QUIET}"; then
setarch "${ARCH}" \
mkchroot -C ${PACCONFIG} \
-S ${MIRRORS} \
"${work_dir}/${IMAGE_FOLDER}" ${PKGLIST} &> /dev/null || die "Error! Exiting."
ret=$?
else
setarch "${ARCH}" \
mkchroot -C ${PACCONFIG} \
-S ${MIRRORS} \
"${work_dir}/${IMAGE_FOLDER}" ${PKGLIST} || die "Error! Exiting."
ret=$?
fi
clean_up
if [ -e "${work_dir}/root-image/etc/locale.gen" ]; then
cp ${work_dir}/root-image/etc/locale.gen ${work_dir}/root-image/etc/locale.gen.bak
fi
fi
}
# $1: work dir
# $2: cahe dir
# $3: pkglist