(List (= scope= flags=0 words=[] bindings=[('doit', {[DQ [VarSub DOITPROG test_op=VS_TEST_HYPHEN {}]]})]) (= scope= flags=0 words=[] bindings=[('mvprog', {[DQ [VarSub MVPROG test_op=VS_TEST_HYPHEN {[LIT_CHARS mv]}]]})]) (= scope= flags=0 words=[] bindings=[('cpprog', {[DQ [VarSub CPPROG test_op=VS_TEST_HYPHEN {[LIT_CHARS cp]}]]})]) (= scope= flags=0 words=[] bindings=[('chmodprog', {[DQ [VarSub CHMODPROG test_op=VS_TEST_HYPHEN {[LIT_CHARS chmod]}]]})]) (= scope= flags=0 words=[] bindings=[('chownprog', {[DQ [VarSub CHOWNPROG test_op=VS_TEST_HYPHEN {[LIT_CHARS chown]}]]})]) (= scope= flags=0 words=[] bindings=[('chgrpprog', {[DQ [VarSub CHGRPPROG test_op=VS_TEST_HYPHEN {[LIT_CHARS chgrp]}]]})]) (= scope= flags=0 words=[] bindings=[('stripprog', {[DQ [VarSub STRIPPROG test_op=VS_TEST_HYPHEN {[LIT_CHARS strip]}]]})]) (= scope= flags=0 words=[] bindings=[('rmprog', {[DQ [VarSub RMPROG test_op=VS_TEST_HYPHEN {[LIT_CHARS rm]}]]})]) (= scope= flags=0 words=[] bindings=[('mkdirprog', {[DQ [VarSub MKDIRPROG test_op=VS_TEST_HYPHEN {[LIT_CHARS mkdir]}]]})]) (= scope= flags=0 words=[] bindings=[('tranformbasename', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('transform_arg', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('instcmd', {[DQ [VarSub mvprog]]})]) (= scope= flags=0 words=[] bindings=[('chmodcmd', {[DQ [VarSub chmodprog][LIT_CHARS " 0755"]]})]) (= scope= flags=0 words=[] bindings=[('chowncmd', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('chgrpcmd', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('stripcmd', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('rmcmd', {[DQ [VarSub rmprog][LIT_CHARS " -f"]]})]) (= scope= flags=0 words=[] bindings=[('mvcmd', {[DQ [VarSub mvprog]]})]) (= scope= flags=0 words=[] bindings=[('src', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('dst', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('dir_arg', {[DQ ]})]) (While (Com {[LIT_OTHER "["]} {[LIT_CHARS x] [DQ [VarSub 1]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS x]} {[LIT_OTHER "]"]}) (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_CHARS -c]}], [{[LIT_CHARS -d]}], [{[LIT_CHARS -m]}], [{[LIT_CHARS -o]}], [{[LIT_CHARS -g]}], [{[LIT_CHARS -s]}], [{[LIT_CHARS -t] [LIT_OTHER "="] [LIT_OTHER "*"]}], [{[LIT_CHARS -b] [LIT_OTHER "="] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (List (= scope= flags=0 words=[] bindings=[('instcmd', {[DQ [VarSub cpprog]]})]) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS continue]}) ) (List (= scope= flags=0 words=[] bindings=[('dir_arg', {[LIT_CHARS true]})]) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS continue]}) ) (List (= scope= flags=0 words=[] bindings=[('chmodcmd', {[DQ [VarSub chmodprog][LIT_CHARS " "][VarSub 2]]})]) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS continue]}) ) (List (= scope= flags=0 words=[] bindings=[('chowncmd', {[DQ [VarSub chownprog][LIT_CHARS " "][VarSub 2]]})]) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS continue]}) ) (List (= scope= flags=0 words=[] bindings=[('chgrpcmd', {[DQ [VarSub chgrpprog][LIT_CHARS " "][VarSub 2]]})]) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS continue]}) ) (List (= scope= flags=0 words=[] bindings=[('stripcmd', {[DQ [VarSub stripprog]]})]) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS continue]}) ) (List (= scope= flags=0 words=[] bindings=[('transformarg', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[VarSub 1]}) (Com {[LIT_CHARS sed]} {[SQ ]}) )]})]) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS continue]}) ) (List (= scope= flags=0 words=[] bindings=[('transformbasename', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[VarSub 1]}) (Com {[LIT_CHARS sed]} {[SQ ]}) )]})]) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS continue]}) ) (List (If (Com {[LIT_OTHER "["]} {[LIT_CHARS x] [DQ [VarSub src]]} {[LIT_OTHER "="]} {[LIT_CHARS x]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('src', {[VarSub 1]})]) (ElseTrue) (List (Com {[LIT_OTHER ":"]}) (= scope= flags=0 words=[] bindings=[('dst', {[VarSub 1]})]) ) ) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS continue]}) ) ) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS x] [DQ [VarSub src]]} {[LIT_OTHER "="]} {[LIT_CHARS x]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "install:\tno input file specified"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) (ElseTrue) (Com {[LIT_CHARS true]}) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS x] [DQ [VarSub dir_arg]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS x]} {[LIT_OTHER "]"]}) (List (= scope= flags=0 words=[] bindings=[('dst', {[VarSub src]})]) (= scope= flags=0 words=[] bindings=[('src', {[DQ ]})]) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -d]} {[VarSub dst]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('instcmd', {[LIT_OTHER ":"]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('instcmd', {[LIT_CHARS mkdir]})]) ) ) (ElseTrue) (List (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[VarSub src]} {[LIT_CHARS -o]} {[LIT_CHARS -d]} {[VarSub src]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS true]}) (ElseTrue) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "install: "][VarSub src][LIT_CHARS " does not exist"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS x] [DQ [VarSub dst]]} {[LIT_OTHER "="]} {[LIT_CHARS x]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "install:\tno destination specified"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) (ElseTrue) (Com {[LIT_CHARS true]}) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -d]} {[VarSub dst]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('dst', {[DQ [VarSub dst]] [LIT_CHARS /] [ComSub (Com {[LIT_CHARS basename]} {[VarSub src]})]})]) (ElseTrue) (Com {[LIT_CHARS true]}) ) ) ) (= scope= flags=0 words=[] bindings=[('dstdir', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[VarSub dst]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]}) )]})]) (If (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -d]} {[DQ [VarSub dstdir]]} {[LIT_OTHER "]"]}) (List (= scope= flags=0 words=[] bindings=[('defaultIFS', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('IFS', {[DQ [VarSub IFS test_op=VS_TEST_HYPHEN {[VarSub defaultIFS]}]]})]) (= scope= flags=0 words=[] bindings=[('oIFS', {[DQ [VarSub IFS]]})]) (= scope= flags=0 words=[] bindings=[('IFS', {[SQ ]})]) (Com {[LIT_CHARS set]} {[LIT_CHARS -]} {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[VarSub dstdir]}) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]}) )]}) (= scope= flags=0 words=[] bindings=[('IFS', {[DQ [VarSub oIFS]]})]) (= scope= flags=0 words=[] bindings=[('pathcomp', {[SQ ]})]) (While (Com {[LIT_OTHER "["]} {[VarSub #]} {[LIT_CHARS -ne]} {[LIT_CHARS 0]} {[LIT_OTHER "]"]}) (List (= scope= flags=0 words=[] bindings=[('pathcomp', {[DQ [VarSub pathcomp][VarSub 1]]})]) (Com {[LIT_CHARS shift]}) (If (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -d]} {[DQ [VarSub pathcomp]]} {[LIT_OTHER "]"]}) (Com {[VarSub mkdirprog]} {[DQ [VarSub pathcomp]]}) (ElseTrue) (Com {[LIT_CHARS true]}) ) (= scope= flags=0 words=[] bindings=[('pathcomp', {[DQ [VarSub pathcomp][LIT_CHARS /]]})]) ) ) ) ) (AndOr OP_AND_IF (If (Com {[LIT_OTHER "["]} {[LIT_CHARS x] [DQ [VarSub dir_arg]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS x]} {[LIT_OTHER "]"]}) (AndOr OP_AND_IF (Com {[VarSub doit]} {[VarSub instcmd]} {[VarSub dst]}) (AndOr OP_AND_IF (If (Com {[LIT_OTHER "["]} {[LIT_CHARS x] [DQ [VarSub chowncmd]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS x]} {[LIT_OTHER "]"]}) (Com {[VarSub doit]} {[VarSub chowncmd]} {[VarSub dst]}) (ElseTrue) (Com {[LIT_CHARS true]}) ) (AndOr OP_AND_IF (If (Com {[LIT_OTHER "["]} {[LIT_CHARS x] [DQ [VarSub chgrpcmd]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS x]} {[LIT_OTHER "]"]}) (Com {[VarSub doit]} {[VarSub chgrpcmd]} {[VarSub dst]}) (ElseTrue) (Com {[LIT_CHARS true]}) ) (AndOr OP_AND_IF (If (Com {[LIT_OTHER "["]} {[LIT_CHARS x] [DQ [VarSub stripcmd]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS x]} {[LIT_OTHER "]"]}) (Com {[VarSub doit]} {[VarSub stripcmd]} {[VarSub dst]}) (ElseTrue) (Com {[LIT_CHARS true]}) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS x] [DQ [VarSub chmodcmd]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS x]} {[LIT_OTHER "]"]}) (Com {[VarSub doit]} {[VarSub chmodcmd]} {[VarSub dst]}) (ElseTrue) (Com {[LIT_CHARS true]}) ) ) ) ) ) (ElseTrue) (List (If (Com {[LIT_OTHER "["]} {[LIT_CHARS x] [DQ [VarSub transformarg]]} {[LIT_OTHER "="]} {[LIT_CHARS x]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('dstfile', {[ComSub (Com {[LIT_CHARS basename]} {[VarSub dst]})]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('dstfile', {[ComSub (Pipeline (Com {[LIT_CHARS basename]} {[VarSub dst]} {[VarSub transformbasename]}) (Com {[LIT_CHARS sed]} {[VarSub transformarg]}) )] [VarSub transformbasename]})]) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS x] [DQ [VarSub dstfile]]} {[LIT_OTHER "="]} {[LIT_CHARS x]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('dstfile', {[ComSub (Com {[LIT_CHARS basename]} {[VarSub dst]})]})]) (ElseTrue) (Com {[LIT_CHARS true]}) ) (= scope= flags=0 words=[] bindings=[('dsttmp', {[VarSub dstdir] [LIT_CHARS /] [LIT_POUND "#"] [LIT_CHARS inst.] [VarSub $] [LIT_POUND "#"]})]) (AndOr OP_AND_IF (Com {[VarSub doit]} {[VarSub instcmd]} {[VarSub src]} {[VarSub dsttmp]}) (AndOr OP_AND_IF (Com {[LIT_CHARS trap]} {[DQ [LIT_CHARS "rm -f "][VarSub dsttmp]]} {[LIT_CHARS 0]}) (AndOr OP_AND_IF (If (Com {[LIT_OTHER "["]} {[LIT_CHARS x] [DQ [VarSub chowncmd]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS x]} {[LIT_OTHER "]"]}) (Com {[VarSub doit]} {[VarSub chowncmd]} {[VarSub dsttmp]}) (ElseTrue) (Com {[LIT_CHARS true]}) ) (AndOr OP_AND_IF (If (Com {[LIT_OTHER "["]} {[LIT_CHARS x] [DQ [VarSub chgrpcmd]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS x]} {[LIT_OTHER "]"]}) (Com {[VarSub doit]} {[VarSub chgrpcmd]} {[VarSub dsttmp]}) (ElseTrue) (Com {[LIT_CHARS true]}) ) (AndOr OP_AND_IF (If (Com {[LIT_OTHER "["]} {[LIT_CHARS x] [DQ [VarSub stripcmd]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS x]} {[LIT_OTHER "]"]}) (Com {[VarSub doit]} {[VarSub stripcmd]} {[VarSub dsttmp]}) (ElseTrue) (Com {[LIT_CHARS true]}) ) (AndOr OP_AND_IF (If (Com {[LIT_OTHER "["]} {[LIT_CHARS x] [DQ [VarSub chmodcmd]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS x]} {[LIT_OTHER "]"]}) (Com {[VarSub doit]} {[VarSub chmodcmd]} {[VarSub dsttmp]}) (ElseTrue) (Com {[LIT_CHARS true]}) ) (AndOr OP_AND_IF (Com {[VarSub doit]} {[VarSub rmcmd]} {[LIT_CHARS -f]} {[VarSub dstdir] [LIT_CHARS /] [VarSub dstfile]}) (Com {[VarSub doit]} {[VarSub mvcmd]} {[VarSub dsttmp]} {[VarSub dstdir] [LIT_CHARS /] [VarSub dstfile]}) ) ) ) ) ) ) ) ) ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) ) )