-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Remove all install.sh code that installs python and leave it to the user #16000
Conversation
…ser to install as needed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally in favor of these changes. In addition to simplifying, I think it also gets rid of all the cases of needing sudo
in the install script, which is a problem for some environments we try to install this.
There are a couple more things that can be cleaned up if we aren't going to be installing system level packages:
PACMAN_AUTOMATED
SKIP_PACKAGE_INSTALL
These vars at the top don't end up used anymore
Additionally, there is a whole section that checks and defines UBUNTU
and DEBIAN
vars that are no longer used as well with these changes.
https://github.com/Chia-Network/chia-blockchain/blob/main/install-gui.sh#L106-L178 |
I know this is a bit self-centric, but I think it also is born out in the packages that get shipped. The system generally provides an easily accessible Python that will satisfy our requirements. The GUI requirements though are generally not provided in remotely recent enough versions. They are accessible more in the way that pyenv might provide Python where you have to go figure out what tool to acquire, how to use it, how to then create an isolated environment to work in and work in it and... That is functionality that this script retains for the Python side. So that's how I convinced myself that not installing Python was reasonable despite suggesting keeping the JS helpers stuff. Maybe @ChiaMineJP can weigh in on how the GUI script works etc and how nvm compares to npm etc. |
This PR has been flagged as stale due to no activity for over 60 days. It will not be automatically closed, but it has been given a stale-pr label and should be manually reviewed by the relevant parties. |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Conflicts have been resolved. A maintainer will review the pull request shortly. |
Pull Request Test Coverage Report for Build 7802799296Warning: This coverage report may be inaccurate.We've detected an issue with your CI configuration that might affect the accuracy of this pull request's coverage report.
💛 - Coveralls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. Just leaving "comment" for now so others have a chance to review and provide feedback without this getting merged, since I would count for required reviewers
Ok with changes now, and just letting others take a look before approval
One approach to keeping the installer working on newer Ubuntu versions and whatnot is to add in the code to handle this. (see #15920 or #15130)
However, a simpler and more maintainable approach is to make the user responsible for installing the proper version of python, sqlite, and openssl
This PR here removes all the code that installs python, sqlite, and openssl and just checks for the existence of versions and exits out if the versions aren't present.
This is easier to manage and allows the installer to work on a variety of platforms including new Ubuntu versions and other more esoteric versions of Linux
This may break some AWS deployment scripts as the code to install and compile python for amazon linux is removed