Rev 4 | Rev 6 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4 | daniel-mar | 1 | #!/bin/bash |
2 | |||
5 | daniel-mar | 3 | # |
4 | # VWhois (ViaThinkSoft 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 | |||
4 | daniel-mar | 12 | DIR=$( dirname "$0" ) |
13 | REAL_DIR=$( cd "$DIR" && pwd ) |
||
14 | |||
5 | daniel-mar | 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 | |||
4 | daniel-mar | 22 | # --- STEP 1: Install required packages |
23 | |||
24 | # Required for the program itself: |
||
25 | # - perl (used by gwhois main program. used by 6to4 and Teredo subprogram) |
||
26 | # - libwww-perl (cpan LWP::Simple; used by gwhois main program) |
||
27 | # - libnet-libidn-perl (cpan Net::LibIDN; used by gwhois main program) |
||
28 | # - (commented out) libencode-detect-perl (cpan Encode::Detect; used by gwhois main program) |
||
29 | # - curl (used by some parts of the gwhois main program. used by pattern generator and subprograms) |
||
30 | # - lynx-cur (used by some parts of the gwhois main program) |
||
31 | # - libnet-ip-perl (cpan Net::IP; used for IPv6 interpretation by Teredo subprogram and gwhois 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 gwhois 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? |
||
5 | daniel-mar | 42 | # TODO: check if aptitude is installed. otherwise apt-get. How to make it fit to most distros? |
4 | daniel-mar | 43 | |
44 | aptitude update |
||
45 | aptitude 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/gwhois ]; then |
||
50 | rm /usr/bin/gwhois |
||
51 | fi |
||
52 | ln -s "$REAL_DIR"/main/gwhois /usr/bin/gwhois |
||
53 | echo "Symlink /usr/bin/gwhois created" |
||
54 | |||
5 | daniel-mar | 55 | # --- |
56 | |||
4 | daniel-mar | 57 | if [ -L /usr/sbin/gwhois-pattern-update ]; then |
58 | rm /usr/sbin/gwhois-pattern-update |
||
59 | fi |
||
60 | ln -s "$REAL_DIR"/maintenance/pattern-generator/gwhois-pattern-update /usr/sbin/gwhois-pattern-update |
||
61 | echo "Symlink /usr/sbin/gwhois-pattern-update created" |
||
62 | |||
5 | daniel-mar | 63 | # --- |
64 | |||
4 | daniel-mar | 65 | if [ -L /usr/sbin/gwhois-qa-check ]; then |
66 | rm /usr/sbin/gwhois-qa-check |
||
67 | fi |
||
68 | ln -s "$REAL_DIR"/maintenance/qa-monitor/run /usr/sbin/gwhois-qa-check |
||
69 | echo "Symlink /usr/sbin/gwhois-qa-check created" |
||
70 | |||
5 | daniel-mar | 71 | # --- |
72 | |||
4 | daniel-mar | 73 | if [ -L /usr/sbin/gwhois-update ]; then |
74 | rm /usr/sbin/gwhois-update |
||
75 | fi |
||
76 | ln -s "$REAL_DIR"/update.sh /usr/sbin/gwhois-update |
||
77 | echo "Symlink /usr/sbin/gwhois-update created" |
||
78 | |||
5 | daniel-mar | 79 | # --- |
80 | |||
4 | daniel-mar | 81 | if [ -L /usr/share/man/man1/gwhois.1 ]; then |
82 | rm /usr/share/man/man1/gwhois.1 |
||
83 | fi |
||
84 | ln -s "$REAL_DIR"/man/man1/gwhois.1 /usr/share/man/man1/gwhois.1 |
||
85 | echo "Symlink /usr/share/man/man1/gwhois.1 created" |
||
86 |