(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(u-boot)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(2017.01)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(2)} spids:[15])]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ("u-boot bootloader common files"))}
          spids: [18]
        )
      ]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("http://www.denx.de/wiki/U-Boot/"))}
          spids: [23]
        )
      ]
      spids: [23]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ ("armhf aarch64"))} spids:[28])]
      spids: [28]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (GPL2))} spids:[33])]
      spids: [33]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[38])]
      spids: [38]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends_dev) op:Equal rhs:{(DQ )} spids:[42])]
      spids: [42]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$depends_dev") (" bc dtc python"))}
          spids: [46]
        )
      ]
      spids: [46]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(DQ )} spids:[52])]
      spids: [52]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ("ftp://ftp.denx.de/pub/u-boot/u-boot-") 
                (BracedVarSub
                  token: <VSub_Name pkgver>
                  suffix_op: 
                    (PatSub
                      pat: {(_)}
                      replace: {(-)}
                      do_all: True
                      do_prefix: False
                      do_suffix: False
                    )
                  spids: [59 66]
                ) (".tar.bz2\n") ("\tREADME.txt\n") ("\tupdate-u-boot\n") ("\t")
              )
            }
          spids: [56]
        )
      ]
      spids: [56]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_srcdir)
          op: Equal
          rhs: 
            {(DQ ($ VSub_Name "$srcdir")) (/u-boot-) 
              (BracedVarSub
                token: <VSub_Name pkgver>
                suffix_op: 
                  (PatSub
                    pat: {(_)}
                    replace: {(-)}
                    do_all: True
                    do_prefix: False
                    do_suffix: False
                  )
                spids: [79 86]
              )
            }
          spids: [74]
        )
      ]
      spids: [74]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$srcdir")) (/build)}
          spids: [88]
        )
      ]
      spids: [88]
    )
    (Case
      to_match: {(DQ ($ VSub_Name "$CARCH"))}
      arms: [
        (case_arm
          pat_list: [{(armhf)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:board_configs)
                  op: Equal
                  rhs: 
                    {
                      (DQ ("\n") ("\tbeagleboard:am335x_boneblack\n") 
                        ("\tcubieboard:Cubieboard,Cubieboard2\n") ("\tcuboxi:mx6cuboxi\n") ("\traspberrypi:rpi,rpi_2,rpi_3_32b\n") ("\twandboard:wandboard\n") ("\t")
                      )
                    }
                  spids: [106]
                )
              ]
              spids: [106]
            )
          ]
          spids: [103 104 116 -1]
        )
        (case_arm
          pat_list: [{(aarch64)}]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:board_configs)
                  op: Equal
                  rhs: {(DQ ("\n") ("\tthunderx:thunderx_88xx\n") ("\t"))}
                  spids: [121]
                )
              ]
              spids: [121]
            )
          ]
          spids: [118 119 127 -1]
        )
      ]
      spids: [95 101 129]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_allboards) op:Equal rhs:{(DQ )} spids:[132])]
      spids: [132]
    )
    (ForEach
      iter_name: board_config
      iter_words: [{($ VSub_Name "$board_configs")}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_allboards)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name "$_allboards") (" ") ($ VSub_Name "$pkgname") (-) 
                        (BracedVarSub
                          token: <VSub_Name board_config>
                          suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(":*")})
                          spids: [154 158]
                        )
                      )
                    }
                  spids: [148]
                )
              ]
              spids: [148]
            )
          ]
          spids: [145 161]
        )
      spids: [141 143]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$pkgname") ("-all:_all ") ($ VSub_Name "$_allboards"))}
          spids: [163]
        )
      ]
      spids: [163]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$_srcdir"))})
            (C {(touch)} {(include/config.h)})
            (SimpleCommand
              words: [{(date)} {(Lit_Other "+") (SQ <"#define U_BOOT_DATE \"%b %d %C%y\"">)}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(include/timestamp_autogenerated.h)}
                  spids: [200]
                )
              ]
              more_env: [(env_pair name:LC_ALL val:{(C)} spids:[190])]
            )
            (SimpleCommand
              words: [{(date)} {(Lit_Other "+") (SQ <"#define U_BOOT_TIME \"%T\"">)}]
              redirects: [
                (Redir
                  op_id: Redir_DGreat
                  fd: -1
                  arg_word: {(include/timestamp_autogenerated.h)}
                  spids: [215]
                )
              ]
              more_env: [(env_pair name:LC_ALL val:{(C)} spids:[205])]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair lhs:(LhsName name:board_config) op:Equal spids:[223])
                (assign_pair lhs:(LhsName name:board) op:Equal spids:[225])
              ]
              spids: [221]
            )
            (ForEach
              iter_name: board_config
              iter_words: [{($ VSub_Name "$board_configs")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:configs)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name board_config>
                                  suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*:")})
                                  spids: [244 248]
                                )
                              )
                            }
                          spids: [242]
                        )
                      ]
                      spids: [240]
                    )
                    (ForEach
                      iter_name: board
                      iter_words: [
                        {
                          (BracedVarSub
                            token: <VSub_Name configs>
                            suffix_op: 
                              (PatSub
                                pat: {(",")}
                                replace: {(" ")}
                                do_all: True
                                do_prefix: False
                                do_suffix: False
                              )
                            spids: [258 265]
                          )
                        }
                      ]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (C {(msg)} {(DQ ("Building u-boot for ") ($ VSub_Name "$board"))})
                            (C {(export)} 
                              {(Lit_VarLike "BUILD_DIR=") (DQ ($ VSub_Name "$builddir")) (/) 
                                ($ VSub_Name "$board")
                              }
                            )
                            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$BUILD_DIR"))})
                            (AndOr
                              children: [
                                (C {(make)} {(Lit_VarLike "O=") (DQ ($ VSub_Name "$BUILD_DIR"))} 
                                  {(${ VSub_Name board) (_config)}
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(1)}
                                )
                              ]
                              op_id: Op_DPipe
                            )
                            (AndOr
                              children: [
                                (C {(make)} {(Lit_VarLike "O=") (DQ ($ VSub_Name "$BUILD_DIR"))} {(all)})
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(1)}
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [268 333]
                        )
                      spids: [257 266]
                    )
                  ]
                  spids: [237 336]
                )
              spids: [233 235]
            )
          ]
          spids: [175]
        )
      spids: [171 174]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/) ($ VSub_Name "$pkgname")} 
              {(DQ ($ VSub_Name "$pkgdir")) (/usr/sbin)}
            )
            (AndOr
              children: [
                (C {(install)} {(DQ ($ VSub_Name "$srcdir")) (/README.txt)} 
                  {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/) ($ VSub_Name "$pkgname") (/README.txt)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(install)} {(DQ ($ VSub_Name "$srcdir")) (/update-u-boot)} 
                  {(DQ ($ VSub_Name "$pkgdir")) (/usr/sbin)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [345]
        )
      spids: [341 344]
    )
    (FuncDef
      name: _all
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ("u-boot for all boards (meta package)"))}
                  spids: [420]
                )
              ]
              spids: [420]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$_allboards"))}
                  spids: [426]
                )
              ]
              spids: [426]
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/)})
          ]
          spids: [417]
        )
      spids: [413 416]
    )
    (FuncDef
      name: _split_boards
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$builddir"))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ("u-boot for ") ($ VSub_Number "$1"))}
                  spids: [459]
                )
              ]
              spids: [459]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (u-boot))}
                  spids: [466]
                )
              ]
              spids: [466]
            )
            (C {(shift)})
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:board) op:Equal spids:[477])]
              spids: [475]
            )
            (ForEach
              iter_name: board
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [
                    (C {(msg)} {(DQ ("Including board ") ($ VSub_Name "$board"))})
                    (C {(mkdir)} {(-p)} 
                      {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/) ($ VSub_Name "$pkgname") (/) 
                        ($ VSub_Name "$board")
                      }
                    )
                    (C {(export)} 
                      {(Lit_VarLike "BUILD_DIR=") (DQ ($ VSub_Name "$builddir")) (/) 
                        ($ VSub_Name "$board")
                      }
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [(assign_pair lhs:(LhsName name:ok) op:Equal rhs:{(no)} spids:[521])]
                      spids: [519]
                    )
                    (ForEach
                      iter_name: image
                      iter_words: [
                        {(u-boot-sunxi-with-spl.bin)}
                        {(--)}
                        {(MLO)}
                        {(SPL)}
                        {(u-boot.img)}
                        {(--)}
                        {(u-boot.bin)}
                      ]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$image"))} 
                                          {(Lit_Other "=")} {(DQ (--))} {(Lit_Other "]")}
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$ok"))} 
                                          {(Lit_Other "=")} {(yes)} {(Lit_Other "]")}
                                        )
                                        (ControlFlow
                                          token: <ControlFlow_Break break>
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Continue continue>
                                    )
                                  ]
                                  spids: [-1 566]
                                )
                              ]
                              spids: [-1 589]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other "[")} {(-e)} 
                                          {(DQ ($ VSub_Name "$BUILD_DIR")) (/) ($ VSub_Name "$image")} {(Lit_Other "]")}
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (AndOr
                                      children: [
                                        (C {(cp)} 
                                          {(DQ ($ VSub_Name "$BUILD_DIR")) (/) ($ VSub_Name "$image")} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/) ($ VSub_Name "$pkgname") (/) ($ VSub_Name "$board")}
                                        )
                                        (ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(1)}
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:ok)
                                          op: Equal
                                          rhs: {(yes)}
                                          spids: [635]
                                        )
                                      ]
                                      spids: [635]
                                    )
                                  ]
                                  spids: [-1 607]
                                )
                              ]
                              spids: [-1 639]
                            )
                          ]
                          spids: [546 642]
                        )
                      spids: [530 544]
                    )
                    (AndOr
                      children: [
                        (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$ok"))} {(Lit_Other "=")} {(yes)} 
                          {(Lit_Other "]")}
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(1)}
                        )
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [485 664]
                )
              spids: [-1 -1]
            )
          ]
          spids: [449]
        )
      spids: [445 448]
    )
    (ForEach
      iter_name: board_config
      iter_words: [{($ VSub_Name "$board_configs")}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_board)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name board_config>
                          suffix_op: (StringUnary op_id:VOp1_DPercent arg_word:{(":*")})
                          spids: [683 687]
                        )
                      )
                    }
                  spids: [681]
                )
              ]
              spids: [681]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:_configs)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name board_config>
                          suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*:")})
                          spids: [693 697]
                        )
                      )
                    }
                  spids: [691]
                )
              ]
              spids: [691]
            )
            (C {(eval)} 
              {
                (DQ (${ VSub_Name _board) ("() { _split_boards ") ($ VSub_Name "$_board") (" ") 
                  (BracedVarSub
                    token: <VSub_Name _configs>
                    suffix_op: 
                      (PatSub
                        pat: {(",")}
                        replace: {(" ")}
                        do_all: True
                        do_prefix: False
                        do_suffix: False
                      )
                    spids: [710 717]
                  ) ("; }")
                )
              }
            )
          ]
          spids: [678 721]
        )
      spids: [674 676]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"d24c7d1305d81326a0f18071c073cd80c5ac43fcc8d8495509c56a8207620acc3d3e86afa873f738953841b3f6273e345493aad449f2464673275cc221270527  u-boot-2017.01.tar.bz2\n"
                ) 
                (
"f8c9bb6e84d6f0620c976ac7ad5dd7ec7ff9dfdd4b1d03d2bf6653e7beccf80bdf2debfc92fb1f696dba92fb40287d3c45897e0078951451d0835cb61a5f16d1  README.txt\n"
                ) 
                (
"c860f2cd6fe0ad9a462ac12a7df24b621ac53a07ada21a53791fd14f73c08619adb1f70a61507cc0b531c7beb1953ea8224b8dca5585a5d11b8df43d9ee0ac76  update-u-boot"
                )
              )
            }
          spids: [724]
        )
      ]
      spids: [724]
    )
  ]
)