#!/bin/bash

set -u
umask 002

OSSNAME="lam"
VER="3.1.0-14"

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


WORKDIR="/project/share/product/release/uploads"
#PRODUCT="/srv/share/product"
RELEASE_DIR="/project/share/product/release/osstech-packages"
UPDATES_DIR="$WORKDIR/$OSSNAME-work"
UPLOADS_DIR="$WORKDIR/$OSSNAME-upload"
INFO_DIR="$WORKDIR/info"
UPDATES_INFO="$INFO_DIR/$OSSNAME-$WORKDATE.info"

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

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

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

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

## Linux
for OS in RHEL5; do
    for ARCH in i386 x86_64; do
	for item in "lam/$VER" ; do
	    VERSION=`echo $item | awk -F / '{print $1}'`
	    REL=`echo $item | awk -F / '{print $2}'`
	    DIST=`echo $OS|sed 's/RHEL/el/'`
	    PKGNAME="osstech-ldap-account-manager-$REL.$DIST.$ARCH"
	    PKGDIR=$RELEASE_DIR/$OS/$ARCH/$VERSION
	    if [ -d $PKGDIR ]; then
		DISTDIR=$UPDATES_DIR/$VERSION/$PKGNAME
		echo $DISTDIR
		mkdir -p $DISTDIR
		ls $PKGDIR/$OSSNAME/|grep $REL > /dev/null
		if [ $? -eq 1 ]; then
		    echo "No $REL version in $PKGDIR"
		    exit 1
		fi
		cp -r $PKGDIR/* $DISTDIR/
		pushd $UPDATES_DIR/$VERSION > /dev/null
		tar cfz $PKGNAME.tar.gz $PKGNAME
		SHA1HASH=`sha1sum $PKGNAME.tar.gz | awk '{print $1}'`
		RANDNAME=`pwgen -B 6`
		mkdir -p $UPLOADS_DIR/$RANDNAME
		mv $PKGNAME.tar.gz $UPLOADS_DIR/$RANDNAME/
		## Create update informations for OSSTech track.
		echo "* $OS($ARCH)" >> $UPDATES_INFO
		echo "  * http://www.osstech.co.jp/download/updates/$OSSNAME/$RANDNAME/$PKGNAME.tar.gz" >> $UPDATES_INFO
		echo "  * sha1sum: $SHA1HASH" >> $UPDATES_INFO
		echo "" >> $UPDATES_INFO
		popd > /dev/null
		echo "[FINISHED] $PKGNAME"
	    fi
	done
    done
done


