navody:pokyny_pro_revize_baliku

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Poslední revizeObě strany příští revize
navody:pokyny_pro_revize_baliku [2007/04/03 15:46] – vytvořeno mildewnavody: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 "pravidel pro pojmenovavani balicku" 
-  * Nazev spec souboru musi odpovidat zakladnimu jmenu balicku %{name} ve formatu %{name}.spec, pokud balicek nespada do vyjimek v pravidlech pro pojmenovavani balicku. 
-  * 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 "License:" ve spec souboru balicku musi souhlasit s licenci obsahu balicku. 
-  * 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   se tyka jen Extras) Zaznam v bugzille by mel byt oznacen jako blokujici jednoho (nebo vice) z nasledujich zaznamu, aby se ulehcilo sledovani techto pripadu: FE-ExcludeArch-x86, FE-ExcludeArch-x64, FE-ExcludeArch-ppc. 
-  * 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}/local/* je priste zakazano. 
-  * 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/%postun sekci, ktera spusti ldconfig. Priklad spravneho pouziti: 
- 
-  %post -p /sbin/ldconfig 
-  %postun -p /sbin/ldconfig 
- 
-  * 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://google.com/search?q=fhs|Filesystem Hierarchy Standard]]. 
-  * Pokud je balicek vytvoren jako "premistitelny", musi jeho tvurce tuto skutecnost uvest v pozadavku na revizi spolu s vysvetlenim/obhajobou teto vlastnosti. Bez tohoto je pouziti Prefix: /usr povazovano za blokujici. 
-  * 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 "rozsahla dokumentace" je ponechana na tvurci balicku, nemusi primo znamenat velikost souboru s dokumentaci) 
-  * 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), pak musi byt knihovny koncici na .so (bez pripony) v -devel podbalicku. 
-  * 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 'popis' a 'shrnuti' (zkraceny popis) ve .spec souboru by mel obsahovat preklady     pro podporovane neanglicke jazyky, pokud jsou dostupne. 
-  * 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, takze by mely byt v -devel balicku. Oduvodnenou vyjimkou jsou balicku, ktere jsou sami o sobe vyvojove (k vyvojovym ucelum), ktere nejsou instalovany v uzivatelskem prostredi. Napr. gcc nebo gdb. 
  
  • Poslední úprava: 2022/11/14 12:25
  • autor: 127.0.0.1