#!/bin/bash

set -u
umask 002

VER3="3.0.4-25"
RELNUM="1"

PRODUCT_NAME="agent"
CATEGORY_NAME="openam"

WORKDATE=`date '+%Y%m%d'`

UPLOAD_BASE_DIR="/project/share/product/release/uploads"
ISODIR="/project/share/product/release/iso"

RELEASE_DIR="/project/share/product/release/package-oa"
WORK_DIR="$UPLOAD_BASE_DIR/openam/openam-agent-apache22-work"
UPLOADS_DIR="$UPLOAD_BASE_DIR/openam/openam-agent-apache22-upload"
INFO_DIR="$UPLOAD_BASE_DIR/openam/info"
UPDATES_INFO="$INFO_DIR/openam-agent-apache22-$WORKDATE.info"
PACKAGE_INFO="$INFO_DIR/openam-agent-apache22-package.info"

DOC_DIR="/project/share/product/release/doc/openam"
INSTALL_GUIDE="installguide/OSTD-OpenAM-Agent-Apache22-InstallGuide.pdf"
ADMIN_GUIDE="adminguide/OSTD-OpenAM-Agent-Apache22-Manual.pdf"

if [ -d $UPLOADS_DIR ]; then
    echo "Please remove $UPLOADS_DIR"
    exit 1
fi

if [ -d $WORK_DIR ]; then
    echo "Please remove $WORK_DIR"
    exit 1
fi

if [ ! -d $INFO_DIR ]; then
    mkdir -p $INFO_DIR
fi

if [ -f $UPDATES_INFO ]; then
    rm -f $UPDATES_INFO
fi

echo "## openam-agent-$VER3 at $WORKDATE ##" >> $PACKAGE_INFO
echo "" >> $PACKAGE_INFO

