Package not found: multimedia:libs/ffmpeg

File genopts of Package gpg-offline

#! /bin/bash

# genopts: Generator of Bash based option parser.
# Version 1.2, Stanislav Brabec <sbrabec@suse.cz>, 2004:
#  Fixed @options_only.
#  Added @multioption.
#  Added @capitalize_helpusage.
#  Code formatting fixes.
# Version 1.1, Stanislav Brabec <sbrabec@suse.cz>, 2004:
#  @genopts can be in middle of file.
#  Added @code_style, @options_only.
#  Bash code improvements.
#  Fixed backlash disappearing problem.
#  Typo fixes.
#
# Version 1.0, Stanislav Brabec <utx@penguin.cz>, 2002:
#  Initial version.
#
# Usage: $EDITOR FILE.gopts ; genopts FILE (will overwrite FILE)

if [ -e $1.gopts ]
then
    exec 0<$1.gopts 1>$1
    chmod +x $1
else
    echo "Input file $1.gopts doesn't exist."
    exit 1
fi

gen_option()
{
    SHORTOPT=
    LONGOPT=
    FIRSTARG=true
    DEFAULT=
    SCANARGS=true
    for i in $1
    do
    if $SCANARGS
    then
	case $i in
	    --* )
		$FIRSTARG && echo >&2 "Error: No OPTNAME in $1"
		FIRSTARG=false
		REQ_ARG=true
		LONGOPT="$i"
		LONGPARSE="$LONGPARSE
