As I know Wine need root privilegies to work properly, or I misunderstanding it?
It would be great if some one snap Steam
AFAIK Wine itself doesnāt need any extra privileges however the Windows apps are then limited by the privileges of the user that runs them. Wine IMO is a prime candidate for a Classic snap.
If you think of wine as snapped standalone āinterpreterā this might be trueā¦
But iād also like to think of wine as a snapcraft part that you can use to ship standalone apps (simply by bundling and configuring wine for that one app at snap build time).
After all wine is opensource so worst case you can adjust everything needed and re-build it to match all requirements to have the app run as a fully confined appā¦
The more interesting question is what you actually want to ship as a wine app, there the licensing and redistributability (specifically the latter) of the particular windows app you snap comes into play ā¦
I agree, wine is just like Python or Perl in this regard. It can be packaged as a snap or as a part equally well. I think that it should start as a part, as this gives people more stability for particular applications. Over time specific snaps may opt-into content-share from a shared wine snap.
Ohhhh thatās cool, then we donāt need apps like PlayOnLinux at all (though I was helping upstream snap POL 5 and I guess that can be an option too). Then all people have to do is e.g. sudo snap install ageofempiresiihd
to get Steam installed with a Wine configuration appropriate for the app. Some custom stuff needs to be done after AoE is installed though, maybe POL scripts are still the most user-friendly way of doing this (idk if itās possible to make scriptlets that only run after the user does something with the installed snap).
i couldnt resist and played with it on the weekend ā¦
sudo snap install --devmode --edge wine2-15
ā¦
ogra@styx:~/wine-2.15$ ls /snap/bin/wine2-15.*
/snap/bin/wine2-15.notepad /snap/bin/wine2-15.winecfg /snap/bin/wine2-15.wineserver
/snap/bin/wine2-15.regedit /snap/bin/wine2-15.wineconsole
/snap/bin/wine2-15.wine /snap/bin/wine2-15.winefile
note that this is indeed highly experimental ā¦
the source can be found at https://github.com/ogra1/wine-2.15 and needs an i386 lxd container or chroot to do the build in ā¦
i hope that can serve as inspiration for someone to improve it
oh, and here is a screenshot running internet explorer using this snap (via wine2-15.winefile, navigating to C:\Program Files\Internet Explorer\ and double clicking iexplore.exe)
Does this provide a wine
interface for other snaps to use? Or, if not, how would we go about getting it to provide that interface?
Yeah, a content-sharing Wine platform snap, or at least a snapcraft part for Wine, would be a lot more interesting than a standalone Wine app snap
no, it is simply a snap of the latest wine development release, you can either just grab the source and add another part in the snapcraft.yaml (i.e. steam) that installs a windows app and modify it in a way that the app gets started directly ā¦ or you could turn it into a classic snap to provide wine system-wide through it ā¦
i dont think a āwineā interface per-se makes much sense ā¦
you could have a wine-shared snap (like @mhall119 suggests) that shares its libs via the content interface too i guess (if you manage to make it run in strict mode at all, there are some issues)
feel free to experiment with it ā¦ thats the reason why i published it ā¦ so people have a base to hack on
Iām curious why you did the git clone
in imperative form via the prepare:
script rather than as a declaration using source:
prepare: |
set -e
git clone --depth=1 -b wine-2.15 git://source.winehq.org/git/wine.git wine
mv wine/* .
rm -rf wine
because of the --depth=1 ā¦ checking out without it takes ages while dropping all history (after all i just want to build the latest) makes it a breeze to check out ā¦
maybe that should be default in snapcraft builds then? Or would that cause issues?
dunno, i was to lazy to ask
but perhaps @sergiusens can tell us if there is an actual reason ā¦ to not use it
Shallow depth used to be the default, and it was changed because it broke other things.
You can now however specify source-depth
so no need to hard wire your git clone
command in prepare
What do you mean be āflaggedā?
Thatās just Discourseās housecleaning stuff, you can ignore it. I deleted my comment because I didnāt read the one I was responding to fully before I commented, and what I was asking was already answered.