Ero sivun ”Pkgconf” versioiden välillä
p →Versiot |
p fix |
||
| (Yhtä välissä olevaa versiota samalta käyttäjältä ei näytetä) | |||
| Rivi 9: | Rivi 9: | ||
| moottori = | | moottori = | ||
| ensijulkaisu = | | ensijulkaisu = | ||
| vakaaversio = 1.9.5 | | vakaaversio = 1.9.5 / 2.3.0 | ||
| vakaapvm = | | vakaapvm = | ||
| kehitysversio = 2.3.0 | | kehitysversio = 2.3.0 | ||
| kehityspvm = | | kehityspvm = | ||
| 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. | 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]] | ||
Nykyinen versio 14. marraskuuta 2025 kello 22.49
| pkgconf | |
|---|---|
| Kehittäjä(t) | Leo P. Singer, The pkgconf Project |
| Vakaa versio | 1.9.5 / 2.3.0 |
| 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
[muokkaa]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ö
[muokkaa]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
[muokkaa]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
[muokkaa]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. |
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.