Closed cloudishBenne closed 1 year ago
I tested this, it does update and remove the new versions of GE Proton nicely. However, it isn't able to delete the older version for me.
Hey mate, thanks for testing! I'll dig into it later after work and fix this.
I see what is wrong here: By design the version string of the (to be) installed Proton GE is just the corresponding tag of the original release. So with the old naming scheme it was "X.Y-GE-Z" and with the new naming scheme it is "GE-ProtonX-Z". I was now thinking about the following options to short the typing a bit: [Proton-]X.Y-GE-Z [GE-Proton]X-Z The strings within [...] would be optional. With these new options your problem gets solved and the new Proton GE versions could be typed down much quicker.
@AUNaseef what do you think about it?
I tested this, it does update and remove the new versions of GE Proton nicely. However, it isn't able to delete the older version for me.
Did you get it running with the X.Y-GE-Z tag?
I tested this, it does update and remove the new versions of GE Proton nicely. However, it isn't able to delete the older version for me.
Did you get it running with the X.Y-GE-Z tag?
Ohh I have not tested the updated one. I just manually deleted the old proton version and kept using your protonup version to update Proton which works nicely still. Someone else would have to test if your protonup update deletes the old proton versions.
I hope @AUNaseef will respond to your pull request soon!
I tested this, it does update and remove the new versions of GE Proton nicely. However, it isn't able to delete the older version for me.
Did you get it running with the X.Y-GE-Z tag?
Ohh I have not tested the updated one. I just manually deleted the old proton version and kept using your protonup version to update Proton which works nicely still. Someone else would have to test if your protonup update deletes the old proton versions.
I hope @AUNaseef will respond to your pull request soon!
I did not finish the feature i described above. So just to make sure it works how it is supposed to be (tested this on my machine but you get the usual "works on my machine"-thing), these should pass:
protonup -t 7.2-GE-2 protonup -r 7.2-GE-2 protonup -t GE-Proton7-8 protonup -r GE-Proton7-8
This are the correct tags that have to be used with protonup==0.2.0 Your error showed up because of: protonup -r »Proton-«7.2-GE-2
I can confirm that it is working on my machine as well for both old and new naming schemes.
Has it always reported the installed versions for the old naming scheme with the Proton-
prefix when using --list
? That's where I originally tripped up when trying to test removal/reinstallation of a prior version - I also just copied the version stated under the list, which wasn't the correct tag to use for removal. I can see that being a very common user error, and I don't remember stumbling over it before so it makes me suspicious that this prefix was previously being suppressed/not shown. It would be really good if this could be done so that the list view actually shows the correct tag names to use for uninstalling a version.
@AUNaseef could you look at merging this? protonup is completely broken without it
cobalt@cobalt-inspiron:~$ protonup
Ready to download Proton-GE-Proton7-10
Size : 398.8 MiB
Published : 2022-03-19
Continue? (Y/n): y
Downloaded 100.00% - 398.9 MiB / 398.8 MiB
Traceback (most recent call last):
File "/home/cobalt/.local/bin/protonup", line 8, in <module>
sys.exit(main())
File "/home/cobalt/.local/lib/python3.9/site-packages/protonup/__init__.py", line 4, in main
return main()
File "/home/cobalt/.local/lib/python3.9/site-packages/protonup/cli.py", line 33, in main
get_proton(version=args.tag, yes=args.yes, dl_only=args.download,
File "/home/cobalt/.local/lib/python3.9/site-packages/protonup/api.py", line 152, in get_proton
tarfile.open(destination, "r:gz").extractall(install_directory())
File "/usr/lib/python3.9/tarfile.py", line 2036, in extractall
self.extract(tarinfo, path, set_attrs=not tarinfo.isdir(),
File "/usr/lib/python3.9/tarfile.py", line 2077, in extract
self._extract_member(tarinfo, os.path.join(path, tarinfo.name),
File "/usr/lib/python3.9/tarfile.py", line 2150, in _extract_member
self.makefile(tarinfo, targetpath)
File "/usr/lib/python3.9/tarfile.py", line 2191, in makefile
with bltn_open(targetpath, "wb") as target:
PermissionError: [Errno 13] Permission denied: '/home/cobalt/.steam/root/compatibilitytools.d/GE-Proton7-10/files/lib64/wine/vkd3d-proton/libvkd3d-proton-utils-3.dll'
I hope @AUNaseef is OK. They haven't been active since December. I am thinking about forking this but I am not sure.
I also thought about forking, i don't know how long to wait before. We could team up on this.
I just looked at the source. It's a clean, simple, and small codebase. I trust my python skills but I did not manage an open-source project before. Also, your fork was already suggested for the AUR package. You can add me as a maintainer and we can tell the folks at AUR to move to your fork. But I don't know the etiquette on forking. Should we wait for some more time?
Temporarily i would just finish the shorted tag installation i mentioned above and create a new pull request for this. I think this would be the neatest on git. The biggest problem is the pip package, there we would have to release under a new package name. Something like protonup-ng should do it. I never released a package on pypi, do you have done this before?
Some more info on the future of protonup: https://github.com/Ahmed-Al-Balochi/LibreGaming/issues/25#issuecomment-1061609688 My problem is, i don't want to have a complete new protonup, i just want to have a working protonup. I wrote an apt hook for a few mates so protonup is run on every apt update. We like this and we don't need anything more.
When i'm back from work i'll finish my addition and add you as a maintainer, then we can look how to release on pypi if you want.
Hi @cloudishBenne @kureta, Its very easy to publish a pypi package. @AUNaseef already did all the work by making the directory structure and the needed files. You only need to build the package and upload the built package on pypi. You can follow this guide on how to publish a pypi package.
Hi @cloudishBenne @kureta, Its very easy to publish a pypi package. @AUNaseef already did all the work by making the directory structure and the needed files. You only need to build the package and upload the built package on pypi. You can follow this guide on how to publish a pypi package.
Thanks mate!
@kureta I added you to my repo, can you test if you have access? I also created an account on pypi, finished the new regex version-matching and wrote a quick test method to validate it. Tomorrow i first want to publish the quick patch on pypi, then hopefully finish the new regex version-matching integration and push it to a new development-branch so we can refactor the code a bit for a 0.3 release. Let's continue discussion at my repo and add a last issue here with all needed information and links.
@cloudishBenne I have accepted your invitation. I have a busy couple of days at work, I'll get working on this tomorrow. Also, what is your timezone? Mine is GMT+3
@kureta Alright, thank you! Mine is GMT+2.
I corrected the author of my last commits and added gpg signing. Just if someone wonders.
@kureta @Ahmed-Al-Balochi Hey guys, finally the fork is online: https://pypi.org/project/protonup-ng/ https://github.com/cloudishBenne/protonup-ng
I'll check it out as soon as possible
@ahmed-al-balochi Not to be impatient, but It's been almost 7 months. This PR is good, please merge it.
It seems protonup is working fine with the new naming scheme
Could you test your way through it and possible merge this as soon as possible?