Subversion Repositories vgwhois

Rev

Rev 6 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. #!/bin/bash
  2.  
  3. #
  4. #  VGWhoIs (ViaThinkSoft Global WhoIs, a fork of generic Whois / gwhois)
  5. #  Installer / Uninstaller
  6. #
  7. #  (c) 2019 by Daniel Marschall, ViaThinkSoft <info@daniel-marschall.de>
  8. #
  9. #  License: https://www.gnu.org/licenses/gpl-2.0.html (GPL version 2)
  10. #
  11.  
  12. DIR=$( dirname "$0" )
  13. REAL_DIR=$( cd "$DIR" && pwd )
  14.  
  15. # --- STEP 0: Are we root?
  16.  
  17. if [[ $EUID > 0 ]]; then
  18.         >&2 echo "You need to be root to execute this program."
  19.         exit 1
  20. fi
  21.  
  22. # --- STEP 1: Install required packages
  23.  
  24. # Required for the program itself:
  25. #  - perl (used by vgwhois main program. used by 6to4 and Teredo subprogram)
  26. #  - libwww-perl (cpan LWP::Simple; used by vgwhois main program)
  27. #  - libnet-libidn-perl (cpan Net::LibIDN; used by vgwhois main program)
  28. #  - (commented out) libencode-detect-perl (cpan Encode::Detect; used by vgwhois main program)
  29. #  - curl (used by some parts of the vgwhois main program. used by pattern generator and subprograms)
  30. #  - lynx-cur (used by some parts of the vgwhois main program)
  31. #  - libnet-ip-perl (cpan Net::IP; used for IPv6 interpretation by Teredo subprogram and vgwhois main program)
  32. #  - libnet-dns-perl (cpan Net::DNS; used by Teredo subprogram)
  33. #  - libmath-bigint-gmp-perl (cpan Math::BigInt; used for IPv6 masking by vgwhois main program)
  34. #  - php7.0-cli (used by subprograms and pattern-generator)
  35. #
  36. # Required for the maintenance tools
  37. #  - php7.0-gmp (used by IPv6 pattern generator)
  38. #  - netcat (used by the whois-ping maintainance program)
  39. #  - php7.0-sqlite3 (used by the whois-ping maintainance program)
  40. #
  41. # TODO: how can be avoid the "php7.0" name? are there generic package names?
  42. # TODO: How to make the installation of the packages fit to most distros?
  43.  
  44. apt-get update
  45. apt-get install perl libwww-perl libnet-libidn-perl curl lynx-cur libnet-ip-perl libnet-dns-perl libmath-bigint-gmp-perl php7.0-cli php7.0-gmp netcat php7.0-sqlite3
  46.  
  47. # --- STEP 2: "Install" symlinks
  48.  
  49. if [ -L /usr/bin/vgwhois ]; then
  50.         rm /usr/bin/vgwhois
  51. fi
  52. ln -s "$REAL_DIR"/main/vgwhois /usr/bin/vgwhois
  53. echo "Symlink /usr/bin/vgwhois created"
  54.  
  55. # ---
  56.  
  57. if [ -L /usr/sbin/vgwhois-pattern-update ]; then
  58.         rm /usr/sbin/vgwhois-pattern-update
  59. fi
  60. ln -s "$REAL_DIR"/maintenance/pattern-generator/vgwhois-pattern-update /usr/sbin/vgwhois-pattern-update
  61. echo "Symlink /usr/sbin/vgwhois-pattern-update created"
  62.  
  63. # ---
  64.  
  65. if [ -L /usr/sbin/vgwhois-qa-check ]; then
  66.         rm /usr/sbin/vgwhois-qa-check
  67. fi
  68. ln -s "$REAL_DIR"/maintenance/qa-monitor/run /usr/sbin/vgwhois-qa-check
  69. echo "Symlink /usr/sbin/vgwhois-qa-check created"
  70.  
  71. # ---
  72.  
  73. if [ -L /usr/sbin/vgwhois-update ]; then
  74.         rm /usr/sbin/vgwhois-update
  75. fi
  76. ln -s "$REAL_DIR"/update.sh /usr/sbin/vgwhois-update
  77. echo "Symlink /usr/sbin/vgwhois-update created"
  78.  
  79. # ---
  80.  
  81. if [ -L /usr/share/man/man1/vgwhois.1 ]; then
  82.         rm /usr/share/man/man1/vgwhois.1
  83. fi
  84. ln -s "$REAL_DIR"/man/man1/vgwhois.1 /usr/share/man/man1/vgwhois.1
  85. echo "Symlink /usr/share/man/man1/vgwhois.1 created"
  86.  
  87.