(CommandList children: [ (FuncDef name: log_error_and_exit body: (BraceGroup children: [ (C {(echo)} {($ VSub_Number "$0") (Lit_Other ":")} {($ VSub_At "$@")}) (C {(exit)} {(1)}) ] spids: [33] ) spids: [29 32] ) (FuncDef name: process_entry body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "]")}) (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")}) ] op_id: Op_DPipe ) terminator: <Op_Semi ";"> ) ] action: [(C {(log_error_and_exit)} {(DQ ("bad arguments to process_entry()"))})] spids: [-1 83] ) ] spids: [-1 93] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:root) op: Equal rhs: {(DQ ($ VSub_Number "$1"))} spids: [98] ) ] spids: [96] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:localpath) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [106] ) ] spids: [104] ) (Pipeline children: [(C {(echo)} {($ VSub_Name "$localpath")}) (C {(grep)} {(-qs)} {(SQ <"^/">)})] negated: False ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {($ VSub_QMark "$?")} {(-ne)} {(0)} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [ (C {(log_error_and_exit)} {($ VSub_Name "$localpath")} {(does)} {(not)} {(start)} {(with)} {(/)} ) ] spids: [-1 141] ) ] spids: [-1 159] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:entry) op: Equal rhs: {(DQ ($ VSub_Name "$root") ($ VSub_Name "$localpath"))} spids: [164] ) ] spids: [162] ) (C {(echo)} {(-L) ($ VSub_Name "$entry")}) (C {(echo)} {(-Wl) (Lit_Comma ",") (-rpath-link) (Lit_Other "=") ($ VSub_Name "$entry")}) ] spids: [55] ) spids: [51 54] ) (FuncDef name: process_ld_so_conf body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Number "$1"))} {(Lit_Other "]")}) (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")}) ] op_id: Op_DPipe ) terminator: <Op_Semi ";"> ) ] action: [(C {(log_error_and_exit)} {(DQ ("bad arguments to process_ld_so_conf()"))})] spids: [-1 220] ) ] spids: [-1 230] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:root) op: Equal rhs: {(DQ ($ VSub_Number "$1"))} spids: [235] ) ] spids: [233] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:ld_so_conf) op: Equal rhs: {(DQ ($ VSub_Number "$2"))} spids: [243] ) ] spids: [241] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:saved_pwd) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(pwd)})]) left_token: <Left_CommandSub "$("> spids: [257 259] ) } spids: [256] ) ] spids: [254] ) (C {(cd)} { (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {(DQ ($ VSub_Name "$ld_so_conf"))})] ) left_token: <Left_CommandSub "$("> spids: [264 270] ) } ) (Pipeline children: [ (C {(cat)} {(DQ ($ VSub_Name "$ld_so_conf"))}) (While cond: [(Sentence child:(C {(read)} {(ENTRY)}) terminator:<Op_Semi ";">)] body: (DoGroup children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name "$ENTRY"))}) (C {(grep)} {(-qs)} {(Lit_Other "^") (include)}) ] negated: False ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {($ VSub_QMark "$?")} {(-eq)} {(0)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:included_files) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name "$ENTRY"))}) (C {(sed)} {(SQ <"s/^include //">)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [329 343] ) } spids: [328] ) ] spids: [326] ) (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name "$included_files"))}) (C {(grep)} {(-qs)} {(Lit_Other "^") (/)}) ] negated: False ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {($ VSub_QMark "$?")} {(-eq)} {(0)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [ {(ls)} {($ VSub_Name "$root") ($ VSub_Name "$included_files") } ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [385] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [388] ) ] ) terminator: <Op_Semi ";"> ) ] action: [ (ForEach iter_name: inc_file iter_words: [ {($ VSub_Name "$root") ($ VSub_Name "$included_files") } ] do_arg_iter: False body: (DoGroup children: [ (C {(process_ld_so_conf)} {(DQ ($ VSub_Name "$root"))} {(DQ ($ VSub_Name "$inc_file"))} ) ] spids: [406 420] ) spids: [401 404] ) ] spids: [-1 393] ) ] spids: [-1 423] ) ] spids: [-1 375] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Sentence child: (SimpleCommand words: [ {(ls)} { (CommandSubPart command_list: (CommandList children: [(C {(pwd)})] ) left_token: <Left_CommandSub "$("> spids: [433 435] ) (/) ($ VSub_Name "$included_files") } ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(/dev/null)} spids: [439] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(1)} spids: [442] ) ] ) terminator: <Op_Semi ";"> ) ] action: [ (ForEach iter_name: inc_file iter_words: [ { (CommandSubPart command_list: (CommandList children: [(C {(pwd)})] ) left_token: <Left_CommandSub "$("> spids: [456 458] ) (/) ($ VSub_Name "$included_files") } ] do_arg_iter: False body: (DoGroup children: [ (C {(process_ld_so_conf)} {(DQ ($ VSub_Name "$root"))} {(DQ ($ VSub_Name "$inc_file"))} ) ] spids: [463 477] ) spids: [455 461] ) ] spids: [-1 447] ) ] spids: [-1 480] ) ] spids: [426 483] ) (ControlFlow token: <ControlFlow_Continue continue> ) ] spids: [-1 323] ) ] spids: [-1 489] ) (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name "$ENTRY"))}) (C {(grep)} {(-qs)} {(Lit_Other "^") (/)}) ] negated: False ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {($ VSub_QMark "$?")} {(-eq)} {(0)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(process_entry)} {(DQ ($ VSub_Name "$root"))} {(DQ ($ VSub_Name "$ENTRY"))} ) ] spids: [-1 522] ) ] spids: [-1 536] ) ] spids: [291 539] ) ) ] negated: False ) (C {(cd)} {(DQ ($ VSub_Name "$saved_pwd"))}) ] spids: [192] ) spids: [188 191] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {($ VSub_Pound "$#")} {(-ne)} {(1)} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} {(Usage)} {($ VSub_Number "$0")} {(/abspath/to/sysroot)}) (C {(exit)} {(1)}) ] spids: [-1 573] ) ] spids: [-1 589] ) (Pipeline children: [(C {(echo)} {($ VSub_Number "$1")}) (C {(grep)} {(-qs)} {(SQ <" ">)})] negated: False ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {($ VSub_QMark "$?")} {(-eq)} {(0)} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [(C {(log_error_and_exit)} {($ VSub_Number "$1")} {(contains)} {(whitespace.)})] spids: [-1 619] ) ] spids: [-1 630] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LD_SO_CONF) op: Equal rhs: {(DQ ($ VSub_Number "$1") (/etc/ld.so.conf))} spids: [633] ) ] spids: [633] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LD_SO_CONF_D) op: Equal rhs: {(DQ ($ VSub_Number "$1") (/etc/ld.so.conf.d))} spids: [639] ) ] spids: [639] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-e)} {(DQ ($ VSub_Name "$LD_SO_CONF"))} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [ (Pipeline children: [ (C {(process_ld_so_conf)} {(DQ ($ VSub_Number "$1"))} {(DQ ($ VSub_Name "$LD_SO_CONF"))}) (C {(xargs)} {(echo)}) ] negated: False ) ] spids: [-1 659] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-e)} {(DQ ($ VSub_Name "$LD_SO_CONF_D"))} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [ (SimpleCommand words: [ {(find)} {(DQ ($ VSub_Name "$LD_SO_CONF_D"))} {(-maxdepth)} {(1)} {(-name)} {(SQ <"*.conf">)} {(-print)} {(-quit)} ] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[714])] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {($ VSub_QMark "$?")} {(-eq)} {(0)} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [ (Pipeline children: [ (ForEach iter_name: entry iter_words: [{($ VSub_Name "$LD_SO_CONF_D") (/) (Lit_Other "*") (.conf)}] do_arg_iter: False body: (DoGroup children: [ (C {(process_ld_so_conf)} {(DQ ($ VSub_Number "$1"))} {(DQ ($ VSub_Name "$entry"))} ) ] spids: [747 761] ) spids: [740 745] ) (C {(xargs)} {(echo)}) ] negated: False ) ] spids: [-1 732] ) ] spids: [-1 770] ) ] spids: [678 691] ) ] spids: [-1 772] ) ] )