${TAB[2+CASETAB]}${i%%=*} )
${TAB[3+CASETAB]}[[ \$# < 2 ]] && opt_err_req_arg $i
${TAB[3+CASETAB]}shift
${TAB[3+CASETAB]}OPTARG_$OPTNAME=true"
		if $3 ; then
		    LONGPARSE="$LONGPARSE
${TAB[3+CASETAB]}OPTVAL_$OPTNAME[\${#OPTVAL_$OPTNAME[@]}]=\"\$1\""
		else
		    LONGPARSE="$LONGPARSE
${TAB[3+CASETAB]}OPTVAL_$OPTNAME=\"\$1\""
		fi
		LONGPARSE="$LONGPARSE
${TAB[3+CASETAB]};;
${TAB[2+CASETAB]}${i%%=*}=* )
${TAB[3+CASETAB]}OPTARG_$OPTNAME=true"
		if $3 ; then
		    LONGPARSE="$LONGPARSE
${TAB[3+CASETAB]}OPTVAL_$OPTNAME[\${#OPTVAL_$OPTNAME[@]}]=\"\${1#${i%%=*}=}\""
		else
		    LONGPARSE="$LONGPARSE
${TAB[3+CASETAB]}OPTVAL_$OPTNAME=\"\${1#${i%%=*}=}\""
		fi
		LONGPARSE="$LONGPARSE
${TAB[3+CASETAB]};;"
		;;
	    -* )
		$FIRSTARG && echo >&2 "Error: No OPTNAME in $1"
		FIRSTARG=false
		REQ_SARG=true
		SHORTOPT="$i"
		SHORTPARSE="$SHORTPARSE
${TAB[4+2*CASETAB]}${i:1:1} )
${TAB[5+2*CASETAB]}OPTARG_$OPTNAME=true"
		if $3 ; then
		    SHORTPARSE="$SHORTPARSE
${TAB[5+2*CASETAB]}OPTVAL_$OPTNAME[\${#OPTVAL_$OPTNAME[@]}]=\"\${OPTTMP:1}\""
		else
		    SHORTPARSE="$SHORTPARSE
${TAB[5+2*CASETAB]}OPTVAL_$OPTNAME=\"\${OPTTMP:1}\""
		fi
		SHORTPARSE="$SHORTPARSE
${TAB[5+2*CASETAB]}if [[ -z \"\$OPTVAL_$OPTNAME\" ]]${LINEUP_SEMIC:-
${TAB[5+2*CASETAB]}}then
${TAB[6+2*CASETAB]}[[ \$# < 2 ]] && opt_err_req_sarg ${i:1:1}
${TAB[6+2*CASETAB]}shift"
		if $3 ; then
		    SHORTPARSE="$SHORTPARSE
${TAB[6+2*CASETAB]}OPTVAL_$OPTNAME[\${#OPTVAL_$OPTNAME[@]}]=\"\$1\""
		else
		    SHORTPARSE="$SHORTPARSE
${TAB[6+2*CASETAB]}OPTVAL_$OPTNAME=\"\$1\""
		fi
		SHORTPARSE="$SHORTPARSE
${TAB[5+2*CASETAB]}else
${TAB[6+2*CASETAB]}break
${TAB[5+2*CASETAB]}fi
${TAB[5+2*CASETAB]};;"
		;;
	    * )
		if $FIRSTARG
		then
		    FIRSTARG=false
		    OPTNAME="$i"
		else
		    SCANARGS=false
		    DEFAULT="$i"
		fi
		;;
	    esac
	else
	    DEFAULT="$DEFAULT $i"
	fi
    done
    DEFVARS="${TAB[0]}$DEFVARS
${TAB[0]}OPTARG_$OPTNAME=false"
    if $3 ; then
	DEFVARS="$DEFVARS
${TAB[0]}unset OPTVAL_$OPTNAME"
	if [[ ! -z "$DEFAULT" ]] ; then
	    DEFVARS="$DEFVARS
${TAB[0]}OPTVAL_$OPTNAME=( $DEFAULT )"
	fi
    else
	DEFVARS="$DEFVARS
${TAB[0]}OPTVAL_$OPTNAME=$DEFAULT"
    fi
    genhelp "$SHORTOPT" "$LONGOPT" "$2"
}

gen_switch()
{
    SHORTOPT=
    LONGOPT=
    FIRSTARG=true
    for i in $1
    do
       case $i in
       --* )
	    $FIRSTARG && echo >&2 "Error: No OPTNAME in $1"
	    FIRSTARG=false
	    NO_ARG=true
	    LONGOPT="$i"
	    if $3
	    then
		OPTCNTMP="
${TAB[3+CASETAB]}let OPTCNT_$OPTNAME++"
	    else
		OPTCNTMP=
	    fi
	    LONGPARSE="$LONGPARSE
${TAB[2+CASETAB]}$i )
${TAB[3+CASETAB]}OPTARG_$OPTNAME=true$OPTCNTMP
${TAB[3+CASETAB]};;
${TAB[2+CASETAB]}$i=* )
${TAB[3+CASETAB]}opt_err_no_arg $i
${TAB[3+CASETAB]};;"
	    ;;
       -* )
	    $FIRSTARG && echo >&2 "Error: No OPTNAME in $1"
	    FIRSTARG=false
	    SHORTOPT="$i"
	    if $3
	    then
		OPTCNTMP="
${TAB[5+2*CASETAB]}let OPTCNT_$OPTNAME++"
	    else
		OPTCNTMP=
	    fi
	    SHORTPARSE="$SHORTPARSE
${TAB[4+2*CASETAB]}${i:1:1} )
${TAB[5+2*CASETAB]}OPTARG_$OPTNAME=true$OPTCNTMP
${TAB[5+2*CASETAB]};;"
	    ;;
	* )
	    if $FIRSTARG
	    then
		FIRSTARG=false
		OPTNAME="$i"
	    else
		echo >&2 "No default allowed for @switch in $1"
	    fi
	    ;;
	esac
    done
    if $3
    then
	OPTCNTMP="
${TAB[0]}OPTCNT_$OPTNAME=0"
    else
	OPTCNTMP=
    fi
    DEFVARS="$DEFVARS
${TAB[0]}OPTARG_$OPTNAME=false$OPTCNTMP"
    genhelp "$SHORTOPT" "$LONGOPT" "$2"
}

genhelp()
{
OPTITA=
OPTITB=
    if [[ ! -z "$1" ]]
    then
	OPTITA=x
    fi
    if [[ ! -z "$2" ]]
    then
	OPTITB=y
    fi
    case "$OPTITA$OPTITB" in
	"" )
	    echo >&2 "Error: No options defined for for $2"
	    ;;
	x )
	    if [[ -z "${1:2}" ]]
	    then
		OPTSTRING="${1:0:2}"
	    else
		OPTSTRING="${1:0:2} ${1:3}"
	    fi
	    ;;
	y )
		OPTSTRING="    $2"
	    ;;
	xy )
		OPTSTRING="${1:0:2}, $2"
	    ;;
    esac
    if [[ ${#OPTSTRING} -gt $HELPSIZE ]]
    then HELPSIZE=${#OPTSTRING}
    fi
    HELP="$HELP
usehelpi \"$OPTSTRING\"
$REPLYTO"
}

usehelpi()
{
    OPTSTRING="$1$SPACES"
    OPTSTRING="${OPTSTRING:0:$HELPSIZE}"
    if [[ ${#1} -gt HELPSIZE-1 ]]
    then
	OPTSTRING="$1 "
    fi
    HELPFL=true
}
SPACES="                           "
usehelp()
{
    if $HELPFL
    then
	echo "  $OPTSTRING${HELPS[$1]}"
	HELPFL=false
    else
	echo "  ${SPACES:0:$HELPSIZE}${HELPS[$1]}"
    fi
}
init_gen()
{
    if [[ $HELPSIZE -gt 24 ]]
    then
	HELPSIZE=27
    else
	HELPSIZE=$[HELPSIZE+2]
    fi
    REPLYTO="usehelp $HELPSC"
    if $CAPITALIZE_HELPUSAGE ; then
	HELPS[HELPSC++]='Display this help and exit.'
    else
	HELPS[HELPSC++]='display this help and exit'
    fi
    gen_switch "HELP -h --help" "$REPLYTO" false
    REPLYTO="usehelp $HELPSC"
    if $CAPITALIZE_HELPUSAGE ; then
	HELPS[HELPSC++]='Output version information and exit.'
    else
	HELPS[HELPSC++]='output version information and exit'
    fi
    gen_switch "VERSION --version" "$REPLYTO" false
}

PROGRAM=
VERSION=
YEAR=
AUTHOR=
BUGSTO=
USAGE=
SHORT=
DEFAULTS_TXT=
DEFAULTS=
FREECOPY=
NLS=
NLSINIT=

DEFVARS=
LONGPARSE=
SHORTPARSE=
HELP=
HELPSIZE=0
REQ_ARG=false
NO_ARG=false
REQ_SARG=false
LINEUP_BRACE=""
LINEUP_SEMIC=""
FUNCKEY1=""
FUNCKEY2="()"
TAB[0]=$''
TAB[1]=$'    '
TAB[2]=$'\t'
TAB[3]=$'\t    '
TAB[4]=$'\t\t'
TAB[5]=$'\t\t    '
TAB[6]=$'\t\t\t'
TAB[7]=$'\t\t\t    '
TAB[8]=$'\t\t\t\t'
CASETAB=0
declare -a HELPS
HELPSC=0
OPTIONS_ONLY=false
CAPITALIZE_HELPUSAGE=false

readto()
{
    REPLYTO=
    while :
    do
	read -r
	if [[ -z "$REPLY" ]]
	then break
	fi
    REPLYTO="$REPLYTO
$REPLY"
    done
    if [[ ! -z "$1" ]]
    then
	eval $1\=\"\$REPLYTO\"
    fi
}
readtoz()
{
    REPLYTO=
    while :
    do
	read -r
	if [[ -z "$REPLY" ]]
	then break
	fi
	REPLYTO="$REPLYTO
usehelp $HELPSC"
	HELPS[HELPSC++]="$REPLY"
    done
}

LINE=0
while read -r
do
    if [[ "$REPLY" = @genopts ]]
    then
	break
    else
	echo "$REPLY"
	let LINE++
    fi
done

if [[ $LINE = 0 ]]
then
    echo '#! /bin/bash'
fi

while :
do
    read -r FUNC ARGS
    case "$FUNC" in
    @program )
	PROGRAM="$ARGS"
	;;
    @version )
	VERSION="$ARGS"
	;;
    @year )
	YEAR="$ARGS"
	;;
    @author )
	AUTHOR="$ARGS"
	;;
    @bugsto )
	BUGSTO="
Report bugs to $ARGS."
	;;
    @usage )
	USAGE="$ARGS"
	;;
    @short )
	readto SHORT
	;;
    @defaults )
	readto DEFAULTS_TXT
	if [[ ! -z "$ARGS" ]]
	then
	    DEFAULTS_TXT="$DEFAULTS_TXT
