File include-openEuler of Package warewulf-vnfs-gnu12-openmpi4

REPO_NAME="os-base"
YUM_CONF="/root/yum-ww.conf"
YUM_CMD="yum -c $CHROOTDIR/$YUM_CONF --installroot $CHROOTDIR -y"

distro_check() {
    if ! rpm -q yum >/dev/null 2>&1 ; then
        echo "ERROR: Could not query RPM for YUM"
        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
    if [ ! -f "$CHROOTDIR/etc/openEuler-release" ]; then
        echo "ERROR: This must be a openEuler compatible chroot!"
        return 1
    fi
    PKGR_CMD="$YUM_CMD install $PKGLIST"
    return 0
}

prechroot() {
    if [ -n "$OS_MIRROR" ]; then
        YUM_MIRROR="$OS_MIRROR"
    fi
    if [[ -z "$YUM_MIRROR" && -z "$INSTALL_ISO" ]]; then
        echo "ERROR: You must define the \$YUM_MIRROR variable in the template"
        cleanup
        return 1
    fi

    VERSION=`rpm -qf /etc/openEuler-release  --qf '%{VERSION}\n'`

    mkdir -p $CHROOTDIR
    mkdir -p $CHROOTDIR/etc

    cp -rap /etc/yum.conf /etc/yum.repos.d $CHROOTDIR/etc
    sed -i -e "s/\$releasever/$VERSION/g" `find $CHROOTDIR/etc/yum* -type f`

    YUM_CONF_DIRNAME=`dirname $YUM_CONF`
    mkdir -m 0755 -p $CHROOTDIR/$YUM_CONF_DIRNAME

    > $CHROOTDIR/$YUM_CONF
    echo "[main]" >> $CHROOTDIR/$YUM_CONF
    echo 'cachedir=/var/cache/yum/$basearch/$releasever' >> $CHROOTDIR/$YUM_CONF
    echo "keepcache=0" >> $CHROOTDIR/$YUM_CONF
    echo "debuglevel=2" >> $CHROOTDIR/$YUM_CONF
    echo "logfile=/var/log/yum.log" >> $CHROOTDIR/$YUM_CONF
    echo "exactarch=1" >> $CHROOTDIR/$YUM_CONF
    echo "obsoletes=1" >> $CHROOTDIR/$YUM_CONF
    echo "gpgcheck=0" >> $CHROOTDIR/$YUM_CONF
    echo "plugins=1" >> $CHROOTDIR/$YUM_CONF
    echo "reposdir=0" >> $CHROOTDIR/$YUM_CONF
    echo "" >> $CHROOTDIR/$YUM_CONF

    if [ -z "$INSTALL_ISO" ]; then
        echo "[$REPO_NAME]" >> $CHROOTDIR/$YUM_CONF
        echo 'name=Linux $releasever - $basearch' >> $CHROOTDIR/$YUM_CONF
        echo "baseurl=$YUM_MIRROR" >> $CHROOTDIR/$YUM_CONF
        echo "enabled=1" >> $CHROOTDIR/$YUM_CONF
        echo "gpgcheck=0" >> $CHROOTDIR/$YUM_CONF
    else
        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
        echo "[$REPO_NAME]" >> $CHROOTDIR/$YUM_CONF
        echo 'name=Linux $releasever - $basearch' >> $CHROOTDIR/$YUM_CONF
        echo "baseurl=$INSTALLDIRS" >> $CHROOTDIR/$YUM_CONF
        echo "enabled=1" >> $CHROOTDIR/$YUM_CONF
        echo "gpgcheck=0" >> $CHROOTDIR/$YUM_CONF

        YUM_MIRROR=$INSTALLDIRS
    fi
    PKGR_CMD="$YUM_CMD install $PKGLIST"
    return 0
}

postchroot() {
    touch $CHROOTDIR/fastboot

    NETFILE=$CHROOTDIR/etc/sysconfig/network-scripts/network-functions
    if [ -f $NETFILE ]; then
        if grep -q 'rename_device' $NETFILE && ! grep -q 'rename_device() { return 0; }' $NETFILE; then
            echo "" >> $NETFILE
            echo "# This is a kludge added by Warewulf so devices don't get renamed (broke things with IB)" >> $NETFILE
            echo "rename_device() { return 0; }" >> $NETFILE
        fi
    fi
    return 0
}


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