(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(alpine-base)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(3.6.0)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ('Meta package for minimal alpine base'))} spids: [15] ) ] spids: [15] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ('http://alpinelinux.org'))} spids: [20] ) ] spids: [20] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (noarch))} spids:[25])] spids: [25] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (MIT))} spids:[30])] spids: [30] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: { (DQ ( 'alpine-baselayout alpine-conf apk-tools busybox busybox-suid busybox-initscripts\n' ) ('\topenrc libc-utils alpine-keys') ) } spids: [35] ) ] spids: [35] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:makedepends) op:Equal rhs:{(DQ )} spids:[41])] spids: [41] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(DQ )} spids:[45])] spids: [45] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:subpackages) op:Equal rhs:{(DQ )} spids:[49])] spids: [49] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:replaces) op: Equal rhs: {(DQ (alpine-baselayout))} spids: [53] ) ] spids: [53] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:source) op:Equal rhs:{(DQ )} spids:[58])] spids: [58] ) (FuncDef name: build body: (BraceGroup children: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})] spids: [67] ) spids: [63 66] ) (FuncDef name: package body: (BraceGroup children: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$pkgdir')) (/etc)}) (SimpleCommand words: [{(echo)} {($ VSub_Name '$pkgver')}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$pkgdir')) (/etc/alpine-release)} spids: [102] ) ] ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$pkgdir')) (/etc/issue)} spids: [117] ) (HereDoc op_id: Redir_DLess fd: -1 body: { (DQ ('Welcome to Alpine Linux ') (BracedVarSub token: <VSub_Name pkgver> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{('.*')}) spids: [126 130] ) ('\n') ('Kernel ') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('r on an ') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('m (') (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('l)\n') ('\n') ) } do_expansion: True here_end: EOF was_filled: True spids: [122] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_ver) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$pkgver'))}) (C {(grep)} {(-E)} {(-o)} {(SQ <'^[0-9]+\\.[0-9]+'>)}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [145 163] ) ) } spids: [143] ) ] spids: [143] ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ ($ VSub_Name '$pkgdir')) (/etc/os-release)} spids: [173] ) (HereDoc op_id: Redir_DLess fd: -1 body: { (DQ ('NAME=') (Right_DoubleQuote '"') ('Alpine Linux') (Right_DoubleQuote '"') ('\n') ('ID=alpine\n') ('VERSION_ID=') ($ VSub_Name '$pkgver') ('\n') ('PRETTY_NAME=') (Right_DoubleQuote '"') ('Alpine Linux v') ($ VSub_Name '$_ver') (Right_DoubleQuote '"') ('\n') ('HOME_URL=') (Right_DoubleQuote '"') ('http://alpinelinux.org') (Right_DoubleQuote '"') ('\n') ('BUG_REPORT_URL=') (Right_DoubleQuote '"') ('http://bugs.alpinelinux.org') (Right_DoubleQuote '"') ('\n') ) } do_expansion: True here_end: EOF was_filled: True spids: [178] ) ] ) ] spids: [81] ) spids: [77 80] ) ] )