(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(seafile)} spids:[6])]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(4.2.6)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(3)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"Cloud storage system with advanced support for file syncing, privacy protection and teamwork"
                )
              )
            }
          spids: [15]
        )
      ]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ("https://github.com/haiwen/seafile/"))}
          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 (GPL3))} spids:[30])]
      spids: [30]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:makedepends)
          op: Equal
          rhs: 
            {
              (DQ ("autoconf automake bash ccnet-dev curl-dev fuse-dev glib-dev\n") 
                ("\tintltool jansson-dev libarchive-dev libevent-dev libevhtp-dev\n") ("\tlibsearpc-dev libtool libzdb-dev openssl-dev sqlite-dev util-linux-dev\n") 
                ("\tvala bsd-compat-headers libevhtp-dev")
              )
            }
          spids: [35]
        )
      ]
      spids: [35]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:depends)
          op: Equal
          rhs: {(DQ ("bash ") (${ VSub_Name pkgname) (-common))}
          spids: [43]
        )
      ]
      spids: [43]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgusers) op:Equal rhs:{(DQ (seafile))} spids:[52])]
      spids: [52]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkggroups) op:Equal rhs:{(DQ (seafile))} spids:[57])]
      spids: [57]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") 
                (".tar.gz::https://github.com/haiwen/seafile/archive/v") (${ VSub_Name pkgver) (".tar.gz\n") 
                (
"       seafile-controller.patch seafile-scripts.patch seafile.initd seafile.confd"
                )
              )
            }
          spids: [62]
        )
      ]
      spids: [62]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          op: Equal
          rhs: 
            {
              (DQ ($ VSub_Name "$pkgname") ("-dev ") ($ VSub_Name "$pkgname") ("-doc py-") 
                ($ VSub_Name "$pkgname") (":py ") ($ VSub_Name "$pkgname") ("-server\n") ("\t") ($ VSub_Name "$pkgname") (-common)
              )
            }
          spids: [75]
        )
      ]
      spids: [75]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:install)
          op: Equal
          rhs: {(DQ ("seafile-server.pre-install seafile-server.post-install"))}
          spids: [90]
        )
      ]
      spids: [90]
    )
    (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: [96]
        )
      ]
      spids: [96]
    )
    (FuncDef
      name: prepare
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:pf) op:Equal spids:[121])]
              spids: [119]
            )
            (AndOr
              children: [
                (C {(cd)} {(DQ (${ VSub_Name _builddir))})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (ForEach
              iter_name: pf
              iter_words: [{($ VSub_Name "$source")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {($ VSub_Name "$pf")}
                      arms: [
                        (case_arm
                          pat_list: [{(Lit_Other "*") (.patch)}]
                          action: [
                            (Sentence
                              child: (C {(msg)} {($ VSub_Name "$pf")})
                              terminator: <Op_Semi ";">
                            )
                            (AndOr
                              children: [
                                (C {(patch)} {(-p1)} {(-i)} 
                                  {(DQ ($ VSub_Name "$srcdir")) (/) (${ VSub_Name pf)}
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(1)}
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [158 160 186 -1]
                        )
                      ]
                      spids: [151 155 189]
                    )
                  ]
                  spids: [148 192]
                )
              spids: [144 146]
            )
          ]
          spids: [116]
        )
      spids: [112 115]
    )
    (FuncDef
      name: build
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ (${ VSub_Name _builddir))})
            (C {(./autogen.sh)})
            (C {(./configure)} {(--prefix) (Lit_Other "=") (/usr)} 
              {(--sysconfdir) (Lit_Other "=") (/etc)} {(--mandir) (Lit_Other "=") (/usr/share/man)} {(--infodir) (Lit_Other "=") (/usr/share/info)} 
              {(--enable-server)} {(--enable-python)} {(--enable-fuse)} {(--enable-client)} {(--enable-console)}
            )
            (AndOr
              children: [
                (C {(make)} 
                  {(Lit_VarLike "CFLAGS=") 
                    (DQ ($ VSub_Name "$CFLAGS") (" ") 
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(pkgconf)} {(--cflags)} {(evhtp)})])
                        left_token: <Left_CommandSub "$(">
                        spids: [269 275]
                      )
                    )
                  }
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [201]
        )
      spids: [197 200]
    )
    (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 {(rm)} {(DQ (${ VSub_Name pkgdir)) (/usr/lib/libseafile.la)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [291]
        )
      spids: [287 290]
    )
    (FuncDef
      name: py
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (noarch))} spids:[346])]
              spids: [346]
            )
            (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name "$pkgname") (" python bindings"))}
                  spids: [359]
                )
              ]
              spids: [359]
            )
            (AndOr
              children: [
                (C {(install)} {(-d)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/python) (Lit_Other "*")} 
                  {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [343]
        )
      spids: [339 342]
    )
    (FuncDef
      name: common
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name subpkgdir)) (/usr/bin)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name subpkgdir)) (/usr/lib)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (C {(mv)} {(DQ (${ VSub_Name pkgdir)) (/usr/bin/seafile)} 
              {(DQ (${ VSub_Name subpkgdir)) (/usr/bin)}
            )
            (C {(mv)} {(DQ (${ VSub_Name pkgdir)) (/usr/lib/libseafile.so.0) (Lit_Other "*")} 
              {(DQ (${ VSub_Name subpkgdir)) (/usr/lib)}
            )
          ]
          spids: [408]
        )
      spids: [404 407]
    )
    (FuncDef
      name: server
      body: 
        (BraceGroup
          children: [
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name subpkgdir)) (/usr/bin)})
            (ForEach
              iter_name: b
              iter_words: [{(DQ (${ VSub_Name pkgdir)) (/usr/bin/) (Lit_Other "*")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  children: [
                                    (DBracket
                                      expr: 
                                        (BoolBinary
                                          op_id: BoolBinary_GlobNEqual
                                          left: {(DQ ($ VSub_Name "$b"))}
                                          right: {(DQ (${ VSub_Name pkgdir) (/usr/bin/seaf-cli))}
                                        )
                                    )
                                    (AndOr
                                      children: [
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobNEqual
                                              left: {(DQ ($ VSub_Name "$b"))}
                                              right: 
                                                {(DQ (${ VSub_Name pkgdir) (/usr/bin/seaf-daemon))}
                                            )
                                        )
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobNEqual
                                              left: {(DQ ($ VSub_Name "$b"))}
                                              right: {(DQ (${ VSub_Name pkgdir) (/usr/bin/seafile))}
                                            )
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (AndOr
                              children: [
                                (C {(mv)} {(DQ ($ VSub_Name "$b"))} 
                                  {(DQ (${ VSub_Name subpkgdir) (/usr/bin))}
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(1)}
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          spids: [-1 583]
                        )
                      ]
                      spids: [-1 606]
                    )
                  ]
                  spids: [518 609]
                )
              spids: [508 516]
            )
            (AndOr
              children: [
                (C {(mkdir)} {(-m)} {(755)} {(-p)} {(DQ (${ VSub_Name subpkgdir)) (/usr/share/seafile)})
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(cp)} {(-ar)} {(DQ (${ VSub_Name _builddir)) (/scripts)} 
                  {(DQ (${ VSub_Name subpkgdir)) (/usr/share/seafile)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(install)} {(-D)} {(-m0644)} {(DQ (${ VSub_Name srcdir)) (/seafile.confd)} 
                  {(DQ (${ VSub_Name subpkgdir)) (/etc/conf.d/seafile)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [
                (C {(install)} {(-D)} {(-m0755)} {(DQ (${ VSub_Name srcdir)) (/seafile.initd)} 
                  {(DQ (${ VSub_Name subpkgdir)) (/etc/init.d/seafile)}
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
              op_id: Op_DPipe
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:SEAFILE_HOME)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name subpkgdir)) (/var/lib/seafile)}
                  spids: [722]
                )
              ]
              spids: [722]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:SEAFILE_DEFAULT)
                  op: Equal
                  rhs: {($ VSub_Name "$SEAFILE_HOME") (/default)}
                  spids: [731]
                )
              ]
              spids: [731]
            )
            (SimpleCommand
              words: [{(mkdir)} {(-m)} {(755)} {(-p)} {($ VSub_Name "$SEAFILE_DEFAULT")}]
              redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[746])]
            )
            (C {(chown)} {(seafile) (Lit_Other ":") (seafile)} {($ VSub_Name "$SEAFILE_DEFAULT")})
          ]
          spids: [488]
        )
      spids: [484 487]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:md5sums)
          op: Equal
          rhs: 
            {
              (DQ ("d05600bf1187e0354ee8e85f3074a786  seafile-4.2.6.tar.gz\n") 
                ("3f2b5457441871a4922d873e2b386711  seafile-controller.patch\n") ("5d5217a4616ba9d57b56f0b61797b419  seafile-scripts.patch\n") 
                ("d2319373c376bff87a3005057d887193  seafile.initd\n") ("cc33cc3ef3b04415a7b1d160e6b64e2b  seafile.confd")
              )
            }
          spids: [761]
        )
      ]
      spids: [761]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha256sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"a4a51dbdd5b2c49a8b1cb16ffacea92a0f52b5a0050c0de20057893f183d9e40  seafile-4.2.6.tar.gz\n"
                ) ("03fa3d43bcaed4bf720e7cbec5ea0fe9e1d8d90987bc8b69a045dafe10e1c27a  seafile-controller.patch\n") 
                (
"42fc1ed64c0a3cac0c5f74f2c269d96eba80e8b7a9dbff6332726342b576edf6  seafile-scripts.patch\n"
                ) ("aaf173e5df205fc4b152f6d75c5b3b7ec738bb1acbbe413ea6fce268b1d830c1  seafile.initd\n") 
                ("a78183173ce054a245878d309dda9bff7981193d2b0594d299030e403e857952  seafile.confd")
              )
            }
          spids: [770]
        )
      ]
      spids: [770]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"83d55c0cd6ac6fdca5b6dde50c0d3f402894621271bf9b2c5e24106672ac091c23c7ba8e124d88f5142d2eed4373f078f45793699402bf7732804762f1928cfa  seafile-4.2.6.tar.gz\n"
                ) 
                (
"6b70df847d2d3f1fbd856f220dd5686d04c1ee4810c60d3bb28c80e85f508d3b448a0e6cfb9a83a43876285968ec917867838ef31c00cfb431a8e1e953241246  seafile-controller.patch\n"
                ) 
                (
"9af26dbbc62c2e135d1ecb29243de658524d3cdbcfdfbaafcb30e137d0230792a7466b7b01a449a113ddf87f89acdceaf8c06192dd2ee28b3bbd18e9973a7b0d  seafile-scripts.patch\n"
                ) 
                (
"66b84519ab66e7435da13a2ed1869bac3ead1f7b46ed4b0a5ecda6dfcea056c5e0af8abcf1eba00fc2e68b8df7e07e3951968c385850f01ecf46f08dfdbe7083  seafile.initd\n"
                ) 
                (
"051ccc065a3b7abc7c802e00e364da1c3f689e133c4ba37385dbff97cfe8ad4b490cf53778344d129213fb0238258690a47f5e737387bce1368db59d22ee8504  seafile.confd"
                )
              )
            }
          spids: [779]
        )
      ]
      spids: [779]
    )
  ]
)