pkgconf
| pkgconf | |
|---|---|
| Kehittäjä(t) | Leo P. Singer, The pkgconf Project |
| Vakaa versio | 1.9.5 / 2024 |
| Kehitysversio | 2.3.0 |
| Ohjelmoitu | C |
| Käyttöliittymä | Komentorivi (CLI) |
| Tyyppi | Käännösasetusten hallintatyökalu, Kirjaston metatietojärjestelmä |
| Lisenssi | ISC-lisenssi |
| Kotisivu | pkgconf.org |
| Lähdekoodi | github.com/pkgconf/pkgconf |
Pkgconf on moderni, C-kielellä uudelleenkirjoitettu vaihtoehtoinen toteutus alkuperäiselle pkg-config-työkalulle. Se on suunniteltu olemaan täysin yhteensopiva pkg-configin kanssa komentorivikäyttöliittymänsä ja .pc-tiedostomuodon osalta, mutta tarjoaa useita etuja suorituskyvyn ja arkkitehtuurin suhteen.
Merkittävimmät erot ja parannukset
1. Riippuvuus GLib-kirjastosta
- Pkg-config tarvitsi toimiakseen GLib-kirjaston (Gnome Library).
- Pkgconf ei tarvitse GLibiä (riippumaton GLibistä), mikä tekee siitä kevyemmän ja helpomman käyttää järjestelmissä, joissa GLib ei ole valmiiksi asennettuna (esim. useimmat BSD-järjestelmät tai minimaaliset Linux-jakelut).
2. Suorituskyky ja riippuvuuksien ratkaisu
- Pkgconfin riippuvuuksien ratkaisualgoritmi on optimoitu käsittelemään suuria riippuvuusverkostoja tehokkaammin.
- Se pystyy suorittamaan linkitysaikaisia optimointeja (Link-Time Dependency Optimization), joiden avulla käyttäjä voi linkittää binääriinsä konservatiivisemmin, välttäen turhia linkityksiä (overlinking).
3. Kehittyneet ominaisuudet
- Virtuaalipaketit: Pkgconf tukee täysin virtuaalipaketteja, mikä parantaa sen joustavuutta.
- Ristiriitojen hallinta (Conflicts): Pkgconf tukee paremmin ristiriitojen hallintaa riippuvuusratkaisun aikana.
Käyttö
Koska pkgconf on täysin yhteensopiva alkuperäisen pkg-configin kanssa, sen käyttö komentorivillä on täsmälleen sama.
Esimerkki: Koodin kääntäminen pkgconfin ollessa käytössä:
# Komento on sama, vain toteutus taustalla on pkgconf. g++ `pkg-config --cflags --libs glibmm-2.4` esimerkki.cc
Monet jakelut tarjoavat shim-paketin, joka luo linkin tai aliasin pkg-config-komennolle osoittamaan pkgconf-binääriin, jolloin käyttäjän ei tarvitse muuttaa vanhoja Make-tiedostojaan.
Asennus
Monissa nykyaikaisissa jakeluissa (Arch, Fedora, Alpine) pkgconf korvaa alkuperäisen pkg-configin tai tarjoaa sen toiminnallisuuden.
Pkgconf löytyy useimpien jakeluiden paketinhallinnasta nimellä pkgconf. Lisätietoja ohjelmien asentamisesta löytyy artikkelista Ohjelmien asentaminen.
Versiot
Kun puhutaan ohjelmistokehityksen termein, "kehitysversio" viittaa usein uuteen pääsarjaan (kuten 2.x), joka vie projektia eteenpäin, vaikka se olisikin jakeluiden mielestä riittävän vakaa päivittäiseen käyttöön.
| Versiosarja | Tarkoitus | Pääpiirteet |
|---|---|---|
| 1.x (1.9.5) | Konservatiivinen vakaa haara | Pääasiassa virhekorjauksia ja pientä siistimistä. Turvallinen valinta vanhempiin tai erittäin stabiileihin järjestelmiin. |
| 2.x (2.3.0) | Uusi pääsarja/Kehityssarja | Sisältää uusia ominaisuuksia, arkkitehtuurin parannuksia ja on kehityksen etulinjassa. |