#! /bin/sh

# ----------------------------------------------------------------------
# Copyright (C) 2001, Compaq Computer Corporation
# 
# This file is part of Vesta.
# 
# Vesta is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# 
# Vesta is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.
# 
# You should have received a copy of the GNU Lesser General Public
# License along with Vesta; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
# ----------------------------------------------------------------------

# Last modified on Mon Jan 17 19:25:13 EST 2005 by ken@xorian.net
#      modified on Mon Aug 10 10:48:38 PDT 1998 by heydon

# messages
syntax="SYNTAX: CreateCacheDirs [ -n ]"

# process command line
doit=1
while [ $# -gt 0 ]; do
  case $1 in
  -n)
    doit=0
    ;;
  *)
    echo "Unrecognized argument: $1"
    echo $syntax
    exit 1
    ;;
  esac
  shift
done

# set directory names from configuration file
MetaDataRoot=`vgetconfig CacheServer MetaDataRoot`
MetaDataDir=`vgetconfig CacheServer MetaDataDir`
SVarsDir=`vgetconfig CacheServer StableVarsDir`
WeededLogDir=`vgetconfig CacheServer WeededLogDir`
CacheLogDir=`vgetconfig CacheServer CacheLogDir`
EmptyPKLogDir=`vgetconfig CacheServer EmptyPKLogDir`
GraphLogDir=`vgetconfig CacheServer GraphLogDir`
CILogDir=`vgetconfig CacheServer CILogDir`
SCacheDir=`vgetconfig CacheServer SCacheDir`
WeederMDDir=`vgetconfig Weeder MetaDataDir`

# set "MetaDataRoot" if empty
if [ -z "$MetaDataRoot" ]; then
  MetaDataRoot=.
fi

# create $MetatDataDir
CacheDir=$MetaDataRoot/$MetaDataDir
echo "Creating cache meta-data at $CacheDir"
if [ ! -e $CacheDir ]; then
  echo "  Creating directory: $CacheDir"
  if [ $doit -ne 0 ]; then
    mkdir $CacheDir
  fi
else
  echo "  Directory already exists: $CacheDir"
fi

# create necessary subdirectories
subdirs="$SCacheDir $SVarsDir $WeededLogDir $CacheLogDir"
subdirs="$subdirs $EmptyPKLogDir $CILogDir $GraphLogDir"
for d in $subdirs; do
  if [ ! -e $CacheDir/$d ]; then
    echo "  Creating directory: $CacheDir/$d"
    if [ $doit -ne 0 ]; then
      mkdir $CacheDir/$d
    fi
  else
    echo "  Directory already exists: $CacheDir/$d"
  fi
done

# create weeder directory
WeederDir=$MetaDataRoot/$WeederMDDir
if [ ! -e $WeederDir ]; then
  echo "  Creating directory: $WeederDir"
  if [ $doit -ne 0 ]; then
    mkdir $WeederDir
  fi
else
  echo "  Directory already exists: $WeederDir"
fi

# finish up
if [ $doit -ne 0 ]; then
  echo "Done."
else
  echo "NOTE: No directories created at your request."
fi
exit 0
