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

Simplify Linux installation to copy-paste #928

Merged
merged 5 commits into from
Aug 14, 2020
Merged

Conversation

ChrisRackauckas
Copy link
Member

No description provided.

@github-actions
Copy link

Once the build has completed, you can preview your PR at this URL: https://julialang.netlify.app/previews/PR928/

@barche
Copy link
Contributor

barche commented Jul 28, 2020

The downside is that this will have to be updated every time the Julia recommended version changes.

downloads/platform.md Outdated Show resolved Hide resolved
Co-authored-by: Rafael Fourquet <fourquet.rafael@gmail.com>
@maxmouchet
Copy link

maxmouchet commented Jul 28, 2020

$PWD should be quoted, otherwise this will fail if there is a space in the path:

"$PWD"/julia-1.4.2/bin/julia

```
wget https://julialang-s3.julialang.org/bin/linux/x64/1.4/julia-1.4.2-linux-x86_64.tar.gz
tar -xvzf julia-1.4.2-linux-x86\_64.tar.gz
ln -s "$PWD"/julia-1.4.2/bin/julia ~/.local/bin/
Copy link
Member

Choose a reason for hiding this comment

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

Is this in PATH by default?

Copy link
Member

Choose a reason for hiding this comment

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

It's kind of weird that these instructions are just run in some unspecified directory. Presumably the user's home directory? Maybe a little info about where to run this?

Copy link
Member Author

Choose a reason for hiding this comment

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

is there a place we should download it to?

Copy link
Member

@StefanKarpinski StefanKarpinski Jul 28, 2020

Choose a reason for hiding this comment

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

Not really, but maybe a word about "pick a place where you want the Julia directory to live—this can be your home directory or maybe a ~/dev directory if you prefer that."

Copy link
Member Author

Choose a reason for hiding this comment

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

When you apt-get or install a Windows binary, it just goes somewhere and that's where it is. What's a good default for us to do here? Anyone who cares where it goes will know what to do: the instructions are for the other audience.

Copy link
Member

Choose a reason for hiding this comment

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

Why not say that run the command from the directory you want it in?

@ViralBShah
Copy link
Member

@tlienart We have a way to make this generic, IIRC. So that it doesn't need changing with every release.

@tlienart
Copy link
Contributor

@ViralBShah im lacking context here but if you open an issue explaining what needs to be done & assign it to me I'll get it done asap

@ViralBShah
Copy link
Member

Sorry - if you look at the PR, it has hard-coded Julia versions, which will have to be changed every time there's a new release. I thought onthe downloads page we have variables that we can use to refer to the latest stable release.

@logankilpatrick
Copy link
Member

Yes we do, though not sure if they will work in this context.

@tlienart
Copy link
Contributor

Ah right in the code you mean? Yes yes that can be done; ok I'll try that today

@johnnychen94
Copy link
Member

johnnychen94 commented Jul 29, 2020

Except for the python dependency, I still believe #926

jill install [VERSION] [--install_dir INSTALL_DIR] [--symlink_dir SYMLINK_DIR] [--upstream UPSTREAM] [--confirm]

provides better and generic instruction to this. And jill works for macOS and Windows, too. Why should we limit ourselves to Linux and FreeBSD when there's already a cross-platform solution for terminal users?

If a shell script oneliner for Linux/macOS is wanted, we could save us some efforts and borrow jill.sh (cc: @abelsiqueira)

tlienart added a commit that referenced this pull request Jul 29, 2020
This corresponds to the request in #928 to have instructions that can depend on the `stable_version` variable. #928 could be eventually adapted to use the same ideas
downloads/platform.md Outdated Show resolved Hide resolved
@zlatanvasovic
Copy link
Contributor

zlatanvasovic commented Jul 29, 2020

@ViralBShah stable_release is defined in config.md. I suggested the appropriate changes to use that.

Edit: I just noticed #932 by @tlienart.

@tlienart
Copy link
Contributor

In light of #928 (comment) should we close this PR and open another one with the one-liner from jill?

PS: this is maybe an unrelated concern but would it be a security concern that the "blessed" download way would be dependent upon an external repo not part of the JuliaLang org?

@fredrikekre
Copy link
Member

PS: this is maybe an unrelated concern but would it be a security concern that the "blessed" download way would be dependent upon an external repo not part of the JuliaLang org?

Yes, I don't think we should list that in such a prominent place. In particular it doesn't look good that you first have to install python and then a python package to finally install Julia.

Maybe we could instead support and maintain something like Rust's rustup.sh.

@abelsiqueira
Copy link
Contributor

Yes, I don't think we should list that in such a prominent place. In particular it doesn't look good that you first have to install python and then a python package to finally install Julia.

Maybe we could instead support and maintain something like Rust's rustup.sh.

Just pointing out that Jill is a bash script, so there is no need to install python before: https://github.com/abelsiqueira/jill (maybe I should officially name it Jill.sh?)

If you prefer I can transfer ownership to JuliaLang.

@johnnychen94
Copy link
Member

#926 (comment)
I could move this project to JuliaLang and make modifications if it is desired.

Install Julia is super easy. jill.* doesn't need to be the first choices for people to install Julia, they're just so handy when terminal users want a simple and reliable copy&paste solution. jill.* are made for these users.

For jill.py, there’s a very good chance Python is already installed for terminal users. How could pip install jill be problematic while curl <args> <rustup-url> | bash isn't? Perhaps I just need to rename it as juliaup?

Maybe we could instead support and maintain something like Rust's rustup.sh.

Maybe, if there's someone in Julialang willing to and he happens to have some time.

ViralBShah added a commit that referenced this pull request Aug 13, 2020
* Make instructions use the current stable version

This corresponds to the request in #928 to have instructions that can depend on the `stable_version` variable. #928 could be eventually adapted to use the same ideas

* Update platform.md

* simplifying a bit

* small fixes

Co-authored-by: Viral B. Shah <ViralBShah@users.noreply.github.com>
@ViralBShah
Copy link
Member

I would be happy to move jill to JuliaLang. If we are to include it here though, it will need to be attended to, which shouldn't be too difficult. Good to know what @StefanKarpinski @staticfloat @fredrikekre @KristofferC think.

@ViralBShah
Copy link
Member

Not sure what to do here.

@StefanKarpinski
Copy link
Member

I'd be happy to look at jill and decide if we should include it in a more official capacity, but blocking better Linux install instructions on that seems kind of unnecessary. How about we improve the Linux install instructions and then separately consider something like that?

Co-authored-by: Zlatan Vasović <zlatanvasovic@gmail.com>
@ViralBShah
Copy link
Member

I think the easiest way to get this merged is to ask people to download and untar in their home directory and then run with ./julia-<release>/julia. This is literally how I run it on every single machine. Later, jill can be used to put all the versions in a single directory and make it easy to pick one and so on.

@abelsiqueira
Copy link
Contributor

I agree with @StefanKarpinski. I started a discussion on abelsiqueira/jill#33.

@ViralBShah
Copy link
Member

I am merging it right now as it is a significant improvement. Can always make it better.

@ViralBShah ViralBShah merged commit 9b7d2e1 into master Aug 14, 2020
@ViralBShah ViralBShah deleted the ChrisRackauckas-patch-2 branch August 14, 2020 16:18

```
wget https://julialang-s3.julialang.org/bin/linux/x64/1.4/julia-{{ stable_release }}-linux-x86_64.tar.gz
Copy link
Member

Choose a reason for hiding this comment

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

1.4 here should be replaced with some placeholder

Copy link
Member

Choose a reason for hiding this comment

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

{{ stable_release_short }}

@KristofferC
Copy link
Member

It seems strange to merge a "copy paste" solution that doesn't work and has open unaddressed review comments.

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.