Options can be stored in $ARGS environment variable."
	    DEFAULTS="\$$ARGS "
	fi
	[[ ! -z DEFAULTS_TXT ]] && DEFAULTS_TXT="$DEFAULTS_TXT
"
	;;
    @free_copy )
	FREECOPY='
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.'
	;;
    @textdomain )
	NLS='$'
	NLSINIT="

TEXTDOMAIN=$ARGS"
	;;
    @end )
	init_gen
	break
	;;
    "" )
	;;
    @switch )
	readtoz
	gen_switch "$ARGS" "$REPLYTO" false
	;;
    @cntswitch )
	readtoz
	gen_switch "$ARGS" "$REPLYTO" true
	;;
    @option )
	readtoz
	gen_option "$ARGS" "$REPLYTO" false
	;;
    @multioption )
	readtoz
	gen_option "$ARGS" "$REPLYTO" true
	;;
    @code_style )
	for CODE in $ARGS
	do
	  case $CODE in
	      line_up )
		  LINEUP_BRACE=" "
		  LINEUP_SEMIC=" ; "
		  ;;
	      function_keyword )
		  FUNCKEY1="function "
		  FUNCKEY2=""
		  ;;
	      tabs )
		  TAB[0]=$''
		  TAB[1]=$'\t'
		  TAB[2]=$'\t\t'
		  TAB[3]=$'\t\t\t'
		  TAB[4]=$'\t\t\t\t'
		  TAB[5]=$'\t\t\t\t\t'
		  TAB[6]=$'\t\t\t\t\t\t'
		  TAB[7]=$'\t\t\t\t\t\t\t'
		  TAB[8]=$'\t\t\t\t\t\t\t\t'
		  ;;
	      casetab )
		  CASETAB=1
		  ;;
	      * )
		  echo >&2 "Warning: Unknown code_style $CODE."
		  ;;
	  esac
	done
	;;
    @capitalize_helpusage )
	CAPITALIZE_HELPUSAGE=true
	;;
    @options_only )
	OPTIONS_ONLY=true
	;;
    * )
	echo >&2 "Warning: Unknown token $FUNC."
    esac
