flathub / org.gnome.Rhythmbox3

https://flathub.org/apps/details/org.gnome.Rhythmbox3
2 stars 8 forks source link

IPOD support #31

Open claudiuschan opened 4 years ago

claudiuschan commented 4 years ago

Hi guys, I can't see/manage my [ipod video gen 5] in the rhythmbox3 flatpak version. I can manage my ipod via the rhythmbox3 via the usual dnf installation. I am using Fedora 32 x64 on a x1 carbon gen 6.

I not sure how can I troubleshooting, if you guys need any logs/debug do let me know. I can test and get back.

hadess commented 4 years ago

There's no support for that yet. Somebody would need to do the research and the work to set that up.

claudiuschan commented 4 years ago

Thank @hadess for the confirmation :) Since I am not developer. I will use the system package version then.

hadess commented 4 years ago

I'll reopen so it doesn't fall off the TODO list.

crvigh commented 4 years ago

I am working on getting Rhythmbox to run in gnome-nightly ( https://gitlab.gnome.org/GNOME/rhythmbox/-/merge_requests/81 ). All plugins which don't need device support work fine. The last phase is to get the device plugins ( iPod / MTP / Android ) to work in flatpak environment.

But currently, there are issues with libgpod install as below:

make[1]: Entering directory '/run/build/libgpod/tools'
make[2]: Entering directory '/run/build/libgpod/tools'
 /usr/bin/mkdir -p '/app/bin'
  /bin/sh ../libtool   --mode=install /usr/bin/install -c ipod-read-sysinfo-extended '/app/bin'
libtool: install: /usr/bin/install -c .libs/ipod-read-sysinfo-extended /app/bin/ipod-read-sysinfo-extended
 /usr/bin/mkdir -p '/lib/udev'
  /bin/sh ../libtool   --mode=install /usr/bin/install -c ipod-set-info '/lib/udev'
libtool: install: /usr/bin/install -c .libs/ipod-set-info /lib/udev/ipod-set-info

/usr/bin/install: cannot create regular file '/lib/udev/ipod-set-info': Read-only file system

make[2]: *** [Makefile:735: install-libudevPROGRAMS] Error 1
make[2]: Leaving directory '/run/build/libgpod/tools'
make[1]: *** [Makefile:1407: install-am] Error 2
make[1]: Leaving directory '/run/build/libgpod/tools'
make: *** [Makefile:557: install-recursive] Error 1
Error: module libgpod: Child process exited with code 2

@hadess does this have something to do with https://github.com/flatpak/flatpak/issues/961 ?

hadess commented 4 years ago

@hadess does this have something to do with flatpak/flatpak#961 ?

No. If this helper does something useful, it needs to either move to systemd proper, or what it does needs to be reworked. A Flatpak package can't install helpers that run as root, plain and simple.

crvigh commented 4 years ago

No. If this helper does something useful, it needs to either move to systemd proper, or what it does needs to be reworked. A Flatpak package can't install helpers that run as root, plain and simple.

Okay. Thanks.

I am facing some issues with gudev in flatpak. I used gudev from "shared-modules/gudev/gudev.json" and "--device=all" in "finish-args". With this g_udev_device_get_property_keys () only returns a small subset of device properties for a USB device, as below:

[BUSNUM] -> [003]
[DEVNAME] -> [/dev/bus/usb/003/053]
[DEVNUM] -> [053]
[DEVPATH] -> [/devices/pci0000:00/0000:00:1a.7/usb3/3-1/3-1.3/3-1.3.2]
[DEVTYPE] -> [usb_device]
[DRIVER] -> [usb]
[MAJOR] -> [189]
[MINOR] -> [308]
[PRODUCT] -> [4e8/6860/c00]
[SUBSYSTEM] -> [usb]
[TYPE] -> [0/0/0]

Rhythmbox depends on ID_VENDOR / ID_MODEL properties which are missing. All properties are listed for the same USB device in non-flatpak environment.

Am I missing something here ?

hadess commented 4 years ago

Am I missing something here ?

Yes. There's no udev access inside the Flatpak. Even if you install a udev library, it won't be able to talk to the daemon. That's on purpose. You'll need to find a different way. That's why it's hard, and that's why it wasn't done yet.

crvigh commented 4 years ago

You'll need to find a different way.

Any pointers would be helpful.

Also, will this "different way" code changes work for both flatpak and non-flatpak environments, or does it have to be different code paths for both environments.

hadess commented 4 years ago

I don't have any pointers. I'd need to spend a significant amount of time trying to figure that out, time which I don't have right now.

crvigh commented 4 years ago

I don't have any pointers. I'd need to spend a significant amount of time trying to figure that out, time which I don't have right now.

Okay.

crvigh commented 3 years ago
  1. I was able to get Audio CD and iPod plugins work with the following changes.
--- a/flatpak/org.gnome.Rhythmbox3.Devel.json
+++ b/flatpak/org.gnome.Rhythmbox3.Devel.json
@@ -50,9 +50,7 @@
         /* DAAP broadcast and discovery */
         "--system-talk-name=org.freedesktop.Avahi",
         /* totem-pl-parser http support, for podcasts and streaming */
-        "--talk-name=org.gtk.vfs", "--talk-name=org.gtk.vfs.*",
-        /* See flathub org.gnome.Rhythmbox3 issue #16 */
-        "--env=GIO_USE_VOLUME_MONITOR=unix"
+        "--talk-name=org.gtk.vfs", "--talk-name=org.gtk.vfs.*"
     ],
     "build-options" : {
         "cflags": "-O2 -g",
  1. Android plugin still has issues, as mentioned above, but Shotwell gnome-nightly flatpak seems to load my Samsung Galaxy S10 phone, so might be worth looking into it.
hadess commented 3 years ago

I was able to get Audio CD and iPod plugins work with the following changes.

We can't make those changes, because they'd break people's libraries: https://gitlab.gnome.org/GNOME/rhythmbox/issues/1689

crvigh commented 3 years ago

My main focus is to get Android devices working in flatpak env. Other devices are low priority for the moment.

This is to address bugs like "My android phone doesn't work with Rhythmbox".

https://gitlab.gnome.org/GNOME/rhythmbox/-/issues/1151#note_568156 https://gitlab.gnome.org/GNOME/rhythmbox/-/issues/1729

So, we can make a fix, and ask them to update their flatpak to quickly close issues.

https://gitlab.gnome.org/GNOME/rhythmbox/-/issues/1801 is directed towards that, if nothing else works.

hadess commented 3 years ago

The changes to "unbreak" the Android devices break people's libraries. So we're not going to merge that.

crvigh commented 3 years ago

Android never works with the above patch. What I meant was when you get a chance to look into this issue, it would be fine even if we can get Android to work in flatpak, without breaking the 1689 issue.

Others devices are low priority.