Jak zvládnout hlášení chyb do bugzilly?

Bugzilla je nástroj, jenž je přítomný snad v každém softwarovém projektu. Ač se to dle názvu nemusí hned zdát, tak se nejedná o žádné obrovské prehistorické monstrum vzniklé radiací z jaderné elektrárny Fukušima, ale o nástroj pro hlášení a registraci chyb v softwarovém projektu. V tomto článku se podíváme na to, jak se zachovat poté, co najdete nějakou chybu ve svém oblíbeném softwarovém produktu.

První Murphyho zákon programování říká, že neexistuje program, který by byl zcela prost chyb. Dodatek k tomuto zákonu poté praví, že každé odstranění libovolné chyby zanese do programu chybu jinou, skrytou a zákeřnější. Neboli: není možné vytvořit program, který by byl zcela bez chyb. Libovolný softwarový produkt — program, knihovna, ale i linuxová distribuce — bude vždy obsahovat nějaké chyby. Nepředložené chování programu v případě, že na vstup programu dáte jiná data, než program očekává, nesou data v sobě chybu nebo jsou v neočekávané podobě. Aby mohli vývojáři chyby opravovat, musí se o chybě dozvědět. A k tomuto účelu slouží nástroj bugzilla. Bugzilla je tedy nástroj pro hlášení a správu nalezených chyb. Jedná se o obecný, ovšem zavedený termín, ačkoli různé projekty si bugzillu pojmenovávají různě. Každopádně vždy, když vás někdo odkáže do bugzilly, není to nadávka, ale měli byste najít právě tento nástroj buď bugzillu projektu (distribuce), a nebo bugzillu programu (nebo lépe obojí) a problém správně nahlásit. V bugzille se také často shromažďují nápady na vylepšení, případně požadavky na vývojáře. V tomto článku si ukážeme, jak postupovat, pokud chceme do Mandriva Linuxu nový balíček, který se zatím nenachází ve zdrojích. Druhá část se bude věnovat problému, pokud najdeme chybu v programu v Mandriva Linuxu, kam chybu nahlásit, jak ji hlásit a jak případně reagovat na výzvy vývojářů/maintainerů.

Požadavek na nový balíček/program

První část tohoto článku se bude věnovat problematice rozšiřování programového portfolia distribuce Mandriva Linux. V současné době je v repozitářích necelých dvacet čtyři tisíc balíčků. Ovšem všech možných a i nemožných programů, které existují a je možné pod Mandriva Linuxem provozovat, je nespočetně a každý den vznikají nové. Velké projekty se poměrně rychle a bez pomoci „uživatelů“ dostávají do distribuce — vývojáři je sami používají a v distribuci se nejspíše opravdu objeví. S menšími (a nebo specializovanějšími) balíčky je to složitější — například český nástroj Esmska, který slouží pro odesílání SMS zpráv pomocí internetových bran, je známý především v České a Slovenské republice. V této distribuci však není mnoho českých vývojářů. Proto je možné, že budete chtít mít tento nový program v repozitářích. Jak to udělat, chcete-li nový balíček? Pokusím se vše předvést v několika bodech:

  1. Otevřete si stránku bugzilly Mandriva Linux.
  2. Pomocí hledání (řádek u tlačítka Search) si ověřte, že daný požadavek už neexistuje. Nejlepší je hledat jméno požadovaného balíčku. Pokud již požadavek existuje, pracujte v nalezeném záznamu.
  3. V případě, že požadavek na nový balíček neexistuje, vytvořte nový záznam v databázi — klepněte na tlačítko File a Bug.

    bugzilla-tlacitka

    Tlačítka v bugzille

  4. Prvně musíte vybrat produkt, ke kterému chcete svůj bugreport (své hlášení) přiřadit. Zde vyberte položku Mandriva Linux: The base Mandriva Linux distribution.
  5. Nyní je nutné zvolit správnou komponentu systému. Nový balíček bude patřit ke komponentě Core Packages. Jako verzi uveďte Cooker a hardwarovou platformu All.
  6. Položku Source RPM nechejte volnou a nevyplněnou.
  7. Do URL vyplňte domovskou adresu projektu požadovaného balíčku.
  8. Nyní již zbývají jen dvě položky k vyplnění. A to Summary a Details. Summary představuje jednovětné shrnutí.
  9. Text summary by měl být: Package request: jméno_balíčku.
  10. V poli Details (anglicky) popište, k čemu požadovaný balíček slouží, případně veškeré další informace, které byste rádi sdělili vývojářům.
  11.  Jakmile klepnete na tlačítko Submit bug report, odešlete svůj požadavek vývojářům.

