sharkwouter / minigalaxy

A simple GOG client for Linux
https://sharkwouter.github.io/minigalaxy/
GNU General Public License v3.0
1.1k stars 71 forks source link

[Request] Appimage version #296

Open Angell1993 opened 3 years ago

Angell1993 commented 3 years ago

This would make python install obsolete, in the sense that everything needed would be contained within the appimage itself..

sharkwouter commented 3 years ago

Hey thanks for the report. Having an Appimage would be cool, maybe someone would like to implement this.

Although I've never heard of anyone actually using the python install, so I guess it kinda is already obsolete. There are packages for most distributions and we also support flatpak, we're on flathub.

djmattyg007 commented 3 years ago

Isn’t the AUR package based solely on the Python installation method?

sharkwouter commented 3 years ago

Yeah, setup.py is only there for packaging.

djmattyg007 commented 3 years ago

The point is, I think it would be pretty crappy if the only way to install this application was through a container app format like Appimage. The AUR package is proof that people are absolutely using the standard pythong installation method. Unless there's something seriously wrong with it that's difficult to maintain, it would be very disappointing to see it removed. The existence of an Appimage package would not in any way make standard python installations obsolete.

Angell1993 commented 3 years ago

@djmattyg007 I think you misunderstood the entire post, seeing that some Linux distributions, can't always use the python install method, or AUR (Arch Linux only).. An Appimage is an universal format that is self contained, and can be used almost on any Linux distributions.. Sometimes even AUR won't install, because of little errors, and that can be really annoying, so having an Appimage as an alternative would certainly be appealing..

djmattyg007 commented 3 years ago

Sometimes even AUR won't install, because of little errors

I'd be curious to know what errors you were encountering. Regardless, the AUR is just an example. Other distributions, like OpenSUSE and Fedora, are doing similar things:

https://src.fedoraproject.org/rpms/minigalaxy/blob/rawhide/f/minigalaxy.spec https://build.opensuse.org/package/view_file/games:tools/minigalaxy/minigalaxy.spec?expand=1

The point is that the installation method of running python setup.py install does work and is used by people, and it would be incredibly disappointing to see support for this dropped by maintainers. To say "I've never heard of anyone actually using the python install" is a misnomer, because the people packaging it for distributions are using this exact method to do the packaging.

Angell1993 commented 3 years ago

It may work for some people.. But When I used 'python setup.py install' I had to clean the files from the system myself, before I could install the Git version from AUR, because it messed up my system, then the normal version didn't work anymore.. So I've had very bad experiences with Python installs.. I don't like installing something and then figuring out that it messed up my system.. That's why I prefer an alternative like an Appimage, that doesn't need to install anything..

And python installs doesn't have an uninstall command.. If you know of one please let me know.. I've searched the web, and I've not been able to find one..

So manual install with python has a high probability of messing up your system.. It will render the AUR package not installable..

djmattyg007 commented 3 years ago

This sounds like a lack of familiarity with python package management, rather than anything particularly bad about it.

Yes, if you install a package with python setup.py install, you're going to have a hard time uninstalling it. Setuptools is rather primitive, this is why people nowadays use pip. Unfortunately minigalaxy doesn't appear to be available on PyPI, so I'm not sure off the top of my head how you would use pip to install it. However, if you were able to successfully use pip install minigalaxy, you would then be able to use pip uninstall minigalaxy. However, this would still largely rely on python setup.py install working under the hood.

In general, end users aren't meant to install software with python setup.py install because it is a primitive tool. This doesn't mean it should be removed or doesn't work properly or anything. It is 100% used by packagers to create packages for distributions. Saying that it has a high probability of messing up your system is simply false. If you use sudo without knowing exactly what you're doing, then yes, there's a non-trivial chance of unintended consequences.

This is also a great opportunity to point out that you shouldn't blindly use sudo to install random software. If it "messed up your system", it's because you managed to get python setup.py install to install the software into /usr in the same places that the pacman package created from the AUR PKGBUILD is looking to put the relevant files. Pacman will check to make sure that there are no conflicts when first installing a package. If there are, it will refuse to install the software because there's a conflict. In general, the only thing that should be managing files in /usr is your package manager. You would likely have had the exact same experience on any other distribution, it's nothing special to the AUR. I would expect all package managers (apt/dpkg, yum/dnf, zypper, etc) to work this way.

The point is, there's no reason why there couldn't be a minigalaxy Appimage in addition to the basic python installation method of python setup.py install. They can co-exist harmoniously, and just because you had a bad experience it doesn't mean everybody should be locked into a non-standard application package format that doesn't interact properly with the rest of a distribution.

Angell1993 commented 3 years ago

Hey thanks for the report. Having an Appimage would be cool, maybe someone would like to implement this.

Although I've never heard of anyone actually using the python install, so I guess it kinda is already obsolete. There are packages for most distributions and we also support flatpak, we're on flathub.

Just like he said here, but he properly meant that no one is really using the manual install.. I don't mind having the setup.py in the source, I never suggested to remove it.. Just that I prefer to use Appimages, because I've had some interesting experiences with installing different apps, from AUR on Arch Linux, some times even the Package Manger can't install the apps, but I can in some situations get around the install error by installing by Terminal manually.. The errors are mostly related to missing path/link to dependencies..

And I don't use sudo when using python setup.py install I use the --user install option.. And that clearly doesn't work for me.. I can run the install with 'python setup.py install --user' which can't really be that hard, but it have messed up my system the last 5 times I used the manual python install.. I had to remove every single file it installed and have to use a different version then the normal version from AUR afterwards because some config files still had a reference to it..

And I've already had this issue addressed by @sharkwouter in a different area..

sharkwouter commented 3 years ago

You can technically use the setup.py to install, but you'll need to do it like this:

python setup.py install --prefix=/usr

Lets keep this issue on topic, though. I do like the idea of having an AppImage, so this issue can stay open.

Angell1993 commented 3 years ago

@djmattyg007 a final note on this argument.. Just be cause something is said to be obsolete, doesn't mean it's going to be removed.. As a programmer myself, I just prefer to use C# then python, being obsolete isn't the same as saying something is to be removed, just that there might be room for other ideas.. And on this topic @sharkwouter I believe has the final word on if something gets removed or not..

@sharkwouter I don't like to argue about stuff like this, when it gets out of hand so easily.. But I also has a hard time stopping once I start.. Thanks for the reminder..

djmattyg007 commented 3 years ago

By definition, the python setup.py install installation method is not obsolete, because it is still in use (as I have demonstrated). Please stop spreading misinformation.