package_nsis-weasel.sh 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #!/bin/sh
  2. set -e
  3. #
  4. # Script to package a Tor installer on win32. This script assumes that
  5. # you have already built Tor, that you are running cygwin, and that your
  6. # environment is basically exactly the same as Nick's.
  7. if ! [ -d Win32Build ] || ! [ -d contrib ]; then
  8. echo "No Win32Build and/or no contrib directory here. Are we in the right place?" >&2
  9. exit 1
  10. fi
  11. rm -rf win_tmp
  12. mkdir win_tmp
  13. mkdir win_tmp/bin
  14. mkdir win_tmp/contrib
  15. mkdir win_tmp/doc
  16. mkdir win_tmp/doc/design-paper
  17. mkdir win_tmp/doc/contrib
  18. mkdir win_tmp/src
  19. mkdir win_tmp/src/config
  20. mkdir win_tmp/tmp
  21. cp Win32Build/vc7/Tor/Debug/Tor.exe win_tmp/bin/tor.exe
  22. cp Win32Build/vc7/tor_resolve/Debug/tor_resolve.exe win_tmp/bin
  23. cp ../c-windows-system32/libeay32.dll win_tmp/bin
  24. cp ../c-windows-system32/ssleay32.dll win_tmp/bin
  25. man2html doc/tor.1.in > win_tmp/tmp/tor-reference.html
  26. man2html doc/tor-resolve.1 > win_tmp/tmp/tor-resolve.html
  27. clean_newlines() {
  28. perl -pe 's/^\n$/\r\n/mg; s/([^\r])\n$/\1\r\n/mg;' $1 >$2
  29. }
  30. clean_localstatedir() {
  31. perl -pe 's/^\n$/\r\n/mg; s/([^\r])\n$/\1\r\n/mg; s{\@LOCALSTATEDIR\@/(lib|log)/tor/}{C:\\Documents and Settings\\Application Data\\Tor\\}' $1 >$2
  32. }
  33. for fn in \
  34. HACKING \
  35. control-spec.txt \
  36. dir-spec.txt \
  37. rend-spec.txt \
  38. socks-extensions.txt \
  39. stylesheet.css \
  40. tor-spec.txt \
  41. tor-doc-osx.html \
  42. tor-doc-server.html \
  43. tor-doc-unix.html \
  44. tor-doc-win32.html \
  45. tor-hidden-service.html \
  46. tor-switchproxy.html \
  47. version-spec.txt \
  48. ; do
  49. clean_newlines doc/$fn win_tmp/doc/$fn
  50. done
  51. cp doc/design-paper/tor-design.pdf win_tmp/doc/design-paper/tor-design.pdf
  52. for fn in tor-reference.html tor-resolve.html; do \
  53. clean_newlines win_tmp/tmp/$fn win_tmp/doc/$fn
  54. done
  55. for fn in README AUTHORS ChangeLog LICENSE; do \
  56. clean_newlines $fn win_tmp/$fn
  57. done
  58. clean_localstatedir src/config/torrc.sample.in win_tmp/src/config/torrc.sample
  59. cp contrib/tor.nsi win_tmp/contrib
  60. cd win_tmp/contrib
  61. echo "Now run"
  62. echo ' t:'
  63. echo ' cd \tor\win_tmp\contrib'
  64. echo ' c:\programme\nsis\makensis tor.nsi'
  65. echo ' move tor-*.exe ../../..'