pkgconf

Linux.fista
Versio hetkellä 14. marraskuuta 2025 kello 22.32 – tehnyt Lahtis (keskustelu | muokkaukset) (uusi ohjelma Pkgconf)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun


pkgconf
Kehittäjä(t) Leo P. Singer, The pkgconf Project
Vakaa versio 1.9.5  / 2024
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.