#!/bin/bash ApplyPatch () { PATCHDIR=$1 for files in `ls ${PATCHDIR}/*.patch` do echo ${files} patch -p1 < ${files} | tee -a ${SRC_ROOT}/patch.log done } PrintMessage () { MESSAGE=$1 echo echo "==================================================" echo "${MESSAGE}" echo "==================================================" echo } CreateInstallSet () { PrintMessage "Create installation packages" cd ${SRC_ROOT}/${INSTSETOO}/util if [ "${1}" != "" ]; then PKGFORMAT=${1} dmake openoffice ${BUILD_OPTION} else dmake openoffice ${BUILD_OPTION} fi if [ -e ${SRC_ROOT}/${INSTSETOO}/${OOOUTPATH}.pro/OpenOffice/install/ja ]; then PrintMessage "Packaging installation set" cd ${SRC_ROOT}/${INSTSETOO}/${OOOUTPATH}.pro/OpenOffice/install/ja case ${OOO_BUILD_SYSTEM} in LinuxIntel) PrintMessage "Packaging format : ${1}" if [ "${1}" = "portable" ]; then TEMP=`grep -in 'requires openofficeorg-core02' */openofficeorg-core01.install | sed 's/:/ /' | awk '{print $1}'` COUNT=`expr ${TEMP} - 1` head -n ${COUNT} */openofficeorg-core01.install > ${TEMP_DIR}/tempfile COUNT=`grep -in 'Backing up old versions' */openofficeorg-core01.install | sed 's/:/ /' | awk '{print $1}'` tail +${COUNT} */openofficeorg-core01.install >> ${TEMP_DIR}/tempfile cp ${TEMP_DIR}/tempfile */openofficeorg-core01.install for FILE in `grep -in 'echo $df' */*.install | grep -i 'print $11' | awk '{print $1}' | sed s/:.*//` do cp ${FILE} ${TEMP_DIR}/tempfile cat ${TEMP_DIR}/tempfile | sed "s/awk '{print \$11}'/awk '{print \$10}'/" > ${FILE} chmod 755 ${FILE} done rm -f */*.tar.gz rm -f ${TEMP_DIR}/tempfile fi tar jcvf ${SRC_ROOT}/OOo_${VERSION}_native_${OOO_BUILD_SYSTEM}_install_ja_${BUILDER_NAME}_${1}.tar.bz2 * ;; Win32Intel) zip -r ${SRC_ROOT}/OOo_${VERSION}_native_${OOO_BUILD_SYSTEM}_install_ja_${BUILDER_NAME}.zip * ;; *) tar zcvf ${SRC_ROOT}/OOo_${VERSION}_native_${OOO_BUILD_SYSTEM}_install_ja_${BUILDER_NAME}.tar.gz * ;; esac else PrintMessage "Installation sets not found, check installation sets." fi } # ================================================== # build environment settings # ================================================== #set -x [ `uname -s` = Linux ] && OOO_BUILD_SYSTEM=LinuxIntel [ `uname -s` = SunOS ] && OOO_BUILD_SYSTEM=SolarisSparc [ `uname -s` = SunOS -a `uname -m` = i86pc ] && OOO_BUILD_SYSTEM=SolarisIntel [ `uname -s` = SunOS -a "${COM}" = "GCC" ] && OOO_BUILD_SYSTEM=SolarisSparcGcc [ `uname -s` = SunOS -a `uname -m` = i86pc -a "${COM}" = "GCC" ] && OOO_BUILD_SYSTEM=SolarisIntelGcc [ `uname -s | grep CYGWIN` ] && OOO_BUILD_SYSTEM=Win32Intel [ `uname -s` = Linux -a `uname -m` = ppc ] && OOO_BUILD_SYSTEM=LinuxPPC [ `uname -s` = Linux -a `uname -m` = x86_64 ] && export OOO_BUILD_SYSTEM=LinuxAMD BUILDER_NAME=${BUILDER_NAME:-curvirgo} VERSION=${VERSION:-1.9m106} BUILD_NUMBER=${BUILD_NUMBER:-680} LANGUAGES=${LANGUAGES:-ja} PREFIX=${PREFIX:-/opt} SRC_ROOT=${SRC_ROOT:-`pwd`} TEMP_DIR=${TEMP_DIR:-${SRC_ROOT}/temp} PATCH_DIR=${PATCH_DIR:-${SRC_ROOT}/temp/patch/${BUILD_NUMBER}} SETUPGUIDE_DIR=${SETUPGUIDE_DIR:-${SRC_ROOT}/temp/pdf} JAVA_HOME=${JAVA_HOME:-/usr/java/j2sdk1.4.2_08} ANT_HOME=${ANT_HOME:-/usr/local/apache-ant-1.6.2} VC_DIR=${VC_DIR:-/cygdrive/c/progra~1/micros~1.net} CSC_DIR=${CSC_DIR:-/cygdrive/c/windows/micros~1.net/framew~1/v11~1.432} FRAME_HOME=${FRAME_HOME:-/cygdrive/c/progra~1/micros~1.net/sdk/v1.1} DIRECTX_HOME=${DIRECTX_HOME:-/cygdrive/c/progra~1/micros~1.0sd} WDEVENV_DIR=${WDEVENV_DIR:-/cygdrive/c/progra~1/conver~1} GNUCP=${GNUCP:-cp} GNUPATCH=${GNUPATCH:-/usr/bin/gpatch} GPC_LOCATE=ftp://ftp.cs.man.ac.uk/pub/toby/gpc GPC_ARCHIVE=gpc231.zip HELPCONTENT_LOCATE=http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent HELPCONTENT_ARCHIVE=helpcontent_81 MOZILLA_VERSION=1.7.5 MOZILLA_SOURCE_ARCHIVE=mozilla-source-${MOZILLA_VERSION}.tar.gz MOZILLA_SOURCE_LOCATE=http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla${MOZILLA_VERSION}/source MOZ_GLIB_ARCHIVE=vc71-glib-1.2.10-bin.zip MOZ_LIBIDL_ARCHIVE=vc71-libIDL-0.6.8-bin.zip MOZ_LIBS_LOCATE=ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32 MOZ_WINTOOLS_ARCHIVE=wintools.zip MOZ_WINTOOLS_LOCATE=http://ftp.mozilla.org/pub/mozilla.org/mozilla/source CONFIG_FLAGS="--with-lang=${LANGUAGES} --with-dict=ALL" CREATE_SDK=${CREATE_SDK:-Yes} CREATE_SOLVER=${CREATE_SOLVER:-Yes} PARALLEL_BUILD=${PARALLEL_BUILD:-Yes} MAX_JOBS=${MAX_JOBS:-10} BUILD_OPTION=${BUILD_OPTION:-"strip=true"} PACKAGE_FORMAT=${PACKAGE_FORMAT:-"rpm deb portable"} CRASHDUMP=${CRASHDUMP:-Yes} ENABLE_MOZILLA=${ENABLE_MOZILLA:-Yes} MOZILLA_BUILD=${MOZILLA_BUILD:-Yes} ENABLE_GTK_PLUGIN=${ENABLE_GTK_PLUGIN:-Yes} ENABLE_KDE_PLUGIN=${ENABLE_KDE_PLUGIN:-Yes} ORIGINALPATCH=${ORIGINALPATCH:-Yes} MERGE_LOCALIZE_DATA=${MERGE_LOCALIZE_DATA:-Yes} REPLACE_SPLASH=${REPLACE_SPLASH:-No} REPLACE_VENDOR_NAME=${REPLACE_VENDOR_NAME:-Yes} COPY_SYMBOL=${COPY_SYMBOL:-No} USE_ORIGINALICON=${USE_ORIGINALICON:-No} ATTACH_SETUPGUIDE=${ATTACH_SETUPGUIDE:-No} SETUPGUIDE_VERSION=${SETUPGUIDE_VERSION:-114} export JAVA_HOME ANT_HOME # ================================================== # Architecture specific settings # ================================================== case ${OOO_BUILD_SYSTEM} in LinuxIntel) GCC_VER=`gcc -v 2>&1 | tail -n 1 | awk '{print $3}' | sed 's/\.//g'` if [ ${GCC_VER} -ge 340 ] ; then OOOUTPATH=unxlngi6 # gcc 3.4 else OOOUTPATH=unxlngi4 # gcc 3.3 fi CONFIG_FLAGS="${CONFIG_FLAGS} --prefix=${PREFIX} --enable-gcc3" [ ${BUILD_NUMBER} != 645 ] && { CONFIG_FLAGS="${CONFIG_FLAGS} --enable-cups --enable-fontconfig --enable-libart --with-system-freetype" DEFAULT_PACKAGE=portable [ -f /etc/*-release ] && DEFAULT_PACKAGE=rpm [ -f /etc/debian-version ] && DEFAULT_PACKAGE=deb CONFIG_FLAGS="${CONFIG_FLAGS} --with-package-format=${DEFAULT_PACKAGE}" } ;; LinuxPPC) OOOUTPATH=unxlngppc CONFIG_FLAGS="${CONFIG_FLAGS} --prefix=${PREFIX} --enable-gcc3" ;; LinuxAMD) OOOUTPATH=unxlngx4 CONFIG_FLAGS="${CONFIG_FLAGS} --prefix=${PREFIX} --enable-gcc3" ;; SolarisSparc) OOOUTPATH=unxsols4 CONFIG_FLAGS="${CONFIG_FLAGS} --prefix=${PREFIX} --with-gnu-patch=${GNUPATCH} --with-gnu-cp=${GNUCP}" ;; SolarisIntel) OOOUTPATH=unxsoli4 CONFIG_FLAGS="${CONFIG_FLAGS} --prefix=${PREFIX} --with-gnu-patch=${GNUPATCH} --with-gnu-cp=${GNUCP}" ;; SolarisSparcGcc) OOOUTPATH=unxsogs CONFIG_FLAGS="${CONFIG_FLAGS} --prefix=${PREFIX} --with-gnu-patch=${GNUPATCH} --with-gnu-cp=${GNUCP}" ;; SolarisIntelGcc) OOOUTPATH=unxsogi CONFIG_FLAGS="${CONFIG_FLAGS} --prefix=${PREFIX} --with-gnu-patch=${GNUPATCH} --with-gnu-cp=${GNUCP}" ;; Win32Intel) CL_VER=`cl 2>&1 | head -n 1 | sed -e 's/(R)//' -e 's/\.//g' | awk '{print $7}'` if [ ${CL_VER} -ge 13103000 ] ; then OOOUTPATH=wntmsci10 # VC 2003 else OOOUTPATH=wntmsci8 # VC 2002 fi CONFIG_FLAGS="${CONFIG_FLAGS} --with-use-shell=tcsh" [ -d ${VC_DIR} ] && CONFIG_FLAGS="${CONFIG_FLAGS} --with-cl-home=${VC_DIR}" [ -d ${WDEVENV_DIR} ] && CONFIG_FLAGS="${CONFIG_FLAGS} --with-wdevenv-path=${WDEVENV_DIR}" [ ${BUILD_NUMBER} != 645 ] && { [ -d ${FRAME_HOME} ] && CONFIG_FLAGS="${CONFIG_FLAGS} --with-frame-home=${FRAME_HOME}" [ -d ${CSC_DIR} ] && CONFIG_FLAGS="${CONFIG_FLAGS} --with-csc-path=${CSC_DIR}" if [ -d ${DIRECTX_HOME} ]; then CONFIG_FLAGS="${CONFIG_FLAGS} --with-directx-home=${DIRECTX_HOME}" else CONFIG_FLAGS="${CONFIG_FLAGS} -disable-directx" fi } ;; *) PrintMessage "Operating system/CPU not supported yet." exit ;; esac [ -d ${JAVA_HOME} ] && CONFIG_FLAGS="${CONFIG_FLAGS} --with-jdk-home=${JAVA_HOME}" [ -d ${ANT_HOME} ] && CONFIG_FLAGS="${CONFIG_FLAGS} --with-ant-home=${ANT_HOME}" [ ${CRASHDUMP} = Yes ] && CONFIG_FLAGS="${CONFIG_FLAGS} --enable-crashdump --enable-symbols=SMALL" [ ${ENABLE_GTK_PLUGIN} = Yes -a ${OOO_BUILD_SYSTEM} != Win32Intel ] && CONFIG_FLAGS="${CONFIG_FLAGS} --enable-gtk" [ ${ENABLE_KDE_PLUGIN} = Yes -a ${OOO_BUILD_SYSTEM} != Win32Intel ] && CONFIG_FLAGS="${CONFIG_FLAGS} --enable-kde" # ================================================= # Create temporary directory if it doesn't exist # ================================================= [ -d ${TEMP_DIR} ] || { PrintMessage "Creating temporary directory" mkdir -p -v ${TEMP_DIR} } # ================================================= # Download GPC and extract # ================================================= [ -f ${SRC_ROOT}/external/gpc/gpc.c -a -f ${SRC_ROOT}/external/gpc/gpc.h ] || { PrintMessage "Download, unpack and copying GPC" [ -f ${TEMP_DIR}/${GPC_ARCHIVE} ] || ( cd ${TEMP_DIR} wget -c ${GPC_LOCATE}/${GPC_ARCHIVE} -O ${TEMP_DIR}/${GPC_ARCHIVE} ) unzip -o -d ${TEMP_DIR} ${TEMP_DIR}/${GPC_ARCHIVE} mv ${TEMP_DIR}/gpc231/* ${SRC_ROOT}/external/gpc/ rmdir ${TEMP_DIR}/gpc231 } # ================================================== # Download japanese helpcontent and extract # ================================================== [ ${BUILD_NUMBER} = 645 ] && { PrintMessage "Download, unpack and copying Japanges Help contents" mkdir -p ${TEMP_DIR}/help if [ ${OOO_BUILD_SYSTEM} = Win32Intel ]; then [ -f ${TEMP_DIR}/${HELPCONTENT_ARCHIVE}_wnt.zip ] || ( cd ${TEMP_DIR} wget -c ${HELPCONTENT_LOCATE}/${HELPCONTENT_ARCHIVE}_wnt.zip -O ${TEMP_DIR}/${HELPCONTENT_ARCHIVE}_wnt.zip ) unzip -o -d ${TEMP_DIR}/help ${TEMP_DIR}/${HELPCONTENT_ARCHIVE}_wnt.zip OS_TYPE=wnt else [ -f ${TEMP_DIR}/${HELPCONTENT_ARCHIVE}_unix.tgz ] || ( cd ${TEMP_DIR} wget -c ${HELPCONTENT_LOCATE}/${HELPCONTENT_ARCHIVE}_unix.tgz -O ${TEMP_DIR}/${HELPCONTENT_ARCHIVE}_unix.tgz ) gzip -dc ${TEMP_DIR}/${HELPCONTENT_ARCHIVE}_unix.tgz|(cd ${TEMP_DIR}/help; tar xvf - ) OS_TYPE=unx fi unzip -o -d ${SRC_ROOT}/helpcontent/${OS_TYPE}/common/japanese ${TEMP_DIR}/help/shared81.zip unzip -o -d ${SRC_ROOT}/helpcontent/${OS_TYPE}/swriter/japanese ${TEMP_DIR}/help/swriter81.zip unzip -o -d ${SRC_ROOT}/helpcontent/${OS_TYPE}/scalc/japanese ${TEMP_DIR}/help/scalc81.zip unzip -o -d ${SRC_ROOT}/helpcontent/${OS_TYPE}/schart/japanese ${TEMP_DIR}/help/schart81.zip unzip -o -d ${SRC_ROOT}/helpcontent/${OS_TYPE}/sbasic/japanese ${TEMP_DIR}/help/sbasic81.zip unzip -o -d ${SRC_ROOT}/helpcontent/${OS_TYPE}/smath/japanese ${TEMP_DIR}/help/smath81.zip unzip -o -d ${SRC_ROOT}/helpcontent/${OS_TYPE}/simpress/japanese ${TEMP_DIR}/help/simpress81.zip unzip -o -d ${SRC_ROOT}/helpcontent/${OS_TYPE}/sdraw/japanese ${TEMP_DIR}/help/sdraw81.zip } # ================================================= # Download mozilla source file # ================================================= if [ ${ENABLE_MOZILLA} = Yes ]; then CONFIG_FLAGS="${CONFIG_FLAGS} --enable-mozilla" [ ${MOZILLA_BUILD} = Yes ] && { CONFIG_FLAGS="${CONFIG_FLAGS} --enable-build-mozilla --with-mozilla-version=${MOZILLA_VERSION}" PrintMessage "Download mozilla source file" [ -f ${TEMP_DIR}/${MOZILLA_SOURCE_ARCHIVE} ] || ( cd ${TEMP_DIR} wget -c ${MOZILLA_SOURCE_LOCATE}/${MOZILLA_SOURCE_ARCHIVE} -O ${TEMP_DIR}/${MOZILLA_SOURCE_ARCHIVE} ) ${GNUCP} -v ${TEMP_DIR}/${MOZILLA_SOURCE_ARCHIVE} ${SRC_ROOT}/moz/download [ ${OOO_BUILD_SYSTEM} = Win32Intel ] && ( cd ${TEMP_DIR} [ -f ${TEMP_DIR}/${MOZ_GLIB_ARCHIVE} ] || wget -c ${MOZ_LIBS_LOCATE}/${MOZ_GLIB_ARCHIVE} -O ${TEMP_DIR}/${MOZ_GLIB_ARCHIVE} [ -f ${TEMP_DIR}/${MOZ_LIBIDL_ARCHIVE} ] || wget -c ${MOZ_LIBS_LOCATE}/${MOZ_LIBIDL_ARCHIVE} -O ${TEMP_DIR}/${MOZ_LIBIDL_ARCHIVE} [ -f ${TEMP_DIR}/${MOZ_WINTOOLS_ARCHIVE} ] || wget -c ${MOZ_WINTOOLS_LOCATE}/${MOZ_WINTOOLS_ARCHIVE} -O ${TEMP_DIR}/${MOZ_WINTOOLS_ARCHIVE} ${GNUCP} -v ${TEMP_DIR}/${MOZ_GLIB_ARCHIVE} ${SRC_ROOT}/moz/download ${GNUCP} -v ${TEMP_DIR}/${MOZ_LIBIDL_ARCHIVE} ${SRC_ROOT}/moz/download ${GNUCP} -v ${TEMP_DIR}/${MOZ_WINTOOLS_ARCHIVE} ${SRC_ROOT}/moz/download ) } else CONFIG_FLAGS="${CONFIG_FLAGS} --disable-mozilla" fi # ================================================= # Copy required libralies for Linux # ================================================= [ ${OOO_BUILD_SYSTEM} = LinuxIntel ] && { PrintMessage "Copying required libralies" LIBGCC_NAME=libgcc_s.so.1 if [ ${GCC_VER} -ge 340 ] ; then LIBCPP_NAME=libstdc++.so.6 # gcc 3.4 else LIBCPP_NAME=libstdc++.so.5 # gcc 3.3 fi mkdir -p ${SRC_ROOT}/solver/${BUILD_NUMBER}/${OOOUTPATH}.pro/lib DIR_LIST=`cat /etc/ld.so.conf | grep -e "^/"` DIR_LIST="${DIR_LIST} /usr/local/lib /lib" for LDDIR in ${DIR_LIST} do [ -f ${LDDIR}/${LIBGCC_NAME} ] && install -v -m644 ${LDDIR}/${LIBGCC_NAME} ${SRC_ROOT}/solver/${BUILD_NUMBER}/${OOOUTPATH}.pro/lib [ -f ${LDDIR}/${LIBCPP_NAME} ] && install -v -m644 ${LDDIR}/${LIBCPP_NAME} ${SRC_ROOT}/solver/${BUILD_NUMBER}/${OOOUTPATH}.pro/lib done } # ================================================= # Copy required DLL for Windows # ================================================= [ ${OOO_BUILD_SYSTEM} = Win32Intel ] && { PrintMessage "Copying required Dynamic link libralies" install -v -m755 ${TEMP_DIR}/unicows/* ${SRC_ROOT}/external/unicows install -v -m755 `which dbghelp.dll` ${SRC_ROOT}/external/dbghelp install -v -m755 `which msvcp70.dll` ${SRC_ROOT}/external/msvcp70 install -v -m755 `which msvcr70.dll` ${SRC_ROOT}/external/msvcp70 [ ${BUILD_NUMBER} != 645 ] && { install -v -m755 `which msvcp71.dll` ${SRC_ROOT}/external/msvcp71 install -v -m755 `which msvcr71.dll` ${SRC_ROOT}/external/msvcp71 } } # ================================================== # Fixed Japanese original issues # For the detail, see issue #10718 # ================================================== ( PrintMessage "Fixed Japanese original issues" cd ${SRC_ROOT}/extras/source/wordbook/lang if [ ${BUILD_NUMBER} = 645 ]; then mkdir -p japanese ${GNUCP} -fv english_us/soffice.dic japanese else mkdir -p ja ${GNUCP} -fv en-US/soffice.dic ja fi ) # ================================================== # Replace Vendor name # ================================================== [ ${REPLACE_VENDOR_NAME} = Yes ] && ( PrintMessage "Replace Vendor name" if [ ${BUILD_NUMBER} = 645 ]; then cd offmgr/source/offapp/intro else cd svx/source/intro fi [ -e makefile.mk.original ] || { ${GNUCP} makefile.mk makefile.mk.original echo s/\$\(USER\)\$\(USERNAME\)/${BUILDER_NAME}/ > ${TEMP_DIR}/sed.cmd cat makefile.mk.original | sed -f ${TEMP_DIR}/sed.cmd > makefile.mk rm -f ${TEMP_DIR}/sed.cmd } ) # ================================================== # Replace splash images # ================================================== [ ${REPLACE_SPLASH} = Yes ] && { PrintMessage "Replace splash images" if [ ${BUILD_NUMBER} = 645 ]; then ${GNUCP} -fv ${TEMP_DIR}/bmp/*.bmp ${SRC_ROOT}/offmgr/res else ${GNUCP} -fv ${TEMP_DIR}/bmp/*.bmp ${SRC_ROOT}/svx/res ${GNUCP} -fv ${TEMP_DIR}/bmp/*.png ${SRC_ROOT}/svx/res ${GNUCP} -fv ${TEMP_DIR}/bmp/*.png ${SRC_ROOT}/svx/source/intro ${GNUCP} -fv ${TEMP_DIR}/bmp/openintro.bmp ${SRC_ROOT}/svx/res/ooointro.bmp ${GNUCP} -fv ${TEMP_DIR}/bmp/*.png ${SRC_ROOT}/default_images/svx/res fi } # ================================================== # Replace original icon for Windows # ================================================== [ ${USE_ORIGINALICON} = Yes ] && { PrintMessage "Replace original icon" ${GNUCP} -fv ${TEMP_DIR}/OriginalIcon/* ${SRC_ROOT}/sysui/oowin32/office/icons } # ================================================== # Copy custom icon # ================================================== [ ${COPY_SYMBOL} = Yes ] && { PrintMessage "Copying custom toolbar icon" ${GNUCP} -fv ${TEMP_DIR}/icon/*.bmp ${SRC_ROOT}/extras/source/symbols } # ================================================== # Attache setupguide (Require : Add_InstGuide.patch) # ================================================== [ ${ATTACH_SETUPGUIDE} = Yes ] && { PrintMessage "Copying setupguide" mkdir -p ${SRC_ROOT}/solver/${BUILD_NUMBER}/${OOOUTPATH}.pro/bin if [ ${OOO_BUILD_SYSTEM} = Win32Intel ]; then install -v -m644 ${SETUPGUIDE_DIR}/InstGuide_${SETUPGUIDE_VERSION}_win.pdf ${SRC_ROOT}/solver/${BUILD_NUMBER}/${OOOUTPATH}.pro/bin else install -v -m644 ${SETUPGUIDE_DIR}/InstGuide_${SETUPGUIDE_VERSION}_linux_solaris.pdf ${SRC_ROOT}/solver/${BUILD_NUMBER}/${OOOUTPATH}.pro/bin fi } # ================================================== # Set enviromental values for ccache # ================================================== [ ${OOO_BUILD_SYSTEM} != Win32Intel -a -x `which ccache` ] && { if [ ${OOO_BUILD_SYSTEM} = SolarisSparc -o ${OOO_BUILD_SYSTEM} = SolarisIntel ]; then export CC="ccache cc" export CXX="CC" else export CC="ccache gcc" export CXX="ccache g++" fi } # ================================================== # configure # ================================================== PrintMessage "Running configure script." cd ${SRC_ROOT}/config_office ./configure ${CONFIG_FLAGS} || { PrintMessage "Configure failed. Fix it!" exit } cd ${SRC_ROOT} # ================================================== # Set enviroment values and bootstrap # ================================================== if [ ${OOO_BUILD_SYSTEM} = Win32Intel ]; then source ./winenv.set.sh else source ./${OOO_BUILD_SYSTEM}Env.Set.sh fi if [ -f bootstrap ]; then PrintMessage "Bootstrapping." ./bootstrap else PrintMessage "Bootstrap failed" exit fi # ================================================== # Patching original patches # ================================================== [ ${ORIGINALPATCH} = Yes ] && { if [ -e ${SRC_ROOT}/patch.log ]; then [ ${BUILD_NUMBER} = 645 ] && patch -p1 < ${PATCH_DIR}/helpcontent_font_fix_${OS_TYPE}.patch else PrintMessage "Patching original patches" [ -e ${PATCH_DIR} ] && ApplyPatch ${PATCH_DIR} [ -e ${PATCH_DIR}/${OOO_BUILD_SYSTEM} ] && ApplyPatch ${PATCH_DIR}/${OOO_BUILD_SYSTEM} echo '#!/bin/bash' > ${SRC_ROOT}/remove_patched_file.sh grep -i "patching file" ${SRC_ROOT}/patch.log | sed -e 's/patching file /rm -fv /' >> ${SRC_ROOT}/remove_patched_file.sh chmod 755 ${SRC_ROOT}/remove_patched_file.sh fi } # ================================================== # MAXPROCESS=1 fixes # ================================================== for file in cppuhelper/source/makefile.mk \ package/source/zippackage/makefile.mk \ configmgr/source/cppugen/makefile.mk \ cpputools/source/registercomponent/makefile.mk \ cpputools/source/regsingleton/makefile.mk \ cpputools/source/unoexe/makefile.mk \ io/source/*/makefile.mk \ eventattacher/source/makefile.mk \ stoc/source/*/makefile.mk \ */source/unotypes/makefile.mk \ */unotypes/makefile.mk \ unotools/source/config/makefile.mk \ unotools/source/i18n/makefile.mk \ remotebridges/source/*/makefile.mk \ shell/source/cmdmail/makefile.mk \ shell/source/backends/localebe/makefile.mk \ shell/source/backends/gconfbe/makefile.mk \ shell/source/unix/exec/makefile.mk \ testtools/source/bridgetest/makefile.mk \ dtrans/source/X11/makefile.mk \ dtrans/source/generic/makefile.mk \ dtrans/source/cnttype/makefile.mk do awk '{ if ($0 ~ "^PRJNAME=") print "MAXPROCESS=1"; print ; }' < ${file} > ${file}.MAXPROCESS mv -f ${file}.MAXPROCESS ${file} done # ================================================== # Prepare localize tools # ================================================== [ ${BUILD_NUMBER} != 645 -a ${MERGE_LOCALIZE_DATA} = Yes ] && { PrintMessage "Prepare localize tools." cd transex3 perl ${SOLARENV}/bin/build.pl --all || { echo "Can't prepare localize tool, fix the bug above." exit } perl ${SOLARENV}/bin/deliver.pl cd ${SRC_ROOT} } # ================================================== # Merging localize data # ================================================== [ ${BUILD_NUMBER} != 645 -a ${MERGE_LOCALIZE_DATA} = Yes ] && { PrintMessage "Merging localize data." for file in `ls ${TEMP_DIR}/sdf/*.sdf` do localize -m -l ja -f ${file} done } # ================================================== # Start build process # ================================================== if [ ${BUILD_NUMBER} != 645 ]; then INSTSETOO=instsetoo_native BUILD_OPTION="${BUILD_OPTION} alllangiso=ja" else INSTSETOO=instsetoo BUILD_OPTION="${BUILD_OPTION} alllangext=81" fi PrintMessage "Start build process." #[ ${BUILD_NUMBER} != 645 -a -e ${SRC_ROOT}/wizards/${OOOUTPATH}.pro ] && rm -fr ${SRC_ROOT}/wizards/${OOOUTPATH}.pro &> /dev/null #[ ${BUILD_NUMBER} != 645 -a -e ${SRC_ROOT}/expat/${OOOUTPATH}.pro ] && rm -fr ${SRC_ROOT}/expat/${OOOUTPATH}.pro &> /dev/null # ================================================== # Start OOo build process # ================================================== ( if [ ${OOO_BUILD_SYSTEM} != Win32Intel -a ${PARALLEL_BUILD} = Yes ]; then cd ${SRC_ROOT}/${INSTSETOO}/util PrintMessage "Parallel Building ..." BUILD_OPTION="${BUILD_OPTION} -P${MAX_JOBS}" perl ${SOLARENV}/bin/build.pl --all product=full ${BUILD_OPTION} || { echo "Dmake failed, fix the bug above." exit } else PrintMessage "Serial Building ..." dmake ${BUILD_OPTION} || { echo "Dmake failed, fix the bug above." exit } fi strip ${SRC_ROOT}/solver/${BUILD_NUMBER}/${OOOUTPATH}.pro/bin/{loader.bin,gnomeint,javaldx,pagein,msfontextract,ooovirg} ) # ================================================== # Create SDK packages # ================================================== ( [ ${CREATE_SDK} = Yes ] && { PrintMessage "Packaging SDK" cd sdk_oo perl ${SOLARENV}/bin/build.pl --from sdk_oo if [ ${OOO_BUILD_SYSTEM} != Win32Intel ] then ${GNUCP} ${OOOUTPATH}.pro/bin/OpenOffice.org*_SDK.tar.gz ${SRC_ROOT}/OOo_${VERSION}_${OOO_BUILD_SYSTEM}_sdk_ja_${BUILDER_NAME}.tar.gz else ${GNUCP} ${OOOUTPATH}.pro/bin/OpenOffice.org*_SDK.zip ${SRC_ROOT}/OOo_${VERSION}_${OOO_BUILD_SYSTEM}_sdk_ja_${BUILDER_NAME}.zip fi } ) # ================================================== # Create Solver packages # ================================================== ( [ ${CREATE_SOLVER} = Yes ] && { PrintMessage "Packaging SOLVER" if [ ${OOO_BUILD_SYSTEM} != Win32Intel ]; then tar zcvf ${SRC_ROOT}/OOo_${VERSION}_${OOO_BUILD_SYSTEM}_solver_ja_${BUILDER_NAME}.tar.gz solver else zip -r ${SRC_ROOT}/OOo_${VERSION}_${OOO_BUILD_SYSTEM}_solver_ja_${BUILDER_NAME}.zip solver fi } ) # ================================================== # Pack Installation sets # ================================================== if [ ${BUILD_NUMBER} != 645 ]; then if [ ${OOO_BUILD_SYSTEM} = LinuxIntel ]; then for PKG in ${PACKAGE_FORMAT} do CreateInstallSet ${PKG} done else CreateInstallSet fi else PrintMessage "Create installation packages" cd ${SRC_ROOT}/${INSTSETOO}/util dmake ${BUILD_OPTION} if [ -e ${SRC_ROOT}/${INSTSETOO}/${OOOUTPATH}.pro/81/normal ]; then PrintMessage "Packaging installation set" cd ${SRC_ROOT}/${INSTSETOO}/${OOOUTPATH}.pro/81 [ -e install ] && rm -fr install &> /dev/null mv normal install [ ${ATTACH_SETUPGUIDE} = Yes ] && { if [ ${OOO_BUILD_SYSTEM} = Win32Intel ]; then ${GNUCP} ${SETUPGUIDE_DIR}/InstGuide_${SETUPGUIDE_VERSION}_win.pdf install/setupguide.pdf else ${GNUCP} ${SETUPGUIDE_DIR}/InstGuide_${SETUPGUIDE_VERSION}_linux_solaris.pdf install/setupguide.pdf fi } if [ ${OOO_BUILD_SYSTEM} = Win32Intel ]; then zip -r ${SRC_ROOT}/OOo_${VERSION}_${OOO_BUILD_SYSTEM}_install_ja_${BUILDER_NAME}.zip install else tar jcvf ${SRC_ROOT}/OOo_${VERSION}_${OOO_BUILD_SYSTEM}_install_ja_${BUILDER_NAME}.tar.bz2 install fi else PrintMessage "Installation sets not found, check installation sets." fi fi