Automating Installation of a Developer Workstation¶
This chapter describes how to install an Ubuntu Desktop OS to be used as a FWD developer station. The prerequisite is to have a clean install of Ubuntu Desktop OS (in a VM or a physical machine) with internet access.
Prerequisites¶
To be able to develop or debug your FWD conversion project, the following depencies need to be installed. Run the commands in each section:
Install OpenJDK 8¶
sudo apt-get install openjdk-8-jdk openjdk-8-source cd /usr/lib/jvm sudo rm default-java sudo ln -s java-8-openjdk-amd64 default-java sudo rm /usr/lib/libjvm.so sudo ln -s /usr/lib/jvm/default-java/jre/lib/amd64/server/libjvm.so /usr/lib/libjvm.so
Install libffi and ANT¶
sudo apt-get install libffi-dev ant
Enable Source Packages¶
sudo cp /etc/apt/sources.list /etc/apt/sources.list.orig sudo sed --in-place 's/# deb-src/deb-src/' /etc/apt/sources.list sudo apt-get -q -y update sudo apt-get -q -y upgrade
Download Required Files¶
Links¶
https://proj.goldencode.com/downloads/vm/setup/ncurses_terminfo.zip
https://proj.goldencode.com/downloads/vm/setup/locale_install.sh (TODO: replace the locale name (en_US@p2j_basic
) in this script with the new en_US.iso88591_fwd_basic
)
https://proj.goldencode.com/downloads/vm/setup/pljava_install_9.4.sh
https://proj.goldencode.com/downloads/vm/setup/psql_create_cluster_9.4.sh
https://proj.goldencode.com/downloads/vm/setup/psql_install_9.4.sh
https://proj.goldencode.com/downloads/vm/setup/init-fwd.sh
https://proj.goldencode.com/downloads/vm/setup/init-workspace.sh
https://proj.goldencode.com/downloads/vm/setup/eclipse_luna_fwd.zip
https://proj.goldencode.com/downloads/vm/setup/workspace.zip
https://proj.goldencode.com/downloads/vm/setup/p2j_conversion_project.zip
https://proj.goldencode.com/downloads/vm/setup/p2j_project_meta.zip
Download via Command Line¶
install -d ~/setup cd ~/setup wget https://proj.goldencode.com/downloads/vm/setup/ncurses_terminfo.zip wget https://proj.goldencode.com/downloads/vm/setup/locale_install.sh wget https://proj.goldencode.com/downloads/vm/setup/psql_create_cluster_9.4.sh wget https://proj.goldencode.com/downloads/vm/setup/pljava_install_9.4.sh wget https://proj.goldencode.com/downloads/vm/setup/psql_install_9.4.sh wget https://proj.goldencode.com/downloads/vm/setup/init-fwd.sh wget https://proj.goldencode.com/downloads/vm/setup/init-workspace.sh wget https://proj.goldencode.com/downloads/vm/setup/eclipse_luna_fwd.zip wget https://proj.goldencode.com/downloads/vm/setup/workspace.zip wget https://proj.goldencode.com/downloads/vm/setup/p2j_project_meta.zip wget https://proj.goldencode.com/downloads/vm/setup/p2j_conversion_project.zip
FWD Dependencies¶
In this section, we configure the OS to be compatible with the FWD Application Server and the FWD Client(s). Follow the commands in each section, in the order defined.
Automate Terminfo and NCURSES patch¶
cd ~/setup unzip ncurses_terminfo.zip sudo cp -R root /
When NCURSES is updated, it needs to be repatched. This tool will add a cron job which will check every hour if there was an update - in this case, it will run the manage_term_patches.sh
script.
sudo cp -R etc / sudo chmod 0644 /etc/cron.d/term_patches
Patch NCURSES - First Time Usage¶
sudo su cd ~ ./manage_term_patches.sh exit
Initialize the FWD and Hotel Demo Projects¶
The init-fwd.sh
script will download the latest FWD, Hotel ChUI and Hotel GUI projects and place them in the ~/projects/
folder. At end, it will also build FWD.
WARNING: this script is destructive - it will replace the existing ~/projects/p2j
, ~/projects/hotel_chui
and ~/projects/hotel_gui/
folders with the latest versions!
cd ~/setup ./init-fwd.sh
FWD Eclipse Development¶
Theinit-workspace.sh
script will:
- install Eclipse Luna in
~/eclipse/
folder - install the default Eclipse Workspace folders in
~/projects/
- create the
P2JConversionProject
To run the script, execute:
cd ~/setup/ ./init-workspace.sh
Install en_US.iso88591_fwd_basic
locale¶
cd ~/setup sudo ./locale_install.sh
Install p2jspi.jar¶
cd ~/projects/p2j/build/lib sudo cp p2jspi.jar /usr/lib/jvm/default-java/jre/lib/ext/ sudo chmod gou+r /usr/lib/jvm/default-java/jre/lib/ext/p2jspi.jar
PostgreSQL Install¶
Install PostgreSQL 9.4¶
cd ~/setup sudo ./psql_install_9.4.sh
Install PL/Java¶
cd ~/setup sudo apt-get install maven git libssl-dev libgss-dev libkrb5-dev sudo ./pljava_install_9.4.sh
After the PL/Java installation is done, edit the /usr/share/postgresql/9.4/extension/pljava--1.0.sql
file and add these two lines at the top:
sudo vi /usr/share/postgresql/9.4/extension/pljava--1.0.sql SET PLJAVA.CLASSPATH='/usr/share/postgresql/9.4/extension/pljava--1.0.jar'; SET PLJAVA.VMOPTIONS='-Xmx16m';
Create the Default Cluster¶
PostgreSQL main
cluster is configured to listen on port 5433
. Use pg_lsclusters
to see the installed and running clusters. You may need to reboot the OS after this step is done.
When running the psql_create_cluster_9.4.sh
, you will be prompted of a password: enter the password for a user with sudo rights.
cd ~/setup sudo cp psql_create_cluster_9.4.sh /var/lib/postgresql sudo chown postgres:postgres /var/lib/postgresql/psql_create_cluster_9.4.sh sudo su postgres cd ~ chmod +x psql_create_cluster_9.4.sh ./psql_create_cluster_9.4.sh exit