(command.CommandList children: [ (C {<set>} {<-e>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:url) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [21] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:toinstall) op: assign_op.Equal rhs: {($ Id.VSub_Number '$2')} spids: [24] ) ] ) (command.ForEach iter_name: i iter_words: [{<curl>} {<xmllint>} {<gunzip>} {<sort>} {<sha256sum>} {<7z>}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Simple words: [{<which>} {($ Id.VSub_DollarName '$i')}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ) ) } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} { (DQ <'error: this script requires having '> ($ Id.VSub_DollarName '$i') <' installed'> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [50 70] ) ] ) ] ) ) (command.ShFunction name: retry_curl body: (BraceGroup children: [ (command.ForEach iter_name: i iter_words: [{(command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<seq>} {<10>}))}] do_arg_iter: F body: (command.DoGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<curl>} {<-fLsS>} {($ Id.VSub_Number '$1')}) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] ) ] ) ) (command.Simple words: [{<echo>} {(DQ <'error: failed to download '> ($ Id.VSub_Number '$1'))}] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:xp) op: assign_op.Equal rhs: {(DQ <'xmllint --xpath'>)} spids: [157] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:loc) op: assign_op.Equal rhs: {(DQ <'local-name()='>)} spids: [165] ) ] ) (C {<eval>} { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<retry_curl>} {($ Id.VSub_DollarName '$url') <'/repodata/repomd.xml'>}) (C {($ Id.VSub_DollarName '$xp')} { (DQ <'/*['> ($ Id.VSub_DollarName '$loc') <'\'repomd\'] '> <' /*['> ($ Id.VSub_DollarName '$loc') <'\'data\'][@type=\'primary\']/*['> ($ Id.VSub_DollarName '$loc') <'\'location\']/@href'> ) } {<->} ) ] negated: F ) ) } ) (command.Case to_match: {($ Id.VSub_DollarName '$href')} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <.gz>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:primary) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<retry_curl>} {($ Id.VSub_DollarName '$url') <'/'> ($ Id.VSub_DollarName '$href')} ) (C {<gunzip>}) ] negated: F ) ) } spids: [210] ) ] ) ] spids: [205 207 222 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:primary) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<retry_curl>} {($ Id.VSub_DollarName '$url') <'/'> ($ Id.VSub_DollarName '$href')} ) ) } spids: [229] ) ] ) ] spids: [225 226 237 -1] ) ] ) (command.ShFunction name: rpm_select body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:candidates) op: assign_op.Equal rhs: { (DQ <'<c>'> (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$primary')}) (command.Simple words: [ {($ Id.VSub_DollarName '$xp')} { (DQ <'//*['> ($ Id.VSub_DollarName '$loc') <'\'package\'] '> <' [./*['> ($ Id.VSub_DollarName '$loc') <'\'name\' and .=\''> ($ Id.VSub_Number '$1') <'\']][./*['> ($ Id.VSub_DollarName '$loc') <'\'arch\' and .=\'noarch\']]'> ) } {<->} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (C {<sed>} {<-e>} {(SQ <'s|<rpm:|<|g'>)} {<-e>} {(SQ <'s|</rpm:|</|g'>)}) ] negated: F ) ) <'</c>'> ) } spids: [255] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$candidates'))} {<Id.Lit_Equals '='>} {(DQ <'<c></c>'>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} {(DQ <'error: no package candidates found for '> ($ Id.VSub_Number '$1'))} ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [312 329] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:epochs) op: assign_op.Equal rhs: {(DQ )} spids: [351] ) ] ) (command.ForEach iter_name: i iter_words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$candidates')}) (C {($ Id.VSub_DollarName '$xp')} {(DQ <'/c/package/version/@epoch'>)} {<->}) ] negated: F ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (C {<eval>} {($ Id.VSub_DollarName '$i')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:epochs) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$epochs') <' '> ($ Id.VSub_DollarName '$epoch') ) } spids: [387] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:maxepoch) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$epochs')}) (C {<sed>} {(SQ <'s/ /\\n/g'>)}) (C {<sort>} {<-V>} {<-u>}) (C {<tail>} {<-n>} {<1>}) ] negated: F ) ) } spids: [398] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vers) op: assign_op.Equal rhs: {(DQ )} spids: [430] ) ] ) (command.ForEach iter_name: i iter_words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$candidates')}) (C {($ Id.VSub_DollarName '$xp')} { (DQ <'/c/package/version '> <' [@epoch=\''> ($ Id.VSub_DollarName '$maxepoch') <'\']/@ver'> ) } {<->} ) ] negated: F ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (C {<eval>} {($ Id.VSub_DollarName '$i')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:vers) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$vers') <' '> ($ Id.VSub_DollarName '$ver'))} spids: [470] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:maxver) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$vers')}) (C {<sed>} {(SQ <'s/ /\\n/g'>)}) (C {<sort>} {<-V>} {<-u>}) (C {<tail>} {<-n>} {<1>}) ] negated: F ) ) } spids: [481] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:rels) op: assign_op.Equal rhs: {(DQ )} spids: [513] ) ] ) (command.ForEach iter_name: i iter_words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$candidates')}) (C {($ Id.VSub_DollarName '$xp')} { (DQ <'/c/package/version '> <' [@epoch=\''> ($ Id.VSub_DollarName '$maxepoch') <'\'][@ver=\''> ($ Id.VSub_DollarName '$maxver') <'\']/@rel'> ) } {<->} ) ] negated: F ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (C {<eval>} {($ Id.VSub_DollarName '$i')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:rels) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$rels') <' '> ($ Id.VSub_DollarName '$rel'))} spids: [555] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:maxrel) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$rels')}) (C {<sed>} {(SQ <'s/ /\\n/g'>)}) (C {<sort>} {<-V>} {<-u>}) (C {<tail>} {<-n>} {<1>}) ] negated: F ) ) } spids: [566] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:repeats) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$rels')}) (C {<sed>} {(SQ <'s/ /\\n/g'>)}) (C {<sort>} {<-V>}) (C {<uniq>} {<-d>}) (C {<tail>} {<-n>} {<1>}) ] negated: F ) ) } spids: [598] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName '$repeats'))} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName '$maxrel'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} { (DQ <'warning: multiple candidates found for '> ($ Id.VSub_Number '$1') <' with same version:'> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.Simple words: [ {<echo>} { (DQ <'epoch '> ($ Id.VSub_DollarName '$maxepoch') <', ver '> ($ Id.VSub_DollarName '$maxver') <', rel '> ($ Id.VSub_DollarName '$maxrel') <', picking at random'> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) ] spids: [634 651] ) ] ) (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$candidates')}) (C {($ Id.VSub_DollarName '$xp')} { (DQ <'/c/package[version[@epoch=\''> ($ Id.VSub_DollarName '$maxepoch') <'\'] '> <' [@ver=\''> ($ Id.VSub_DollarName '$maxver') <'\'][@rel=\''> ($ Id.VSub_DollarName '$maxrel') <'\']][1]'> ) } {<->} ) ] negated: F ) ] ) ) (command.ForEach iter_name: i iter_words: [{($ Id.VSub_DollarName '$toinstall')}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<rpm_select>} {($ Id.VSub_DollarName '$i')}) ) ) } {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})] spids: [726 743] ) ] ) ] ) ) (command.ShFunction name: rpm_requires body: (BraceGroup children: [ (command.ForEach iter_name: i iter_words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<rpm_select>} {($ Id.VSub_Number '$1')}) (command.Simple words: [ {($ Id.VSub_DollarName '$xp')} {(DQ <'/package/format/requires/entry/@name'>)} {<->} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ] negated: F ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (C {<eval>} {($ Id.VSub_DollarName '$i')}) (C {<echo>} {($ Id.VSub_DollarName '$name')}) ] ) ) ] ) ) (command.ShFunction name: rpm_provides body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:providers) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$primary')}) (C {($ Id.VSub_DollarName '$xp')} { (DQ <'//*['> ($ Id.VSub_DollarName '$loc') <'\'package\'][./*['> ($ Id.VSub_DollarName '$loc') <'\'format\'] '> <' /*['> ($ Id.VSub_DollarName '$loc') <'\'provides\']/*['> ($ Id.VSub_DollarName '$loc') <'\'entry\'][@name=\''> ($ Id.VSub_Number '$1') <'\']]/*['> ($ Id.VSub_DollarName '$loc') <'\'name\']'> ) } {<->} ) (C {<sed>} {<-e>} {(SQ <'s|<name>||g'>)} {<-e>} {(SQ <'s|</name>|\\n|g'>)}) (C {<sort>} {<-u>}) ] negated: F ) ) } spids: [822] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$providers')}) (C {<wc>} {<-w>}) ] negated: F ) ) } {<-gt>} {<1>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} { (DQ <'warning: found multiple providers '> ($ Id.VSub_DollarName '$providers') <' for '> ($ Id.VSub_Number '$1') <', adding all'> ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) ] spids: [878 901] ) ] ) (C {<echo>} {($ Id.VSub_DollarName '$providers')}) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:newpkgs) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$toinstall')} spids: [928] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:allrequires) op: assign_op.Equal rhs: {(DQ )} spids: [931] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName '$newpkgs'))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:newrequires) op: assign_op.Equal rhs: {(DQ )} spids: [951] ) ] ) (command.ForEach iter_name: i iter_words: [{($ Id.VSub_DollarName '$newpkgs')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ForEach iter_name: j iter_words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<rpm_requires>} {($ Id.VSub_DollarName '$i')}) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.Case to_match: { (DQ <' '> ($ Id.VSub_DollarName '$allrequires') <' '> ($ Id.VSub_DollarName '$newrequires') <' '> ) } arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName '$j') <' '>) <Id.Lit_Star '*'> } ] spids: [1001 1008 1014 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:newrequires) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$newrequires') <' '> ($ Id.VSub_DollarName '$j') ) } spids: [1021] ) ] ) ] spids: [1017 1018 1027 -1] ) ] ) ] ) ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:allrequires) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$allrequires') <' '> ($ Id.VSub_DollarName '$newrequires') ) } spids: [1039] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:newpkgs) op: assign_op.Equal rhs: {(DQ )} spids: [1047] ) ] ) (command.ForEach iter_name: i iter_words: [{($ Id.VSub_DollarName '$newrequires')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:provides) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<rpm_provides>} {($ Id.VSub_DollarName '$i')}) ) ) } spids: [1064] ) ] ) (command.Case to_match: { (DQ <' '> ($ Id.VSub_DollarName '$toinstall') <' '> ($ Id.VSub_DollarName '$newpkgs') <' '> ) } arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> (DQ <' '> ($ Id.VSub_DollarName '$provides') <' '>) <Id.Lit_Star '*'> } ] spids: [1087 1094 1100 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:newpkgs) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$newpkgs') <' '> ($ Id.VSub_DollarName '$provides') ) } spids: [1107] ) ] ) ] spids: [1103 1104 1113 -1] ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:toinstall) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$toinstall') <' '> ($ Id.VSub_DollarName '$newpkgs'))} spids: [1122] ) ] ) ] ) ) (C {<mkdir>} {<-p>} {<noarch>}) (command.ForEach iter_name: i iter_words: [{($ Id.VSub_DollarName '$toinstall')}] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgi) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<rpm_select>} {($ Id.VSub_DollarName '$i')}) ) } spids: [1150] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:checksum) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$pkgi')}) (C {($ Id.VSub_DollarName '$xp')} {(DQ <'/package/checksum/text()'>)} {<->} ) ] negated: F ) ) } spids: [1158] ) ] ) (C {<eval>} { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$pkgi')}) (C {($ Id.VSub_DollarName '$xp')} {(DQ <'/package/location/@href'>)} {<->}) ] negated: F ) ) } ) (C {<echo>} {(DQ <'downloading '> ($ Id.VSub_DollarName '$href'))}) (C { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<dirname>} {(DQ ($ Id.VSub_Number '$0'))}) ) <'/../../deps/tools/jldownload'> } {($ Id.VSub_DollarName '$href')} {($ Id.VSub_DollarName '$url') <'/'> ($ Id.VSub_DollarName '$href')} ) (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$checksum') <' *'> ($ Id.VSub_DollarName '$href'))} ) (C {<sha256sum>} {<-c>}) ] negated: F ) (C {<7z>} {<x>} {<-y>} {($ Id.VSub_DollarName '$href')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cpiofile) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<basename>} {($ Id.VSub_DollarName '$href')}) (C {<sed>} {(SQ <'s/.rpm$/.cpio/'>)}) ] negated: F ) ) } spids: [1243] ) ] ) (C {<rm>} {($ Id.VSub_DollarName '$href')}) (C {<7z>} {<x>} {<-y>} {($ Id.VSub_DollarName '$cpiofile')}) (C {<rm>} {($ Id.VSub_DollarName '$cpiofile')}) ] ) ) (C {<rmdir>} {<--ignore-fail-on-non-empty>} {<noarch>}) ] )