#!/bin/bash -x # # Skript pro build OpenOffice.org 1.0.1 CZ # # # (c) Pavel Janík , 2002, 2003 # (c) Dan Ohnesorg , 2002 # (c) Josef Cacek , 2002 # # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # # Zdrojové texty v adresáři Sources # # OpenOffice.org source code # http://mirrors.sunsite.dk/openoffice/1.0.1/OOo_1.0.1_source.tar.gz # # General Polygon Clipper source code # ftp://ftp.cs.man.ac.uk/pub/toby/gpc/gpc231.tar.Z # # Freetype 2.1.2 # ftp://ftp.freetype.org/freetype/freetype-2.1.2.tar.gz # # Český slovník pro MySpell # http://dict.progbits.com/cs_CZ.zip # Německý slovník pro MySpell # http://dict.progbits.com/de_DE.zip # Anglický slovník pro MySpell # http://dict.progbits.com/en_GB.zip # Francouzský slovník pro MySpell # http://dict.progbits.com/fr_FR.zip # Slovenský slovník pro MySpell # http://dict.progbits.com/sk_SK.zip export BASE_DIRECTORY=/cygdrive/d/OOo/oocz export PATCHES=${BASE_DIRECTORY}/Patches export FILES=${BASE_DIRECTORY}/Files export SOURCES=${BASE_DIRECTORY}/Sources export BUILD=${BASE_DIRECTORY}/Build export ENVI=unx # # Ve Windows jeste par nastaveni # export WIN_SYSNAME=CYGWIN #toto neni cele jmeno (lisi se podle verze Windows) => pouzit grep if [ `uname -s | grep ${WIN_SYSNAME}` ] then #buildovaci adresar pojmenujem Bld, at se to nebije se jmenem skriptu ;) export BUILD=${BASE_DIRECTORY}/Bld export ENVI=wnt export WIN=${BASE_DIRECTORY}/Win fi # # Na GNU/Linuxu musíme přidat cestu pro překladač gcc-3.0.2 # [ `uname -s` = "Linux" ] && export PATH=/opt/experimental/bin/:$PATH # # GNU tar a GNU patch # # GNU tar export TAR=tar # GNU patch export PATCH=patch # # Na Solarisu není standardně GNU tar a GNU patch a původní patch ani neumí # aplikovat některé patche, které jsou součástí OpenOffice.org. # if [ `uname -s` = "SunOS" ] then # GNU tar export TAR=/usr/local/bin/tar # GNU patch export PATCH=/usr/local/bin/patch fi # # Výstupní strom je na všech architekturách v jiném adresáři # [ `uname -s` = "Linux" ] && export OOOUTPATH=unxlngi4 [ `uname -s` = "SunOS" ] && export OOOUTPATH=unxsols3 [ `uname -s | grep ${WIN_SYSNAME}` ] && export OOOUTPATH=wntmsci7 # # Soubor s proměnnými prostředí se na všech architekturách jmenuje jinak # [ `uname -s` = "Linux" ] && export OOARCHENVIRONMENT=LinuxIntel [ `uname -s` = "SunOS" ] && export OOARCHENVIRONMENT=SolarisSparc # # Příprava buildovacího stromu # VERSION=1.0.1 CCACHEVERSION=1.9 rm -rf ${BUILD} mkdir -p ${BUILD} cd ${BUILD} # Přeložíme ccache a umístíme do adresáře ${BUILD} ${TAR} xvfz ${SOURCES}/ccache-${CCACHEVERSION}.tar.gz ( cd ccache-${CCACHEVERSION}; ./configure; make; cp ccache ${BUILD} ) ${TAR} xvfz ${SOURCES}/OOo_${VERSION}_source.tar.gz cd oo_${VERSION}_src # Dodatecne soubory k Windows buildu [ `uname -s | grep ${WIN_SYSNAME}` ] && cp -f -R ${WIN}/* . # Rozbalíme externí zdrojové texty - GPC ( cd external/gpc ${TAR} xvfz ${SOURCES}/gpc231.tar.Z mv gpc231/* . rmdir gpc231 ) # # Patches # # # SPARC specifické úpravy # # Deliver pro libstlport_sunpro.so.4.5 na Solaris/SPARC ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-Forte-update-2-deliver-libstlport.diff # Issue #6561 ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-DisposedException.diff # Issue #9337 ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-C++-at-lvalue.diff # Issue #8858 ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-dbf-files-with-dots.diff # Issue #10176 ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-add-DBF-charsets.diff # patch ze Solarisu neumi aplikovat ani patch pro berkeleydb, freetype apod. [ `uname -s` = "SunOS" ] && ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-SPARC-only-use-GNU-patch.diff # v product se volá gnucp, ale to na mém Solarisu není ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-what-is-gnucp.diff # sorev chybí pri startu aplikace # http://www.openoffice.org/issues/showattachment.cgi?attach_id=2344 ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-deliver-sorev.diff # Issue #4596 [ `uname -s` = "SunOS" ] && ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-SPARC-only-LD-BIND-NOW-for-soffice.diff # xml2cmp a další jsou slinkovány s libstlport_sunpro.so.4.5 na Solarisu ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-libstlport_sunpro.so.4.5.diff # Sun Furte C++ update 2 updates for mapfiles # Issue #6792 ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-Forte-update-2-mapfiles.diff # # Generické úpravy # # Issue 6712: target minormkchanged.flg ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-fix_bootstrap.diff # Opomenutí vývojářů ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-supc++.diff # Pro SMP build ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-SMP-build-MAXPROCESS.diff # Issue 6711: Pro neinteraktivní build # Nelze pouzit s MS Visual C++ 6 [ -z `uname -s | grep ${WIN_SYSNAME}` ] && ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-non-interactive-build.diff # Funkce main v dmake bude vracet int místo void ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-dmake-return-value.diff # Issue 6325: Některé řetězce nejsou vyextrahovány... PROČ? ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-transex3-did-not-extracted.diff # localize nezpracuje toolbox.hrc ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-localize.diff # Typo CHECH -> CZECH: already fixed ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-filters_typo.diff # gcc version 3.0.4 (SuSE) obsahuje libstdc++ verze 3.0.4 a ne 3.0.1 ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-gcc3-libstdc++.diff # Issue 7413: Typo ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-bad-french-rescharset.diff # Připravit pro freetype 2.1.x, která používá jiné interní typy pro čísla ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-prepare_for_freetype_2.1.x.diff # # České úpravy # # Integrace češtiny a slovenštiny do build systému ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-add-czech-and-slovak-to-build-system.diff # Nová knihovna freetype ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-new-freetype.diff # Kontrola pravopisu a dělení slov i pro další jazyky ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-spelling-and-hyphenation.diff # Kontrola pravopisu bude implicitně zapnuta ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-spellchecking-on-by-default.diff # Myspell zahazuje písmeno ť a Ť: Issue 7328 ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-myspell-is-iso-8859-1-centric.diff # Přidání slovenských locale do build systému ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-sk_SK_locale.diff # Datum apod. # FIXME: doplnit #issue ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-cs_CZ_locale.diff # České hlášky při instalaci ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-czech-setup2.diff # Upravení vstupních a výstupních filtrů tak, aby používaly standardně charset 1250 ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-cs_CZ_dirty_filter_hack.diff # Upravení exportu do RTF ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-save_RTF_as_Eastern_European_not_ANSI.diff # Totéž pro Calc ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-calc_cs_CZ_dirty_filter_hack.diff # Motto českého týmu překladatelů ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-czteam-motto.diff # Kmail jako poštovní klient ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-kmail.diff # Ukládej v HTML znaky, ne entity ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-do-not-export-chars-as-html-entities.diff # Nenahrazuj fonty při tisku (problémy s písmeny s diakritikou) ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-psprint-do-not-substitute.diff # Implicitně přidáme tiskárnu PDF konvertor ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-psprint-add-PDF-printer.diff # Mozilla jako webový prohlížeč (Issue 6389) ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-mozilla.diff # České piškvorky # # Otevřete novou tabulku (Nový -> Tabulka) a napište do některého pole # # =GAME(A2:C4;"TicTacToe") # # a zahrejte si s OpenOffice.org piškvorky v češtině. # Issue #10072 ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-cs_CZ-Tic-Tac-Toe.diff # upravy pro windows a readlicense pro cestinu a slovenstinu ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-windows_for_NT4.diff # Pro Klasický vzhled dopisu je vždy chybně zvolen template pro Moderní # dopis. V 643C je již opraveno. ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-wizard_letter.diff # Pro překlad budeme používat ccache, jak na Linuxu tak i na Solarisu if [ `uname -s` = "Linux" ] then echo "export HOME=${HOME}; ${BUILD}/ccache gcc \$*" >>${BUILD}/ccache-gcc echo "export HOME=${HOME}; ${BUILD}/ccache g++ \$*" >>${BUILD}/ccache-g++ chmod 755 ${BUILD}/ccache-* export CC=${BUILD}/ccache-gcc export CXX=${BUILD}/ccache-g++ sed /tmp/${OOOUTPATH}.mk mv /tmp/${OOOUTPATH}.mk solenv/inc/${OOOUTPATH}.mk fi if [ `uname -s` = "SunOS" ] then echo "HOME=${HOME}; export HOME; ${BUILD}/ccache cc \$*" >>${BUILD}/ccache-cc echo "HOME=${HOME}; export HOME; ${BUILD}/ccache CC \$*" >>${BUILD}/ccache-CC chmod 755 ${BUILD}/ccache-* export CC=${BUILD}/ccache-cc export CXX=${BUILD}/ccache-CC sed /tmp/${OOOUTPATH}.mk mv /tmp/${OOOUTPATH}.mk solenv/inc/${OOOUTPATH}.mk fi # Konfigurace OpenOffice.org ( cd config_office; [ `uname -s` = "Linux" ] && ./configure --with-lang=CZECH,SLOVAK \ --enable-gcc3 --with-gcc-home=/opt/experimental [ `uname -s` = "SunOS" ] && ./configure --with-lang=CZECH,SLOVAK \ --with-jdk-home=/usr/java ) # # Soubory # # Opravená verze fontu OpenSymbol cp -f ${FILES}/opens___.ttf extras/source/truetype/symbol/opens___.ttf # Přidáme slovenské locale (#7043) cp -f ${FILES}/sk_SK.xml i18npool/source/localedata_ascii/sk_SK.xml # Instalační skript # Issue 5337 - already fixed cp -f ${FILES}/install.sh setup2/wrapper/install.sh # Úvodní obrázek s českou a slovenskou vlajkou cp -f ${FILES}/openintro.bmp offmgr/res/openintro.bmp # Motto českého týmu cp -f ${FILES}/czteammotto.bmp sc/res # Vzory pro české a slovenské dělení slov cp ${FILES}/hyph_cs.dic lingucomponent/source/hyphenator/altlinuxhyph/hyphtabs cp ${FILES}/hyph_sk.dic lingucomponent/source/hyphenator/altlinuxhyph/hyphtabs # Překlad licence cp ${FILES}/LICENSE readlicense/source/license/unx/LICENSE cp ${FILES}/LICENSE readlicense/source/license/wnt/license.txt cp ${FILES}/license.html readlicense/source/license/unx/license.html cp ${FILES}/license.html readlicense/source/license/wnt/license.html # Český slovník pro kontrolu pravopisu unzip ${SOURCES}/Dictionaries/cs_CZ.zip cp cs_CZ.aff cs_CZ.dic lingucomponent/source/spellcheck/myspell # Slovenský slovník pro kontrolu pravopisu unzip ${SOURCES}/Dictionaries/sk_SK.zip cp sk_SK.aff sk_SK.dic lingucomponent/source/spellcheck/myspell # Anglický (Velká Británie) slovník pro kontrolu pravopisu unzip ${SOURCES}/Dictionaries/en_GB.zip cp en_GB.aff en_GB.dic lingucomponent/source/spellcheck/myspell # Německý slovník pro kontrolu pravopisu unzip ${SOURCES}/Dictionaries/de_DE.zip cp de_DE.aff de_DE.dic lingucomponent/source/spellcheck/myspell # Francouzský slovník pro kontrolu pravopisu unzip ${SOURCES}/Dictionaries/fr_FR.zip cp fr_FR.aff fr_FR.dic lingucomponent/source/spellcheck/myspell # Nová knihovna freetype 2.1.2 cp ${SOURCES}/freetype-2.1.2.tar.gz freetype/download cp ${FILES}/freetype-2.1.2.patch freetype # # Anglická písmena *B*, _U_, /I/ # cp -r res/enus res/cz cp -r res/enus res/sk # # České a slovenské extras # ( cd extras for i in `find . -name english_us -type d` do cp -r $i `dirname $i`/czech cp -r $i `dirname $i`/slovak done ) cp ${FILES}/extras/* extras/source/autotext/lang/czech cp ${FILES}/extras/* extras/source/autotext/lang/slovak # # Česká a slovenská nápověda # # Kopie základní adresářivé struktury nápovědy ( cd helpcontent/${ENVI} for i in common s* do cp -r $i/english_us $i/czech cp -r $i/english_us $i/slovak done ) # Česká a slovenská nápověda # # FIXME: většina souborů je stejných, ale oddělíme to, aby to bylo názorné. # Možná by pomohli symbolické linky, ale co s Windows? -> Necháme to takto # a v dalším buildu budeme distribuovat tar archív helpcontent* stejně jako # se distribuují další jazykové mutace. # ( for language in czech slovak do cd ${FILES}/${language}-helpcontent # Chybová stránka nápovědy cp err.html ${BUILD}/oo_${VERSION}_src/helpcontent/${ENVI}/common/${language}/ # Obsah (*.tree), rejstřík (*.key) a titulek (*.cfg) nápovědy for i in *.tree *.key *.cfg *.db do DIR=`echo $i|sed 's#\..*##'` cp $i ${BUILD}/oo_${VERSION}_src/helpcontent/${ENVI}/${DIR}/${language}/ done # Vlastní archívy nápovědy for i in *.jar do DIR=`basename $i .jar` [ $DIR == "picture" ] && DIR="common" cp $i ${BUILD}/oo_${VERSION}_src/helpcontent/${ENVI}/${DIR}/${language}/ done # Rozšířené tipy for i in *.ht do HTFILE=`basename $i .ht` cp $i ${BUILD}/oo_${VERSION}_src/helpcontent/${ENVI}/${HTFILE}/${language}/$i done # Adresáře se soubory pro fulltextové vyhledávání for i in *.idx do DIR=`basename $i .idx` cp $i/* ${BUILD}/oo_${VERSION}_src/helpcontent/${ENVI}/${DIR}/${language}/$i/ done done ) if [ `uname -s | grep ${WIN_SYSNAME}` ] then # License a readme do formatu 8.3 ( cd readlicense for i in `find . -name *.html` do cp -r $i `dirname $i`/`basename $i .html`.htm done ) fi # # v teto chvili se ve Windows buildu musi pokracovat v prostredi DOS 4NT # if [ `uname -s | grep ${WIN_SYSNAME}` ] then #a muzeme ukoncit skript echo "Pokracujte v buildu v prostredi DOS 4NT ..." exit fi if [ `uname -s` = "Linux" ] then # Doplníme /opt/experimental/lib/ do LD_LIBRARY_PATH pro celý build sed 's#/usr/local/lib:#/usr/local/lib:/opt/experimental/lib:#' ${OOARCHENVIRONMENT}Env.Set >/tmp/${OOARCHENVIRONMENT}Env.Set fi if [ `uname -s` = "SunOS" ] then sed 's#/usr/local/lib:#/usr/local/lib:/opt/sfw/lib:# s#/usr/local/bin #/usr/local/bin:/opt/SUNWspro/bin:/opt/sfw/bin #' ${OOARCHENVIRONMENT}Env.Set >/tmp/${OOARCHENVIRONMENT}Env.Set # saxparser a pry i dalsi programy vytuhnou pri praci a cekaji... # Issue #4596: saxparser, rsc and the openoffice applications hang at # startup, with STLport 4.5 on Solaris 8 echo " setenv LD_BIND_NOW 1 " >>/tmp/${OOARCHENVIRONMENT}Env.Set fi mv /tmp/${OOARCHENVIRONMENT}Env.Set ${OOARCHENVIRONMENT}Env.Set # # Převedeme z tcsh do bash # awk <${OOARCHENVIRONMENT}Env.Set >${OOARCHENVIRONMENT}Env ' /^setenv/ { o = "export "$2"="; for (i = 3; i <= NF; i++) o = o$i" "; print o } /^alias/ { o = $1" "$2"="; for (i = 3; i <= NF; i++) o = o$i" "; print o } /^unsetenv/ { } ! /^setenv/ && ! /^alias/ && ! /^unsetenv/ { print }' # Zapomenutá přístupová práva... chmod 755 solenv/bin/zipdep.pl # # Pro build na SMP stroji zvýšit # export MAXPROCESS=1 ./bootstrap # S buildem chceme distribuovat i tyto knihovny, protože ne každý má na # svém stroji GCC verze 3.0 [ `uname -s` = "Linux" ] && (mkdir -p solver/641/${OOOUTPATH}.pro/lib; cp /opt/experimental/lib/{libgcc_s.so*,libstdc++.so*} solver/641/${OOOUTPATH}.pro/lib ) . ${OOARCHENVIRONMENT}Env dmake localize -m -i cs-CZ -l 42 -f ${FILES}/new_bastard.txt # Opravení chyb, které localize napáchá s češtinou... # Issue 8093 # Issue 8094 ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}-czech-localize-bugs.diff localize -m -i sk-SK -l 43 -f ${FILES}/sk_new_bastard.txt # Opravení chyb, které localize napáchá se slovenštinou... ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}-slovak-localize-bugs.diff # README soubory jsou specifické pro češtinu i slovenštinu # FIXME: reportovat, ať je to možné udělat stejně i s README.html mkdir -p solver/641/${OOOUTPATH}.pro/bin/{42,43} cp -f ${FILES}/README solver/641/${OOOUTPATH}.pro/bin/42/README cp -f ${FILES}/sk-README solver/641/${OOOUTPATH}.pro/bin/43/README dmake # FIXME: co tohle udělá na SPARCu? Bude to fungovat? if [ `uname -s` = "Linux" ] then # V adresáři moz/unxlngi*/ jsou knihovny, které nejsou stripnuty, a níže uvedený # příkaz dmake strip=true je nestripne. HACK, ale ušetří kousek místa. ( cd moz/unxlngi*/bin unzip mozruntime.zip strip *.so */*.so rm -f mozruntime.zip zip -r mozruntime.zip * ) fi # Česká instalační sada pushd . rm -rf instsetoo/${OOOUTPATH}* cp -f ${FILES}/README.html solver/641/${OOOUTPATH}.pro/bin/readme.html cd instsetoo/util dmake strip=true cd ../${OOOUTPATH}*/42 mv normal install ${TAR} cvfz ${BASE_DIRECTORY}/OOo_${VERSION}-czech-${OOARCHENVIRONMENT}_install.tar.gz install popd # Slovenská instalační sada pushd . rm -rf instsetoo/${OOOUTPATH}* cp -f ${FILES}/sk-README.html solver/641/${OOOUTPATH}.pro/bin/readme.html cd instsetoo/util dmake strip=true cd ../${OOOUTPATH}*/43 mv normal install (cd install; ${PATCH} <${PATCHES}/OOo_${VERSION}-setup.ins-slovak-spelling.diff; rm -f setup.ins.orig) ${TAR} cvfz ${BASE_DIRECTORY}/OOo_${VERSION}-slovak-${OOARCHENVIRONMENT}_install.tar.gz install popd # Na Solarisu nebuildíme debug build. Máme pomalý stroj. [ `uname -s` = "SunOS" ] && exit localize -m -i cs-CZ -l 42 -f ${FILES}/new_debug_bastard.txt localize -m -i sk-SK -l 43 -f ${FILES}/sk_new_debug_bastard.txt dmake # Česká ladící instalační sada pushd . rm -rf instsetoo/${OOOUTPATH}* cp -f ${FILES}/README.html solver/641/${OOOUTPATH}.pro/bin/readme.html cd instsetoo/util dmake strip=true cd ../${OOOUTPATH}*/42 mv normal install ${TAR} cvfz ${BASE_DIRECTORY}/OOo_${VERSION}-czech-debug-${OOARCHENVIRONMENT}_install.tar.gz install popd # Slovenská ladící instalační sada pushd . rm -rf instsetoo/${OOOUTPATH}* cp -f ${FILES}/sk-README.html solver/641/${OOOUTPATH}.pro/bin/readme.html cd instsetoo/util dmake strip=true cd ../${OOOUTPATH}*/43 mv normal install (cd install; ${PATCH} <${PATCHES}/OOo_${VERSION}-setup.ins-slovak-spelling.diff; rm -f setup.ins.orig) ${TAR} cvfz ${BASE_DIRECTORY}/OOo_${VERSION}-slovak-debug-${OOARCHENVIRONMENT}_install.tar.gz install popd