--- install_lib.sh 2024-05-29 01:09:30.000000000 +0200 +++ install_lib2.sh 2024-08-19 19:41:35.445222020 +0200 @@ -16,19 +16,6 @@ echo "access through the sudo program. This is required to install the daemon into" echo "the system files." echo " " - -read -p "Press RETURN to view the license agreement" ret -more -d sdrplay_license.txt -while true; do - echo "Press y and RETURN to accept the license agreement and continue with" - read -p "the installation, or press n and RETURN to exit the installer [y/n] " yn - case $yn in - [Yy]* ) break;; - [Nn]* ) exit;; - * ) echo "Please answer y or n";; - esac -done - echo " " echo "A copy of the license agreement can be found here: ${HOME}/sdrplay_license.txt" cp sdrplay_license.txt ${HOME}/. @@ -69,7 +56,7 @@ echo " " echo "Checking for root permissions. You may be prompted for your password..." echo " " -sudo ls >> /dev/null 2>&1 +ls >> /dev/null 2>&1 echo "The rest of the installation will continue with root permission..." echo " " @@ -147,7 +134,7 @@ if [ -d "/etc/udev" ]; then echo -n "Udev directory found, adding rules..." - sudo bash -c 'cat > /etc/udev/rules.d/66-sdrplay.rules' << EOF + bash -c 'cat > /etc/udev/rules.d/66-sdrplay.rules' << EOF SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1df7",ATTRS{idProduct}=="2500",MODE:="0666" SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1df7",ATTRS{idProduct}=="3000",MODE:="0666" SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1df7",ATTRS{idProduct}=="3010",MODE:="0666" @@ -156,14 +143,14 @@ SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1df7",ATTRS{idProduct}=="3050",MODE:="0666" SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1df7",ATTRS{idProduct}=="3060",MODE:="0666" EOF - sudo chmod 644 /etc/udev/rules.d/66-sdrplay.rules - sudo rm -f /etc/udev/rules.d/66-mirics.rules + chmod 644 /etc/udev/rules.d/66-sdrplay.rules + rm -f /etc/udev/rules.d/66-mirics.rules echo "rules added" REBOOT="y" if [ -d "/etc/udev/hwdb.d" ]; then echo -n "Adding SDRplay devices to the local hardware database..." - sudo bash -c 'cat > /etc/udev/hwdb.d/20-sdrplay.hwdb' << EOF + bash -c 'cat > /etc/udev/hwdb.d/20-sdrplay.hwdb' << EOF usb:v1DF7* ID_VENDOR_FROM_DATABASE=SDRplay @@ -188,13 +175,13 @@ usb:v1DF7p3060* ID_MODEL_FROM_DATABASE=RSPdxR2 EOF - sudo chmod 644 /etc/udev/hwdb.d/20-sdrplay.hwdb - sudo systemd-hwdb update - sudo udevadm trigger + chmod 644 /etc/udev/hwdb.d/20-sdrplay.hwdb + systemd-hwdb update + udevadm trigger if [ "${SRVTYPE}" != "initd" ]; then - sudo systemctl restart udev + systemctl restart udev else - sudo service udev restart + service udev restart fi echo "Done" fi @@ -203,9 +190,9 @@ echo "ERROR: udev rules directory not found, add udev support and run the" echo "installer script again. udev support can be added by running..." if [ "${INSTALLARCH}" == "ppc64le" ]; then - echo "sudo ${PKG_TOOL} eudev" + echo "${PKG_TOOL} eudev" else - echo "sudo ${PKG_TOOL} libudev-dev" + echo "${PKG_TOOL} libudev-dev" fi echo " " exit 1 @@ -217,20 +204,20 @@ if grep -q RSP1B /var/lib/usbutils/usb.ids; then echo "RSP1B already in the local USB database, continuing..." else - sudo cp /var/lib/usbutils/usb.ids /var/lib/usbutils/usb.ids.bak - sudo bash -c "awk '/^1e/ && !x {print \" 3050 RSP1B\"; x=1} 1' /var/lib/usbutils/usb.ids.bak > /var/lib/usbutils/usb.ids" + cp /var/lib/usbutils/usb.ids /var/lib/usbutils/usb.ids.bak + bash -c "awk '/^1e/ && !x {print \" 3050 RSP1B\"; x=1} 1' /var/lib/usbutils/usb.ids.bak > /var/lib/usbutils/usb.ids" echo "Added RSP1B to USB name database" fi if grep -q RSPdxR2 /var/lib/usbutils/usb.ids; then echo "RSPdxR2 already in the local USB database, continuing..." else - sudo cp /var/lib/usbutils/usb.ids /var/lib/usbutils/usb.ids.bak - sudo bash -c "awk '/^1e/ && !x {print \" 3060 RSPdxR2\"; x=1} 1' /var/lib/usbutils/usb.ids.bak > /var/lib/usbutils/usb.ids" + cp /var/lib/usbutils/usb.ids /var/lib/usbutils/usb.ids.bak + bash -c "awk '/^1e/ && !x {print \" 3060 RSPdxR2\"; x=1} 1' /var/lib/usbutils/usb.ids.bak > /var/lib/usbutils/usb.ids" echo "Added RSPdxR2 to USB name database" fi else - sudo cp /var/lib/usbutils/usb.ids /var/lib/usbutils/usb.ids.bak - sudo bash -c "awk '/^1e/ && !x {print \"1df7 SDRplay\n 2500 RSP1\n 3000 RSP1A\n 3010 RSP2/RSP2pro\n 3020 RSPduo\n 3030 RSPdx\n 3050 RSP1B\n 3060 RSPdxR2\"; x=1} 1' /var/lib/usbutils/usb.ids.bak > /var/lib/usbutils/usb.ids" + cp /var/lib/usbutils/usb.ids /var/lib/usbutils/usb.ids.bak + bash -c "awk '/^1e/ && !x {print \"1df7 SDRplay\n 2500 RSP1\n 3000 RSP1A\n 3010 RSP2/RSP2pro\n 3020 RSPduo\n 3030 RSPdx\n 3050 RSP1B\n 3060 RSPdxR2\"; x=1} 1' /var/lib/usbutils/usb.ids.bak > /var/lib/usbutils/usb.ids" echo "SDRplay devices added to the local USB name database" fi else @@ -259,16 +246,6 @@ echo " " # 0--------1---------2---------3---------4---------5---------6---------7---------8 -while true; do - echo "To continue the installation with these defaults press y and RETURN" - read -p "or press n and RETURN to change them [y/n] " yn - case $yn in - [Yy]* ) change="n";break;; - [Nn]* ) change="y";break;; - * ) echo "Please answer y or n";; - esac -done - if [ "${change}" == "y" ]; then echo "Changing default locations..." read -p "API service location [${locservice}]: " newloc @@ -297,42 +274,42 @@ done fi -sudo mkdir -p -m 755 ${locservice} >> /dev/null 2>&1 -sudo mkdir -p -m 755 ${locheader} >> /dev/null 2>&1 -sudo mkdir -p -m 755 ${loclib} >> /dev/null 2>&1 +mkdir -p -m 755 ${locservice} >> /dev/null 2>&1 +mkdir -p -m 755 ${locheader} >> /dev/null 2>&1 +mkdir -p -m 755 ${loclib} >> /dev/null 2>&1 echo -n "Cleaning old API files..." -sudo rm -f /usr/local/lib/libsdrplay_api.so* +rm -f /usr/local/lib/libsdrplay_api.so* echo "Done." echo -n "Installing ${loclib}/libsdrplay_api.so.${VERS}..." -sudo rm -f ${loclib}/libsdrplay_api.so.${VERS} -sudo cp -f ${INSTALLARCH}/libsdrplay_api.so.${VERS} ${loclib}/. -sudo chmod 644 ${loclib}/libsdrplay_api.so.${VERS} -sudo rm -f ${loclib}/libsdrplay_api.so.${MAJVERS} -sudo ln -s ${loclib}/libsdrplay_api.so.${VERS} ${loclib}/libsdrplay_api.so.${MAJVERS} -sudo rm -f ${loclib}/libsdrplay_api.so -sudo ln -s ${loclib}/libsdrplay_api.so.${MAJVERS} ${loclib}/libsdrplay_api.so +rm -f ${loclib}/libsdrplay_api.so.${VERS} +cp -f ${INSTALLARCH}/libsdrplay_api.so.${VERS} ${loclib}/. +chmod 644 ${loclib}/libsdrplay_api.so.${VERS} +rm -f ${loclib}/libsdrplay_api.so.${MAJVERS} +ln -s ${loclib}/libsdrplay_api.so.${VERS} ${loclib}/libsdrplay_api.so.${MAJVERS} +rm -f ${loclib}/libsdrplay_api.so +ln -s ${loclib}/libsdrplay_api.so.${MAJVERS} ${loclib}/libsdrplay_api.so echo "Done" echo -n "Installing header files in ${locheader}..." -sudo cp -f inc/sdrplay_api*.h ${locheader}/. -sudo chmod 644 ${locheader}/sdrplay_api*.h +cp -f inc/sdrplay_api*.h ${locheader}/. +chmod 644 ${locheader}/sdrplay_api*.h echo "Done" echo -n "Installing API Service in ${locservice}..." -sudo cp -f ${INSTALLARCH}/sdrplay_apiService ${locservice}/sdrplay_apiService -sudo chmod 755 ${locservice}/sdrplay_apiService +cp -f ${INSTALLARCH}/sdrplay_apiService ${locservice}/sdrplay_apiService +chmod 755 ${locservice}/sdrplay_apiService echo "Done" echo -n "Installing Service scripts and starting daemon..." if [ -d "/etc/systemd/system" ]; then SRVTYPE="systemd" if [ -f "/etc/systemd/system/sdrplay.service" ]; then - sudo systemctl stop sdrplay - sudo systemctl disable sdrplay + systemctl stop sdrplay + systemctl disable sdrplay fi - sudo bash -c 'cat > /etc/systemd/system/sdrplay.service' << EOF + bash -c 'cat > /etc/systemd/system/sdrplay.service' << EOF [Unit] Description=SDRplay API Service After=network.target @@ -349,15 +326,15 @@ WantedBy=multi-user.target EOF - sudo chmod 644 /etc/systemd/system/sdrplay.service - sudo systemctl enable sdrplay - sudo systemctl start sdrplay + chmod 644 /etc/systemd/system/sdrplay.service + systemctl enable sdrplay + systemctl start sdrplay else SRVTYPE="initd" if [ -f "/etc/init.d/sdrplayService" ]; then - sudo service sdrplayService stop + service sdrplayService stop fi - sudo bash -c 'cat > /etc/init.d/sdrplayService' << EOF + bash -c 'cat > /etc/init.d/sdrplayService' << EOF #!/bin/sh ### BEGIN INIT INFO @@ -436,15 +413,15 @@ exit 0 EOF - sudo chmod 755 /etc/init.d/sdrplayService + chmod 755 /etc/init.d/sdrplayService UPRC=$( command -v update-rc.d ) if [ "${UPRC}" != "" ]; then - sudo update-rc.d sdrplayService defaults + update-rc.d sdrplayService defaults fi - sudo service sdrplayService start + service sdrplayService start fi -sudo ldconfig +ldconfig echo "Done" @@ -457,11 +434,11 @@ echo "To start and stop the API service, use the following commands..." echo " " if [ "${SRVTYPE}" != "systemd" ]; then - echo "sudo service sdrplayService start" - echo "sudo service sdrplayService stop" + echo "service sdrplayService start" + echo "service sdrplayService stop" else - echo "sudo systemctl start sdrplay" - echo "sudo systemctl stop sdrplay" + echo "systemctl start sdrplay" + echo "systemctl stop sdrplay" fi echo " " echo "If supported on your system, lsusb will now show the RSP name"