|
|
|
@ -24,12 +24,16 @@ |
|
|
|
create_usage() { |
|
|
|
local progname=$(echo ${0##*/} | tr '-' ' ') |
|
|
|
cat <<-EOT |
|
|
|
Usage: $progname [-s <size>] [-f <format>] -p <name> -c <config> [<config>....]" |
|
|
|
Usage: $progname [--{dvd|dvd-dl|cd|cd74|cd90|cd99|size n}] [--format <format>] --name <name> --config <config> [<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 |
|
|
|
|