V poslední době nastal velký odchod vývojářů a maintainerů balíčků z distribuce Mandriva Linux. Je proto nutné si uvědomit, že se nového balíčku nemusí nikdo ujmout a může tak chvilku trvat, než se do nového systému dostane. Další věc, kterou je nutné mít na paměti, je, že nový balíček musí být nejprve ve vývojové větvi Cooker, než se dostane do oficiálních zdrojů.

Nahlášení chyby v programu/distribuci

Jak již bylo napsáno, žádný program není dokonalý a zcela bez chyby. Rozhodnete-li se chybu nahlásit (budiž vám to ke cti), opět využijete bugzillu. Je velice podstatné předat vývojářům všechny informace, které by mohli požadovat a nadále chybové hlášení sledovat. Vývojáři se mohou zeptat na nějaké doplňující informace, nebo odkazují na již vyřešené problémy atp. V několika krocích si tedy ukážeme, jak nahlásit chybu v aplikaci. Prvních pár kroků bude stejných jako v případě předešlém, kdy jsme žádali o nový balíček, jen s několika drobnými změnami:

  1. Otevřete si stránku bugzilly Mandriva Linux.
  2. Pomocí hledání (řádek u tlačítka Search) si ověřte, že chybu už někdo nenahlásil dříve. V takovém případě samozřejmě nezakládejte nový bugreport (jak se záznamům říká), ale pracujte v nalezeném záznamu.

    Zde nepište prosím nic jako „touto chybou trpím i já, vyřešte ji“, ale napište pouze takové informace, které již vyplněný bugreport doplní něčím novým a podstatným.

  3. V případě, že požadavek na nový balíček neexistuje, vytvořte nový záznam v databázi — klepněte na tlačítko File a Bug.

    bugzilla-tlacitka

    Tlačítka v bugzille

  4. Nejprve musíte vybrat produkt, ke kterému chcete svůj bugreport (své hlášení) přiřadit. Zde vyberte položku Mandriva Linux: The base Mandriva Linux distribution.
  5.  I tuto novou stránku o požadavku na nový balíček již znáte z předešlého textu. Nyní je nutné zvolit správnou komponentu systému. Je nutné zvolit, čeho se váš problém týká. Pokud si nejste jisti, nic nepokazíte volbou Core Packages.
  6. Platform a version zvolte ty, na kterých jste chybu identifikovali — pokud je chyba na Mandriva Linuxu 2010.0 s 32bitovým jádrem, bude Version 2010.0 a Hardware platform i586.
  7. Zdrojové RPM, takzvané SRPM nebo src.rpm, vyplňujete v případě, že hlásíte chybu, která se týká nějakého konkrétního programu. Je několik způsobů, jak SRPM zjistit. Ukážeme si zde jeden z nich: například chcete-li nahlásit chybu k programu GIMP. Poté si otevřeme terminál a napíšeme:
    rpm -qf $(which mysqld)

    a výstup překopírujeme do tohoto řádku. Pokud si nejste jisti, nebo se jedná např. o špatnou dokumentaci či problém s instalací, nechejte řádek prázdný.

  8. Nyní již chybí vyplnit poslední, ale nejdůležitější pole. První je Summary, tedy krátké a výstižné shrnutí problému. Je dobrým zvykem držet toto pole pod šedesáti znaky textu.
  9. A již to poslední, nejdůležitější pole. Zde popište vámi nalezený incident. Nezapomeňte na tyto části:
    • Popis problému slovy. Zde není třeba šetřit místem, nebojte se vše rozepsat.
    • Verzi vašeho operačního systému, zvolené grafické prostředí, případně i použité repozitáře.
    • Kroky, které povedou k reprodukci problému, nejlépe jako bodový seznam.
  10. Uložte hlášení stiskem tlačítka Submit Bug Report. Nezapomeňte vše sledovat pro případné doplnění dalších informací.

Tento návod vás provedl krok za krokem základními kroky při hlášení chyby do bugzilly. Doufáme, že vám pomůže hlásit chyby a vámi nahlášené chyby pomohou, pro změnu, vývojářům dělat stále lepší distribuci.

Odkazy:

Bugzilla Mandriva Linuxu

Nečekaná chyba – Ostuda při Sčítání 2011

1 komentář

  1. alda81 | 29.08.2011 | 20:56 | Odpovědět

    díky za návod

Leave a comment

Sorry, you must be logged in to post a comment. Login