Pakettien tarkistusohjeet

Tämä on joukko pakettiarvioita koskevia ohjeita. Huomaa, että täydellinen luettelo tarkistettavista asioista olisi mahdotonta, mutta asiakirja on pyritty tekemään mahdollisimman kattavaksi. Arvioijien ja avustajien (pakkaajien) tulisi käyttää parasta harkintaansa aina, kun tuotteet ovat epäselviä, ja jos olet epävarma, kysy Fedora -paketointiluettelosta.

Pakettien tarkistusprosessi

Avustajien ja arvostelijoiden PITÄÄ noudattaa Pakettien tarkistusprosessi seuraavin poikkeuksin:

  • FPC myöntää nimenomaisen vapautuksen prosessista, kuten on ilmoitettu tässä.

  • Pakettia ollaan luomassa siten, että saman paketin useita versioita voi esiintyä rinnakkain jakelussa (tai rinnakkain EPEL:n ja RHEL:n välillä). Paketti on PITÄÄ nimetä oikein xref: Naming.adoc # _multiple_packages_with_the_same_base_name [nimeämisohjeet] mukaan ja EI SAA olla ristiriidassa saman paketin kaikkien muiden versioiden kanssa.

  • Paketti on olemassa sekä Fedorassa että RHEL:ssä, mutta pakkaaja haluaa lähettää sen EPEL:ssä vaihtoehtoisella nimellä (kuten EPEL:n käytäntö edellyttää) alipaketin tarjoamiseksi. joka on olemassa Fedorassa, mutta jota ei ole (tai ei toimiteta) RHEL:ssä.

Tarkastettavia asioita

Tarkistettavaksi on monia asioita. Tämän luettelon tarkoituksena on auttaa uusia arvostelijoita tunnistamaan alueet, joita heidän tulisi etsiä, mutta se ei ole missään nimessä täydellinen. Tarkastajien tulisi käyttää omaa harkintaansa arvioidessaan paketteja. Luetellut tuotteet jaetaan kahteen luokkaan: PITÄISI ja PITÄÄ.


  • SHOULD: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. See Licensing Guidelines: License Text

  • SHOULD: The reviewer should test that the package builds in mock. See Using Mock to test package builds

  • SHOULD: The package should compile and build into binary rpms on all supported architectures. See Packaging Guidelines: Architecture Support

  • SHOULD: The reviewer should test that the package functions as described. A package should not segfault instead of running, for example.

  • SHOULD: If scriptlets are used, those scriptlets must be sane. This is vague, and left up to the reviewers judgement to determine sanity. See Packaging Guidelines: Scriptlets

  • SHOULD: Usually, subpackages other than devel should require the base package using a fully versioned dependency. See Packaging Guidelines: Requiring Base Package

  • SHOULD: The placement of pkgconfig(.pc) files depends on their usecase, and this is usually for development purposes, so should be placed in a -devel pkg. A reasonable exception is that the main pkg itself is a devel tool not installed in a user runtime, e.g. gcc or gdb. See Packaging Guidelines: Pkgconfig Files

  • SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin consider requiring the package which provides the file instead of the file itself. See Packaging Guidelines: File and Directory Dependencies

  • SHOULD: your package should contain man pages for binaries/scripts. If it doesn’t, work with upstream to add them where they make sense. See Packaging Guidelines: Manpages

Huomautus riippuvuuksista

Usein on hyödyllistä toimittaa paketti tarkistettavaksi yhdessä sen riippuvuuksien kanssa erillisinä lippuina. Niin kauan kuin lähettäjä määrittää bugzillan riippuvuudet: ja estää: -kentät oikein, tämä ei ole ongelma, ja on täysin mahdollista tarkistaa nämä paketit ennen kuin koko riippuvuusketju on jakelussa (ylläpitämällä paikallista arkistoa, pakettien rakentaminen ja asentaminen paikallisesti tai Coprin ylläpito).

However, please keep in mind that you cannot do koji builds if all of the build dependencies are not met (because you cannot provide additional dependencies to koji) and when the time comes to build these packages, they must be built in order and you must wait between builds for the dependencies to make it into the appropriate branch of the distribution. This can be automated using side tags and chain builds.

Huomaa myös, että vaikka saatat pystyä todella rakentamaan paketin, koska kaikki sen rakennusajan riippuvuudet täyttyvät, paketti voi silti olla asentamaton (ja siten hyödytön), jos sen runtime riippuvuudet eivät täyty. Pakettia EI TULE rakentaa, jos jokin sen ajonaikaisista riippuvuuksista on tyytymätön.

Viitteet Fedoran pakkausohjeisiin