Skip to content
Snippets Groups Projects
Commit 41ce8516 authored by Bob Mottram's avatar Bob Mottram
Browse files

Bump qTox commit to include mesh mode and avatars path settings

parent d5707ece
No related branches found
No related tags found
No related merge requests found
......@@ -47,634 +47,634 @@ TOXIC_COMMIT='cf16849b374e484a33a4dffa3dfb937b59d537f2'
TOXIC_FILE=/usr/local/bin/toxic
QTOX_REPO="https://github.com/bashrc/qTox"
QTOX_COMMIT='505c5043828cf0fc43ee3f16279a131e50edc057'
QTOX_COMMIT='e70761bed758b263a263f4e910ae0fd0311e9098'
function mesh_install_ffmpeg
{
chroot "${rootdir}" apt-get -y remove ffmpeg libav-tools
chroot "${rootdir}" apt-get -y install build-essential
chroot "${rootdir}" apt-get -y install --reinstall libmp3lame-dev libvorbis-dev libtheora-dev libspeex-dev yasm pkg-config libopenjpeg-dev libx264-dev
mkdir -p ${rootdir}$INSTALL_DIR/ffmpeg-release
cd ${rootdir}$INSTALL_DIR
wget http://ffmpeg.org/releases/ffmpeg-3.1.tar.bz2
tar xvjf ffmpeg-3.1.tar.bz2
chroot ${rootdir} /bin/bash -x <<EOF
chroot "${rootdir}" apt-get -y remove ffmpeg libav-tools
chroot "${rootdir}" apt-get -y install build-essential
chroot "${rootdir}" apt-get -y install --reinstall libmp3lame-dev libvorbis-dev libtheora-dev libspeex-dev yasm pkg-config libopenjpeg-dev libx264-dev
mkdir -p ${rootdir}$INSTALL_DIR/ffmpeg-release
cd ${rootdir}$INSTALL_DIR
wget http://ffmpeg.org/releases/ffmpeg-3.1.tar.bz2
tar xvjf ffmpeg-3.1.tar.bz2
chroot ${rootdir} /bin/bash -x <<EOF
cd ${INSTALL_DIR}/ffmpeg-3.1
./configure --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-libspeex --enable-shared --enable-pthreads --enable-libopenjpeg
make
make install
EOF
chroot "${rootdir}" apt-get install libav-tools
chroot "${rootdir}" apt-get install libav-tools
}
function mesh_tox_qtox {
if [ ! ${rootdir}$INSTALL_DIR ]; then
INSTALL_DIR=${rootdir}/root/build
fi
if [ ! -d ${rootdir}$INSTALL_DIR ]; then
mkdir -p ${rootdir}$INSTALL_DIR
fi
chroot "${rootdir}" apt-get -y install build-essential libatk1.0-0 libbz2-1.0 libc6 libcairo2 libdbus-1-3 libegl1-mesa libfontconfig1 libfreetype6 libgcc1 libgdk-pixbuf2.0-0 libgl1-mesa-glx libglib2.0-0 libgtk2.0-0 libice6 libicu52 libjpeg62-turbo libmng1 libmtdev1 libopenal1 libopus0 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpng12-0 libqrencode3 libsm6 libsodium13 libsqlite3-0 libssl1.0.0 libstdc++6 libtiff5 libudev1 libvpx1 libwayland-client0 libwayland-cursor0 libwayland-egl1-mesa libwebp5 libx11-6 libx11-xcb1 libxcb-glx0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-render0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcb-xinerama0 libxcb1 libxext6 libxfixes3 libxi6 libxrender1 libxss1 zlib1g libopus-dev libvpx-dev
chroot "${rootdir}" apt-get -y install build-essential qt5-qmake qt5-default qttools5-dev-tools libqt5opengl5-dev libqt5svg5-dev libopenal-dev libxss-dev qrencode libqrencode-dev libglib2.0-dev libgdk-pixbuf2.0-dev libgtk2.0-dev libsqlcipher-dev libopus-dev libvpx-dev libavformat-dev libavdevice-dev libswscale-dev libavutil-dev libavcodec-dev libavcodec56 libavcodec57 libavfilter-dev libavfilter6
#chroot "${rootdir}" apt-get -y install --force-yes tox-ffmpeg-dev
mesh_install_ffmpeg
git clone $QTOX_REPO ${rootdir}$INSTALL_DIR/qtox
if [ ! -d ${rootdir}$INSTALL_DIR/qtox ]; then
exit 72428
fi
cd ${rootdir}${INSTALL_DIR}/qtox
git checkout $QTOX_COMMIT -b $QTOX_COMMIT
chroot ${rootdir} /bin/bash -x <<EOF
if [ ! ${rootdir}$INSTALL_DIR ]; then
INSTALL_DIR=${rootdir}/root/build
fi
if [ ! -d ${rootdir}$INSTALL_DIR ]; then
mkdir -p ${rootdir}$INSTALL_DIR
fi
chroot "${rootdir}" apt-get -y install build-essential libatk1.0-0 libbz2-1.0 libc6 libcairo2 libdbus-1-3 libegl1-mesa libfontconfig1 libfreetype6 libgcc1 libgdk-pixbuf2.0-0 libgl1-mesa-glx libglib2.0-0 libgtk2.0-0 libice6 libicu52 libjpeg62-turbo libmng1 libmtdev1 libopenal1 libopus0 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpng12-0 libqrencode3 libsm6 libsodium13 libsqlite3-0 libssl1.0.0 libstdc++6 libtiff5 libudev1 libvpx1 libwayland-client0 libwayland-cursor0 libwayland-egl1-mesa libwebp5 libx11-6 libx11-xcb1 libxcb-glx0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-render0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcb-xinerama0 libxcb1 libxext6 libxfixes3 libxi6 libxrender1 libxss1 zlib1g libopus-dev libvpx-dev
chroot "${rootdir}" apt-get -y install build-essential qt5-qmake qt5-default qttools5-dev-tools libqt5opengl5-dev libqt5svg5-dev libopenal-dev libxss-dev qrencode libqrencode-dev libglib2.0-dev libgdk-pixbuf2.0-dev libgtk2.0-dev libsqlcipher-dev libopus-dev libvpx-dev libavformat-dev libavdevice-dev libswscale-dev libavutil-dev libavcodec-dev libavcodec56 libavcodec57 libavfilter-dev libavfilter6
#chroot "${rootdir}" apt-get -y install --force-yes tox-ffmpeg-dev
mesh_install_ffmpeg
git clone $QTOX_REPO ${rootdir}$INSTALL_DIR/qtox
if [ ! -d ${rootdir}$INSTALL_DIR/qtox ]; then
exit 72428
fi
cd ${rootdir}${INSTALL_DIR}/qtox
git checkout $QTOX_COMMIT -b $QTOX_COMMIT
chroot ${rootdir} /bin/bash -x <<EOF
cd ${INSTALL_DIR}/qtox
qmake
make
make install
EOF
if [ ! -f ${rootdir}/usr/bin/qtox ]; then
exit 75784
fi
if [ ! -f ${rootdir}/usr/bin/qtox ]; then
exit 75784
fi
}
function reconfigure_tox {
echo -n ''
echo -n ''
}
function upgrade_tox {
if ! grep -Fxq "install_tox" $COMPLETION_FILE; then
return
fi
function_check set_repo_commit
set_repo_commit $INSTALL_DIR/toxcore "toxcore commit" "$TOXCORE_COMMIT" $TOXCORE_REPO
function_check set_repo_commit
set_repo_commit $INSTALL_DIR/toxic "Toxic commit" "$TOXIC_COMMIT" $TOXIC_REPO
if ! grep -Fxq "install_tox" $COMPLETION_FILE; then
return
fi
function_check set_repo_commit
set_repo_commit $INSTALL_DIR/toxcore "toxcore commit" "$TOXCORE_COMMIT" $TOXCORE_REPO
function_check set_repo_commit
set_repo_commit $INSTALL_DIR/toxic "Toxic commit" "$TOXIC_COMMIT" $TOXIC_REPO
}
function backup_local_tox {
if [ -d /var/lib/tox-bootstrapd ]; then
echo $"Backing up Tox"
if [ -d /var/lib/tox-bootstrapd ]; then
echo $"Backing up Tox"
if [ -d /var/lib/tox-bootstrapd ]; then
cp /etc/tox-bootstrapd.conf /var/lib/tox-bootstrapd
if [ -d /var/lib/tox-bootstrapd/Maildir ]; then
rm -rf /var/lib/tox-bootstrapd/Maildir
fi
fi
if [ -d /var/lib/tox-bootstrapd ]; then
cp /etc/tox-bootstrapd.conf /var/lib/tox-bootstrapd
if [ -d /var/lib/tox-bootstrapd/Maildir ]; then
rm -rf /var/lib/tox-bootstrapd/Maildir
fi
fi
function_check backup_directory_to_usb
backup_directory_to_usb /var/lib/tox-bootstrapd tox
function_check backup_directory_to_usb
backup_directory_to_usb /var/lib/tox-bootstrapd tox
echo $"Backup of Tox complete"
fi
echo $"Backup of Tox complete"
fi
}
function restore_local_tox {
if [ -d $USB_MOUNT/backup/tox ]; then
echo $"Restoring Tox node settings"
function_check restore_directory_from_usb
restore_directory_from_usb / tox
if [ ! "$?" = "0" ]; then
function_check set_user_permissions
set_user_permissions
function_check backup_unmount_drive
backup_unmount_drive
exit 6393
fi
cp /var/lib/tox-bootstrapd/tox-bootstrapd.conf /etc/tox-bootstrapd.conf
systemctl restart tox-bootstrapd.service
if [ ! "$?" = "0" ]; then
systemctl status tox-bootstrapd.service
function_check set_user_permissions
set_user_permissions
function_check backup_unmount_drive
backup_unmount_drive
exit 59369
fi
fi
if [ -d $USB_MOUNT/backup/tox ]; then
echo $"Restoring Tox node settings"
function_check restore_directory_from_usb
restore_directory_from_usb / tox
if [ ! "$?" = "0" ]; then
function_check set_user_permissions
set_user_permissions
function_check backup_unmount_drive
backup_unmount_drive
exit 6393
fi
cp /var/lib/tox-bootstrapd/tox-bootstrapd.conf /etc/tox-bootstrapd.conf
systemctl restart tox-bootstrapd.service
if [ ! "$?" = "0" ]; then
systemctl status tox-bootstrapd.service
function_check set_user_permissions
set_user_permissions
function_check backup_unmount_drive
backup_unmount_drive
exit 59369
fi
fi
}
function backup_remote_tox {
if [ -d /var/lib/tox-bootstrapd ]; then
echo "Backing up Tox node settings"
if [ -d /var/lib/tox-bootstrapd/Maildir ]; then
rm -rf /var/lib/tox-bootstrapd/Maildir
fi
cp /etc/tox-bootstrapd.conf /var/lib/tox-bootstrapd
backup_directory_to_friend /var/lib/tox-bootstrapd tox
echo "Backup of Tox node settings complete"
fi
if [ -d /var/lib/tox-bootstrapd ]; then
echo "Backing up Tox node settings"
if [ -d /var/lib/tox-bootstrapd/Maildir ]; then
rm -rf /var/lib/tox-bootstrapd/Maildir
fi
cp /etc/tox-bootstrapd.conf /var/lib/tox-bootstrapd
backup_directory_to_friend /var/lib/tox-bootstrapd tox
echo "Backup of Tox node settings complete"
fi
}
function restore_remote_tox {
if [ -d $SERVER_DIRECTORY/backup/tox ]; then
echo $"Restoring Tox node settings"
function_check restore_directory_from_friend
restore_directory_from_friend / tox
if [ ! "$?" = "0" ]; then
exit 93653
fi
cp /var/lib/tox-bootstrapd/tox-bootstrapd.conf /etc/tox-bootstrapd.conf
systemctl restart tox-bootstrapd.service
if [ ! "$?" = "0" ]; then
systemctl status tox-bootstrapd.service
exit 59369
fi
echo $"Restore of Tox node complete"
fi
if [ -d $SERVER_DIRECTORY/backup/tox ]; then
echo $"Restoring Tox node settings"
function_check restore_directory_from_friend
restore_directory_from_friend / tox
if [ ! "$?" = "0" ]; then
exit 93653
fi
cp /var/lib/tox-bootstrapd/tox-bootstrapd.conf /etc/tox-bootstrapd.conf
systemctl restart tox-bootstrapd.service
if [ ! "$?" = "0" ]; then
systemctl status tox-bootstrapd.service
exit 59369
fi
echo $"Restore of Tox node complete"
fi
}
function remove_tox_node {
if ! grep -Fxq "install_tox_node" $COMPLETION_FILE; then
return
fi
iptables -D INPUT -p tcp --dport $TOX_PORT -j ACCEPT
function_check save_firewall_settings
save_firewall_settings
function_check remove_onion_service
remove_onion_service tox ${TOX_PORT}
${PROJECT_NAME}-mesh-install -f tox_node --remove yes
if [ ! "$?" = "0" ]; then
echo $'Failed to remove tox node'
exit 763836
fi
sed -i '/install_tox_node/d' $COMPLETION_FILE
sed -i '/configure_firewall_for_tox/d' $COMPLETION_FILE
if ! grep -Fxq "install_tox_node" $COMPLETION_FILE; then
return
fi
iptables -D INPUT -p tcp --dport $TOX_PORT -j ACCEPT
function_check save_firewall_settings
save_firewall_settings
function_check remove_onion_service
remove_onion_service tox ${TOX_PORT}
${PROJECT_NAME}-mesh-install -f tox_node --remove yes
if [ ! "$?" = "0" ]; then
echo $'Failed to remove tox node'
exit 763836
fi
sed -i '/install_tox_node/d' $COMPLETION_FILE
sed -i '/configure_firewall_for_tox/d' $COMPLETION_FILE
}
function remove_tox_avahi {
if ! grep -Fxq "tox_avahi" $COMPLETION_FILE; then
return
fi
cd $INSTALL_DIR/toxid
make uninstall
rm -rf $INSTALL_DIR/toxid
sed -i '/toxavahi/d' /etc/crontab
systemctl restart cron
sed -i '/tox_avahi/d' $COMPLETION_FILE
if ! grep -Fxq "tox_avahi" $COMPLETION_FILE; then
return
fi
cd $INSTALL_DIR/toxid
make uninstall
rm -rf $INSTALL_DIR/toxid
sed -i '/toxavahi/d' /etc/crontab
systemctl restart cron
sed -i '/tox_avahi/d' $COMPLETION_FILE
}
function remove_tox_client {
if ! grep -Fxq "install_tox_client" $COMPLETION_FILE; then
return
fi
${PROJECT_NAME}-mesh-install -f tox_client --remove yes
if [ ! "$?" = "0" ]; then
echo $'Could not remove Tox client'
exit 737253
fi
sed -i '/install_tox_client/d' $COMPLETION_FILE
sed -i '/Tox /d' $COMPLETION_FILE
sed -i '/Toxic /d' $COMPLETION_FILE
if ! grep -Fxq "install_tox_client" $COMPLETION_FILE; then
return
fi
${PROJECT_NAME}-mesh-install -f tox_client --remove yes
if [ ! "$?" = "0" ]; then
echo $'Could not remove Tox client'
exit 737253
fi
sed -i '/install_tox_client/d' $COMPLETION_FILE
sed -i '/Tox /d' $COMPLETION_FILE
sed -i '/Toxic /d' $COMPLETION_FILE
}
function remove_tox {
remove_tox_client
remove_tox_avahi
remove_tox_node
remove_tox_client
remove_tox_avahi
remove_tox_node
}
function configure_firewall_for_tox {
if [ ! $INSTALLING_MESH ]; then
if [ -f $COMPLETION_FILE ]; then
if grep -Fxq "configure_firewall_for_tox" $COMPLETION_FILE; then
return
fi
fi
fi
if [[ $INSTALLED_WITHIN_DOCKER == "yes" ]]; then
# docker does its own firewalling
return
fi
if [[ $ONION_ONLY != "no" ]]; then
return
fi
TOX_PORT_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOX_PORT=" | head -n 1 | awk -F '=' '{print $2}')
if [ ${#TOX_PORT_MAIN} -gt 2 ]; then
TOX_PORT=$TOX_PORT_MAIN
fi
if [ ! $TOX_PORT ]; then
echo $'No Tox port was specified'
exit 32856
fi
iptables -A INPUT -p tcp --dport $TOX_PORT -j ACCEPT
function_check save_firewall_settings
save_firewall_settings
OPEN_PORTS+=("Tox $TOX_PORT")
if [ -f $COMPLETION_FILE ]; then
echo 'configure_firewall_for_tox' >> $COMPLETION_FILE
fi
if [ ! $INSTALLING_MESH ]; then
if [ -f $COMPLETION_FILE ]; then
if grep -Fxq "configure_firewall_for_tox" $COMPLETION_FILE; then
return
fi
fi
fi
if [[ $INSTALLED_WITHIN_DOCKER == "yes" ]]; then
# docker does its own firewalling
return
fi
if [[ $ONION_ONLY != "no" ]]; then
return
fi
TOX_PORT_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOX_PORT=" | head -n 1 | awk -F '=' '{print $2}')
if [ ${#TOX_PORT_MAIN} -gt 2 ]; then
TOX_PORT=$TOX_PORT_MAIN
fi
if [ ! $TOX_PORT ]; then
echo $'No Tox port was specified'
exit 32856
fi
iptables -A INPUT -p tcp --dport $TOX_PORT -j ACCEPT
function_check save_firewall_settings
save_firewall_settings
OPEN_PORTS+=("Tox $TOX_PORT")
if [ -f $COMPLETION_FILE ]; then
echo 'configure_firewall_for_tox' >> $COMPLETION_FILE
fi
}
function tox_avahi {
if [[ $SYSTEM_TYPE != "$VARIANT_MESH" ]]; then
return
fi
if grep -Fxq "tox_avahi" $COMPLETION_FILE; then
return
fi
if [ ! -d /etc/avahi ]; then
echo $'tox_avahi: avahi is not installed'
exit 87359
fi
# install a command to obtain the Tox ID
cd $INSTALL_DIR
function_check git_clone
git_clone $TOXID_REPO $INSTALL_DIR/toxid
if [ ! -d $INSTALL_DIR/toxid ]; then
exit 63921
fi
cd $INSTALL_DIR/toxid
make
if [ ! "$?" = "0" ]; then
exit 58432
fi
make install
toxavahi
# publish regularly
function_check cron_add_mins
cron_add_mins 1 'toxavahi > /dev/null'
systemctl restart avahi-daemon
echo 'tox_avahi' >> $COMPLETION_FILE
if [[ $SYSTEM_TYPE != "$VARIANT_MESH" ]]; then
return
fi
if grep -Fxq "tox_avahi" $COMPLETION_FILE; then
return
fi
if [ ! -d /etc/avahi ]; then
echo $'tox_avahi: avahi is not installed'
exit 87359
fi
# install a command to obtain the Tox ID
cd $INSTALL_DIR
function_check git_clone
git_clone $TOXID_REPO $INSTALL_DIR/toxid
if [ ! -d $INSTALL_DIR/toxid ]; then
exit 63921
fi
cd $INSTALL_DIR/toxid
make
if [ ! "$?" = "0" ]; then
exit 58432
fi
make install
toxavahi
# publish regularly
function_check cron_add_mins
cron_add_mins 1 'toxavahi > /dev/null'
systemctl restart avahi-daemon
echo 'tox_avahi' >> $COMPLETION_FILE
}
function install_tox_node {
if grep -Fxq "install_tox_node" $COMPLETION_FILE; then
return
fi
function_check mesh_tox_node
mesh_tox_node
TOX_ONION_HOSTNAME=$(add_onion_service tox ${TOX_PORT} ${TOX_PORT})
if ! grep -q "tox onion domain" $COMPLETION_FILE; then
echo "tox onion domain:${TOX_ONION_HOSTNAME}" >> $COMPLETION_FILE
else
sed -i "s|tox onion domain.*|tox onion domain:${TOX_ONION_HOSTNAME}|g" $COMPLETION_FILE
fi
systemctl restart tox-bootstrapd.service
TOX_PUBLIC_KEY=$(cat /var/log/syslog | grep tox | grep "Public Key" | awk -F ' ' '{print $8}' | tail -1)
if [ ${#TOX_PUBLIC_KEY} -lt 30 ]; then
echo $'Could not obtain the tox node public key'
exit 6529
fi
# save the public key for later reference
echo "$TOX_PUBLIC_KEY" > $TOX_BOOTSTRAP_ID_FILE
function_check configure_firewall_for_tox
configure_firewall_for_tox
if ! grep -q $"Your Tox node public key is" /home/$MY_USERNAME/README; then
echo '' >> /home/$MY_USERNAME/README
echo '' >> /home/$MY_USERNAME/README
echo 'Tox' >> /home/$MY_USERNAME/README
echo '===' >> /home/$MY_USERNAME/README
echo $"tox onion domain: ${TOX_ONION_HOSTNAME}" >> /home/$MY_USERNAME/README
echo $"Your Tox node public key is: $TOX_PUBLIC_KEY" >> /home/$MY_USERNAME/README
echo $'In the Toxic client you can connect to it with:' >> /home/$MY_USERNAME/README
echo " /connect $DEFAULT_DOMAIN_NAME.local $TOX_PORT $TOX_PUBLIC_KEY" >> /home/$MY_USERNAME/README
chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
chmod 600 /home/$MY_USERNAME/README
fi
function_check configure_firewall_for_tox
configure_firewall_for_tox
echo 'install_tox_node' >> $COMPLETION_FILE
if grep -Fxq "install_tox_node" $COMPLETION_FILE; then
return
fi
function_check mesh_tox_node
mesh_tox_node
TOX_ONION_HOSTNAME=$(add_onion_service tox ${TOX_PORT} ${TOX_PORT})
if ! grep -q "tox onion domain" $COMPLETION_FILE; then
echo "tox onion domain:${TOX_ONION_HOSTNAME}" >> $COMPLETION_FILE
else
sed -i "s|tox onion domain.*|tox onion domain:${TOX_ONION_HOSTNAME}|g" $COMPLETION_FILE
fi
systemctl restart tox-bootstrapd.service
TOX_PUBLIC_KEY=$(cat /var/log/syslog | grep tox | grep "Public Key" | awk -F ' ' '{print $8}' | tail -1)
if [ ${#TOX_PUBLIC_KEY} -lt 30 ]; then
echo $'Could not obtain the tox node public key'
exit 6529
fi
# save the public key for later reference
echo "$TOX_PUBLIC_KEY" > $TOX_BOOTSTRAP_ID_FILE
function_check configure_firewall_for_tox
configure_firewall_for_tox
if ! grep -q $"Your Tox node public key is" /home/$MY_USERNAME/README; then
echo '' >> /home/$MY_USERNAME/README
echo '' >> /home/$MY_USERNAME/README
echo 'Tox' >> /home/$MY_USERNAME/README
echo '===' >> /home/$MY_USERNAME/README
echo $"tox onion domain: ${TOX_ONION_HOSTNAME}" >> /home/$MY_USERNAME/README
echo $"Your Tox node public key is: $TOX_PUBLIC_KEY" >> /home/$MY_USERNAME/README
echo $'In the Toxic client you can connect to it with:' >> /home/$MY_USERNAME/README
echo " /connect $DEFAULT_DOMAIN_NAME.local $TOX_PORT $TOX_PUBLIC_KEY" >> /home/$MY_USERNAME/README
chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
chmod 600 /home/$MY_USERNAME/README
fi
function_check configure_firewall_for_tox
configure_firewall_for_tox
echo 'install_tox_node' >> $COMPLETION_FILE
}
function install_tox_client {
if grep -Fxq "install_tox_client" $COMPLETION_FILE; then
return
fi
if grep -Fxq "install_tox_client" $COMPLETION_FILE; then
return
fi
function_check mesh_tox_client
mesh_tox_client
function_check mesh_tox_client
mesh_tox_client
echo 'install_tox_client' >> $COMPLETION_FILE
echo 'install_tox_client' >> $COMPLETION_FILE
}
function mesh_tox_node {
# obtain commits from the main file
TOXCORE_COMMIT_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOXCORE_COMMIT=" | head -n 1 | awk -F "'" '{print $2}')
if [ ${#TOXCORE_COMMIT_MAIN} -gt 10 ]; then
TOXCORE_COMMIT=$TOXCORE_COMMIT_MAIN
fi
if [ ! $TOXCORE_COMMIT ]; then
echo $'No Tox commit was specified'
exit 76325
fi
TOXID_REPO_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOXID_REPO=" | head -n 1 | awk -F '"' '{print $2}')
if [ ${#TOXID_REPO_MAIN} -gt 5 ]; then
TOXID_REPO=$TOXID_REPO_MAIN
fi
if [ ! $TOXID_REPO ]; then
echo $'No ToxID repo was specified'
exit 78252
fi
TOX_PORT_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOX_PORT=" | head -n 1 | awk -F '=' '{print $2}')
if [ ${#TOX_PORT_MAIN} -gt 2 ]; then
TOX_PORT=$TOX_PORT_MAIN
fi
if [ ! $TOX_PORT ]; then
echo $'No Tox port was specified'
exit 32856
fi
TOXCORE_REPO_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOXCORE_REPO=" | head -n 1 | awk -F '"' '{print $2}')
if [ ${#TOXCORE_REPO_MAIN} -gt 10 ]; then
TOXCORE_REPO=$TOXCORE_REPO_MAIN
fi
if [ ! $TOXCORE_REPO ]; then
echo $'No Tox repo was specified'
exit 16865
fi
if [ ! $TOXCORE_COMMIT ]; then
echo $'No Tox commit was specified'
exit 76325
fi
if [ ! $TOXCORE_REPO ]; then
echo $'No Tox repo was specified'
exit 16865
fi
if [ $rootdir ]; then
chroot ${rootdir} apt-get -y install build-essential libtool autotools-dev
chroot ${rootdir} apt-get -y install automake checkinstall check git yasm
chroot ${rootdir} apt-get -y install libsodium13 libsodium-dev libcap2-bin
chroot ${rootdir} apt-get -y install libconfig9 libconfig-dev autoconf
chroot ${rootdir} apt-get -y install libopus-dev libvpx-dev
else
apt-get -y install build-essential libtool autotools-dev
apt-get -y install automake checkinstall check git yasm
apt-get -y install libsodium13 libsodium-dev libcap2-bin
apt-get -y install libconfig9 libconfig-dev autoconf
apt-get -y install libopus-dev libvpx-dev
fi
if [ ! -d ${rootdir}${INSTALL_DIR} ]; then
mkdir -p ${rootdir}${INSTALL_DIR}
fi
git clone ${TOXCORE_REPO} ${rootdir}${INSTALL_DIR}/toxcore
if [ ! "$?" = "0" ]; then
exit 429252
fi
cd ${rootdir}$INSTALL_DIR/toxcore
git checkout $TOXCORE_COMMIT -b $TOXCORE_COMMIT
if [ ${rootdir} ]; then
chroot ${rootdir} /bin/bash -x <<EOF
# obtain commits from the main file
TOXCORE_COMMIT_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOXCORE_COMMIT=" | head -n 1 | awk -F "'" '{print $2}')
if [ ${#TOXCORE_COMMIT_MAIN} -gt 10 ]; then
TOXCORE_COMMIT=$TOXCORE_COMMIT_MAIN
fi
if [ ! $TOXCORE_COMMIT ]; then
echo $'No Tox commit was specified'
exit 76325
fi
TOXID_REPO_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOXID_REPO=" | head -n 1 | awk -F '"' '{print $2}')
if [ ${#TOXID_REPO_MAIN} -gt 5 ]; then
TOXID_REPO=$TOXID_REPO_MAIN
fi
if [ ! $TOXID_REPO ]; then
echo $'No ToxID repo was specified'
exit 78252
fi
TOX_PORT_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOX_PORT=" | head -n 1 | awk -F '=' '{print $2}')
if [ ${#TOX_PORT_MAIN} -gt 2 ]; then
TOX_PORT=$TOX_PORT_MAIN
fi
if [ ! $TOX_PORT ]; then
echo $'No Tox port was specified'
exit 32856
fi
TOXCORE_REPO_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOXCORE_REPO=" | head -n 1 | awk -F '"' '{print $2}')
if [ ${#TOXCORE_REPO_MAIN} -gt 10 ]; then
TOXCORE_REPO=$TOXCORE_REPO_MAIN
fi
if [ ! $TOXCORE_REPO ]; then
echo $'No Tox repo was specified'
exit 16865
fi
if [ ! $TOXCORE_COMMIT ]; then
echo $'No Tox commit was specified'
exit 76325
fi
if [ ! $TOXCORE_REPO ]; then
echo $'No Tox repo was specified'
exit 16865
fi
if [ $rootdir ]; then
chroot ${rootdir} apt-get -y install build-essential libtool autotools-dev
chroot ${rootdir} apt-get -y install automake checkinstall check git yasm
chroot ${rootdir} apt-get -y install libsodium13 libsodium-dev libcap2-bin
chroot ${rootdir} apt-get -y install libconfig9 libconfig-dev autoconf
chroot ${rootdir} apt-get -y install libopus-dev libvpx-dev
else
apt-get -y install build-essential libtool autotools-dev
apt-get -y install automake checkinstall check git yasm
apt-get -y install libsodium13 libsodium-dev libcap2-bin
apt-get -y install libconfig9 libconfig-dev autoconf
apt-get -y install libopus-dev libvpx-dev
fi
if [ ! -d ${rootdir}${INSTALL_DIR} ]; then
mkdir -p ${rootdir}${INSTALL_DIR}
fi
git clone ${TOXCORE_REPO} ${rootdir}${INSTALL_DIR}/toxcore
if [ ! "$?" = "0" ]; then
exit 429252
fi
cd ${rootdir}$INSTALL_DIR/toxcore
git checkout $TOXCORE_COMMIT -b $TOXCORE_COMMIT
if [ ${rootdir} ]; then
chroot ${rootdir} /bin/bash -x <<EOF
cd ${INSTALL_DIR}/toxcore
autoreconf -i
./configure --enable-daemon
make
make install
EOF
else
/bin/bash -x <<EOF
else
/bin/bash -x <<EOF
cd ${INSTALL_DIR}/toxcore
autoreconf -i
./configure --enable-daemon
make
make install
EOF
fi
cp $rootdir/usr/local/lib/libtoxcore* $rootdir/usr/lib/
cp ${rootdir}${INSTALL_DIR}/toxcore/other/bootstrap_daemon/tox-bootstrapd.service $rootdir/etc/systemd/system/
sed -i 's|ExecStart=.*|ExecStart=/usr/local/bin/tox-bootstrapd --config /etc/tox-bootstrapd.conf|g' $rootdir/etc/systemd/system/tox-bootstrapd.service
if [ ${rootdir} ]; then
chroot ${rootdir} systemctl enable tox-bootstrapd.service
else
systemctl enable tox-bootstrapd.service
fi
SECONDS=0
if [ ! -f $rootdir/usr/local/bin/tox-bootstrapd ]; then
duration=$SECONDS
echo $"Toxcore compile failed at $(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed."
echo $'Unable to make toxcore'
exit 73835
fi
duration=$SECONDS
echo $"Toxcore compile $(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed."
if [ ${rootdir} ]; then
chroot ${rootdir} useradd --home-dir /var/lib/tox-bootstrapd --create-home --system --shell /sbin/nologin --comment $"Account to run Tox's DHT bootstrap daemon" --user-group tox-bootstrapd
chroot ${rootdir} chmod 700 /var/lib/tox-bootstrapd
else
useradd --home-dir /var/lib/tox-bootstrapd --create-home --system --shell /sbin/nologin --comment $"Account to run Tox's DHT bootstrap daemon" --user-group tox-bootstrapd
chmod 700 /var/lib/tox-bootstrapd
fi
# remove Maildir
if [ -d $rootdir/var/lib/tox-bootstrapd/Maildir ]; then
rm -rf $rootdir/var/lib/tox-bootstrapd/Maildir
fi
# create configuration file
TOX_BOOTSTRAP_CONFIG=$rootdir/etc/tox-bootstrapd.conf
echo "port = $TOX_PORT" > $TOX_BOOTSTRAP_CONFIG
echo 'keys_file_path = "/var/lib/tox-bootstrapd/keys"' >> $TOX_BOOTSTRAP_CONFIG
echo 'pid_file_path = "/var/run/tox-bootstrapd/tox-bootstrapd.pid"' >> $TOX_BOOTSTRAP_CONFIG
echo 'enable_ipv6 = true' >> $TOX_BOOTSTRAP_CONFIG
echo 'enable_ipv4_fallback = true' >> $TOX_BOOTSTRAP_CONFIG
echo 'enable_lan_discovery = true' >> $TOX_BOOTSTRAP_CONFIG
echo 'enable_tcp_relay = true' >> $TOX_BOOTSTRAP_CONFIG
echo "tcp_relay_ports = [443, 3389, $TOX_PORT]" >> $TOX_BOOTSTRAP_CONFIG
echo 'enable_motd = true' >> $TOX_BOOTSTRAP_CONFIG
echo 'motd = "tox-bootstrapd"' >> $TOX_BOOTSTRAP_CONFIG
if [ $TOX_NODES ]; then
echo 'bootstrap_nodes = (' >> $TOX_BOOTSTRAP_CONFIG
toxcount=0
while [ "x${TOX_NODES[toxcount]}" != "x" ]
do
toxval_ipv4=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $1}')
toxval_ipv6=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $2}')
toxval_port=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $3}')
toxval_pubkey=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $4}')
toxval_maintainer=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $5}')
echo "{ // $toxval_maintainer" >> $TOX_BOOTSTRAP_CONFIG
if [[ $toxval_ipv6 != 'NONE' ]]; then
echo " address = \"$toxval_ipv6\"" >> $TOX_BOOTSTRAP_CONFIG
else
echo " address = \"$toxval_ipv4\"" >> $TOX_BOOTSTRAP_CONFIG
fi
echo " port = $toxval_port" >> $TOX_BOOTSTRAP_CONFIG
echo " public_key = \"$toxval_pubkey\"" >> $TOX_BOOTSTRAP_CONFIG
toxcount=$(( $toxcount + 1 ))
if [ "x${TOX_NODES[toxcount]}" != "x" ]; then
echo "}," >> $TOX_BOOTSTRAP_CONFIG
else
echo "}" >> $TOX_BOOTSTRAP_CONFIG
fi
done
echo ')' >> $TOX_BOOTSTRAP_CONFIG
fi
fi
cp $rootdir/usr/local/lib/libtoxcore* $rootdir/usr/lib/
cp ${rootdir}${INSTALL_DIR}/toxcore/other/bootstrap_daemon/tox-bootstrapd.service $rootdir/etc/systemd/system/
sed -i 's|ExecStart=.*|ExecStart=/usr/local/bin/tox-bootstrapd --config /etc/tox-bootstrapd.conf|g' $rootdir/etc/systemd/system/tox-bootstrapd.service
if [ ${rootdir} ]; then
chroot ${rootdir} systemctl enable tox-bootstrapd.service
else
systemctl enable tox-bootstrapd.service
fi
SECONDS=0
if [ ! -f $rootdir/usr/local/bin/tox-bootstrapd ]; then
duration=$SECONDS
echo $"Toxcore compile failed at $(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed."
echo $'Unable to make toxcore'
exit 73835
fi
duration=$SECONDS
echo $"Toxcore compile $(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed."
if [ ${rootdir} ]; then
chroot ${rootdir} useradd --home-dir /var/lib/tox-bootstrapd --create-home --system --shell /sbin/nologin --comment $"Account to run Tox's DHT bootstrap daemon" --user-group tox-bootstrapd
chroot ${rootdir} chmod 700 /var/lib/tox-bootstrapd
else
useradd --home-dir /var/lib/tox-bootstrapd --create-home --system --shell /sbin/nologin --comment $"Account to run Tox's DHT bootstrap daemon" --user-group tox-bootstrapd
chmod 700 /var/lib/tox-bootstrapd
fi
# remove Maildir
if [ -d $rootdir/var/lib/tox-bootstrapd/Maildir ]; then
rm -rf $rootdir/var/lib/tox-bootstrapd/Maildir
fi
# create configuration file
TOX_BOOTSTRAP_CONFIG=$rootdir/etc/tox-bootstrapd.conf
echo "port = $TOX_PORT" > $TOX_BOOTSTRAP_CONFIG
echo 'keys_file_path = "/var/lib/tox-bootstrapd/keys"' >> $TOX_BOOTSTRAP_CONFIG
echo 'pid_file_path = "/var/run/tox-bootstrapd/tox-bootstrapd.pid"' >> $TOX_BOOTSTRAP_CONFIG
echo 'enable_ipv6 = true' >> $TOX_BOOTSTRAP_CONFIG
echo 'enable_ipv4_fallback = true' >> $TOX_BOOTSTRAP_CONFIG
echo 'enable_lan_discovery = true' >> $TOX_BOOTSTRAP_CONFIG
echo 'enable_tcp_relay = true' >> $TOX_BOOTSTRAP_CONFIG
echo "tcp_relay_ports = [443, 3389, $TOX_PORT]" >> $TOX_BOOTSTRAP_CONFIG
echo 'enable_motd = true' >> $TOX_BOOTSTRAP_CONFIG
echo 'motd = "tox-bootstrapd"' >> $TOX_BOOTSTRAP_CONFIG
if [ $TOX_NODES ]; then
echo 'bootstrap_nodes = (' >> $TOX_BOOTSTRAP_CONFIG
toxcount=0
while [ "x${TOX_NODES[toxcount]}" != "x" ]
do
toxval_ipv4=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $1}')
toxval_ipv6=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $2}')
toxval_port=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $3}')
toxval_pubkey=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $4}')
toxval_maintainer=$(echo $TOX_NODES[toxcount] | awk -F ',' '{print $5}')
echo "{ // $toxval_maintainer" >> $TOX_BOOTSTRAP_CONFIG
if [[ $toxval_ipv6 != 'NONE' ]]; then
echo " address = \"$toxval_ipv6\"" >> $TOX_BOOTSTRAP_CONFIG
else
echo " address = \"$toxval_ipv4\"" >> $TOX_BOOTSTRAP_CONFIG
fi
echo " port = $toxval_port" >> $TOX_BOOTSTRAP_CONFIG
echo " public_key = \"$toxval_pubkey\"" >> $TOX_BOOTSTRAP_CONFIG
toxcount=$(( $toxcount + 1 ))
if [ "x${TOX_NODES[toxcount]}" != "x" ]; then
echo "}," >> $TOX_BOOTSTRAP_CONFIG
else
echo "}" >> $TOX_BOOTSTRAP_CONFIG
fi
done
echo ')' >> $TOX_BOOTSTRAP_CONFIG
fi
}
function mesh_tox_avahi {
if [ ! -d $rootdir/etc/avahi ]; then
echo $'tox_avahi: avahi is not installed'
exit 87359
fi
if [ ! $TOXID_REPO ]; then
echo $'No ToxID repo was specified'
exit 78252
fi
if [ ! -d ${rootdir}${INSTALL_DIR} ]; then
mkdir -p ${rootdir}${INSTALL_DIR}
fi
git clone ${TOXID_REPO} ${rootdir}${INSTALL_DIR}/toxid
if [ ! -d ${rootdir}${INSTALL_DIR}/toxid ]; then
echo $'Unable to clone toxid repo'
exit 768352
fi
if [ ${rootdir} ]; then
chroot ${rootdir} /bin/bash -x <<EOF
if [ ! -d $rootdir/etc/avahi ]; then
echo $'tox_avahi: avahi is not installed'
exit 87359
fi
if [ ! $TOXID_REPO ]; then
echo $'No ToxID repo was specified'
exit 78252
fi
if [ ! -d ${rootdir}${INSTALL_DIR} ]; then
mkdir -p ${rootdir}${INSTALL_DIR}
fi
git clone ${TOXID_REPO} ${rootdir}${INSTALL_DIR}/toxid
if [ ! -d ${rootdir}${INSTALL_DIR}/toxid ]; then
echo $'Unable to clone toxid repo'
exit 768352
fi
if [ ${rootdir} ]; then
chroot ${rootdir} /bin/bash -x <<EOF
cd ${INSTALL_DIR}/toxid
make
make install
EOF
else
/bin/bash -x <<EOF
else
/bin/bash -x <<EOF
cd ${INSTALL_DIR}/toxid
make
make install
EOF
fi
if [ ! -f $rootdir/usr/local/bin/toxid ]; then
echo $'toxid not found'
exit 74370
fi
if [ ! -f $rootdir/usr/local/bin/toxavahi ]; then
exit 3621729
fi
echo "*/1 * * * * root /usr/local/bin/toxavahi > /dev/null" >> $rootdir/etc/crontab
fi
if [ ! -f $rootdir/usr/local/bin/toxid ]; then
echo $'toxid not found'
exit 74370
fi
if [ ! -f $rootdir/usr/local/bin/toxavahi ]; then
exit 3621729
fi
echo "*/1 * * * * root /usr/local/bin/toxavahi > /dev/null" >> $rootdir/etc/crontab
}
function mesh_tox_client {
TOXIC_FILE=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
# obtain commits from the main file
TOXIC_COMMIT_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOXIC_COMMIT=" | head -n 1 | awk -F "'" '{print $2}')
if [ ${#TOXIC_COMMIT_MAIN} -gt 10 ]; then
TOXIC_COMMIT=$TOXIC_COMMIT_MAIN
fi
TOXIC_REPO_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOXIC_REPO=" | head -n 1 | awk -F '"' '{print $2}')
if [ ${#TOXIC_REPO_MAIN} -gt 5 ]; then
TOXIC_REPO=$TOXIC_REPO_MAIN
fi
if [ ${rootdir} ]; then
chroot ${rootdir} apt-get -y install libncursesw5-dev libconfig-dev libqrencode-dev
chroot ${rootdir} apt-get -y install libcurl4-openssl-dev libvpx-dev libopenal-dev
else
apt-get -y install libncursesw5-dev libconfig-dev libqrencode-dev
apt-get -y install libcurl4-openssl-dev libvpx-dev libopenal-dev
fi
TEMP_SCRIPT_NAME=fbtmp728353.sh
TEMP_SCRIPT=/tmp/$TEMP_SCRIPT_NAME
echo '#!/bin/bash' > $TEMP_SCRIPT
echo "mkdir -p $INSTALL_DIR" >> $TEMP_SCRIPT
echo "git clone $TOXIC_REPO $INSTALL_DIR/toxic" >> $TEMP_SCRIPT
echo "cd $INSTALL_DIR/toxic" >> $TEMP_SCRIPT
echo "git checkout $TOXIC_COMMIT -b $TOXIC_COMMIT" >> $TEMP_SCRIPT
echo 'make' >> $TEMP_SCRIPT
echo 'if [ ! "$?" = "0" ]; then' >> $TEMP_SCRIPT
echo ' exit 1' >> $TEMP_SCRIPT
echo 'fi' >> $TEMP_SCRIPT
echo 'make install' >> $TEMP_SCRIPT
echo 'exit 0' >> $TEMP_SCRIPT
chmod +x $TEMP_SCRIPT
cp $TEMP_SCRIPT $rootdir/root/
TOXIC_FILE=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
SECONDS=0
if [ ${rootdir} ]; then
chroot ${rootdir} /root/$TEMP_SCRIPT_NAME
else
/root/$TEMP_SCRIPT_NAME
fi
if [ ! "$?" = "0" ]; then
duration=$SECONDS
echo $"Toxic client compile failed at $(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed."
echo $'Unable to make tox client'
rm $TEMP_SCRIPT
exit 74872
fi
rm $TEMP_SCRIPT
if [ ! -f $rootdir$TOXIC_FILE ]; then
echo $"Tox client was not installed to $TOXIC_FILE"
exit 63278
fi
duration=$SECONDS
echo $"Toxic client compile $(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed."
TOXIC_FILE=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
# obtain commits from the main file
TOXIC_COMMIT_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOXIC_COMMIT=" | head -n 1 | awk -F "'" '{print $2}')
if [ ${#TOXIC_COMMIT_MAIN} -gt 10 ]; then
TOXIC_COMMIT=$TOXIC_COMMIT_MAIN
fi
TOXIC_REPO_MAIN=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOXIC_REPO=" | head -n 1 | awk -F '"' '{print $2}')
if [ ${#TOXIC_REPO_MAIN} -gt 5 ]; then
TOXIC_REPO=$TOXIC_REPO_MAIN
fi
if [ ${rootdir} ]; then
chroot ${rootdir} apt-get -y install libncursesw5-dev libconfig-dev libqrencode-dev
chroot ${rootdir} apt-get -y install libcurl4-openssl-dev libvpx-dev libopenal-dev
else
apt-get -y install libncursesw5-dev libconfig-dev libqrencode-dev
apt-get -y install libcurl4-openssl-dev libvpx-dev libopenal-dev
fi
TEMP_SCRIPT_NAME=fbtmp728353.sh
TEMP_SCRIPT=/tmp/$TEMP_SCRIPT_NAME
echo '#!/bin/bash' > $TEMP_SCRIPT
echo "mkdir -p $INSTALL_DIR" >> $TEMP_SCRIPT
echo "git clone $TOXIC_REPO $INSTALL_DIR/toxic" >> $TEMP_SCRIPT
echo "cd $INSTALL_DIR/toxic" >> $TEMP_SCRIPT
echo "git checkout $TOXIC_COMMIT -b $TOXIC_COMMIT" >> $TEMP_SCRIPT
echo 'make' >> $TEMP_SCRIPT
echo 'if [ ! "$?" = "0" ]; then' >> $TEMP_SCRIPT
echo ' exit 1' >> $TEMP_SCRIPT
echo 'fi' >> $TEMP_SCRIPT
echo 'make install' >> $TEMP_SCRIPT
echo 'exit 0' >> $TEMP_SCRIPT
chmod +x $TEMP_SCRIPT
cp $TEMP_SCRIPT $rootdir/root/
TOXIC_FILE=$(cat /usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-tox | grep "TOXIC_FILE=" | head -n 1 | awk -F '=' '{print $2}')
SECONDS=0
if [ ${rootdir} ]; then
chroot ${rootdir} /root/$TEMP_SCRIPT_NAME
else
/root/$TEMP_SCRIPT_NAME
fi
if [ ! "$?" = "0" ]; then
duration=$SECONDS
echo $"Toxic client compile failed at $(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed."
echo $'Unable to make tox client'
rm $TEMP_SCRIPT
exit 74872
fi
rm $TEMP_SCRIPT
if [ ! -f $rootdir$TOXIC_FILE ]; then
echo $"Tox client was not installed to $TOXIC_FILE"
exit 63278
fi
duration=$SECONDS
echo $"Toxic client compile $(($duration / 60)) minutes and $(($duration % 60)) seconds elapsed."
}
function enable_tox_repo {
echo 'deb http://download.opensuse.org/repositories/home:/antonbatenev:/tox/Debian_8.0/ /' > $rootdir/etc/apt/sources.list.d/tox.list
echo 'deb http://download.opensuse.org/repositories/home:/antonbatenev:/tox/Debian_8.0/ /' > $rootdir/etc/apt/sources.list.d/tox.list
chroot "$rootdir" wget -q http://download.opensuse.org/repositories/home:antonbatenev:tox/Debian_8.0/Release.key -O- | apt-key add -
chroot "$rootdir" apt-get update
echo "Tox Repository Installed."
chroot "$rootdir" wget -q http://download.opensuse.org/repositories/home:antonbatenev:tox/Debian_8.0/Release.key -O- | apt-key add -
chroot "$rootdir" apt-get update
echo "Tox Repository Installed."
}
function install_tox {
if [ ! $INSTALLING_MESH ]; then
if grep -Fxq "install_tox" $COMPLETION_FILE; then
return
fi
fi
configure_firewall_for_tox
if [ $INSTALLING_MESH ]; then
mesh_tox_node
mesh_tox_avahi
mesh_tox_client
else
install_tox_node
tox_avahi
install_tox_client
fi
echo 'install_tox' >> $COMPLETION_FILE
if [ ! $INSTALLING_MESH ]; then
if grep -Fxq "install_tox" $COMPLETION_FILE; then
return
fi
fi
configure_firewall_for_tox
if [ $INSTALLING_MESH ]; then
mesh_tox_node
mesh_tox_avahi
mesh_tox_client
else
install_tox_node
tox_avahi
install_tox_client
fi
echo 'install_tox' >> $COMPLETION_FILE
}
# NOTE: deliberately no exit 0
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment