-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.sh
More file actions
executable file
·116 lines (91 loc) · 2.42 KB
/
install.sh
File metadata and controls
executable file
·116 lines (91 loc) · 2.42 KB
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#!/bin/bash
# this is a hack
export INSTALL_PATH=/usr
export LOG_PATH=/var/log/pop
export ETC_PATH=/etc
export USER=cmsprod
export PYTHONPATH=/usr/lib/python2.6/site-packages
### Where we are installing from (i.e. this directory) ###
export SOURCE=$(cd $(dirname ${BASH_SOURCE[0]}); pwd)
### Stop the daemons first ###
if [[ $(uname -r) =~ el7 ]]
then
systemctl stop popd 2>/dev/null
else
service popd stop 2>/dev/null
fi
echo
echo "Installing pop from $SOURCE."
echo
echo '#########################'
echo '###### LIBRARIES ######'
echo '#########################'
echo
echo "-> Installing.."
### (Clear &) Make the directories ###
mkdir -p $INSTALL_PATH
mkdir -p $PYTHONPATH/pop
mkdir -p $INSTALL_PATH/sbin
mkdir -p $INSTALL_PATH/bin
mkdir -p $ETC_PATH
### Install python libraries ###
cp -r $SOURCE/python/* $PYTHONPATH/pop/
python -m compileall $PYTHONPATH/pop > /dev/null
### Install the executable(s) ###
pop_files=`ls -1 $SOURCE/sbin`
for file in $pop_files
do
cp $SOURCE/sbin/$file $INSTALL_PATH/sbin/$file
chown root:$(id -gn $USER) $INSTALL_PATH/sbin/$file
chmod 754 $INSTALL_PATH/sbin/$file
done
pop_files=`ls -1 $SOURCE/bin`
for file in $pop_files
do
cp $SOURCE/bin/$file $INSTALL_PATH/bin/$file
chown root:$(id -gn $USER) $INSTALL_PATH/bin/$file
chmod 754 $INSTALL_PATH/bin/$file
done
echo " Done."
echo
### Install the configs ###
echo
echo '########################'
echo '###### CONFIGS #######'
echo '########################'
echo
echo "-> Installing.."
cp $SOURCE/etc/pop.cfg $ETC_PATH
cat $SOURCE/etc/my.cnf >> $ETC_PATH/my.cnf
sed -i "s|_INSTALLPATH_|$INSTALL_PATH|" $ETC_PATH/pop.cfg
echo " Done."
echo
echo
echo '#########################'
echo '###### LOGFILES #######'
echo '#########################'
echo
echo "-> Installing.."
mkdir -p $LOG_PATH
chown $USER:$(id -gn $USER) $LOG_PATH
echo " Done."
echo
### Install the daemons ###
echo '########################'
echo '###### SERVICES ######'
echo '########################'
echo
echo "-> Installing popd.."
if [[ $(uname -r) =~ el7 ]]
then
# systemd daemon
cp $SOURCE/daemon/popd.systemd /usr/lib/systemd/system/popd.service
sed -i "s|_INSTALLPATH_|$INSTALL_PATH|" /usr/lib/systemd/system/popd.service
systemctl daemon-reload
else
cp $SOURCE/daemon/popd.sysv /etc/init.d/popd
sed -i "s|_INSTALLPATH_|$INSTALL_PATH|" /etc/init.d/popd
chmod +x /etc/init.d/popd
fi
echo " Done."
echo