(CommandList children: [ (C {(set)} {(-e)}) (FuncDef name: usage body: (BraceGroup children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 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: T 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: [97] ) spids: [93 96] ) (FuncDef name: list_default_initramfs body: (BraceGroup children:[(C {(Lit_Other ':')})] spids:[117]) spids: [113 116] ) (FuncDef name: default_initramfs body: (BraceGroup children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLessDash fd: 16777215 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: T spids: [138] ) (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(${ VSub_Name output)} spids: [141] ) ] ) ] spids: [133] ) spids: [129 132] ) (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: [167] ) ] spids: [165] ) (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: [16777215 193] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-f)} {(DQ (${ VSub_Name argv1))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ (file))})] spids: [203 218] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-d)} {(DQ (${ VSub_Name argv1))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ (dir))})] spids: [228 243] ) (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: [253 278] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-p)} {(DQ (${ VSub_Name argv1))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ (pipe))})] spids: [288 303] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-S)} {(DQ (${ VSub_Name argv1))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ (sock))})] spids: [313 328] ) ] else_action: [(C {(echo)} {(DQ (invalid))})] spids: [338 348] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [162] ) spids: [158 161] ) (FuncDef name: list_print_mtime body: (BraceGroup children:[(C {(Lit_Other ':')})] spids:[362]) spids: [358 361] ) (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:[379])] spids: [377] ) (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@') (Lit_Other '\\') (n))} ) (C {(sort)} {(-r)}) (C {(head)} {(-n)} {(1)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [403 431] ) } spids: [402] ) ] spids: [402] ) ] spids: [16777215 399] ) ] spids: [16777215 434] ) (SimpleCommand words: [{(echo)} {(DQ ('# Last modified: ') (${ VSub_Name my_mtime))}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(${ VSub_Name output)} spids: [447] ) ] ) (SimpleCommand words: [{(echo)} {(DQ )}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(${ VSub_Name output)} spids: [459] ) ] ) ] spids: [374] ) spids: [370 373] ) (FuncDef name: list_parse body: (BraceGroup children: [ (AndOr ops: [Op_DAmp Op_DPipe] children: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(-L)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other ']')}) (C {(echo)} { (DQ ($ VSub_Number '$1') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>)) } ) (C {(Lit_Other ':')}) ] ) ] spids: [472] ) spids: [468 471] ) (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: [522] ) ] spids: [520] ) (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: [533 539] ) ) } spids: [530] ) ] spids: [528] ) (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: F ) ] ) left_token: <Left_CommandSub '$('> spids: [548 564] ) } spids: [547] ) ] spids: [547] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:mode) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [569] ) ] spids: [567] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:uid) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [577] ) ] spids: [575] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:gid) op: Equal rhs: {(DQ ($ VSub_Number '$4'))} spids: [585] ) ] spids: [583] ) (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: [594 602] ) } spids: [593] ) ] spids: [591] ) (AndOr ops: [Op_DAmp Op_DPipe Op_DAmp] children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$root_uid'))} {(Lit_Other '=')} {(DQ (squash))} {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:uid) op:Equal rhs:{(0)} spids:[625])] spids: [625] ) (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:[646])] spids: [646] ) ] ) (AndOr ops: [Op_DAmp Op_DPipe Op_DAmp] children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$root_gid'))} {(Lit_Other '=')} {(DQ (squash))} {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:gid) op:Equal rhs:{(0)} spids:[666])] spids: [666] ) (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:[687])] spids: [687] ) ] ) (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: [693] ) ] spids: [691] ) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(DQ (${ VSub_Name ftype))} {(Lit_Other '=')} {(DQ (invalid))} {(Lit_Other ']')} ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(DQ (${ VSub_Name location))} {(Lit_Other '=')} {(DQ (${ VSub_Name srcdir))} {(Lit_Other ']')} ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] ) (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: [776] ) ] spids: [776] ) ] spids: [771 773 796 16777215] ) (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:[809])] ) ] ) left_token: <Left_Backtick '`'> spids: [808 821] ) } spids: [807] ) ] spids: [805] ) (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: [827 835] ) } spids: [826] ) ] spids: [824] ) (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: [841 849] ) } spids: [840] ) ] spids: [838] ) (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: [853 857] ) } spids: [852] ) ] spids: [852] ) (AndOr ops: [Op_DAmp Op_DPipe] children: [ (C {(Lit_Other '[')} {(-b)} {(DQ (${ VSub_Name location))} {(Lit_Other ']')}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dev) op: Equal rhs: {(DQ (b))} spids: [875] ) ] spids: [875] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dev) op: Equal rhs: {(DQ (c))} spids: [882] ) ] spids: [882] ) ] ) (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: [889] ) ] spids: [889] ) ] spids: [800 802 917 16777215] ) (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: [929 937] ) } spids: [928] ) ] spids: [926] ) (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: [940] ) ] spids: [940] ) ] spids: [921 923 960 16777215] ) (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: [967] ) ] spids: [967] ) ] spids: [963 964 983 16777215] ) ] spids: [759 767 986] ) (SimpleCommand words: [{(echo)} {(DQ (${ VSub_Name str))}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(${ VSub_Name output)} spids: [998] ) ] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [517] ) spids: [513 516] ) (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 '\\"'>) (Lit_Other '\\') (n) ) } ] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[1031])] ) (SimpleCommand words: [{(printf)} {(DQ ("If the filename validly begins with '-', "))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[1041])] ) (SimpleCommand words: [{(printf)} {(DQ ('then it must be prefixed') (Lit_Other '\\') (n))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[1053])] ) (SimpleCommand words: [{(printf)} {(DQ ("by './' so that it won't be interpreted as an option."))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[1063])] ) (SimpleCommand words: [{(printf)} {(DQ (Lit_Other '\\') (n))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[1074])] ) (SimpleCommand words: [{(usage)}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[1080])] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [1017] ) spids: [1013 1016] ) (FuncDef name: list_header body: (BraceGroup children:[(C {(Lit_Other ':')})] spids:[1095]) spids: [1091 1094] ) (FuncDef name: header body: (BraceGroup children: [ (SimpleCommand words: [ {(printf)} { (DQ (Lit_Other '\\') ('n#####################') (Lit_Other '\\') ('n# ') ($ VSub_Number '$1') (Lit_Other '\\') (n) ) } ] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(${ VSub_Name output)} spids: [1122] ) ] ) ] spids: [1107] ) spids: [1103 1106] ) (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: F ) ] ) left_token: <Left_CommandSub '$('> spids: [1153 1169] ) } spids: [1152] ) ] spids: [1152] ) (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') (Lit_Other '\\') (n))} ) ] ) left_token: <Left_CommandSub '$('> spids: [1173 1189] ) } spids: [1172] ) ] spids: [1172] ) (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: F ) ] ) left_token: <Left_CommandSub '$('> spids: [1202 1216] ) ) } {(-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: [1259 1272] ) ) ] negated: F ) ] spids: [16777215 1226] ) ] spids: [16777215 1275] ) ] spids: [1138] ) spids: [1134 1137] ) (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: [1296] ) ] spids: [1296] ) (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: F ) ] ) left_token: <Left_CommandSub '$('> spids: [1330 1344] ) ) } spids: [1328] ) ] spids: [1328] ) (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: [1376] ) ] spids: [1376] ) (AndOr ops: [Op_DAmp] children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Number '$1'))}) (C {(grep)} {(-q)} {(SQ <'^.*\\.cpio\\..*'>)}) ] negated: F ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:is_cpio_compressed) op: Equal rhs: {(DQ (compressed))} spids: [1398] ) ] spids: [1398] ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(${ VSub_Name dep_list)} {(Lit_Other ']')} ) (C {(echo)} {(DQ ($ VSub_Number '$1'))}) ] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [16777215 1373] ) ] spids: [16777215 1430] ) (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: 16777215 arg_word: {(${ VSub_Name output)} spids: [1455] ) ] ) (SimpleCommand words: [{(cat)} {(DQ ($ VSub_Number '$1'))}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(${ VSub_Name output)} spids: [1468] ) ] ) ] spids: [16777215 1446] ) ] 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: [16777215 1529] ) ] spids: [16777215 1542] ) ] spids: [1509 1545] ) ) ] negated: F ) ] spids: [1475 1548] ) ] spids: [16777215 1315] ) (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: [1551 1564] ) ] else_action: [ (SimpleCommand words: [ {(echo)} {(DQ (' ') (${ VSub_Name prog) (": Cannot open '") ($ VSub_Number '$1') ("'"))} ] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[1589])] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [1574 1598] ) ] spids: [1293] ) spids: [1289 1292] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:prog) op:Equal rhs:{($ VSub_Number '$0')} spids:[1603])] spids: [1603] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:root_uid) op:Equal rhs:{(0)} spids:[1606])] spids: [1606] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:root_gid) op:Equal rhs:{(0)} spids:[1609])] spids: [1609] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:dep_list) op:Equal rhs:{(EmptyPart)} spids:[1612])] spids: [1612] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:cpio_file) op:Equal rhs:{(EmptyPart)} spids:[1614])] spids: [1614] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:cpio_list) op:Equal rhs:{(EmptyPart)} spids:[1616])] spids: [1616] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:output) op:Equal rhs:{(DQ (/dev/stdout))} spids:[1618])] spids: [1618] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:output_file) op:Equal rhs:{(DQ )} spids:[1623])] spids: [1623] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:is_cpio_compressed) op: Equal rhs: {(EmptyPart)} spids: [1627] ) ] spids: [1627] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ ('gzip -n -9 -f'))} spids: [1629] ) ] spids: [1629] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:arg) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1635] ) ] spids: [1635] ) (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: [1658] ) ] spids: [1658] ) (C {(echo)} { (DQ ('deps_initramfs := ') ($ VSub_Number '$0') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ) } ) (C {(shift)}) ] spids: [1650 1652 1677 16777215] ) (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: [1692] ) ] spids: [1692] ) (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: [1703 1708] ) (/cpiolist.XXXXXX) } ) ] ) left_token: <Left_CommandSub '$('> spids: [1700 1710] ) ) } spids: [1698] ) ] spids: [1698] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:output) op: Equal rhs: {(${ VSub_Name cpio_list)} spids: [1714] ) ] spids: [1714] ) (AndOr ops: [Op_DAmp Op_DAmp] children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$output_file'))}) (C {(grep)} {(-q)} {(DQ (Lit_Other '\\') (.gz) (Lit_Other '$'))}) ] negated: F ) (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: [1752] ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [1747 1755] ) ) } {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ ('gzip -n -9 -f'))} spids: [1764] ) ] spids: [1764] ) ] ) (AndOr ops: [Op_DAmp Op_DAmp] children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$output_file'))}) (C {(grep)} {(-q)} {(DQ (Lit_Other '\\') (.bz2) (Lit_Other '$'))}) ] negated: F ) (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: [1802] ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [1797 1805] ) ) } {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ ('bzip2 -9 -f'))} spids: [1814] ) ] spids: [1814] ) ] ) (AndOr ops: [Op_DAmp Op_DAmp] children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$output_file'))}) (C {(grep)} {(-q)} {(DQ (Lit_Other '\\') (.lzma) (Lit_Other '$'))}) ] negated: F ) (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: [1852] ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [1847 1855] ) ) } {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ ('lzma -9 -f'))} spids: [1864] ) ] spids: [1864] ) ] ) (AndOr ops: [Op_DAmp Op_DAmp] children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$output_file'))}) (C {(grep)} {(-q)} {(DQ (Lit_Other '\\') (.xz) (Lit_Other '$'))}) ] negated: F ) (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: [1902] ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [1897 1905] ) ) } {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ ('xz --check=crc32 --lzma2=dict=1MiB'))} spids: [1914] ) ] spids: [1914] ) ] ) (AndOr ops: [Op_DAmp Op_DAmp] children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$output_file'))}) (C {(grep)} {(-q)} {(DQ (Lit_Other '\\') (.lzo) (Lit_Other '$'))}) ] negated: F ) (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: [1952] ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [1947 1955] ) ) } {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ ('lzop -9 -f'))} spids: [1964] ) ] spids: [1964] ) ] ) (AndOr ops: [Op_DAmp Op_DAmp] children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$output_file'))}) (C {(grep)} {(-q)} {(DQ (Lit_Other '\\') (.lz4) (Lit_Other '$'))}) ] negated: F ) (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: [2002] ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [1997 2005] ) ) } {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ ('lz4 -l -9 -f'))} spids: [2014] ) ] spids: [2014] ) ] ) (AndOr ops: [Op_DAmp] children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$output_file'))}) (C {(grep)} {(-q)} {(DQ (Lit_Other '\\') (.cpio) (Lit_Other '$'))}) ] negated: F ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ (cat))} spids: [2040] ) ] spids: [2040] ) ] ) (C {(shift)}) ] spids: [1681 1683 2049 16777215] ) ] spids: [1640 1646 2051] ) (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: [2069] ) ] spids: [2069] ) (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: [2096] ) ] spids: [2096] ) (C {(shift)}) ] spids: [2088 2090 2105 16777215] ) (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: [2117] ) ] spids: [2117] ) (C {(shift)}) ] spids: [2109 2111 2126 16777215] ) (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: [2138] ) ] spids: [2138] ) (C {(${ VSub_Name dep_list) (default_initramfs)}) ] spids: [2130 2132 2150 16777215] ) (case_arm pat_list: [{(DQ (-h))}] action: [(C {(usage)}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})] spids: [2154 2156 2167 16777215] ) (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: [2184 2187 2193 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(input_file)} {(DQ ($ VSub_Name '$arg'))} {(DQ ($ VSub_Pound '$#'))}) ] spids: [2196 2197 2214 16777215] ) ] spids: [2174 2180 2217] ) ] spids: [2170 2171 2220 16777215] ) ] spids: [2078 2084 2223] ) ] spids: [2066 2225] ) ) (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: {(EmptyPart)} spids: [2268] ) ] spids: [2268] ) (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 ops: [Op_DPipe] children: [ (C {(date)} {(-d) (DQ ($ VSub_Name '$KBUILD_BUILD_TIMESTAMP')) } {(Lit_Other '+') (Lit_Other '%') (s)} ) (C {(Lit_Other ':')}) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [2287 2302] ) ) } spids: [2285] ) ] spids: [2285] ) (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: [2320] ) ] spids: [2320] ) ] spids: [16777215 2317] ) ] spids: [16777215 2327] ) ] spids: [16777215 2282] ) ] spids: [16777215 2330] ) (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: [2338 2343] ) (/cpiofile.XXXXXX) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2335 2345] ) ) } spids: [2333] ) ] spids: [2333] ) (SimpleCommand words: [ {(usr/gen_init_cpio)} {($ VSub_Name '$timestamp')} {(${ VSub_Name cpio_list)} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name cpio_tfile)} spids: [2357] ) ] ) ] spids: [16777215 2265] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cpio_tfile) op: Equal rhs: {(${ VSub_Name cpio_file)} spids: [2367] ) ] spids: [2367] ) ] spids: [2364 2373] ) (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: 16777215 arg_word: {(${ VSub_Name output_file)} spids: [2411] ) ] ) ] spids: [16777215 2402] ) ] else_action: [ (AndOr ops: [Op_DPipe] children: [ (Subshell child: (Pipeline children: [ (C {(cat)} {(${ VSub_Name cpio_tfile)}) (SimpleCommand words: [{(${ VSub_Name compr)} {(-)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name output_file)} spids: [2436] ) ] ) ] negated: F ) spids: [2421 2441] ) (Subshell child: (CommandList children: [ (Sentence child: (C {(rm)} {(-f)} {(${ VSub_Name output_file)}) terminator: <Op_Semi ';'> ) (C {(false)}) ] ) spids: [2447 2459] ) ] ) ] spids: [2418 2462] ) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(${ VSub_Name cpio_file)} {(Lit_Other ']')}) (C {(rm)} {(${ VSub_Name cpio_tfile)}) ] ) ] spids: [16777215 2249] ) ] spids: [16777215 2483] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] )