From 3ae24ef2345994df5123baad5f4f5cd55cf018fd Mon Sep 17 00:00:00 2001 From: Nagy Karoly Gabriel Date: Mon, 18 May 2009 16:37:09 +0300 Subject: [PATCH] sde-create-iso: Begun implementing gaffitter and cleane up hackish ways. --- bin/sde-create-iso | 52 +++++++++++++--------------------------------- 1 file changed, 14 insertions(+), 38 deletions(-) diff --git a/bin/sde-create-iso b/bin/sde-create-iso index c146255..386fd5a 100755 --- a/bin/sde-create-iso +++ b/bin/sde-create-iso @@ -24,12 +24,16 @@ create_usage() { local progname=$(echo ${0##*/} | tr '-' ' ') cat <<-EOT - Usage: $progname [-s ] [-f ] -p -c [....]" + Usage: $progname [--{dvd|dvd-dl|cd|cd74|cd90|cd99|size n}] [--format ] --name --config [....]" Size: - cd - CD 700 MB - dvd - DVD 4 GB + dvd - 4.38GB + dvd-dl - 7.95GB + cd - 700MB + cd74 - 650MB + cd90 - 790MB + cd99 - 870MB or - size of desired disk + size n[k,m,g,t] - custom volumes of n KiB/MiB/GiB/TiB each Size is optional, if none is given will default to 700MB CD. Format: iso format iso9660 or udf, if none given iso9660 is used Name: prefix for the media set mycdset => ${name}_cd$x.iso or ${name}_dvd$x.iso @@ -38,8 +42,9 @@ create_usage() { exit 1 } -shortopts='s:f:p:c:h' -options=$( getopt -o "$shortopts" -- "$@" ) +longopts='[dvd,dvd-dl,cd,cd74,cd90,cd99,size:,format:,name:,config:' +shortopts= +options=$( getopt -o "$shortopts" -l "$longopts" -- "$@" ) if [ $? -ne 0 ]; then create_usage exit -1 @@ -47,49 +52,20 @@ fi # load new arguments list eval set -- "$options" -media_size= -media_format= +size= +format= name= configs= while [ $# -gt 0 ]; do case "$1" in - -h) + help) create_usage exit 0 ;; - - -s) media_size="$2" ; shift ;; - -f) media_format="$2" ; shift ;; - -p) name="$2" ; shift ;; - -c) configs="$configs $2"; shift ;; - --) shift; break ;; *) echo_abort 1 "$1: Unknown argument, aborting." esac shift done -# validate media size -# -fmtsize() -{ - local var="$1" - numbers=$( echo $var | tr -d '[A-Za-z]' ) - strings=$( echo $var | tr -d '[0-9]' ) - if [-n "$numbers" ]; then - case "$var" in - cd) media_size=$(( 700*1024*1024 )) ;; - dvd) media_size=$(( 4700*1024*1024 )) ;; - *) media_size=$(( 700*1024*1024 )) ;; - esac - else - lsrings=$( echo $strings | tr "[:upper:]" "[:lower:]" ) - case "$lstrings" in - k|kb|kib|kylobytes|kilobites) media_size=$(( "$numbers"*1024 )) ;; - m|mb|mib|megabytes|megabites) media_size=$(( "$numbers"*1024*1024 )) ;; - g|gb|gib|gigabytes|gigabites) media_size=$(( "$numbers"*1024*1024*1024 )) ;; - *) echo_abort 1 "$strings: Unknown size unit specified, aborting." - esac - fi -} if [ ! -x tmp/gaffitter/gaffitter ] ; then echo ; date "+ [%X] Creating GAFFitter ..." rm -rf tmp/gaffitter; mkdir -p tmp/gaffitter