Upgrading Evergreen from a 1.2.x release to 1.4.0.0

  1. Install new and upgraded prerequisites. The easiest way to do this is to use the Makefile.install prerequisite installer; it will skip any prerequisites that are already installed on your system. Run the following command as root, where _distribution_ is one of debian or ubuntu:
    make -f Open-ILS/src/extras/Makefile.install _distribution_
  2. Install OpenSRF 1.0.2. See upgrading OpenSRF 0.9 to 1.0 for some gotchas. Otherwise, it's basically:
    ./configure --prefix=/openils --sysconfdir=/openils/conf
    make
    make install
  3. Remove the symbolic link /openils/var/web/reports/fm_IDL.xml - this will be replaced by an entityized version for internationalization support, but /openils/conf/fm_IDL.xml will break horribly if it gets replaced by an entityized version, so we have to disentangle the two.
  4. Install Evergreen 1.4.0.0.
    ./autogen.sh
    ./configure --prefix=/openils --sysconfdir=/openils/conf
    make
    sudo make install
     
    # Build live-db-setup.pl for the cgi-bin bootstrapping scripts
    # and offline-config.pl for the offline staff client data uploader
    sudo perl Open-ILS/src/support-scripts/eg_db_config.pl \
      --create-bootstrap --create-offline --user evergreen --password evergreen \
      --hostname localhost --port 5432 --database evergreen
     
    # Change all files to be owned by the opensrf user/group
    chown -R opensrf:opensrf /openils
  5. Upgrade the database
    1. From version 1.2 NOTE: it is recommended that you shut down Postgres and make a copy of the data directory in order to restore to Evergreen 1.2 if anything goes wrong
      # Upgrading from Evergreen 1.2.3.x:
      psql -U evergreen -h localhost -f Open-ILS/src/sql/Pg/1.2.3-1.4-upgrade-db.sql
       
      # Or from Evergreen 1.2.4.x:
      psql -U evergreen -h localhost -f Open-ILS/src/sql/Pg/1.2.4-1.4-upgrade-db.sql
  6. Update opensrf_core.xml and opensrf.xml. A naive way would be to copy the new example files (/openils/conf/opensrf_core.xml.example and /openils/conf/opensrf.xml) and then update the username / password / hostname info and other customizations you might have made. The following step will automatically propagate database usernames and passwords into opensrf.xml:
    # Update opensrf.xml with the database connection info
    sudo perl Open-ILS/src/support-scripts/eg_db_config.pl --update-config \
      --service all--user evergreen --password evergreen --hostname localhost \
      --port 5432 --database evergreen
  7. Update Apache configuration:
    1. Update /etc/apache2/startup.pl with the example from Open-ILS/examples/apache/startup.pl (primarily to add the Vandelay Perl module).
    2. Update /etc/apache2/eg_vhost.conf with the example from Open-ILS/examples/apache/eg_vhost.conf for internationalization and JSON gateway format support.
    3. Update /etc/apache2/sites-available/eg.conf with the example from Open-ILS/examples/apache/eg.conf for internationalization support in the SlimPAC.

ERRATA