Add 64 bit Linux Client building
authorThomas Berezansky <tsbere@mvlc.org>
Thu, 2 Aug 2012 14:20:54 +0000 (10:20 -0400)
committerDan Scott <dscott@laurentian.ca>
Thu, 16 Aug 2012 16:27:06 +0000 (12:27 -0400)
Also re-labels most of the 32 bit client as such. The update channel was
left as just "lin" instead of "lin32" for compatibility reasons.

Signed-off-by: Thomas Berezansky <tsbere@mvlc.org>
Signed-off-by: Ben Shum <bshum@biblio.org>
Signed-off-by: Dan Scott <dscott@laurentian.ca>
Open-ILS/updates/manualupdate.html
Open-ILS/xul/staff_client/Makefile.am
Open-ILS/xul/staff_client/external/make_updates.sh

index 09de1b6..0330a64 100755 (executable)
@@ -24,15 +24,26 @@ if [ -f ../patch/win/VERSION ]; then
        fi
 fi
 if [ -f ../patch/lin/VERSION ]; then
-       echo "<h2>Linux</h2>"
+       echo "<h2>Linux (32 bit)</h2>"
        VERSION=$(cat ../patch/lin/VERSION)
-       if [ -f clients/${VERSION}.tar.bz2 ]; then
-               echo "<p>A bundle for Linux is available.</p>"
-               echo "<p><a href=\"clients/${VERSION}.tar.bz2\">Click here to download the bundle (version $VERSION)</a></p>"
+       if [ -f clients/${VERSION}_i686.tar.bz2 ]; then
+               echo "<p>A 32 bit bundle for Linux is available.</p>"
+               echo "<p><a href=\"clients/${VERSION}_i686.tar.bz2\">Click here to download the bundle (version $VERSION)</a></p>"
        else
-               echo "<p>No bundle is currently available for Linux.</p>"
+               echo "<p>No 32 bit bundle is currently available for Linux.</p>"
        fi
 fi
+if [ -f ../patch/lin64/VERSION ]; then
+       echo "<h2>Linux (64 bit)</h2>"
+       VERSION=$(cat ../patch/lin64/VERSION)
+       if [ -f clients/${VERSION}_x86_64.tar.bz2 ]; then
+               echo "<p>A 64 bit bundle for Linux is available.</p>"
+               echo "<p><a href=\"clients/${VERSION}_x86_64.tar.bz2\">Click here to download the bundle (version $VERSION)</a></p>"
+       else
+               echo "<p>No 64 bit bundle is currently available for Linux.</p>"
+       fi
+fi
+
 if [ -f ../patch/VERSION ]; then
        echo "<h2>XULRunner App Bundle</h2>"
        VERSION=$(cat ../patch/VERSION)
index 6261062..2da9442 100644 (file)
@@ -13,7 +13,8 @@ export CLOSURE_COMPILER_JAR = ~/closure-compiler/compiler.jar
 # XULRunner is our base.
 XULRUNNER_VERSION=14.0.1
 XULRUNNER_WINFILE=xulrunner-$(XULRUNNER_VERSION).en-US.win32.zip
-XULRUNNER_LINUXFILE=xulrunner-$(XULRUNNER_VERSION).en-US.linux-i686.tar.bz2
+XULRUNNER_LINUX32FILE=xulrunner-$(XULRUNNER_VERSION).en-US.linux-i686.tar.bz2
+XULRUNNER_LINUX64FILE=xulrunner-$(XULRUNNER_VERSION).en-US.linux-x86_64.tar.bz2
 XULRUNNER_URL=ftp://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/$(XULRUNNER_VERSION)/runtimes/
 XULRUNNER_MAJOR_VERSION=$$(echo ${XULRUNNER_VERSION} | cut -d. -f1)
 
@@ -212,7 +213,8 @@ compress-javascript: build
 
 clients:
        @make win-client
-       @make linux-client
+       @make linux32-client
+       @make linux64-client
        @make generic-client
 
 # By doing this we don't change the original build in the build folder
