Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Poslední revizeObě strany příští revize | |||
navody:pokyny_pro_revize_baliku [2007/04/03 15:46] – vytvořeno mildew | navody:pokyny_pro_revize_baliku [2007/04/04 16:42] – Doplnění diakritiky, oprava chyb mildew | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
- | ====== Pokyny pro revize balíčků ======= | ||
- | ===== Povinné ===== | ||
- | * rpmlint musi byt spusten na kazdy balicek. Vystup by mel byt prilozen v revizi. | ||
- | * Balicek musi byt pojmenovan dle " | ||
- | * Nazev spec souboru musi odpovidat zakladnimu jmenu balicku %{name} ve formatu %{name}.spec, | ||
- | * Balicek musi vyhovovat pravidlum pro balickovani. | ||
- | * Balicek musi byt licencovan open-source kompatibilni licenci a musi vyhovovat ostatnim pravnim? pozadavkum definovanym v pravidlech pro balickovani. | ||
- | * Polozka " | ||
- | * Pokud (a jen tehdy pokud) zdrojovy balicek obsahuje text licence ve vlastnim souboru, pak musi byt tento soubor obsahujici text licence uveden v %doc. | ||
- | * Ve .spec souboru smi byt pouzita jen americka Anglictina. | ||
- | * spec soubor MUSI byt citelny. Pokud nebude revizor schopny precist spec soubor, nebude mozne provest revizi. | ||
- | * Zdrojove kody pouzite k sestaveni balicku musi byt shodne se zdrojovymi kody z upstreamu (puvodni, oficialni zdrojove kody) na adrese uvedene ve spec souboru. Revizori by meli pouzivat md5sum k overovani. | ||
- | * Balicek musi byt uspesne prelozen a sestaven do binarnich rpm alespon na jedne podporovane architekture. | ||
- | * Pokud se balicek na nejake architekture nepodari prelozit, sestavit nebo spustit, pak by mela byt tato architektura uvedena ve spec souboru v polozce ExcludeArch. Kazda architektura uvedeva v ExcludeArch musi mit zaznam v bugzille, ktery obsahuje duvod proc se nepodarilo balicek prelozit, sestavit nebo spustit. Cislo zaznamu by pak melo byt uvedeno v komentari u odpovidajici architektury v ExcludeArch. Nove balicky nebudou mit zaznamy v bugzille pri revizi, takze by mely uvest tyto duvody primo v komentarich dokud nebude balicek schvaleny, az pote vytvorit zaznam a vysvetleni v komentarich nahradit cislem chyby v bugzille. (Nasledujici | ||
- | * Vsechny sestavovaci zavislosti musi byt uvedeny v polozce BuildRequires s vyjimkou tech, ktere jsou uvedeny v sekci vyjimek v pravidlech balickovani. Uvadeni techto zavislosti v BuildRequires je volitelne. Pouzivejte zdravy rozum. | ||
- | * spec soubor MUSI pracovat spravne s locales. Toho se docili pouzitim makra %find_lang. Pouzivani %{_datadir}/ | ||
- | * Kazdy binarni RPM balicek, ktery uklada sdilene knihovny (nejen symbolicke odkazy) do jakehokoliv ze standardnich adresaru linkeru, musi spustit ldconfig v %post a %postun. Pokud ma balickek vice podbalicku s knihovnama, pak by mel kazdy z nich mit taky %post/ | ||
- | |||
- | %post -p / | ||
- | %postun -p / | ||
- | |||
- | * Balicek musi byt vlastnikem vsech adresaru, ktere vytvari. Pokud nevytvari nejaky adresar, ktery pouziva, pak by mel mit zavislost na balicku, ktery tento adresar vytvari. Vyjimky v techto pripadech jsou adresare uvedene v [[http:// | ||
- | * Pokud je balicek vytvoren jako " | ||
- | * Balicek nesmi obsahovat duplikaty v seznamu %files. | ||
- | * Prava u souboru musi byt spravne nastaveny. Napr. spustitelne soubory musi mit nastaven priznak spustitelnosti (+x). Kazda sekce %files musi obsahovat radek s %defattr(...). | ||
- | * Kazdy balicek musi mit sekci %clean, ktera obsahuje rm -rf %{buidlroot}. | ||
- | * Kazdy balicek musi konzistentne pouzivat makra, jak se popsano v sekce makra v pravidlech pro balickovani. | ||
- | * Kazdy balicek musi obsahovat kod nebo pripustny obsah. Detailnejsi vysvetleni je v sekci kod vs. obsah v pravidlech pro balickovani. | ||
- | * Rozsahle soubory s dokumentaci by mely byt v -doc podbalicku. (definice pojmu " | ||
- | * Pokud balicek obsahuje cokoliv v %doc, nesmi to ovlivnovat beh programu. Receno jinak: Pokud je neco v %doc, program musi bezet i bez toho. | ||
- | * Hlavickove soubory nebo staticke knihovny musi byt v -devel podbalicku. | ||
- | * Balicek, ktery obsahuje pkgconfig(.pc) soubory musi mit zavislost na pkgconfig (Requires: pkgconfig). | ||
- | * Pokud balicek obsahuje knihovny s priponou (napr. libfoo.so.1.1), | ||
- | * V nejhorsim pripade, -devel balicek musi byt zavisly na hlavnim balicku pomoci plne (cele) verze: Requires: %{name} = %{version}-%{release} | ||
- | * Balicek nesmi obsahovat zadne .la libtool archivy. | ||
- | * Balicky obsahujici GUI aplikace musi obsahovat %{name}.desktop soubor a tento musi byt nainstalovan pomoci desktop-file-install v %install sekci. Detailneji je toto popsane v Pravidlech pro balickovani v sekci Desktopove soubory. Pokud si myslite, ze vase GUI aplikace nepotrebuje .desktop soubor, tak byste to meli vysvetlit komentarem ve .spec souboru. | ||
- | * Balicek nesmi vlastnit soubory nebo adresare, ktere uz vlastni jiny balicek. Pokud si myslite, ze mate duvody k tomu, aby vas balicek vlastnil soubory nebo adresare jineho balicku, tak to uvedte pri revizi (pri pozadavku o revizi). | ||
- | |||
- | ===== Doporučené ===== | ||
- | |||
- | * Pokud zdrojovy balicek neobsahuje soubor s licenci, pak by mel tvurce balicku pozadat upstream o jeho zarazeni (vytvoreni). | ||
- | * Sekce ' | ||
- | * Revizor by mel overit, ze se balickem spravne sestavi v mocku (viz. mock). | ||
- | * Balicek by se mel zkompilovat a sestavit do binarnich rpm na vsech podporovanych architekturach. | ||
- | * Revizor by mel overit, ze balicek funguje jak ma. Balicek nesmi segfaultovat (padat:]) apod. | ||
- | * Pokud balicek obsahuje skripty mel by revizor overit jejich spravnou funkcnost a smysluplnost. Rozhodovani o smysluplnosti je ponechano zcela na soudnosti inkvizitora. | ||
- | * Podbalicky jine nez -devel by mely zaviset na hlavnim (zakladnim) balicku pomoci plne (cele) verze. | ||
- | * Umisteni pkgconfig(.pc) souboru zavisi na jejich pouziti. Vetsinou slouzi pro vyvojove zalezitosti, | ||