jmunixusers / cs-vm-build

Ansible playbook for configuring the JMU CS VM provided by the UUG
https://w3.cs.jmu.edu/uug/
MIT License
12 stars 13 forks source link

Add 430 Install script #257

Closed Advill closed 5 years ago

Advill commented 5 years ago

As 430 requires a few specific programming languages, I feel it reasonable to add it's own install file.

The things that I know would be required right now are

As well as the general text editing and similar programs installed alongside 361.

ripleymj commented 5 years ago

Feel free to submit a draft PR if you want early feedback :)

Advill commented 5 years ago

Haven't finished yet but I should have something done by the end of the weekend.

lam2mo commented 5 years ago

I had a conversation with Dr. Simmons about this today. She is teaching a section of CS 430 this summer with the study abroad program and plans to assign the programming projects as homework ahead of time (apparently this is a common approach to dealing with time compression issues in studies abroad). Working CS 430 support in the UUG VM would help considerably with this plan because students are not guaranteed access to stu during the May timeframe after classes have ended. I am happy to help test this functionality to make sure it is ready by the end of this semester.

ripleymj commented 5 years ago

I forgot to ask tonight, but I'd like to understand what role rvm plays in this. I didn't see from the PR where it was being used for more than pulling in a newer upstream Ruby, which is considerably more effort than using the Ubuntu/Mint packaged version. I'd like to understand the usage if we're headed down that road.

lam2mo commented 5 years ago

I’m hoping we don’t need RVM honestly. IIRC @Advill ran into a non-Mint-specific issue that was resolved using RVM but I forget whether we determined it was necessary on Mint.

ripleymj commented 5 years ago

Ok, I was going to be very surprised if 430 was using bleeding edge Ruby features.

Advill commented 5 years ago

The issue that I ran into was on @shumatpf's debian machine, but I haven't had the time to test anything on mint yet. The reason RVM was needed was for debian's extreme-dull-edge update schedule, so the repository's version of ruby was a few releases old. I am fully open to not installing RVM, but dislike the following of simply leaving students on an older version of ruby by default.

I'm going to work on this and the other PR hopefully a bit tonight, and can get some of these issues sorted out. Sorry for going dark this week.

laurelmay commented 5 years ago

So Debian includes 2.3.3 (source) and Ubuntu and derivatives will have 2.5.1 (source). Ruby 2.6.0 was just released not long ago (source). I am okay with shipping 2.5.x for now. If they were shipping super old versions, I would lean more towards using rvm; however, on Ubuntu and Mint (which is what we plan to target with this tool), I think we're okay.

If you see an older version of Ruby getting installed, we can try to figure things out.

Edit: Checking a few other distros, it seems that very few have released Ruby 2.6.0 to their stable channels yet. stu and the lab machines have 2.5.1 (since they're Mint/Ubuntu).

laurelmay commented 5 years ago

Hopefully that addresses concerns about Ruby versions?

lam2mo commented 5 years ago

Yes, it does for me. MacOS still ships with 2.3.7 by default so I'm actually fine with any of those. If students really want to be able to use features from the most recent version they can install it themselves. It's also possible that Dr. Simmons will choose to restrict them to using an older version anyway. I think as recently as last year we were telling folks not to use any functionality added after 2.0 (and linked them to the older documentation as a precaution).

ripleymj commented 5 years ago

Probably the wrong place to leave this note to future self, but it seems relevant. If we know we have a bunch of people planning to use the VM this summer, let's try to get an updated build posted close to then so they don't have to patch so much on first boot.

lam2mo commented 5 years ago

FWIW, "a bunch" here = ~12.

We could probably schedule a dedicated (and mandatory) install session, actually.

ripleymj commented 5 years ago

What I hear you saying is THE LARGEST SUMMER INSTALLFEST IN UUG HISTORY!

lam2mo commented 5 years ago

The version of GNU Prolog shipped with Ubuntu/Mint is currently broken. Any 430 deployment for the UUG VM will probably need to use the .deb that the CS admins made today, or build it from scratch. The .deb is available on stu (contact me for path).

lam2mo commented 5 years ago

We are very seriously considering switching to SWI-Prolog for next year. It seems to be more robust and have a more active user and developer community (e.g., the last SWI-Prolog update was last month compared to a year ago for GNU Prolog).

Ubuntu has a version of SWI-Prolog in its repository, but apparently it is sometimes out of date. The SWI-Prolog developers maintain a PPA with their own package:

http://www.swi-prolog.org/build/PPA.txt

Advill commented 5 years ago

I'll just go ahead and write my PR under the assumption that we are going to switch to SWI-prolog, as the installation for gprolog would be easy enough to switch back to.

Advill commented 5 years ago

closed with #261