#Linux(RHEL6/RHEL5)
for OS_ARCH in "RHEL6/x86_64" "RHEL6/i386" "RHEL5/x86_64" "RHEL5/i386"; do
    for AGENT_TYPE in apache22; do
        OS=`echo $OS_ARCH | awk -F / '{print $1}'`
        ARCH=`echo $OS_ARCH | awk -F / '{print $2}'`
        DIST=`echo $OS|sed 's/RHEL/el/'`

        PKGNAME="osstech-openam-agent-$AGENT_TYPE-$VER3.$RELNUM.$ARCH.$DIST"
        PKGDIR=$RELEASE_DIR/$OS/$ARCH/$CATEGORY_NAME/$PRODUCT_NAME
        if [ -d $PKGDIR ]; then
            ls $PKGDIR/|grep $VER3 > /dev/null
            if [ $? -eq 1 ]; then
                echo "No $VER3 version in $PKGDIR"
            fi

            DISTDIR=$WORK_DIR/$PKGNAME
            #mkdir -p $DISTDIR/{docs,pkgs/RPMS/{base,$PRODUCT_NAME}}
            mkdir -p $DISTDIR/pkgs/RPMS/{base,$PRODUCT_NAME}

            ## docs
            #cp $DOC_DIR/$INSTALL_GUIDE $DISTDIR/docs
            #cp $DOC_DIR/$ADMIN_GUIDE $DISTDIR/docs
            ## base
            cp $RELEASE_DIR/$OS/$ARCH/$CATEGORY_NAME/base/*.rpm \
            $DISTDIR/pkgs/RPMS/base
            ## agnet
            cp $PKGDIR/osstech-openam-agent-$AGENT_TYPE-*rpm $DISTDIR/pkgs/RPMS/$PRODUCT_NAME

            pushd $WORK_DIR > /dev/null
            tar cfz $PKGNAME.tar.gz $PKGNAME
            #env TZ=UTC mkisofs -uid 0 -gid 0 -dir-mode 0755 -file-mode 0755 -J -R -o $PKGNAME.iso $PKGNAME 2> /dev/null
            SHA1HASH=`sha1sum $PKGNAME.tar.gz | awk '{print $1}'`
            RANDNAME=`pwgen -B 6`
            mkdir -p $UPLOADS_DIR/$RANDNAME
            mv $PKGNAME.tar.gz $UPLOADS_DIR/$RANDNAME/
            #mkdir -p $ISODIR/$OS/$CATEGORY_NAME
            #mv $PKGNAME.iso $ISODIR/$OS/$CATEGORY_NAME/

            ## Create update informations for OSSTech track.
            echo "* $OS($ARCH)" >> $UPDATES_INFO
            echo "  * http://www.osstech.co.jp/download/updates/$CATEGORY_NAME-$PRODUCT_NAME/$RANDNAME/$PKGNAME.tar.gz" >> $UPDATES_INFO
            echo "  * sha1sum: $SHA1HASH" >> $UPDATES_INFO
            echo "" >> $UPDATES_INFO

            ## RPM informations
            echo "* $PKGNAME" >> $PACKAGE_INFO
            echo "`ls -R $PKGNAME | grep rpm`" >> $PACKAGE_INFO
            echo "" >> $PACKAGE_INFO

            popd > /dev/null
            echo "[FINISHED] $PKGNAME"
        fi
    done
done

#Solaris10
#for OS_ARCH in "Solaris10/x86_64" "Solaris10/i386"; do
#    for AGENT_TYPE in apache22; do
#        OS=`echo $OS_ARCH | awk -F / '{print $1}'`
#        ARCH=`echo $OS_ARCH | awk -F / '{print $2}'`
#        DIST=`echo $OS|sed 's/Solaris/sol/'`
#
#        PKGNAME="osstech-openam-agent-$AGENT_TYPE-$VER3.$RELNUM.$ARCH.$DIST"
#        PKGDIR=$RELEASE_DIR/$OS/$ARCH/$CATEGORY_NAME/$PRODUCT_NAME
#        if [ -d $PKGDIR ]; then
#            ls $PKGDIR/|grep $VER3 > /dev/null
#            if [ $? -eq 1 ]; then
#                echo "No $VER3 version in $PKGDIR"
#            fi
#
#            DISTDIR=$WORK_DIR/$PKGNAME
#            mkdir -p $DISTDIR/{docs,pkgs/RPMS/{bootstrap,$PRODUCT_NAME}}
#
#            ## docs
#            cp $DOC_DIR/$INSTALL_GUIDE $DISTDIR/docs
#            cp $DOC_DIR/$ADMIN_GUIDE $DISTDIR/docs
#            ## bootstrap
#            rsync -aL --exclude="*devel*" \
#               $RELEASE_DIR/$OS/$ARCH/$CATEGORY_NAME/bootstrap/bootstrap \
#               $DISTDIR/pkgs/RPMS
#            ## agnet
#            cp $PKGDIR/osstech-openam-agent-$AGENT_TYPE-*rpm $DISTDIR/pkgs/RPMS/$PRODUCT_NAME
#
#            pushd $WORK_DIR > /dev/null
#            tar cfz $PKGNAME.tar.gz $PKGNAME
#            #env TZ=UTC mkisofs -uid 0 -gid 0 -dir-mode 0755 -file-mode 0755 -J -R -o $PKGNAME.iso $PKGNAME 2> /dev/null
#            SHA1HASH=`sha1sum $PKGNAME.tar.gz | awk '{print $1}'`
#            RANDNAME=`pwgen -B 6`
#            mkdir -p $UPLOADS_DIR/$RANDNAME
#            mv $PKGNAME.tar.gz $UPLOADS_DIR/$RANDNAME/
#            #mkdir -p $ISODIR/$OS/$CATEGORY_NAME
#            #mv $PKGNAME.iso $ISODIR/$OS/$CATEGORY_NAME/
#
#            ## Create update informations for OSSTech track.
#            echo "* $OS($ARCH)" >> $UPDATES_INFO
#            echo "  * http://www.osstech.co.jp/download/updates/$CATEGORY_NAME-$PRODUCT_NAME/$RANDNAME/$PKGNAME.tar.gz" >> $UPDATES_INFO
#            echo "  * sha1sum: $SHA1HASH" >> $UPDATES_INFO
#            echo "" >> $UPDATES_INFO
#
#            ## RPM informations
#            echo "* $PKGNAME" >> $PACKAGE_INFO
#            echo "`ls -R $PKGNAME | grep rpm`" >> $PACKAGE_INFO
#            echo "" >> $PACKAGE_INFO
#
#            popd > /dev/null
#            echo "[FINISHED] $PKGNAME"
#        fi
#    done
#done
