From 5e0f64a7c2a03f460d1f81457e841acffbd957f9 Mon Sep 17 00:00:00 2001 From: lwvmobile Date: Sun, 1 Oct 2023 17:02:13 -0400 Subject: [PATCH] Update Install Scripts with ki4hyf tweaks; --- download-and-install-Arch.sh | 91 +++++++++++++++---------------- download-and-install-nodeps.sh | 18 +++---- download-and-install.sh | 99 ++++++++++++++-------------------- install.sh | 6 ++- rebuild.sh | 11 ++-- 5 files changed, 102 insertions(+), 123 deletions(-) diff --git a/download-and-install-Arch.sh b/download-and-install-Arch.sh index e5d2f0c..d7d9880 100644 --- a/download-and-install-Arch.sh +++ b/download-and-install-Arch.sh @@ -1,57 +1,52 @@ #! /bin/bash +# +cdir=$(pwd) clear -echo DSD-FME Digital Speech Decoder - Florida Man Edition Auto Installer For Arch Linux -echo This will install the required packages, clone, build, and install DSD-FME only. -echo This has been tested on Arch 2023.08.01 and Manjaro XFCE 22.1.3 Minimal. -echo -echo MBELib is considered a requirement on this build. -echo You must view this notice prior to continuing. -echo The Patent Notice can be found at the site below. -echo https://github.com/lwvmobile/mbelib#readme -echo Please confirm that you have viewed the patent notice by entering y below. -echo -echo y/N -read ANSWER -Y='y' -if [[ $Y == $ANSWER ]]; then +printf "Digital Speech Decoder: Florida Man Edition - Auto Installer For Arch Linux\n +This will install the required packages, clone, build, and install DSD-FME only. +This has been tested on Arch 2023.08.01 and Manjaro XFCE 22.1.3 Minimal.\n +MBELib is considered a requirement on this build. +You must view the Patent Notice prior to continuing. +The Patent Notice can be found at the site below. +https://github.com/lwvmobile/mbelib#readme +Please confirm that you have viewed the patent notice by entering y below.\n\n" +read -p "Have you viewed the patent notice? y/N " ANSWER +ANSWER=$(printf "$ANSWER"|tr '[:upper:]' '[:lower:]') +if [ "$ANSWER" = "y" ]; then -sudo pacman -Syu #always run a full update first, partial upgrades aren't supported in Arch -- including downloading dependencies, that may require an updated dependency, and breaks same dependency on another package, a.k.a, dependency hell -sudo pacman -S libpulse cmake ncurses lapack perl fftw rtl-sdr codec2 base-devel libsndfile git wget + sudo pacman -Syu #always run a full update first, partial upgrades aren't supported in Arch -- including downloading dependencies, that may require an updated dependency, and breaks same dependency on another package, a.k.a, dependency hell + sudo pacman -S libpulse cmake ncurses lapack perl fftw rtl-sdr codec2 base-devel libsndfile git wget -echo Installing itpp 4.3.1 from Arch Strike --Tested on Arch 2023.08.01 and Manjaro XFCE 22.1.3 Minimal -wget https://mirror.archstrike.org/x86_64/archstrike/itpp-4.3.1-3-x86_64.pkg.tar.xz -sudo pacman -U itpp-4.3.1-3-x86_64.pkg.tar.xz -sudo rm -R itpp-4.3.1-3-x86_64.pkg.tar.xz + printf "Installing itpp 4.3.1 from Arch Strike --Tested on Arch 2023.08.01 and Manjaro XFCE 22.1.3 Minimal\n" + wget https://mirror.archstrike.org/x86_64/archstrike/itpp-4.3.1-3-x86_64.pkg.tar.xz + sudo pacman -U itpp-4.3.1-3-x86_64.pkg.tar.xz + sudo rm -R itpp-4.3.1-3-x86_64.pkg.tar.xz -git clone https://github.com/lwvmobile/mbelib -cd mbelib -git checkout ambe_tones -mkdir build -cd build -cmake .. -make -j `nproc` -sudo make install -sudo ldconfig -sudo cp /usr/local/lib/libmbe.so /usr/lib/libmbe.so + git clone https://github.com/lwvmobile/mbelib + cd mbelib + git checkout ambe_tones + mkdir build + cd build + cmake .. + make -j $(nproc) + sudo make install + sudo ldconfig + sudo cp /usr/local/lib/libmbe.so /usr/lib/libmbe.so + cd $cdir -cd .. -cd .. + git clone https://github.com/lwvmobile/dsd-fme + ### For branch audio_work - git clone --branch audio_work https://github.com/lwvmobile/dsd-fme + cd dsd-fme + git checkout audio_work + mkdir build + cd build + cmake .. + make -j $(nproc) + sudo make install + sudo ldconfig -git clone https://github.com/lwvmobile/dsd-fme -cd dsd-fme -git checkout audio_work -mkdir build -cd build -cmake .. -make -j `nproc` -sudo make install -sudo ldconfig - -echo Any issues, Please report to either -echo https://github.com/lwvmobile/dsd-fme/issues -echo https://forums.radioreference.com/threads/dsd-fme.438137/ + printf "Any issues, Please report to either:\nhttps://github.com/lwvmobile/dsd-fme/issues or\nhttps://forums.radioreference.com/threads/dsd-fme.438137/\n\n" else -echo -echo Sorry, you cannot build DSD-FME without acknowledging the Patent Notice. -fi + printf "Sorry, you cannot build DSD-FME without acknowledging the Patent Notice.\n\n" +fi \ No newline at end of file diff --git a/download-and-install-nodeps.sh b/download-and-install-nodeps.sh index 4d89405..96ddaca 100644 --- a/download-and-install-nodeps.sh +++ b/download-and-install-nodeps.sh @@ -1,17 +1,17 @@ #! /bin/bash clear -echo DSD-FME Digital Speech Decoder - Florida Man Edition Auto Installer -echo This will clone, build, and install DSD-FME only. -echo If you need dependencies installed, please run download-and-install.sh instead. -echo - -read -p "Press enter to continue" - +printf "\nDigital Speech Decoder: Florida Man Edition - Auto Installer\n +This will clone, build, and install DSD-FME only. +If DSD-FME has never been installed on this machine, +then you will need to install the dependencies first! +Please run download-and-install.sh instead.\n\n" +read -p "Press Enter to continue..." x git clone https://github.com/lwvmobile/dsd-fme cd dsd-fme +git checkout audio_work mkdir build cd build cmake .. -make -j `nproc` +make -j $(nproc) sudo make install -sudo ldconfig +sudo ldconfig \ No newline at end of file diff --git a/download-and-install.sh b/download-and-install.sh index 70d9e4c..3555cb2 100644 --- a/download-and-install.sh +++ b/download-and-install.sh @@ -1,61 +1,44 @@ #! /bin/bash +# +cdir=$(pwd) clear -echo DSD-FME Digital Speech Decoder - Florida Man Edition Auto Installer -echo MBELib is considered a requirement on this build. -echo You must view this notice prior to continuing. -echo The Patent Notice can be found at the site below. -echo https://github.com/lwvmobile/mbelib#readme -echo Please confirm that you have viewed the patent notice by entering y below. -echo -echo y/N -read ANSWER -Y='y' -if [[ $Y == $ANSWER ]]; then - -sudo apt update -sudo apt install libpulse-dev pavucontrol libsndfile1-dev libfftw3-dev liblapack-dev socat libusb-1.0-0-dev libncurses5 libncurses5-dev rtl-sdr librtlsdr-dev libusb-1.0-0-dev cmake git wget make build-essential libitpp-dev libncursesw5-dev libcodec2-dev - -echo ITPP Manual Build and Install has been temporarily removed from this script due to issues with older versions of Ubuntu. -echo Please check to see that libitpp-dev has successfully been downloaded and installed from the repo. -read -p "Press enter to continue" - -#wget -O itpp-latest.tar.bz2 http://sourceforge.net/projects/itpp/files/latest/download?source=files -#tar xjf itpp* -#if you can't cd into this folder, double check folder name first -#cd itpp-4.3.1 -#mkdir build -#cd build -#cmake .. -#make -j `nproc` -#sudo make install -#sudo ldconfig -#cd .. -#cd .. - -git clone https://github.com/lwvmobile/mbelib -cd mbelib -mkdir build -cd build -cmake .. -make -j `nproc` -sudo make install -sudo ldconfig -cd .. -cd .. - -git clone https://github.com/lwvmobile/dsd-fme -cd dsd-fme -mkdir build -cd build -cmake .. -make -j `nproc` -sudo make install -sudo ldconfig - +printf "Digital Speech Decoder: Florida Man Edition - Auto Installer\n +MBELib is considered a requirement on this build. +You must view the Patent Notice prior to continuing. +The Patent Notice can be found at the site below. +https://github.com/lwvmobile/mbelib#readme +Please confirm that you have viewed the patent notice by entering y below:\n\n" +read -p "Have you viewed the patent notice? y/N " ANSWER +ANSWER=$(printf "$ANSWER"|tr '[:upper:]' '[:lower:]') +if [ "$ANSWER" = "y" ]; then + sudo apt update + sudo apt install libpulse-dev pavucontrol libsndfile1-dev libfftw3-dev liblapack-dev socat libusb-1.0-0-dev libncurses5 libncurses5-dev rtl-sdr librtlsdr-dev libusb-1.0-0-dev cmake git wget make build-essential libitpp-dev libncursesw5-dev libcodec2-dev + chkitpp=$(sudo apt search libitpp-dev 2>&1|grep -ci "installed") + if [ "$chkitpp" -lt "1" ];then + printf "\nFor some reason, ITPP did NOT install!\nYou may have to manually install it.\n\n" + read -p "Press Enter to exit..." x + exit 1 + fi + git clone https://github.com/lwvmobile/mbelib + cd mbelib + git checkout ambe_tones + mkdir build + cd build + cmake .. + make -j $(nproc) + sudo make install + sudo ldconfig + cd $cdir + git clone https://github.com/lwvmobile/dsd-fme + cd dsd-fme + git checkout audio_work + mkdir build + cd build + cmake .. + make -j $(nproc) + sudo make install + sudo ldconfig else -echo -echo Sorry, you cannot build DSD-FME without acknowledging the Patent Notice. -fi - - - + printf "\nSorry, you cannot build DSD-FME without acknowledging the Patent Notice.\nExiting...\n\n" + exit 2 +fi \ No newline at end of file diff --git a/install.sh b/install.sh index 3a167ba..e54e487 100644 --- a/install.sh +++ b/install.sh @@ -1,6 +1,8 @@ +#!/bin/bash +# mkdir build cd build cmake .. -make -j `nproc` +make -j $(nproc) sudo make install -sudo ldconfig +sudo ldconfig \ No newline at end of file diff --git a/rebuild.sh b/rebuild.sh index 15862db..c477eb1 100644 --- a/rebuild.sh +++ b/rebuild.sh @@ -1,8 +1,8 @@ #! /bin/bash +# clear -echo DSD-FME Digital Speech Decoder - Florida Man Edition -echo Automatic Git Pull and Rebuild -echo +printf "DSD-FME Digital Speech Decoder - Florida Man Edition +Automatic Git Pull and Rebuild\n\n" sleep 1 ##Open your clone folder## git pull @@ -10,7 +10,6 @@ sleep 2 ##cd into your build folder## cd build cmake .. -make -j `nproc` +make -j $(nproc) sudo make install -sudo ldconfig - +sudo ldconfig \ No newline at end of file