(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)}) ] )