From: Thomas Berezansky <tsbere@mvlc.org>
Date: Thu, 2 Aug 2012 14:20:54 +0000 (-0400)
Subject: Add 64 bit Linux Client building
X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=816a17be9c09923ad160f38ff22c22a4a6854a73;p=evergreen%2Fmasslnc.git

Add 64 bit Linux Client building

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>
---

diff --git a/Open-ILS/updates/manualupdate.html b/Open-ILS/updates/manualupdate.html
index 09de1b6beb..0330a6419a 100755
--- a/Open-ILS/updates/manualupdate.html
+++ b/Open-ILS/updates/manualupdate.html
@@ -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)
diff --git a/Open-ILS/xul/staff_client/Makefile.am b/Open-ILS/xul/staff_client/Makefile.am
index 6261062645..2da944225d 100644
--- a/Open-ILS/xul/staff_client/Makefile.am
+++ b/Open-ILS/xul/staff_client/Makefile.am
@@ -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
diff --git a/Open-ILS/xul/staff_client/external/make_updates.sh b/Open-ILS/xul/staff_client/external/make_updates.sh
index 7ba79d244b..d708e91cf6 100755
--- a/Open-ILS/xul/staff_client/external/make_updates.sh
+++ b/Open-ILS/xul/staff_client/external/make_updates.sh
@@ -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