Subversion Repositories vgwhois

Rev

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