Closed Advill closed 5 years ago
Feel free to submit a draft PR if you want early feedback :)
Haven't finished yet but I should have something done by the end of the weekend.
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.
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.
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.
Ok, I was going to be very surprised if 430 was using bleeding edge Ruby features.
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.
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).
Hopefully that addresses concerns about Ruby versions?
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).
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.
FWIW, "a bunch" here = ~12.
We could probably schedule a dedicated (and mandatory) install session, actually.
What I hear you saying is THE LARGEST SUMMER INSTALLFEST IN UUG HISTORY!
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).
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:
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.
closed with #261
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.