--- pbs_mkdirs.in 2009-10-29 22:01:16.000000000 +0100 +++ pbs_mkdirs.sara 2010-04-27 12:55:18.460529338 +0200 @@ -1,5 +1,4 @@ #!/bin/sh - # # # OpenPBS (Portable Batch System) v2.3 Software License @@ -84,19 +83,22 @@ # housekeeping. # # Usage: -# pbs_mkdirs [-v] [-c] what +# pbs_mkdirs [-v] [-c] [-C chk_tree_location] what # -v be verbose # -c allow usage of chk_tree (do not use this within a make install) +# -C Specify where the location of the chk_tree binary # what select from the following list # server -- dirs needed by pbs_server # mom -- dirs needed by pbs_mom # aux -- the aux directory # default -- the default file +# common -- make common directory to all daemons # check -- run chk_tree (turns on -c automatically) # all -- do all of the above # +# SVN INFO: +# $Id: pbs_mkdirs.in 2044 2006-04-19 11:43:12Z bas $ # -# $Id: pbs_mkdirs.in 2417 2008-09-09 23:21:49Z ataufer $ # # @@ -120,6 +122,26 @@ verbose="" +display_flags() +{ +cat << EOF +Usage: + pbs_mkdirs [-v] [-c] [-C chk_tree_location] what + -v be verbose + -c allow usage of chk_tree (do not use this within a make install) + -C Specify where the location of the chk_tree binary + what select from the following list + server -- dirs needed by pbs_server + mom -- dirs needed by pbs_mom + aux -- the aux directory + default -- the default file + common -- make common directory to all daemons + check -- run chk_tree (turns on -c automatically) + all -- do all of the above +EOF +exit 0 +} + # # this will create a directory and any chain of parent directories @@ -246,7 +268,7 @@ install_dir $PBS_SERVER_HOME/sched_priv 750 || return 1 install_dir $PBS_SERVER_HOME/sched_priv/accounting 755 || return 1 install_dir $PBS_SERVER_HOME/sched_logs 755 || return 1 - install_dir $PBS_SERVER_HOME/server_priv/arrays 750 || return 1 + install_dir $PBS_SERVER_HOME/server_priv/arrays 750 || return 1 test -f $PBS_ENVIRON || check_env || return 1 @@ -259,7 +281,7 @@ $PBS_SERVER_HOME/server_priv/acl_groups \ $PBS_SERVER_HOME/server_priv/accounting \ $PBS_SERVER_HOME/server_logs \ - $PBS_SERVER_HOME/server_priv/arrays || return 1 + $PBS_SERVER_HOME/server_priv/arrays || return 1 chk_tree_wrap -d -n -s $PBS_SERVER_HOME/spool || return 1 chk_tree_wrap -n $PBS_ENVIRON || return 1 } @@ -292,7 +314,6 @@ chk_tree_wrap -n $PBS_ENVIRON || return 1 } - mk_default_file() { test -n "$verbose" && echo Making default server file @@ -355,19 +376,75 @@ mk_aux_dir || return 1 } -while true; do + +getopt vcd:C:h "$@" > /dev/null || display_flags +set -- `getopt vcd:C:h "$@"` +while true +do case "$1" in - -v) verbose=yes ; shift; continue ;; - -c) chktree=yes ; shift; continue ;; - -d) shift; PBS_SERVER_HOME=$1; shift; continue;; - serv*) mk_server_dirs || exit 1 ; break ;; - mom*) mk_mom_dirs || exit 1; break ;; - aux*) mk_aux_dir || exit 1; break ;; - default*) mk_default_file || exit 1; break ;; - common*) mk_common || exit 1; break ;; - check*) chktree=yes; do_check_tree || exit 1; break ;; - all*) mk_dirs || exit 1; break ;; - *) echo "unknown option" 1>&2; exit 1; break ;; - esac + -v) + verbose=yes + shift + ;; + -d) + PBS_SERVER_HOME=$2 + shift 2 + ;; + -h) + display_flags + ;; + -c) + chktree=yes + shift + ;; + -C) + CHK_TREE=$2 + shift 2 + ;; + --) + shift; break + ;; + + esac done +while [ $# -gt 0 ] +do + case "$1" in + serv*) + mk_server_dirs || exit 1 + break + ;; + mom*) + mk_mom_dirs || exit 1 + break + ;; + aux*) + mk_aux_dir || exit 1 + break + ;; + default*) + mk_default_file || exit 1 + break + ;; + common*) + mk_common || exit 1 + break + ;; + check*) + chktree=yes + do_check_tree || exit 1 + break + ;; + all*) + mk_dirs || exit 1 + break + ;; + *) + echo "$1 is unknown flag" + display_flags + break + ;; + esac + shift +done