Bug 1219665

Summary: Creating a new bottle on a fresh install fails at installing faudio
Product: [openSUSE] openSUSE Tumbleweed Reporter: Imo Hester <vortex>
Component: OtherAssignee: Imo Hester <vortex>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None    
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: Bottles install faudio log

Description Imo Hester 2024-02-07 09:01:18 UTC
Created attachment 872526 [details]
Bottles install faudio log

A user made me aware of this issue with the RPM build (the official flatpak does not have this issue) when creating a new bottle on a fresh install it will fail at installing faudio inside the bottle (see attachment).

While investigating the issue it seems bottles uses patool to extract the archive.  
But the archive faudio.tar.xz gets renamed by bottles after download to faudio.xz and patool will chose xz instead of tar which results in an not properly extracted archive.

This issue does not happen with the flatpak and in earlier versions of bottles it worked as well or maybe it had something to do with an update to patools or what else.

Anyhow I contacted the developers about this issue here: https://github.com/bottlesdevs/dependencies/issues/217

And there is an open pull request which aims on to remove faudio from bottles: https://github.com/bottlesdevs/dependencies/pull/218

Until this is resolved I'd like to open the bug report here.
Comment 1 Imo Hester 2024-02-07 09:10:23 UTC
The user could potentially solve the issue by extracting faudio themself so bottles will pick it up but the automated process of setting up a new bottle will still be broken for other users.
Comment 2 Imo Hester 2024-02-07 09:24:23 UTC
Furhter investigations showed that providing a patch for the RPM build to remove faudio in advance will break other parts of bottles.
This is because Bottles fetches some YAML files used to install applications which might list faudio as a dependency.

While it is perfectly possible to maintain a custom Bottles dependency and Apps repo as like:

- Clone https://github.com/bottlesdevs/dependencies
- Add environment variable LOCAL_DEPENDENCIES=/path/to/cloned_repo/
- Fix faudio.yml to not do the rename

It would also involve keeping track of any changes to the dependency repository and Apps repository by the Bottles Developers which is an extra burden and probably not worth the effort considering faudio might get removed in the future anyway.
Comment 3 Imo Hester 2024-02-21 21:34:20 UTC
After recent 51.11 update this issue seems to be fixed.
I was able to install bottles on a complete fresh install (new distrobox with dedicated home directory) and also could create an gaming bottle which pulls in faudio.