#!/bin/sh

set -e

#CDROM=/dev/cdrom
CDROM="-o loop,ro /mnt/BIG/dis/devel/iso/2008.1/beta2/mandriva-linux-2008-spring-beta2-one-KDE-int-cdrom-i586.iso"

function umount_live() {
    grep /live/union /proc/mounts | awk '{ print $2 }' | sort -r | xargs -r umount
}
function kill_live() {
    fuser /live/union/ 2>/dev/null | xargs -r kill $*
}

umount_live || true
kill_live || true
kill_live -9
umount_live

mkdir -p /live/{media,distrib,memory,union}
grep -q /live/media /proc/mounts || \
  mount $CDROM /live/media
grep -q /live/distrib /proc/mounts || \
  mount -o loop -t squashfs /live/media/loopbacks/distrib.sqfs /live/distrib/
grep -q /live/memory /proc/mounts && \
  umount /live/memory
mount -t tmpfs none /live/memory/
mount -t unionfs -o dirs=/live/memory:/live/distrib=ro none /live/union/
chroot /live/union sh -c 'rm -f /var/lib/rpm/__db*; rpm -q basesystem'
chroot /live/union sh -c 'md5sum /var/lib/rpm/__db*'
echo Running ldconfig
type strace >/dev/null
strace -e file chroot /live/union sh -c 'ldconfig' 2>&1 | grep __db || :
chroot /live/union sh -c 'md5sum /var/lib/rpm/__db*'
chroot /live/union sh -c 'rpm -q basesystem'
