| 1 | # Vagrantfile to compile OpenGnsys Browser using VirtualBox provider. | 
|---|
| 2 |  | 
|---|
| 3 | VAGRANTFILE_API_VERSION = "2" | 
|---|
| 4 | # VM provider: Oracle VM VirtualBox. | 
|---|
| 5 | ENV['VAGRANT_DEFAULT_PROVIDER'] = "virtualbox" | 
|---|
| 6 | # Language. | 
|---|
| 7 | LANGUAGE = "es_ES" | 
|---|
| 8 | ENV['LC_ALL'] = LANGUAGE + ".UTF-8" | 
|---|
| 9 | # Amount of virtual memory and virtual CPUs. | 
|---|
| 10 | VMMEM = 2048 | 
|---|
| 11 | VMCPUS = 2 | 
|---|
| 12 | # OpenGnsys boot-tools environment provisioning script. | 
|---|
| 13 | SCRIPT = <<EOT | 
|---|
| 14 | # Set language. | 
|---|
| 15 | export LANG="#{LANGUAGE}.UTF-8" | 
|---|
| 16 | echo "LANG=\"$LANG\"" > /etc/default/locale | 
|---|
| 17 | echo "LANG=\"$LANG\"" >> /etc/environment | 
|---|
| 18 | locale-gen --lang #{LANGUAGE} | 
|---|
| 19 | sed -i "s/XKBLAYOUT=.*/XKBLAYOUT=\"${LANG%_*}\"/" /etc/default/keyboard | 
|---|
| 20 | dpkg-reconfigure -fnoninteractive console-setup | 
|---|
| 21 | # Install main dependencies. | 
|---|
| 22 | apt-get update | 
|---|
| 23 | apt-get install -y build-essential gettext libssl-dev libucommon-dev libxtst-dev subversion | 
|---|
| 24 | # Compile Qt-Embedded 4.8 (aceptar la licencia Open Source). | 
|---|
| 25 | wget http://download.qt.io/official_releases/qt/4.8/4.8.7/qt-everywhere-opensource-src-4.8.7.tar.gz | 
|---|
| 26 | tar xvzf qt-everywhere-opensource-src-4.8.7.tar.gz | 
|---|
| 27 | cd qt-everywhere-opensource-src-4.8.7 | 
|---|
| 28 | echo "yes" | ./configure -opensource -embedded x86 -webkit -openssl -qt-gfx-vnc -qvfb -prefix /usr/local/ -nomake demos -nomake examples | 
|---|
| 29 | make | 
|---|
| 30 | make install | 
|---|
| 31 | # Compile Browser. | 
|---|
| 32 | svn export https://opengnsys.es/svn/branches/version1.1/client/browser ../browser | 
|---|
| 33 | cd browser | 
|---|
| 34 | qmake browser.pro | 
|---|
| 35 | make | 
|---|
| 36 | strip browser | 
|---|
| 37 | # Instructions. | 
|---|
| 38 | echo "Browser's code is in /home/vagrant/browser directory." | 
|---|
| 39 | echo "To compile a new Browser, run as root user:" | 
|---|
| 40 | echo "    cd /home/vagrant/browser && qmake browser.pro && make" | 
|---|
| 41 | echo "Do not forget to copy all Browser's files to OpenGnsys Server:" | 
|---|
| 42 | echo " - Browser binary to /opt/opengnsys/client/bin directory on server." | 
|---|
| 43 | echo " - Qt linked libraries to /opt/opengnsys/client/lib/qtlibs directory." | 
|---|
| 44 | echo " - 64-bit-based ogLive only: libssl and libcrypto to /opt/opengnsys/client/lib/qtlibs directory." | 
|---|
| 45 | EOT | 
|---|
| 46 |  | 
|---|
| 47 | Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | 
|---|
| 48 |  | 
|---|
| 49 |   # OpenGnsys boot-tools environment VM definition. | 
|---|
| 50 |   config.vm.define "ogBrowser" do |br| | 
|---|
| 51 |     # Specific VirtualBox configuration. | 
|---|
| 52 |     br.vm.provider "virtualbox" do |vb| | 
|---|
| 53 |       # VM name, memory and CPUs. | 
|---|
| 54 |       vb.name = "ogBrowser" | 
|---|
| 55 |       vb.memory = VMMEM | 
|---|
| 56 |       vb.cpus = VMCPUS | 
|---|
| 57 |       vb.gui = true | 
|---|
| 58 |     end | 
|---|
| 59 |     # VM base and host name. | 
|---|
| 60 |     br.vm.box = "ubuntu/trusty32" | 
|---|
| 61 |     br.vm.hostname = "ogBrowser" | 
|---|
| 62 |     # Comment out to disable synced folder. | 
|---|
| 63 |     #br.vm.synced_folder ".", "/vagrant", disabled: true | 
|---|
| 64 |     # Launch provisioning script. | 
|---|
| 65 |     br.vm.provision "shell", inline: SCRIPT | 
|---|
| 66 |   end | 
|---|
| 67 |  | 
|---|
| 68 | end | 
|---|
| 69 |  | 
|---|