From 816a17be9c09923ad160f38ff22c22a4a6854a73 Mon Sep 17 00:00:00 2001 From: Thomas Berezansky Date: Thu, 2 Aug 2012 10:20:54 -0400 Subject: [PATCH] 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 Signed-off-by: Ben Shum Signed-off-by: Dan Scott --- Open-ILS/updates/manualupdate.html | 21 +++++++-- Open-ILS/xul/staff_client/Makefile.am | 42 ++++++++++++----- .../xul/staff_client/external/make_updates.sh | 46 ++++++++++++++----- 3 files changed, 82 insertions(+), 27 deletions(-) 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 "

Linux

" + echo "

Linux (32 bit)

" VERSION=$(cat ../patch/lin/VERSION) - if [ -f clients/${VERSION}.tar.bz2 ]; then - echo "

A bundle for Linux is available.

" - echo "

Click here to download the bundle (version $VERSION)

" + if [ -f clients/${VERSION}_i686.tar.bz2 ]; then + echo "

A 32 bit bundle for Linux is available.

" + echo "

Click here to download the bundle (version $VERSION)

" else - echo "

No bundle is currently available for Linux.

" + echo "

No 32 bit bundle is currently available for Linux.

" fi fi +if [ -f ../patch/lin64/VERSION ]; then + echo "

Linux (64 bit)

" + VERSION=$(cat ../patch/lin64/VERSION) + if [ -f clients/${VERSION}_x86_64.tar.bz2 ]; then + echo "

A 64 bit bundle for Linux is available.

" + echo "

Click here to download the bundle (version $VERSION)

" + else + echo "

No 64 bit bundle is currently available for Linux.

" + fi +fi + if [ -f ../patch/VERSION ]; then echo "

XULRunner App Bundle

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