(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgname) op: assign_op.Equal rhs: {<tftpy>} spids: [6] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgver) op: assign_op.Equal rhs: {<0.6.0>} spids: [9] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgrel) op: assign_op.Equal rhs: {<0>} spids: [12] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: {(DQ <'A Pure Python TFTP Protocol Implementation'>)} spids: [15] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:url) op: assign_op.Equal rhs: {(DQ <'http://tftpy.sourceforge.net/'>)} spids: [20] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arch) op: assign_op.Equal rhs: {(DQ <noarch>)} spids: [25] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:license) op: assign_op.Equal rhs: {(DQ <MIT>)} spids: [30] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: {(DQ )} spids: [35] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends_dev) op: assign_op.Equal rhs: {(DQ )} spids: [39] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:makedepends) op: assign_op.Equal rhs: {(DQ <python-dev>)} spids: [43] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:install) op: assign_op.Equal rhs: {(DQ )} spids: [48] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:subpackages) op: assign_op.Equal rhs: {(DQ )} spids: [52] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:source) op: assign_op.Equal rhs: { (DQ <'http://downloads.sourceforge.net/'> ($ Id.VSub_DollarName '$pkgname') <'/'> ($ Id.VSub_DollarName '$pkgname') <-> ($ Id.VSub_DollarName '$pkgver') <.tar.gz> ) } spids: [56] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_builddir) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/'> ($ Id.VSub_DollarName '$pkgname') <-> ($ Id.VSub_DollarName '$pkgver') } spids: [68] ) ] ) (command.ShFunction name: build body: (BraceGroup children: [ (C {<cd>} {(DQ ($ Id.VSub_DollarName '$_builddir'))}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<python>} {<setup.py>} {<build>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) ] ) ) (command.ShFunction name: package body: (BraceGroup children: [ (C {<cd>} {(DQ ($ Id.VSub_DollarName '$_builddir'))}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<python>} {<setup.py>} {<install>} {<--prefix> <Id.Lit_Equals '='> <'/usr'>} {<--root> <Id.Lit_Equals '='> (DQ ($ Id.VSub_DollarName '$pkgdir'))} ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:md5sums) op: assign_op.Equal rhs: {(DQ <'b306d30ef1799f1932540a54cd72f79d tftpy-0.6.0.tar.gz'>)} spids: [145] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sha256sums) op: assign_op.Equal rhs: { (DQ < 'd8de06a543989b910e46d2793f96fb9c5cbd7f99ab014982945b58ae60289893 tftpy-0.6.0.tar.gz' > ) } spids: [150] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sha512sums) op: assign_op.Equal rhs: { (DQ < 'f1d3fa00dbb084d077ef727d5fb7d8510bc80537577f5dec8debb1b6b6563443ba0a180d4dd3371fe966e60f9fbfb1aa9eed3559af12642abf0c8b89efb82ee3 tftpy-0.6.0.tar.gz' > ) } spids: [155] ) ] ) ] )