#!/bin/bash -x # # Skript pro build OpenOffice.org 1.0.3 CZ # # # (c) Pavel Janík , 2002, 2003 # (c) Dan Ohnesorg , 2002 # (c) Josef Cacek , 2002, 2003 # # # 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.3/OOo_1.0.3_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 # # ccache 2.1.1 # http://ccache.samba.org/ # # Adresář Windows # # FIXME: Josef # # # Slovníky # # # Č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 # # Systém, na kterém probíhá build # [ `uname -s` = "Linux" ] && export OOO_BUILD_SYSTEM=Linux [ `uname -s` = "SunOS" ] && export OOO_BUILD_SYSTEM=Solaris [ `uname -s | grep CYGWIN` ] && export OOO_BUILD_SYSTEM=Windows if [ ${OOO_BUILD_SYSTEM} = "Windows" ] then export BASE_DIRECTORY=/cygdrive/d/OOo/oocz else export BASE_DIRECTORY=~/ fi export PATCHES=${BASE_DIRECTORY}/Patches export FILES=${BASE_DIRECTORY}/Files export SOURCES=${BASE_DIRECTORY}/Sources export BUILD=${BASE_DIRECTORY}/BuildDir # # Na GNU/Linuxu musíme přidat cestu pro překladač gcc-3.0.4 a jeho knihovny # if [ ${OOO_BUILD_SYSTEM} = "Linux" ] then export OOO_GCC_PATH="/opt/experimental" export PATH=${OOO_GCC_PATH}/bin/:${PATH} export LD_LIBRARY_PATH=${OOO_GCC_PATH}/lib:${LD_LIBRARY_PATH} fi # Program xmkmf nebyl na Solarisu nalezen v cestě. Opraveno. [ ${OOO_BUILD_SYSTEM} = "Solaris" ] && export PATH=$PATH:/usr/openwin/bin # # Na platformách Windows do cesty přidáme cestu ke kompilátoru, aby configure nehlasilo chyby # [ ${OOO_BUILD_SYSTEM} = "Windows" ] && export PATH="${PATH}:/cygdrive/c/Program Files/Microsoft Visual Studio/VC98/Bin:/cygdrive/c/Program Files/Microsoft Visual Studio/Common/MSDev98/Bin" # # 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 [ ${OOO_BUILD_SYSTEM} = "Solaris" ] 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 # [ ${OOO_BUILD_SYSTEM} = "Linux" ] && export OOOUTPATH=unxlngi4 [ ${OOO_BUILD_SYSTEM} = "Solaris" ] && export OOOUTPATH=unxsols3 [ ${OOO_BUILD_SYSTEM} = "Windows" ] && export OOOUTPATH=wntmsci7 # # Soubor s proměnnými prostředí se na všech architekturách jmenuje jinak # [ ${OOO_BUILD_SYSTEM} = "Linux" ] && export OOARCHENVIRONMENT=LinuxIntel [ ${OOO_BUILD_SYSTEM} = "Solaris" ] && export OOARCHENVIRONMENT=SolarisSparc # # V každém systému je jiné prostředí - win nebo unx # [ ${OOO_BUILD_SYSTEM} = "Linux" ] && export ENVI=unx [ ${OOO_BUILD_SYSTEM} = "Solaris" ] && export ENVI=unx [ ${OOO_BUILD_SYSTEM} = "Windows" ] && export ENVI=wnt # # Příprava buildovacího stromu # VERSION=1.0.3 CCACHEVERSION=2.1.1 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 # Dodatečné soubory k Windows buildu [ ${OOO_BUILD_SYSTEM} = "Windows" ] && cp -f -R ${SOURCES}/Windows/* . # Rozbalíme externí zdrojové texty - GPC ( cd external/gpc ${TAR} xvfz ${SOURCES}/gpc231.tar.Z mv gpc231/* . rmdir gpc231 ) # # Patches # # # SPARC specifické úpravy # if [ ${OOO_BUILD_SYSTEM} = "Solaris" ] then # Issue #9337: akceptováno ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-C++-at-lvalue.diff # patch ze Solarisu neumí aplikovat ani patch pro berkeleydb, freetype apod. ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-SPARC-only-use-GNU-patch.diff # FIXME: Proč vyžadujeme JDK 1.3? Povolíme i JDK 1.2 - mám ho na Solarisu. ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-allow-jdk-1.2.diff # v product se volá gnucp, ale to na mém Solarisu není ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-SPARC-only-what-is-gnucp.diff # Issue #4596 ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-SPARC-only-LD-BIND-NOW-for-soffice.diff ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-SPARC-only-LD-BIND-NOW-for-SolarisSparcEnv.diff # Issue #6792: Sun Furte C++ update 2 updates for mapfiles ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-SPARC-only-Forte-update-2-mapfiles.diff # Issue #13077: make potřebuje mezeru za -j. ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-SPARC-only-make-j.diff fi # # Patch pouze pro Microsoft Windows # # Řeší pády při překladu svtools a external, neinteraktivní mazání v instsetoo, # Issue #10706: formát 8.3 pro instalaci [readme.htm, license.htm] [ ${OOO_BUILD_SYSTEM} = "Windows" ] && ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-windows_for_NT4.diff # # Generické úpravy # # Issue #13031 ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-print_to_non_default_printer.diff # Issue #8858 ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-dbf-files-with-dots.diff # V galerii ve verzi 1.0.3 nejsou zabalené gallwwwgraf a gallroot # FIXME: Issue # ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-gallery-files.diff # V galerii ve verzi 1.0.3 chybí www-graf # FIXME: Issue # ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-gallery-www-graf.diff # Issue #10176 ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-add-DBF-charsets.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 # 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 # 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 # Totéž pro Calc ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-calc_cs_CZ_dirty_filter_hack.diff # Uprava importu a exportu do Wordu 6 a Wordu 95 # ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-fixes_for_word_6_and_95.diff # Upravení exportu do RTF ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-save_RTF_as_Eastern_European_not_ANSI.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 # Č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: WONT FIX :-( ${PATCH} -p1 <${PATCHES}/OOo_${VERSION}_source-cs_CZ-Tic-Tac-Toe.diff # Pro překlad budeme používat ccache, jak na Linuxu tak i na Solarisu if [ ${OOO_BUILD_SYSTEM} = "Linux" ] then export CC="${BUILD}/ccache ${OOO_GCC_PATH}/bin/gcc" export CXX="${BUILD}/ccache ${OOO_GCC_PATH}/bin/g++" fi if [ ${OOO_BUILD_SYSTEM} = "Solaris" ] then export CC="${BUILD}/ccache cc" # FIXME: ccache pro CC nefunguje export CXX=CC fi # Konfigurace OpenOffice.org ( cd config_office; [ ${OOO_BUILD_SYSTEM} = "Linux" ] && ./configure --with-lang=CZECH,SLOVAK [ ${OOO_BUILD_SYSTEM} = "Solaris" ] && ./configure --with-lang=CZECH,SLOVAK \ --with-jdk-home=/usr/java [ ${OOO_BUILD_SYSTEM} = "Windows" ] && ./configure --with-jdk-home=/cygdrive/c/jdk1.3.1_03 --with-unzip-home=/cygdrive/d/OOo/InfoZip \ --with-lang=CZECH,SLOVAK,ENUS --with-asm-home=/cygdrive/d/OOo/ml ) # # Soubory # # Opravená verze fontu OpenSymbol cp -f ${FILES}/opens___.ttf extras/source/truetype/symbol/opens___.ttf # Přidáme českou databázi pro thesaurus mkdir -p lingucomponent/${OOOUTPATH}.pro/bin cp -f ${FILES}/th_cs_CZ* lingucomponent/${OOOUTPATH}.pro/bin # Přidáme slovenské locale (#7043) cp -f ${FILES}/sk_SK.xml i18npool/source/localedata_ascii/sk_SK.xml # Instalační skript cp -f ${FILES}/install.sh setup2/wrapper/install.sh # Issue 10863: mktemp na Solarisu není [ ${OOO_BUILD_SYSTEM} = "Solaris" ] && cp -f ${FILES}/install.sh.sun 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 # Č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 ) # České extras ${TAR} xvfz ${FILES}/extras-czech.tar.gz # Slovenské extras ${TAR} xvfz ${FILES}/extras-slovak.tar.gz # Chybějící soubory z galerie pro HTML průvodce # Import z 1.1 Beta 1 # FIXME: Issue # ${TAR} xvfz ${FILES}/extras-gallery-www-graf.tar.gz # # Kopie základní adresářové struktury nápovědy # FIXME: proč tohle musíme udělat, když to na konci stejně přeplácneme # z archívu helpu? Reportovat. # ( cd helpcontent/${ENVI} for i in common s* do cp -r $i/english_us $i/czech cp -r $i/english_us $i/slovak done ) # # Ještě nezbytné úpravy pro MS Windows (úprava prostředí) a můžeme přejít # na DOS 4NT # if [ ${OOO_BUILD_SYSTEM} = "Windows" ] then mv winenv.bat winenv.old grep -v "IF DEFINED" winenv.old | sed -e 's#\^#\&\&#g' >winenv.bat echo "Pokracovani buildu je v prostredi DOS 4NT ..." exit fi # # 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 . ${OOARCHENVIRONMENT}Env.Set.sh # Sestavení lokalizačních nástrojů pushd . cd transex3 ../solenv/bin/build.pl product=full -from freetype ../solenv/bin/deliver.pl popd 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 dmake # FIXME: co tohle udělá na SPARCu? Bude to fungovat? if [ ${OOO_BUILD_SYSTEM} = "Linux" ] then # V adresáři moz/${OOOUTPATH}*/ 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/${OOOUTPATH}*/bin unzip mozruntime.zip strip *.so */*.so rm -f mozruntime.zip zip -r mozruntime.zip * ) fi # # Vlastní česká a slovenská nápověda # ${TAR} xvfz ${FILES}/helpcontent_42_unix.tgz -C solver/641/${OOOUTPATH}.pro/pck # Slovenská nápověda ${TAR} xvfz ${FILES}/helpcontent_43_unix.tgz -C solver/641/${OOOUTPATH}.pro/pck # # Česká instalační sada # pushd . rm -rf instsetoo/${OOOUTPATH}* # Issue #11592 cp -f ${FILES}/README.html solver/641/${OOOUTPATH}.pro/bin/readme.html cd instsetoo/util dmake strip=true cd ../${OOOUTPATH}*/42 mv normal install cp ${FILES}/installation_guide.pdf install cp ${FILES}/LICENSE install/LICENSE cp ${FILES}/license.html install/LICENSE.html cp ${FILES}/README install/README cp ${FILES}/README.html install/README.html ${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 cp ${FILES}/installation_guide.pdf install cp ${FILES}/sk-LICENSE install/LICENSE cp ${FILES}/sk-license.html install/LICENSE.html cp ${FILES}/sk-README install/README cp ${FILES}/sk-README.html install/README.html (cd install; ${PATCH} <${PATCHES}/OOo_${VERSION}-setup.ins-slovak-spelling.diff; rm -f setup.ins.orig setup.ins~) ${TAR} cvfz ${BASE_DIRECTORY}/OOo_${VERSION}-slovak-${OOARCHENVIRONMENT}_install.tar.gz install popd # Na Solarisu nebuildíme debug build. Máme pomalý stroj. [ ${OOO_BUILD_SYSTEM} = "Solaris" ] && 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}* 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}* 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