/
install.pl
executable file
·91 lines (79 loc) · 2.36 KB
/
install.pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/usr/bin/perl
#----------------------------------------------------------------------------------
# Install script for the Slush library and all of its dependancies
# - script installs required packages with dpkg
# - script uses pip to install both python3 and python2 packages
# - clones the
#
#
#
use strict;
use warnings;
use autodie;
# declare all required packages
my $packages = "python3 python3-setuptools python3-pip git python3-rpi.gpio python-setuptools python-pip python-rpi.gpio python-dev";
my $pip_packages = "spidev inputs smbus2";
# git repos to install
my $slush_repo = qw(https://github.com/Roboteurs/slushengine);
# system commands
my $apt_update_cmd="sudo apt-get update";
my $apt_install_cmd="sudo apt-get -y install $packages";
my $pip3_install_cmd="sudo pip3 install $pip_packages";
my $pip2_install_cmd="sudo pip install $pip_packages";
my $git_clone_cmd = "git clone ";
my $python_install_cmd = "sudo python3 setup.py install";
my $logit = "1>>log.txt 2>&1";
# update
open(my $outfile, '>', 'log.txt');
print "Updatng apt \r\n";
system "$apt_update_cmd $logit";
if ($? != 0){
print "Aptitude failed to updateNo: $? \r\n";
print "Check log.txt";
die();
}
# install required packages with apt
open(my $outfile, '>', 'log.txt');
print "Installing required build packages \r\n";
system "$apt_install_cmd $logit";
if ($? != 0){
print "Aptitude failed to install packages Error No: $? \r\n";
print "Check log.txt";
die();
}
# install pip3 packages
print "Installing pip3 packages \r\n";
system "$pip3_install_cmd $logit";
if ($? != 0){
print "Failed to install pip packages Error No: $? \r\n";
print "Check log.txt";
die();
}
# install pip packages
print "Installing pip2 packages \r\n";
system "$pip2_install_cmd $logit";
if ($? != 0){
print "Failed to install pip packages Error No: $? \r\n";
print "Check log.txt";
die();
}
#install slush
print "Installing slush \r\n";
system "$git_clone_cmd $slush_repo $logit";
if ($? != 0){
print "Failed to clone slush repo Error No: $? Does directory already exist? \r\n";
print "Check log.txt";
die();
}
chdir 'slushengine';
system "$python_install_cmd $logit";
if ($? != 0){
print "Failed to install slush Error No: $? \r\n";
print "Check log.txt";
die();
}
chdir '..';
#finish install
unlink "log.txt";
print "Slush Install Complete \r\n";
print "Happy Spinning! \r\n"