(CommandList children: [ (C {(set)} {(-e)}) (FuncDef name: usage body: (BraceGroup children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(EOF)} here_end_span_id: 84 stdin_parts: [ ('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') ] ) ] ) ] 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: [98] ) spids: [94 97] ) (FuncDef name: list_default_initramfs body: (BraceGroup children:[(C {(Lit_Other ':')})] spids:[118]) spids: [114 117] ) (FuncDef name: default_initramfs body: (BraceGroup children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op: <Redir_DLessDash '<<-'> fd: 16777215 here_begin: {(EOF)} here_end_span_id: 156 stdin_parts: [ ('# 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') ] ) (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(${ VSub_Name output)} ) ] ) ] spids: [134] ) spids: [130 133] ) (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: [169] ) ] spids: [167] ) (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 195] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-f)} {(DQ (${ VSub_Name argv1))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ (file))})] spids: [205 220] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-d)} {(DQ (${ VSub_Name argv1))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ (dir))})] spids: [230 245] ) (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: [255 280] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-p)} {(DQ (${ VSub_Name argv1))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ (pipe))})] spids: [290 305] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-S)} {(DQ (${ VSub_Name argv1))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ (sock))})] spids: [315 330] ) ] else_action: [(C {(echo)} {(DQ (invalid))})] spids: [340 350] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [164] ) spids: [160 163] ) (FuncDef name: list_print_mtime body: (BraceGroup children:[(C {(Lit_Other ':')})] spids:[364]) spids: [360 363] ) (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:[381])] spids: [379] ) (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: [405 433] ) } spids: [404] ) ] spids: [404] ) ] spids: [16777215 401] ) ] spids: [16777215 436] ) (SimpleCommand words: [{(echo)} {(DQ ('# Last modified: ') (${ VSub_Name my_mtime))}] redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(${ VSub_Name output)})] ) (SimpleCommand words: [{(echo)} {(DQ )}] redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(${ VSub_Name output)})] ) ] spids: [376] ) spids: [372 375] ) (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: [474] ) spids: [470 473] ) (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: [524] ) ] spids: [522] ) (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: [535 541] ) ) } spids: [532] ) ] spids: [530] ) (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: [550 566] ) } spids: [549] ) ] spids: [549] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:mode) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [571] ) ] spids: [569] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:uid) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [579] ) ] spids: [577] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:gid) op: Equal rhs: {(DQ ($ VSub_Number '$4'))} spids: [587] ) ] spids: [585] ) (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: [596 604] ) } spids: [595] ) ] spids: [593] ) (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:[627])] spids: [627] ) (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:[648])] spids: [648] ) ] ) (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:[668])] spids: [668] ) (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:[689])] spids: [689] ) ] ) (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: [695] ) ] spids: [693] ) (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: [778] ) ] spids: [778] ) ] spids: [772 775 798 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:[811])] ) ] ) left_token: <Left_Backtick '`'> spids: [810 823] ) } spids: [809] ) ] spids: [807] ) (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: [829 837] ) } spids: [828] ) ] spids: [826] ) (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: [843 851] ) } spids: [842] ) ] spids: [840] ) (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: [855 859] ) } spids: [854] ) ] spids: [854] ) (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: [877] ) ] spids: [877] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dev) op: Equal rhs: {(DQ (c))} spids: [884] ) ] spids: [884] ) ] ) (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: [891] ) ] spids: [891] ) ] spids: [801 804 919 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: [931 939] ) } spids: [930] ) ] spids: [928] ) (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: [942] ) ] spids: [942] ) ] spids: [922 925 962 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: [969] ) ] spids: [969] ) ] spids: [965 966 985 16777215] ) ] spids: [761 769 988] ) (SimpleCommand words: [{(echo)} {(DQ (${ VSub_Name str))}] redirects: [(Redir op:<Redir_DGreat '>>'> fd:16777215 arg_word:{(${ VSub_Name output)})] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [519] ) spids: [515 518] ) (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:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (SimpleCommand words: [{(printf)} {(DQ ("If the filename validly begins with '-', "))}] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (SimpleCommand words: [{(printf)} {(DQ ('then it must be prefixed') (Lit_Other '\\') (n))}] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (SimpleCommand words: [{(printf)} {(DQ ("by './' so that it won't be interpreted as an option."))}] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (SimpleCommand words: [{(printf)} {(DQ (Lit_Other '\\') (n))}] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (SimpleCommand words: [{(usage)}] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [1019] ) spids: [1015 1018] ) (FuncDef name: list_header body: (BraceGroup children:[(C {(Lit_Other ':')})] spids:[1097]) spids: [1093 1096] ) (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:<Redir_DGreat '>>'> fd:16777215 arg_word:{(${ VSub_Name output)})] ) ] spids: [1109] ) spids: [1105 1108] ) (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: [1155 1171] ) } spids: [1154] ) ] spids: [1154] ) (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: [1175 1191] ) } spids: [1174] ) ] spids: [1174] ) (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: [1204 1218] ) ) } {(-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))}) (WhileUntil keyword: <KW_While while> cond: [(Sentence child:(C {(read)} {(x)}) terminator:<Op_Semi ';'>)] body: (DoGroup children: [(C {(${ VSub_Name dep_list) (parse)} {(${ VSub_Name x)})] spids: [1261 1274] ) ) ] negated: F ) ] spids: [16777215 1228] ) ] spids: [16777215 1277] ) ] spids: [1140] ) spids: [1136 1139] ) (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: [1298] ) ] spids: [1298] ) (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: [1332 1346] ) ) } spids: [1330] ) ] spids: [1330] ) (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: [1378] ) ] spids: [1378] ) (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: [1400] ) ] spids: [1400] ) ] ) (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 1375] ) ] spids: [16777215 1432] ) (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: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(${ VSub_Name output)} ) ] ) (SimpleCommand words: [{(cat)} {(DQ ($ VSub_Number '$1'))}] redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(${ VSub_Name output)} ) ] ) ] spids: [16777215 1448] ) ] else_action: [ (C {(echo)} { (DQ ($ VSub_Number '$1') (' ') (EscapedLiteralPart token: <Lit_EscapedChar '\\\\'> ) ) } ) (Pipeline children: [ (C {(cat)} {(DQ ($ VSub_Number '$1'))}) (WhileUntil keyword: <KW_While 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 1531] ) ] spids: [16777215 1544] ) ] spids: [1511 1547] ) ) ] negated: F ) ] spids: [1477 1550] ) ] spids: [16777215 1317] ) (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: [1553 1566] ) ] else_action: [ (SimpleCommand words: [ {(echo)} {(DQ (' ') (${ VSub_Name prog) (": Cannot open '") ($ VSub_Number '$1') ("'"))} ] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [1576 1600] ) ] spids: [1295] ) spids: [1291 1294] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:prog) op:Equal rhs:{($ VSub_Number '$0')} spids:[1605])] spids: [1605] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:root_uid) op:Equal rhs:{(0)} spids:[1608])] spids: [1608] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:root_gid) op:Equal rhs:{(0)} spids:[1611])] spids: [1611] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:dep_list) op:Equal rhs:{(EmptyPart)} spids:[1614])] spids: [1614] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:cpio_file) op:Equal rhs:{(EmptyPart)} spids:[1616])] spids: [1616] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:cpio_list) op:Equal rhs:{(EmptyPart)} spids:[1618])] spids: [1618] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:output) op:Equal rhs:{(DQ (/dev/stdout))} spids:[1620])] spids: [1620] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:output_file) op:Equal rhs:{(DQ )} spids:[1625])] spids: [1625] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:is_cpio_compressed) op: Equal rhs: {(EmptyPart)} spids: [1629] ) ] spids: [1629] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ ('gzip -n -9 -f'))} spids: [1631] ) ] spids: [1631] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:arg) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1637] ) ] spids: [1637] ) (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: [1660] ) ] spids: [1660] ) (C {(echo)} { (DQ ('deps_initramfs := ') ($ VSub_Number '$0') (' ') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ) } ) (C {(shift)}) ] spids: [1651 1654 1679 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: [1694] ) ] spids: [1694] ) (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: [1705 1710] ) (/cpiolist.XXXXXX) } ) ] ) left_token: <Left_CommandSub '$('> spids: [1702 1712] ) ) } spids: [1700] ) ] spids: [1700] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:output) op: Equal rhs: {(${ VSub_Name cpio_list)} spids: [1716] ) ] spids: [1716] ) (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:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) ] ) left_token: <Left_Backtick '`'> spids: [1749 1757] ) ) } {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ ('gzip -n -9 -f'))} spids: [1766] ) ] spids: [1766] ) ] ) (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:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) ] ) left_token: <Left_Backtick '`'> spids: [1799 1807] ) ) } {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ ('bzip2 -9 -f'))} spids: [1816] ) ] spids: [1816] ) ] ) (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:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) ] ) left_token: <Left_Backtick '`'> spids: [1849 1857] ) ) } {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ ('lzma -9 -f'))} spids: [1866] ) ] spids: [1866] ) ] ) (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:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) ] ) left_token: <Left_Backtick '`'> spids: [1899 1907] ) ) } {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ ('xz --check=crc32 --lzma2=dict=1MiB'))} spids: [1916] ) ] spids: [1916] ) ] ) (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:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) ] ) left_token: <Left_Backtick '`'> spids: [1949 1957] ) ) } {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ ('lzop -9 -f'))} spids: [1966] ) ] spids: [1966] ) ] ) (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:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) ] ) left_token: <Left_Backtick '`'> spids: [1999 2007] ) ) } {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:compr) op: Equal rhs: {(DQ ('lz4 -l -9 -f'))} spids: [2016] ) ] spids: [2016] ) ] ) (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: [2042] ) ] spids: [2042] ) ] ) (C {(shift)}) ] spids: [1682 1685 2051 16777215] ) ] spids: [1642 1648 2053] ) (WhileUntil keyword: <KW_While 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: [2071] ) ] spids: [2071] ) (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: [2098] ) ] spids: [2098] ) (C {(shift)}) ] spids: [2089 2092 2107 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: [2119] ) ] spids: [2119] ) (C {(shift)}) ] spids: [2110 2113 2128 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: [2140] ) ] spids: [2140] ) (C {(${ VSub_Name dep_list) (default_initramfs)}) ] spids: [2131 2134 2152 16777215] ) (case_arm pat_list: [{(DQ (-h))}] action: [(C {(usage)}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})] spids: [2155 2158 2169 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: [2185 2189 2195 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(input_file)} {(DQ ($ VSub_Name '$arg'))} {(DQ ($ VSub_Pound '$#'))}) ] spids: [2198 2199 2216 16777215] ) ] spids: [2176 2182 2219] ) ] spids: [2172 2173 2222 16777215] ) ] spids: [2080 2086 2225] ) ] spids: [2068 2227] ) ) (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: [2270] ) ] spids: [2270] ) (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: [2289 2304] ) ) } spids: [2287] ) ] spids: [2287] ) (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: [2322] ) ] spids: [2322] ) ] spids: [16777215 2319] ) ] spids: [16777215 2329] ) ] spids: [16777215 2284] ) ] spids: [16777215 2332] ) (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: [2340 2345] ) (/cpiofile.XXXXXX) } ) ] ) left_token: <Left_CommandSub '$('> spids: [2337 2347] ) ) } spids: [2335] ) ] spids: [2335] ) (SimpleCommand words: [ {(usr/gen_init_cpio)} {($ VSub_Name '$timestamp')} {(${ VSub_Name cpio_list)} ] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(${ VSub_Name cpio_tfile)} ) ] ) ] spids: [16777215 2267] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cpio_tfile) op: Equal rhs: {(${ VSub_Name cpio_file)} spids: [2369] ) ] spids: [2369] ) ] spids: [2366 2375] ) (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: <Redir_Great '>'> fd: 16777215 arg_word: {(${ VSub_Name output_file)} ) ] ) ] spids: [16777215 2404] ) ] 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: <Redir_Great '>'> fd: 16777215 arg_word: {(${ VSub_Name output_file)} ) ] ) ] negated: F ) spids: [2423 2443] ) (Subshell child: (CommandList children: [ (Sentence child: (C {(rm)} {(-f)} {(${ VSub_Name output_file)}) terminator: <Op_Semi ';'> ) (C {(false)}) ] ) spids: [2449 2461] ) ] ) ] spids: [2420 2464] ) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(${ VSub_Name cpio_file)} {(Lit_Other ']')}) (C {(rm)} {(${ VSub_Name cpio_tfile)}) ] ) ] spids: [16777215 2251] ) ] spids: [16777215 2485] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] )