Winetricks / winetricks

Winetricks is an easy way to work around problems in Wine
GNU Lesser General Public License v2.1
2.82k stars 408 forks source link

Provide an easy way to install winetricks? #1192

Open WPFilmmaker opened 5 years ago

WPFilmmaker commented 5 years ago

Hi, thank you for your work on winetricks, it is really helpful.

I would like to request providing an easy way to install winetricks like flatpak which works on every distro.

Right now you either get mostly out of date versions from your distro's repo or you have to follow a lengthy and not noob-proof guide...

austin987 commented 5 years ago

Looks like a significant amount of work on my end. I may at some point when I have not time.

In the meantime, a single wget call can download it..

bobwya commented 5 years ago

I would like to request providing an easy way to install winetricks like flatpak which works on every distro.

That's a crazy idea... You'd end up with high maintenance and packaging overheads, for what amounts to nothing more than installing than 2 shell scripts!

Out of idle curiosity I took a look at the current (as of today) Linux distribution packaging of winetricks:

So it's abundantly clear where the stagnation, in packaging up-to-date winetricks, is a significant issue... The vast majority of larger Linux distributions clearly manage to package 2 simple shell scripts, in a timely fashion...

WPFilmmaker commented 5 years ago

@austin I am no dev, so I am just throwing my two cents from a user pov.

What I find a bit paradoxical is that a useful software like winetricks which improve WINE's user experience but then to install a recent version you still need to use bash script which according to your page requires minimum 8 steps...

@bobwya I apologize for not mentioning that i am on a LTS, so my request was more about that.

jre-wine commented 5 years ago

Debian testing: 20181203 I take the blame on me for not coordinating with Austin to make a release before Debian testing went into freeze (final day for upload was 20190301).

@bobwya Do other distributions with a stable release cycle update winetricks in existing releases? Serious question, but I doubt so. Of course for distros with rolling releases this is not an issue. I ask you to stop painting an incomplete picture and offering your conclusions from that.

I'm interested in constructive suggestions how to handle winetricks as packager better. E.g. since 20181203 you can use "winetricks --selfupdate" again in the Debian/Ubuntu packages (I just patched in a warning, so that users are aware that Debian has no control over that version). However, for privacy reasons the automatic version check is disabled.

I agree with @WPFilmmaker that the instructions on https://github.com/Winetricks/winetricks are overblown. Maybe start with a section "Quick install" just using a wget one-liner.

austin987 commented 5 years ago

@jre-wine, for future reference, if a Debian freeze is coming and you need a release, absolutely let me know, I'm happy to make one for that.

A quick install is a good idea. I'm traveling, so it'll be a few days before I can, but I'm happy to merge a PR ;)

bobwya commented 5 years ago

@jre-wine

@bobwya Do other distributions with a stable release cycle update winetricks in existing releases? Serious question, but I doubt so. Of course for distros with rolling releases this is not an issue. I ask you to stop painting an incomplete picture and offering your conclusions from that.

I quoted versions for OpenSUSE, including older SLES releases. Take a look for yourself if you don't believe me: OpenSUSE package search: winetricks

The same goes for Fedora, active releases prior to fc30 are also receiving winetricks updates, in lock-step with the current Fedora release.

I should point out that very few users (in my experience) try to run Wine on CentOS or RedHat - which are primarily targeted at Headless servers. I'd say I see ≤4 questions, about CentOS, per year on the WineHQ forums.

I'm ranting a bit here... Because it's volunteer folks, like me, that have to pick up the pieces. Namely Debian / Ubuntu Wine packaging, which frequently causes issues, for new users. Who then go on to post about these on the WineHQ forums. This does get annoying, after a number of years. Especially since there is no sign of a permanent fix occurring Upstream.

I agree with @WPFilmmaker that the instructions on https://github.com/Winetricks/winetricks are overblown. Maybe start with a section "Quick install" just using a wget one-liner.

The winetricks update information, within README.md is a bit overblown. That was motivated because an Ubuntu user wanted instructions on how to keep winetricks up-to-date... Then complained (rightly so) that he didn't want to run a sequence of undocumented shell commands. So the script ended up being obscured by the comments. Damned if you do, damned if you don't! 8->

I guess the sudo script could also be streamlined, leaving a reference / fully documented script, at the bottom??!! I don't think the core script commands can be streamlined much more, without leaving out some essential step(s)...

wine --self-updater

won't handle any changes to the bash.completion helper script. This was first released with winetricks tag 20180815 ... Potentially this will require updates or fixes in the future (although it should automatically handle new winetricks verbs).

Just my $0.02! Bob

austin987 commented 5 years ago

We can fix self-update to also get bash completions, if anyone cares. File an issue/send a PR and I'll take a look.

jre-wine commented 5 years ago

@austin987 Thanks, I figured you'd be willing to make a release on demand, and indeed had planned to do so. Just missed it... :(

