ThaUnknown / miru

Bittorrent streaming software for cats. Stream anime torrents, real-time with no waiting for downloads.
https://miru.watch
GNU General Public License v3.0
2.18k stars 125 forks source link

[Bug]: Miru attempts to update using a deb as super user, using dpkg/apt on Arch Linux #411

Closed sweetbbak closed 6 months ago

sweetbbak commented 6 months ago

Preflight checklist

What app version are you using?

v4.5.9

What operating system version are you using?

Linux

Arch Linux

Expected Behavior

opening miru it starts looking for updates, it send me a notification every few minutes to update it, it then downloads a .deb file and attempts to install itself as super-user, even though Arch (and others) cannot use a .deb file and doesnt have dpkg or apt.

I understand that I am technically not using the latest version (0.0.1 behind) here and that my scope of use is not something that is explicitly supported by Miru, however, I do think it would be a good idea to either allow a user to disable auto-updates (and maybe acknowledge that this isn't explicitly supported at that point) - or to implement a check to see if the platform is actually Debian or Ubuntu, and if not, then potentially prompt the user to use an official version or send a warning that this isnt supported and disable auto-updates.

I'm sure there is a good solution here and I'd be happy to help with this. I think at the very least, it would be smart to try and detect the platform before using pkexec to run a dpkg command as root. I also think it's perfectly reasonable to not support packages outside what you already do (I know its a ton of work) but I think this requires a little extra care here. Im about to update to the latest version and I will likely just select a different method instead of a manual install but I foresee this likely being an issue in the future as there are multiple Miru packages in the AUR and probably on other non-Debian based distros as well.

Actual Behavior

terminal output of the behavior:

Checking for beta autoupdate feature for deb/rpm distributions
Found package-type: deb
12:17:57.589 › Checking for update

(miru:36175): Gtk-WARNING **: 12:17:57.770: Theme parsing error: gtk-dark.css:3213:16: Unit is missing.
[36175:0121/121757.796643:ERROR:object_proxy.cc(590)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/portal/desktop: org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.portal.FileChooser”
[36175:0121/121757.796660:ERROR:select_file_dialog_linux_portal.cc(274)] Failed to read portal version property
12:17:57.899 › Generated new staging user ID: abe63b9a-4040-517c-bdc8-6eb627585532
12:17:59.722 › Found version 4.5.10 (url: linux-Miru-4.5.10.AppImage, linux-Miru-4.5.10.deb)
12:17:59.724 › Downloading update from linux-Miru-4.5.10.AppImage, linux-Miru-4.5.10.deb
12:17:59.725 › updater cache dir: /home/sweet/.cache/miru-updater
12:19:03.542 › New version 4.5.10 has been downloaded to /home/sweet/.cache/miru-updater/pending/linux-Miru-4.5.10.deb
12:37:58.169 › Checking for update
12:37:59.569 › Found version 4.5.10 (url: linux-Miru-4.5.10.AppImage, linux-Miru-4.5.10.deb)
12:37:59.571 › Downloading update from linux-Miru-4.5.10.AppImage, linux-Miru-4.5.10.deb
12:57:58.172 › Checking for update
12:57:59.540 › Found version 4.5.10 (url: linux-Miru-4.5.10.AppImage, linux-Miru-4.5.10.deb)
12:57:59.540 › Downloading update from linux-Miru-4.5.10.AppImage, linux-Miru-4.5.10.deb
13:17:58.175 › Checking for update
13:17:59.578 › Found version 4.5.10 (url: linux-Miru-4.5.10.AppImage, linux-Miru-4.5.10.deb)
13:17:59.578 › Downloading update from linux-Miru-4.5.10.AppImage, linux-Miru-4.5.10.deb
13:37:58.170 › Checking for update
13:37:59.487 › Found version 4.5.10 (url: linux-Miru-4.5.10.AppImage, linux-Miru-4.5.10.deb)
13:37:59.487 › Downloading update from linux-Miru-4.5.10.AppImage, linux-Miru-4.5.10.deb
13:57:58.165 › Checking for update
13:57:59.506 › Found version 4.5.10 (url: linux-Miru-4.5.10.AppImage, linux-Miru-4.5.10.deb)
13:57:59.507 › Downloading update from linux-Miru-4.5.10.AppImage, linux-Miru-4.5.10.deb
14:17:58.165 › Checking for update
14:17:59.507 › Found version 4.5.10 (url: linux-Miru-4.5.10.AppImage, linux-Miru-4.5.10.deb)
14:17:59.508 › Downloading update from linux-Miru-4.5.10.AppImage, linux-Miru-4.5.10.deb
14:24:49.693 › Auto install update on quit
14:24:49.694 › Install: isSilent: true, isForceRunAfter: false
14:24:49.695 › Executing: which gksudo || which kdesudo || which pkexec || which beesu with args: 
14:24:49.749 › Executing: /sbin/pkexec --disable-internal-agent with args: /bin/bash,-c,'dpkg -i /home/sweet/.cache/miru-updater/pending/linux-Miru-4.5.10.deb || apt-get install -f -y'
 ~  miru                                                                                              2h6m59s 
Checking for beta autoupdate feature for deb/rpm distributions
Found package-type: deb
14:27:28.319 › Checking for update

(miru:73754): Gtk-WARNING **: 14:27:28.503: Theme parsing error: gtk-dark.css:3213:16: Unit is missing.
[73754:0121/142728.528321:ERROR:object_proxy.cc(590)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/portal/desktop: org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.portal.FileChooser”
[73754:0121/142728.528332:ERROR:select_file_dialog_linux_portal.cc(274)] Failed to read portal version property
14:27:29.947 › Found version 4.5.10 (url: linux-Miru-4.5.10.AppImage, linux-Miru-4.5.10.deb)
14:27:29.948 › Downloading update from linux-Miru-4.5.10.AppImage, linux-Miru-4.5.10.deb
14:27:29.956 › updater cache dir: /home/sweet/.cache/miru-updater
14:27:30.307 › Update has already been downloaded to /home/sweet/.cache/miru-updater/pending/linux-Miru-4.5.10.deb).

Screenshots

No response

ThaUnknown commented 6 months ago

my scope of use is not something that is explicitly supported by Miru

you and other linux user

ThaUnknown commented 6 months ago

related https://github.com/ThaUnknown/miru/issues/308