Ero sivun ”Pkgconf” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
p versiot
Rivi 62: Rivi 62:
| 2.x (2.3.0) || Uusi pääsarja/Kehityssarja || Sisältää uusia ominaisuuksia, arkkitehtuurin parannuksia ja on kehityksen etulinjassa.
| 2.x (2.3.0) || Uusi pääsarja/Kehityssarja || Sisältää uusia ominaisuuksia, arkkitehtuurin parannuksia ja on kehityksen etulinjassa.
|}
|}
2.x-sarjaan: Vaikka 2.x-sarjaa kutsutaan kehityssarjaksi, se ei ole epävakaa testiversio. Se on uudempi arkkitehtuuri ja se on otettu käyttöön vakaana versiona monissa moderneissa Linux-jakeluissa (kuten Fedora), koska se tarjoaa paremman suorituskyvyn ja uusimman ominaisuustuen.


[[Luokka:Kehitystyökalut]]
[[Luokka:Kehitystyökalut]]

Versio 14. marraskuuta 2025 kello 22.47


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.

Otsikko
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.

2.x-sarjaan: Vaikka 2.x-sarjaa kutsutaan kehityssarjaksi, se ei ole epävakaa testiversio. Se on uudempi arkkitehtuuri ja se on otettu käyttöön vakaana versiona monissa moderneissa Linux-jakeluissa (kuten Fedora), koska se tarjoaa paremman suorituskyvyn ja uusimman ominaisuustuen.