Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build: make rule to generate standalone python zipapp application #174

Merged
merged 30 commits into from
Sep 4, 2024

Conversation

R1kaB3rN
Copy link
Member

@R1kaB3rN R1kaB3rN commented Sep 3, 2024

Supersedes #149 and closes #148

Fixes user installs by installing umu-launcher as a reproducible zipapp at $HOME/.local/bin.

Additionally, this feature gives clients another installation option and will come with the advantage of simplifying updates, simplifying client logic, and reducing the likelihood of data corruption.

R1kaB3rN and others added 7 commits September 2, 2024 21:47
- We do not necessarily have to append to git commit to the file name as we can identify the reproducible build by its digest once we distribute it. Additionally, we can have the launcher log some metadata at runtime for further identification
@R1kaB3rN
Copy link
Member Author

R1kaB3rN commented Sep 3, 2024

cc @loathingKernel

A review would be appreciated

Copy link
Contributor

@loathingKernel loathingKernel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am attaching a patch with the suggested changes to avoid any ambiguities stemming from my review comments. It's just a basis, we can adapt it along with the discussion.

zipapp-makefile.patch.txt

Makefile.in Outdated Show resolved Hide resolved
Makefile.in Outdated Show resolved Hide resolved
Makefile.in Outdated Show resolved Hide resolved
Makefile.in Outdated Show resolved Hide resolved
@loathingKernel
Copy link
Contributor

Side note: the makefile has collected some clutter, maybe we should take this opportunity to clean it up a bit too.

Makefile.in Outdated Show resolved Hide resolved
@R1kaB3rN R1kaB3rN force-pushed the zipapp branch 2 times, most recently from 6a4672c to 618c6bf Compare September 3, 2024 19:53
@R1kaB3rN R1kaB3rN changed the title build: make rule to generate standalone python zippapp application build: make rule to generate standalone python zipapp application Sep 3, 2024
Makefile.in Outdated Show resolved Hide resolved
@@ -30,4 +31,10 @@ jobs:
sudo make PREFIX=/usr install
- name: Make release
run: |
make release
# TODO: Figure out release without requiring root
sudo make release
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking at the action's log, it is odd that creating a virtualenv results in a permission error, I don't understand why that happens either.

Makefile.in Outdated Show resolved Hide resolved
R1kaB3rN and others added 4 commits September 3, 2024 15:08
- We can't remove this logic yet until both Lutris and Heroic move to zipapps in the next release
@R1kaB3rN
Copy link
Member Author

R1kaB3rN commented Sep 3, 2024

Tested on latest stable versions of Lutris (0.5.17) and Heroic (2.15.1) to ensure this change doesn't break them by simply replacing the umu directory contents.

Note: For clients who choose to subscribe to zipapps, it will require updating their logic to call umu-run in their runtime directory. Otherwise, they'll need to ensure all dependencies are included within the umu directory where the parent directory contains the name runtime. In the case for Heroic, the following files need to be in $HOME/.config/heroic/tools/runtimes/umu:

current_version            __main__.py                 umu_consts.py                 umu_proton.py   umu_version.json
filelock                   python_xlib-0.33.dist-info  umu_launcher-0.1.0.dist-info  umu_run.py      Xlib
filelock-3.15.4.dist-info  six-1.16.0.dist-info        umu_log.py                    umu_runtime.py
__init__.py                six.py                      umu_plugins.py                umu_util.py

@R1kaB3rN R1kaB3rN merged commit 2d3c948 into Open-Wine-Components:main Sep 4, 2024
6 checks passed
@R1kaB3rN R1kaB3rN deleted the zipapp branch September 4, 2024 00:08
@R1kaB3rN R1kaB3rN mentioned this pull request Sep 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

user install option broken since #140
2 participants