(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(knock)} spids:[6])]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(0.7)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ('A simple port-knocking daemon'))}
          spids: [15]
        )
      ]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ('http://www.zeroflux.org/projects/knock'))}
          spids: [20]
        )
      ]
      spids: [20]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[25])]
      spids: [25]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ ('GPL2+'))} spids:[30])]
      spids: [30]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ (iptables))} spids:[35])]
      spids: [35]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ (libpcap-dev))}
          spids: [40]
        )
      ]
      spids: [40]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(SQ )} spids:[45])]
      spids: [45]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$pkgname') (-doc))}
          spids: [47]
        )
      ]
      spids: [47]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ('http://www.zeroflux.org/proj/knock/files/') ($ VSub_Name '$pkgname') (-) 
                ($ VSub_Name '$pkgver') ('.tar.gz\n') ('\tknock.initd\n') ('\tknock.confd')
              )
            }
          spids: [53]
        )
      ]
      spids: [53]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$srcdir') (/) ($ VSub_Name '$pkgname') (-) ($ VSub_Name '$pkgver'))}
          spids: [65]
        )
      ]
      spids: [65]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[84])]
              spids: [82]
            )
            (C {(cd)} {(DQ ($ VSub_Name '$_builddir'))})
            (ForEach
              iter_name: i
              iter_words: [{($ VSub_Name '$source')}]
              do_arg_iter: False
              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
                              children: [
                                (C {(patch)} {(-p1)} {(-i)} 
                                  {(DQ ($ VSub_Name '$srcdir')) (/) ($ VSub_Name '$i')}
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(1)}
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [113 115 139 -1]
                        )
                      ]
                      spids: [106 110 142]
                    )
                  ]
                  spids: [103 145]
                )
              spids: [99 101]
            )
          ]
          spids: [79]
        )
      spids: [75 78]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$_builddir'))})
            (AndOr
              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)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [(C {(make)}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})]
              op_id: Op_DPipe
            )
          ]
          spids: [154]
        )
      spids: [150 153]
    )
    (FuncDef
      name: package
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$_builddir'))})
            (AndOr
              children: [
                (C {(make)} {(Lit_VarLike 'DESTDIR=') (DQ ($ VSub_Name '$pkgdir'))} {(install)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(install)} {(-m755)} {(-D)} 
                  {(DQ ($ VSub_Name '$srcdir')) (/) ($ VSub_Name '$pkgname') (.initd)} {(DQ ($ VSub_Name '$pkgdir')) (/etc/init.d/knockd)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(install)} {(-m644)} {(-D)} 
                  {(DQ ($ VSub_Name '$srcdir')) (/) ($ VSub_Name '$pkgname') (.confd)} {(DQ ($ VSub_Name '$pkgdir')) (/etc/conf.d/knockd)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [226]
        )
      spids: [222 225]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: 
            {
              (DQ ('cb6373fd4ccb42eeca3ff406b7fdb8a7  knock-0.7.tar.gz\n') 
                ('82eec0859406f1394fcdbbeacad118ce  knock.initd\n') ('8067d3b8401a0b5d513c44d3ff436032  knock.confd')
              )
            }
          spids: [309]
        )
      ]
      spids: [309]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'9938479c321066424f74c61f6bee46dfd355a828263dc89561a1ece3f56578a4  knock-0.7.tar.gz\n'
                ) ('16a8d08c1fe354ea7bef9b3b7854592e87f16fac4707f8410137c512b4545fc5  knock.initd\n') 
                ('569d0596f28e6df05aeff16331fa5b19c60e4d6a2e36eec57dc9ac377ba3b46e  knock.confd')
              )
            }
          spids: [316]
        )
      ]
      spids: [316]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'eab5d855f7111d9411e84a56a15e8ea74f41c5bd9dee27ab49f0d8d509eeeb96a60c508928c92916dc0ec9b737c447ca8ca5ed4db6479b389549d60e76a85aa7  knock-0.7.tar.gz\n'
                ) 
                (
'369010549a1b33efe9f634794f039249421778d49739e8f10e4d6baa83424e066a63c0ef637b70762ee34617e7b67f9ac6683125d35ded85d6779d6b2ef0f7db  knock.initd\n'
                ) 
                (
'63fa311e6adf21450d4c93008a9537ec1b3c0dbed28e3daf955f2761127d9d756f2f7a84d8357d81a5e1a5a48453f9179d0c18cf18af0b9f30437c862a438d7f  knock.confd'
                )
              )
            }
          spids: [323]
        )
      ]
      spids: [323]
    )
  ]
)