Skip to content

Update to more current software versions#3

Open
rudolfb wants to merge 23 commits intokiere:masterfrom
rudolfb:master
Open

Update to more current software versions#3
rudolfb wants to merge 23 commits intokiere:masterfrom
rudolfb:master

Conversation

@rudolfb
Copy link

@rudolfb rudolfb commented Apr 2, 2016

Hi,

I have attempted to update this vagrant settings file to make it compatible with newer versions of Ubuntu, Node, Git, Elixir and Phoenix.

Also documented problems I have been having using the vagrant setings files on Windows, with a workaround.

At the end of the process the versions of the installed software are now displayed so that you know what was actually installed. It is also a test to ensure all the software was installed correctly. If the commands display errors, something must have gone wrong.

When Ubuntu 16 is avaialble the changes that need to be made will hopefully be minimal.

Regards

Rudolf Bargholz

@lukeed
Copy link

lukeed commented Apr 8, 2016

👍 Was about to do the same thing

rudolfb added 11 commits April 11, 2016 16:44
Make the sections between blocks more easy to identify
Workaround bug for missing hosts entry
Workaround missing dependencies when installing esl-erlang
Added empty lines between tests to make the result a little easier to
read
Moved the folder sharing to the end of the process, as the /etc/hosts
fix needs to have run before the folder sharing is activated. Activating
the folder sharing by default requires a more complex setup, and makes
testing a problem, so I have deactivated the folder sharing.

Added the option to specify the memory size and number of CPUs for the
VirtualBox. Newer versions of Ubuntu work better with more RAM taking
into account the software installed in the VirtualBox.
Phoenix is installed as a normal user, so testing if it is installed
also has to occur as a normal user
@rudolfb
Copy link
Author

rudolfb commented Apr 11, 2016

Hi,

  • Updated the script to enable it to use the new Ubuntu 16.04 LTS Xenial.
  • Found problems with the installation of Phoenix. mix install has a --force parameter which ensures that no prompts are displayed during install.
  • Display the Phoenix version number if installation successfull.
  • Commented out the code for folder sharing/sync. It is a huge hassle to test with this turned on and requires additional setup to get this to work.
  • Workaround where one was not able to ping the hostname of the server
  • Workaround installing esl-erlang dependencies libwxbase3.0 and libwxgtk3.0

For users working on Windows the following is a very good setup howto for installing and setting up Cygwin on Windows:

http://www.ccl.net/cca/software/UNIX/VagrantAndCygwin/index.html

I had to follow a lot of these steps before I could get the folder sync to work.

Regards

Rudolf

rudolfb added 8 commits April 12, 2016 09:54
For most Phoenix projects, or Elixir projects in general at least hex
needs to be installed. And more often than not a project relies on
Erlang packages that need rebar, so it might as well be installed
proactively.
One file for priveleged access, one for user access. Instead of users
trying to append data to existing files the install steps could be
placed here.
Also removed the duplicate install command for elm from the user script.

npm install needs to be prefixed prefixed by sudo.
Need to revert these changes. mix needs to be executed in the context of
the user, and phoenix is installed in the context of the user
"priveleged=false".
Cosmetic change to delimit tests and make clear which software is being
tested.
If more than one vagrant is started, it makes sense to link the clone so
that there is no need to always download and install the base image.
If more than one vagrant is installed , then the name ought to be
different. If a name is not specified, then the name is that of the
image, so if one has more than one vagrant setup that uses the same base
image, without a name only one image could be installed.
@rudolfb rudolfb mentioned this pull request Apr 14, 2016
@kiere
Copy link
Owner

kiere commented Apr 14, 2016

@rudolfb I appreciate all the hard work on this box setup! Two quick points/questions.

  • Are you currently running on Windows 10 with the bash shell? Or just a vanilla Windows?
  • I prefer to keep the linux version to what I use in production. In development, I like to match the production environment as close as possible (which is why I have this locked to 14.04 LTS). From the downloads page at ubuntu.com, 14.04 LTS is still the current version. http://www.ubuntu.com/download/server

I'm on vacation until Tuesday 4/19. I'll give this PR a review then. Thanks again!!

@rudolfb
Copy link
Author

rudolfb commented Apr 14, 2016

@kiere

Tested on Windows 10 only.
I installed Cygwin to have access to rsync and a better shell to access the vagrant machine via ssh.
Tested the script from both Cygwin bash as well as a 'normal' DOS shell

Ubuntu 16.04 LTS final will be out end of the month, which is why I attempted to upgrade to the new LTS version that will become available.

I can see that it might be a problem supporting different versions of the script for Ubuntu. Not really sure how one could resolve such an issue. A git branch might solve this, but then how does one handle publishing the vagrant script? Perhaps you have an idea.

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.

3 participants