And for the PR, I first had to think about the best way to do it. Task finished: https://github.com/Winetricks/winetricks/pull/1194

Some notes: A one-liner for an installation in PATH (whether system-wide or user-specific) is maybe overambitious, given the range of supported systems. Also that would require to discuss removing existing installations, as it is done currently. To keep it simple I think it is ok to assume that users open a new terminal and thus start at the same place ($HOME) everytime. I suggest to not conflate the quick install instructions with commands like cd or chmod. Also remarks about PATH, bash completion, current versions and updates should be postponed to later chapters.

@bobwya Sure I believe you, as I said: "Serious question" - and I admit I'm positively surprised to learn that other stable distributions update to newer upstream versions. I understand your frustration about Debian/Ubuntu causing issues for volunteer support work - but your conclusion, which you express salted with your frustration, feels like targeting other volunteers (namely me as Debian winetricks maintainer). If there is room for improvements I'd happily do so. But this is not about packaging 2 scripts in a timely matter - we normally do so. It's just that a complete new upstream release doesn't qualify for a stable update per Debian policy ("bugfixes only"), or for an backport (intended for stable users as opt-in for new features, but not for bugfixes - those should go to stable). I already wrote above about self-update and the version check.

austin987 commented 5 years ago

@jre-wine, maybe two quick versions?

Ie, quick install (wget/sh) and quick system install (wget/chmod/sudo mv).

In the end I'm fine with whatever the consensus is.

bobwya commented 5 years ago

@austin987

One thought would be a streamlined updater script in the main README. Then link to a secondary Github Wiki page. Moving all the more detailed updater stuff there. The main problem just now is the information overload, rather then the length of the script per se (IMHO).

To keep it simple I think it is ok to assume that users open a new terminal and thus start at the same place ($HOME) everytime.

@jre-wine

In my experience you can't assume anything, with new users! This has broken the Ubuntu WineHQ repository installation instructions before - since these (wrongly) assume that the user's PWD is a directory with write permissions.

austin987 commented 5 years ago

That works too. You're both more user facing than me, so I'm fine with what y'all want.

jre-wine commented 5 years ago

@austin987 For "quick install (wget/sh)" I'd suggest "Quick ad-hoc installation" as headline. That would match and express my intention quite well. But it might be confusing for others. Opinions?

Not sure about "quick, systemwide" instructions. Either you can get that conclusion on your own, after reading the "adhoc" instructions and/or by picking things from the "full" instructions. Or you don't understand anything, and might be just better of with copy&pasting the full instructions (with the scripts eventually moved to separate files).

@bobwya PWD not writable ... ouch. But I think instructions are not the place to handle this case, this issue here demonstrates this. I think other project's common instructions don't do so either. Also, when you gave your answer on a forum you were probably seen as "a random guy", who should explain the instructions. The instructions here don't need that much justification to proof that they are not malicious. Documenting and testing in the code itself instead is definitely good.

So:

I'll give that at least another night of sleep. We really need many eyes for these initial instructions, people are just too different. Thanks everyone here.

qwertychouskie commented 5 years ago

@jre-wine I seem to remember that --self-update was removed in the Debian/Ubuntu package, is this correct? Can this be changed? Since Winetricks can figure out if it's out of date, and tell the user to run it with --self-update, this seems like an important feature to be missing and will exacerbate the out-of-date Winetricks issues.

jre-wine commented 5 years ago

@qwertychouskie See my comment above: yes, --self-update works again since 20181203, but the automatic version check is patched out.

kenorb commented 5 years ago

Here is a one liner to install Winetricks to /usr/local/bin (works on Linux, not sure about macOS):

curl -sL https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks | sudo install /dev/stdin /usr/local/bin/winetricks

This also can work (on Linux):

sudo install -v <(wget -qO- https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks) /usr/local/bin/winetricks
kekkoudesu commented 1 year ago

There's a Makefile for winetricks that seems to work well. Is there any reason not to give all users, regardless of distribution, these instructions?

  1. Install the necessary dependencies (cabextract, perl, and zenity or kdialog for the GUI)
  2. Download the latest tarball from https://github.com/Winetricks/winetricks/releases/latest
  3. Extract the tarball and cd into the extracted directory.
  4. Run sudo make install.

I just did this in an Ubuntu 23.04 VM and winetricks works fine.

CodeShakingSheep commented 10 months ago

Just came across this issue. I would really appreciate a Flatpak of Wine Tricks to make it more convenient to install for less technically knowledgeable users. Is this still in scope @austin987?

austin987 commented 9 months ago

Just came across this issue. I would really appreciate a Flatpak of Wine Tricks to make it more convenient to install for less technically knowledgeable users. Is this still in scope @austin987?

Maybe; I have limited time, but it doesn't look as bad as when I last looked.