Bugzilla – Bug 1220037
distrobox package should require/recommend flatpak (without it distrobox-host-exec doesn't work)
Last modified: 2024-02-22 17:40:57 UTC
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Build Identifier: One discussion can be seen here: https://github.com/89luca89/distrobox/issues/1198 Installing OpenSusse MicroOS, then installing distrobox, the flatpak-helper dbus service is not a dependency of distrobox, nor is it recommended. As a result, the distrobox-host-exec, based on host-spawn, doesn't work, and also doesn't provide an error message. distrobox-host-exec is an important feature of distrobox, so it should either depend on or recommend having flatpak-helper. Reproducible: Always Steps to Reproduce: 1.Install MicroOS 2. transactional-update pkg in distrobox; reboot 3. distrobox create -n test 4. distrobox-enter test 5. distrobox-host-exec ls / 6. Notice there is no result. 7. transactional-update pkg in flatpak; reboot 8. distrobox-enter test 9. distrobox-host-exec ls / 10. Now we see the result. Actual Results: distrobox-host-exec doesn't work unless manually installing flatpak. Expected Results: After installing distrobox, I expect the needed dependencies for all features like distrobox-host-exec to work will be installed. I think it's quite simple to adjust the dependencies.
(In reply to Miller from comment #0) > User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) > AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 > Build Identifier: > > One discussion can be seen here: > https://github.com/89luca89/distrobox/issues/1198 > > Installing OpenSusse MicroOS, then installing distrobox, the flatpak-helper > dbus service is not a dependency of distrobox, nor is it recommended. As a > result, the distrobox-host-exec, based on host-spawn, doesn't work, and also > doesn't provide an error message. > > distrobox-host-exec is an important feature of distrobox, so it should > either depend on or recommend having flatpak-helper. > > Reproducible: Always > > Steps to Reproduce: > 1.Install MicroOS > 2. transactional-update pkg in distrobox; reboot > 3. distrobox create -n test > 4. distrobox-enter test > 5. distrobox-host-exec ls / > 6. Notice there is no result. > 7. transactional-update pkg in flatpak; reboot > 8. distrobox-enter test > 9. distrobox-host-exec ls / > 10. Now we see the result. > > Actual Results: > distrobox-host-exec doesn't work unless manually installing flatpak. > > Expected Results: > After installing distrobox, I expect the needed dependencies for all > features like distrobox-host-exec to work will be installed. > > I think it's quite simple to adjust the dependencies. > Yeah, but distrobox should be able to deal with this, via host-spawn: https://github.com/1player/host-spawn Which is, in fact, downloaded synamically by distrobox-host-exec-itself. However, I just tried and, it indeed does not work: > tumbleweed:~ # bash -x /usr/bin/distrobox-host-exec ls / > + host_command= > + non_interactive=0 > + '[' '!' -t 1 ']' > + tty > + distrobox_host_exec_default_command=/usr/bin/bash > + host_spawn_version=1.5.0 > + download_command= > + sudo_command= > + verbose=0 > + version=1.6.0.1 > ++ basename /usr/bin/distrobox-host-exec > + '[' distrobox-host-exec '!=' distrobox-host-exec ']' > + '[' -z '' ']' > + : > + case $1 in > + '[' -n ls ']' > + host_command=ls > + shift > + break > + set -o errexit > + set -o nounset > + '[' 0 -ne 0 ']' > + '[' '!' -f /run/.containerenv ']' > + '[' -z ls ']' > ++ id -ru > + '[' 0 -ne 0 ']' > + command -v curl > + download_command='curl -sLo' > + command -v host-spawn > ++ sort -V > ++ head -n 1 > +++ host-spawn --version > ++ printf '%s\n%s\n' 1.5.0 1.5.0 > + '[' 1.5.0 '!=' 1.5.0 ']' > + XDG_RUNTIME_DIR=/run/host//run/user/0 > ++ echo unix:path=/run/user/0/bus > ++ cut -d = -f2- > + DBUS_SESSION_BUS_ADDRESS=unix:path=/run/host//run/user/0/bus > ++ basename ls > + '[' ls = xdg-open ']' > ++ basename ls > + '[' ls = gio ']' > + '[' '!' -t 1 ']' > + tty > + host-spawn ls / So host spawn is invoked... But it does not work: > tumbleweed:~ # which host-spawn > /usr/bin/host-spawn > tumbleweed:~ # file /usr/bin/host-spawn > /usr/bin/host-spawn: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=mAXS1lQZ5THMhy4Omaf6/LkObaearV4_gMPp5n3CC/KK9QiNsRkSnVLJjhLkdy/gM9apm8tq> kE-IDLej4Yn, with debug_info, not stripped > tumbleweed:~ # host-spawn ls / > tumbleweed:~ # host-spawn
More info: > tumbleweed:~ # host-spawn ls / > tumbleweed:~ # echo $? > 127 And I have a strace too, that I can upload.
I think the best way forward, here, is to open an issue in either distrobox or host-spawn GH pages. Miller, can you do that?
When I opened an issue with distrobox, the response was "host-spawn and by proxy, distrobox-host-exec, depend on host's having flatpak-helper dbus service to work" Flatpak is not a dependency of distrobox in OpenSuse, so we have the problem. If we install flatpak, it works fine.
Ah, ok, and there was even a link to the discussion... Sorry for overlooking it. Well, I guess we do need to add that dependency, after all. I'll do that