@@ -334,15 +336,27 @@ win-xulrunner: unzip_check branding_check client_app
        @if [ ${XULRUNNER_MAJOR_VERSION} -ge 4 -a -f client/xulrunner/mozcrt19.dll ]; then cp client/xulrunner/mozcrt19.dll client/; fi # XULRunner 4+ need this, if the file exists
        @if [ ${XULRUNNER_MAJOR_VERSION} -ge 9 -a -f client/xulrunner/mozutils.dll ]; then cp client/xulrunner/mozutils.dll client/; fi # XULRunner 9+ need this, if the file exists
 
-linux-xulrunner: client_app
-       @echo 'Preparing Linux xulrunner'
-       @if [ ! -f ${XULRUNNER_LINUXFILE} ]; then wget ${XULRUNNER_URL}${XULRUNNER_LINUXFILE}; fi
-       @cd client; tar xjf ../${XULRUNNER_LINUXFILE}; cd ..
+linux32-xulrunner: client_app
+       @echo 'Preparing Linux (32 bit) xulrunner'
+       @if [ ! -f ${XULRUNNER_LINUX32FILE} ]; then wget ${XULRUNNER_URL}${XULRUNNER_LINUX32FILE}; fi
+       @cd client; tar xjf ../${XULRUNNER_LINUX32FILE}; cd ..
        @if [ -f client/defaults/preferences/autoupdate.js ]; then echo 'pref("app.update.channel","lin");' >> client/defaults/preferences/autochannel.js; fi;
        @if [ -d branding_lin ]; then cp -fR branding_lin/* client/; fi
        @echo 'Preparing stub'
        @mv client/xulrunner/xulrunner-stub client/evergreen
 
+linux64-xulrunner: client_app
+       @echo 'Preparing Linux (64 bit) xulrunner'
+       @if [ ! -f ${XULRUNNER_LINUX64FILE} ]; then wget ${XULRUNNER_URL}${XULRUNNER_LINUX64FILE}; fi
+       @cd client; tar xjf ../${XULRUNNER_LINUX64FILE}; cd ..
+       @if [ -f client/defaults/preferences/autoupdate.js ]; then echo 'pref("app.update.channel","lin64");' >> client/defaults/preferences/autochannel.js; fi;
+# Note: We assume that we want 32 bit branding files, but provide a way to override for 64 bit
+       @if [ -d branding_lin ]; then cp -fR branding_lin/* client/; fi
+       @if [ -d branding_lin64 ]; then cp -fR branding_lin64/* client/; fi
+       @echo 'Preparing stub'
+       @mv client/xulrunner/xulrunner-stub client/evergreen
+
+
 # Build a windows installer.
 
 win-client: nsis_check win-xulrunner
@@ -353,15 +367,21 @@ win-client: nsis_check win-xulrunner
 
 # For linux, just build a tar.bz2 archive
 
-linux-client: linux-xulrunner
-       @echo 'Packing as evergreen_staff_client.tar.bz2'
-       @rm -f evergreen_staff_client.tar.bz2
-       @cd client; tar cjf ../evergreen_staff_client.tar.bz2 *; cd ..
+linux32-client: linux32-xulrunner
+       @echo 'Packing as evergreen_staff_client_i686.tar.bz2'
+       @rm -f evergreen_staff_client_i686.tar.bz2
+       @cd client; tar cjf ../evergreen_staff_client_i686.tar.bz2 *; cd ..
+       @echo 'Done'
+
+linux64-client: linux64-xulrunner
+       @echo 'Packing as evergreen_staff_client_x86_64.tar.bz2'
+       @rm -f evergreen_staff_client_x86_64.tar.bz2
+       @cd client; tar cjf ../evergreen_staff_client_x86_64.tar.bz2 *; cd ..
        @echo 'Done'
 
 # For running the updates script with the correct updates directory, optionally building clients as well
 
-updates updates-client win-updates win-updates-client linux-updates linux-updates-client generic-updates generic-updates-client extension-updates:
+updates updates-client win-updates win-updates-client linux32-updates linux32-updates-client linux64-updates linux64-updates-client generic-updates generic-updates-client extension-updates:
        @if [ ! -f build/BUILD_ID ]; then echo 'ERROR! Current build not stamped!'; exit 1; fi
        @if [ ! -x external/make_updates.sh ]; then chmod u+x external/make_updates.sh; fi
        @if [ ! -x external/make_updates.sh ]; then echo 'ERROR! external/make_updates.sh is not executable!'; exit 1; fi
index 7ba79d2..d708e91 100755 (executable)
@@ -45,7 +45,8 @@ BZIP2=${BZIP2:-bzip2}
 
 GEN_UPDATES=0
 WIN_UPDATES=0
-LINUX_UPDATES=0
+LINUX32_UPDATES=0
+LINUX64_UPDATES=0
 EXT_UPDATES=0
 CLIENTS=0
 case "$2" in
@@ -57,9 +58,13 @@ case "$2" in
        echo "Building Windows Updates only"
        WIN_UPDATES=1
        ;;
-       linux-updates*)
-       echo "Building Linux Updates only"
-       LINUX_UPDATES=1
+       linux32-updates*)
+       echo "Building Linux (32 bit) Updates only"
+       LINUX32_UPDATES=1
+       ;;
+       linux64-updates*)
+       echo "Building Linux (64 bit) Updates only"
+       LINUX32_UPDATES=1
        ;;
        extension-updates*)
        echo "Building Extension Updates only"
@@ -69,7 +74,8 @@ case "$2" in
        echo "Building All Updates"
        GEN_UPDATES=1
        WIN_UPDATES=1
-       LINUX_UPDATES=1
+       LINUX32_UPDATES=1
+       LINUX64_UPDATES=1
        EXT_UPDATES=1
        ;;
 esac
@@ -296,18 +302,36 @@ if [ $WIN_UPDATES -eq 1 ]; then
        cleanup_files
 fi
 
-# Linux Updates - Linux XULRunner, update channel of "lin'
-if [ $LINUX_UPDATES -eq 1 ]; then
+# Linux 32 bit Updates - Linux XULRunner, update channel of "lin"
+if [ $LINUX32_UPDATES -eq 1 ]; then
        PATCHPATH="$prefix/patch/lin"
        PUBPATH="$prefix/pub/lin"
        ARCHIVEPATH="$prefix/archives/lin"
        if [ $CLIENTS -eq 1 ]; then
-               make linux-client
+               make linux32-client
+               mkdir -p "$prefix/pub/clients/"
+               find "$prefix/pub/clients/" -name '*_i686.tar.bz2' -delete
+               mv evergreen_staff_client_i686.tar.bz2 "$prefix/pub/clients/${VERSION}_i686.tar.bz2"
+       else
+               make linux32-xulrunner
+       fi
+       make_full_update
+       make_partial_updates
+       cleanup_files
+fi
+
+# Linux 64 bit Updates - Linux XULRunner, update channel of "lin64"
+if [ $LINUX64_UPDATES -eq 1 ]; then
+       PATCHPATH="$prefix/patch/lin64"
+       PUBPATH="$prefix/pub/lin64"
+       ARCHIVEPATH="$prefix/archives/lin64"
+       if [ $CLIENTS -eq 1 ]; then
+               make linux64-client
                mkdir -p "$prefix/pub/clients/"
-               find "$prefix/pub/clients/" -name '*.tar.bz2' -delete
-               mv evergreen_staff_client.tar.bz2 "$prefix/pub/clients/${VERSION}.tar.bz2"
+               find "$prefix/pub/clients/" -name '*_x86_64.tar.bz2' -delete
+               mv evergreen_staff_client_x86_64.tar.bz2 "$prefix/pub/clients/${VERSION}_x86_64.tar.bz2"
        else
-               make linux-xulrunner
+               make linux64-xulrunner
        fi
        make_full_update
        make_partial_updates