![Meetup - platforma pro hledání nových lidí se společnými zájmy](/f/7939aea14256ff383260c7fa603e94b0.png?width=100&height=100)
To je třetí článek v řadě vysvětlit základy vývoje Ubuntu způsobem, který nevyžaduje obrovské množství pozadí a krok za krokem prochází koncepty, nástroje, procesy a infrastrukturu. Pokud se vám článek líbí nebo máte dotazy nebo jste našli chyby, zanechte prosím komentář.
Díky moc Průvodce balením Ubuntutým za jejich práci na tom!
Pokud jste postupovali podle pokynů k nastavit s vývojem Ubuntu, měli byste být připraveni vyrazit.
Jak vidíte na obrázku výše, v procesu odstraňování chyb v Ubuntu není žádné překvapení: našli jste problém, dostanete kód, pracujte na opravě, otestujte jej, odešlete své změny na Launchpad a požádejte o jeho kontrolu a sloučeny. V této příručce projdeme všechny potřebné kroky jeden po druhém.
Existuje mnoho různých způsobů, jak najít věci, na kterých je třeba zapracovat. Může to být hlášení o chybě, se kterým se setkáváte (což vám dává dobrou příležitost otestovat opravu), nebo problém, který jste zaznamenali jinde, možná ve zprávě o chybě.
Sklizeň
je to místo, kde sledujeme různé seznamy úkolů týkající se vývoje Ubuntu. Uvádí seznam chyb, které byly opraveny před nebo v Debianu, uvádí malé chyby (říkáme jim „bitesize“) atd. Podívejte se na to a najděte svou první chybu, na které je třeba zapracovat.Pokud neznáte zdrojový balíček obsahující kód, který má problém, ale znáte cestu v postiženém programu ve vašem systému můžete zjistit zdrojový balíček, na kterém budete muset zapracovat.
Řekněme, že jste našli chybu v Tomboy, desktopové aplikaci pro psaní poznámek. Aplikaci Tomboy lze spustit spuštěním /usr/bin/tomboy na příkazovém řádku. Chcete -li najít binární balíček obsahující tuto aplikaci, použijte tento příkaz:
$ apt-file find/usr/bin/tomboy
Vytiskne se toto:
tomboy:/usr/bin/tomboy
Všimněte si, že část před dvojtečkou je název binárního balíčku. Často se stává, že zdrojový balíček a binární balíček budou mít různá jména. To je nejběžnější, když je k vytvoření více různých binárních balíků použit jeden zdrojový balíček. Chcete -li najít zdrojový balíček pro konkrétní binární balíček, zadejte:
$ apt-cache showsrc tomboy | grep ^Balíček: Balíček: tomboy. $ apt-cache showsrc python-vigra | grep ^Balíček: Balíček: libvigraimpex
Jakmile znáte zdrojový balíček, se kterým budete pracovat, budete chtít získat kopii kódu do svého systému, abyste jej mohli ladit. V Ubuntu Distributed Development to provádí větvení zdrojového balíčku větev odpovídající zdrojovému balíčku. Launchpad udržuje větve zdrojových balíčků pro všechny balíčky v Ubuntu.
Jakmile získáte místní větev zdrojového balíčku, můžete prozkoumat chybu, vytvořit opravu a navrhovanou opravu nahrát na Launchpad ve formě větve Bazaar. Když jste s opravou spokojeni, můžete podat návrh na sloučení, který žádá ostatní vývojáře Ubuntu, aby zkontrolovali a schválili vaši změnu. Pokud souhlasí s vašimi změnami, vývojář Ubuntu nahraje novou verzi balíčku do Ubuntu, aby každý měl prospěch z vaší vynikající opravy - a vy získáte trochu kreditu. Nyní jste na cestě stát se vývojářem Ubuntu!
V následujících částech popíšeme podrobnosti o tom, jak rozvětvit kód, poslat opravu a požádat o kontrolu.
O hledání chyb, jejich opravě, testování atd. Jsou napsány celé knihy. Pokud jste v programování úplně noví, zkuste nejprve opravit snadné chyby, jako jsou zjevné překlepy. Snažte se, aby změny byly co nejmenší a své změny a předpoklady jasně zdokumentujte.
Než začnete na opravě pracovat sami, ujistěte se, že prozkoumáte, zda ji již nikdo jiný neopravil nebo na opravě právě pracuje. Dobré zdroje ke kontrole jsou:
Nyní chcete vytvořit opravu, která obsahuje opravu. Příkaz edit-patch je jednoduchý způsob, jak přidat opravu do balíčku. Běh:
$ edit-patch 99-new-patch
Tím se obal zkopíruje do dočasného adresáře. Nyní můžete upravovat soubory pomocí textového editoru nebo použít opravy z upstream, například:
$ patch -p1 <..>Po úpravě typu souboru výstup nebo stiskněte ovládání-d ukončete dočasný shell. Nový patch bude přidán do debian/záplaty.
Testování opravy
Chcete -li vytvořit testovací balíček se svými změnami, spusťte tyto příkazy:
$ bzr bd --S -us -uc. $ pbuilder-diststavět ../ _ .dsc Tím se vytvoří zdrojový balíček z obsahu větve (-us -uc vynechá pouze krok k podepsání zdrojového balíčku) a pbuilder-dist postaví balíček ze zdroje pro cokoli uvolnění ty vybíráš.
Jakmile je sestavení úspěšné, nainstalujte balíček z ~/pbuilder/
_výsledek/ (použitím sudo dpkg -i_ ). Poté vyzkoušejte, zda je chyba opravena..deb Dokumentace opravy
Je velmi důležité dostatečně zdokumentovat vaši změnu, aby vývojáři, kteří se na kód v budoucnu podívají, nemuseli hádat, jaké byly vaše úvahy a jaké byly vaše předpoklady. Každý zdroj balíčku Debian a Ubuntu obsahuje debian/seznam změn, kde jsou sledovány změny každého nahraného balíčku.
Nejjednodušší způsob, jak to aktualizovat, je spustit:
$ dch -iTím se vám přidá záznam seznamu změn a spustí se editor, kde můžete vyplnit mezery. Příkladem toho může být:
specialpackage (1.2-3ubuntu4) natty; naléhavost = nízká * debian/kontrola: aktualizovaný popis, aby zahrnoval frobnicator (LP: #123456) - Emma AdamsSo, 17. července 2010 02:53:39 +0200 dch by již za vás měl vyplnit první a poslední řádek takového záznamu seznamu změn. Řádek 1 se skládá z názvu zdrojového balíčku, čísla verze, do kterého vydání Ubuntu je nahrán, naléhavosti (která je téměř vždy „nízká“). Poslední řádek vždy obsahuje jméno, e -mailovou adresu a časové razítko (v RFC 5322 formát) změny.
Abychom to vyloučili, zaměřme se na samotný záznam protokolu změn: je velmi důležité dokumentovat:
- kde byla změna provedena
- co se změnilo
- kde proběhla diskuse o změně
V našem (velmi řídkém) příkladu je poslední bod pokryt (LP: #123456) který odkazuje na chybu Launchpadu 123456. Hlášení chyb nebo podprocesy nebo specifikace seznamů adres jsou obvykle dobrou informací, která je důvodem pro změnu. Jako bonus, pokud použijete LP: # notace chyb Launchpadu, chyba se automaticky zavře, když je balíček nahrán do Ubuntu.
Potvrzení opravy
S zapsaným a uloženým záznamem seznamu změn můžete jednoduše spustit:
bzr spáchata změna bude potvrzena (lokálně) s vaší položkou seznamu změn jako potvrzovací zprávou.
Chcete -li jej odeslat na Launchpad, jako název vzdálené větve, musíte se držet následující nomenklatury:
lp: ~/ubuntu/ / / Může to být například:
lp: ~ emmaadams/ubuntu/natty/specialpackage/fix-for-123456Pokud tedy spustíte:
bzr push lp: ~ emmaadams/ubuntu/natty/specialpackage/fix-for-123456. bzr lp-openměli byste být připraveni. Příkaz push by jej měl poslat na Launchpad a druhý příkaz otevře stránku Launchpadu vzdálené větve ve vašem prohlížeči. Najít odkaz „(+) Navrhnout sloučení“, kliknutím na něj někdo změnu zkontroluje a zahrne do Ubuntu.
Všechno Ubuntu, denně. Od roku 2009.