vic_pozd

john-cuda PKGBUILD

Jul 26th, 2013
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.26 KB | None | 0 0
  1. # Maintainer: Thorsten Töpper <[email protected]>
  2. # Contributor: Andrea Scarpino <[email protected]>
  3. # Contributor: Dale Blount <[email protected]>
  4. # Contributor: Tom Newsom <[email protected]>
  5. # Contributor: Michal Krenek <[email protected]>
  6.  
  7. # 24.07.2013 Added i686 architecture in PKGBUILD. <vic.pozd at gmail.com>
  8.  
  9. _pkgbase=john
  10. pkgname=john-cuda
  11. pkgver=1.7.9
  12. pkgrel=1
  13. _jumbover=7
  14. pkgdesc="John The Ripper - A fast password cracker - CUDA version"
  15. provides=('john')
  16. conflicts=('john')
  17. arch=('i686' 'x86_64')
  18. url="http://www.openwall.com/$_pkgbase/"
  19. license=('GPL2' 'custom')
  20. depends=('openssl' 'opencl-nvidia')
  21. makedepends=('cuda')
  22. optdepends=("perl: for executing some of the scripts at /usr/share/john"
  23. "ruby: for executing some of the scripts at /usr/share/john"
  24. "python: for executing some of the scripts at /usr/share/john")
  25. backup=('etc/john/john.conf')
  26. install=john.install
  27. source=(http://www.openwall.com/$_pkgbase/g/$_pkgbase-$pkgver.tar.bz2
  28. http://www.openwall.com/john/g/john-$pkgver-jumbo-$_jumbover.diff.gz
  29. ftp://ftp.kfki.hu/pub/packages/security/ssh/ossh/libdes-4.04b.tar.gz
  30. params.h.patch)
  31. md5sums=('45f54fc59386ecd67daaef9f19781d93'
  32. 'b953fcb7f743eeeb5f938a28c352b8ef'
  33. 'c8d5c69f86c2eedb485583b0305284a1'
  34. 'f69ed632eba8fb9e45847a4b4a323787')
  35.  
  36. build() {
  37. # jumbo patch
  38. cd ${srcdir}/$_pkgbase-$pkgver
  39. patch -p1 < ${srcdir}/$_pkgbase-$pkgver-jumbo-$_jumbover.diff
  40. cd ${srcdir}/john-$pkgver/src/
  41.  
  42. # patch default params
  43. patch -p0 < ${srcdir}/params.h.patch
  44. if [ "$CARCH" == "x86_64" ]; then
  45. sed -i 's|CFLAGS = -c -Wall -O2|CFLAGS = -c -Wall -O2 -march=x86-64 -DJOHN_SYSTEMWIDE=1|' Makefile
  46. sed -i 's|^LDFLAGS =\(.*\)|LDFLAGS =\1 -lm -L/opt/cuda/lib64 /usr/lib/libstdc++.so.6|' Makefile
  47. sed -i -e 's|-m486||g' Makefile
  48. else
  49. sed -i 's|CFLAGS = -c -Wall -O2|CFLAGS = -c -Wall -O2 -march=i686 -DJOHN_SYSTEMWIDE=1|' Makefile
  50. sed -i 's|^LDFLAGS =\(.*\)|LDFLAGS =\1 -lm -L/opt/cuda/lib /usr/lib/libstdc++.so.6|' Makefile
  51. fi
  52. sed -i 's|LIBS = -ldes|LIBS = -ldes -Ldes|' Makefile
  53. # sed -i 's|#include <des.h>|#include "des/des.h"|' KRB5_fmt.c
  54. sed -i 's|#include <des.h>|#include "des/des.h"|' KRB5_std.h
  55.  
  56. # enable OMP
  57. sed -i 's|#OMPFLAGS = -fopenmp$|OMPFLAGS = -fopenmp|' Makefile
  58.  
  59. # LDFLAGS and PATH
  60. echo $PATH | grep -q /opt/cuda/bin || PATH=/opt/cuda/bin:$PATH
  61.  
  62. # build john
  63. if [ "$CARCH" == "x86_64" ]; then
  64. make linux-x86-64-cuda -j10
  65. else
  66. make linux-x86-cuda -j3
  67. fi
  68. }
  69.  
  70. package() {
  71. # config file
  72. sed -i 's|$JOHN/john.local.conf|/etc/john/john.local.conf|g' ${srcdir}/john-$pkgver/run/john.conf
  73. sed -i 's|$JOHN|/usr/share/john|g' ${srcdir}/john-$pkgver/run/john.conf
  74. install -Dm644 ${srcdir}/john-$pkgver/run/john.conf ${pkgdir}/etc/john/john.conf
  75.  
  76. # docs
  77. install -d ${pkgdir}/usr/share/doc/john
  78. install -m644 ${srcdir}/john-$pkgver/doc/* ${pkgdir}/usr/share/doc/john/
  79. install -Dm644 ${srcdir}/john-$pkgver/doc/LICENSE ${pkgdir}/usr/share/licenses/$_pkgbase/LICENSE
  80.  
  81. # install password list, charset files
  82. install -d ${pkgdir}/usr/share/john/
  83. install -m644 ${srcdir}/${_pkgbase}-${pkgver}/run/password.lst ${pkgdir}/usr/share/john/
  84. install -m644 ${srcdir}/${_pkgbase}-${pkgver}/run/dictionary.rfc2865 ${pkgdir}/usr/share/john/
  85. install -m644 ${srcdir}/${_pkgbase}-${pkgver}/run/stats ${pkgdir}/usr/share/john/
  86. install -m644 ${srcdir}/${_pkgbase}-${pkgver}/run/{all,alnum,alpha,digits,lanman}.chr \
  87. ${pkgdir}/usr/share/john/
  88. install -m644 ${srcdir}/${_pkgbase}-${pkgver}/run/{dumb16,dumb32,dynamic}.conf \
  89. ${pkgdir}/usr/share/john/
  90.  
  91. # install scripts
  92. john_scripts=(benchmark-unify \
  93. cracf2john.py \
  94. genincstats.rb \
  95. ldif2john.pl \
  96. lion2john-alt.pl \
  97. lion2john.pl \
  98. netntlm.pl \
  99. netscreen.py \
  100. odf2john.py \
  101. pass_gen.pl \
  102. radius2john.pl \
  103. sap2john.pl \
  104. sha-dump.pl \
  105. sha-test.pl \
  106. sipdump2john.py)
  107. for john_script in "${john_scripts[@]}"; do
  108. install -m755 ${srcdir}/${_pkgbase}-${pkgver}/run/${john_script} \
  109. ${pkgdir}/usr/share/john
  110. done
  111.  
  112. install -m644 ${srcdir}/${_pkgbase}-${pkgver}/run/dynamic.conf ${pkgdir}/etc/john/
  113. install -Dm644 ${srcdir}/${_pkgbase}-${pkgver}/run/john.bash_completion \
  114. ${pkgdir}/etc/bash_completion.d/john
  115.  
  116. # install binaries
  117. install -Dm755 ${srcdir}/john-$pkgver/run/john ${pkgdir}/usr/bin/john
  118. install -Dm755 ${srcdir}/john-$pkgver/run/calc_stat ${pkgdir}/usr/bin/calc_stat
  119. install -Dm755 ${srcdir}/john-$pkgver/run/genmkvpwd ${pkgdir}/usr/bin/genmkvpwd
  120. install -Dm755 ${srcdir}/john-$pkgver/run/mkvcalcproba ${pkgdir}/usr/bin/mkvcalcproba
  121. install -Dm755 ${srcdir}/john-$pkgver/run/relbench ${pkgdir}/usr/bin/relbench
  122. install -Dm755 ${srcdir}/john-$pkgver/run/tgtsnarf ${pkgdir}/usr/bin/tgtsnarf
  123. install -Dm755 ${srcdir}/john-$pkgver/run/mailer ${pkgdir}/usr/bin/john-mailer
  124. install -Dm755 ${srcdir}/john-$pkgver/run/raw2dyna ${pkgdir}/usr/bin/raw2dyna
  125.  
  126. # create links
  127. cd ${pkgdir}/usr/bin
  128. ln -s john hccap2john
  129. ln -s john keepass2john
  130. ln -s john pdf2john
  131. ln -s john pwsafe2john
  132. ln -s john racf2john
  133. ln -s john rar2john
  134. ln -s john ssh2john
  135. ln -s john unafs
  136. ln -s john unique
  137. ln -s john unshadow
  138. ln -s john undrop
  139. ln -s john zip2john
  140. }
  141.  
  142. # vim:set ts=2 sw=2 et:
Advertisement
Add Comment
Please, Sign In to add comment