(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgname) op: assign_op.Equal rhs: {<john>} spids: [9] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgver) op: assign_op.Equal rhs: {<1.8.0>} spids: [12] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_pkgrel) op: assign_op.Equal rhs: {<jumbo-1>} spids: [15] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgrel) op: assign_op.Equal rhs: {<7>} spids: [18] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: {(DQ <'John the Ripper password cracker'>)} spids: [21] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:url) op: assign_op.Equal rhs: {(DQ <'http://www.openwall.com/john'>)} spids: [26] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arch) op: assign_op.Equal rhs: {(DQ <'x86_64 armhf ppc64le'>)} spids: [31] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:license) op: assign_op.Equal rhs: {(DQ <GPL2>)} spids: [36] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: {(DQ <nss>)} spids: [41] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: {(DQ <'!strip'>)} spids: [46] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:makedepends) op: assign_op.Equal rhs: {(DQ <'libpcap-dev libressl-dev gmp-dev yasm-dev zlib-dev'>)} spids: [51] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:install) op: assign_op.Equal rhs: {(DQ )} spids: [56] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:subpackages) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$pkgname') <'-doc\n'> <'\t'> ($ Id.VSub_DollarName '$pkgname') <'-scripts-py:py:noarch\n'> <'\t'> ($ Id.VSub_DollarName '$pkgname') <'-scripts-perl:perl:noarch\n'> <'\t'> ($ Id.VSub_DollarName '$pkgname') <'-scripts-ruby:ruby:noarch\n'> <'\t'> ($ Id.VSub_DollarName '$pkgname') <'-misc::noarch\n'> <'\t'> ($ Id.VSub_DollarName '$pkgname') <'-zsh-completion:zshcomp:noarch\n'> <'\t'> ($ Id.VSub_DollarName '$pkgname') <'-bash-completion:bashcomp:noarch\n'> <'\t'> ($ Id.VSub_DollarName '$pkgname') <'-jumbo:jumbo:noarch\n'> <'\t'> ) } spids: [60] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:source) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$pkgname') <-> ($ Id.VSub_DollarName '$pkgver') <'.tar.gz::https://github.com/magnumripper/JohnTheRipper/archive/'> ($ Id.VSub_DollarName '$pkgver') <-> ($ Id.VSub_DollarName '$_pkgrel') <'.tar.gz\n'> <'\ttruecrypt_fmt_plug.patch\n'> <'\tparams-h.patch\n'> <'\tgcc5-support.patch\n'> <'\tlibressl.patch\n'> <'\t'> ) } spids: [88] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:builddir) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$srcdir') <'/JohnTheRipper-'> ($ Id.VSub_DollarName '$pkgver') <-> ($ Id.VSub_DollarName '$_pkgrel') ) } spids: [105] ) ] ) (command.ShFunction name: build body: (BraceGroup children: [ (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir')) <'/src'>}) (C {<sed>} {<-i>} {<-e>} { (DQ <'s/ac_default_prefix.*/ac_default_prefix='> <Id.Lit_BadBackslash '\\'> <'/usr/g'>) } {<configure>} ) (C {<export>} {<Id.Lit_VarLike 'OPENSSL_LIBS='> (DQ <'-lssl -lcrypto'>)}) (C {<'./configure'>} {<--disable-openmp>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<make>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) ] ) ) (command.ShFunction name: package body: (BraceGroup children: [ (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/bin'>}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/share/doc/'> ($ Id.VSub_DollarName '$pkgname') } ) (C {<install>} {<-Dm644>} {<'run/john.conf'>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/etc/john/john.conf'>} ) (C {<install>} {<-Dm644>} {<'run/john.local.conf'>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/etc/john/john.local.conf'>} ) (C {<install>} {<-Dm644>} {<'doc/'> <Id.Lit_Star '*'>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/share/doc/'> ($ Id.VSub_DollarName '$pkgname') } ) (C {<install>} {<-Dm644>} {<'doc/LICENSE'>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/share/licenses/'> ($ Id.VSub_DollarName '$pkgname') <'/LICENSE'> } ) (C {<rm>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/share/doc/'> ($ Id.VSub_DollarName '$pkgname') <'/LICENSE'> <Id.Lit_Star '*'> } ) (C {<local>} {<Id.Lit_VarLike 'john_bins='> (DQ <'john calc_stat genmkvpwd mkvcalcproba relbench\n'> <'\t\t\ttgtsnarf raw2dyna'>) } ) (command.ForEach iter_name: bin iter_words: [{(${ Id.VSub_Name john_bins)}] do_arg_iter: F body: (command.DoGroup children: [ (C {<install>} {<-Dm755>} {<'run/'> (${ Id.VSub_Name bin)} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/bin'>} ) ] ) ) (C {<local>} {<Id.Lit_VarLike 'john_links='> (DQ <'hccap2john keepass2john mozilla2john pdf2john\n'> <'\t\t\tpfx2john pwsafe2john racf2john rar2john ssh2john\n'> <'\t\t\tunafs unique unsahdow undrop zip2john'> ) } ) (command.ForEach iter_name: link iter_words: [{(${ Id.VSub_Name john_links)}] do_arg_iter: F body: (command.DoGroup children: [ (C {<ln>} {<-s>} {<john>} {(DQ ($ Id.VSub_DollarName '$pkgdir')) <'/usr/bin/'> (${ Id.VSub_Name link)} ) ] ) ) ] ) ) (command.ShFunction name: py body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: {(DQ <'libxml2 libgsf'>)} spids: [364] ) ] ) (C {<_script>} {<python>} {(DQ <'*.py'>)}) ] ) ) (command.ShFunction name: perl body: (BraceGroup children:[(C {<_script>} {<perl>} {(DQ <'*.pl benchmark-unify'>)})]) ) (command.ShFunction name: ruby body: (BraceGroup children:[(C {<_script>} {<ruby>} {(DQ <'*.rb'>)})]) ) (command.ShFunction name: _script body: (BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'lang='> (DQ ($ Id.VSub_Number '$1'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$depends') <' '> ($ Id.VSub_DollarName '$lang'))} spids: [433] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: {(DQ <'John the Ripper ('> ($ Id.VSub_DollarName '$lang') <' scripts)'>)} spids: [441] ) ] ) (C {<_install>} {<755>} {(DQ ($ Id.VSub_Number '$2'))}) ] ) ) (command.ShFunction name: misc body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: {(DQ <'Misc tools for John the Ripper: password list and charset files'>)} spids: [467] ) ] ) (C {<local>} {<Id.Lit_VarLike 'john_pwd='> (DQ <'password.lst dictionary.rfc2865 stats'>)}) (C {<local>} {<Id.Lit_VarLike 'john_chr='> (DQ <'*.chr'>)}) (C {<local>} {<Id.Lit_VarLike 'john_cfg='> (DQ <'dumb*.conf repeats*.conf dynamic*.conf\n'> <'\t\t\tkorelogic.conf regex_alphabets.conf'> ) } ) (C {<_install>} {<644>} { (DQ ($ Id.VSub_DollarName '$john_pwd') <' '> ($ Id.VSub_DollarName '$john_cfg') <' '> ($ Id.VSub_DollarName '$john_chr') ) } ) ] ) ) (command.ShFunction name: _install body: (BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'perm='> (DQ ($ Id.VSub_Number '$1'))}) (C {<local>} {<Id.Lit_VarLike 'files='> (DQ ($ Id.VSub_Number '$2'))}) (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/usr/share/'> ($ Id.VSub_DollarName '$pkgname') } ) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir')) <'/run'>}) (command.ForEach iter_name: f iter_words: [{(${ Id.VSub_Name files)}] do_arg_iter: F body: (command.DoGroup children: [ (C {<install>} {<-Dm> (${ Id.VSub_Name perm)} {(${ Id.VSub_Name f)} {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/usr/share/john'>} ) ] ) ) ] ) ) (command.ShFunction name: bashcomp body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: {(DQ )} spids: [599] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: {(DQ <'Bash completions for '> ($ Id.VSub_DollarName '$pkgname'))} spids: [604] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:install_if) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$pkgname') <'='> ($ Id.VSub_DollarName '$pkgver') <-r> ($ Id.VSub_DollarName '$pkgrel') <' bash-completion'> ) } spids: [611] ) ] ) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<install>} {<-Dm644>} {<'run/john.bash_completion'>} {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/usr/share/bash-completion/completions/'> ($ Id.VSub_DollarName '$pkgname') } ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) ] ) ) (command.ShFunction name: zshcomp body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: {(DQ )} spids: [660] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: {(DQ <'Zsh completions for '> ($ Id.VSub_DollarName '$pkgname'))} spids: [665] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:install_if) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$pkgname') <'='> ($ Id.VSub_DollarName '$pkgver') <-r> ($ Id.VSub_DollarName '$pkgrel') <' zsh'> ) } spids: [672] ) ] ) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$builddir'))}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<install>} {<-Dm644>} {<'run/john.zsh_completion'>} {(DQ ($ Id.VSub_DollarName '$subpkgdir')) <'/usr/share/zsh/site-functions/'> ($ Id.VSub_DollarName '$pkgname') } ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ) ] ) ) (command.ShFunction name: jumbo body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pkgdesc) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$pkgdesc') <' (jumbo pack)'>)} spids: [721] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:depends) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$pkgname') <'-scripts-py '> ($ Id.VSub_DollarName '$pkgname') <'-scripts-perl\n'> <'\t\t'> ($ Id.VSub_DollarName '$pkgname') <'-scripts-ruby '> ($ Id.VSub_DollarName '$pkgname') <-misc> ) } spids: [728] ) ] ) (C {<mkdir>} {(DQ ($ Id.VSub_DollarName '$subpkgdir'))}) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:sha512sums) op: assign_op.Equal rhs: { (DQ < '8b7fad7a6330b5ff1afc306218ba698aaa27776b566f82c2e76102d5ceb10aeafa69d71fa6fff67c81996ea2c6a04384bab4696ed192306c6d074873562e7089 john-1.8.0.tar.gz\n' > < '80be6cc1b1b35c6a85392008638b2f8b6d8a518ee35f59405e2f5682e025e4b8beecf964148311e6f62d76b59153f04427024fa81aaf56ee2062ac2dbf0a9bcb truecrypt_fmt_plug.patch\n' > < 'a5c22feb8bf11509c306a2f236f2bd4891fdfc3b01882f07d85015e0895d82f28df0dff78ba8d3a3862d8d95877a88a9eb8138e6c407b40881fa1455079b98fc params-h.patch\n' > < '4ebe8b41b1d0c3839348dcf5348332f9d7ce25919077fa054db64b7106150f299c6b177d117f7c18c1db672a494a6de6be8b5afe502f5ca3639602ba3aef6866 gcc5-support.patch\n' > < 'fb46431fe3e42e36c72361c13460e8ac626d2f146fa84c8f6e17e5407e69530a84ceb1de6bc9910c1a03a6e907fc113f7000a2cbc3936ae0860103d3e2d489b0 libressl.patch' > ) } spids: [751] ) ] ) ] )