done

echo "#BEGIN genopts
# This file is generated by genopts-1.2 from $1.gopts.$NLSINIT

${TAB[0]}${FUNCKEY1}opt_err$FUNCKEY2${LINEUP_BRACE:-
${TAB[0]}}{
${TAB[1]}echo $NLS\"\$0: \$1
Try \\\`\$0 --help' for more information.\" >&2
${TAB[1]}exit 1
${TAB[0]}}

${TAB[0]}${FUNCKEY1}opt_err_bad_arg$FUNCKEY2${LINEUP_BRACE:-
${TAB[0]}}{
${TAB[1]}opt_err $NLS\"unrecognized option \\\`\$1'\"
${TAB[0]}}

${TAB[0]}${FUNCKEY1}opt_err_bad_sarg$FUNCKEY2${LINEUP_BRACE:-
${TAB[0]}}{
${TAB[1]}opt_err $NLS\"invalid option -- \$1\"
${TAB[0]}}"

if $REQ_ARG
then echo "
${TAB[0]}${FUNCKEY1}opt_err_req_arg$FUNCKEY2${LINEUP_BRACE:-
${TAB[0]}}{
${TAB[1]}opt_err $NLS\"option \\\`\$1' requires an argument\"
${TAB[0]}}"
fi

if $NO_ARG
then echo "
${TAB[0]}${FUNCKEY1}opt_err_no_arg$FUNCKEY2${LINEUP_BRACE:-
${TAB[0]}}{
${TAB[1]}opt_err $NLS\"option \\\`\$1' doesn't allow an argument\"
${TAB[0]}}"
fi

if $REQ_SARG
then echo "
${TAB[0]}${FUNCKEY1}opt_err_req_sarg$FUNCKEY2${LINEUP_BRACE:-
${TAB[0]}}{
${TAB[1]}opt_err $NLS\"option requires an argument -- \$1\"
${TAB[0]}}"
fi

echo "
${TAB[0]}${FUNCKEY1}opt_arg_version$FUNCKEY2${LINEUP_BRACE:-
${TAB[0]}}{
${TAB[1]}echo $NLS\"$PROGRAM $VERSION
Written by $AUTHOR.

Copyright (C) $YEAR $AUTHOR$FREECOPY\"
${TAB[1]}exit 0
${TAB[0]}}

${TAB[0]}${FUNCKEY1}opt_arg_usage$FUNCKEY2${LINEUP_BRACE:-
${TAB[0]}}{
${TAB[1]}echo $NLS\"Usage: \$0 $USAGE$SHORT
"
eval "$HELP"
echo "$DEFAULTS_TXT$BUGSTO\"
${TAB[1]}exit 0
${TAB[0]}}"

if ! $OPTIONS_ONLY
then
    echo -n "
${TAB[0]}declare -a ARGV"
fi

echo "$DEFVARS

${TAB[0]}${FUNCKEY1}optarg_parse$FUNCKEY2${LINEUP_BRACE:-
${TAB[0]}}{
${TAB[1]}until [ \$# -eq 0 ]${LINEUP_SEMIC:-
${TAB[1]}}do
${TAB[2]}case \"\$1\" in$LONGPARSE"

if ! $OPTIONS_ONLY
then
    echo "${TAB[2+CASETAB]}-- )
${TAB[3+CASETAB]}shift
${TAB[3+CASETAB]}ARGV=( \"\${ARGV[@]}\" \"\$@\" )
${TAB[3+CASETAB]}break
${TAB[3+CASETAB]};;"
fi

echo "${TAB[2+CASETAB]}--* )
${TAB[3+CASETAB]}opt_err_bad_arg \$1
${TAB[3+CASETAB]};;"

if $OPTIONS_ONLY
then
    echo "${TAB[2+CASETAB]}- )
${TAB[3+CASETAB]}opt_err_bad_arg \$1
${TAB[3+CASETAB]};;"
else
    echo "${TAB[2+CASETAB]}- )
${TAB[3+CASETAB]}ARGV=( \"\${ARGV[@]}\" \"\$1\" )
${TAB[3+CASETAB]};;"
fi

echo "${TAB[2+CASETAB]}-* )
${TAB[3+CASETAB]}OPTTMP=\"\${1:1}\"
${TAB[3+CASETAB]}until [[ -z \"\$OPTTMP\" ]]${LINEUP_SEMIC:-
${TAB[3+CASETAB]}}do
${TAB[4+CASETAB]}case \"\${OPTTMP:0:1}\" in$SHORTPARSE
${TAB[4+2*CASETAB]}* )
${TAB[5+2*CASETAB]}opt_err_bad_sarg \${OPTTMP:0:1}
${TAB[5+2*CASETAB]};;
${TAB[4+CASETAB]}esac
${TAB[4+CASETAB]}OPTTMP=\"\${OPTTMP:1}\"
${TAB[3+CASETAB]}done
${TAB[3+CASETAB]};;"

if $OPTIONS_ONLY
then
    echo "${TAB[2+CASETAB]}* )
${TAB[3+CASETAB]}opt_err_bad_arg \"\$1\"
${TAB[3+CASETAB]};;"
else
    echo "${TAB[2+CASETAB]}* )
${TAB[3+CASETAB]}ARGV=( \"\${ARGV[@]}\" \"\$1\" )
${TAB[3+CASETAB]};;"
fi

echo "${TAB[2]}esac
${TAB[2]}shift
${TAB[1]}done
}

${TAB[0]}optarg_parse $DEFAULTS\"\$@\"

${TAB[0]}\$OPTARG_HELP && opt_arg_usage
${TAB[0]}\$OPTARG_VERSION && opt_arg_version

${TAB[0]}unset opt_err opt_err_bad_arg opt_err_bad_sarg\\"

if $REQ_ARG
then echo -n "${TAB[0]} opt_err_req_arg"
fi

if $NO_ARG
then echo -n "${TAB[0]} opt_err_no_arg"
fi

if $REQ_SARG
then echo -n "${TAB[0]} opt_err_req_sarg"
fi

echo "${TAB[0]} opt_arg_version\\
${TAB[0]} opt_arg_usage optarg_parse OPTTMP

#END genopts parser
"

while read -r
do
    echo "$REPLY"
done
openSUSE Build Service is sponsored by