Initial commit.
authorChris Sharp <csharp@georgialibraries.org>
Thu, 21 Sep 2017 18:23:39 +0000 (14:23 -0400)
committerChris Sharp <csharp@georgialibraries.org>
Thu, 21 Sep 2017 18:23:39 +0000 (14:23 -0400)
29 files changed:
.gitignore [new file with mode: 0644]
build_evergreen2_debs [new file with mode: 0755]
files_for_build/CONTROL [new file with mode: 0644]
files_for_build/CONTROL-cluster [new file with mode: 0644]
files_for_build/config [new file with mode: 0755]
files_for_build/control [new file with mode: 0644]
files_for_build/control-cluster [new file with mode: 0644]
files_for_build/control.backup [new file with mode: 0644]
files_for_build/customized/evergreen_customizations_3.0.beta1.tar.gz [new file with mode: 0644]
files_for_build/deps/2.5.2.deps [new file with mode: 0644]
files_for_build/deps/2.5.3b.deps [new file with mode: 0644]
files_for_build/deps/2.6.0.deps [new file with mode: 0644]
files_for_build/deps/2.7.0.deps [new file with mode: 0644]
files_for_build/deps/2.7.1.deps [new file with mode: 0644]
files_for_build/deps/2.7.1a.deps [new file with mode: 0644]
files_for_build/deps/2.7.2.deps [new file with mode: 0644]
files_for_build/deps/2.7.4.deps [new file with mode: 0644]
files_for_build/deps/2.8.2.deps [new file with mode: 0644]
files_for_build/deps/2.9.0.deps [new file with mode: 0644]
files_for_build/deps/2.9.1.deps [new file with mode: 0644]
files_for_build/deps/3.0.beta1.deps [new file with mode: 0644]
files_for_build/deps/checkdeps [new file with mode: 0644]
files_for_build/eg_database [new file with mode: 0755]
files_for_build/postinst [new file with mode: 0755]
files_for_build/postinst-cluster [new file with mode: 0755]
files_for_build/postrm [new file with mode: 0755]
files_for_build/rules [new file with mode: 0755]
files_for_build/rules-custom [new file with mode: 0755]
files_for_build/templates [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..b0e8648
--- /dev/null
@@ -0,0 +1,4 @@
+deb-deps
+*.deb  
+Last_Build_Type.txt
+files_for_build/customized/*
diff --git a/build_evergreen2_debs b/build_evergreen2_debs
new file mode 100755 (executable)
index 0000000..a181a63
--- /dev/null
@@ -0,0 +1,320 @@
+#!/bin/bash
+SCRIPT_VERSION=16.04.28
+
+
+OPENILS_BIN="/openils/bin"
+
+export PATH=$OPENILS_BIN:$PATH
+# WORKDIR="/home/opensrf/develop/evergreen2/current"
+# use current directory
+WORKDIR="$(dirname $(readlink -f -- $0))"
+echo;echo "WORKDIR is: $WORKDIR"
+echo
+#WORKDIR=`pwd`
+if [ ! -z $1 ]; then
+       VERSION=$1
+else
+VERSION="3.0.beta1"
+fi
+echo "Building evergreen-ils $VERSION"
+# Customized files need to build the package.
+BUILDFILESDIR="${WORKDIR}/files_for_build"
+
+PKGFILE="Evergreen-ILS-$VERSION.tar.gz"
+PKGNAME="Evergreen-ILS-$VERSION"
+NEWPKGFILE="evergreen-ils-$VERSION.tar.gz"
+NEWPKGNAME="evergreen-ils-$VERSION"
+DEB_FILE="evergreen-ils_${VERSION}_amd64.deb"
+SOURCEDIR="$WORKDIR/evergreen-ils-$VERSION"
+EG_CUSTOMIZATIONS_FILE="$WORKDIR/files_for_build/customized/evergreen_customizations_$VERSION.tar.gz"
+BUILD_TYPE_FILE="Last_Build_Type.txt"
+
+echo;echo "customizations file is: $EG_CUSTOMIZATIONS_FILE"
+sleep 3
+
+EVERGREEN_PREFIX="/openils"
+#ORIG_FOLDER="/home/opensrf/develop/evergreen2/"
+ORIG_PKGFILE="/root/develop/deb-builder/evergreen-unified/${PKGFILE}"
+SOURCE_FOLDER="${WORKDIR}/${NEWPKGNAME}"
+DEST_ROOT="${SOURCE_FOLDER}/debian/evergreen-ils"
+if [ "$BUILDTYPE" = "Cluster" ]
+then
+       export DEBEMAIL="$(grep @ ${BUILDFILESDIR}/control|awk -F"[<>]" '{ print $2 }')"
+       export DEBFULLNAME="$(grep @ ${BUILDFILESDIR}/control|awk -F"[<>:]" '{ print $2 }')"
+else
+       export DEBEMAIL="$(grep @ ${BUILDFILESDIR}/control-cluster|awk -F"[<>]" '{ print $2 }')"
+       export DEBFULLNAME="$(grep @ ${BUILDFILESDIR}/control-cluster|awk -F"[<>:]" '{ print $2 }')"
+fi
+
+
+echo
+echo "Select the build type."
+echo "Standalone: For single server installation."
+echo "Cluster: For clustered installations."
+echo "Clean: To clean this directory leaving the build files and  the .deb file."
+echo
+select BUILDTYPE in Standalone Cluster Clean
+do
+        case $BUILDTYPE in
+                Standalone ) echo You selected $BUILDTYPE; echo; sleep 1; break ;;
+                Cluster ) echo You selected $BUILDTYPE; echo; sleep 1; break ;;
+                Clean ) echo You selected $BUILDTYPE; echo; sleep 1; break ;;
+                * ) echo; echo "You must select 1 or 2";;
+        esac
+done
+
+if [ "$BUILDTYPE" = "Clean" ]
+then
+        if [ -e "$DEB_FILE" ]; then
+               mv "$DEB_FILE" "/tmp" && \
+               rm -rf evergreen*
+               mv "/tmp/$DEB_FILE" "$WORKDIR"
+       else
+               rm -rf evergreen*
+       fi
+        exit
+fi
+
+echo Building $BUILDTYPE version..;echo
+
+echo
+#echo "Select build with TPAC or OPAC enabled."
+#select PAC in TPAC OPAC
+#        do
+#        case $PAC in
+#                TPAC ) echo You selected $PAC; echo; sleep 1; break ;;
+#                OPAC ) echo You selected $PAC; echo; sleep 1; break ;;
+#                * ) echo; echo "You must select 1 or 2";;
+#        esac
+#done
+#echo Building with $PAC enabled.;echo
+#WHY U BREAK STUFF?!?!
+#exit
+
+
+cd $WORKDIR
+
+if [ ! -e "$ORIG_PKGFILE" ]
+        then
+        echo "$ORIG_PKGFILE not found exiting..."
+        echo
+        exit 1
+fi
+
+if [ "$1" = "b" ] || [ "$1" = "-b" ]
+        then
+        echo
+        echo "Not including Source"
+        echo
+        BuildPackage () {
+        echo
+        echo "Running dpkg-buildpackage -b -nc -uc -us"
+        sleep 1
+        dpkg-buildpackage -b -nc -uc -us
+        }
+                else
+                BuildPackage () {
+                echo
+                echo "Running dpkg-buildpackage -F -nc"
+                sleep 1
+                dpkg-buildpackage -F -nc
+                }
+fi
+
+[ -e "$BUILD_TYPE_FILE" ] && rm "$BUILD_TYPE_FILE"
+
+## currently we are simply deleting and recreating everything here.
+
+rm -f ${WORKDIR}/*.changes
+rm -f ${WORKDIR}/*.dsc
+rm -f ${WORKDIR}/*.deb
+rm -f ${WORKDIR}/*.gz && echo "Removed old package files"
+rm -rf $SOURCE_FOLDER && echo "Removed $SOURCE_FOLDER" && \
+sleep 1 && \
+echo ">>>Untarring: ${PKGNAME}"
+tar zxf ${ORIG_PKGFILE} -C ${WORKDIR} && \
+mv ${WORKDIR}/${PKGNAME} ${WORKDIR}/${NEWPKGNAME}
+#TODO
+#Extract customizations here
+
+if [ -e $EG_CUSTOMIZATIONS_FILE ]
+then
+       echo
+       echo "Customizations file $EG_CUSTOMIZATIONS_FILE found."
+       read -p "Do you want to use customizations file? [y/n] " USE_CUSTOMIZATIONS
+       if [ "$USE_CUSTOMIZATIONS" = "y" ] || [ "$USE_CUSTOMIZATIONS" = "Y" ]
+       then
+               echo
+               echo "Using customizations file $EG_CUSTOMIZATIONS_FILE"
+               sleep 2
+               tar zxvf $EG_CUSTOMIZATIONS_FILE -C $SOURCEDIR
+               echo "Customized: YES" >> $BUILD_TYPE_FILE
+               CUSTOM="YES"
+       fi
+else
+       echo;echo "No Customizations found.."
+       echo
+       echo "Could not find the file"
+       echo "evergreen_customizations_${VERSION}.tar.gz"
+       echo "in the customizations directory"
+       echo "Building stock Evergreen"
+       echo
+       read -p "Press [Enter] to continue" PAUSE
+fi
+
+if [ "$CUSTOM" != "YES" ] 
+then
+       echo
+       echo "Customized: NO" >> $BUILD_TYPE_FILE
+       echo "Building stock evergreen _without_ customizations"
+       echo
+       sleep 2
+fi
+
+cp -f ${ORIG_PKGFILE} ${WORKDIR}/${NEWPKGFILE} && \
+cd $SOURCE_FOLDER && \
+echo "Running dh_make on $NEWPKGFILE" && \
+sleep 1 && \
+dh_make -s -n
+echo "Restoring rules file." && \
+sleep 2 && \
+mkdir -p ${SOURCE_FOLDER}/DEBIAN/evergreen-ils/etc/init.d && \
+mkdir -p ${SOURCE_FOLDER}/debian/evergreen-ils/etc/init.d && \
+
+# copy our modified files to the debian folder in the source folder.
+if [ "$CUSTOM" = "YES" ]
+then
+       cp ${BUILDFILESDIR}/rules-custom ${SOURCE_FOLDER}/debian/rules
+else
+       cp ${BUILDFILESDIR}/rules ${SOURCE_FOLDER}/debian/rules 
+fi
+
+if [ "$BUILDTYPE" = "Cluster" ]
+then
+        cp ${BUILDFILESDIR}/control-cluster ${SOURCE_FOLDER}/debian/control
+        cp ${BUILDFILESDIR}/CONTROL-cluster ${SOURCE_FOLDER}/DEBIAN/control
+else
+       cp ${BUILDFILESDIR}/control ${SOURCE_FOLDER}/debian/control 
+       cp ${BUILDFILESDIR}/CONTROL ${SOURCE_FOLDER}/DEBIAN/control 
+fi
+cp ${BUILDFILESDIR}/config ${SOURCE_FOLDER}/debian/config 
+cp ${BUILDFILESDIR}/config ${SOURCE_FOLDER}/DEBIAN/config 
+cp ${BUILDFILESDIR}/postinst ${SOURCE_FOLDER}/debian/postinst 
+cp ${BUILDFILESDIR}/postinst ${SOURCE_FOLDER}/DEBIAN/postinst 
+cp ${BUILDFILESDIR}/postrm ${SOURCE_FOLDER}/debian/postrm 
+cp ${BUILDFILESDIR}/postrm ${SOURCE_FOLDER}/DEBIAN/postrm 
+cp ${BUILDFILESDIR}/templates ${SOURCE_FOLDER}/debian/templates 
+cp ${BUILDFILESDIR}/templates ${SOURCE_FOLDER}/DEBIAN/templates 
+
+if [ "$BUILDTYPE" = "Cluster" ]
+        then
+       echo "Build Date: $(date)" >> $WORKDIR/$BUILD_TYPE_FILE
+       echo "Build Type: $BUILDTYPE" >> $WORKDIR/$BUILD_TYPE_FILE
+        sed -i 's/^STANDALONE=1 #/STANDALONE=0 #/g' ${SOURCE_FOLDER}/debian/postinst
+               else
+               echo "Build Date: $(date)" > $WORKDIR/$BUILD_TYPE_FILE
+               echo "Build Type: $BUILDTYPE" >> $WORKDIR/$BUILD_TYPE_FILE
+fi
+
+if [ "$PAC" = "TPAC" ]
+       then
+       sed -i 's/^PAC=OPAC/PAC=TPAC/g' ${SOURCE_FOLDER}/debian/postinst
+fi
+
+
+############### Standard build failed because some components were being installed into build system  ###########
+############### intead of destination target ${SOURCE_FOLDER}/debian/evergreen-ils/openils ######################
+echo && \
+## Standard build failed due mixing of paths . 
+#sed -i 's^$(perldir)^$(DESTDIR)$(perldir)^g'  ${SOURCE_FOLDER}/Open-ILS/src/Makefile.am
+sed -i 's^$(perldir)^$(DESTDIR)$(perldir)^g'  ${SOURCE_FOLDER}/Open-ILS/src/Makefile.in
+
+
+sed -i 's^reportsdir = $(DESTDIR)$(WEBDIR)/reports^reportsdir = $(WEBDIR)/reports^g' ${SOURCE_FOLDER}/Open-ILS/web/Makefile.in
+#sed -i 's^reportsdir = $(DESTDIR)$(WEBDIR)/reports^reportsdir = $(WEBDIR)/reports^g' ${SOURCE_FOLDER}/Open-ILS/web/Makefile.am
+
+
+
+#for building the staff client, wants to install it in /openils/var/web/xul on the *build* system
+
+#first off, someone used {} instead of () for 1 instance of WEBDIR
+#sed -i 's^${WEBDIR}^$(WEBDIR)^g' ${SOURCE_FOLDER}/Open-ILS/xul/staff_client/Makefile.in
+#sed -i 's^${WEBDIR}^$(WEBDIR)^g' ${SOURCE_FOLDER}/Open-ILS/xul/staff_client/Makefile.am
+#now fix the path
+#sed -i 's^$(WEBDIR)^$(DESTDIR)$(WEBDIR)^g' ${SOURCE_FOLDER}/Open-ILS/xul/staff_client/Makefile.in
+#sed -i 's^$(WEBDIR)^$(DESTDIR)$(WEBDIR)^g' ${SOURCE_FOLDER}/Open-ILS/xul/staff_client/Makefile.am
+
+
+#sed -i 's/$(DESTDIR)$(oilsincludedir)/$(oilsincludedir)/g' ${SOURCE_FOLDER}/Open-ILS/src/Makefile.am
+sed -i 's/$(DESTDIR)$(oilsincludedir)/$(oilsincludedir)/g' ${SOURCE_FOLDER}/Open-ILS/src/Makefile.in
+
+#####################################################################################################################
+#####################################################################################################################
+
+#Debian doesn't like having the same files provided by multiple packages. Rename the example files provided by evergreen that conflict with opensrf.
+sed -i 's/opensrf.xml.example/opensrf.xml.evergreen.example/g' ${SOURCE_FOLDER}/Open-ILS/src/Makefile.in
+#sed -i 's/opensrf.xml.example/opensrf.xml.evergreen.example/g' ${SOURCE_FOLDER}/Open-ILS/src/Makefile.am
+sed -i 's/opensrf_core.xml.example/opensrf_core.xml.evergreen.example/g' ${SOURCE_FOLDER}/Open-ILS/src/Makefile.in
+#sed -i 's/opensrf_core.xml.example/opensrf_core.xml.evergreen.example/g' ${SOURCE_FOLDER}/Open-ILS/src/Makefile.am
+mv ${SOURCE_FOLDER}/Open-ILS/examples/opensrf.xml.example ${SOURCE_FOLDER}/Open-ILS/examples/opensrf.xml.evergreen.example
+mv ${SOURCE_FOLDER}/Open-ILS/examples/opensrf_core.xml.example ${SOURCE_FOLDER}/Open-ILS/examples/opensrf_core.xml.evergreen.example
+
+
+#mkdir -p ${SOURCE_FOLDER}/debian/evergreen-ils/etc/apache2/sites-available
+#cp -Rv ${SOURCE_FOLDER}/Open-ILS/examples/apache/eg.conf       ${SOURCE_FOLDER}/debian/evergreen-ils/etc/apache2/sites-available/
+#cp -Rv ${SOURCE_FOLDER}/Open-ILS/examples/apache/eg_vhost.conf ${SOURCE_FOLDER}/debian/evergreen-ils/etc/apache2/
+#cp -Rv ${SOURCE_FOLDER}/Open-ILS/examples/apache/startup.pl    ${SOURCE_FOLDER}/debian/evergreen-ils/etc/apache2/
+
+#fix apxs2 install stuff
+####APACHE_CONF=${DEST_ROOT}/etc/apache2/
+####APACHE_MODS=${DEST_ROOT}/usr/lib/apache2/modules/
+#mkdir -pv $APACHE_CONF
+#mkdir -pv $APACHE_MODS
+#mkdir -pv ${DEST_ROOT}/etc/apache2/mods-available
+
+#APXS2 tries to install the mods in the final destination on *this* system, (/etc/apache2...) We need to override this to go into the <build>/debian/evergreen-ils/etc... folder.
+#We fix the .load files apxs2 creates in postinst or rules.
+####APACHE_IN=${SOURCE_FOLDER}/Open-ILS/src/apachemods/Makefile.in
+####APACHE_AM=${SOURCE_FOLDER}/Open-ILS/src/apachemods/Makefile.am
+####sed -i "s^(APXS2) -i -a @srcdir@/mod_xmlent.la^(APXS2) -S LIBEXECDIR='$APACHE_MODS' -S SYSCONFDIR='$APACHE_CONF' -i -a @srcdir@/mod_xmlent.la^g" ${APACHE_IN}
+####sed -i "s^(APXS2) -i -a @srcdir@/mod_xmlent.la^(APXS2) -S LIBEXECDIR='$APACHE_MODS' -S SYSCONFDIR='$APACHE_CONF' -i -a @srcdir@/mod_xmlent.la^g" ${APACHE_AM}
+####sed -i "s^(APXS2) -i -a @srcdir@/mod_idlchunk.la^(APXS2) -S LIBEXECDIR='$APACHE_MODS' -S SYSCONFDIR='$APACHE_CONF' -i -a @srcdir@/mod_idlchunk.la^g" ${APACHE_IN}
+####sed -i "s^(APXS2) -i -a @srcdir@/mod_idlchunk.la^(APXS2) -S LIBEXECDIR='$APACHE_MODS' -S SYSCONFDIR='$APACHE_CONF' -i -a @srcdir@/mod_idlchunk.la^g" ${APACHE_AM}
+
+#fix apache .load path screwups
+
+###TODO: not sure if this is necessary anymore. I think we do this in rules or postinst now.
+#echo "LoadModule xmlent_module      /usr/lib/apache2/modules/mod_xmlent.so" > "${DEST_ROOT}/etc/apache2/mods-available/xmlent.load"
+
+
+#copy support scripts into openils/bin since /home/opensrf/<src> isn't available anymore
+mkdir -p "${DEST_ROOT}${EVERGREEN_PREFIX}/bin"
+mkdir -p "${DEST_ROOT}${EVERGREEN_PREFIX}/share/doc/examples/"
+cp -rv ${SOURCE_FOLDER}/Open-ILS/src/support-scripts/* "${DEST_ROOT}${EVERGREEN_PREFIX}/bin/"
+cp -rv ${SOURCE_FOLDER}/Open-ILS/src/sql "${DEST_ROOT}${EVERGREEN_PREFIX}/share/doc/examples/"
+
+
+
+### eg_db_config is expecting certain relative paths. Since we no longer operate from /home/opensrf/<src> we need to make minor tweaks.
+sed -i "s^../extras/eg_config^eg_config^g" ${SOURCE_FOLDER}/Open-ILS/src/support-scripts/eg_db_config.in
+#one sed to rule them all
+sed -i "s^../sql/Pg/^../share/doc/examples/sql/Pg/^g" ${SOURCE_FOLDER}/Open-ILS/src/support-scripts/eg_db_config.in
+#sed -i "s^../sql/Pg/build-db.sh^../share/doc/examples/sql/Pg/build-db.sh^g" ${DEST_ROOT}/openils/bin/eg_db_config.pl
+#sed -i "s^./../sql/Pg/create_database_9_1.sql
+
+### make eg_startup executable.
+chmod 755 ${DEST_ROOT}/etc/apache2/eg_startup
+
+#TODO: Not sure this should be even in this package. Move to libdbi?
+mkdir -p ${DEST_ROOT}/etc/ld.so.conf.d
+echo "/usr/lib/dbd" > ${DEST_ROOT}/etc/ld.so.conf.d/eg.conf
+
+
+
+echo
+echo "Source Folder is: ${SOURCE_FOLDER}"
+sleep 3
+BuildPackage
+
+cd $WORKDIR
+
diff --git a/files_for_build/CONTROL b/files_for_build/CONTROL
new file mode 100644 (file)
index 0000000..e42560c
--- /dev/null
@@ -0,0 +1,16 @@
+Package: evergreen-ils
+Source: evergreen
+Version: 3.0.beta1
+Section: web
+Priority: extra
+Architecture: amd64
+Maintainer: Pines Admins <pines-admins@georgialibraries.org>
+Homepage: http://open-ils.org
+Architecture: amd64
+Depends: ${shlibs:Depends}, ${misc:Depends}, apache2-dev, aspell, aspell-en, autoconf,automake,gcc,libapache2-mod-perl2, libbusiness-creditcard-perl, libbusiness-isbn-data-perl, libbusiness-isbn-perl,libbusiness-issn-perl, libbusiness-onlinepayment-authorizenet-perl, libbusiness-onlinepayment-payflowpro-perl, libbusiness-onlinepayment-paypal-perl, libbusiness-onlinepayment-perl, libbusiness-stripe-perl, libbz2-dev, libclass-dbi-frozen-301-perl, libdate-manip-perl, libdatetime-format-builder-perl, libdatetime-format-iso8601-perl, libdatetime-format-mail-perl, libdatetime-perl, libdatetime-set-perl, libdatetime-timezone-perl, libdbd-pg-perl, libdbd-pgsql, libdbi1, libdbi-dev, libemail-send-perl, libemail-simple-perl, libexcel-writer-xlsx-perl, libgd-graph3d-perl, libjson-perl, libjson-xs-perl,liblibrary-callnumber-lc-perl,liblocale-maketext-lexicon-perl, liblog-log4perl-perl, libmarc-charset-perl, libmarc-record-perl, libmarc-xml-perl, libmodule-pluggable-perl, libncurses5-dev, libnet-ip-perl, libnet-ldap-perl,libnet-server-perl, libnet-ssh2-perl, libnet-z3950-simple2zoom-perl, libnet-z3950-simpleserver-perl, libnet-z3950-zoom-perl,libnspr4-dev, libole-storage-lite-perl, libparent-perl, libparse-recdescent-perl, libpcre3-dev, libpq5, libpq-dev, libreturn-value-perl, librose-uri-perl,librpc-xml-perl, libsoap-lite-perl, libsru-perl, libssh2-1-dev, libtemplate-plugin-posix-perl, libtest-output-perl, libtest-warn-perl, libtext-aspell-perl, libtext-csv-perl, libtool,libuniversal-require-perl, libunix-syslog-perl, libuuid-tiny-perl,libxml-libxml-perl,libxml-libxslt-perl, libyaz-dev, nodejs-legacy,npm, postgresql-9.5,postgresql-client-9.5, postgresql-contrib-9.5,postgresql-plperl-9.5,postgresql-server-dev-9.5, yaz
+
+Description: Evergreen Library Management Sofware.
+ Evergreen is open-source, consortial-quality
+ library software to help library users find
+ library materials and to help libraries manage,
+ catalog, and circulate those materials.
diff --git a/files_for_build/CONTROL-cluster b/files_for_build/CONTROL-cluster
new file mode 100644 (file)
index 0000000..c00049a
--- /dev/null
@@ -0,0 +1,16 @@
+Package: evergreen-ils
+Source: evergreen
+Version: 3.0.beta1
+Section: web
+Priority: extra
+Architecture: amd64
+Maintainer: Pines Admins <pines-admins@georgialibraries.org>
+Homepage: http://open-ils.org
+Architecture: amd64
+Depends: ${shlibs:Depends}, ${misc:Depends}, apache2-dev, aspell, aspell-en, autoconf,automake,gcc,libapache2-mod-perl2, libbusiness-creditcard-perl, libbusiness-isbn-data-perl, libbusiness-isbn-perl,libbusiness-issn-perl, libbusiness-onlinepayment-authorizenet-perl, libbusiness-onlinepayment-payflowpro-perl, libbusiness-onlinepayment-paypal-perl, libbusiness-onlinepayment-perl, libbusiness-stripe-perl, libbz2-dev, libclass-dbi-frozen-301-perl, libdate-manip-perl, libdatetime-format-builder-perl, libdatetime-format-iso8601-perl, libdatetime-format-mail-perl, libdatetime-perl, libdatetime-set-perl, libdatetime-timezone-perl, libdbd-pg-perl, libdbd-pgsql, libdbi1, libdbi-dev, libemail-send-perl, libemail-simple-perl, libexcel-writer-xlsx-perl, libgd-graph3d-perl, libjson-perl, libjson-xs-perl,liblibrary-callnumber-lc-perl,liblocale-maketext-lexicon-perl, liblog-log4perl-perl, libmarc-charset-perl, libmarc-record-perl, libmarc-xml-perl, libmodule-pluggable-perl, libncurses5-dev, libnet-ip-perl, libnet-ldap-perl,libnet-server-perl, libnet-ssh2-perl, libnet-z3950-simple2zoom-perl, libnet-z3950-simpleserver-perl, libnet-z3950-zoom-perl,libnspr4-dev, libole-storage-lite-perl, libparent-perl, libparse-recdescent-perl, libpcre3-dev, libpq5, libpq-dev, libreturn-value-perl, librose-uri-perl,librpc-xml-perl, libsoap-lite-perl, libsru-perl, libssh2-1-dev, libtemplate-plugin-posix-perl, libtest-output-perl, libtest-warn-perl, libtext-aspell-perl, libtext-csv-perl, libtool,libuniversal-require-perl, libunix-syslog-perl, libuuid-tiny-perl,libxml-libxml-perl,libxml-libxslt-perl, libyaz-dev, nodejs-legacy,npm, postgresql-client-9.5, yaz
+
+Description: Evergreen Library Management Sofware.
+ Evergreen is open-source, consortial-quality
+ library software to help library users find
+ library materials and to help libraries manage,
+ catalog, and circulate those materials.
diff --git a/files_for_build/config b/files_for_build/config
new file mode 100755 (executable)
index 0000000..7da7afc
--- /dev/null
@@ -0,0 +1,58 @@
+#!/bin/sh
+set -e
+#templates:
+#evergreen-ils/
+# eg_db_password
+# verify_eg_db_password
+# ejabber_password
+# verify_ejabber_password
+# user_nomatch
+# ejabber_notmatch
+get_eg_db_password()
+{
+  db_input high evergreen-ils/eg_db_password || true
+  db_input high evergreen-ils/verify_eg_db_password || true
+  db_go || true
+  db_get evergreen-ils/eg_db_password
+  PASSWORD="$RET"
+  db_get evergreen-ils/verify_eg_db_password
+  VERIFY="$RET"
+  if [ "$PASSWORD" != "$VERIFY" ]; then
+    db_input critical evergreen-ils/pass_nomatch || true
+    db_go || true
+    get_eg_db_password
+  fi
+}
+
+
+get_evergreen_admin_user()
+{
+  db_input high evergreen-ils/evergreen_admin_user || true
+  db_go || true
+}
+
+get_evergreen_admin_password()
+{
+  db_input high evergreen-ils/evergreen_admin_password || true
+  db_input high evergreen-ils/verify_evergreen_admin_password || true
+  db_go || true
+  db_get evergreen-ils/evergreen_admin_password
+  PASSWORD="$RET"
+  db_get evergreen-ils/verify_evergreen_admin_password
+  VERIFY="$RET"
+  if [ "$PASSWORD" != "$VERIFY" ]; then
+    db_input critical evergreen-ils/admin_pass_nomatch || true
+    db_go || true
+    get_evergreen_admin_password
+  fi
+}
+
+# Source debconf library.
+. /usr/share/debconf/confmodule
+
+
+get_eg_db_password
+get_evergreen_admin_user
+get_evergreen_admin_password
+exit 0
+
diff --git a/files_for_build/control b/files_for_build/control
new file mode 100644 (file)
index 0000000..87a9726
--- /dev/null
@@ -0,0 +1,16 @@
+Source: evergreen-ils
+Section: web
+Priority: extra
+Maintainer: Pines Admins <pines-admins@georgialibraries.org>
+Build-Depends: aspell, libc6 (>= 2.3), libmemcached-dev, libncurses5, libreadline6, libxml2 (>= 2.7.4), debconf (>= 0.5), debhelper (>= 7.0.50~), autotools-dev, autoconf, automake, build-essential, libexpat1-dev, libgcrypt11-dev, libgdbm-dev, libperl-dev, libreadline6-dev, libxml2-dev, libxslt1-dev, python-dev, zlib1g-dev, libncurses5-dev, libnspr4-dev, libssh2-1-dev, libbz2-dev, libtest-warn-perl, libtest-output-perl, libbusiness-stripe-perl, yaz, libyaz-dev, libdbd-pgsql
+Standards-Version: 3.8.4
+Homepage: http://open-ils.org
+
+Package: evergreen-ils
+Architecture: amd64
+Depends: ${shlibs:Depends}, ${misc:Depends}, apache2-dev, aspell, aspell-en, autoconf,automake,gcc,libapache2-mod-perl2, libbusiness-creditcard-perl, libbusiness-isbn-data-perl, libbusiness-isbn-perl,libbusiness-issn-perl, libbusiness-onlinepayment-authorizenet-perl, libbusiness-onlinepayment-payflowpro-perl, libbusiness-onlinepayment-paypal-perl, libbusiness-onlinepayment-perl, libbusiness-stripe-perl, libbz2-dev, libclass-dbi-frozen-301-perl, libdate-manip-perl, libdatetime-format-builder-perl, libdatetime-format-iso8601-perl, libdatetime-format-mail-perl, libdatetime-perl, libdatetime-set-perl, libdatetime-timezone-perl, libdbd-pg-perl, libdbd-pgsql, libdbi1, libdbi-dev, libemail-send-perl, libemail-simple-perl, libexcel-writer-xlsx-perl, libgd-graph3d-perl, libjson-perl, libjson-xs-perl,liblibrary-callnumber-lc-perl,liblocale-maketext-lexicon-perl, liblog-log4perl-perl, libmarc-charset-perl, libmarc-record-perl, libmarc-xml-perl, libmodule-pluggable-perl, libncurses5-dev, libnet-ip-perl, libnet-ldap-perl,libnet-server-perl, libnet-ssh2-perl, libnet-z3950-simple2zoom-perl, libnet-z3950-simpleserver-perl, libnet-z3950-zoom-perl,libnspr4-dev, libole-storage-lite-perl, libparent-perl, libparse-recdescent-perl, libpcre3-dev, libpq5, libpq-dev, libreturn-value-perl, librose-uri-perl,librpc-xml-perl, libsoap-lite-perl, libsru-perl, libssh2-1-dev, libtemplate-plugin-posix-perl, libtest-output-perl, libtest-warn-perl, libtext-aspell-perl, libtext-csv-perl, libtool,libuniversal-require-perl, libunix-syslog-perl, libuuid-tiny-perl,libxml-libxml-perl,libxml-libxslt-perl, libyaz-dev, nodejs-legacy,npm, postgresql-9.5,postgresql-client-9.5, postgresql-contrib-9.5,postgresql-plperl-9.5,postgresql-server-dev-9.5, yaz
+Description: Evergreen Library Management Sofware.
+ Evergreen is open-source, consortial-quality 
+ library software to help library users find 
+ library materials and to help libraries manage, 
+ catalog, and circulate those materials. 
diff --git a/files_for_build/control-cluster b/files_for_build/control-cluster
new file mode 100644 (file)
index 0000000..49e198e
--- /dev/null
@@ -0,0 +1,17 @@
+Source: evergreen-ils
+Section: web
+Priority: extra
+Maintainer: Pines Admins <pines-admins@georgialibraries.org>
+Build-Depends: aspell, libc6 (>= 2.3), libmemcached-dev, libncurses5, libreadline6, libxml2 (>= 2.7.4), debconf (>= 0.5), debhelper (>= 7.0.50~), autotools-dev, autoconf, automake, build-essential, libexpat1-dev, libgcrypt11-dev, libgdbm-dev, libperl-dev, libreadline6-dev, libxml2-dev, libxslt1-dev, python-dev, zlib1g-dev, libncurses5-dev, libnspr4-dev, libssh2-1-dev, libbz2-dev, libtest-warn-perl, libtest-output-perl, libbusiness-stripe-perl, yaz, libyaz-dev, libdbd-pgsql
+Standards-Version: 3.8.4
+Homepage: http://open-ils.org
+
+Package: evergreen-ils
+Architecture: amd64
+Depends: ${shlibs:Depends}, ${misc:Depends}, apache2-dev, aspell, aspell-en, autoconf,automake,gcc,libapache2-mod-perl2, libbusiness-creditcard-perl, libbusiness-isbn-data-perl, libbusiness-isbn-perl,libbusiness-issn-perl, libbusiness-onlinepayment-authorizenet-perl, libbusiness-onlinepayment-payflowpro-perl, libbusiness-onlinepayment-paypal-perl, libbusiness-onlinepayment-perl, libbusiness-stripe-perl, libbz2-dev, libclass-dbi-frozen-301-perl, libdate-manip-perl, libdatetime-format-builder-perl, libdatetime-format-iso8601-perl, libdatetime-format-mail-perl, libdatetime-perl, libdatetime-set-perl, libdatetime-timezone-perl, libdbd-pg-perl, libdbd-pgsql, libdbi1, libdbi-dev, libemail-send-perl, libemail-simple-perl, libexcel-writer-xlsx-perl, libgd-graph3d-perl, libjson-perl, libjson-xs-perl,liblibrary-callnumber-lc-perl,liblocale-maketext-lexicon-perl, liblog-log4perl-perl, libmarc-charset-perl, libmarc-record-perl, libmarc-xml-perl, libmodule-pluggable-perl, libncurses5-dev, libnet-ip-perl, libnet-ldap-perl,libnet-server-perl, libnet-ssh2-perl, libnet-z3950-simple2zoom-perl, libnet-z3950-simpleserver-perl, libnet-z3950-zoom-perl,libnspr4-dev, libole-storage-lite-perl, libparent-perl, libparse-recdescent-perl, libpcre3-dev, libpq5, libpq-dev, libreturn-value-perl, librose-uri-perl,librpc-xml-perl, libsoap-lite-perl, libsru-perl, libssh2-1-dev, libtemplate-plugin-posix-perl, libtest-output-perl, libtest-warn-perl, libtext-aspell-perl, libtext-csv-perl, libtool,libuniversal-require-perl, libunix-syslog-perl, libuuid-tiny-perl,libxml-libxml-perl,libxml-libxslt-perl, libyaz-dev, nodejs-legacy,npm, postgresql-client-9.5, yaz
+Description: Evergreen Library Management Sofware.
+ Evergreen is open-source, consortial-quality 
+ library software to help library users find 
+ library materials and to help libraries manage, 
+ catalog, and circulate those materials. 
+
diff --git a/files_for_build/control.backup b/files_for_build/control.backup
new file mode 100644 (file)
index 0000000..7b04887
--- /dev/null
@@ -0,0 +1,16 @@
+Source: evergreen-ils
+Section: web
+Priority: extra
+Maintainer: Pines Admins <pines-admins@georgialibraries.org>
+Build-Depends: aspell, libc6 (>= 2.3), libmemcached-dev, libncurses5, libreadline6, libxml2 (>= 2.7.4), debconf (>= 0.5), debhelper (>= 7.0.50~), autotools-dev, autoconf, automake, build-essential, libexpat1-dev, libgcrypt11-dev, libgdbm-dev, libperl-dev, libreadline6-dev, libxml2-dev, libxslt1-dev, python-dev, zlib1g-dev, libncurses5-dev, libnspr4-dev, libssh2-1-dev, libbz2-dev, libtest-warn-perl, libtest-output-perl, libbusiness-stripe-perl, yaz, libyaz-dev, libdbd-pgsql
+Standards-Version: 3.8.4
+Homepage: http://open-ils.org
+
+Package: evergreen-ils
+Architecture: amd64
+Depends: ${shlibs:Depends}, ${misc:Depends}, apache2-dev, aspell, aspell-en, autoconf, , automake, , gcc, , libapache2-mod-perl2, libbusiness-creditcard-perl, libbusiness-isbn-data-perl, libbusiness-isbn-perl, , libbusiness-issn-perl, libbusiness-onlinepayment-authorizenet-perl, libbusiness-onlinepayment-payflowpro-perl, libbusiness-onlinepayment-paypal-perl, libbusiness-onlinepayment-perl, libbusiness-stripe-perl, libbz2-dev, libclass-dbi-frozen-301-perl, libdate-manip-perl, libdatetime-format-builder-perl, libdatetime-format-iso8601-perl, libdatetime-format-mail-perl, libdatetime-perl, libdatetime-set-perl, libdatetime-timezone-perl, libdbd-pg-perl, libdbd-pgsql, libdbi1, libdbi-dev, libemail-send-perl, libemail-simple-perl, libexcel-writer-xlsx-perl, libgd-graph3d-perl, libjson-xs-perl, , liblibrary-callnumber-lc-perl, , liblocale-maketext-lexicon-perl, liblog-log4perl-perl, libmarc-charset-perl, , libmarc-record-perl, , libmarc-xml-perl, , libncurses5-dev, libnet-ip-perl, libnet-ldap-perl, , libnet-server-perl, libnet-ssh2-perl, libnet-z3950-simple2zoom-perl, libnet-z3950-simpleserver-perl, libnet-z3950-zoom-perl, , libnspr4-dev, libole-storage-lite-perl, libparent-perl, libparse-recdescent-perl, libpcre3-dev, libpq5, libpq-dev, librose-uri-perl, , librpc-xml-perl, libsoap-lite-perl, libsru-perl, libssh2-1-dev, libtemplate-plugin-posix-perl, libtest-output-perl, libtest-warn-perl, libtext-aspell-perl, libtext-csv-perl, libtool, , libuniversal-require-perl, libunix-syslog-perl, libuuid-tiny-perl, , libxml-libxml-perl, , libxml-libxslt-perl, libyaz-dev, nodejs-legacy, , npm, postgresql-9.5, , postgresql-client-9.5, postgresql-contrib-9.5, , postgresql-plperl-9.5, , postgresql-server-dev-9.5, yaz
+Description: Evergreen Library Management Sofware.
+ Evergreen is open-source, consortial-quality 
+ library software to help library users find 
+ library materials and to help libraries manage, 
+ catalog, and circulate those materials. 
diff --git a/files_for_build/customized/evergreen_customizations_3.0.beta1.tar.gz b/files_for_build/customized/evergreen_customizations_3.0.beta1.tar.gz
new file mode 100644 (file)
index 0000000..31d8660
Binary files /dev/null and b/files_for_build/customized/evergreen_customizations_3.0.beta1.tar.gz differ
diff --git a/files_for_build/deps/2.5.2.deps b/files_for_build/deps/2.5.2.deps
new file mode 100644 (file)
index 0000000..2f7184a
--- /dev/null
@@ -0,0 +1,56 @@
+apache2-prefork-dev\
+aspell\
+aspell-en\
+libbusiness-creditcard-perl\
+libbusiness-edi-perl \
+libbusiness-isbn-data-perl\
+libbusiness-isbn-perl\
+libbusiness-issn-perl\
+libbusiness-onlinepayment-authorizenet-perl\
+libbusiness-onlinepayment-perl\
+libdatetime-format-builder-perl\
+libdatetime-format-iso8601-perl\
+libdatetime-format-mail-perl\
+libdatetime-perl\
+libdatetime-set-perl\
+libdatetime-timezone-perl\
+libdbd-pg-perl\
+libdbd-pgsql \
+libdbi-dev \
+libemail-send-perl\
+libemail-simple-perl\
+libgd-graph3d-perl\
+liblibrary-callnumber-lc-perl \
+liblocale-maketext-lexicon-perl\
+liblog-log4perl-perl\
+libmarc-charset-perl \
+libmarc-record-perl\
+libmarc-xml-perl \
+libncurses5-dev\
+libnet-https-any-perl \
+libnet-ip-perl\
+libnet-ldap-perl \
+libnet-server-perl\
+libnet-ssh2-perl\
+libnet-z3950-simple2zoom-perl\
+libnet-z3950-simpleserver-perl\
+libnet-z3950-zoom-perl \
+libnspr4-dev\
+libole-storage-lite-perl\
+libbz2-dev \
+libpq5\
+libpq-dev\
+librpc-xml-perl\
+libspreadsheet-writeexcel-perl\
+libsru-perl\
+libssh2-1-dev\
+libtext-aspell-perl\
+libtext-csv-perl\
+libuniversal-require-perl\
+libunix-syslog-perl\
+libuuid-tiny-perl\
+libyaz-dev\
+postgresql-client-9.1\
+libsoap-lite-perl\
+libtest-warn-perl\
+yaz
diff --git a/files_for_build/deps/2.5.3b.deps b/files_for_build/deps/2.5.3b.deps
new file mode 100644 (file)
index 0000000..02a45f6
--- /dev/null
@@ -0,0 +1,56 @@
+apache2-prefork-dev
+aspell
+aspell-en
+libbusiness-creditcard-perl
+libbusiness-edi-perl 
+libbusiness-isbn-data-perl
+libbusiness-isbn-perl
+libbusiness-issn-perl
+libbusiness-onlinepayment-authorizenet-perl
+libbusiness-onlinepayment-perl
+libdatetime-format-builder-perl
+libdatetime-format-iso8601-perl
+libdatetime-format-mail-perl
+libdatetime-perl
+libdatetime-set-perl
+libdatetime-timezone-perl
+libdbd-pg-perl
+libdbd-pgsql 
+libdbi-dev 
+libemail-send-perl
+libemail-simple-perl
+libgd-graph3d-perl
+liblibrary-callnumber-lc-perl 
+liblocale-maketext-lexicon-perl
+liblog-log4perl-perl
+libmarc-charset-perl 
+libmarc-record-perl
+libmarc-xml-perl 
+libncurses5-dev
+libnet-https-any-perl 
+libnet-ip-perl
+libnet-ldap-perl 
+libnet-server-perl
+libnet-ssh2-perl
+libnet-z3950-simple2zoom-perl
+libnet-z3950-simpleserver-perl
+libnet-z3950-zoom-perl 
+libnspr4-dev
+libole-storage-lite-perl
+libbz2-dev 
+libpq5
+libpq-dev
+librpc-xml-perl
+libspreadsheet-writeexcel-perl
+libsru-perl
+libssh2-1-dev
+libtext-aspell-perl
+libtext-csv-perl
+libuniversal-require-perl
+libunix-syslog-perl
+libuuid-tiny-perl
+libyaz-dev
+postgresql-client-9.1
+libsoap-lite-perl
+libtest-warn-perl
+yaz
diff --git a/files_for_build/deps/2.6.0.deps b/files_for_build/deps/2.6.0.deps
new file mode 100644 (file)
index 0000000..cdc5ed3
--- /dev/null
@@ -0,0 +1,57 @@
+apache2-prefork-dev
+aspell
+aspell-en
+libbusiness-creditcard-perl
+libbusiness-edi-perl 
+libbusiness-isbn-data-perl
+libbusiness-isbn-perl
+libbusiness-issn-perl
+libbusiness-onlinepayment-authorizenet-perl
+libbusiness-onlinepayment-perl
+libdatetime-format-builder-perl
+libdatetime-format-iso8601-perl
+libdatetime-format-mail-perl
+libdatetime-perl
+libdatetime-set-perl
+libdatetime-timezone-perl
+libdbd-pg-perl
+libdbd-pgsql 
+libdbi-dev 
+libemail-send-perl
+libemail-simple-perl
+libgd-graph3d-perl
+liblibrary-callnumber-lc-perl 
+liblocale-maketext-lexicon-perl
+liblog-log4perl-perl
+libmarc-charset-perl 
+libmarc-record-perl
+libmarc-xml-perl 
+libncurses5-dev
+libnet-https-any-perl 
+libnet-ip-perl
+libnet-ldap-perl 
+libnet-server-perl
+libnet-ssh2-perl
+libnet-z3950-simple2zoom-perl
+libnet-z3950-simpleserver-perl
+libnet-z3950-zoom-perl 
+libnspr4-dev
+libole-storage-lite-perl
+libbz2-dev 
+libpq5
+libpq-dev
+librpc-xml-perl
+libspreadsheet-writeexcel-perl
+libsru-perl
+libssh2-1-dev
+libtext-aspell-perl
+libtext-csv-perl
+libuniversal-require-perl
+libunix-syslog-perl
+libuuid-tiny-perl
+libyaz-dev
+postgresql-client-9.1
+libsoap-lite-perl
+libtest-warn-perl
+libtest-output-perl
+yaz
diff --git a/files_for_build/deps/2.7.0.deps b/files_for_build/deps/2.7.0.deps
new file mode 100644 (file)
index 0000000..dc834d7
--- /dev/null
@@ -0,0 +1,64 @@
+gcc 
+libbusiness-isbn-perl 
+libjson-xs-perl 
+liblibrary-callnumber-lc-perl 
+libmarc-record-perl 
+libmarc-xml-perl 
+libuuid-tiny-perl 
+libxml-libxml-perl 
+libxml-libxslt-perl
+
+apache2-prefork-dev
+aspell
+aspell-en
+libbusiness-creditcard-perl
+libbusiness-edi-perl 
+libbusiness-isbn-data-perl
+libbusiness-issn-perl
+libbusiness-onlinepayment-authorizenet-perl
+libbusiness-onlinepayment-perl
+libdatetime-format-builder-perl
+libdatetime-format-iso8601-perl
+libdatetime-format-mail-perl
+libdatetime-perl
+libdatetime-set-perl
+libdatetime-timezone-perl
+libdbd-pg-perl
+libdbd-pgsql 
+libdbi-dev 
+libemail-send-perl
+libemail-simple-perl
+libgd-graph3d-perl
+liblocale-maketext-lexicon-perl
+liblog-log4perl-perl
+libmarc-charset-perl 
+libncurses5-dev
+libnet-https-any-perl 
+libnet-ip-perl
+libnet-ldap-perl 
+libnet-server-perl
+libnet-ssh2-perl
+libnet-z3950-simple2zoom-perl
+libnet-z3950-simpleserver-perl
+libnet-z3950-zoom-perl 
+libnspr4-dev
+libole-storage-lite-perl
+libbz2-dev 
+libpq5
+libpq-dev
+librpc-xml-perl
+libsru-perl
+libssh2-1-dev
+libtext-aspell-perl
+libtext-csv-perl
+libuniversal-require-perl
+libunix-syslog-perl
+libyaz-dev
+postgresql-client-9.1
+libsoap-lite-perl
+libtest-warn-perl
+libtest-output-perl
+libparse-recdescent-perl
+yaz
+
+
diff --git a/files_for_build/deps/2.7.1.deps b/files_for_build/deps/2.7.1.deps
new file mode 100644 (file)
index 0000000..dc834d7
--- /dev/null
@@ -0,0 +1,64 @@
+gcc 
+libbusiness-isbn-perl 
+libjson-xs-perl 
+liblibrary-callnumber-lc-perl 
+libmarc-record-perl 
+libmarc-xml-perl 
+libuuid-tiny-perl 
+libxml-libxml-perl 
+libxml-libxslt-perl
+
+apache2-prefork-dev
+aspell
+aspell-en
+libbusiness-creditcard-perl
+libbusiness-edi-perl 
+libbusiness-isbn-data-perl
+libbusiness-issn-perl
+libbusiness-onlinepayment-authorizenet-perl
+libbusiness-onlinepayment-perl
+libdatetime-format-builder-perl
+libdatetime-format-iso8601-perl
+libdatetime-format-mail-perl
+libdatetime-perl
+libdatetime-set-perl
+libdatetime-timezone-perl
+libdbd-pg-perl
+libdbd-pgsql 
+libdbi-dev 
+libemail-send-perl
+libemail-simple-perl
+libgd-graph3d-perl
+liblocale-maketext-lexicon-perl
+liblog-log4perl-perl
+libmarc-charset-perl 
+libncurses5-dev
+libnet-https-any-perl 
+libnet-ip-perl
+libnet-ldap-perl 
+libnet-server-perl
+libnet-ssh2-perl
+libnet-z3950-simple2zoom-perl
+libnet-z3950-simpleserver-perl
+libnet-z3950-zoom-perl 
+libnspr4-dev
+libole-storage-lite-perl
+libbz2-dev 
+libpq5
+libpq-dev
+librpc-xml-perl
+libsru-perl
+libssh2-1-dev
+libtext-aspell-perl
+libtext-csv-perl
+libuniversal-require-perl
+libunix-syslog-perl
+libyaz-dev
+postgresql-client-9.1
+libsoap-lite-perl
+libtest-warn-perl
+libtest-output-perl
+libparse-recdescent-perl
+yaz
+
+
diff --git a/files_for_build/deps/2.7.1a.deps b/files_for_build/deps/2.7.1a.deps
new file mode 100644 (file)
index 0000000..dc834d7
--- /dev/null
@@ -0,0 +1,64 @@
+gcc 
+libbusiness-isbn-perl 
+libjson-xs-perl 
+liblibrary-callnumber-lc-perl 
+libmarc-record-perl 
+libmarc-xml-perl 
+libuuid-tiny-perl 
+libxml-libxml-perl 
+libxml-libxslt-perl
+
+apache2-prefork-dev
+aspell
+aspell-en
+libbusiness-creditcard-perl
+libbusiness-edi-perl 
+libbusiness-isbn-data-perl
+libbusiness-issn-perl
+libbusiness-onlinepayment-authorizenet-perl
+libbusiness-onlinepayment-perl
+libdatetime-format-builder-perl
+libdatetime-format-iso8601-perl
+libdatetime-format-mail-perl
+libdatetime-perl
+libdatetime-set-perl
+libdatetime-timezone-perl
+libdbd-pg-perl
+libdbd-pgsql 
+libdbi-dev 
+libemail-send-perl
+libemail-simple-perl
+libgd-graph3d-perl
+liblocale-maketext-lexicon-perl
+liblog-log4perl-perl
+libmarc-charset-perl 
+libncurses5-dev
+libnet-https-any-perl 
+libnet-ip-perl
+libnet-ldap-perl 
+libnet-server-perl
+libnet-ssh2-perl
+libnet-z3950-simple2zoom-perl
+libnet-z3950-simpleserver-perl
+libnet-z3950-zoom-perl 
+libnspr4-dev
+libole-storage-lite-perl
+libbz2-dev 
+libpq5
+libpq-dev
+librpc-xml-perl
+libsru-perl
+libssh2-1-dev
+libtext-aspell-perl
+libtext-csv-perl
+libuniversal-require-perl
+libunix-syslog-perl
+libyaz-dev
+postgresql-client-9.1
+libsoap-lite-perl
+libtest-warn-perl
+libtest-output-perl
+libparse-recdescent-perl
+yaz
+
+
diff --git a/files_for_build/deps/2.7.2.deps b/files_for_build/deps/2.7.2.deps
new file mode 100644 (file)
index 0000000..928cc18
--- /dev/null
@@ -0,0 +1,65 @@
+gcc 
+libbusiness-isbn-perl 
+libjson-xs-perl 
+liblibrary-callnumber-lc-perl 
+libmarc-record-perl 
+libmarc-xml-perl 
+libuuid-tiny-perl 
+libxml-libxml-perl 
+libxml-libxslt-perl
+
+apache2-prefork-dev
+aspell
+aspell-en
+libbusiness-creditcard-perl
+libbusiness-edi-perl 
+libbusiness-isbn-data-perl
+libbusiness-issn-perl
+libbusiness-onlinepayment-authorizenet-perl
+libbusiness-onlinepayment-perl
+libdate-manip-perl
+libdatetime-format-builder-perl
+libdatetime-format-iso8601-perl
+libdatetime-format-mail-perl
+libdatetime-perl
+libdatetime-set-perl
+libdatetime-timezone-perl
+libdbd-pg-perl
+libdbd-pgsql 
+libdbi-dev 
+libemail-send-perl
+libemail-simple-perl
+libgd-graph3d-perl
+liblocale-maketext-lexicon-perl
+liblog-log4perl-perl
+libmarc-charset-perl 
+libncurses5-dev
+libnet-https-any-perl 
+libnet-ip-perl
+libnet-ldap-perl 
+libnet-server-perl
+libnet-ssh2-perl
+libnet-z3950-simple2zoom-perl
+libnet-z3950-simpleserver-perl
+libnet-z3950-zoom-perl 
+libnspr4-dev
+libole-storage-lite-perl
+libbz2-dev 
+libpq5
+libpq-dev
+librpc-xml-perl
+libsru-perl
+libssh2-1-dev
+libtext-aspell-perl
+libtext-csv-perl
+libuniversal-require-perl
+libunix-syslog-perl
+libyaz-dev
+postgresql-client-9.1
+libsoap-lite-perl
+libtest-warn-perl
+libtest-output-perl
+libparse-recdescent-perl
+yaz
+
+
diff --git a/files_for_build/deps/2.7.4.deps b/files_for_build/deps/2.7.4.deps
new file mode 100644 (file)
index 0000000..928cc18
--- /dev/null
@@ -0,0 +1,65 @@
+gcc 
+libbusiness-isbn-perl 
+libjson-xs-perl 
+liblibrary-callnumber-lc-perl 
+libmarc-record-perl 
+libmarc-xml-perl 
+libuuid-tiny-perl 
+libxml-libxml-perl 
+libxml-libxslt-perl
+
+apache2-prefork-dev
+aspell
+aspell-en
+libbusiness-creditcard-perl
+libbusiness-edi-perl 
+libbusiness-isbn-data-perl
+libbusiness-issn-perl
+libbusiness-onlinepayment-authorizenet-perl
+libbusiness-onlinepayment-perl
+libdate-manip-perl
+libdatetime-format-builder-perl
+libdatetime-format-iso8601-perl
+libdatetime-format-mail-perl
+libdatetime-perl
+libdatetime-set-perl
+libdatetime-timezone-perl
+libdbd-pg-perl
+libdbd-pgsql 
+libdbi-dev 
+libemail-send-perl
+libemail-simple-perl
+libgd-graph3d-perl
+liblocale-maketext-lexicon-perl
+liblog-log4perl-perl
+libmarc-charset-perl 
+libncurses5-dev
+libnet-https-any-perl 
+libnet-ip-perl
+libnet-ldap-perl 
+libnet-server-perl
+libnet-ssh2-perl
+libnet-z3950-simple2zoom-perl
+libnet-z3950-simpleserver-perl
+libnet-z3950-zoom-perl 
+libnspr4-dev
+libole-storage-lite-perl
+libbz2-dev 
+libpq5
+libpq-dev
+librpc-xml-perl
+libsru-perl
+libssh2-1-dev
+libtext-aspell-perl
+libtext-csv-perl
+libuniversal-require-perl
+libunix-syslog-perl
+libyaz-dev
+postgresql-client-9.1
+libsoap-lite-perl
+libtest-warn-perl
+libtest-output-perl
+libparse-recdescent-perl
+yaz
+
+
diff --git a/files_for_build/deps/2.8.2.deps b/files_for_build/deps/2.8.2.deps
new file mode 100644 (file)
index 0000000..928cc18
--- /dev/null
@@ -0,0 +1,65 @@
+gcc 
+libbusiness-isbn-perl 
+libjson-xs-perl 
+liblibrary-callnumber-lc-perl 
+libmarc-record-perl 
+libmarc-xml-perl 
+libuuid-tiny-perl 
+libxml-libxml-perl 
+libxml-libxslt-perl
+
+apache2-prefork-dev
+aspell
+aspell-en
+libbusiness-creditcard-perl
+libbusiness-edi-perl 
+libbusiness-isbn-data-perl
+libbusiness-issn-perl
+libbusiness-onlinepayment-authorizenet-perl
+libbusiness-onlinepayment-perl
+libdate-manip-perl
+libdatetime-format-builder-perl
+libdatetime-format-iso8601-perl
+libdatetime-format-mail-perl
+libdatetime-perl
+libdatetime-set-perl
+libdatetime-timezone-perl
+libdbd-pg-perl
+libdbd-pgsql 
+libdbi-dev 
+libemail-send-perl
+libemail-simple-perl
+libgd-graph3d-perl
+liblocale-maketext-lexicon-perl
+liblog-log4perl-perl
+libmarc-charset-perl 
+libncurses5-dev
+libnet-https-any-perl 
+libnet-ip-perl
+libnet-ldap-perl 
+libnet-server-perl
+libnet-ssh2-perl
+libnet-z3950-simple2zoom-perl
+libnet-z3950-simpleserver-perl
+libnet-z3950-zoom-perl 
+libnspr4-dev
+libole-storage-lite-perl
+libbz2-dev 
+libpq5
+libpq-dev
+librpc-xml-perl
+libsru-perl
+libssh2-1-dev
+libtext-aspell-perl
+libtext-csv-perl
+libuniversal-require-perl
+libunix-syslog-perl
+libyaz-dev
+postgresql-client-9.1
+libsoap-lite-perl
+libtest-warn-perl
+libtest-output-perl
+libparse-recdescent-perl
+yaz
+
+
diff --git a/files_for_build/deps/2.9.0.deps b/files_for_build/deps/2.9.0.deps
new file mode 100644 (file)
index 0000000..928cc18
--- /dev/null
@@ -0,0 +1,65 @@
+gcc 
+libbusiness-isbn-perl 
+libjson-xs-perl 
+liblibrary-callnumber-lc-perl 
+libmarc-record-perl 
+libmarc-xml-perl 
+libuuid-tiny-perl 
+libxml-libxml-perl 
+libxml-libxslt-perl
+
+apache2-prefork-dev
+aspell
+aspell-en
+libbusiness-creditcard-perl
+libbusiness-edi-perl 
+libbusiness-isbn-data-perl
+libbusiness-issn-perl
+libbusiness-onlinepayment-authorizenet-perl
+libbusiness-onlinepayment-perl
+libdate-manip-perl
+libdatetime-format-builder-perl
+libdatetime-format-iso8601-perl
+libdatetime-format-mail-perl
+libdatetime-perl
+libdatetime-set-perl
+libdatetime-timezone-perl
+libdbd-pg-perl
+libdbd-pgsql 
+libdbi-dev 
+libemail-send-perl
+libemail-simple-perl
+libgd-graph3d-perl
+liblocale-maketext-lexicon-perl
+liblog-log4perl-perl
+libmarc-charset-perl 
+libncurses5-dev
+libnet-https-any-perl 
+libnet-ip-perl
+libnet-ldap-perl 
+libnet-server-perl
+libnet-ssh2-perl
+libnet-z3950-simple2zoom-perl
+libnet-z3950-simpleserver-perl
+libnet-z3950-zoom-perl 
+libnspr4-dev
+libole-storage-lite-perl
+libbz2-dev 
+libpq5
+libpq-dev
+librpc-xml-perl
+libsru-perl
+libssh2-1-dev
+libtext-aspell-perl
+libtext-csv-perl
+libuniversal-require-perl
+libunix-syslog-perl
+libyaz-dev
+postgresql-client-9.1
+libsoap-lite-perl
+libtest-warn-perl
+libtest-output-perl
+libparse-recdescent-perl
+yaz
+
+
diff --git a/files_for_build/deps/2.9.1.deps b/files_for_build/deps/2.9.1.deps
new file mode 100644 (file)
index 0000000..5148e7f
--- /dev/null
@@ -0,0 +1,66 @@
+gcc 
+libbusiness-isbn-perl 
+libjson-xs-perl 
+liblibrary-callnumber-lc-perl 
+libmarc-record-perl 
+libmarc-xml-perl 
+libuuid-tiny-perl 
+libxml-libxml-perl 
+libxml-libxslt-perl
+
+apache2-prefork-dev
+aspell
+aspell-en
+libbusiness-creditcard-perl
+libbusiness-edi-perl 
+libbusiness-isbn-data-perl
+libbusiness-issn-perl
+libbusiness-onlinepayment-authorizenet-perl
+libbusiness-onlinepayment-perl
+libdate-manip-perl
+libdatetime-format-builder-perl
+libdatetime-format-iso8601-perl
+libdatetime-format-mail-perl
+libdatetime-perl
+libdatetime-set-perl
+libdatetime-timezone-perl
+libdbd-pg-perl
+libdbd-pgsql 
+libdbi-dev 
+libemail-send-perl
+libemail-simple-perl
+libexcel-writer-xlsx-perl
+libgd-graph3d-perl
+liblocale-maketext-lexicon-perl
+liblog-log4perl-perl
+libmarc-charset-perl 
+libncurses5-dev
+libnet-https-any-perl 
+libnet-ip-perl
+libnet-ldap-perl 
+libnet-server-perl
+libnet-ssh2-perl
+libnet-z3950-simple2zoom-perl
+libnet-z3950-simpleserver-perl
+libnet-z3950-zoom-perl 
+libnspr4-dev
+libole-storage-lite-perl
+libbz2-dev 
+libpq5
+libpq-dev
+librpc-xml-perl
+libsru-perl
+libssh2-1-dev
+libtext-aspell-perl
+libtext-csv-perl
+libuniversal-require-perl
+libunix-syslog-perl
+libyaz-dev
+postgresql-client-9.1
+libsoap-lite-perl
+libtest-warn-perl
+libtest-output-perl
+libparse-recdescent-perl
+yaz
+
+
diff --git a/files_for_build/deps/3.0.beta1.deps b/files_for_build/deps/3.0.beta1.deps
new file mode 100644 (file)
index 0000000..4cf4802
--- /dev/null
@@ -0,0 +1,72 @@
+gcc 
+libbusiness-isbn-perl 
+libjson-xs-perl 
+liblibrary-callnumber-lc-perl 
+libmarc-record-perl 
+libmarc-xml-perl 
+librose-uri-perl 
+libuuid-tiny-perl 
+libxml-libxml-perl 
+libxml-libxslt-perl
+apache2-dev
+aspell
+aspell-en
+libapache2-mod-perl2
+libbusiness-creditcard-perl
+libbusiness-isbn-data-perl
+libbusiness-issn-perl
+libbusiness-onlinepayment-authorizenet-perl
+libbusiness-onlinepayment-payflowpro-perl
+libbusiness-onlinepayment-perl
+libdate-manip-perl
+libdatetime-format-builder-perl
+libdatetime-format-iso8601-perl
+libdatetime-format-mail-perl
+libdatetime-perl
+libdatetime-set-perl
+libdatetime-timezone-perl
+libdbd-pg-perl
+libdbd-pgsql
+libdbi-dev
+libdbi1
+libemail-simple-perl
+libexcel-writer-xlsx-perl
+libgd-graph3d-perl
+liblocale-maketext-lexicon-perl
+liblog-log4perl-perl
+libmarc-charset-perl 
+libncurses5-dev
+libnet-ip-perl
+libnet-ldap-perl 
+libnet-server-perl
+libnet-ssh2-perl
+libnet-z3950-simple2zoom-perl
+libnet-z3950-simpleserver-perl
+libnet-z3950-zoom-perl 
+libnspr4-dev
+libole-storage-lite-perl
+libparent-perl
+libpq5
+libpq-dev
+libpcre3-dev
+librpc-xml-perl
+libsru-perl
+libssh2-1-dev
+libtemplate-plugin-posix-perl
+libtest-warn-perl
+libtest-output-perl
+libtext-aspell-perl
+libtext-csv-perl
+libuniversal-require-perl
+libunix-syslog-perl
+libyaz-dev
+postgresql-client-9.5
+libsoap-lite-perl
+libbz2-dev
+libparse-recdescent-perl
+yaz
+automake 
+autoconf 
+libtool 
+nodejs-legacy 
+npm
diff --git a/files_for_build/deps/checkdeps b/files_for_build/deps/checkdeps
new file mode 100644 (file)
index 0000000..0027fe9
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+if [ -z "$1" ]
+then
+       echo;echo "You must enter the file to check"
+       echo "eg. $0 filename"
+       echo
+       exit 1
+fi     
+
+for DEP in $(cat $1) 
+do 
+       if ! grep -q "$DEP" control-cluster
+       then
+               if echo $DEP | grep -q '\-dev'
+               then
+                       echo "Development Library: $DEP"
+               else
+                       echo "missing: $DEP"
+               fi
+       fi
+done
diff --git a/files_for_build/eg_database b/files_for_build/eg_database
new file mode 100755 (executable)
index 0000000..6f1dcb3
--- /dev/null
@@ -0,0 +1,102 @@
+#!/bin/bash
+### BEGIN INIT INFO
+# Provides:          postgresql
+# Required-Start:    $local_fs $remote_fs $network $syslog 
+# Required-Stop:     $local_fs $remote_fs $network $syslog 
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# X-Interactive:     true
+# Short-Description: Start/stop OpenSRF Services
+### END INIT INFO
+. /lib/lsb/init-functions
+
+OPENILS_BASE="/openils"
+OPENILS_CORE="${OPENILS_BASE}/conf/opensrf_core.xml"
+SRU_LOG="${OPENILS_BASE}/var/log/sru.log"
+
+PIDFILES="${OPENILS_BASE}/var/run"
+SIP_CONF="${OPENILS_BASE}/conf/oils_sip.xml"
+
+REP_LOCK="${OPENILS_BASE}/var/lock/reporter-LOCK"
+REP_NAME="Clark Kent, waiting for trouble"
+
+sru_name='simple2zoom'
+
+export PATH=$PATH:${OPENILS_BASE}/bin
+
+if [ $(whoami) != 'opensrf' ]; then
+ PERL5LIB='/openils/lib/perl5:$PERL5LIB';
+fi;
+
+cluster_start_database() {
+        sleep 1
+       log_daemon_msg "Starting Evergreen Database"
+       /etc/init.d/postgresql start
+       sleep 2
+       log_daemon_msg "Restarting Evergreen OpenSRF:"
+       for HEAD in $(cat /etc/hosts | grep head | awk '{ print $NF }')
+               do
+               echo "Stopping OpenSRF on $HEAD"
+               su - opensrf -c "ssh $HEAD /openils/bin/osrf_ctl.sh -a stop_all"
+               echo "Starting OpenSRF on $HEAD"
+               su - opensrf -c "ssh $HEAD /openils/bin/osrf_ctl.sh -a start_all"
+       done
+}
+
+start_database() {
+       sleep 1
+        log_daemon_msg "Starting Evergreen Database"
+        /etc/init.d/postgresql start
+        sleep 2
+        log_daemon_msg "Restarting Evergreen OpenSRF:"
+       echo "Stopping OpenSRF $(hostname -f)"
+       su - opensrf -c /openils/bin/osrf_ctl.sh -a stop_all
+       echo "Starting OpenSRF on $(hostname -f)"
+       su - opensrf -c /openils/bin/osrf_ctl.sh -a start_all
+}
+
+stop_database() {
+       log_daemon_msg "Stopping Evergreen Database"
+       /etc/init.d/postgresql stop
+       #for HEAD in $(cat /etc/hosts | grep head | awk '{ print $NF }')
+        #        do
+        #        echo "Stopping OpenSRF on $HEAD"
+        #        su - opensrf -c "ssh $HEAD /openils/bin/osrf_ctl.sh -a stop_all"
+        #        echo "Starting OpenSRF on $HEAD"
+        #        su - opensrf -c "ssh $HEAD /openils/bin/osrf_ctl.sh -a start_all"
+        #done
+       sleep 3
+}
+
+
+case "$1" in
+    start)
+        start_database
+    ;;
+    stop)
+        stop_database
+    ;;
+    restart)
+       log_daemon_msg "Restarting Evergreen Database:"
+        stop_database
+       sleep 2
+       log_daemon_msg "Restarting Evergreen OpenSRF:"
+        start_database
+    ;;
+*)
+        echo " * Usage: /etc/init.d/eg_opensrf {start|stop|restart}"
+        exit 1
+    ;;
+esac;
+
+
+
+
+#for HEAD in $(cat /etc/hosts | grep head | awk '{ print $NF }')
+#      do
+#      echo $HEAD
+#done
+
+#su - opensrf -c "ssh  brick01-head /openils/bin/osrf_ctl.sh -a start_all"
+
+#su - opensrf -c "ssh  brick01-head /openils/bin/osrf_ctl.sh -a stop_all"
diff --git a/files_for_build/postinst b/files_for_build/postinst
new file mode 100755 (executable)
index 0000000..2d9802c
--- /dev/null
@@ -0,0 +1,170 @@
+#!/bin/bash
+set -e
+STANDALONE=1 #
+. /usr/share/debconf/confmodule
+HFQDN=$(perl -MNet::Domain -e 'print Net::Domain::hostfqdn() . "\n";')
+OPENSRF_PREFIX="/openils"
+PAC="OPAC"
+DBNAME="evergreen"
+
+#simple fuction to only execute if _DEBUG is set to something, i.e. #> _DEBUG=1 apt-get install evergreen-ils
+DEBUG()
+{
+        if [ $_DEBUG > 0 ]; then  $@;fi
+}
+
+fixup_apache() 
+{
+# stop apache2 
+/etc/init.d/apache2 stop
+
+# keep the bad apache modules away --esi
+for m in deflate mpm_event; do a2dismod -f $m > /dev/null; done;
+for m in expires include proxy proxy_http rewrite ssl xmlent idlchunk mpm_prefork; do a2enmod -f $m > /dev/null; done;
+if [ ! -e "/etc/apache2/ssl" ] 
+       then
+       mkdir /etc/apache2/ssl
+       pushd /etc/apache2/ssl
+       openssl req -new -x509 -days 365 -nodes -out server.crt -keyout server.key -subj "/CN=$HFQDN"
+       popd
+fi
+sed -i "s^APACHE_RUN_USER=www-data^APACHE_RUN_USER=opensrf^g" /etc/apache2/envvars
+# since we're changing the apache run user, we have to chown this directory
+chown opensrf:opensrf /var/lock/apache2
+/usr/sbin/a2dissite 000-default > /dev/null
+/usr/sbin/a2ensite eg.conf > /dev/null
+
+# start apache2 
+/etc/init.d/apache2 start
+}
+
+init_db()
+{
+if su - postgres -c "createdb -T template0 --lc-ctype=C --lc-collate=C -E UNICODE evergreen" > /dev/null 2>&1
+       then
+               DEBUG echo "Setting up the evergreen database"
+               echo "Setting up the evergreen database"
+               cp /openils/share/doc/examples/sql/Pg/create_database_9_1.sql /tmp
+                chown postgres:postgres /tmp/create_database_9_1.sql
+                su postgres -c "psql -vdb_name=evergreen -vcontrib_dir=`pg_config --sharedir`/contrib -f /tmp/create_database_9_1.sql"
+               rm /tmp/create_database_9_1.sql
+       else
+               DEBUG echo "evergreen database already exists! not doing anything."
+fi
+}
+add_eg_db_user() 
+{
+if [ `su - postgres -c "psql -A -t -c \"select count(*) from pg_roles where rolname='evergreen'\""` = "0" ]
+        then   
+                DEBUG echo "Database user evergreen doesn't exist! Creating..."
+
+
+                db_get evergreen-ils/eg_db_password || true
+                PASS=$RET
+                tfile=`mktemp`
+                if [ ! -f "$tfile" ]; then
+                        echo "ERROR Creating temp file!"
+                        return 1
+                fi
+               
+                DEBUG echo "creating tmp pw file as $tfile"
+cat << EOF > $tfile
+CREATE ROLE evergreen PASSWORD '$RET' SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;
+EOF
+               chown postgres.postgres $tfile
+               su - postgres -c "psql -f $tfile"
+                rm $tfile
+                DEBUG echo "Set user opensrf's password"
+        else   
+                DEBUG echo "EG DB USER already exists, so not doing anything!"
+
+
+fi
+
+
+
+}
+
+
+configure_opensrf_xml()
+{
+       db_get evergreen-ils/eg_db_password
+       DBPW=$RET
+        db_get opensrf/ejabber_password
+        EJABBERPASS=$RET
+        cp $OPENSRF_PREFIX/conf/opensrf.xml $OPENSRF_PREFIX/conf/opensrf.xml_orig
+        cp $OPENSRF_PREFIX/conf/opensrf_core.xml $OPENSRF_PREFIX/conf/opensrf_core.xml_orig
+       cp $OPENSRF_PREFIX/conf/opensrf.xml.evergreen.example $OPENSRF_PREFIX/conf/opensrf.xml
+       cp $OPENSRF_PREFIX/conf/opensrf_core.xml.evergreen.example $OPENSRF_PREFIX/conf/opensrf_core.xml
+       sed -i "s|d>password|d>$RET|g" $OPENSRF_PREFIX/conf/opensrf.xml
+        sed -i "s|d>password|d>$RET|g" $OPENSRF_PREFIX/conf/opensrf_core.xml
+        sed -i "s/<localhost>/<$HFQDN>/g" $OPENSRF_PREFIX/conf/opensrf.xml
+        sed -i "s/<\/localhost>/<\/$HFQDN>/g" $OPENSRF_PREFIX/conf/opensrf.xml
+        sed -i "s/\.localhost</\.$HFQDN</g" $OPENSRF_PREFIX/conf/opensrf_core.xml
+        sed -i "s/\.localhost</\.$HFQDN</g" $OPENSRF_PREFIX/conf/opensrf.xml
+       sed -i "s^<user>postgres^<user>evergreen^g" $OPENSRF_PREFIX/conf/opensrf.xml
+        sed -i "s^<pw>postgres^<pw>$DBPW^g" $OPENSRF_PREFIX/conf/opensrf.xml
+       if [ "$PAC" = "TPAC" ]
+               then
+               echo
+       fi
+
+}
+populate_db () {       
+if [ "$(su - postgres -c "psql -l | grep $DBNAME | wc -l")" = "0" ] 
+then 
+       DEBUG echo "Populating database."
+       db_get evergreen-ils/eg_db_password
+       EGDBPW=$RET
+       db_get evergreen-ils/evergreen_admin_user
+       ADMIN_USER=$RET
+        db_get evergreen-ils/evergreen_admin_password
+       ADMIN_PASS=$RET 
+       cd /openils/bin/ && perl eg_db_config --update-config --service all --create-database --create-schema \
+       --create-offline --hostname localhost --port 5432 --user evergreen --password $EGDBPW \
+       --database $DBNAME --admin-user $ADMIN_USER --admin-pass $ADMIN_PASS
+else
+       echo 
+       echo "Not populating the database."     
+       echo "A database already exists."
+       sleep 2
+       echo
+fi
+}
+run_autogen()
+{
+       DEBUG echo "Running autogen"
+       cd /openils/bin
+       chown -R opensrf.opensrf /openils
+       su - opensrf -c "cd /openils/bin && ./autogen.sh -u"
+}
+fix_openils_perms()
+{
+
+chown opensrf.opensrf /openils -R
+
+}
+
+fixup_apache
+if [ $STANDALONE -eq 1 ]
+then 
+       #TODO:take this following line out once it's confirmed it's working without.
+       #init_db
+       add_eg_db_user
+       configure_opensrf_xml
+       populate_db
+fi
+fix_openils_perms
+ldconfig
+/etc/init.d/opensrf restart
+if [ $STANDALONE -eq 1 ]
+then 
+       run_autogen
+       echo
+       echo "The installation of Evergreen ILS is complete."
+       printf "To start using Evergreen browse to :- \nhttp://$(hostname -f) \n$(ifconfig  | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print "http://"$1}')\n"
+fi
+#Stop talking to debconf, must be after all db_ calls are done, but will hang script if not done
+db_stop
+ldconfig
+exit 0
diff --git a/files_for_build/postinst-cluster b/files_for_build/postinst-cluster
new file mode 100755 (executable)
index 0000000..1b2c910
--- /dev/null
@@ -0,0 +1,160 @@
+#!/bin/bash
+set -e
+
+. /usr/share/debconf/confmodule
+HFQDN=$(perl -MNet::Domain -e 'print Net::Domain::hostfqdn() . "\n";')
+#TODO?: pass this in from the build process somehow.
+OPENSRF_PREFIX="/openils"
+
+
+#simple fuction to only execute if _DEBUG is set to something, i.e. #> _DEBUG=1 apt-get install evergreen-ils
+DEBUG()
+{
+        if [ $_DEBUG > 0 ]; then  $@;fi
+}
+
+install_cpan_modules () 
+{
+for m in Business::EDI Library::CallNumber::LC Net::Z3950::Simple2ZOOM SRU JSON::XS MARC::Record MARC::File::XML; do PERL_MM_USE_DEFAULT=1 perl -MCPAN -e "install \"$m\";"; done
+for m in Class::DBI::Frozen::301; do \
+                echo "force install $m" | PERL_MM_USE_DEFAULT=1 perl -MCPAN -e shell ;\
+        done
+
+}
+fixup_apache() 
+{
+# keep the bad apache modules away --esi
+for m in deflate mpm_event; do a2dismod -f $m > /dev/null; done;
+for m in expires include proxy proxy_http rewrite ssl xmlent idlchunk mpm_prefork; do a2enmod $m > /dev/null; done;
+
+if [ ! -e "/etc/apache2/ssl" ] 
+       then
+       mkdir /etc/apache2/ssl
+       pushd /etc/apache2/ssl
+       openssl req -new -x509 -days 365 -nodes -out server.crt -keyout server.key -subj "/CN=$HFQDN"
+       popd
+fi
+
+sed -i "s^APACHE_RUN_USER=www-data^APACHE_RUN_USER=opensrf^g" /etc/apache2/envvars
+/usr/sbin/a2dissite 000-default > /dev/null
+/usr/sbin/a2ensite eg.conf > /dev/null
+/etc/init.d/apache2 restart
+}
+
+init_db()
+{
+#TODO: The create db command is copied from 1.6.1, not the one listed in the 2.0 install instructions.
+if su - postgres -c "createdb -E UNICODE evergreen" > /dev/null 2>&1
+       then
+               DEBUG echo "Setting up the evergreen database"
+               su - postgres -c "createlang plperl evergreen"
+               su - postgres -c "createlang plperlu evergreen"
+                su - postgres -c "createlang plpgsql evergreen"
+               su - postgres -c "psql -f /usr/share/postgresql/8.4/contrib/tablefunc.sql evergreen"
+               su - postgres -c "psql -f /usr/share/postgresql/8.4/contrib/tsearch2.sql evergreen"
+               su - postgres -c "psql -f /usr/share/postgresql/8.4/contrib/pgxml.sql evergreen"
+       else
+               DEBUG echo "evergreen database already exists! not doing anything."
+fi
+}
+add_eg_db_user() 
+{
+if [ `su - postgres -c "psql -A -t -c \"select count(*) from pg_roles where rolname='evergreen'\""` = "0" ]
+        then   
+                DEBUG echo "Database user evergreen doesn't exist! Creating..."
+
+
+                db_get evergreen-ils/eg_db_password || true
+                PASS=$RET
+                tfile=`mktemp`
+                if [ ! -f "$tfile" ]; then
+                        echo "ERROR Creating temp file!"
+                        return 1
+                fi
+               
+                DEBUG echo "creating tmp pw file as $tfile"
+cat << EOF > $tfile
+CREATE ROLE evergreen PASSWORD '$RET' SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN;
+EOF
+               chown postgres.postgres $tfile
+               su - postgres -c "psql -f $tfile"
+                rm $tfile
+                DEBUG echo "Set user opensrf's password"
+        else   
+                DEBUG echo "EG DB USER already exists, so not doing anything!"
+
+
+fi
+
+
+
+}
+
+
+configure_opensrf_xml()
+{
+       db_get evergreen-ils/eg_db_password
+       DBPW=$RET
+        db_get opensrf/ejabber_password
+        EJABBERPASS=$RET
+        cp $OPENSRF_PREFIX/conf/opensrf.xml $OPENSRF_PREFIX/conf/opensrf.xml_orig
+        cp $OPENSRF_PREFIX/conf/opensrf_core.xml $OPENSRF_PREFIX/conf/opensrf_core.xml_orig
+       cp $OPENSRF_PREFIX/conf/opensrf.xml.evergreen.example $OPENSRF_PREFIX/conf/opensrf.xml
+       cp $OPENSRF_PREFIX/conf/opensrf_core.xml.evergreen.example $OPENSRF_PREFIX/conf/opensrf_core.xml
+       cp $OPENSRF_PREFIX/conf/oils_web.xml.example $OPENSRF_PREFIX/conf/oils_web.xml
+       sed -i "s|d>password|d>$RET|g" $OPENSRF_PREFIX/conf/opensrf.xml
+        sed -i "s|d>password|d>$RET|g" $OPENSRF_PREFIX/conf/opensrf_core.xml
+        sed -i "s/<localhost>/<$HFQDN>/g" $OPENSRF_PREFIX/conf/opensrf.xml
+        sed -i "s/<\/localhost>/<\/$HFQDN>/g" $OPENSRF_PREFIX/conf/opensrf.xml
+        sed -i "s/\.localhost</\.$HFQDN</g" $OPENSRF_PREFIX/conf/opensrf_core.xml
+        sed -i "s/\.localhost</\.$HFQDN</g" $OPENSRF_PREFIX/conf/opensrf.xml
+       sed -i "s^<user>postgres^<user>evergreen^g" $OPENSRF_PREFIX/conf/opensrf.xml
+        sed -i "s^<pw>postgres^<pw>$DBPW^g" $OPENSRF_PREFIX/conf/opensrf.xml
+
+}
+populate_db()
+{      DEBUG echo "Populating database"
+       db_get evergreen-ils/eg_db_password
+       EGDBPW=$RET
+       db_get evergreen-ils/evergreen_admin_user
+       ADMIN_USER=$RET
+        db_get evergreen-ils/evergreen_admin_password
+       ADMIN_PASS=$RET 
+       cd /openils/bin/ && perl eg_db_config.pl --update-config --service all --create-schema \
+       --create-offline --hostname localhost --port 5432 --user evergreen --password $EGDBPW \
+       --database evergreen --admin-user $ADMIN_USER --admin-pass $ADMIN_PASS
+}
+run_autogen()
+{
+       DEBUG echo "Running autogen"
+       cd /openils/bin
+       su - opensrf -c "cd /openils/bin && ./autogen.sh -u"
+}
+fix_openils_perms()
+{
+
+chown opensrf.opensrf /openils -R
+
+}
+
+# install_cpan_modules ## now installed from repos. 
+fixup_apache
+#init_db
+#add_eg_db_user
+#configure_opensrf_xml
+fix_openils_perms
+#populate_db
+ldconfig
+#/etc/init.d/opensrf restart
+#run_autogen
+
+
+
+#echo
+#echo "The installation of Evergreen ILS is complete."
+#printf "To start using Evergreen browse to :- \nhttp://$(hostname -f) \n$(ifconfig  | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print "http://"$1}')\n"
+#######################################
+#Stop talking to debconf, must be after all db_ calls are done, but will hang script if not done
+db_stop
+ldconfig
+exit 0
diff --git a/files_for_build/postrm b/files_for_build/postrm
new file mode 100755 (executable)
index 0000000..9bfb739
--- /dev/null
@@ -0,0 +1,59 @@
+#! /bin/sh
+
+set -e
+
+#EJABBER_CONFIG_TARGET=/etc/ejabberd/ejabberd.cfg
+OPENSRF_PREFIX=/openils
+#OPENSRF_CONFIG_TARGET=$OPENSRF_PREFIX/conf
+HFQDN=$(perl -MNet::Domain -e 'print Net::Domain::hostfqdn() . "\n";')
+
+
+if [ -f /usr/share/debconf/confmodule ]; then
+    . /usr/share/debconf/confmodule
+fi
+case "$1" in
+    remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    ;;
+
+    purge)
+
+
+
+#########TODO LOOK INTO UCF
+#      if which ucf >/dev/null ; then
+#          ucf --purge $EJABBER_CONFIG_TARGET
+#      fi
+
+
+#      rm -Rf $OPENSRF_CONFIG_TARGET || true
+#      rm -Rf $OPENSRF_PREFIX || true
+
+
+    ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+# Automatically added by dh_installinit
+if [ "$1" = "purge" ] || [ "$1" = "remove" ]; then
+       echo "--placeholder--"
+fi
+# End automatically added section
+# Automatically added by dh_installdebconf
+if [ "$1" = purge ] && [ -e /usr/share/debconf/confmodule ]; then
+       #. /usr/share/debconf/confmodule
+       echo purging database
+       db_purge
+fi
+echo purged database
+# End automatically added section
+
+db_stop
+
+exit 0
diff --git a/files_for_build/rules b/files_for_build/rules
new file mode 100755 (executable)
index 0000000..64fc246
--- /dev/null
@@ -0,0 +1,54 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+
+# Uncomment this to turn on verbose mode.
+export DH_VERBOSE=1
+export DEB_LDFLAGS_MAINT_APPEND= -lm
+INSTALL_FOLDER=debian/evergreen-ils
+INSTALL_WEB=/openils/var/web
+STAFF_BUILD=rel_3_0_beta1
+%:
+       dh $@ 
+override_dh_auto_configure:
+       ldconfig
+       ./configure --prefix=/openils --sysconfdir=/openils/conf
+
+override_dh_auto_install:
+       #make -j1 DESTDIR=$(shell pwd)/$(INSTALL_FOLDER) WEBDIR="$(INSTALL_WEB)" STAFF_CLIENT_BUILD_ID=$(STAFF_BUILD) install
+       make -j1 DESTDIR=$(shell pwd)/$(INSTALL_FOLDER) WEBDIR="$(INSTALL_WEB)" STAFF_CLIENT_STAMP_ID=$(STAFF_BUILD) install
+       cd $(INSTALL_FOLDER)$(INSTALL_WEB)/xul && ln -s $(STAFF_BUILD)/server server
+
+override_dh_usrlocal:
+       #Skiping dh_usrlocal
+
+
+override_dh_prep:
+       rm -f debian/evergreen-ils.substvars
+       rm -f debian/evergreen-ils.*.debhelper
+       #stuff for apache since debian/evergreen-ils gets blown away
+       mkdir -p debian/evergreen-ils/usr/lib/apache2/modules/
+       mkdir -p debian/evergreen-ils/etc/apache2/mods-available/
+       mkdir -p debian/evergreen-ils/etc/apache2/sites-available
+       cp -Rv Open-ILS/examples/apache_24/eg_24.conf       debian/evergreen-ils/etc/apache2/sites-available/eg.conf
+       cp -Rv Open-ILS/examples/apache_24/eg_vhost_24.conf debian/evergreen-ils/etc/apache2/eg_vhost.conf
+       cp -Rv Open-ILS/examples/apache/eg_startup    debian/evergreen-ils/etc/apache2/
+override_dh_fixperms:
+       dh_fixperms
+       @echo "DEBUG MARK"
+       chmod +x debian/evergreen-ils/etc/apache2/eg_startup
+
+override_dh_install:
+       cp -r Open-ILS/src/extras/eg_config debian/evergreen-ils/openils/bin
+       cp -r Open-ILS/src/extras/eg_config debian/evergreen-ils/openils/conf
+       echo "LoadModule xmlent_module      /usr/lib/apache2/modules/mod_xmlent.so" > "debian/evergreen-ils/etc/apache2/mods-available/xmlent.load"
+       echo "LoadModule idlchunk_module    /usr/lib/apache2/modules/mod_idlchunk.so" > "debian/evergreen-ils/etc/apache2/mods-available/idlchunk.load"
+
+override_dh_shlibdeps:
+       dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
+override_dh_auto_test:
+       #skip!
diff --git a/files_for_build/rules-custom b/files_for_build/rules-custom
new file mode 100755 (executable)
index 0000000..3087285
--- /dev/null
@@ -0,0 +1,57 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+
+# Uncomment this to turn on verbose mode.
+export DH_VERBOSE=1
+export DEB_LDFLAGS_MAINT_APPEND= -lm
+INSTALL_FOLDER=debian/evergreen-ils
+INSTALL_WEB=/openils/var/web
+
+## Change this to one that suits you consortium eg. pines_rel_x_x_x
+STAFF_BUILD=pines_rel_3_0_beta1
+%:
+       dh $@ 
+override_dh_auto_configure:
+       ldconfig
+       ./configure --prefix=/openils --sysconfdir=/openils/conf
+
+override_dh_auto_install:
+       #make -j1 DESTDIR=$(shell pwd)/$(INSTALL_FOLDER) WEBDIR="$(INSTALL_WEB)" STAFF_CLIENT_BUILD_ID=$(STAFF_BUILD) install
+       make -j1 DESTDIR=$(shell pwd)/$(INSTALL_FOLDER) WEBDIR="$(INSTALL_WEB)" STAFF_CLIENT_STAMP_ID=$(STAFF_BUILD) install
+       cd $(INSTALL_FOLDER)$(INSTALL_WEB)/xul && ln -s $(STAFF_BUILD)/server server
+
+override_dh_usrlocal:
+       #Skiping dh_usrlocal
+
+override_dh_prep:
+       rm -f debian/evergreen-ils.substvars
+       rm -f debian/evergreen-ils.*.debhelper
+       #stuff for apache since debian/evergreen-ils gets blown away
+       mkdir -p debian/evergreen-ils/usr/lib/apache2/modules/
+       mkdir -p debian/evergreen-ils/etc/apache2/mods-available/
+       mkdir -p debian/evergreen-ils/etc/apache2/sites-available
+       cp -Rv Open-ILS/examples/apache_24/eg_24.conf       debian/evergreen-ils/etc/apache2/sites-available/eg.conf
+       cp -Rv Open-ILS/examples/apache_24/eg_vhost_24.conf debian/evergreen-ils/etc/apache2/eg_vhost.conf
+       cp -Rv Open-ILS/examples/apache/eg_startup    debian/evergreen-ils/etc/apache2/
+
+override_dh_fixperms:
+       dh_fixperms
+       @echo "DEBUG MARK"
+       chmod +x debian/evergreen-ils/etc/apache2/eg_startup
+
+override_dh_install:
+       cp -r Open-ILS/src/extras/eg_config debian/evergreen-ils/openils/bin
+       cp -r Open-ILS/src/extras/eg_config debian/evergreen-ils/openils/conf
+       echo "LoadModule xmlent_module      /usr/lib/apache2/modules/mod_xmlent.so" > "debian/evergreen-ils/etc/apache2/mods-available/xmlent.load"
+       echo "LoadModule idlchunk_module    /usr/lib/apache2/modules/mod_idlchunk.so" > "debian/evergreen-ils/etc/apache2/mods-available/idlchunk.load"
+
+override_dh_shlibdeps:
+       dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
+
+override_dh_auto_test:
+       #skip!
diff --git a/files_for_build/templates b/files_for_build/templates
new file mode 100644 (file)
index 0000000..097e175
--- /dev/null
@@ -0,0 +1,37 @@
+Template: evergreen-ils/eg_db_password
+Type: password
+Description: The password for the Evergreen database user:
+ Please provide the password for the Evergreen database user.
+ This password will be required to access the Evergreen database within postgresql.
+
+Template: evergreen-ils/verify_eg_db_password
+Type: password
+Description: The password for the Evergreen database user:
+ Please reenter the password for access to the Evergreen database within postgresql.
+
+Template: evergreen-ils/evergreen_admin_user
+Type: string 
+Description: The username for the Evergreen default admin user:
+ Please provide the username for the Evergreen default admin user.
+ This username will be required to access Evergreen as the admin user.
+
+Template: evergreen-ils/evergreen_admin_password
+Type: password
+Description: The password for the Evergreen default admin user:
+ Please provide the password for the Evergreen default admin user.
+ This password will be required for the Evergreen default admin user.
+
+Template: evergreen-ils/verify_evergreen_admin_password
+Type: password
+Description: The password for the Evergreen admin user:
+ Please reenter the password for the Evergreen admin user.
+
+Template: evergreen-ils/pass_nomatch
+Type: error
+Description: The passwords do not match!
+ The passwords you have typed do not match. Please try again.
+
+Template: evergreen-ils/admin_pass_nomatch                                            
+Type: error
+Description: The passwords do not match!
+ The passwords you have typed do not match. Please try again.