ZYP_CMD="zypper --root $CHROOTDIR -n --gpg-auto-import-keys"

distro_check() {
    if ! rpm -q zypper >/dev/null 2>&1 ; then
        echo "ERROR: Could not query RPM for Zypper"
        return 1
    fi
    return 0
}

set_overlay() {
    if [ ! -d "$CHROOTDIR" -o ! -x "$CHROOTDIR/sbin/init" ]; then
        echo "ERROR: This is an overlay that must work on an existing chroot!"
        return 1
    fi
    suse=0
    if [ -f "$CHROOTDIR/etc/os-release" ]; then
        if [[ "$(grep "ID_LIKE" $CHROOTDIR/etc/os-release | \
            awk -F= '{print $2;}')" =~ .*suse.* ]]; then
            suse=1
        fi
    elif [  -f "$CHROOTDIR/etc/SuSE-release" ]; then
        suse=1
    fi
    if [ $no_suse -eq 1 ]; then
        echo "ERROR: This must be a SuSE compatible chroot!"
        return 1
    fi
    PKGR_CMD="$ZYP_CMD install --auto-agree-with-licenses $PKGLIST"
    return 0
}

prechroot() {
    if [ -n "$OS_MIRROR" ]; then
        ZYP_MIRROR="$OS_MIRROR"
    fi

    if [ -e "/etc/os-release" ]; then
        VERSION=`rpm -qf /etc/os-release  --qf '%{VERSION}\n'`
    else
        VERSION=`rpm -qf /etc/SuSE-release  --qf '%{VERSION}\n'`
    fi
    mkdir -p $CHROOTDIR
    mkdir -p -m 755 $CHROOTDIR/etc
    mkdir -p -m 755 $CHROOTDIR/etc/zypp
    mkdir -p -m 755 $CHROOTDIR/dev
    rm -f $CHROOTDIR/dev/zero && mknod -m 666 $CHROOTDIR/dev/zero c 1 5

    cp -rap /etc/zypp/zypper.conf $CHROOTDIR/etc
    # Use repos of installed system
    if [[ -z "$ZYP_MIRROR" && -z "$INSTALL_ISO" ]]; then
        cp -rap /etc/zypp/repos.d $CHROOTDIR/etc/zypp
        [ -d /etc/zypp/services.d ] && cp -rap /etc/zypp/services.d $CHROOTDIR/etc/zypp
        [ -d /etc/zypp/credentials.d ] && cp -rap /etc/zypp/credentials.d $CHROOTDIR/etc/zypp
    elif [ -n "$INSTALL_ISO" ]; then
        # Use ISO
        for i in `ls -d $MEDIA_MOUNTPATH.*`; do
            if [ -z "$INSTALLDIRS" ]; then
                if [ -d $i/repodata ]; then
                    # RHEL 6.x
                    INSTALLDIRS="file://$i"
                elif [ -d $i/Server/repodata ]; then
                    # RHEL 5.x
                    INSTALLDIRS="file://$i/Server"
                fi
            else
                INSTALLDIRS="$INSTALLDIRS,file://$i"
            fi
        done
        ZYP_MIRROR=$INSTALLDIRS
    fi

    if [ -n "${ZYP_MIRROR}" ]; then
        declare -i i=0 cnt
        cnt=$($ZYP_CMD lr | grep '|' | wc -l)
        while [ $i -lt $cnt ]; do
            $ZYP_CMD rr $i
            let i++
        done

        cnt=0
        for i in `echo $ZYP_MIRROR | sed -e 's/,/ /'`; do
            $ZYP_CMD ar $i repo-$((cnt++))
        done
    fi

    PKGR_CMD="$ZYP_CMD install --auto-agree-with-licenses $PKGLIST"

    return 0
}

postchroot() {
    for i in `echo $ZYP_MIRROR | sed -e 's/,/ /'`; do
        $ZYP_CMD rr $i
    done
    touch $CHROOTDIR/fastboot
    return 0
}


# vim:filetype=sh:syntax=sh:expandtab:ts=4:sw=4:
