(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(fwknop)} spids:[3])]
      spids: [3]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(2.6.9)} spids:[6])]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ('A Single Packet Authorization (SPA) implementation'))}
          spids: [12]
        )
      ]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ('http://www.cipherdyne.org/fwknop/'))}
          spids: [17]
        )
      ]
      spids: [17]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[22])]
      spids: [22]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (GPL2))} spids:[27])]
      spids: [27]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ (iptables))} spids:[32])]
      spids: [32]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends_dev) op:Equal rhs:{(DQ )} spids:[37])]
      spids: [37]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$depends_dev') (' libpcap-dev iptables gpgme-dev'))}
          spids: [41]
        )
      ]
      spids: [41]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(DQ )} spids:[47])]
      spids: [47]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name '$pkgname') ('-dev ') ($ VSub_Name '$pkgname') ('-doc ') 
                ($ VSub_Name '$pkgname') ('-libs ') ($ VSub_Name '$pkgname') (-server)
              )
            }
          spids: [51]
        )
      ]
      spids: [51]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ('http://cipherdyne.org/fwknop/download/fwknop-') ($ VSub_Name '$pkgver') 
                ('.tar.gz\n') ('\tfwknopd.initd')
              )
            }
          spids: [63]
        )
      ]
      spids: [63]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$srcdir')) (/fwknop-) ($ VSub_Name '$pkgver')}
          spids: [72]
        )
      ]
      spids: [72]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[88])]
              spids: [86]
            )
            (C {(cd)} {(DQ ($ VSub_Name '$_builddir'))})
            (ForEach
              iter_name: i
              iter_words: [{($ VSub_Name '$source')}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name '$i')}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other '*') (.patch)}]
                          action: [
                            (Sentence
                              child: (C {(msg)} {($ VSub_Name '$i')})
                              terminator: <Op_Semi ';'>
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(patch)} {(-p1)} {(-i)} 
                                  {(DQ ($ VSub_Name '$srcdir')) (/) ($ VSub_Name '$i')}
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(1)}
                                )
                              ]
                            )
                          ]
                          spids: [117 119 143 16777215]
                        )
                      ]
                      spids: [110 114 146]
                    )
                  ]
                  spids: [107 149]
                )
              spids: [103 105]
            )
          ]
          spids: [83]
        )
      spids: [79 82]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$_builddir'))})
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(./configure)} {(--build) (Lit_Other '=') ($ VSub_Name '$CBUILD')} 
                  {(--host) (Lit_Other '=') ($ VSub_Name '$CHOST')} {(--prefix) (Lit_Other '=') (/usr)} {(--sysconfdir) (Lit_Other '=') (/etc)} 
                  {(--mandir) (Lit_Other '=') (/usr/share/man)} {(--infodir) (Lit_Other '=') (/usr/share/info)} {(--localstatedir) (Lit_Other '=') (/var)} 
                  {(--with-gpgme)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
            (AndOr
              ops: [Op_DPipe]
              children: [(C {(make)}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})]
            )
          ]
          spids: [158]
        )
      spids: [154 157]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$_builddir'))})
            (AndOr
              ops: [Op_DPipe]
              children: [
                (C {(make)} {(Lit_VarLike 'DESTDIR=') (DQ ($ VSub_Name '$pkgdir'))} {(install)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
            (C {(install)} {(-Dm755)} {(DQ ($ VSub_Name '$srcdir')) (/fwknopd.initd)} 
              {(DQ ($ VSub_Name '$pkgdir')) (/etc/init.d/fwknopd)}
            )
            (SimpleCommand
              words: [
                {(echo)}
                {
                  (DQ 
                    (
'# If using gnupg2 see http://www.gnupg.org/faq/GnuPG-FAQ.html#how-can-i-use-gnupg-in-an-automated-environment'
                    )
                  )
                }
              ]
              redirects: [
                (Redir
                  op_id: Redir_DGreat
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$pkgdir')) (/etc/fwknop/access.conf)}
                  spids: [287]
                )
              ]
            )
            (SimpleCommand
              words: [
                {(echo)}
                {
                  (DQ 
                    (
'# & sign the client public key on the server with a normal key which has a password'
                    )
                  )
                }
              ]
              redirects: [
                (Redir
                  op_id: Redir_DGreat
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$pkgdir')) (/etc/fwknop/access.conf)}
                  spids: [301]
                )
              ]
            )
            (SimpleCommand
              words: [{(echo)} {(DQ ('# disable GPG_DECRYPT_PW & enable the following variable:'))}]
              redirects: [
                (Redir
                  op_id: Redir_DGreat
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$pkgdir')) (/etc/fwknop/access.conf)}
                  spids: [315]
                )
              ]
            )
            (SimpleCommand
              words: [{(echo)} {(DQ ('#GPG_ALLOW_NO_PW: Y;'))}]
              redirects: [
                (Redir
                  op_id: Redir_DGreat
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$pkgdir')) (/etc/fwknop/access.conf)}
                  spids: [329]
                )
              ]
            )
          ]
          spids: [240]
        )
      spids: [236 239]
    )
    (FuncDef
      name: server
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('A Single Packet Authorization (SPA) server'))}
                  spids: [346]
                )
              ]
              spids: [346]
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$subpkgdir')) (/usr)})
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(mv)} {(DQ ($ VSub_Name '$pkgdir')) (/usr/sbin)} 
                  {(DQ ($ VSub_Name '$subpkgdir')) (/usr/)}
                )
                (C {(mv)} {(DQ ($ VSub_Name '$pkgdir')) (/etc)} {(DQ ($ VSub_Name '$subpkgdir')) (/)})
              ]
            )
          ]
          spids: [343]
        )
      spids: [339 342]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: 
            {
              (DQ ('f195bd31e7dc7df2e9b0c35cd80655b7  fwknop-2.6.9.tar.gz\n') 
                ('db52540eb534e34e839988f0d33d3abd  fwknopd.initd')
              )
            }
          spids: [393]
        )
      ]
      spids: [393]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'9022a0e1b3ee1dc9cd1323efcc0e5f8f24bc521e19e9779efd9d23a3aa3e5577  fwknop-2.6.9.tar.gz\n'
                ) ('ac9da6eaf36eba551654efceab2f8c8f92cd0a7b4e308e8d6bfa87195d4a9c78  fwknopd.initd')
              )
            }
          spids: [399]
        )
      ]
      spids: [399]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'25e17cd74eba088e1e341482b8c69ff781f4f2e0986fedbd0f52b5d1f99638087ed70de3994d05419e2541969d94d9e8fe7417d3df3449f683dab32b2565bfef  fwknop-2.6.9.tar.gz\n'
                ) 
                (
'e3558c4a1579ea66b19451acc476f3cfec782b052f6d96a57ffc520169db755739e2bf3a815802cc5958a7b2fdeb9b39cf2182e5d89882cf4502985401352465  fwknopd.initd'
                )
              )
            }
          spids: [405]
        )
      ]
      spids: [405]
    )
  ]
)