LibreOffice fejlesztés

Fejlesztői LibreOffice letöltése és telepítése Linuxon

2018. december 04. - christo161

Ez a leírás tartalmazza azokat a lépéseket, amik ahhoz szükségesek, hogy Linuxon letöltsd és fordítsd a LibreOffice forráskódját. A letöltött forráskódot természetesen módosíthatod, és ha lefordítod, a fordítás után ki is próbálhatod, hogy jól működik-e a benne végzett módosításod.

Ebben a leírásban az apt csomagkezelő frontenddel rendelkező Linux disztribúciókat (jellemzően Debian és Ubuntu alapú disztribúciók) vettem alapul. Aki nem ezeket a disztribúciókat használja, apt-get install és hasonló parancsok helyett mást kell futtatni. Ebben az egy bekezdéssel lentebbi linkek is segítséget nyújtanak.

(Hiba esetén ezeknek az áttanulmányozása segíthet:
https://wiki.documentfoundation.org/Development/Linux_Build_Dependencies
https://wiki.documentfoundation.org/Development/BuildingOnLinux )
Internetkapcsolat szükséges a fordítás alatt is (build-nocheck parancsot követően).

1. Néhány szükséges program és csomag telepítése:

Nyiss meg egy terminált (Ubuntuban ctr + alt + t), majd ott futtasd ezt a parancsot:

sudo apt-get install git gstreamer1.0-libav libkrb5-dev nasm graphviz ccache

Majd írd be a felhasználónevedhez tartozó jelszót. (Ha nincs rendszergazda jogosultságod, akkor Linuxon nem tudsz telepíteni).

2. Frissítéskezelő forrásának megadása:

Ebbe a fájlba...

/etc/apt/sources.list

..ha még nincs, akkor új sorba valami ilyesmit kell beleírni (ezek közül csak egyet)...

...PÉLDÁUL 9-es verziójú Debian esetén:

deb-src http://http.debian.net/debian/ stretch main

...PÉLDÁUL 16.04-es verziójú Ubuntu esetén:

deb-src http://archive.ubuntu.com/ubuntu/ xenial main

...PÉLDÁUL 18.04-es verziójú ubuntu esetén:

deb-src http://archive.ubuntu.com/ubuntu/ bionic main

Fájl szerkesztése ezen parancsok valamelyikével:

sudo nano /etc/apt/sources.list
sudo gedit /etc/apt/sources.list

Nano esetén a kilépés és mentés: ctrl + x, aztán y billentyű, aztán enter

Hogy pontosan milyen verziójú és kódnevű az adott Linux, azt az uname -a és az lsb_release -a parancsok futtatásával deríthetjük ki.

3. Elérhető frissítések letöltése:

sudo apt-get update

4. Előfeltételek telepítése:

sudo apt-get build-dep libreoffice

5. LibreOffice forráskódjának letöltése:

Hozz létre valahol egy új könyvtárat a LibreOfficenak. Pl. a saját könyvtáradban (ahová a cd vagy cd ~ parancsokkal léphetsz be).

mkdir libreoffice

Lépj be ebbe a könyvtárba és ott futtasd ezt a parancsot:

git clone git://gerrit.libreoffice.org/core libreoffice

6. Kapcsolók beállítása az autogen.input fájlba

Hozz létre a LibreOffice könyvtárában egy autogen.input fájlt.
Ezzel a tartalommal:

--without-system-postgresql
--without-junit
--without-java
--without-help
--without-doxygen
--disable-gtk3
--disable-odk
--disable-gstreamer-1-0
--disable-firebird-sdbc
--with-lang=hu en-US
--with-myspell-dicts
--enable-debug
--with-referenced-git=/home/linuxosfelhasznalonev/libreoffice/core
--with-external-tar=/home/linuxosfelhasznalonev/libreoffice/core/external/tarballs

Esetleg ezek is kellhetnek:

--without-krb5
--without-gssapi

Ha szükség van még valamilyen beállításra az autogen.input fájban, akkor az ./autogen.sh --help paranccsal listázhatjuk ki az összes lehetséges beállítást.

6a.
Többmagos procihoz esetleg ez is kellhet:

--with-paralellism=4

Megjegyzés: ha ezek közül kihagyunk valamit, pl. az --enable-debug sort, majd lefuttatjuk a fordítást, azt követően ha beleírjuk a kihagyott sort az autogen.inputba, egy újabb fordítás nem fogja kicserélni a már meglévő fájlokat. Ha azt szeretnénk, hogy az újonnan belerakott sor is érvényes legyen az újabb forításnál, akkor a régi fordítás eredményét törölnünk kell a make clean paranccsal.

7.
LibreOffice könyvtárában futtasd az autogen.sh-t:

./autogen.sh

8. Tényleges fordítás indítása:

LibreOffice könyvtárában:

make

Ha unit tesztek nélkül szeretnéd fordítani (tehát ha nem szeretnéd ellenőrízni, hogy amit módosítottál a forráskódban, regressziót okoz-e, azaz elront-e más dolgokat), akkor használd a build-nocheck paramétert:

make build-nocheck

9. A fejlesztői LibreOffice futtatása:

Ha a fordítás kész, így lehet indítani a LibreOffice könyvtárából:

./instdir/program/soffice
./instdir/program/soffice --writer
./instdir/program/soffice --calc

Ekkor a parancssorba sok információ kiíródik a LibreOffice futtatása közben. Ezeket így kapcsolhatjuk ki. Ezt követően csak a SAL_DEBUG( "valami erteke: " << valami ); típusú értékek lesznek kiírva a parancssorba (már ha elhelyeztünk ilyeneket a kódban valahol).

SAL_LOG=-INFO instdir/program/soffice

Ha csak konvertálni akarunk egy fájlt (pl. export hibák javítása esetén), azt így tehetjük meg. Ekkor az átkonvertált fájl a LibreOffice könyvtárában jön létre (célszerű ezért a konvertálandó fájlokat nem a LibreOffice könyvtárában elhelyezni, nehogy összekeveredjenek a már átkonvertált fájlokkal).

SAL_LOG=-INFO instdir/program/soffice --convert-to docx ../chart_borderline.docx

Kiegészítő információk

Ha lefutott a fordítás, majd módosítjuk valamelyik forrásfájl tartalmát, elindítjuk újra a fordítást, akkor nyilván nem fog lefordulni az egész projekt nulláról (kivéve ha futtatjuk a make clean parancsot), hanem csak az fordul újra, amit módosítottunk, ez pedig lényeges időmegtakarítás.

Ha az autogen.input-ba elfelejtünk beleírni egy beállítást, de már megtörtént a fordítás, akkor nem elég beleírni és újra elindítani a fordítást, hanem make clean-t is kell futtatni előtte.
Például ha --enable-debug nélkül történt meg a fordítás, akkor írjuk bele az --enable-debug-ot az autogen.input fájlba, futtassunk make clean-t, majd make-t vagy make build-nocheck-et.

Modulonként is lehet fordítani:

make sw
make build-nocheck sw

Néhány modul jelentése:

sw: szövegszerkesztő (writer, régebben starwriter)

sc: táblázatkezelő (calc)

sd: prezentációkészítő (impress/draw)

dbaccess: adatbáziskezelő (base)

starmath: képletszerkesztő (formula editor)

oox: Office Open XML szabványú fájlok (docx, xlsx, pptx, ...) importjára és exportjára vonatkozó forrásfájlok

chart2: diagramok kezelésére vonatkozó forrásfájlok

További modulok jelentését lásd itt.

A bejegyzés trackback címe:

https://libreoffice.blog.hu/api/trackback/id/tr414427600

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.