(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgname)
          op: assign_op.Equal
          rhs: {<hfsprogs>}
          spids: [6]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_pkgname)
          op: assign_op.Equal
          rhs: {<diskdev_cmds>}
          spids: [9]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgver)
          op: assign_op.Equal
          rhs: {<540.1_p3>}
          spids: [12]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:_pkgver)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: <Id.VSub_Name pkgver>
                suffix_op: 
                  (suffix_op.PatSub
                    pat: {<_p>}
                    replace: {<.linux>}
                    replace_mode: Id.Undefined_Tok
                  )
              )
            }
          spids: [15]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgrel)
          op: assign_op.Equal
          rhs: {<1>}
          spids: [24]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:pkgdesc)
          op: assign_op.Equal
          rhs: {(DQ <'Tools to create/check Apple HFS+ filesystems'>)}
          spids: [27]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:url)
          op: assign_op.Equal
          rhs: {(DQ <'https://src.fedoraproject.org/rpms/hfsplus-tools'>)}
          spids: [35]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:arch)
          op: assign_op.Equal
          rhs: {(DQ <all>)}
          spids: [40]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:license)
          op: assign_op.Equal
          rhs: {(DQ <APSL-2.0>)}
          spids: [45]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:makedepends)
          op: assign_op.Equal
          rhs: {(DQ <'clang libbsd-dev libressl-dev linux-headers util-linux-dev'>)}
          spids: [50]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:provides)
          op: assign_op.Equal
          rhs: 
            {
              (DQ ($ Id.VSub_DollarName '$_pkgname') <'='> ($ Id.VSub_DollarName '$pkgver') <-r> 
                ($ Id.VSub_DollarName '$pkgrel')
              )
            }
          spids: [55]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:subpackages)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_DollarName '$pkgname') <-doc>)}
          spids: [64]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:source)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <'http://cavan.codon.org.uk/~mjg59/'> ($ Id.VSub_DollarName '$_pkgname') <'/'> 
                ($ Id.VSub_DollarName '$_pkgname') <-> ($ Id.VSub_DollarName '$_pkgver') <'.tar.gz\n'> <'\tAPSL-2.0.txt\n'> <'\tfix-stdarg.patch\n'> 
                <'\tmusl-compat.patch'>
              )
            }
          spids: [76]
        )
      ]
    )
    (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: [90]
        )
      ]
    )
    (command.ShFunction
      name: prepare
      body: 
        (BraceGroup
          children: [
            (C {<default_prepare>})
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (C {<sed>} {<-i>} {(SQ <'s/[F|f]sck_hfs/fsck.hfsplus/g'>)} {<'fsck_hfs.tproj/fsck_hfs.8'>})
            (C {<sed>} {<-i>} {(SQ <'s/[N|n]ewfs_hfs/mkfs.hfsplus/g'>)} {<'newfs_hfs.tproj/newfs_hfs.8'>})
            (C {<find>} {<.>} {<-type>} {<f>} {<-name>} {(SQ <'*.[ch]'>)} {<-exec>} {<chmod>} {<-c>} {<-x>} 
              {<Id.Lit_LBrace '{'> <Id.Lit_RBrace '}'>} {<Id.Lit_Other '+'>}
            )
          ]
        )
    )
    (command.ShFunction
      name: build
      body: (BraceGroup children:[(C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))}) (C {<make>})])
    )
    (command.ShFunction
      name: check
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (command.Pipeline
              children: [
                (command.Simple
                  words: [{<'./fsck_hfs.tproj/fsck_hfs'>}]
                  redirects: [(redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>})]
                  do_fork: T
                )
                (C {<grep>} {(SQ <'usage: fsck_hfs'>)})
              ]
              negated: F
            )
            (command.Pipeline
              children: [
                (command.Simple
                  words: [{<'./newfs_hfs.tproj/newfs_hfs'>}]
                  redirects: [(redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>})]
                  do_fork: T
                )
                (C {<grep>} {(SQ <'usage: newfs_hfs'>)})
              ]
              negated: F
            )
          ]
        )
    )
    (command.ShFunction
      name: package
      body: 
        (BraceGroup
          children: [
            (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))})
            (C {<install>} {<-D>} {<-m>} {<755>} {<'fsck_hfs.tproj/fsck_hfs'>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/sbin/fsck.hfs'>}
            )
            (C {<install>} {<-D>} {<-m>} {<755>} {<'newfs_hfs.tproj/newfs_hfs'>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/sbin/mkfs.hfsplus'>}
            )
            (C {<ln>} {<-s>} {<fsck.hfs>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/sbin/fsck.hfsplus'>}
            )
            (C {<install>} {<-D>} {<-m>} {<644>} {<'fsck_hfs.tproj/fsck_hfs.8'>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/share/man/man8/fsck.hfsplus.8'>}
            )
            (C {<install>} {<-D>} {<-m>} {<644>} {<'newfs_hfs.tproj/newfs_hfs.8'>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/share/man/man8/mkfs.hfsplus.8'>}
            )
            (C {<ln>} {<-s>} {<fsck.hfs.8>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/share/man/man8/fsck.hfs.8'>}
            )
            (C {<install>} {<-D>} {<-m>} {<644>} {(DQ ($ Id.VSub_DollarName '$srcdir')) <'/APSL-2.0.txt'>} 
              {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/share/licenses/'> 
                ($ Id.VSub_DollarName '$pkgname') <'/APSL-2.0.txt'>
              }
            )
          ]
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:sha512sums)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                <
'3d88fcdec4bfd32a75b6dc75899748d8585371b641be86cfdfe54ade738a0612662dd008c1506c7e216325303217d0b5f188a9c4fdccfb48b2ce50333f212d9e  diskdev_cmds-540.1.linux3.tar.gz\n'
                > 
                <
'76a53cc22e92e12d6255fc6ee0b9b65e03ef0d590e8bdbf06e9861a5f024f25c5344ce8426ca8f81d8544d86004be02f806ad60517165a9f6d9dfd6f31790c21  APSL-2.0.txt\n'
                > 
                <
'cff25de690f5ecc418380e5cbda3615d38ef9583ace60be9b7696c50e46bc35a29855b216ddb4daae79ff5b40f66ffbc03f613ab0ae1935ee9df6e69caed2e0b  fix-stdarg.patch\n'
                > 
                <
'34c73b0b57c8e8fa64abf34a9396b6dc218b1a1f06fec98fd52e77c81421cff249f4a65d5f26e692b1cb5e2424a871ecbf5b35eab5d3509506f6710406ff7577  musl-compat.patch'
                >
              )
            }
          spids: [374]
        )
      ]
    )
  ]
)