Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Oprav si i Ty svůj oblíbený bug v OpenOffice.org!
Jan Holešovský
2
Ještě jednou, o čem že to bude?
Něco o mně OpenOffice.org Kde vzít zdrojáky? Jak tu bestii zbuildit? Jak se v těch zdrojácích neztratit? Jak v nich něco změnit? Jak dát změnu světu? Jak tedy opravit bug? Jak mít OpenOffice.org po tom všem rád?
3
Něco o mně Jan Holešovský
SUSE LINUX, s.r.o. [hledáme lidi! ;-) - Novellí OOo team vývojář OOo dříve KDE, 64bit port nyní věci okolo přístupu k souborům, startu, atd.
4
OpenOffice.org Kancelářský balík Svobodný software
Původně StarDivision, dnes Sun Microsystems StarOffice -> OpenOffice.org -> StarOffice/go- oo/NeoOffice/... Writer (textový editor) Calc (tabulkový procesor) Impress (prezentace) Base (databáze) Draw (kreslení) ...dále grafy, makra, import/export mnoha formátů, ...
5
Kde vzít zdrojáky? Up-stream http://www.openoffice.org ooo-build
up-stream checkout + sada patchů jednodušší build v obou případech rozděleny do více tarballů ale ooo-build sám řekne, které jsou potřeba
6
Jak to zbuildit? ooo-build
configure ; ./download ; make ; bin/ooinstall wrappery pro up-stream build up-stream config_office/configure ./bootstrap cd instsetoo_native ; build –all v obou případech build, deliver => solver
7
Jak se neztratit [1] ./configure, instalace
config_office, instsetoo_native nastavení proměnných prostředí pro kompilaci LinuxX86(-64)Env.Set.sh mnoho 3rd party knihoven stlport, jpeg, zlib, openssl, ...[mraky dalších] poznají se snadno, obsahují adresář 'download'
8
Jak se neztratit [2] abstrakce systému, widgety sal, vcl
funkce/typy společné všem aplikacím svx, sfx2 soubory pro instalaci scp2 Writer, Calc, Impress + Draw, Base, Math sw, sc, sd, dbaccess, starmath
9
Jak se neztratit [3] http://go-oo.org/developers/
lxr – hledání funkcí, typů, textů bonsai – hledání commitů v CVS bugzilla – zjednodušené odkazy irc.freenode.net #dev.openoffice.org #go-oo
10
Jak něco změnit? [1] http://wiki.services.openoffice.org/wiki/Hacking
vcl/source/window/menu.cxx -aText( rStr ), +aText( OUString( RTL_CONSTASCII_USTRINGPARAM( „Blah“ ) ) Aha! Boj se stringy nečekejte const char * rtl_String, Ostring rtl_uString, OUString String (obsolete, neměl by se používat, ale je na spoustě míst)
11
Jak něco změnit? [2] Vypsání stringu
v kódu: fprintf( stderr, rtl::OUStringToOString( ten_string, RTL_TEXTENCODING_UTF8 ).getStr() ); v gdb: p dbg_dump( ten_string ) v gdb (když to nejde pomocí dbg_dump() ) Překlad s debug symboly build debug=true linkoo – vytvoří linky z instalace do stromu
12
Jak dát změnu světu? ooo-build (http://go-oo.org)
stačí poslat na poradíme, co dál v zásadě pouze commit patche do gnome svn up-stream specifikace iTeam IssueZilla CWS čekání :-( nicméně, to je místo, kde by ideálně všechny patche z ooo-buildu nakonec měly skončit
13
Jak tedy opravit bug? najít string a dát ho do lxr
přebuildit daný modul s debug infem přečíst/vyzkoušet v debuggeru kód okolo ohackovat hotovo :-) ...ehm bug může být hlouběji, pak nutno přebuildit další moduly někdy i mimo OOo – už několik chyb v gcc!
14
Jak mít OOo rád? Je velký, ale nekouše ;-)
moc by pomohlo rozdělení na menší části snažíme se to prosadit, ale up-stream vzdoruje, potřebují monolit :-( Ideální pro lidi, kteří se neradi nudí :-) pořád je co zlepšovat bohužel, nejčastěji jsou chyby v těch nejošklivějších zákoutích jaký je to však krásný pocit takové zákoutí vyčistit! Obrovská uživatelská základna fajn pocit dělat na projektu, který používají miliony lidí...
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.