(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgname)
          op: assign_op.Equal
          rhs: {(aports-build)}
          spids: [3]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgver)
          op: assign_op.Equal
          rhs: {(1.1)}
          spids: [6]
        )
      ]
    )
    (command.ShAssignment
      pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:pkgrel) op:assign_op.Equal rhs:{(6)} spids:[9])]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgdesc)
          op: assign_op.Equal
          rhs: {(DQ ('MQTT based build-on-git-push scripts for Alpine Linux'))}
          spids: [12]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: {(DQ ('http://alpinelinux.org'))}
          spids: [17]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:arch)
          op: assign_op.Equal
          rhs: {(DQ (noarch))}
          spids: [22]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:license)
          op: assign_op.Equal
          rhs: {(DQ (GPL2))}
          spids: [27]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ('abuild>2.20.0 mosquitto-clients alpine-sdk mqtt-exec rsync lua-aports\n') 
                ('\tlua5.2-cjson lua5.2-mqtt-publish')
              )
            }
          spids: [32]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:depends_dev)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [38]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:makedepends)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$depends_dev') (' mosquitto-dev'))}
          spids: [42]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:install)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$pkgname') (.pre-install))}
          spids: [48]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:subpackages)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [54]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:source)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ('aports-build\n') ('\taports-build.initd\n') ('\tmqtt-exec.aports-build.confd\n') 
                ('\treport-build-errors.lua\n') ('\t')
              )
            }
          spids: [59]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:builddir)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$srcdir'))}
          spids: [69]
        )
      ]
    )
    (command.ShFunction
      name: prepare
      body: 
        (command.BraceGroup
          children: [
            (C {(local)} {(i)})
            (C {(cd)} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (command.ForEach
              iter_name: i
              iter_words: [{($ Id.VSub_DollarName '$source')}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.Case
                      to_match: {($ Id.VSub_DollarName '$i')}
                      arms: [
                        (case_arm
                          pat_list: [{(Id.Lit_Star '*') (.patch)}]
                          action: [
                            (command.Sentence
                              child: (C {(msg)} {($ Id.VSub_DollarName '$i')})
                              terminator: (Token id:Id.Op_Semi val:';' span_id:119)
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {(patch)} {(-p1)} {(-i)} 
                                  {(DQ ($ Id.VSub_DollarName '$srcdir')) (/) 
                                    ($ Id.VSub_DollarName '$i')
                                  }
                                )
                                (command.ControlFlow
                                  token: (Token id:Id.ControlFlow_Return val:return span_id:135)
                                  arg_word: {(1)}
                                )
                              ]
                            )
                          ]
                          spids: [112 114 138 -1]
                        )
                      ]
                    )
                  ]
                )
            )
          ]
        )
    )
    (command.ShFunction
      name: build
      body: (command.BraceGroup children:[(C {(cd)} {(DQ ($ Id.VSub_DollarName '$builddir'))})])
    )
    (command.ShFunction
      name: package
      body: 
        (command.BraceGroup
          children: [
            (C {(cd)} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {(install)} {(-Dm755)} {(DQ ($ Id.VSub_DollarName '$srcdir')) (/aports-build)} 
                  {(DQ ($ Id.VSub_DollarName '$pkgdir')) (/usr/bin/aports-build)}
                )
                (command.ControlFlow
                  token: (Token id:Id.ControlFlow_Return val:return span_id:197)
                  arg_word: {(1)}
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {(install)} {(-d)} {(DQ ($ Id.VSub_DollarName '$pkgdir')) (/etc/init.d)})
                (command.ControlFlow
                  token: (Token id:Id.ControlFlow_Return val:return span_id:213)
                  arg_word: {(1)}
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {(ln)} {(-s)} {(mqtt-exec)} 
                  {(DQ ($ Id.VSub_DollarName '$pkgdir')) (/etc/init.d/mqtt-exec.aports-build)}
                )
                (command.ControlFlow
                  token: (Token id:Id.ControlFlow_Return val:return span_id:232)
                  arg_word: {(1)}
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {(install)} {(-Dm644)} 
                  {(DQ ($ Id.VSub_DollarName '$srcdir')) (/mqtt-exec.aports-build.confd)} {(DQ ($ Id.VSub_DollarName '$pkgdir')) (/etc/conf.d/mqtt-exec.aports-build)}
                )
                (command.ControlFlow
                  token: (Token id:Id.ControlFlow_Return val:return span_id:255)
                  arg_word: {(1)}
                )
              ]
            )
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (C {(install)} {(-Dm644)} 
                  {(DQ ($ Id.VSub_DollarName '$srcdir')) (/report-build-errors.lua)} {(DQ ($ Id.VSub_DollarName '$pkgdir')) (/etc/buildrepo/plugins.d/report-build-errors.lua)}
                )
                (command.ControlFlow
                  token: (Token id:Id.ControlFlow_Return val:return span_id:281)
                  arg_word: {(1)}
                )
              ]
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha512sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (
'd0b3547322e0073583c9bcf262c56204940303d7c9512cc7b4bd3182c84db9acbbecfafa28d9a323d013ac91c55ea9bfc095f1098d590e57ae219a55e285bebd  aports-build\n'
                ) 
                (
'821035bda47152c341ec94bf960fa67e3377051826712ceb74f39103e6e422777b6e082231bfb87865653d2b93b7d3154cfc24abf65a52e3e66da69412dd7e41  aports-build.initd\n'
                ) 
                (
'62ed5cb6d1fef03fa707512c8c99c572a91e64706ebcc2e7097108811818615618bab908292d0ba0ad2afe93a27333d9c91deb347d6c99703eb8983d1ee5f480  mqtt-exec.aports-build.confd\n'
                ) 
                (
'ded99f4c9474e4dc91605de71919deebbeb8e2e3ebcc9d61890f327bb6220d891a9f2a6c615929cc53bd8007b1a1dbd827bc55cd5cbdd1a6661fcdafa4912950  report-build-errors.lua'
                )
              )
            }
          spids: [288]
        )
      ]
    )
  ]
)