#!/bin/bash

set -u
umask 002

VER3="3.0.4-8"
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-apache20-work"
UPLOADS_DIR="$UPLOAD_BASE_DIR/openam/openam-agent-apache20-upload"
INFO_DIR="$UPLOAD_BASE_DIR/openam/info"
UPDATES_INFO="$INFO_DIR/openam-agent-apache20-$WORKDATE.info"
PACKAGE_INFO="$INFO_DIR/openam-agent-apache20-package.info"

DOC_DIR="/project/share/product/release/doc/openam"
#INSTALL_GUIDE="installguide/OSTD-OpenAM-Agent-Apache20-InstallGuide.pdf"
#ADMIN_GUIDE="adminguide/OSTD-OpenAM-Agent-Apache20-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/RHEL4)
#for OS_ARCH in "RHEL6/x86_64" "RHEL6/i386" "RHEL5/x86_64" "RHEL5/i386" "RHEL4/x86_64" "RHEL4/i386"; do
for OS_ARCH in "RHEL4/x86_64" "RHEL4/i386"; do
    for AGENT_TYPE in apache20; 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
            ## extlib-nss
            if [ $OS = "RHEL4" ]; then
              cp $PKGDIR/osstech-openam-extlib-nss*.rpm $DISTDIR/pkgs/RPMS/$PRODUCT_NAME
            fi

            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

