(CommandList children: [ (C {(set)} {(-e)}) (FuncDef name: usage body: (BraceGroup children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: -1 body: { (DQ ('Usage:\n') ($ VSub_Number '$0') (' [-o <file>] [-u <uid>] [-g <gid>] {-d | <cpio_source>} ...\n') ('\t-o <file> Create compressed initramfs file named <file> using\n') ('\t\t gen_init_cpio and compressor depending on the extension\n') ('\t-u <uid> User ID to map to user ID 0 (root).\n') ('\t\t <uid> is only meaningful if <cpio_source> is a\n') ('\t\t directory. ') (Right_DoubleQuote '"') (squash) (Right_DoubleQuote '"') (' forces all files to uid 0.\n') ('\t-g <gid> Group ID to map to group ID 0 (root).\n') ('\t\t <gid> is only meaningful if <cpio_source> is a\n') ('\t\t directory. ') (Right_DoubleQuote '"') (squash) (Right_DoubleQuote '"') (' forces all files to gid 0.\n') ('\t<cpio_source> File list or directory for cpio archive.\n') ('\t\t If <cpio_source> is a .cpio file it will be used\n') ('\t\t as direct input to initramfs.\n') ('\t-d Output the default cpio list.\n') ('\n') ('All options except -o and -l may be repeated and are interpreted\n') ('sequentially and immediately. -u and -g states are preserved across\n') ('<cpio_source> options so an explicit ') (Right_DoubleQuote '"') ('-u 0 -g 0') (Right_DoubleQuote '"') (' is required\n') ('to reset the root/group mapping.\n') ) } do_expansion: True here_end: EOF was_filled: True spids: [47] ) ] ) ] spids: [43] ) spids: [39 42] ) (FuncDef name: field body: (BraceGroup children: [ (Sentence child:(C {(shift)} {($ VSub_Number '$1')}) terminator:<Op_Semi ';'>) (C {(echo)} {($ VSub_Number '$1')}) ] spids: [96] ) spids: [92 95] ) (FuncDef name: list_default_initramfs body: (BraceGroup children:[(C {(Lit_Other ':')})] spids:[116]) spids: [112 115] ) (FuncDef name: default_initramfs body: (BraceGroup children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLessDash fd: -1 body: { (DQ ('# This is a very simple, default initramfs\n') ('\n') ('dir /dev 0755 0 0\n') ('nod /dev/console 0600 0 0 c 5 1\n') ('dir /root 0700 0 0\n') ('# file /kinit usr/kinit/kinit 0755 0 0\n') ('# slink /init kinit 0755 0 0\n') ) } do_expansion: True here_end: EOF was_filled: True spids: [137] ) (Redir op_id: Redir_DGreat fd: -1 arg_word: {(${ VSub_Name output)} spids: [140] ) ] ) ] spids: [132] ) spids: [128 131] ) (FuncDef name: filetype body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:argv1) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [165] ) ] spids: [163] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-L)} {(DQ (${ VSub_Name argv1))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ (slink))})] spids: [-1 191] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-f)} {(DQ (${ VSub_Name argv1))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ (file))})] spids: [201 216] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-d)} {(DQ (${ VSub_Name argv1))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ (dir))})] spids: [226 241] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-b)} {(DQ (${ VSub_Name argv1))} {(-o)} {(-c)} {(DQ (${ VSub_Name argv1))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ (nod))})] spids: [251 276] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-p)} {(DQ (${ VSub_Name argv1))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ (pipe))})] spids: [286 301] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-S)} {(DQ (${ VSub_Name argv1))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ (sock))})] spids: [311 326] ) ] else_action: [(C {(echo)} {(DQ (invalid))})] spids: [336 346] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [160] ) spids: [156 159] ) (FuncDef name: list_print_mtime body: (BraceGroup children:[(C {(Lit_Other ':')})] spids:[360]) spids: [356 359] ) (FuncDef name: print_mtime body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:my_mtime) op:Equal rhs:{(DQ (0))} spids:[377])] spids: [375] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-e)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:my_mtime) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(find)} {(DQ ($ VSub_Number '$1'))} {(-printf)} { (DQ ('%T@') (EscapedLiteralPart token: <Lit_EscapedChar '\\n'> ) ) } ) (C {(sort)} {(-r)}) (C {(head)} {(-n)} {(1)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [401 428] ) } spids: [400] ) ] spids: [400] ) ] spids: [-1 397] ) ] spids: [-1 431] ) (SimpleCommand words: [{(echo)} {(DQ ('# Last modified: ') (${ VSub_Name my_mtime))}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(${ VSub_Name output)} spids: [444] ) ] ) (SimpleCommand words: [{(echo)} {(DQ )}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(${ VSub_Name output)} spids: [456] ) ] ) ] spids: [372] ) spids: [368 371] ) (FuncDef name: list_parse body: (BraceGroup children: [ (AndOr children: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(-L)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')}) (AndOr children: [ (C {(echo)} { (DQ ($ VSub_Number '$1') (' ') (EscapedLiteralPart token: <Lit_EscapedChar '\\\\'> ) ) } ) (C {(Lit_Other ':')}) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) ] spids: [469] ) spids: [465 468] ) (FuncDef name: parse body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:location) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [519] ) ] spids: [517] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: { (DQ (/) (BracedVarSub token: <VSub_Name location> suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(${ VSub_Name srcdir)}) spids: [530 536] ) ) } spids: [527] ) ] spids: [525] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$name'))}) (C {(sed)} {(-e)} {(SQ <'s://*:/:g'>)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [545 561] ) } spids: [544] ) ] spids: [544] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:mode) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [566] ) ] spids: [564] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:uid) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [574] ) ] spids: [572] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:gid) op: Equal rhs: {(DQ ($ VSub_Number '$4'))} spids: [582] ) ] spids: [580] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:ftype) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(filetype)} {(DQ (${ VSub_Name location))})] ) left_token: <Left_CommandSub '$('> spids: [591 599] ) } spids: [590] ) ] spids: [588] ) (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$root_uid'))} {(Lit_Other '=')} {(DQ (squash))} {(Lit_Other ']')} ) (AndOr children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:uid) op:Equal rhs:{(0)} spids:[622])] spids: [622] ) (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$uid'))} {(-eq)} {(DQ ($ VSub_Name '$root_uid'))} {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:uid) op:Equal rhs:{(0)} spids:[643])] spids: [643] ) ] op_id: Op_DAmp ) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$root_gid'))} {(Lit_Other '=')} {(DQ (squash))} {(Lit_Other ']')} ) (AndOr children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:gid) op:Equal rhs:{(0)} spids:[663])] spids: [663] ) (AndOr children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$gid'))} {(-eq)} {(DQ ($ VSub_Name '$root_gid'))} {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:gid) op:Equal rhs:{(0)} spids:[684])] spids: [684] ) ] op_id: Op_DAmp ) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:str) op: Equal rhs: {(DQ (${ VSub_Name mode) (' ') (${ VSub_Name uid) (' ') (${ VSub_Name gid))} spids: [690] ) ] spids: [688] ) (AndOr children: [ (C {(Lit_Other '[')} {(DQ (${ VSub_Name ftype))} {(Lit_Other '=')} {(DQ (invalid))} {(Lit_Other ']')} ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] op_id: Op_DAmp ) (AndOr children: [ (C {(Lit_Other '[')} {(DQ (${ VSub_Name location))} {(Lit_Other '=')} {(DQ (${ VSub_Name srcdir))} {(Lit_Other ']')} ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] op_id: Op_DAmp ) (Case to_match: {(DQ (${ VSub_Name ftype))} arms: [ (case_arm pat_list: [{(DQ (file))}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:str) op: Equal rhs: { (DQ (${ VSub_Name ftype) (' ') (${ VSub_Name name) (' ') (${ VSub_Name location) (' ') (${ VSub_Name str) ) } spids: [773] ) ] spids: [773] ) ] spids: [768 770 793 -1] ) (case_arm pat_list: [{(DQ (nod))}] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dev) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(ls)} {(-l)} {(DQ (${ VSub_Name location))}] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[806])] ) ] ) left_token: <Left_Backtick '`'> spids: [805 818] ) } spids: [804] ) ] spids: [802] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:maj) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(field)} {(5)} {(${ VSub_Name dev)})] ) left_token: <Left_Backtick '`'> spids: [824 832] ) } spids: [823] ) ] spids: [821] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:min) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(field)} {(6)} {(${ VSub_Name dev)})] ) left_token: <Left_Backtick '`'> spids: [838 846] ) } spids: [837] ) ] spids: [835] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:maj) op: Equal rhs: { (BracedVarSub token: <VSub_Name maj> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(',')}) spids: [850 854] ) } spids: [849] ) ] spids: [849] ) (AndOr children: [ (C {(Lit_Other '[')} {(-b)} {(DQ (${ VSub_Name location))} {(Lit_Other ']')}) (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dev) op: Equal rhs: {(DQ (b))} spids: [872] ) ] spids: [872] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dev) op: Equal rhs: {(DQ (c))} spids: [879] ) ] spids: [879] ) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:str) op: Equal rhs: { (DQ (${ VSub_Name ftype) (' ') (${ VSub_Name name) (' ') (${ VSub_Name str) (' ') (${ VSub_Name dev) (' ') (${ VSub_Name maj) (' ') (${ VSub_Name min) ) } spids: [886] ) ] spids: [886] ) ] spids: [797 799 914 -1] ) (case_arm pat_list: [{(DQ (slink))}] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:target) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(readlink)} {(DQ (${ VSub_Name location))})] ) left_token: <Left_Backtick '`'> spids: [926 934] ) } spids: [925] ) ] spids: [923] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:str) op: Equal rhs: { (DQ (${ VSub_Name ftype) (' ') (${ VSub_Name name) (' ') (${ VSub_Name target) (' ') (${ VSub_Name str) ) } spids: [937] ) ] spids: [937] ) ] spids: [918 920 957 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:str) op: Equal rhs: { (DQ (${ VSub_Name ftype) (' ') (${ VSub_Name name) (' ') (${ VSub_Name str)) } spids: [964] ) ] spids: [964] ) ] spids: [960 961 980 -1] ) ] spids: [756 764 983] ) (SimpleCommand words: [{(echo)} {(DQ (${ VSub_Name str))}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(${ VSub_Name output)} spids: [995] ) ] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [514] ) spids: [510 513] ) (FuncDef name: unknown_option body: (BraceGroup children: [ (SimpleCommand words: [ {(printf)} { (DQ ('ERROR: unknown option ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$arg') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1027])] ) (SimpleCommand words: [{(printf)} {(DQ ("If the filename validly begins with '-', "))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1037])] ) (SimpleCommand words: [ {(printf)} {(DQ ('then it must be prefixed') (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>))} ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1048])] ) (SimpleCommand words: [{(printf)} {(DQ ("by './' so that it won't be interpreted as an option."))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1058])] ) (SimpleCommand words: [{(printf)} {(DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1068])] ) (SimpleCommand words: [{(usage)}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1074])] ) (C {(exit)} {(1)}) ] spids: [1014] ) spids: [1010 1013] ) (FuncDef name: list_header body: (BraceGroup children:[(C {(Lit_Other ':')})] spids:[1089]) spids: [1085 1088] ) (FuncDef name: header body: (BraceGroup children: [ (SimpleCommand words: [ {(printf)} { (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) ('#####################') (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) ('# ') ($ VSub_Number '$1') (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) ) } ] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(${ VSub_Name output)} spids: [1115] ) ] ) ] spids: [1101] ) spids: [1097 1100] ) (FuncDef name: dir_filelist body: (BraceGroup children: [ (C {(${ VSub_Name dep_list) (header)} {(DQ ($ VSub_Number '$1'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:srcdir) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Number '$1'))}) (C {(sed)} {(-e)} {(SQ <'s://*:/:g'>)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [1146 1162] ) } spids: [1145] ) ] spids: [1145] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dirlist) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(find)} {(DQ (${ VSub_Name srcdir))} {(-printf)} { (DQ ('%p %m %U %G') (EscapedLiteralPart token: <Lit_EscapedChar '\\n'> ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [1166 1181] ) } spids: [1165] ) ] spids: [1165] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ (${ VSub_Name dirlist))}) (C {(wc)} {(-l)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [1194 1208] ) ) } {(-gt)} {(1)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(${ VSub_Name dep_list) (print_mtime)} {(DQ ($ VSub_Number '$1'))}) (Pipeline children: [ (C {(echo)} {(DQ (${ VSub_Name dirlist))}) (While cond: [(Sentence child:(C {(read)} {(x)}) terminator:<Op_Semi ';'>)] body: (DoGroup children: [(C {(${ VSub_Name dep_list) (parse)} {(${ VSub_Name x)})] spids: [1251 1264] ) ) ] negated: False ) ] spids: [-1 1218] ) ] spids: [-1 1267] ) ] spids: [1131] ) spids: [1127 1130] ) (FuncDef name: input_file body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1288] ) ] spids: [1288] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(${ VSub_Name dep_list) (header)} {(DQ ($ VSub_Number '$1'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:is_cpio) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Number '$1'))}) (C {(sed)} {(SQ <'s/^.*\\.cpio\\(\\..*\\)\\?/cpio/'>)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [1322 1336] ) ) } spids: [1320] ) ] spids: [1320] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Number '$2')} {(-eq)} {(0)} {(-a)} {(${ VSub_Name is_cpio)} {(Lit_Other '=')} {(DQ (cpio))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cpio_file) op: Equal rhs: {($ VSub_Number '$1')} spids: [1368] ) ] spids: [1368] ) (AndOr children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Number '$1'))}) (C {(grep)} {(-q)} {(SQ <'^.*\\.cpio\\..*'>)}) ] negated: False ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:is_cpio_compressed) op: Equal rhs: {(DQ (compressed))} spids: [1390] ) ] spids: [1390] ) ] op_id: Op_DAmp ) (AndOr children: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(${ VSub_Name dep_list)} {(Lit_Other ']')} ) (C {(echo)} {(DQ ($ VSub_Number '$1'))}) ] op_id: Op_DAmp ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [-1 1365] ) ] spids: [-1 1422] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(${ VSub_Name dep_list)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(print_mtime)} {(DQ ($ VSub_Number '$1'))}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(${ VSub_Name output)} spids: [1447] ) ] ) (SimpleCommand words: [{(cat)} {(DQ ($ VSub_Number '$1'))}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(${ VSub_Name output)} spids: [1460] ) ] ) ] spids: [-1 1438] ) ] else_action: [ (C {(echo)} { (DQ ($ VSub_Number '$1') (' ') (EscapedLiteralPart token: <Lit_EscapedChar '\\\\'> ) ) } ) (Pipeline children: [ (C {(cat)} {(DQ ($ VSub_Number '$1'))}) (While cond: [ (Sentence child: (C {(read)} {(type)} {(dir)} {(file)} {(perm)}) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$type'))} {(Lit_Other '=')} {(DQ (file))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (C {(echo)} { (DQ ($ VSub_Name '$file') (' ') (EscapedLiteralPart token: <Lit_EscapedChar '\\\\'> ) ) } ) terminator: <Op_Semi ';'> ) ] spids: [-1 1521] ) ] spids: [-1 1534] ) ] spids: [1501 1537] ) ) ] negated: False ) ] spids: [1467 1540] ) ] spids: [-1 1307] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-d)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(dir_filelist)} {(DQ ($ VSub_Number '$1'))})] spids: [1543 1556] ) ] else_action: [ (SimpleCommand words: [ {(echo)} {(DQ (' ') (${ VSub_Name prog) (": Cannot open '") ($ VSub_Number '$1') ("'"))} ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1581])] ) (C {(exit)} {(1)}) ] spids: [1566 1590] ) ] spids: [1285] ) spids: [1281 1284] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:prog) op:Equal rhs:{($ VSub_Number '$0')} spids:[1595])] spids: [1595] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:root_uid) op:Equal rhs:{(0)} spids:[1598])] spids: [1598] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:root_gid) op:Equal rhs:{(0)} spids:[1601])] spids: [1601] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:dep_list) op:Equal rhs:{(SQ )} spids:[1604])] spids: [1604] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:cpio_file) op:Equal rhs:{(SQ )} spids:[1606])] spids: [1606] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:cpio_list) op:Equal rhs:{(SQ )} spids:[1608])] spids: [1608] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:output) op:Equal rhs:{(DQ (/dev/stdout))} spids:[1610])] spids: [1610] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:output_file) op:Equal rhs:{(DQ )} spids:[1615])] spids: [1615] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:is_cpio_compressed) op:Equal rhs:{(SQ )} spids:[1619])] spids: [1619] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ ('gzip -n -9 -f'))} spids: [1621] ) ] spids: [1621] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:arg) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1627] ) ] spids: [1627] ) (Case to_match: {(DQ ($ VSub_Name '$arg'))} arms: [ (case_arm pat_list: [{(DQ (-l))}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dep_list) op: Equal rhs: {(DQ (list_))} spids: [1650] ) ] spids: [1650] ) (C {(echo)} { (DQ ('deps_initramfs := ') ($ VSub_Number '$0') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ) } ) (C {(shift)}) ] spids: [1642 1644 1669 -1] ) (case_arm pat_list: [{(DQ (-o))}] action: [ (C {(shift)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:output_file) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1684] ) ] spids: [1684] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cpio_list) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(mktemp)} { (BracedVarSub token: <VSub_Name TMPDIR> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(Lit_Slash /) (tmp)} ) spids: [1695 1700] ) (/cpiolist.XXXXXX) } ) ] ) left_token: <Left_CommandSub '$('> spids: [1692 1702] ) ) } spids: [1690] ) ] spids: [1690] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:output) op: Equal rhs: {(${ VSub_Name cpio_list)} spids: [1706] ) ] spids: [1706] ) (AndOr children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$output_file'))}) (C {(grep)} {(-q)} {(DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\.'>) (gz) (Lit_Other '$'))} ) ] negated: False ) (AndOr children: [ (C {(Lit_Other '[')} {(-x)} { (DQ (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(which)} {(gzip)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [1744] ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [1739 1747] ) ) } {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ ('gzip -n -9 -f'))} spids: [1756] ) ] spids: [1756] ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) (AndOr children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$output_file'))}) (C {(grep)} {(-q)} {(DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\.'>) (bz2) (Lit_Other '$'))} ) ] negated: False ) (AndOr children: [ (C {(Lit_Other '[')} {(-x)} { (DQ (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(which)} {(bzip2)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [1794] ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [1789 1797] ) ) } {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ ('bzip2 -9 -f'))} spids: [1806] ) ] spids: [1806] ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) (AndOr children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$output_file'))}) (C {(grep)} {(-q)} { (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\.'>) (lzma) (Lit_Other '$')) } ) ] negated: False ) (AndOr children: [ (C {(Lit_Other '[')} {(-x)} { (DQ (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(which)} {(lzma)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [1844] ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [1839 1847] ) ) } {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ ('lzma -9 -f'))} spids: [1856] ) ] spids: [1856] ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) (AndOr children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$output_file'))}) (C {(grep)} {(-q)} {(DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\.'>) (xz) (Lit_Other '$'))} ) ] negated: False ) (AndOr children: [ (C {(Lit_Other '[')} {(-x)} { (DQ (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(which)} {(xz)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [1894] ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [1889 1897] ) ) } {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ ('xz --check=crc32 --lzma2=dict=1MiB'))} spids: [1906] ) ] spids: [1906] ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) (AndOr children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$output_file'))}) (C {(grep)} {(-q)} {(DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\.'>) (lzo) (Lit_Other '$'))} ) ] negated: False ) (AndOr children: [ (C {(Lit_Other '[')} {(-x)} { (DQ (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(which)} {(lzop)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [1944] ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [1939 1947] ) ) } {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ ('lzop -9 -f'))} spids: [1956] ) ] spids: [1956] ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) (AndOr children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$output_file'))}) (C {(grep)} {(-q)} {(DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\.'>) (lz4) (Lit_Other '$'))} ) ] negated: False ) (AndOr children: [ (C {(Lit_Other '[')} {(-x)} { (DQ (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(which)} {(lz4)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [1994] ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [1989 1997] ) ) } {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ ('lz4 -l -9 -f'))} spids: [2006] ) ] spids: [2006] ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) (AndOr children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$output_file'))}) (C {(grep)} {(-q)} { (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\.'>) (cpio) (Lit_Other '$')) } ) ] negated: False ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ (cat))} spids: [2032] ) ] spids: [2032] ) ] op_id: Op_DAmp ) (C {(shift)}) ] spids: [1673 1675 2041 -1] ) ] spids: [1632 1638 2043] ) (While cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-gt)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:arg) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [2061] ) ] spids: [2061] ) (C {(shift)}) (Case to_match: {(DQ ($ VSub_Name '$arg'))} arms: [ (case_arm pat_list: [{(DQ (-u))}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:root_uid) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [2088] ) ] spids: [2088] ) (C {(shift)}) ] spids: [2080 2082 2097 -1] ) (case_arm pat_list: [{(DQ (-g))}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:root_gid) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [2109] ) ] spids: [2109] ) (C {(shift)}) ] spids: [2101 2103 2118 -1] ) (case_arm pat_list: [{(DQ (-d))}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:default_list) op: Equal rhs: {(DQ ($ VSub_Name '$arg'))} spids: [2130] ) ] spids: [2130] ) (C {(${ VSub_Name dep_list) (default_initramfs)}) ] spids: [2122 2124 2142 -1] ) (case_arm pat_list: [{(DQ (-h))}] action: [(C {(usage)}) (C {(exit)} {(0)})] spids: [2146 2148 2159 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Case to_match: {(DQ ($ VSub_Name '$arg'))} arms: [ (case_arm pat_list: [{(DQ (-)) (Lit_Other '*')}] action: [(C {(unknown_option)})] spids: [2176 2179 2185 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(input_file)} {(DQ ($ VSub_Name '$arg'))} {(DQ ($ VSub_Pound '$#'))}) ] spids: [2188 2189 2206 -1] ) ] spids: [2166 2172 2209] ) ] spids: [2162 2163 2212 -1] ) ] spids: [2070 2076 2215] ) ] spids: [2058 2217] ) ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(${ VSub_Name output_file)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(${ VSub_Name cpio_file)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:timestamp) op: Equal rhs: {(SQ )} spids: [2260] ) ] spids: [2260] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$KBUILD_BUILD_TIMESTAMP'))}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:timestamp) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (AndOr children: [ (C {(date)} {(-d) (DQ ($ VSub_Name '$KBUILD_BUILD_TIMESTAMP')) } {(Lit_Other '+') (Lit_Other '%') (s)} ) (C {(Lit_Other ':')}) ] op_id: Op_DPipe ) ] ) left_token: <Left_CommandSub '$('> spids: [2279 2294] ) ) } spids: [2277] ) ] spids: [2277] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(test)} {(-n)} {(DQ ($ VSub_Name '$timestamp'))}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:timestamp) op: Equal rhs: {(DQ ('-t ') ($ VSub_Name '$timestamp'))} spids: [2312] ) ] spids: [2312] ) ] spids: [-1 2309] ) ] spids: [-1 2319] ) ] spids: [-1 2274] ) ] spids: [-1 2322] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cpio_tfile) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(mktemp)} { (BracedVarSub token: <VSub_Name TMPDIR> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(Lit_Slash /) (tmp)} ) spids: [2330 2335] ) (/cpiofile.XXXXXX) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2327 2337] ) ) } spids: [2325] ) ] spids: [2325] ) (SimpleCommand words: [ {(usr/gen_init_cpio)} {($ VSub_Name '$timestamp')} {(${ VSub_Name cpio_list)} ] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(${ VSub_Name cpio_tfile)} spids: [2349] ) ] ) ] spids: [-1 2257] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cpio_tfile) op: Equal rhs: {(${ VSub_Name cpio_file)} spids: [2359] ) ] spids: [2359] ) ] spids: [2356 2365] ) (C {(rm)} {(${ VSub_Name cpio_list)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ (${ VSub_Name is_cpio_compressed))} {(Lit_Other '=')} {(DQ (compressed))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(cat)} {(${ VSub_Name cpio_tfile)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(${ VSub_Name output_file)} spids: [2403] ) ] ) ] spids: [-1 2394] ) ] else_action: [ (AndOr children: [ (Subshell child: (Pipeline children: [ (C {(cat)} {(${ VSub_Name cpio_tfile)}) (SimpleCommand words: [{(${ VSub_Name compr)} {(-)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(${ VSub_Name output_file)} spids: [2428] ) ] ) ] negated: False ) spids: [2413 2433] ) (Subshell child: (CommandList children: [ (Sentence child: (C {(rm)} {(-f)} {(${ VSub_Name output_file)}) terminator: <Op_Semi ';'> ) (C {(false)}) ] ) spids: [2439 2451] ) ] op_id: Op_DPipe ) ] spids: [2410 2454] ) (AndOr children: [ (C {(Lit_Other '[')} {(-z)} {(${ VSub_Name cpio_file)} {(Lit_Other ']')}) (C {(rm)} {(${ VSub_Name cpio_tfile)}) ] op_id: Op_DAmp ) ] spids: [-1 2241] ) ] spids: [-1 2475] ) (C {(exit)} {(0)}) ] )