vicwomg / pikaraoke

Youtube-based Karaoke machine for Raspberry Pi, OSX, Windows, and Linux
494 stars 129 forks source link

[BUG] Setup.sh does not identify Ubuntu-based distros as Debian-based #335

Closed mcavazotti closed 2 months ago

mcavazotti commented 3 months ago

Describe the bug When running setup.sh, the script doesn't identify distros that are based on Ubuntu as being derived from Debian

To Reproduce Steps to reproduce the behavior:

  1. ./setup.sh

Expected behavior Install all the dependencies using apt-get

Screenshots

Platform (please complete the following information):

Additional context Here's the update that would fix it:

if [[ $(cat /etc/os-release | grep -E ^ID\(_LIKE\)?= | grep -i 'debian\|raspbian') != "" ]]; then
TekyTech commented 3 months ago

Yes, I noticed too and that’s why the setup didn’t install ffmpeg and chromium saying that it should be installed manually because it’s not Debian

TekyTech commented 3 months ago

UPDATE: If it’s helpful to anyone, I tried it on Lubuntu 24.04, Lubuntu 22.04 and LinuxLite 7. Confirmed that it doesn’t recognize Debian on those as well. So I had to install ffmpeg manually, chromium manually on Lubuntu and python manually on LinuxLite. Thank you for your hard work.

mcavazotti commented 3 months ago

@TekyTech could you open the installation script and replace the line that checks if the OS is Debian with the code I posted above and see if it works?

If it does, I'll create a PR with that patch.

TekyTech commented 3 months ago

Hello @mcavazotti Your line itself worked but the script failed in many places. First it failed to install Python I did it manually Then it failed to install CherryPi and I installed it manually Then Polaroid failed to start complaining about chromium driver.

TekyTech commented 3 months ago

Ha silly spell check. pikaraoke :) And it was on LinuxLite 7.0

vicwomg commented 2 months ago

I'm not sure I understand this ticket. Ubuntu and Lubuntu are not Debian. Therefore, it wont run debian-specific setup code. You need to do it manually per the README. So as far as I can tell this is working as expected.

Now if you're telling me that Ubuntu can install packages via apt-get, and that these commands DO work on Ubuntu:

sudo apt-get update --allow-releaseinfo-change
sudo apt-get install ffmpeg -y
sudo apt-get install chromium-browser -y
sudo apt-get install chromium-chromedriver -y

Then we can expand the match string to include Ubuntu. But from what I'm hearing here, that is not the case. The installation is failing for various reasons.

I am not a linux expert and can't really keep up with all the intricacies of every distribution. So I'll really need some contributors closer to those distros. Test the above commands, and let me know the output of /etc/os-release

vicwomg commented 2 months ago

I went ahead and added the suggested change. Your mileage may vary with ubuntu setup.sh, but please file new issues if they arise.

https://github.com/vicwomg/pikaraoke/pull/351

mcavazotti commented 2 months ago

Now if you're telling me that Ubuntu can install packages via apt-get, and that these commands DO work on Ubuntu:

sudo apt-get update --allow-releaseinfo-change
sudo apt-get install ffmpeg -y
sudo apt-get install chromium-browser -y
sudo apt-get install chromium-chromedriver -y

@vicwomg yes, it's possible to install packages using apt-get