(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgname)
          op: Equal
          rhs: {(dovecot-antispam-plugin)}
          spids: [6]
        )
      ]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(51)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(2)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: 
            {
              (DQ ("Integrates DSPAM into dovecot IMAP server. Mercurial Version for dovecot >= 2.1"))
            }
          spids: [15]
        )
      ]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("http://hg.dovecot.org/dovecot-antispam-plugin/"))}
          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 (GPL))} spids:[30])]
      spids: [30]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ (dovecot))} spids:[35])]
      spids: [35]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:depends_dev)
          op: Equal
          rhs: {(DQ ("dovecot-dev mercurial autoconf automake gawk"))}
          spids: [40]
        )
      ]
      spids: [40]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$depends_dev"))}
          spids: [45]
        )
      ]
      spids: [45]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(DQ )} spids:[50])]
      spids: [50]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$pkgname") (-doc))}
          spids: [54]
        )
      ]
      spids: [54]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:source) op:Equal rhs:{(DQ )} spids:[60])]
      spids: [60]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_hgroot)
          op: Equal
          rhs: {(DQ ("http://hg.dovecot.org/dovecot-antispam-plugin"))}
          spids: [65]
        )
      ]
      spids: [65]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_hgrepo)
          op: Equal
          rhs: {(DQ (dovecot-antispam-plugin))}
          spids: [70]
        )
      ]
      spids: [70]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_builddir)
          op: Equal
          rhs: {(DQ ($ VSub_Name "$srcdir") (/) ($ VSub_Name "$_hgrepo"))}
          spids: [75]
        )
      ]
      spids: [75]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$srcdir"))})
            (C {(msg)} {(DQ ("Connecting to Mercurial server..."))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-d)} {(DQ ($ VSub_Name "$_hgrepo"))} {(Lit_Other "]")})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(cd)} {(DQ ($ VSub_Name "$_hgrepo"))})
                    (C {(hg)} {(pull)} {(-r)} {(51)} {(-u)})
                    (C {(msg)} {(DQ ("The local files are updated."))})
                  ]
                  spids: [-1 117]
                )
              ]
              else_action: [
                (C {(hg)} {(clone)} {(-r)} {(51)} {(DQ ($ VSub_Name "$_hgroot"))} 
                  {(DQ ($ VSub_Name "$_hgrepo"))}
                )
              ]
              spids: [145 165]
            )
            (AndOr
              children: [
                (C {(update_config_guess)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [87]
        )
      spids: [83 86]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))})
            (AndOr
              children: [
                (C {(./autogen.sh)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(./configure)} {(--prefix) (Lit_Other "=") (/usr)} 
                  {(--with-dovecot) (Lit_Other "=") (/usr/lib/dovecot)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(sed)} {(-i)} {(-e)} {(SQ <"s/install -o/install -D -o/">)} {(-e)} 
                  {(SQ <"s|$(INSTALLDIR)/|$(INSTALLDIR)/$(LIBRARY_NAME)|">)} {(Makefile)}
                )
                (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: [183]
        )
      spids: [179 182]
    )
    (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
            )
          ]
          spids: [259]
        )
      spids: [255 258]
    )
  ]
)