Sunday, March 19, 2017

Sad days! They have changed the indexing to mainly be the online browser version

Sad days! They have changed the indexing to mainly be the online browser version, which I find very difficult to work with; after upgrading my linux OS to Linux Mint 18.3 and installing this type of familysearch.org Indexing_unix.sh, there were only about 15 batches to load and index, not the dozens and dozens they offered before. And not the language of indexing records I have been doing for the past 3 years and REALLY REALLY enjoy indexing.  I tried the online browser version, but can't figure out how to move from the first record to the second record in the batch. Too bad!!!



Installing FamilySearch.org Indexing on Linux Mint 18.1 x64

SHORT section; here is the short, un-commented list of commands to get FamilySearch.org's Indexing app installed on Linux. See below for more explanatory comments.

sudo mkdir -p -v /opt/java/64 && cd /opt/java/64 && sudo tar zxvf /home/efudd/Downloads/jre-8u121-linux-x64.tar.gz

sudo rm /usr/bin/java && sudo ln -s /opt/java/64/jre1.8.0_121/bin/java /usr/bin/java

cd ~/Downloads && wget -c https://indexing.familysearch.org/downloads/Indexing_unix.sh

cd ~/Downloads && wget https://gist.githubusercontent.com/davidfoerster/a7eb57becee7d5c44a3f5d9df89e2a78/raw/Indexing_unix.sh.patch https://gist.githubusercontent.com/davidfoerster/a7eb57becee7d5c44a3f5d9df89e2a78/raw/indexing.patch

patch -b Indexing_unix.sh < Indexing_unix.sh.patch

chmod +x Indexing_unix.sh && ./Indexing_unix.sh

patch -p2 -d ~/.FamilySearchIndexing < indexing.patch


Essentially, there are 3 steps;
1) download & un-tar oracle java jre x64, latest version AND create a link from /usr/bin/java to this version;
2) download a couple of patches to allow the indexing app to use a newer version of java;
3) patch the installer "indexing.sh" script, run the installer and install the app, and then patch the installed FamilySearch Indexing app.


MAIN section; explanation of steps performed with commands

After recently upgrading my laptop to the latest version of LinuxMint 18u1, I was not able to get the FamilySearch.org's "FamilySearch Indexing" app to install and work correctly.

After looking at many web pages with info on how others installed "FamilySearch Indexing", (but which didn't work for me), I was able to use the info from these two URLs to successfully get FamilySearch Indexing installed on my LinuxMint 18u1 laptop. NOTE: I only used a subset of the steps outlined in these two URLs.

1) "How to install Java for Ubuntu, Linux Mint and Debian"
https://sites.google.com/site/easylinuxtipsproject/java

2) Family Search for Linux patch set for any JVM ≥ 1.6
https://gist.githubusercontent.com/davidfoerster/a7eb57becee7d5c44a3f5d9df89e2a78/

I have used these steps to successfully install the indexing app on three different Linux families, Ubuntu/Debian, RedHat/Fedora/CentOS, & Arch.

These steps will be performed by my good friend, Elmer Fudd on a Dell Latitude E4310 laptop. I have used specific locations in these steps but you may (most probably will need to) change the paths/directories as needed.

Essentially, there are 3 steps;
1) download & un-tar oracle java jre x64, latest version; create a link from /usr/bin/java to this version;
2) download a couple of patches to allow the indexing app to use a newer version of java;
3) patch the installer "indexing.sh" script, run the installer and install the app, and then patch the installed FamilySearch Indexing app.

In this example, I have downloaded Oracle Java JRE version 'jre-8u121-linux-x64.tar.gz' into the /home/efudd/Downloads directory. This java version worked on all three linux OS variants I tested on.

A) Go to the main oracle java download site here: "https://www.java.com/en/download/linux_manual.jsp" and download the non-rpm version of the java installer. In this example, the java install file downloaded was: jre-8u121-linux-x64.tar.gz.

B) with the java install file jre-8u121-linux-x64.tar.gz in /home/efudd/Downloads/, perform these cmds:

sudo mkdir -p -v /opt/java/64
cd /opt/java/64
sudo tar zxvf /home/efudd/Downloads/jre-8u121-linux-x64.tar.gz

or use this all-in-one-line cmd:
sudo mkdir -p -v /opt/java/64 && cd /opt/java/64 && sudo tar zxvf /home/efudd/Downloads/jre-8u121-linux-x64.tar.gz

C) After the jre is untar'ed, create a link between the default java location and this version of Oracle Java; you may want to see if there is already an existing link to a java install with:
ls -al /usr/bin/java

If there is already an existing java link, than remove this link before creating this one.
sudo rm /usr/bin/java && sudo ln -s /opt/java/64/jre1.8.0_121/bin/java /usr/bin/java

D) now download the Indexing_unix.sh script from familysearch.org;
cd ~/Downloads && wget -c https://indexing.familysearch.org/downloads/Indexing_unix.sh

E) Download the two patch files: (using this one-line command)
cd ~/Downloads && wget https://gist.githubusercontent.com/davidfoerster/a7eb57becee7d5c44a3f5d9df89e2a78/raw/Indexing_unix.sh.patch https://gist.githubusercontent.com/davidfoerster/a7eb57becee7d5c44a3f5d9df89e2a78/raw/indexing.patch

F) patch the just downloaded linux install script "Indexing_unix.sh":
patch -b Indexing_unix.sh < Indexing_unix.sh.patch

G) execute the install script; this opens up the GUI installer;
chmod +x Indexing_unix.sh && ./Indexing_unix.sh

H) After the app is installed (don't run the just installed app; uncheck and close the GUI) patch the app itself:
patch -p2 -d ~/.FamilySearchIndexing < indexing.patch

All done; test out install by running it;

NOTE: On all of the linux OS versions I tested on, I only found one version that didn't have the patch command installed by default. On CentOS 7.3, run this command to install it:
yum install patch

Please let me know if you have any questions or issues using these commands. Different versions of Linux sometimes have slight differences which may make it harder to understand how to successfully do these steps.