From d96f46a214236aaf42781b986d34efca08cbd93e Mon Sep 17 00:00:00 2001 From: CorentinChauvin Date: Fri, 2 May 2025 22:56:20 +0100 Subject: [PATCH] Update for Ubuntu 24.04 --- README.md | 25 +++++++++++++++++++++++++ install.sh | 14 +++++++------- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 031a424..6e39de0 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,15 @@ chmod +x ./install.sh The Deezer Windows installer will then be downloaded, extracted and patched to work for Linux. When prompted for your sudo password, please enter it. +To add an icon to the application: + +```bash +sudo nano /usr/share/applications/deezer.desktop + +# And edit the Icon line (the path can be found in the install.sh script): +Icon=/usr/share/icons/hicolor/256x256/apps/deezer.png +``` + ## Uninstalling You can uninstall Deezer by running `uninstall.sh`: @@ -73,3 +82,19 @@ To debug node, you can extract the source files to a directory and inspect the n asar extract /usr/share/deezer/app.asar $dest electron --inspect-brk=$port $dest ``` + +### Electron sandbox not configured properly + +In case a similar message is obtained when running `deezer`: + +``` +[58092:0502/222802.588994:FATAL:sandbox/linux/suid/client/setuid_sandbox_host.cc:163] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /usr/lib/node_modules/electron/dist/chrome-sandbox is owned by root and has mode 4755. +/usr/lib/node_modules/electron/dist/electron exited with signal SIGTRAP +``` + +Update the ownership and permissions with the following commands: + +```bash +sudo chown root:root /usr/lib/node_modules/electron/dist/chrome-sandbox +sudo chmod 4755 /usr/lib/node_modules/electron/dist/chrome-sandbox +``` diff --git a/install.sh b/install.sh index 397cf09..6d49ff8 100755 --- a/install.sh +++ b/install.sh @@ -3,22 +3,22 @@ # Maintainer: Sibren Vasse # Contributor: Ilya Gulya pkgname="deezer" -pkgver=5.30.300 +pkgver=7.0.70 srcdir="$PWD" install_dependencies() { - # Manually install Node.js 12 since the version provided in some Ubuntu distros - # is older than 10.13.0 which prettier requires. - curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - + # Manually install Node.js since the version provided in some Ubuntu distros + # is older than what prettier requires. + curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install -y p7zip-full imagemagick nodejs wget g++ make patch - sudo npm install -g electron@^13 --unsafe-perm=true + sudo npm install -g electron sudo npm install -g --engine-strict asar sudo npm install -g prettier } prepare() { # Download installer - wget "https://www.deezer.com/desktop/download/artifact/win32/x86/$pkgver" -O "$pkgname-$pkgver-setup.exe" + wget "https://www.deezer.com/desktop/download/artifact-win32-x86-$pkgver" -O "$pkgname-$pkgver-setup.exe" # Extract app from installer 7z x -so $pkgname-$pkgver-setup.exe "\$PLUGINSDIR/app-32.7z" > app-32.7z # Extract app archive @@ -80,7 +80,7 @@ package() { sudo install -Dm644 "$pkgname".desktop "$pkgdir"/usr/share/applications/ sudo install -Dm755 deezer "$pkgdir"/usr/bin/ - # Make sure the deezer:// protocol handler is immediately registered as it's needed for login + # Make sure the deezer:// protocol handler is immediately registered as it's needed for login sudo update-desktop-database --quiet }